.bottle-preview-backdrop{position:fixed;inset:0;background:rgba(2,6,18,.28);z-index:8000;animation:bpFadeIn .4s ease both}.bottle-preview-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:760px;max-width:calc(100vw - 32px);background:radial-gradient(circle at 72% 22%,hsla(36,83%,74%,.1),transparent 24%),radial-gradient(circle at 20% 78%,rgba(161,121,226,.16),transparent 34%),linear-gradient(180deg,rgba(8,12,31,.38),rgba(4,6,20,.66)),url(/future-me-bg.png) 50% /cover no-repeat;border-color:rgba(255,235,190,.2) rgba(255,220,160,.12) transparent;border-style:solid;border-width:1px;border-radius:20px;padding:48px 48px 36px;z-index:8001;animation:none;box-shadow:0 40px 100px rgba(0,0,0,.7),0 0 120px rgba(20,10,40,.5),inset 0 1px 0 hsla(0,0%,100%,.06);overflow:hidden;transition:box-shadow .6s ease}.bottle-preview-card:after,.bottle-preview-card:before{content:"";position:absolute;pointer-events:none}.bottle-preview-card:before{inset:0;background:linear-gradient(115deg,transparent 0 34%,rgba(255,245,215,.06) 45%,transparent 58%),radial-gradient(circle at 76% 34%,rgba(255,218,152,.1),transparent 16%);mix-blend-mode:screen;opacity:.7}.bottle-preview-card:after{inset:1px;border-radius:19px;box-shadow:inset 0 0 70px rgba(0,0,0,.3)}.bottle-preview-card:hover{box-shadow:0 40px 100px rgba(0,0,0,.7),0 0 120px rgba(20,10,40,.5),0 0 40px rgba(140,120,200,.06)}@keyframes bpFadeIn{0%{opacity:0}to{opacity:1}}@keyframes bpCardReveal{0%{opacity:0;transform:translate(-50%,-42%) scale(.2);filter:blur(12px)}30%{opacity:.6;transform:translate(-50%,-46%) scale(.55);filter:blur(6px)}65%{opacity:.9;transform:translate(-50%,-49%) scale(.88);filter:blur(2px)}to{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}}.preview-close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;border:1px solid hsla(0,0%,100%,.12);background:rgba(5,8,22,.38);color:hsla(0,0%,100%,.56);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;z-index:10}.preview-close:hover{background:hsla(0,0%,100%,.08);border-color:rgba(255,232,190,.22);color:hsla(0,0%,100%,.86);transform:scale(1.04)}.preview-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr 190px;grid-gap:32px;gap:32px;align-items:start}.preview-content{min-width:0}.preview-title-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.preview-sparkle{width:13px;height:13px;color:rgba(180,160,240,.6);flex-shrink:0}.preview-title{margin:0;font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:700;color:#e8e0f0;letter-spacing:-.01em}.preview-subtitle{display:flex;align-items:center;gap:8px;margin-bottom:32px;font-size:13px;color:rgba(180,160,220,.55);font-weight:400}.preview-dot{opacity:.4}.preview-match-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 10px;border:1px solid rgba(255,223,166,.22);border-radius:999px;background:linear-gradient(180deg,rgba(255,226,176,.16),rgba(255,226,176,.07));color:rgba(255,231,188,.92);font-size:12px;font-weight:700;line-height:1;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 0 18px hsla(38,68%,69%,.08)}.preview-message-section{position:relative;margin-bottom:28px}.preview-letter-paper{position:relative;max-width:455px;min-height:204px;padding:22px 92px 20px 24px;border:1px solid rgba(255,229,184,.16);border-radius:14px;background:linear-gradient(90deg,rgba(255,245,220,.035) 1px,transparent 0) 0 0 /22px 22px,linear-gradient(180deg,rgba(255,245,220,.14),rgba(255,244,220,.06));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08),inset 0 -22px 38px rgba(80,58,30,.08),0 18px 40px rgba(0,0,0,.14);overflow:hidden}.preview-letter-paper:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(255,236,193,.12),transparent 18%),linear-gradient(135deg,transparent 0 72%,rgba(255,230,178,.08) 73%,transparent 82%);opacity:.8;pointer-events:none}.preview-letter-paper:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 4%,hsla(0,0%,100%,.4) 34%,rgba(255,238,190,.2) 48%,transparent 72%);transform:translate3d(-100%,0,0) skewX(-14deg);animation:bpStarlightSweep 2s cubic-bezier(.22,.72,.18,1) 2.8s both}@keyframes bpStarlightSweep{0%{opacity:0;transform:translate3d(-100%,0,0) skewX(-14deg)}20%{opacity:.7}70%{opacity:.4}to{opacity:0;transform:translate3d(100%,0,0) skewX(-14deg)}}.preview-quote-mark{display:none}.preview-message-text{position:relative;margin:0 0 18px;font-family:Segoe Print,Bradley Hand ITC,Lucida Handwriting,Comic Sans MS,cursive;font-size:22px;font-weight:500;line-height:1.6;color:rgba(255,250,240,.92);letter-spacing:.01em}.preview-hint{position:relative;margin:0;font-size:13px;color:hsla(27,37%,88%,.5);line-height:1.6;border-top:1px dashed rgba(255,220,160,.18);padding-top:14px}.preview-hint-sparkle{color:rgba(180,160,240,.5)}.preview-mood-seal{position:absolute;right:18px;bottom:14px;display:inline-flex;align-items:center;justify-content:center;z-index:1;transform:rotate(-8deg)}.preview-seal-img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(90,48,12,.28));opacity:.94}.preview-seal-text{position:absolute;inset:0;font-size:11px;font-weight:700;color:rgba(60,40,10,.8);letter-spacing:.02em;text-transform:capitalize;padding-top:6px}.preview-bottle-visual,.preview-seal-text{display:flex;align-items:center;justify-content:center}.preview-bottle-visual{width:190px;flex-shrink:0;padding-top:8px}.preview-bottle-img{width:170px;height:auto;object-fit:contain;opacity:.9;filter:drop-shadow(0 10px 24px rgba(255,198,103,.16)) drop-shadow(0 0 28px rgba(255,223,160,.08));animation:bpBottleArrive .8s cubic-bezier(.2,.74,.18,1) .3s both,bpBottleFloat 5s ease-in-out 1.6s infinite}@keyframes bpBottleArrive{0%{opacity:0;transform:scale(1.1) translateY(-6px);filter:brightness(1.06) drop-shadow(0 8px 24px rgba(255,200,100,.18))}50%{opacity:.85;transform:scale(1.1) translateY(-6px);filter:brightness(1.06) drop-shadow(0 8px 24px rgba(255,200,100,.18))}to{opacity:.8;transform:scale(1) translateY(0);filter:brightness(1) drop-shadow(0 8px 24px rgba(255,200,100,.1))}}@keyframes bpBottleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.preview-bottom{position:relative;z-index:1;margin-top:28px;text-align:center}.preview-count-text{margin:0 0 16px;font-size:13px;color:rgba(220,210,240,.5);letter-spacing:.01em;font-style:italic}.preview-btn-open{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:400px;padding:15px 32px;border:none;border-radius:40px;background:linear-gradient(180deg,#f5e6c8,#ead6b0);color:#4a3820;font-size:15px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:all .4s ease;box-shadow:0 6px 20px hsla(40,63%,63%,.12),inset 0 1px 0 hsla(0,0%,100%,.4);animation:bpBtnBreathe 4s ease-in-out 2s infinite;overflow:hidden}.preview-btn-open:after{content:"";position:absolute;top:-40%;bottom:-40%;left:-32%;width:28%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.42),transparent);transform:skewX(-18deg);animation:bpBtnGlint 4.8s ease-in-out 2.4s infinite}.preview-btn-open:hover:not(:disabled){background:linear-gradient(180deg,#f8ecd4,#f0debb);transform:translateY(-1px);box-shadow:0 8px 28px hsla(40,63%,63%,.18),inset 0 1px 0 hsla(0,0%,100%,.5)}.preview-btn-open:disabled{opacity:.5;cursor:not-allowed}.preview-btn-premium{background:linear-gradient(180deg,#f0d88a,#e0c470)}.preview-btn-sparkle{font-size:13px;opacity:.5}.preview-btn-open>:not(.preview-btn-sparkle),.preview-btn-sparkle{position:relative;z-index:1}@keyframes bpBtnGlint{0%,60%{left:-32%;opacity:0}68%{opacity:.8}86%,to{left:112%;opacity:0}}@keyframes bpBtnBreathe{0%,to{box-shadow:0 6px 20px hsla(40,63%,63%,.12),inset 0 1px 0 hsla(0,0%,100%,.4)}50%{box-shadow:0 8px 28px hsla(40,63%,63%,.2),inset 0 1px 0 hsla(0,0%,100%,.5)}}@media (max-width:600px){.bottle-preview-card{padding:32px 20px 28px}.preview-layout{grid-template-columns:1fr;gap:20px}.preview-bottle-visual{display:none}.preview-bottle-img{width:130px}.preview-title{font-size:22px}.preview-message-text{font-size:19px}.preview-letter-paper{max-width:none;min-height:210px;padding:18px 86px 17px 18px;border-radius:12px}.preview-subtitle{flex-wrap:wrap;row-gap:7px}.preview-match-pill{min-height:22px;font-size:11px}.preview-mood-seal{right:12px;bottom:12px}.preview-seal-img{width:62px;height:62px}}@keyframes bpContentIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.preview-loading-shimmer{color:rgba(180,160,220,.4);font-style:italic}.preview-loading-lines{display:flex;flex-direction:column;gap:14px;padding:8px 0}.preview-loading-line{height:16px;width:90%;border-radius:6px;background:linear-gradient(90deg,hsla(0,0%,100%,.03) 25%,hsla(0,0%,100%,.06) 50%,hsla(0,0%,100%,.03) 75%);background-size:200% 100%;animation:bpShimmer 1.5s ease infinite}.preview-loading-line.short{width:55%}@keyframes bpShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes bpPaperReveal{0%{opacity:0;transform:translateY(12px) scale(.97);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes bpWindReveal{0%{opacity:0;transform:translateX(-8px);filter:blur(2px)}to{opacity:1;transform:translateX(0);filter:blur(0)}}.notif-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9000;animation:notifFade .2s ease}.notif-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:480px;max-width:calc(100vw - 40px);max-height:70vh;background:linear-gradient(135deg,rgba(26,26,46,.98),rgba(22,33,62,.98));border:1px solid hsla(0,0%,100%,.1);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.6);z-index:9001;display:flex;flex-direction:column;animation:notifSlide .3s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes notifFade{0%{opacity:0}to{opacity:1}}@keyframes notifSlide{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.notif-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid hsla(0,0%,100%,.08);flex-shrink:0}.notif-title{font-size:18px;font-weight:700;color:#fff;margin:0;flex:1 1}.notif-mark-all{background:none;border:1px solid rgba(138,180,248,.3);color:rgba(138,180,248,.9);font-size:12px;padding:5px 12px;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:500}.notif-mark-all:hover{background:rgba(138,180,248,.1);border-color:rgba(138,180,248,.6)}.notif-close{width:32px;height:32px;border-radius:50%;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.7);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.notif-close:hover{background:hsla(0,0%,100%,.12);color:#fff}.notif-close-img{width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(117,231,255,.22))}.notif-list{flex:1 1;overflow-y:auto;padding:8px 0;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.15) transparent}.notif-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:hsla(0,0%,100%,.45);font-size:14px}.notif-empty-icon{font-size:40px;opacity:.5}.notif-empty-icon-img{width:64px;height:64px;object-fit:contain;opacity:.88;filter:drop-shadow(0 0 18px rgba(117,231,255,.2))}.notif-item{display:flex;align-items:flex-start;gap:14px;padding:16px 24px;position:relative;cursor:default}.notif-item.unread{background:rgba(138,180,248,.05)}.notif-item.unread:hover{background:rgba(138,180,248,.08)}.notif-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(117,231,255,.07);border:1px solid rgba(169,213,255,.12);border-radius:12px}.notif-icon img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(117,231,255,.18))}.notif-content{flex:1 1;min-width:0}.notif-item-title{font-size:14px;font-weight:600;color:hsla(0,0%,100%,.92);margin-bottom:4px;line-height:1.4}.notif-item-body{font-size:13px;color:hsla(0,0%,100%,.55);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item-time{font-size:11px;color:hsla(0,0%,100%,.35);display:inline-flex;align-items:center;gap:5px}.notif-item-time img{width:16px;height:16px;object-fit:contain;opacity:.72}.notif-dot{width:8px;height:8px;border-radius:50%;background:#8ab4f8;flex-shrink:0;margin-top:4px;box-shadow:0 0 8px rgba(138,180,248,.6)}.notif-nav-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;background:linear-gradient(135deg,#ff4757,#ff6b6b);border:2px solid rgba(7,13,31,.9);border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700;line-height:1;z-index:2;box-shadow:0 0 0 2px rgba(255,71,87,.2),0 2px 8px rgba(255,71,87,.4);animation:notifPulse 2s ease-in-out infinite}@keyframes notifPulse{0%,to{transform:scale(1);box-shadow:0 0 0 2px rgba(255,71,87,.2),0 2px 8px rgba(255,71,87,.4)}50%{transform:scale(1.05);box-shadow:0 0 0 4px rgba(255,71,87,.3),0 2px 12px rgba(255,71,87,.6)}}.notif-trigger-wrap{position:relative}@media (max-width:768px){.notif-panel{width:calc(100vw - 24px);max-height:80vh}}.rd-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9500;animation:rdFade .2s ease}.rd-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:95%;max-width:1400px;height:90vh;max-height:90vh;background:hsla(0,0%,100%,.98);border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.2);z-index:9501;display:flex;flex-direction:column;animation:rdSlide .3s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes rdFade{0%{opacity:0}to{opacity:1}}@keyframes rdSlide{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.rd-header{padding:18px 24px 14px;border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0;background:#fff}.rd-header-left{flex:1 1;min-width:0}.rd-close{width:32px;height:32px;border-radius:50%;border:none;background:#f4f4f6;color:#666;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;margin-left:16px}.rd-close:hover{background:#e8e8ea;color:#333}.rd-identity{display:flex;align-items:center;gap:12px;margin-bottom:10px}.rd-zodiac-emoji{font-size:32px;line-height:1;flex-shrink:0}.rd-identity-info{flex:1 1;min-width:0}.rd-identity-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px}.rd-zodiac-name{font-size:18px;font-weight:700;color:#1a1a2e}.rd-sender-id{font-size:11px;font-weight:700;color:#667eea;font-family:SF Mono,Courier New,monospace;letter-spacing:.5px;padding:2px 8px;background:rgba(102,126,234,.1);border-radius:6px}.rd-compat{font-size:12px;font-weight:700}.rd-bottle-id{display:flex;align-items:center;gap:8px;font-size:12px;color:#aaa}.rd-view-btn{background:rgba(102,126,234,.1);border:none;color:#667eea;font-size:12px;font-weight:600;padding:4px 12px;border-radius:8px;cursor:pointer;transition:all .2s}.rd-view-btn:hover{background:rgba(102,126,234,.18)}.rd-timeline{display:flex;gap:20px;flex-wrap:wrap}.rd-timeline-item{display:flex;align-items:center;gap:5px}.rd-tl-label{font-size:11px;color:#bbb;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.rd-tl-value{font-size:12px;font-weight:600;color:#555}.rd-tl-drifting{color:#667eea}.rd-body{overflow:hidden}.rd-body,.rd-chat{flex:1 1;display:flex}.rd-chat{overflow-y:auto;padding:16px 20px;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.1) transparent;border-right:1px solid rgba(0,0,0,.06);background:#fafafa}.rd-chat::-webkit-scrollbar{width:4px}.rd-chat::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:2px}.rd-chat-empty{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#ccc;font-size:14px}.rd-chat-empty-icon{font-size:36px;opacity:.4}.rd-msg{display:flex}.rd-msg.mine{justify-content:flex-end}.rd-msg.theirs{justify-content:flex-start}.rd-msg-bubble{max-width:75%;padding:10px 14px;border-radius:16px}.rd-msg.mine .rd-msg-bubble{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:4px}.rd-msg.theirs .rd-msg-bubble{background:#fff;border:1px solid #eee;color:#333;border-bottom-left-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.06)}.rd-msg-label{font-size:10px;font-weight:700;opacity:.6;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px}.rd-msg-text{font-size:14px;line-height:1.5;word-wrap:break-word}.rd-msg-time{font-size:10px;opacity:.5;margin-top:4px;text-align:right}.rd-reply-panel{width:360px;flex-shrink:0;padding:20px;display:flex;flex-direction:column;gap:12px;background:#fff;border-left:1px solid rgba(0,0,0,.06)}.rd-reply-title{font-size:13px;font-weight:700;color:#555}.rd-reply-input{flex:1 1;width:100%;padding:12px;background:#f8f8fa;border:1px solid #e8e8ea;border-radius:12px;color:#333;font-size:14px;resize:none;outline:none;font-family:inherit;line-height:1.5;transition:border-color .2s}.rd-reply-input::placeholder{color:#bbb}.rd-reply-input:focus{border-color:#667eea;background:#fff}.rd-reply-footer{display:flex;align-items:center;justify-content:space-between}.rd-reply-count{font-size:11px;color:#bbb}.rd-reply-send{padding:9px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.rd-reply-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px rgba(102,126,234,.35)}.rd-reply-send:disabled{opacity:.4;cursor:not-allowed}.rd-waiting-msg{flex:1 1;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;color:#bbb;font-style:italic;padding:20px;background:#f8f8fa;border-radius:12px;border:1px dashed #e0e0e0;line-height:1.6}@media (max-width:768px){.rd-modal{width:calc(100vw - 20px);height:calc(100vh - 60px);border-radius:16px}.rd-body{flex-direction:column}.rd-chat{border-right:none;border-bottom:1px solid #f0f0f0;flex:1 1}.rd-reply-panel{width:100%;flex-shrink:0;height:200px}}