@font-face{font-family:'Lilita One';src:url('/static/LilitaOne-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;pointer-events:none}a{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none}input,textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;-webkit-touch-callout:default}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#000;color:#fff;overflow:hidden}.scroll-thin{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.08) transparent}.scroll-thin::-webkit-scrollbar{width:4px}.scroll-thin::-webkit-scrollbar-track{background:0 0}.scroll-thin::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:2px}.scroll-hidden{scrollbar-width:none}.scroll-hidden::-webkit-scrollbar{display:none}.eye-open-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:9998;pointer-events:none;display:none}body.authenticated .eye-open-overlay{display:block}.eye-blur-layer{position:absolute;inset:0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:1;will-change:opacity;z-index:0}.eye-open-overlay .eye-lids{position:relative;z-index:1;display:block;width:100%;height:100%}.version-badge{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);z-index:149;padding:8px 20px;background:linear-gradient(135deg,rgba(255,0,80,.3),rgba(255,64,129,.3));backdrop-filter:blur(12px);border:1px solid rgba(255,107,157,.4);border-radius:20px;font-size:11px;font-weight:900;letter-spacing:1px;color:#fff;text-shadow:0 0 10px rgba(255,107,157,.8);box-shadow:0 4px 15px rgba(255,0,80,.3),inset 0 1px 0 rgba(255,255,255,.2)}.version-shimmer{display:inline-block;background:linear-gradient(90deg,rgba(255,255,255,.8) 0,#ffb6c1 25%,rgba(255,255,255,.8) 50%,#ffb6c1 75%,rgba(255,255,255,.8) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}body.authenticated .version-badge{display:none}.landing-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.tap-for-sound{position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center;cursor:pointer;background:rgba(0,0,0,.6);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.tap-for-sound.active{display:flex}.tap-for-sound.hidden{display:none!important}.tap-for-sound-inner{display:flex;align-items:center;gap:10px;padding:12px 22px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-family:'Lilita One',system-ui,sans-serif;font-size:18px;letter-spacing:.5px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:tap-for-sound-pulse 1.8s ease-in-out infinite}@keyframes tap-for-sound-pulse{0%,100%{transform:scale(1);opacity:.92}50%{transform:scale(1.05);opacity:1}}.top-logo{height:42px;width:auto;object-fit:contain;animation:logoHover 1.5s infinite ease-in-out}@keyframes logoHover{0%,100%{transform:translateY(-5px)}50%{transform:translateY(-10px)}}body.authenticated .top-logo{display:none}.disclaimer{font-size:8px;padding:2px 0;margin:0;color:rgba(255,255,255,.8);text-align:center}body.authenticated .landing-video{display:none}body:not(.authenticated) #bufferVideo,body:not(.authenticated) #mainVideo{display:none}body:not(.authenticated) .level-widget{display:none}#verification-message{font-size:14px;display:block;text-align:center;margin-bottom:6px}#verification-spam-note{font-size:13px;display:block;text-align:center;margin-bottom:10px;opacity:.75;transform-origin:center;will-change:transform;animation:spam-note-pulse 2.4s ease-in-out infinite}#verification-spam-note strong{font-weight:700;opacity:1}@keyframes spam-note-pulse{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.06);opacity:1}}@media (prefers-reduced-motion:reduce){#verification-spam-note{animation:none;opacity:1}}.verification-code-input{display:flex;gap:8px;justify-content:center;margin-bottom:20px}.code-digit{width:42px!important;height:54px;text-align:center;font-family:'Lilita One',sans-serif;font-size:26px;font-weight:400;background:rgba(0,0,0,.3);border:2px solid #6b3a94;border-radius:10px;color:#fff;padding:0!important;margin:0!important;transition:border-color .15s,box-shadow .15s,background .15s}.code-digit:focus{border-color:#c084fc;background:rgba(0,0,0,.18);box-shadow:0 0 0 3px rgba(192,132,252,.22);outline:0}.verification-actions{display:flex;gap:10px;margin-top:10px}.modal-content .verification-actions button{flex:1;width:auto;margin:0;padding:9px 8px;font-size:14px}#resend-code:disabled{opacity:.6;cursor:not-allowed}#resend-code,#resend-timer{color:#fff;display:block;text-align:center}.app-container{position:relative;height:100vh;aspect-ratio:9/16;max-width:100vw;margin:0 auto;background:0 0;overflow:hidden;z-index:1}#bufferVideo,#mainVideo{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;background:#000}#bufferVideo.playing,#mainVideo.playing{background:0 0}#mainVideo{opacity:1;z-index:2;transition:opacity 80ms ease}#bufferVideo{opacity:0;z-index:1;transition:opacity 80ms ease}.status-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:20px;border-radius:12px;font-size:16px;text-align:center;backdrop-filter:blur(10px);z-index:15;display:none}.video-placeholder{text-align:center;z-index:1}.video-placeholder h2{font-size:4rem;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.7)}.video-placeholder p{font-size:1.2rem;opacity:.9;text-shadow:1px 1px 2px rgba(0,0,0,.7)}.top-bar{position:absolute;top:0;left:0;right:0;padding:12px 16px;background:0 0;display:flex;justify-content:space-between;align-items:center;z-index:100;padding-top:max(20px,env(safe-area-inset-top,20px))}.top-left{display:flex;align-items:center;gap:12px}.back-btn{background:rgba(0,0,0,.5);border:none;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer}.live-indicator{background:#ff0050;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700;text-transform:uppercase}.viewer-count{background:rgba(0,0,0,.5);padding:4px 8px;border-radius:12px;font-size:12px;display:flex;align-items:center;gap:4px}.viewer-count img{width:18px;height:18px}.coin-icon-wrap{position:relative;display:inline-flex;width:18px;height:18px;flex-shrink:0}.coin-plus-badge{position:absolute;bottom:-4px;right:-3px;width:10px;height:10px;pointer-events:none}.viewer-count span{display:inline-block;transition:transform .2s ease-out;font-weight:900}.viewer-count.count-up span{animation:countUp .3s ease-out}.viewer-count.count-down span{animation:countDown .3s ease-out}.gem-count{background:rgba(0,0,0,.5);padding:4px 8px;border-radius:12px;font-size:12px;display:flex;align-items:center;gap:4px}.gem-count img{width:18px;height:18px}.gem-icon-wrap{position:relative;display:inline-flex;width:18px;height:18px;flex-shrink:0}.gem-count span{display:inline-block;transition:transform .2s ease-out;font-weight:900}.gem-count.count-up span{animation:countUp .3s ease-out}.gem-count.count-down span{animation:countDown .3s ease-out}.shop-section-icon-img{width:18px;height:18px;object-fit:contain}.shop-section-label-gems{background:rgba(168,85,247,.12);border-color:rgba(168,85,247,.2)}[alt="Bounce!"]{animation-duration:1s;animation-name:hover;animation-iteration-count:infinite;transition-timing-function:ease-in-out}@keyframes hover{0%,100%{transform:translateY(-2px)}50%{transform:translateY(-8px)}}[alt="Super Twerk"],[alt=Twerk]{animation-duration:1s;animation-name:idle;animation-iteration-count:infinite;transition-timing-function:ease-in-out;transform-style:preserve3d}@keyframes idle{0%,100%{transform:none;transform-origin:center bottom}50%{transform:perspective(20px) rotateX(-2deg) scaleY(.85);transform-origin:center bottom}}@keyframes countUp{0%{transform:translateY(8px);opacity:0}100%{transform:translateY(0);opacity:1}}@keyframes countDown{0%{transform:translateY(-8px);opacity:0}100%{transform:translateY(0);opacity:1}}.top-right{display:flex;align-items:center;gap:8px}.icon-btn{background:rgba(0,0,0,.5);border:none;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:background .2s}.icon-btn svg{fill:#fff;width:16px;height:16px}.icon-btn:hover{background:rgba(0,0,0,.7)}.bottom-section{position:absolute;bottom:0;left:0;right:0;padding:0;background:0 0;z-index:99;transition:all .3s ease;pointer-events:none}.dm-section{pointer-events:none;padding:0 16px}.chat-input-container{pointer-events:auto}.pink-vignette{position:absolute;inset:0;pointer-events:none;z-index:98;background:linear-gradient(180deg,rgba(60,0,30,.45) 0,transparent 0),linear-gradient(0deg,rgba(60,0,30,.7) 0,transparent 28%),linear-gradient(90deg,rgba(60,0,30,.35) 0,transparent 20%),linear-gradient(270deg,rgba(60,0,30,.35) 0,transparent 20%)}.dm-window{position:relative;min-height:48px;margin-bottom:24px;display:flex;align-items:center;justify-content:center;overflow:hidden}.dm-msg{padding:4px 14px;font-size:18px;font-weight:700;line-height:1.4;color:#fff;text-shadow:0 0 4px #000,0 0 2px #000;word-wrap:break-word;overflow-wrap:break-word;text-align:center;opacity:0;transition:opacity .1s ease}.dm-msg.visible{opacity:1}.dm-msg.from-ai{-webkit-text-stroke:2px #CF0282;paint-order:stroke fill;text-shadow:0 0 4px rgba(255,0,255,.35),0 0 2px #000}.dm-msg.from-user{-webkit-text-stroke:2px #3b82f6;paint-order:stroke fill;text-shadow:0 0 4px rgba(59,130,246,.35),0 0 2px #000}.dm-msg.from-bruce{-webkit-text-stroke:2px #FF0000;paint-order:stroke fill;text-shadow:0 0 4px rgba(255,0,0,.35),0 0 2px #000}.dm-section.subtitle-only .chat-input-container,.dm-section.subtitle-only .disclaimer,.dm-section.subtitle-only .gift-tray{display:none}.dm-section.subtitle-only .dm-window{margin-bottom:84px}.dm-section.chat-fade-out{opacity:0;transition:opacity .3s ease;pointer-events:none}.dm-section.chat-fade-in{opacity:1;transition:opacity .3s ease}.chat-input-container{display:flex;align-items:center;max-width:400px;margin-left:auto;margin-right:auto}.input-wrapper{position:relative;flex:1}.chat-input{width:100%;background-color:rgba(255,255,255,.2);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:18px;padding:10px 30px 10px 16px;border-radius:24px;transition:background-color .2s ease,border-color .2s ease}.chat-input.is-recording{background-color:rgba(255,107,157,.18);border-color:rgba(255,107,157,.6)}.chat-input.has-interim::placeholder{color:rgba(255,192,220,.5)}.chat-input::placeholder{color:#ffc0dc}.btn-wrap{position:absolute;bottom:15%;left:50%;transform:translate(-50%,-50%);z-index:150;display:inline-block;padding-bottom:7px;user-select:none;-webkit-tap-highlight-color:transparent}.login-form__button{font-family:'Lilita One',sans-serif;font-size:26px;color:#fff;text-shadow:-1px -1px 0 rgba(0,0,0,.55),1px -1px 0 rgba(0,0,0,.55),-1px 1px 0 rgba(0,0,0,.55),1px 1px 0 rgba(0,0,0,.55),0 3px 0 rgba(0,0,0,.35);letter-spacing:.04em;background-color:#f5c000;border:3px solid #c99700;border-bottom:3px solid #9a7200;border-radius:10px;box-shadow:0 5px 0 0 #9a7200,0 7px 0 0 #7a5800;padding:8px 12px;width:200px;cursor:pointer;outline:0;display:block;line-height:1.2;text-align:center;transform:translateY(0);transition:background-color 80ms,transform 80ms,box-shadow 80ms;-webkit-appearance:button}.login-form__button:hover{background-color:#ffd020;border-color:#d4a200;border-bottom-color:#9a7200}.login-form__button:active{transform:translateY(5px);box-shadow:0 0 0 0 #9a7200,0 2px 0 0 #7a5800;background-color:#d4a400}#tap-to-chat-btn .login-form__button{position:relative;background-color:#4fb62a;background-image:linear-gradient(180deg,#8fe85c 0,#6ed13c 50%,#47ab24 52%,#35931a 100%);border:3px solid #e0ad1c;border-bottom:3px solid #b98c14;box-shadow:0 5px 0 0 #c99700,0 8px 0 0 #9a7200,0 10px 0 0 #7a5800,0 12px 18px rgba(0,0,0,.45),0 0 26px rgba(110,230,70,.28),inset 0 2px 0 rgba(255,255,255,.5),inset 0 -8px 14px rgba(12,70,6,.4);text-shadow:-1px -1px 0 rgba(10,45,5,.6),1px -1px 0 rgba(10,45,5,.6),-1px 1px 0 rgba(10,45,5,.6),1px 1px 0 rgba(10,45,5,.6),0 3px 0 rgba(8,40,4,.45);transition:filter 80ms,transform 80ms,box-shadow 80ms}#tap-to-chat-btn .login-form__button::before{content:'';position:absolute;left:5px;right:5px;top:3px;height:42%;border-radius:7px 7px 14px 14px/7px 7px 20px 20px;background:linear-gradient(180deg,rgba(255,255,255,.55) 0,rgba(255,255,255,.12) 70%,rgba(255,255,255,0) 100%);pointer-events:none}#tap-to-chat-btn .login-form__button::after{content:'';position:absolute;inset:0;border-radius:7px;overflow:hidden;pointer-events:none;background:linear-gradient(105deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.42) 48%,rgba(255,255,255,0) 58%);background-size:260% 100%;background-position:160% 0;animation:start-btn-sheen 3.6s ease-in-out infinite}@keyframes start-btn-sheen{0%,62%{background-position:160% 0}100%{background-position:-60% 0}}#tap-to-chat-btn .login-form__button:hover{background-color:#59c831;background-image:linear-gradient(180deg,#9ff36a 0,#7ade46 50%,#52ba2b 52%,#3da31f 100%);border-color:#f2c331;border-bottom-color:#b98c14;filter:brightness(1.04)}#tap-to-chat-btn .login-form__button:active{transform:translateY(6px);background-image:linear-gradient(180deg,#63c437 0,#4fae27 50%,#3d9a1c 52%,#2f8616 100%);box-shadow:0 0 0 0 #c99700,0 2px 0 0 #9a7200,0 3px 0 0 #7a5800,0 4px 8px rgba(0,0,0,.4),inset 0 2px 0 rgba(255,255,255,.28),inset 0 -4px 10px rgba(12,70,6,.45)}@media (prefers-reduced-motion:reduce){#tap-to-chat-btn .login-form__button::after{animation:none}}.send-btn{position:absolute;right:5px;top:6px;width:32px;height:32px;font-size:14px;border:none;background:0 0}.send-btn svg{fill:#fff;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;padding:0;margin:0;float:right}.gift-tray-btn{position:relative;width:38px;height:38px;min-width:38px;border:none;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:8px;cursor:pointer;transition:background .2s ease,transform .15s ease;padding:0;-webkit-tap-highlight-color:transparent}.gift-tray-btn:active{transform:scale(.9);background:rgba(255,255,255,.3)}.gift-tray-btn.active{background:rgba(255,80,180,.45)}.gift-tray-btn svg{fill:#fff;width:20px;height:20px;pointer-events:none}.gift-tray-badge{position:absolute;top:-1px;right:-1px;min-width:15px;height:15px;padding:0 3px;box-sizing:border-box;background:#e8196c;color:#fff;font-size:10px;font-weight:700;line-height:1;font-family:inherit;border-radius:8px;display:flex;align-items:center;justify-content:center;pointer-events:none;border:1.5px solid rgba(20,8,16,.55);box-shadow:0 1px 3px rgba(0,0,0,.45),0 0 6px rgba(232,25,108,.55);z-index:2;animation:gift-tray-badge-pop .32s cubic-bezier(.34,1.56,.64,1)}.gift-tray-badge[hidden]{display:none}@keyframes gift-tray-badge-pop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.gift-tray-badge{animation:none}}.gift-tray{max-width:400px;margin:0 auto 6px;background-color:rgba(255,255,255,.2);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);border-radius:24px;overflow:hidden;max-height:0;opacity:0;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s ease;pointer-events:none;z-index:1001}.gift-tray.open{max-height:64px;opacity:1;pointer-events:auto}.gift-tray-grid{display:flex;flex-direction:row;gap:2px;padding:6px 8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain}.gift-tray-grid::-webkit-scrollbar{display:none}.gift-tray-item{flex:0 0 auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;cursor:pointer;transition:background .15s ease,transform .12s ease;-webkit-tap-highlight-color:transparent;position:relative}.gift-tray-item:active{transform:scale(.88);background:rgba(255,255,255,.2)}.gift-tray-item img{width:30px;height:30px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 1px 3px rgba(0, 0, 0, .35))}.gift-tray-item-qty{position:absolute;top:0;right:0;min-width:14px;height:14px;background:#e8196c;color:#fff;font-size:9px;font-weight:700;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,.4);z-index:2}.gift-tray-empty{white-space:nowrap;padding:8px 14px;color:rgba(255,200,230,.5);font-size:12px}.dm-section.chat-fade-out .gift-tray,.dm-section.subtitle-only .gift-tray{max-height:0!important;opacity:0!important;pointer-events:none!important}.dm-section{margin-bottom:16px}.unlock-info{text-align:center;margin-bottom:24px}.unlock-feature{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px;background:rgba(255,255,255,.1);border-radius:12px}.feature-icon{font-size:32px;flex-shrink:0}.feature-text{text-align:left;flex-grow:1}.feature-text h3{margin:0 0 4px 0;color:#ff0050;font-size:16px}.feature-text p{margin:0;color:rgba(255,255,255,.7);font-size:14px}.unlock-cost{display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(255,215,0,.2);padding:12px;border-radius:12px;border:1px solid rgba(255,215,0,.3)}.unlock-cost .coin-icon{width:24px;height:24px}.cost-amount{font-size:18px;font-weight:700;color:gold}.unlock-actions{display:flex;flex-direction:column;gap:12px}.unlock-btn{background:linear-gradient(45deg,#ff0050,#ff4081);border:none;color:#fff;padding:14px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s}.unlock-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,0,80,.4)}.modal-content .cancel-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);padding:12px;border-radius:12px;font-size:14px;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:rgba(255,255,255,.2)}.buy-credits-content{max-width:400px;width:95%}.credits-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.credit-option{display:flex;flex-direction:column;align-items:center;padding:8px 6px;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.2);border-radius:12px;text-decoration:none;color:#fff;transition:all .2s;position:relative;cursor:pointer}.credit-option:hover{background:rgba(255,255,255,.2);border-color:#c084fc;transform:scale(1.02)}.credit-option.featured{background:linear-gradient(45deg,rgba(168,85,247,.15),rgba(192,132,252,.15));border-color:#a855f7}.featured-badge{position:absolute;top:-8px;left:50%;transform:translateX(-50%);background:#a855f7;color:#fff;padding:3px 8px;border-radius:12px;font-size:8px;font-weight:700;text-transform:uppercase;white-space:nowrap}.credit-option .coin-icon{width:18px;height:18px}.credit-tier-img{width:100%;max-width:96px;aspect-ratio:1/1;height:auto;object-fit:cover;border-radius:12px;display:block}.credit-option.featured .credit-tier-img{border-radius:12px}.credit-tier-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:96px;aspect-ratio:1/1;overflow:visible}.credit-tier-sparkles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:77%;height:77%;pointer-events:none}.credit-amount-container{display:flex;align-items:center;gap:4px;margin-bottom:4px}.credit-amount{font-size:18px;font-weight:700;color:#fff;line-height:1}.credit-price{font-size:12px;font-weight:700;color:#4ade80}.shop-price-btn{font-family:'Lilita One',sans-serif;font-size:15px;color:#fff;text-shadow:-1px -1px 0 rgba(0,0,0,.45),1px -1px 0 rgba(0,0,0,.45),-1px 1px 0 rgba(0,0,0,.45),1px 1px 0 rgba(0,0,0,.45),0 2px 0 rgba(0,0,0,.25);letter-spacing:.03em;background-color:#22c55e;border:2px solid #16a34a;border-bottom:2px solid #15803d;border-radius:8px;box-shadow:0 3px 0 0 #15803d,0 4px 0 0 #166534;padding:4px 10px;width:100%;cursor:pointer;outline:0;display:block;line-height:1.2;text-align:center;transform:translateY(0);transition:background-color 80ms,transform 80ms,box-shadow 80ms;-webkit-appearance:button;pointer-events:none;margin-top:2px}.credit-option:hover .shop-price-btn{background-color:#4ade80;border-color:#22c55e;border-bottom-color:#15803d}.credit-option:active .shop-price-btn{transform:translateY(3px);box-shadow:0 0 0 0 #15803d,0 1px 0 0 #166534;background-color:#16a34a}.gem-amount-small{display:flex;align-items:center;gap:3px;margin-bottom:2px;font-size:12px;font-weight:700;color:rgba(255,255,255,.75)}.gem-amount-icon{width:14px;height:14px;object-fit:contain}.coin-amount-small{display:flex;align-items:center;gap:3px;margin-bottom:2px;font-size:12px;font-weight:700;color:rgba(255,255,255,.75)}.coin-amount-icon{width:14px;height:14px;object-fit:contain}.shop-gem-cost-btn{font-family:'Lilita One',sans-serif;font-size:15px;color:#fff;text-shadow:-1px -1px 0 rgba(0,0,0,.45),1px -1px 0 rgba(0,0,0,.45),-1px 1px 0 rgba(0,0,0,.45),1px 1px 0 rgba(0,0,0,.45),0 2px 0 rgba(0,0,0,.25);letter-spacing:.03em;background-color:#a855f7;border:2px solid #9333ea;border-bottom:2px solid #7e22ce;border-radius:8px;box-shadow:0 3px 0 0 #7e22ce,0 4px 0 0 #6b21a8;padding:4px 10px;width:100%;cursor:pointer;outline:0;display:flex;align-items:center;justify-content:center;gap:4px;line-height:1.2;text-align:center;transform:translateY(0);transition:background-color 80ms,transform 80ms,box-shadow 80ms;-webkit-appearance:button;pointer-events:none;margin-top:2px}.gem-cost-btn-icon{width:16px;height:16px;object-fit:contain}.credit-option:hover .shop-gem-cost-btn{background-color:#c084fc;border-color:#a855f7;border-bottom-color:#7e22ce}.credit-option:active .shop-gem-cost-btn{transform:translateY(3px);box-shadow:0 0 0 0 #7e22ce,0 1px 0 0 #6b21a8;background-color:#9333ea}.credit-option.featured .credit-amount{font-size:18px}.credit-option.featured .credit-price{font-size:12px}.modal-content #recharge-btn{background-color:#f5c000;border:2px solid #c99700;border-bottom:2px solid #9a7200;box-shadow:0 4px 0 0 #9a7200,0 6px 0 0 #7a5800}.modal-content #recharge-btn:hover{background-color:#ffd020;border-color:#d4a200;border-bottom-color:#9a7200}.modal-content #recharge-btn:active{background-color:#d4a400;box-shadow:0 0 0 0 #9a7200,0 2px 0 0 #7a5800}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(22,6,34,.82);display:none;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(10px)}.modal-content{background:linear-gradient(180deg,#45156a 0,#2f0c48 55%,#230936 100%);border:3px solid #7a3aab;border-radius:18px;padding:0 20px 20px;width:90%;max-width:340px;color:#fff;position:relative;max-height:88vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 6px 0 0 #1a0728,0 14px 34px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.14)}.modal-content h2{font-family:'Lilita One',sans-serif;font-weight:400;font-size:20px;letter-spacing:2px;text-transform:uppercase;text-align:center;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.3),0 2px 4px rgba(0,0,0,.25);background:repeating-linear-gradient(90deg,#5c1d8a 0 48px,#7a3aab 48px 96px);border-bottom:3px solid #4a1670;margin:0 -20px 20px;padding:13px 44px 12px;position:relative}.modal-content h2::before{content:'';position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(180deg,rgba(255,255,255,.2) 0,transparent 100%);pointer-events:none}.modal-content p{color:rgba(255,255,255,.75);font-size:14px;line-height:1.55;text-align:center;margin-bottom:18px}.modal-content p strong{color:#e9c9ff}.credit-strike{text-decoration:line-through;color:#999}.black-friday{text-align:center;color:#fff!important;background:#000;border-radius:8px;padding:6px 0;text-transform:uppercase;font-size:17px;margin-right:8px;font-weight:900}.modal-content input{width:100%;padding:12px 14px;margin-bottom:12px;background:rgba(0,0,0,.3);border:2px solid #6b3a94;border-radius:10px;color:#fff;font-size:15px;transition:border-color .15s,box-shadow .15s}.modal-content input::placeholder{color:rgba(255,255,255,.45)}.modal-content input:focus{outline:0;border-color:#c084fc;box-shadow:0 0 0 3px rgba(192,132,252,.22)}.modal-content button{font-family:'Lilita One',sans-serif;font-size:17px;font-weight:400;letter-spacing:.04em;color:#fff;text-shadow:-1px -1px 0 rgba(0,0,0,.45),1px -1px 0 rgba(0,0,0,.45),-1px 1px 0 rgba(0,0,0,.45),1px 1px 0 rgba(0,0,0,.45),0 2px 0 rgba(0,0,0,.25);background-color:#a855f7;border:2px solid #9333ea;border-bottom:2px solid #7e22ce;border-radius:10px;box-shadow:0 4px 0 0 #7e22ce,0 6px 0 0 #6b21a8;padding:10px 14px;width:100%;margin:0 0 14px;cursor:pointer;outline:0;display:block;line-height:1.2;text-align:center;transform:translateY(0);transition:background-color 80ms,transform 80ms,box-shadow 80ms;-webkit-appearance:button}.modal-content button:hover{background-color:#c084fc;border-color:#a855f7;border-bottom-color:#7e22ce}.modal-content button:active{transform:translateY(4px);box-shadow:0 0 0 0 #7e22ce,0 2px 0 0 #6b21a8;background-color:#9333ea}.modal-content .secondary-btn{background-color:#5d3a80;border-color:#4b2c69;border-bottom-color:#3a2052;box-shadow:0 4px 0 0 #3a2052,0 6px 0 0 #2b1740}.modal-content .secondary-btn:hover{background-color:#714a99;border-color:#5d3a80;border-bottom-color:#3a2052}.modal-content .secondary-btn:active{background-color:#4b2c69;box-shadow:0 0 0 0 #3a2052,0 2px 0 0 #2b1740}.modal-content form>button:last-child,.modal-content>button:last-child{margin-bottom:6px}.modal-content button:disabled{opacity:.55;cursor:not-allowed}.modal-content button:disabled:active{transform:translateY(0);box-shadow:0 4px 0 0 #3a2052,0 6px 0 0 #2b1740}.modal-content .modal-close-top{position:absolute;top:10px;right:12px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(0,0,0,.3);border:2px solid rgba(0,0,0,.22);color:rgba(255,255,255,.85);font-size:20px;line-height:1;cursor:pointer;z-index:2;transition:background .15s,color .15s}.modal-content .modal-close-top:active,.modal-content .modal-close-top:hover{background:rgba(0,0,0,.45);color:#fff}.modal-content .modal-close-bottom{position:static;width:44px;height:44px;margin:18px auto 0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(0,0,0,.28);border:2px solid #7a3aab;box-shadow:0 3px 0 0 #4a1670;color:rgba(255,255,255,.8);font-size:26px;line-height:1;cursor:pointer;transition:background .15s,transform 80ms,box-shadow 80ms}.modal-content .modal-close-bottom:hover{background:rgba(0,0,0,.4);color:#fff}.modal-content .modal-close-bottom:active{transform:translateY(3px);box-shadow:0 0 0 0 #4a1670}.close{position:absolute;right:16px;top:16px;font-size:24px;cursor:pointer;color:rgba(255,255,255,.6)}@keyframes floatingHeart{0%{transform:translateY(0) scale(0);opacity:0}15%{transform:translateY(-20px) scale(1);opacity:1}100%{transform:translateY(-100px) scale(.8);opacity:0}}.floating-heart{position:absolute;font-size:20px;color:#ff0050;pointer-events:none;animation:floatingHeart 2s ease-out forwards}.chat-messages-wrapper::-webkit-scrollbar{width:2px}.chat-messages-wrapper::-webkit-scrollbar-track{background:0 0}.chat-messages-wrapper::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:2px}.auth-buttons{display:flex;gap:8px}.auth-btn{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:#fff;padding:6px 12px;border-radius:12px;font-size:12px;cursor:pointer;backdrop-filter:blur(10px)}.modal-content .auth-btn{backdrop-filter:none}.create-account-link{margin-top:14px;color:rgba(255,255,255,.7)!important;display:flex;justify-content:center;font-size:14px}.create-account-link a{margin-left:3px;color:rgba(255,255,255,.7)!important;font-weight:900}.notification{position:fixed;top:20px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:5px;color:#fff;z-index:10000;font-weight:500;font-size:12px;box-shadow:0 4px 15px rgba(0,0,0,.3)}.notification-success{background-color:#48bb78}.notification-error{background-color:#e53e3e}.notification-warning{background-color:#ed8936}.notification-info{background-color:#667eea}.settings-user-info{display:none;text-align:center}.settings-greeting{text-align:center;font-size:15px;color:rgba(255,255,255,.7);margin-bottom:16px}.settings-greeting strong{font-family:'Lilita One',sans-serif;font-weight:400;font-size:18px;letter-spacing:.03em;color:#e9c9ff}.settings-footer{margin-top:10px;text-align:center;padding-top:16px;border-top:1px solid rgba(192,132,252,.18)}.footer-link{color:rgba(233,201,255,.55);text-decoration:none;font-size:12px;transition:color .2s}.footer-link:hover{color:rgba(233,201,255,.9)}.footer-divider{color:rgba(192,132,252,.35);margin:0 8px;font-size:12px}.settings-logout-btn{width:100%;margin-top:8px}.settings-auth-buttons{display:none;flex-direction:column;gap:12px}.settings-auth-btn{width:100%}.modal-content .delete-btn,.modal-content .settings-reset-btn{font-family:inherit;background:0 0;background-color:transparent;border:none;box-shadow:none;text-shadow:none;letter-spacing:normal}.modal-content .delete-btn:active,.modal-content .delete-btn:hover,.modal-content .settings-reset-btn:active,.modal-content .settings-reset-btn:hover{background-color:transparent;box-shadow:none;transform:none;text-decoration:underline}.modal-content .delete-btn{width:fit-content;margin:4px auto 0;padding:4px 8px;display:block;font-size:13px;color:rgba(248,113,113,.8)}.modal-content .delete-btn:hover{color:#f87171}.modal-content .settings-reset-btn{width:100%;margin:2px 0 0;color:rgba(233,201,255,.5);font-size:13px;padding:8px 16px}.modal-content .settings-reset-btn:hover{color:rgba(233,201,255,.85)}.consent-notice{font-size:10px;color:rgba(233,201,255,.55);text-align:center;margin-bottom:14px;line-height:1.35}.consent-notice a{color:rgba(233,201,255,.85);text-decoration:underline}#auth-captcha-container{margin:6px 0;display:flex;justify-content:center}.h-captcha{transform:scale(.9);transform-origin:center}.chat-input-container{position:relative;z-index:1000}body.android-chrome .app-container{height:calc(var(--vh,1vh) * 100)}body.android-chrome .top-bar{padding-top:24px}.level-widget{position:absolute;left:0;top:0;z-index:150;padding-top:max(20px,env(safe-area-inset-top,20px));padding-left:0;width:25%;min-width:88px;max-width:170px}.rel-tier-label{display:block;font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:#fff;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 4px rgba(0,0,0,.8);padding-left:4px;margin-bottom:2px;line-height:1;font-family:'Lilita One',sans-serif;cursor:pointer;pointer-events:auto}.level-bar-container{position:relative;width:100%;height:14px;margin-top:6px;display:flex;align-items:center;filter:drop-shadow(0 2px 0 rgba(0, 0, 0, .5))}.level-bar-bg{position:relative;width:100%;height:100%;background:linear-gradient(180deg,#150d1e 0,#2a1a3c 100%);border:2px solid #000;border-radius:999px;overflow:hidden;box-shadow:inset 0 2px 3px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.08)}.level-bar-bg::after{content:'';position:absolute;left:2px;right:2px;top:1px;height:42%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0));pointer-events:none;z-index:2}.level-bar-fill{position:relative;height:100%;width:0%;background:linear-gradient(180deg,#ffe07a 0,#f6b214 55%,#d3790a 100%);border-radius:999px;box-shadow:0 0 8px rgba(246,178,20,.55);transition:width .5s cubic-bezier(.22, 1, .36, 1)}.level-bar-fill::after{content:'';position:absolute;inset:0;border-radius:999px;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);background-size:220% 100%;background-repeat:no-repeat;animation:levelBarShine 3.8s ease-in-out infinite;pointer-events:none}@keyframes levelBarShine{0%{background-position:200% 0}55%{background-position:-80% 0}100%{background-position:-80% 0}}.level-bar-label{position:absolute;top:50%;left:7px;transform:translateY(-50%);font-family:'Lilita One',sans-serif;font-size:10px;font-weight:400;letter-spacing:.5px;color:#fff;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 4px rgba(0,0,0,.9);z-index:4;line-height:1;white-space:nowrap;pointer-events:none}@keyframes levelUpPulse{0%,100%{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.3)}}@keyframes levelBarPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.5)}}.level-widget.level-up .level-bar-fill{animation:levelBarPulse .6s ease-out}.level-widget.level-up .level-bar-label{animation:levelUpPulse .6s ease-out;transform-origin:left center}@keyframes xpPenaltyShake{0%,100%{transform:translateX(0)}15%{transform:translateX(-3px)}30%{transform:translateX(3px)}45%{transform:translateX(-2px)}60%{transform:translateX(2px)}75%{transform:translateX(-1px)}90%{transform:translateX(1px)}}.level-widget.xp-penalty{animation:xpPenaltyShake .5s ease-out}.level-widget.xp-penalty .level-bar-fill{background:linear-gradient(180deg,#e4f9ff 0,#7fdcff 50%,#2f9fd4 100%)!important;box-shadow:0 0 12px rgba(127,220,255,.85);transition:background .15s ease-out,width .5s ease-out}.xp-penalty-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Lilita One',sans-serif;font-size:28px;color:#a8e9ff;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 0 12px rgba(0,0,0,.9);pointer-events:none;opacity:0;z-index:100;white-space:nowrap}.xp-penalty-toast.show{opacity:1;transform:translate(-50%,-50%) scale(1.1);transition:opacity .2s ease-out,transform .2s ease-out}.xp-penalty-toast.fade-out{opacity:0;transform:translate(-50%,-70%);transition:opacity .5s ease-in,transform .5s ease-in}@keyframes xpGainPop{0%,100%{transform:scale(1)}40%{transform:scale(1.12)}}.level-widget.xp-gain .level-bar-container{animation:xpGainPop .45s ease-out;transform-origin:left center}.level-widget.xp-gain .level-bar-fill{background:linear-gradient(180deg,#ffa8f0 0,#ff2fd0 50%,#b8109b 100%)!important;box-shadow:0 0 12px rgba(255,47,208,.85);transition:background .15s ease-out,width .5s ease-out}.xp-gain-toast{position:absolute;top:calc(100% + 4px);left:6px;font-family:'Lilita One',sans-serif;font-size:20px;color:#ff5ce0;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 0 12px rgba(0,0,0,.9);pointer-events:none;opacity:0;transform:translateY(4px) scale(.8);z-index:200;white-space:nowrap}.xp-gain-toast.show{opacity:1;transform:translateY(0) scale(1.1);transition:opacity .2s ease-out,transform .25s cubic-bezier(.34, 1.56, .64, 1)}.xp-gain-toast.fade-out{opacity:0;transform:translateY(-14px) scale(1);transition:opacity .5s ease-in,transform .5s ease-in}@media (prefers-reduced-motion:reduce){.level-widget.xp-gain .level-bar-container{animation:none}.level-bar-fill::after{animation:none;opacity:0}}.levels-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10000;display:none;align-items:stretch;justify-content:center}.levels-overlay.active,.levels-overlay[style*="display: flex"]{display:flex}.levels-backdrop{position:absolute;inset:0;background:linear-gradient(135deg,#0c0710 0,#1c1026 40%,#130d18 100%)}.levels-scene{position:relative;width:100%;max-width:400px;height:100%;display:flex;flex-direction:column;overflow:hidden;z-index:2}.levels-header{position:relative;display:flex;align-items:center;justify-content:center;padding:20px 16px 6px;z-index:3}.levels-ribbon{position:relative;width:300px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));opacity:0;animation:lvRibbonDrop .5s cubic-bezier(.34,1.4,.64,1) .1s both}@keyframes lvRibbonDrop{0%{opacity:0;transform:translateY(-25px) scale(.7)}100%{opacity:1;transform:translateY(0) scale(1)}}.levels-ribbon .ribbon-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Lilita One',sans-serif;font-size:26px;letter-spacing:.1em;color:#fff;white-space:nowrap;text-shadow:-1px -1px 0 rgba(0,0,0,.5),1px -1px 0 rgba(0,0,0,.5),-1px 1px 0 rgba(0,0,0,.5),1px 1px 0 rgba(0,0,0,.5),0 2px 0 rgba(0,0,0,.25)}.levels-scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 16px 4px;scrollbar-width:none}.levels-scroll::-webkit-scrollbar{display:none}.levels-path{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;flex-shrink:0;margin-top:auto}.lv-node{display:flex;flex-direction:column;align-items:center;width:100%;opacity:0;transform:translateY(18px)}.lv-node.animate-in{animation:lvNodeReveal .4s cubic-bezier(.22,.61,.36,1) forwards}@keyframes lvNodeReveal{0%{opacity:0;transform:translateY(18px) scale(.97)}100%{opacity:1;transform:translateY(0) scale(1)}}.lv-tier-box{position:relative;display:flex;align-items:center;gap:14px;width:100%;padding:12px;border-radius:14px;border:1.5px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);transition:border-color .3s,background .3s}.lv-node.reached .lv-tier-box{border-color:rgba(255,30,173,.35);background:rgba(255,30,173,.06)}.lv-node.current .lv-tier-box{border-color:#ff1ead;background:rgba(255,30,173,.1);box-shadow:0 0 20px rgba(255,30,173,.15)}.lv-lock-icon{display:none;position:absolute;top:8px;right:10px;width:18px;height:18px;color:rgba(255,255,255,.35)}.lv-node:not(.reached):not(.current) .lv-lock-icon{display:block}.lv-connector{width:3px;height:38px;background:linear-gradient(180deg,rgba(255,30,173,.2) 0,rgba(255,30,173,.1) 100%);flex-shrink:0}.lv-node.current .lv-connector,.lv-node.reached .lv-connector{background:linear-gradient(180deg,rgba(255,30,173,.7) 0,rgba(255,30,173,.3) 100%)}.lv-connector.first{background:0 0;height:0;display:none}.lv-connector.last{background:0 0;height:0;display:none}.lv-icon-wrap{width:64px;height:64px;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lv-icon-img{width:64px;height:64px;border-radius:12px;object-fit:cover;position:relative;z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.4);border:2px solid rgba(255,255,255,.15);transition:border-color .3s,box-shadow .3s,filter .3s}.lv-node:not(.reached):not(.current) .lv-icon-img{filter:grayscale(1)}.lv-node.reached .lv-icon-img{border-color:rgba(255,30,173,.5)}.lv-node.current .lv-icon-img{border-color:#ff1ead;box-shadow:0 0 16px rgba(255,30,173,.5),0 4px 12px rgba(0,0,0,.4)}.lv-icon-glow{position:absolute;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(255,30,173,.35) 0,transparent 70%);filter:blur(10px);opacity:0;transition:opacity .3s;pointer-events:none}.lv-node.current .lv-icon-glow{opacity:1;animation:lvGlowPulse 2.5s ease-in-out infinite}@keyframes lvGlowPulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.2);opacity:1}}.lv-info{flex:1;min-width:0;padding-right:22px}.lv-stage-name{font-family:'Lilita One',sans-serif;font-size:18px;color:rgba(255,255,255,.6);letter-spacing:.02em;transition:color .3s}.lv-node.reached .lv-stage-name{color:#fff}.lv-node.current .lv-stage-name{color:#ff1ead;text-shadow:0 0 12px rgba(255,30,173,.4)}.lv-stage-levels{font-size:11px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-top:2px;transition:color .3s}.lv-node.current .lv-stage-levels,.lv-node.reached .lv-stage-levels{color:rgba(255,255,255,.65)}.lv-stage-desc{font-size:13px;color:rgba(255,255,255,.45);margin-top:3px;line-height:1.35;transition:color .3s}.lv-node.current .lv-stage-desc,.lv-node.reached .lv-stage-desc{color:rgba(255,255,255,.8)}.levels-close-wrap{flex:0 0 auto;padding:14px 0 calc(20px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;position:relative;z-index:4;background:linear-gradient(180deg,transparent 0,rgba(12,7,16,.85) 45%,rgba(12,7,16,.95) 100%)}.levels-close-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:20px;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);transition:background .2s}.levels-close-btn:active{background:rgba(255,255,255,.2)}.level-widget{cursor:pointer}.level-widget:hover .level-bar-bg{filter:brightness(1.1)}.settings-section{margin-bottom:20px}.settings-section h3{font-size:14px;color:rgba(255,255,255,.8);margin-bottom:12px;text-align:center}@media (max-width:430px){body{height:100dvh;height:calc(var(--vh,1vh) * 100);height:100dvh}.app-container{height:100dvh;height:calc(var(--vh,1vh) * 100);height:100dvh;min-width:100vw}.video-container{position:fixed;top:0;left:0;right:0;bottom:0}.pink-vignette{position:fixed;inset:0;width:100vw;height:100%}.relationship-upgrade-overlay{position:fixed;inset:0;width:100vw;height:100%}.top-bar{padding-left:12px;padding-right:12px}.level-widget{width:22%}.dm-section{padding-left:12px;padding-right:12px;margin-bottom:4px}.dm-section.subtitle-only .dm-window{margin-bottom:96px}}.coin-reward-overlay,.energy-refill-overlay,.gift-reward-overlay{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease}.coin-reward-overlay.active,.energy-refill-overlay.active,.gift-reward-overlay.active{opacity:1;pointer-events:auto}.coin-reward-overlay.closing,.energy-refill-overlay.closing,.gift-reward-overlay.closing{opacity:0;pointer-events:none}.coin-reward-backdrop,.energy-refill-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(0,0,0,.6) 0,rgba(0,0,0,.85) 100%)}.coin-reward-content,.energy-refill-content,.gift-reward-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.coin-reward-ribbon,.energy-refill-ribbon{position:relative;z-index:4;margin-bottom:14px;width:300px;opacity:0;animation:ribbonDrop .5s cubic-bezier(.34,1.4,.64,1) .15s both;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.ribbon-svg{display:block;width:100%;height:auto;overflow:visible}.ribbon-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Lilita One',sans-serif;font-size:30px;letter-spacing:.1em;color:#fff;white-space:nowrap;text-shadow:-1px -1px 0 rgba(0,0,0,.5),1px -1px 0 rgba(0,0,0,.5),-1px 1px 0 rgba(0,0,0,.5),1px 1px 0 rgba(0,0,0,.5),0 2px 0 rgba(0,0,0,.25)}@keyframes ribbonDrop{0%{opacity:0;transform:translateY(-25px) scale(.7)}100%{opacity:1;transform:translateY(0) scale(1)}}.coin-reward-visual{position:relative;width:220px;height:220px;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0)}.coin-reward-overlay.active .coin-reward-visual{animation:visualReveal .5s cubic-bezier(.34,1.4,.64,1) .15s both}@keyframes visualReveal{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}.coin-reward-rays{position:absolute;width:320px;height:320px;object-fit:contain;animation:coinRewardSpin 12s linear infinite;opacity:.7;pointer-events:none;will-change:transform}.coin-reward-glow{position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,30,173,.45) 0,rgba(255,30,173,.22) 30%,rgba(255,30,173,.08) 55%,transparent 75%);animation:coinGlowPulse 2s ease-in-out infinite;pointer-events:none;will-change:transform}.coin-reward-icon-wrap{position:relative;z-index:3;width:140px;height:140px;opacity:1;transform:scale(1)}.coin-reward-icon-wrap.float{animation:coinFloat 3s ease-in-out infinite}.coin-reward-icon{width:100%;height:100%;object-fit:contain}.coin-reward-shine{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:url('/static/icons/coins.png');mask-image:url('/static/icons/coins.png');-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;pointer-events:none}.coin-reward-shine::after{content:'';position:absolute;top:-50%;left:-150%;width:60%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);transform:rotate(25deg)}.coin-reward-icon-wrap.shine .coin-reward-shine::after{animation:coinShineSweep 1.2s}.coin-reward-sparkles{position:absolute;top:-60%;left:-60%;width:220%;height:220%;z-index:4;pointer-events:none}@keyframes coinReveal{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.18)}85%{transform:scale(.92)}100%{opacity:1;transform:scale(1)}}@keyframes coinShineSweep{from{left:-150%}to{left:250%}}.coin-reward-text{position:relative;z-index:3;font-family:'Lilita One',sans-serif;font-size:44px;color:#fff;text-shadow:0 0 10px rgba(255,30,173,.8),0 0 30px rgba(255,30,173,.4),-1px -1px 0 rgba(0,0,0,.45),1px -1px 0 rgba(0,0,0,.45),-1px 1px 0 rgba(0,0,0,.45),1px 1px 0 rgba(0,0,0,.45);margin-top:10px;opacity:0;transform:scale(.5)}.coin-reward-text.pop{animation:coinTextReveal .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes coinTextReveal{0%{opacity:0;transform:scale(.3) translateY(15px)}60%{opacity:1;transform:scale(1.15) translateY(-2px)}80%{transform:scale(.95) translateY(1px)}100%{opacity:1;transform:scale(1) translateY(0)}}.coin-reward-claim-wrap,.energy-refill-actions{position:absolute;bottom:15%;left:50%;transform:translate(-50%,0);z-index:10001;opacity:0}.coin-reward-claim-wrap.show{animation:coinClaimFadeUp .4s ease forwards}.coin-reward-claim-wrap .login-form__button{width:160px;padding:12px 24px;font-size:18px}.coin-offer-copy{position:relative;z-index:3;display:none;margin-top:10px;padding:0 24px;text-align:center}.coin-reward-overlay.offer-mode .coin-offer-copy{display:block}.coin-offer-line{font-family:'Lilita One',sans-serif;font-size:19px;line-height:1.35;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.6)}.coin-offer-line #coin-offer-handle{color:#ff1ead}.coin-offer-hint{min-height:18px;margin-top:8px;font-size:13px;line-height:1.4;color:rgba(255,255,255,.75)}.coin-offer-hint.warn{color:#ffcf4d}#coin-offer-follow-btn,#coin-offer-skip-btn{display:none}.coin-reward-overlay.offer-mode #coin-offer-follow-btn,.coin-reward-overlay.offer-mode #coin-offer-skip-btn{display:block}.coin-reward-overlay.offer-mode #coin-reward-claim-btn{display:none}.coin-reward-overlay.offer-mode.offer-waiting #coin-offer-follow-btn{display:none}.coin-reward-overlay.offer-mode.offer-waiting #coin-reward-claim-btn{display:block}.coin-reward-claim-wrap .login-form__button:disabled{opacity:.55;cursor:default;filter:grayscale(.4)}.coin-offer-skip{display:block;width:100%;min-height:44px;margin-top:10px;padding:10px;background:0 0;border:0;font-family:inherit;font-size:14px;color:rgba(255,255,255,.6);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.coin-offer-skip:hover{color:rgba(255,255,255,.9)}@media (max-width:400px){.coin-offer-line{font-size:17px}.coin-offer-copy{padding:0 16px}}@keyframes coinRewardSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes coinGlowPulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.15);opacity:1}}@keyframes coinFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes coinClaimFadeUp{0%{opacity:0;transform:translate(-50%,10px)}100%{opacity:1;transform:translate(-50%,0)}}.gift-reward-ribbon{margin-bottom:24px}.gift-reward-overlay.active .coin-reward-visual{animation:visualReveal .5s cubic-bezier(.34,1.4,.64,1) .15s both}.gift-reward-icon-wrap{position:relative;z-index:3;width:234px;height:234px}.gift-reward-icon-wrap.float{animation:coinFloat 3s ease-in-out infinite}.gift-reward-gif{width:100%;height:100%;object-fit:contain}.gift-reward-hint{position:absolute;bottom:15%;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.55);font-size:13px;font-family:sans-serif;letter-spacing:0;z-index:10001;white-space:nowrap;opacity:0;transition:opacity .5s ease}.gift-reward-overlay.active .gift-reward-hint{opacity:1;transition-delay:1.5s}.relationship-upgrade-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10000;opacity:0;pointer-events:none;transition:opacity .4s ease}.relationship-upgrade-overlay.active{opacity:1;pointer-events:auto}.relationship-upgrade-overlay.closing{opacity:0;pointer-events:none}.rel-scene-root{position:absolute;inset:0;overflow:hidden;background:linear-gradient(135deg,#0c0710 0,#1c1026 40%,#130d18 100%)}@keyframes relSceneShake{0%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}100%{transform:translateX(0)}}.rel-card-wrap.shake{animation:relSceneShake .15s ease-out}@keyframes relDiagScroll{0%{transform:translate(0,0)}100%{transform:translate(100px,-100px)}}.rel-pattern-layer{position:absolute;top:-200px;left:-200px;width:calc(100% + 400px);height:calc(100% + 400px);animation:relDiagScroll 3s linear infinite;pointer-events:none}.rel-glow-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,30,173,.3) 0,rgba(200,20,140,.08) 55%,transparent 70%);pointer-events:none}.rel-flash-overlay{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:15}#rel-confetti{position:absolute;inset:0;pointer-events:none;z-index:10}.rel-card-stage{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;perspective:1200px}.rel-card-rays{position:absolute;width:420px;height:420px;object-fit:contain;animation:relCardSpin 14s linear infinite;opacity:0;pointer-events:none;z-index:0;transition:opacity .4s ease}@keyframes relCardSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.rel-card-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(255,30,173,.5) 0,rgba(220,20,150,.2) 40%,transparent 70%);filter:blur(20px);animation:relGlowPulse 2.2s ease-in-out infinite;pointer-events:none;z-index:0;opacity:0;transition:opacity .4s ease}@keyframes relGlowPulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.18);opacity:1}}.rel-dismiss-sparks{position:absolute;width:320px;height:420px;pointer-events:none;z-index:20}.rel-card-wrap{width:220px;height:330px;position:relative}.rel-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d}@keyframes relCardFlip{0%{transform:rotateY(0) scale(1)}15%{transform:rotateY(-8deg) scale(1.03)}35%{transform:rotateY(60deg) scale(.97)}55%{transform:rotateY(170deg) scale(1.02)}70%{transform:rotateY(190deg) scale(1.15)}85%{transform:rotateY(177deg) scale(.93)}100%{transform:rotateY(180deg) scale(1)}}.rel-card-wrap.flipped .rel-card-inner{animation:relCardFlip 1.1s cubic-bezier(.22,.61,.36,1) forwards}.rel-card-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:14px;overflow:hidden}.rel-card-back{background:linear-gradient(145deg,#5a5a5a 0,#3a3a3a 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #6a6a6a;box-shadow:0 8px 32px rgba(0,0,0,.5)}.rel-card-back::before{content:'';position:absolute;inset:10px;border:1.5px solid rgba(255,255,255,.1);border-radius:8px}.rel-diag-pat{position:absolute;inset:0;opacity:.07;background-image:repeating-linear-gradient(45deg,#fff 0,#fff 1px,transparent 1px,transparent 12px),repeating-linear-gradient(-45deg,#fff 0,#fff 1px,transparent 1px,transparent 12px)}.rel-qmark{font-size:72px;color:rgba(255,255,255,.28);z-index:1;line-height:1;font-family:sans-serif}.rel-card-front{transform:rotateY(180deg);background:#1a1a2e;border:2.5px solid #c9a84c;box-shadow:0 8px 32px rgba(0,0,0,.5)}.rel-card-front::after{content:"";position:absolute;top:-50%;left:-150%;width:50%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);transform:rotate(25deg);z-index:4;pointer-events:none}@keyframes relShineSweep{from{left:-150%}to{left:250%}}.rel-card-front.shine::after{animation:relShineSweep .9s ease-out}.rel-portrait-area{position:absolute;inset:8px;border-radius:8px;overflow:hidden;background:#2a2a40}.rel-portrait-img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.rel-ribbon-wrap{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;z-index:2;pointer-events:none}.rel-ribbon{background:linear-gradient(90deg,#b8860b,#daa520,#b8860b);color:#1a1a2e;font-size:11px;font-weight:900;letter-spacing:2.5px;text-transform:uppercase;padding:7px 28px;text-align:center;clip-path:polygon(8px 0%,calc(100% - 8px) 0%,100% 50%,calc(100% - 8px) 100%,8px 100%,0% 50%);min-width:180px;font-family:sans-serif}.rel-corner-gem{position:absolute;width:12px;height:12px;z-index:3;opacity:.75;background:#c9a84c;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.rel-gem-tl{top:12px;left:12px}.rel-gem-tr{top:12px;right:12px}.rel-gem-bl{bottom:38px;left:12px}.rel-gem-br{bottom:38px;right:12px}.rel-sparkles{position:absolute;inset:0;pointer-events:none;z-index:6}@keyframes relSparkle{0%{transform:scale(0) translate(0,0);opacity:0}30%{transform:scale(1.4) translate(0,0);opacity:1}100%{transform:scale(0) translate(var(--tx),var(--ty));opacity:0}}.rel-spark{position:absolute;width:5px;height:5px;border-radius:50%;background:#daa520;opacity:0;animation:relSparkle 1s ease-out forwards}.rel-overlay-labels{margin-top:18px;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .5s .5s,transform .5s .5s}.rel-overlay-labels.show{opacity:1;transform:translateY(0)}.rel-label-title{font-size:17px;font-weight:500;letter-spacing:3px;color:#ffd5ef;font-family:sans-serif}.rel-close-hint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.55);font-size:12px;letter-spacing:0;text-transform:none;font-family:sans-serif;z-index:20;white-space:nowrap;opacity:0;transition:opacity .5s ease}.relationship-upgrade-overlay.active .rel-close-hint{opacity:1;transition-delay:2s}#tap-swipe-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:99999}.energy-widget{background:rgba(0,0,0,.5);padding:4px 8px;border-radius:12px;display:flex;align-items:center;gap:5px;font-size:12px}.energy-icon{width:16px;height:16px;object-fit:contain;flex-shrink:0}.energy-icon-wrap{position:relative;display:inline-flex;width:16px;height:16px;flex-shrink:0}.energy-text{display:inline-flex;align-items:baseline;white-space:nowrap;line-height:1}.energy-count{font-size:12px;font-weight:900;color:#fff;transition:color .25s ease-out}.energy-max{font-size:10px;font-weight:700;color:rgba(255,255,255,.72);margin-left:1px}.energy-text.low .energy-count{color:#ff6b6b}.energy-text.mid .energy-count{color:#fbbf24}.energy-count,.energy-max,.gem-count span,.viewer-count span{text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 4px rgba(0,0,0,.8)}.energy-refill-ribbon .ribbon-text{font-size:24px}.energy-refill-visual{position:relative;width:180px;height:180px;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0)}.energy-refill-overlay.active .energy-refill-visual{animation:visualReveal .5s cubic-bezier(.34,1.4,.64,1) .15s both}.energy-refill-glow{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.45) 0,rgba(59,130,246,.22) 30%,rgba(59,130,246,.08) 55%,transparent 75%);animation:coinGlowPulse 2s ease-in-out infinite;pointer-events:none}.energy-refill-icon-wrap{position:relative;z-index:3;width:120px;height:120px;animation:coinFloat 3s ease-in-out infinite}.energy-refill-icon{width:100%;height:100%;object-fit:contain}.energy-refill-message{position:relative;z-index:3;font-size:18px;max-width:85%;font-weight:700;color:#fff;-webkit-text-stroke:1px magenta;text-shadow:0 0 4px rgba(255,0,255,.35),0 0 2px #000;text-align:center;margin-top:12px;padding:0 20px;line-height:1.4;opacity:0}.energy-refill-overlay.active .energy-refill-message{animation:coinTextReveal .5s cubic-bezier(.34,1.56,.64,1) .3s forwards}.energy-refill-timer{position:relative;z-index:3;font-size:14px;color:rgba(255,255,255,.7);text-align:center;margin-top:6px;opacity:0}.energy-refill-overlay.active .energy-refill-timer{animation:coinTextReveal .4s ease .5s forwards}.energy-refill-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.energy-refill-overlay.active .energy-refill-actions{animation:coinClaimFadeUp .4s ease .6s forwards}.energy-refill-btn-wrap .login-form__button{width:auto;padding:12px 28px;font-size:16px;display:flex;align-items:center;gap:8px;white-space:nowrap}.energy-refill-btn-wrap .login-form__button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.5)}.energy-refill-coin-icon{width:20px;height:20px;object-fit:contain}.energy-refill-dismiss{background:0 0;border:none;color:rgba(255,255,255,.5);font-size:14px;cursor:pointer;padding:4px 12px;transition:color .2s}.energy-refill-dismiss:hover{color:rgba(255,255,255,.8)}.energy-refill-btn-wrap .login-form__button.exhausted{opacity:.35;cursor:not-allowed;pointer-events:none}.energy-refill-exhausted-label{color:rgba(255,255,255,.5);font-size:13px;text-align:center}.energy-buy-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65);z-index:0}.energy-buy-status{color:#fff;font-size:22px;font-weight:700;text-align:center;margin:8px 0 2px;letter-spacing:1px}.qte-overlay{position:absolute;inset:0;z-index:9999999;pointer-events:none;opacity:0;transition:opacity .3s ease}.qte-overlay.active{pointer-events:all;opacity:1}.qte-circle{position:absolute;transform:translate(-50%,-50%);width:90px;height:90px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.qte-dot{width:48px;height:48px;border-radius:50%;background:#fff;box-shadow:0 0 20px 6px rgba(255,255,255,.6),0 0 40px 12px rgba(255,255,255,.3);animation:qte-pulse .25s ease-in-out infinite}.qte-ripple{position:absolute;width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.8);animation:qte-ripple-expand .25s ease-out infinite}.qte-label{position:absolute;bottom:-32px;left:50%;transform:translateX(-50%);white-space:nowrap;font-family:system-ui,sans-serif;font-size:22px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#fff;-webkit-text-stroke:1px rgba(0,0,0,0.3);text-shadow:0 2px 0 rgba(0,0,0,.4),0 4px 0 rgba(0,0,0,.25),0 6px 0 rgba(0,0,0,.15),0 8px 12px rgba(0,0,0,.5),0 0 20px rgba(255,255,255,.25);animation:qte-label-fade .25s ease-in-out infinite}@keyframes qte-pulse{0%,100%{transform:scale(.75);opacity:.6;box-shadow:0 0 20px 6px rgba(255,255,255,.6),0 0 40px 12px rgba(255,255,255,.3)}50%{transform:scale(1.2);opacity:1;box-shadow:0 0 35px 12px rgba(255,255,255,.8),0 0 70px 25px rgba(255,255,255,.4)}}@keyframes qte-ripple-expand{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.5);opacity:0}}@keyframes qte-label-fade{0%,100%{opacity:.6}50%{opacity:1}}.qte-circle.shake{animation:qte-shake .4s ease}@keyframes qte-shake{0%,100%{transform:translate(-50%,-50%)}20%{transform:translate(calc(-50% + 8px),-50%)}40%{transform:translate(calc(-50% - 8px),-50%)}60%{transform:translate(calc(-50% + 5px),-50%)}80%{transform:translate(calc(-50% - 3px),-50%)}}.qte-circle.success .qte-dot{animation:qte-success-flash .3s ease forwards}.qte-circle.success .qte-ripple{animation:qte-success-burst .4s ease-out forwards}@keyframes qte-success-flash{0%{transform:scale(1);background:radial-gradient(circle,#fff 0,rgba(255,255,255,.7) 50%,transparent 100%)}50%{transform:scale(1.5);background:radial-gradient(circle,#fff 0,rgba(255,255,255,.9) 60%,transparent 100%)}100%{transform:scale(0);opacity:0}}@keyframes qte-success-burst{0%{transform:scale(1);opacity:.8;border-color:#fff}100%{transform:scale(4);opacity:0;border-color:#fff}}@media (max-width:768px){.qte-overlay{position:fixed;inset:0}}.touchpoint-overlay{position:absolute;inset:0;z-index:99;pointer-events:none}.touchpoint-overlay.active{pointer-events:all}.touchpoint-overlay.tp-hidden{opacity:0!important;pointer-events:none!important;transition:none}.tp-circle{position:absolute;transform:translate(-50%,-50%);width:54px;height:54px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;opacity:0;transition:opacity .4s ease;pointer-events:none}.tp-circle.visible{opacity:1;pointer-events:all}.tp-dot{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 0 12px 4px rgba(255,255,255,.45),0 0 24px 8px rgba(255,255,255,.2);animation:tp-pulse 9s linear infinite;position:relative;overflow:hidden}.tp-dot-fill{position:absolute;bottom:0;left:0;width:100%;height:0%;background:rgba(255,150,180,.85);border-radius:0 0 9px 9px;transition:height .6s ease-out;pointer-events:none}.tp-dot-fill.nearly-full{border-radius:9px}.tp-ripple{position:absolute;width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);animation:tp-ripple-expand 9s linear infinite}.tp-label{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);white-space:nowrap;font-family:system-ui,sans-serif;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:capitalize;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.4),0 2px 0 rgba(0,0,0,.2),0 4px 8px rgba(0,0,0,.5);animation:tp-label-fade 9s linear infinite}@keyframes tp-pulse{0%{transform:scale(1);opacity:0;box-shadow:0 0 12px 4px rgba(255,255,255,0),0 0 24px 8px rgba(255,255,255,0)}11.1%{transform:scale(1);opacity:1;box-shadow:0 0 12px 4px rgba(255,255,255,.45),0 0 24px 8px rgba(255,255,255,.2)}22.2%{transform:scale(1.1);opacity:1;box-shadow:0 0 20px 8px rgba(255,255,255,.6),0 0 40px 14px rgba(255,255,255,.3)}33.3%{transform:scale(1);opacity:1;box-shadow:0 0 12px 4px rgba(255,255,255,.45),0 0 24px 8px rgba(255,255,255,.2)}44.4%{transform:scale(1);opacity:0;box-shadow:0 0 12px 4px rgba(255,255,255,0),0 0 24px 8px rgba(255,255,255,0)}100%{transform:scale(1);opacity:0;box-shadow:0 0 12px 4px rgba(255,255,255,0),0 0 24px 8px rgba(255,255,255,0)}}@keyframes tp-ripple-expand{0%{transform:scale(1);opacity:0}11.1%{transform:scale(1);opacity:.5}33.3%{transform:scale(2.2);opacity:.5}44.4%{transform:scale(2.2);opacity:0}100%{transform:scale(2.2);opacity:0}}@keyframes tp-label-fade{0%{opacity:0}11.1%{opacity:1}33.3%{opacity:1}44.4%{opacity:0}100%{opacity:0}}.tp-circle.tp-success .tp-dot{animation:tp-success-flash .3s ease forwards}.tp-circle.tp-success .tp-ripple{animation:tp-success-burst .35s ease-out forwards}@keyframes tp-success-flash{0%{transform:scale(1)}50%{transform:scale(1.3);background:#fff}100%{transform:scale(0);opacity:0}}@keyframes tp-success-burst{0%{transform:scale(1);opacity:.6;border-color:#fff}100%{transform:scale(3);opacity:0;border-color:#fff}}.tp-circle.tp-rejected{animation:tp-reject-shake .5s ease}.tp-circle.tp-rejected .tp-dot{background:rgba(255,60,60,.9);box-shadow:0 0 12px 4px rgba(255,60,60,.5),0 0 24px 8px rgba(255,60,60,.25)}.tp-circle.tp-rejected .tp-label{color:#ff6464}@keyframes tp-reject-shake{0%,100%{transform:translate(-50%,-50%)}15%{transform:translate(calc(-50% + 8px),-50%)}30%{transform:translate(calc(-50% - 8px),-50%)}45%{transform:translate(calc(-50% + 6px),-50%)}60%{transform:translate(calc(-50% - 4px),-50%)}75%{transform:translate(calc(-50% + 2px),-50%)}}.tp-circle.tp-locked .tp-dot{background:rgba(255,255,255,.65);box-shadow:0 0 6px 2px rgba(255,255,255,.15),0 0 12px 4px rgba(255,255,255,.08)}.tp-circle.tp-locked .tp-ripple{border-color:rgba(255,255,255,.25)}.tp-circle.tp-affordable .tp-dot{background:#fff;box-shadow:0 0 12px 4px rgba(255,182,193,.6),0 0 24px 8px rgba(255,150,180,.3)}.tp-circle.tp-affordable .tp-dot-fill{background:rgba(255,150,180,.95)}.tp-circle.tp-affordable .tp-ripple{border-color:rgba(255,182,193,.6)}.tp-cost-badge{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);white-space:nowrap;font-family:system-ui,sans-serif;font-size:11px;font-weight:600;padding:1px 6px;border-radius:8px;pointer-events:none;transition:background .3s ease,color .3s ease}.tp-circle.tp-locked .tp-cost-badge{background:rgba(255,255,255,.1);color:rgba(255,255,255,.4)}.tp-circle.tp-affordable .tp-cost-badge{background:rgba(255,100,150,.6);color:rgba(255,255,255,.95)}.tp-cost-badge{animation:tp-label-fade 9s linear infinite}.tp-shortfall-toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%) translateY(6px);display:flex;flex-direction:column;align-items:center;gap:2px;max-width:calc(100vw - 40px);background:rgba(15,15,15,.92);border:1px solid rgba(255,100,100,.35);border-radius:20px;padding:10px 22px;text-align:center;z-index:10001;pointer-events:none;opacity:0;transition:opacity .25s ease,transform .25s ease}.tp-shortfall-toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.tp-shortfall-toast .tp-shortfall-main{font-family:'Lilita One',sans-serif;font-size:15px;letter-spacing:.5px;color:#fff}.tp-shortfall-toast .tp-shortfall-main b{color:#ffb6c1}.tp-shortfall-toast .tp-shortfall-sub{font-family:system-ui,sans-serif;font-size:11px;color:rgba(255,255,255,.55)}@media (prefers-reduced-motion:reduce){.tp-shortfall-toast{transition:opacity .25s ease;transform:translateX(-50%)}.tp-shortfall-toast.visible{transform:translateX(-50%)}}.tp-reject-tooltip{position:absolute;top:calc(50% + 28px);left:50%;transform:translateX(-50%);background:rgba(15,15,15,.92);border:1px solid rgba(255,100,100,.3);border-radius:10px;padding:8px 12px;font-family:system-ui,sans-serif;font-size:12px;color:rgba(255,255,255,.85);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .25s ease;z-index:10;text-align:center;line-height:1.5}.tp-reject-tooltip.visible{opacity:1}.tp-reject-tooltip .tp-need-amount{color:#ffb6c1;font-weight:700}.tp-reject-tooltip .tp-hint{font-size:10px;color:rgba(255,255,255,.4);display:block;margin-top:2px}.tension-threshold{position:absolute;left:-3px;width:calc(100% + 6px);height:1.5px;background:rgba(255,255,255,.45);pointer-events:none;transition:bottom .3s ease,opacity .3s ease}.tension-threshold::after{content:attr(data-cost);position:absolute;left:calc(100% + 5px);top:50%;transform:translateY(-50%);font-family:system-ui,sans-serif;font-size:8px;font-weight:600;color:rgba(255,255,255,.35);white-space:nowrap}.tension-threshold.reached{background:rgba(255,182,193,.7)}.tension-threshold.reached::after{color:rgba(255,182,193,.6)}.tp-tutorial-dim{position:absolute;inset:0;z-index:90;background:rgba(0,0,0,.72);opacity:0;pointer-events:none;transition:opacity .5s ease}.tp-tutorial-dim.visible{opacity:1}.touchpoint-overlay.tp-tutorial-active .tp-circle{z-index:2}.touchpoint-overlay.tp-tutorial-active .tp-dot{animation:tp-tutorial-pulse 2.4s ease-in-out infinite}.touchpoint-overlay.tp-tutorial-active .tp-ripple{animation:tp-tutorial-ripple 2.4s ease-out infinite}.touchpoint-overlay.tp-tutorial-active .tp-cost-badge,.touchpoint-overlay.tp-tutorial-active .tp-label{animation:none;opacity:1}@keyframes tp-tutorial-pulse{0%,100%{transform:scale(1);opacity:1;box-shadow:0 0 12px 4px rgba(255,255,255,.45),0 0 24px 8px rgba(255,255,255,.2)}50%{transform:scale(1.12);opacity:1;box-shadow:0 0 20px 8px rgba(255,255,255,.6),0 0 40px 14px rgba(255,255,255,.3)}}@keyframes tp-tutorial-ripple{0%{transform:scale(1);opacity:.5}70%{transform:scale(2.2);opacity:0}100%{transform:scale(2.2);opacity:0}}.tp-tutorial-finger{position:absolute;top:60%;left:60%;width:62px;height:auto;opacity:0;pointer-events:none;transform-origin:20% 10%;filter:drop-shadow(0 4px 10px rgba(0, 0, 0, .55));transition:opacity .35s ease}.tp-tutorial-finger.visible{opacity:1;animation:tp-tutorial-tap 1.5s ease-in-out infinite}@keyframes tp-tutorial-tap{0%,100%{transform:scale(1)}50%{transform:scale(.78)}}@media (prefers-reduced-motion:reduce){.tp-tutorial-finger.visible{animation-duration:3s}}@media (max-width:768px){.touchpoint-overlay{position:fixed;inset:0;z-index:99}.tp-tutorial-dim{position:fixed;inset:0}.tp-tutorial-finger{width:54px}}.game-tab-bar{display:flex;justify-content:space-around;align-items:flex-end;width:100%;height:50px;box-sizing:border-box;padding:0 4px;padding-bottom:0;pointer-events:auto;position:relative;z-index:102;background:rgba(12,7,16,.92);border-top:1px solid rgba(255,255,255,.04)}.game-tab{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative;border:none;background:0 0;cursor:pointer;padding:8px 0 2px;-webkit-tap-highlight-color:transparent;outline:0;flex:1;min-width:0}.game-tab-rhombus{position:absolute;width:30px;height:30px;top:50%;left:50%;transform:translate(-50%,-60%) rotate(45deg);background:linear-gradient(135deg,#2e1a3a 0,#1a0e24 100%);border:1.5px solid rgba(255,30,173,.15);border-radius:4px;opacity:.6;transition:all .15s ease;z-index:0}.game-tab-icon{position:relative;z-index:1;width:24px;height:24px;object-fit:contain;transition:transform .1s ease;filter:brightness(.7) saturate(.4) sepia(.3) hue-rotate(260deg);image-rendering:-webkit-optimize-contrast}.game-tab-label{font-family:'Lilita One',sans-serif;font-size:9px;letter-spacing:.5px;color:rgba(255,255,255,0);margin-top:2px;text-align:center;white-space:nowrap;transition:color .15s ease;position:relative;z-index:1;line-height:1;min-height:11px}.game-tab.active .game-tab-rhombus{background:linear-gradient(135deg,#4a2050 0,#6a2860 100%);border-color:rgba(180,100,160,.5);border-width:2px;opacity:1;box-shadow:0 0 10px rgba(140,60,120,.3),inset 0 1px 0 rgba(255,255,255,.1);width:38px;height:38px}.game-tab.active .game-tab-icon{width:30px;height:30px;transform:scale(1.15);filter:brightness(1.1) saturate(.9) drop-shadow(0 0 5px rgba(180, 100, 160, .4))}.game-tab.active .game-tab-label{color:#fff;text-shadow:0 0 6px rgba(140,80,130,.4)}.game-tab.pressing .game-tab-icon{transform:scale(.75)}.game-tab.active.pressing .game-tab-icon{transform:scale(.9)}.game-tab.pressing .game-tab-rhombus{transform:translate(-50%,-60%) rotate(45deg) scale(.85)}.game-tab.tab-locked{pointer-events:auto;cursor:not-allowed}.game-tab.tab-locked .game-tab-icon{filter:brightness(.35) saturate(0)!important}.game-tab.tab-locked .game-tab-rhombus{opacity:.25;border-color:rgba(255,255,255,.05);background:linear-gradient(135deg,#1a1020 0,#100a16 100%)}.game-tab.tab-locked .game-tab-label{color:rgba(255,255,255,0)!important}.game-tab-lock-badge{display:none;position:absolute;top:2px;right:calc(50% - 18px);font-size:10px;z-index:3;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.7))}.game-tab.tab-locked .game-tab-lock-badge{display:block}.tab-new-badge{display:none;position:absolute;top:1px;right:calc(50% - 22px);z-index:4;width:18px;height:18px;border-radius:5px;background:#e51740;box-shadow:0 1px 4px rgba(229,23,64,.55);align-items:center;justify-content:center;pointer-events:none;animation:badge-pop .4s cubic-bezier(.175,.885,.32,1.275) both,badge-shake 2.4s ease-in-out .5s infinite}.tab-new-badge span{font-family:'Lilita One',sans-serif;font-size:13px;color:#fff;line-height:1;margin-top:-1px}.game-tab.has-currency-badge .tab-new-badge,.game-tab.has-new-badge .tab-new-badge{display:flex}@keyframes badge-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.25);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes badge-shake{0%,100%,30%{transform:rotate(0)}4%{transform:rotate(-10deg)}8%{transform:rotate(10deg)}12%{transform:rotate(-8deg)}16%{transform:rotate(6deg)}20%{transform:rotate(-3deg)}24%{transform:rotate(0)}}.game-tab.tab-locked.active .game-tab-rhombus{background:linear-gradient(135deg,#1a1020 0,#100a16 100%);border-color:rgba(255,255,255,.05);opacity:.25;box-shadow:none;width:30px;height:30px}.game-tab.tab-locked.active .game-tab-icon{width:24px;height:24px;transform:none;filter:brightness(.35) saturate(0)!important}.game-tab.tab-locked.active .game-tab-label{color:rgba(255,255,255,0)!important;text-shadow:none}.tab-panel{pointer-events:auto}#tab-panel-chat{pointer-events:none}.tab-panel-fullscreen{position:fixed;top:0;bottom:auto;left:50%;transform:translateX(-50%);height:100vh;width:min(100vw,calc(100vh * 9 / 16));max-width:100vw;overflow:hidden;z-index:97;background:linear-gradient(180deg,#0c0710 0,#130d18 100%);display:flex;align-items:center;justify-content:center;pointer-events:auto}.tab-panel-fullscreen .tab-panel-placeholder{font-family:'Lilita One',sans-serif;font-size:22px;color:rgba(255,255,255,.25);letter-spacing:2px;text-transform:uppercase}#tab-panel-shop{background:linear-gradient(180deg,#0f0a14 0,#130d18 100%)!important;align-items:flex-start!important;justify-content:flex-start!important}.shop-wrapper{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.shop-awning{flex-shrink:0;z-index:2;margin-top:54px;position:relative;width:100%;overflow:hidden}.shop-awning-face{width:100%;height:52px;background:repeating-linear-gradient(90deg,#5c1d8a 0 48px,#7a3aab 48px 96px);display:flex;align-items:center;justify-content:center;border-top:3px solid #4a1670;position:relative}.shop-awning-face::before{content:'';position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(180deg,rgba(255,255,255,.2) 0,transparent 100%);pointer-events:none}.shop-awning-face::after{content:'';position:absolute;bottom:0;left:0;right:0;height:10px;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.1) 100%);pointer-events:none}.shop-awning-title{font-family:'Lilita One',sans-serif;font-size:26px;color:#fff;letter-spacing:4px;text-shadow:0 1px 0 rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.15);position:relative;z-index:1}.shop-awning-scallop{width:100%;height:18px;background:repeating-linear-gradient(90deg,#5c1d8a 0 48px,#7a3aab 48px 96px);-webkit-mask:radial-gradient(circle 24px at 24px 0,#000 23.5px,transparent 24px) 0 0/48px 100%;mask:radial-gradient(circle 24px at 24px 0,#000 23.5px,transparent 24px) 0 0/48px 100%;position:relative;margin-top:-1px}.shop-awning::after{content:'';position:absolute;bottom:-8px;left:0;right:0;height:8px;background:linear-gradient(180deg,rgba(0,0,0,.18) 0,transparent 100%);pointer-events:none}.shop-balance-bar{display:flex;justify-content:center;padding:14px 16px 8px}.shop-balance-pill{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.03) 100%);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:5px 8px 5px 10px}.shop-coin-icon{width:18px;height:18px;object-fit:contain}.shop-coin-count{font-family:'Lilita One',sans-serif;font-size:15px;color:gold;min-width:28px}.shop-plus-btn{width:22px;height:22px;border-radius:50%;border:none;background:linear-gradient(135deg,#22c55e 0,#16a34a 100%);color:#fff;font-family:'Lilita One',sans-serif;font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;-webkit-tap-highlight-color:transparent;box-shadow:0 1px 4px rgba(0,0,0,.3)}.shop-plus-btn:active{transform:scale(.9)}.shop-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 12px;min-width:0}.shop-spacer{height:calc(90px + env(safe-area-inset-bottom,0px))}@supports (height:100dvh){.shop-spacer{height:calc(90px + (100vh - 100dvh) + env(safe-area-inset-bottom,0px))}}.shop-section{margin-bottom:28px;min-width:0}.shop-section-label{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 18px;margin:8px auto 12px;font-family:'Lilita One',sans-serif;font-size:15px;color:rgba(255,255,255,.7);letter-spacing:1px;text-transform:uppercase;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:20px;width:fit-content}.shop-section-icon{width:18px;height:18px;fill:rgba(255,255,255,0.6)}.shop-coins-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.shop-coins-grid>*{min-width:0}.shop-coins-grid .credit-option{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.shop-coins-grid .credit-option:hover{background:rgba(255,255,255,.12);border-color:#c084fc}.shop-coins-grid .credit-option.featured{grid-column:auto}.gem-tier-hidden{display:none!important}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.shop-grid>*{min-width:0}.shop-gift-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;aspect-ratio:3/4;border-radius:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,border-color .15s ease,box-shadow .15s ease;overflow:hidden;border:1.5px solid rgba(255,255,255,.08);background:#111}.shop-gift-card:hover{border-color:rgba(192,132,252,.4);box-shadow:0 0 12px rgba(168,85,247,.15);transform:scale(1.03)}.shop-gift-card:active{transform:scale(.96)}.shop-gift-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 45%,rgba(0,0,0,.7) 100%);pointer-events:none;z-index:1}.shop-gift-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);width:80%;height:60%;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));transition:transform .15s ease;z-index:0}.shop-gift-card:hover .shop-gift-img{transform:translate(-50%,-55%) scale(1.08)}.shop-gift-card:active .shop-gift-img{transform:translate(-50%,-55%) scale(.95)}.shop-gift-name{position:relative;z-index:2;font-size:9px;color:rgba(255,255,255,.85);text-align:center;line-height:1.2;max-width:100%;padding:0 4px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-shadow:0 1px 3px rgba(0,0,0,.8)}.shop-gift-price,.shop-mem-price{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:'Lilita One',sans-serif;font-size:13px;color:#fff;text-shadow:-1px -1px 0 rgba(0,0,0,.45),1px -1px 0 rgba(0,0,0,.45),-1px 1px 0 rgba(0,0,0,.45),1px 1px 0 rgba(0,0,0,.45),0 2px 0 rgba(0,0,0,.25);letter-spacing:.03em;background-color:#f5c000;border:2px solid #c99700;border-bottom:2px solid #9a7200;border-radius:8px;box-shadow:0 3px 0 0 #9a7200,0 4px 0 0 #7a5800;padding:3px 12px;cursor:pointer;line-height:1.2;text-align:center;transition:background-color 80ms,transform 80ms,box-shadow 80ms;width:auto;min-width:50px}.shop-gift-price{position:relative;z-index:2;margin-bottom:6px}.shop-gift-card:hover .shop-gift-price,.shop-mem-card:hover .shop-mem-price{background-color:#ffd020;border-color:#d4a200;border-bottom-color:#9a7200}.shop-gift-card:active .shop-gift-price,.shop-mem-card:active .shop-mem-price{transform:translateY(3px);box-shadow:0 0 0 0 #9a7200,0 1px 0 0 #7a5800;background-color:#d4a400}.shop-gift-price img,.shop-mem-price img{width:14px;height:14px}.shop-gift-price span,.shop-mem-price span{font-family:'Lilita One',sans-serif;font-size:13px;color:#fff}.shop-gift-card.shop-purchased{border-color:rgba(34,197,94,.5);background:linear-gradient(180deg,rgba(34,197,94,.12) 0,rgba(34,197,94,.04) 100%)}.shop-gift-card.shop-gift-spotlight{border-color:rgba(212,123,255,.75);animation:shop-gift-spotlight 1.6s ease-out 2}@keyframes shop-gift-spotlight{0%{box-shadow:0 0 0 0 rgba(212,123,255,.55)}70%{box-shadow:0 0 0 12px rgba(212,123,255,0)}100%{box-shadow:0 0 0 0 rgba(212,123,255,0)}}@media (prefers-reduced-motion:reduce){.shop-gift-card.shop-gift-spotlight{animation:none}}.shop-gift-card.shop-insufficient{animation:shop-shake .35s ease}.shop-gift-card.shop-highlight{border-color:rgba(212,123,255,.7);background:linear-gradient(180deg,rgba(139,47,214,.16) 0,rgba(139,47,214,.05) 100%)}@keyframes shop-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}.shop-gift-perks{position:absolute;top:5px;right:5px;z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:3px;max-width:calc(100% - 10px);pointer-events:none}.shop-gift-perk{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 6px 4px;font-family:'Lilita One',sans-serif;text-transform:uppercase;border-radius:7px;color:#ffdfa1;background:linear-gradient(180deg,rgba(72,38,0,.95) 0,rgba(34,15,0,.97) 100%);border:1px solid rgba(255,200,90,.85);box-shadow:0 0 7px rgba(255,190,70,.35),inset 0 1px 0 rgba(255,255,255,.1),0 1px 3px rgba(0,0,0,.55);text-shadow:0 1px 2px rgba(0,0,0,.8)}.shop-gift-perk-icon{flex:0 0 auto;width:11px;height:11px;color:rgba(255,214,130,.95)}.shop-gift-perk-body{display:flex;flex-direction:column;align-items:flex-end;min-width:0}.shop-gift-perk-val{font-size:15px;line-height:1;color:#ffe9b0;letter-spacing:.01em;font-variant-numeric:tabular-nums;text-shadow:0 0 7px rgba(255,190,70,.75),0 1px 2px rgba(0,0,0,.8)}.shop-gift-perk-lbl{font-size:8px;line-height:1.1;letter-spacing:.06em;white-space:nowrap}.shop-gift-perk-lbl-lg{font-size:9.5px;line-height:1.12;letter-spacing:.03em;text-align:right;white-space:normal;max-width:56px}.shop-gift-perk-unlock{color:#edd8ff;background:linear-gradient(180deg,rgba(88,28,135,.95) 0,rgba(45,13,74,.97) 100%);border-color:rgba(192,132,252,.85);box-shadow:0 0 7px rgba(168,85,247,.4),inset 0 1px 0 rgba(255,255,255,.1),0 1px 3px rgba(0,0,0,.55)}.shop-gift-perk-unlock .shop-gift-perk-icon{color:rgba(216,180,254,.95)}.shop-gift-perk-xp{color:#ffd0f4;background:linear-gradient(180deg,rgba(122,8,96,.95) 0,rgba(60,4,48,.97) 100%);border-color:rgba(255,92,224,.85);box-shadow:0 0 7px rgba(255,92,224,.4),inset 0 1px 0 rgba(255,255,255,.1),0 1px 3px rgba(0,0,0,.55)}.shop-gift-perk-xp .shop-gift-perk-icon{color:rgba(255,140,232,.95)}.shop-gift-perk-compact{padding:2px 6px 3px}.shop-gift-perk-compact .shop-gift-perk-body{flex-direction:row;align-items:center;gap:3px}.shop-gift-perk-compact .shop-gift-perk-val{font-size:11px;text-shadow:0 0 6px rgba(255,92,224,.7),0 1px 2px rgba(0,0,0,.8)}.shop-gift-perk-compact .shop-gift-perk-lbl{font-size:8px;opacity:.9}.shop-gift-card.has-perks{border-color:rgba(255,200,90,.22)}.shop-gift-card.has-perks:hover{border-color:rgba(255,200,90,.5);box-shadow:0 0 12px rgba(255,190,70,.18)}.shop-gift-card.has-perks .shop-gift-img{height:56%;transform:translate(-50%,-46%)}.shop-gift-card.has-perks:hover .shop-gift-img{transform:translate(-50%,-46%) scale(1.08)}.shop-gift-card.has-perks:active .shop-gift-img{transform:translate(-50%,-46%) scale(.95)}@media (max-width:340px){.shop-gift-perk{gap:0;padding:3px 5px 4px}.shop-gift-perk-icon{display:none}}.shop-memories-list{display:flex;flex-direction:row;gap:6px;padding:4px 0 8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain;max-width:100%}.shop-memories-list::-webkit-scrollbar{display:none}.shop-mem-scroll-hint{display:flex;align-items:center;justify-content:center;gap:5px;padding:2px 0 6px;font-size:11.5px;color:rgba(212,175,55,.7);letter-spacing:.5px;animation:shop-mem-hint-pulse 2.2s ease-in-out infinite;transition:opacity .4s ease,max-height .4s ease;max-height:30px;overflow:hidden}.shop-mem-scroll-hint svg{flex-shrink:0;animation:shop-mem-hint-arrow 1.5s ease-in-out infinite}@keyframes shop-mem-hint-pulse{0%,100%{opacity:.55}50%{opacity:1}}@keyframes shop-mem-hint-arrow{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}.shop-std-mem-wrap{display:flex;align-items:center;gap:16px;padding:4px 0 8px;justify-content:center}.shop-std-mem-card{flex:0 0 auto;width:80px;aspect-ratio:3/4;border-radius:4px;background:rgba(255,255,255,.015);border:1.5px dashed rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,border-color .2s ease,background .2s ease;box-shadow:0 4px 6px -2px rgba(0,0,0,.5)}.shop-std-mem-card:hover{border-color:rgba(192,132,252,.3);background:rgba(255,255,255,.04)}.shop-std-mem-card:active{transform:scale(.95)}.shop-std-mem-q{font-family:'Lilita One',cursive;font-size:24px;color:rgba(240,230,246,.2)}.shop-std-mem-info{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.shop-std-mem-desc{font-size:12px;color:rgba(255,255,255,.45);line-height:1.4;max-width:160px}.shop-std-mem-card.shop-purchased{border-color:rgba(34,197,94,.5);background:rgba(34,197,94,.08)}.shop-std-mem-card.shop-insufficient{animation:shop-shake .35s ease}.shop-std-mem-card.shop-all-owned{opacity:.35;cursor:default;pointer-events:none}.shop-std-mem-card.shop-all-owned .shop-std-mem-q::after{content:'✓';display:block;font-size:14px;margin-top:2px;color:rgba(34,197,94,.5)}.shop-mem-card{flex:0 0 auto;width:155px;display:flex;flex-direction:column;background:#0a0a0a;border:1px solid rgba(180,155,100,.25);border-radius:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,border-color .2s ease,box-shadow .2s ease;position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;box-shadow:0 4px 20px rgba(0,0,0,.7),0 0 1px rgba(180,155,100,.3)}.shop-mem-card:active{transform:scale(.97);box-shadow:0 2px 10px rgba(0,0,0,.8),0 0 12px rgba(212,175,55,.15)}.shop-mem-thumb-wrap{position:relative;width:100%;height:220px;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,#1a1018 0,#0d080f 100%);border-radius:0}.shop-mem-thumb-wrap::after{content:'';position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,#0a0a0a 0,transparent 100%);pointer-events:none;z-index:1}.shop-mem-thumb-wrap img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}.shop-mem-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;background:rgba(0,0,0,.6);border:1.5px solid rgba(212,175,55,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:2;box-shadow:0 0 16px rgba(0,0,0,.5)}.shop-mem-play-icon svg{width:16px;height:16px;fill:rgba(212,175,55,0.9);margin-left:2px}.shop-mem-info{padding:8px 8px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;background:linear-gradient(180deg,#0a0a0a 0,#0f0c08 100%);border-top:1px solid rgba(180,155,100,.1)}.shop-mem-label{font-family:'Lilita One',sans-serif;font-size:11px;color:rgba(235,220,190,.95);letter-spacing:1.2px;text-transform:uppercase;text-align:center;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shop-mem-sub{display:none}.shop-mem-owned{display:inline-flex;align-items:center;gap:3px;background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.3);border-radius:0;padding:2px 8px;font-family:'Lilita One',sans-serif;font-size:10px;color:#d4af37;letter-spacing:1px;text-transform:uppercase}.shop-mem-card.shop-mem-has{opacity:.85;border-color:rgba(212,175,55,.25)}.shop-mem-card.shop-purchased{border-color:rgba(212,175,55,.6);box-shadow:0 4px 20px rgba(0,0,0,.7),0 0 8px rgba(212,175,55,.15)}.shop-mem-card.shop-insufficient{animation:shop-shake .35s ease}.new-badge{position:absolute;top:6px;left:6px;background:#e53e3e;color:#fff;font-family:'Lilita One',sans-serif;font-size:10px;letter-spacing:.8px;text-transform:uppercase;padding:2px 7px;border-radius:6px;line-height:1.3;z-index:10;box-shadow:0 2px 6px rgba(229,62,62,.45);animation:new-badge-pop .35s cubic-bezier(.34,1.56,.64,1) both;pointer-events:none}@keyframes new-badge-pop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}.new-badge-fade{animation:new-badge-out .4s ease forwards}@keyframes new-badge-out{0%{transform:scale(1);opacity:1}100%{transform:scale(.6);opacity:0}}#tab-panel-map{background:linear-gradient(180deg,#0c0710 0,#130d18 100%)!important;align-items:flex-start!important;justify-content:flex-start!important}.map-wrapper{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:150px}.map-hdr{position:sticky;top:0;z-index:20;padding:14px 20px 10px;padding-top:calc(max(20px,env(safe-area-inset-top,20px)) + 48px);background:linear-gradient(180deg,#0c0710 70%,transparent)}.map-title{font-family:'Lilita One',cursive;font-size:20px;background:linear-gradient(135deg,#fff 30%,#ff1ead);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.map-hdr-sub{display:flex;align-items:center;gap:8px;margin-top:6px}.map-counter-bar{flex:1;height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}.map-counter-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#6a2860,#b44090);transition:width .4s ease;box-shadow:0 0 6px rgba(180,64,144,.3)}.map-counter-text{font-size:12px;font-weight:700;color:rgba(240,230,246,.75);white-space:nowrap;font-variant-numeric:tabular-nums}.map-return-bar{display:none;position:absolute;left:0;right:0;bottom:calc(50px + env(safe-area-inset-bottom,0px));z-index:30;padding:20px 20px 14px;box-sizing:border-box;background:linear-gradient(180deg,rgba(12,7,16,0) 0,rgba(12,7,16,.82) 42%,rgba(12,7,16,.95) 100%);pointer-events:auto}@supports (height:100dvh){.map-return-bar{bottom:calc(50px + (100vh - 100dvh) + env(safe-area-inset-bottom,0px))}}.map-return-bar.map-return-visible{display:block}.map-return-btn{display:block;margin:0 auto;width:100%;max-width:230px;font-family:'Lilita One',sans-serif;font-size:16px;letter-spacing:.06em;color:#fff;text-shadow:-1px -1px 0 rgba(0,0,0,.55),1px -1px 0 rgba(0,0,0,.55),-1px 1px 0 rgba(0,0,0,.55),1px 1px 0 rgba(0,0,0,.55),0 2px 0 rgba(0,0,0,.35);background-color:#f5c000;border:3px solid #c99700;border-bottom:3px solid #9a7200;border-radius:10px;box-shadow:0 4px 0 0 #9a7200,0 6px 0 0 #7a5800;padding:7px 12px;cursor:pointer;outline:0;line-height:1.2;text-align:center;transform:translateY(0);transition:background-color 80ms,transform 80ms,box-shadow 80ms;-webkit-appearance:button;-webkit-tap-highlight-color:transparent;user-select:none}.map-return-btn:hover{background-color:#ffd020;border-color:#d4a200;border-bottom-color:#9a7200}.map-return-btn:active{transform:translateY(4px);box-shadow:0 0 0 0 #9a7200,0 2px 0 0 #7a5800;background-color:#d4a400}.map-active-mode{position:relative;outline:3px solid #ff1ead;outline-offset:2px;animation:mapActivePulse 2.2s ease-in-out infinite}@keyframes mapActivePulse{0%,100%{outline-color:rgba(255,30,173,.7);filter:drop-shadow(0 0 5px rgba(255, 30, 173, .3))}50%{outline-color:#ff1ead;filter:drop-shadow(0 0 14px rgba(255, 30, 173, .7))}}.map-active-mode::before{content:'YOU ARE HERE';position:absolute;font-family:'Lilita One',sans-serif;font-size:11px;line-height:1;letter-spacing:1.2px;color:#fff;background:#ff1ead;padding:4px 9px 3px;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.55);z-index:4;pointer-events:none;white-space:nowrap}.map-loc-card.map-active-mode::before{top:10px;right:12px}@media (prefers-reduced-motion:reduce){.map-active-mode{animation:none;outline-color:#ff1ead}}.map-spacer{height:20px}.map-locations{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;padding:6px 16px 0;box-sizing:border-box}.map-path-link{width:64px;height:55px;margin:5px 0;flex-shrink:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.map-path-svg{width:64px;height:55px;overflow:visible}.map-path-link-right .map-path-svg{transform:scaleX(-1)}.map-path-line{stroke:rgba(255,30,173,0.7);stroke-width:5;stroke-linecap:round;stroke-dasharray:1 12;transition:stroke .35s ease}.map-path-link:not(.map-path-unlocked) .map-path-svg{visibility:hidden}.map-loc-card{position:relative;width:100%;max-width:420px;aspect-ratio:800/236;border:none;border-radius:14px;background-size:cover;background-position:center;background-repeat:no-repeat;cursor:pointer;overflow:hidden;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,box-shadow .12s ease;box-shadow:0 3px 12px rgba(0,0,0,.45)}.map-loc-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 0,rgba(0,0,0,.5) 100%);border-radius:14px;pointer-events:none}.map-loc-card:active{transform:scale(.97);box-shadow:0 1px 6px rgba(0,0,0,.5)}.map-loc-label{position:absolute;bottom:12px;left:16px;font-family:'Lilita One',sans-serif;font-size:22px;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.8),0 0 2px rgba(0,0,0,.6);letter-spacing:1.5px;text-transform:uppercase;z-index:1;pointer-events:none}.map-loc-lock{display:none;position:absolute;top:10px;right:12px;width:30px;height:30px;z-index:3;filter:drop-shadow(0 2px 5px rgba(0,0,0,.85));pointer-events:none;line-height:0}.map-lock-svg{width:30px;height:30px;display:block}.map-lock-shackle{stroke:#e0a800;stroke-width:2.6;stroke-linecap:round}.map-lock-body{fill:#f5c000;stroke:#8a6400;stroke-width:1.1}.map-lock-shine{fill:rgba(255,245,200,0.55);stroke:none}.map-lock-hole{fill:#7a5800}.map-loc-card.map-loc-locked .map-loc-lock{display:block}.map-loc-card.map-loc-locked{cursor:not-allowed;pointer-events:auto;background-color:grey;background-blend-mode:luminosity}.map-loc-card.map-loc-locked::after{background:linear-gradient(180deg,rgba(0,0,0,.57) 0,rgba(0,0,0,.76) 100%)}.map-loc-card.map-loc-locked:active{transform:none;box-shadow:0 3px 12px rgba(0,0,0,.45)}.map-loc-req{display:none;position:absolute;bottom:12px;right:14px;font-family:'Lilita One',sans-serif;font-size:13px;color:rgba(255,255,255,.75);text-shadow:0 1px 4px rgba(0,0,0,.8);letter-spacing:.8px;z-index:1;pointer-events:none}.map-loc-card.map-loc-locked .map-loc-req{display:block}#tab-panel-memories{background:#0c0710!important;align-items:flex-start!important;justify-content:flex-start!important}.mem-wrapper{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:80px}.mem-hdr{position:sticky;top:0;z-index:20;padding:14px 20px 10px;padding-top:calc(max(20px,env(safe-area-inset-top,20px)) + 48px);background:linear-gradient(180deg,#0c0710 70%,transparent)}.mem-title{font-family:'Lilita One',cursive;font-size:20px;background:linear-gradient(135deg,#fff 30%,#ff1ead);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mem-hdr-sub{display:flex;align-items:center;gap:8px;margin-top:6px}.mem-counter-bar{flex:1;height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}.mem-counter-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#6a2860,#b44090);transition:width .4s ease;box-shadow:0 0 6px rgba(180,64,144,.3)}.mem-counter-text{font-size:12px;font-weight:700;color:rgba(240,230,246,.75);white-space:nowrap;font-variant-numeric:tabular-nums}.mem-spacer{height:20px}.mem-shelf{position:relative;margin-bottom:0}.mem-shelf-back{margin:0 8px;padding:14px 10px 12px;background:radial-gradient(ellipse 80% 50% at 50% 0,rgba(200,40,140,.05) 0,transparent 70%),linear-gradient(180deg,#150c1e 0,#110a18 100%);border-left:1px solid rgba(255,255,255,.03);border-right:1px solid rgba(255,255,255,.03);border-top:1px solid rgba(255,255,255,.03);position:relative}.mem-shelf-back::before{content:'';position:absolute;inset:0;box-shadow:inset 3px 0 8px rgba(0,0,0,.3),inset -3px 0 8px rgba(0,0,0,.3);pointer-events:none}.mem-items{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative;z-index:1}.mem-plank{margin:0 4px;position:relative}.mem-plank-top{height:8px;background:linear-gradient(180deg,#3a1a38 0,#2a1230 100%);border-radius:3px 3px 0 0;border-top:1px solid rgba(255,255,255,.08);box-shadow:inset 0 2px 6px rgba(200,40,140,.06)}.mem-plank-face{height:14px;background:linear-gradient(180deg,#2a1230 0,#1a0c20 60%,#140a1a 100%);border-left:1px solid rgba(255,255,255,.04);border-right:1px solid rgba(255,255,255,.04);position:relative}.mem-plank-face::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0,transparent 3px,rgba(255,255,255,.015) 3px,rgba(255,255,255,.015) 4px)}.mem-plank-face::after{content:'';position:absolute;bottom:0;left:30px;right:30px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent)}.mem-plank .mem-bracket{position:absolute;bottom:0;width:6px;height:20px;background:linear-gradient(180deg,#3a1a38,#1a0c20);border:1px solid rgba(255,255,255,.04)}.mem-bracket-l{left:12px;border-radius:0 0 2px 2px}.mem-bracket-r{right:12px;border-radius:0 0 2px 2px}.mem-plank-shadow{height:12px;margin:0 8px;background:linear-gradient(180deg,rgba(0,0,0,.4) 0,transparent 100%);border-radius:0 0 2px 2px}.mem-slot{aspect-ratio:3/4;border-radius:4px;position:relative;cursor:pointer;transition:transform .15s ease;box-shadow:0 4px 6px -2px rgba(0,0,0,.5)}.mem-slot:active{transform:scale(.95)}.mem-slot.mem-locked{background:rgba(255,255,255,.015);border:1.5px dashed rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;cursor:default;box-shadow:none}.mem-slot.mem-locked:active{transform:none}.mem-slot-q{font-family:'Lilita One',cursive;font-size:20px;color:rgba(240,230,246,.2)}.mem-slot.mem-img,.mem-slot.mem-vid{overflow:hidden;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#2a1838,#4a2058)}.mem-slot.mem-img .mem-thumb,.mem-slot.mem-vid .mem-thumb{width:100%;height:100%;display:block;object-fit:cover;border-radius:3px}.mem-slot.mem-img::after,.mem-slot.mem-vid::after{content:'';position:absolute;inset:0;box-shadow:inset 0 -16px 16px -8px rgba(0,0,0,.4);pointer-events:none;border-radius:3px}.mem-slot.mem-img .mem-slot-label,.mem-slot.mem-vid .mem-slot-label{position:absolute;bottom:4px;left:5px;right:5px;font-size:10px;font-weight:700;color:rgba(240,230,246,.8);letter-spacing:.3px;text-shadow:0 1px 3px rgba(0,0,0,.9);z-index:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mem-slot.mem-aud{background:linear-gradient(135deg,#1c1026,#140e1c);border:1px solid rgba(255,30,173,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.mem-aud-icon{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#cc18a0,#8a1070);display:flex;align-items:center;justify-content:center;box-shadow:0 0 10px rgba(255,30,173,.2)}.mem-aud-icon svg{width:14px;height:14px;fill:#fff}.mem-aud-wave{display:flex;align-items:center;gap:2px;height:14px}.mem-aud-wave i{width:2.5px;border-radius:1px;background:#ff1ead;opacity:.45;display:block;animation:mem-wave 1.2s ease-in-out infinite}.mem-aud-wave i:first-child{height:4px;animation-delay:0s}.mem-aud-wave i:nth-child(2){height:8px;animation-delay:.1s}.mem-aud-wave i:nth-child(3){height:12px;animation-delay:.2s}.mem-aud-wave i:nth-child(4){height:6px;animation-delay:.3s}.mem-aud-wave i:nth-child(5){height:10px;animation-delay:.15s}.mem-aud-wave i:nth-child(6){height:5px;animation-delay:.25s}.mem-aud-wave i:nth-child(7){height:3px;animation-delay:.35s}@keyframes mem-wave{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.5)}}.mem-aud-label{font-size:10px;font-weight:600;color:rgba(240,230,246,.5);letter-spacing:.3px;max-width:90%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mem-vid-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.55);border:1.5px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;z-index:3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background .2s ease,transform .15s ease}.mem-vid-play svg{width:16px;height:16px;fill:#fff;margin-left:2px}.mem-slot.mem-vid:active .mem-vid-play{background:rgba(204,24,160,.6)}.inv-wrapper{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:80px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.08) transparent;background:radial-gradient(ellipse 100% 40% at 50% 0,rgba(200,120,160,.12) 0,transparent 50%),linear-gradient(180deg,#1a1220 0,#161018 100%)}.inv-wrapper::-webkit-scrollbar{width:4px}.inv-wrapper::-webkit-scrollbar-track{background:0 0}.inv-wrapper::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:2px}.inv-hdr{position:sticky;top:0;z-index:20;padding:14px 20px 12px;padding-top:calc(max(20px,env(safe-area-inset-top,20px)) + 48px);background:linear-gradient(180deg,#1a1220 72%,transparent);display:flex;align-items:center;gap:10px}.inv-hdr-icon{width:22px;height:22px;fill:none;stroke:#d89ab0;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.inv-title{font-family:'Lilita One',cursive;font-size:20px;background:linear-gradient(135deg,#fff 20%,#d89ab0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.inv-legend{display:flex;align-items:center;gap:8px;margin:0 20px 8px;padding:8px 12px;background:rgba(216,154,176,.08);border:1px solid rgba(216,154,176,.15);border-radius:10px;font-size:12px;color:rgba(255,255,255,.55);line-height:1.4}.inv-legend-gift-icon{width:18px;height:18px;fill:#d89ab0;flex-shrink:0}.inv-legend strong{color:#d89ab0;font-weight:600}.inv-spacer{height:20px}.inv-drawer{margin:0 10px 22px;position:relative}.inv-rails{position:absolute;top:4px;bottom:12px;width:100%;pointer-events:none;z-index:5}.inv-rail{position:absolute;top:0;bottom:0;width:5px;background:linear-gradient(180deg,rgba(210,170,190,.14) 0,rgba(210,170,190,.08) 50%,rgba(210,170,190,.1) 100%);border-radius:2px}.inv-rail::after{content:'';position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.08)}.inv-rail-l{left:0}.inv-rail-l::after{right:0}.inv-rail-r{right:0}.inv-rail-r::after{left:0}.inv-drawer-body{margin:0 6px;background:linear-gradient(155deg,rgba(230,180,200,.07) 0,transparent 25%,rgba(230,180,200,.04) 50%,transparent 75%),linear-gradient(180deg,#22192e 0,#1e1628 100%);border:1.5px solid rgba(210,150,180,.14);border-radius:6px;overflow:hidden;box-shadow:inset 0 2px 8px rgba(0,0,0,.25),0 6px 16px rgba(0,0,0,.3);position:relative}.inv-compartments{display:grid;grid-template-columns:repeat(3,1fr)}.inv-comp{aspect-ratio:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:default;border-right:1.5px solid rgba(210,150,180,.15);border-bottom:1.5px solid rgba(210,150,180,.12);box-shadow:inset 0 1px 4px rgba(0,0,0,.12);background:radial-gradient(ellipse 70% 55% at 50% 42%,rgba(200,130,170,.08) 0,transparent 70%)}.inv-comp:nth-child(3n){border-right:none}.inv-comp.inv-last-row{border-bottom:none}.inv-comp::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 45% 35%,rgba(230,185,200,.06) 0,transparent 60%);pointer-events:none}.inv-icon-glow{position:absolute;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(230,170,200,.3) 0,rgba(210,140,180,.15) 40%,rgba(200,130,170,.05) 65%,transparent 80%);pointer-events:none;z-index:0;top:50%;left:50%;transform:translate(-50%,-58%)}.inv-comp::after{content:'';position:absolute;bottom:-1px;left:20%;right:20%;height:0;border-bottom:1px dashed rgba(210,150,180,.12);pointer-events:none}.inv-comp.inv-last-row::after{display:none}.inv-comp.inv-empty-cell{box-shadow:none}.inv-comp.inv-empty-cell::after,.inv-comp.inv-empty-cell::before{display:none}.inv-icon{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45));position:relative;z-index:1}.inv-label{font-size:10px;font-weight:600;color:rgba(240,230,246,.75);letter-spacing:.2px;text-align:center;position:relative;z-index:1;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.inv-qty-wrap{position:relative;display:flex;align-items:center;justify-content:center}.inv-qty-wrap.inv-has-stack::before{content:'';position:absolute;width:42px;height:42px;border-radius:5px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);transform:rotate(-7deg) translate(-3px,2px);z-index:0}.inv-qty-wrap.inv-has-stack::after{content:'';position:absolute;width:42px;height:42px;border-radius:5px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.04);transform:rotate(5deg) translate(3px,3px);z-index:0}.inv-qty{position:absolute;top:5px;right:5px;min-width:20px;height:20px;border-radius:10px;background:linear-gradient(135deg,#d4627a,#b04058);border:1.5px solid rgba(255,180,200,.2);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);padding:0 5px;z-index:3;box-shadow:0 2px 5px rgba(0,0,0,.4)}.inv-drawer-lip{height:14px;margin:0 4px;background:linear-gradient(180deg,#2a1f34 0,#221a2c 40%,#1e1628 100%);border-radius:0 0 5px 5px;border:1px solid rgba(210,150,180,.1);border-top:none;box-shadow:0 4px 10px rgba(0,0,0,.3);position:relative;display:flex;justify-content:center;align-items:center}.inv-handle{width:32px;height:4px;border-radius:2px;background:linear-gradient(180deg,rgba(230,185,200,.22),rgba(230,185,200,.1));border:.5px solid rgba(230,185,200,.16);box-shadow:0 1px 3px rgba(0,0,0,.3)}.inv-drawer-shadow{height:8px;margin:0 10px;background:linear-gradient(180deg,rgba(0,0,0,.3) 0,transparent 100%);border-radius:0 0 3px 3px}.inv-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px 0;text-align:center;gap:14px}.inv-empty-state-icon{width:56px;height:56px;fill:none;stroke:rgba(220,160,180,0.18);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.inv-empty-state-msg{font-size:14px;color:rgba(240,230,246,.3);line-height:1.6}.mem-overlay{position:absolute;inset:0;z-index:9999;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;flex-direction:column;opacity:0;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent}.mem-overlay.mem-overlay-visible{opacity:1}.mem-overlay-close{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .2s}.mem-overlay-close svg{width:20px;height:20px;fill:#fff}.mem-overlay-close:active{background:rgba(255,255,255,.2)}.mem-overlay-img{width:100%;height:100%;object-fit:contain;-webkit-user-drag:none;user-select:none;pointer-events:none;-webkit-touch-callout:none}.mem-overlay.mem-overlay-audio{align-items:center;justify-content:center}.mem-player{width:300px;max-width:85vw;background:linear-gradient(160deg,#1c1026 0,#140e1c 100%);border:1px solid rgba(255,30,173,.15);border-radius:16px;padding:28px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:16px;position:relative;box-shadow:0 12px 60px rgba(0,0,0,.5),0 0 40px rgba(255,30,173,.06)}.mem-player-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;cursor:pointer}.mem-player-close svg{width:14px;height:14px;fill:rgba(240,230,246,0.4)}.mem-player-close:active{background:rgba(255,255,255,.12)}.mem-player-icon{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#cc18a0,#8a1070);display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px rgba(255,30,173,.25)}.mem-player-icon svg{width:22px;height:22px;fill:#fff}.mem-player-title{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:rgba(240,230,246,.85);letter-spacing:.2px;text-align:center}.mem-player-wave{display:flex;align-items:center;gap:2px;height:28px;width:100%;justify-content:center}.mem-player-wave i{width:3px;border-radius:1.5px;background:rgba(255,30,173,.15);display:block;transition:background .15s ease}.mem-player-wave i:first-child{height:6px}.mem-player-wave i:nth-child(2){height:12px}.mem-player-wave i:nth-child(3){height:8px}.mem-player-wave i:nth-child(4){height:18px}.mem-player-wave i:nth-child(5){height:10px}.mem-player-wave i:nth-child(6){height:22px}.mem-player-wave i:nth-child(7){height:14px}.mem-player-wave i:nth-child(8){height:8px}.mem-player-wave i:nth-child(9){height:20px}.mem-player-wave i:nth-child(10){height:12px}.mem-player-wave i:nth-child(11){height:6px}.mem-player-wave i:nth-child(12){height:16px}.mem-player-wave i:nth-child(13){height:24px}.mem-player-wave i:nth-child(14){height:10px}.mem-player-wave i:nth-child(15){height:18px}.mem-player-wave i:nth-child(16){height:8px}.mem-player-wave i:nth-child(17){height:14px}.mem-player-wave i:nth-child(18){height:22px}.mem-player-wave i:nth-child(19){height:6px}.mem-player-wave i:nth-child(20){height:16px}.mem-player-wave i:nth-child(21){height:10px}.mem-player-wave i:nth-child(22){height:20px}.mem-player-wave i:nth-child(23){height:8px}.mem-player-wave i:nth-child(24){height:14px}.mem-player-wave i:nth-child(25){height:24px}.mem-player-wave i:nth-child(26){height:12px}.mem-player-wave i:nth-child(27){height:6px}.mem-player-wave i:nth-child(28){height:18px}.mem-player-wave i:nth-child(29){height:10px}.mem-player-wave i:nth-child(30){height:16px}.mem-player-wave i.mem-wave-passed{background:rgba(255,30,173,.55)}.mem-player-wave.mem-wave-playing i.mem-wave-passed{background:#ff1ead}.mem-player-row{display:flex;align-items:center;justify-content:center;gap:20px;width:100%}.mem-player-time{font-family:Inter,sans-serif;font-size:11px;font-weight:500;color:rgba(240,230,246,.35);min-width:32px;text-align:center;font-variant-numeric:tabular-nums}.mem-player-btn{width:48px;height:48px;border-radius:50%;border:none;background:linear-gradient(135deg,#cc18a0,#ff1ead);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 16px rgba(255,30,173,.3);-webkit-tap-highlight-color:transparent;transition:transform .1s ease}.mem-player-btn:active{transform:scale(.92)}.mem-player-btn svg{width:22px;height:22px;fill:#fff}.mem-player-btn .mem-play-svg{margin-left:2px}.tension-bar{position:absolute;left:8px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:100;pointer-events:none;opacity:0}.tension-bar.visible{opacity:1;pointer-events:auto;cursor:pointer}.tension-icon{font-size:14px;line-height:1;filter:drop-shadow(0 0 8px rgba(255, 182, 193, .9)) drop-shadow(0 0 16px rgba(255, 182, 193, .5))}.tension-icon svg{width:18px;height:18px;fill:rgba(255,150,180,0.95)}.tension-track{width:14px;height:200px;background:#000;border-radius:7px;overflow:hidden;position:relative;border:2.5px solid rgba(255,182,193,.75);box-shadow:0 0 8px rgba(255,182,193,.3),0 0 4px rgba(0,0,0,.6)}.tension-fill{position:absolute;bottom:0;left:0;width:100%;height:0%;background:linear-gradient(0deg,#ff6b9d,#ffb6c1);border-radius:0 0 5px 5px;transition:height .6s ease-out,background .3s ease}.tension-fill.animating{background:linear-gradient(0deg,#fff,#ffd6e7)}.tension-bar.hot .tension-track{border-color:#ff96b4;box-shadow:0 0 12px rgba(255,182,193,.5),0 0 24px rgba(255,150,180,.3)}.tension-bar.hot .tension-icon{filter:drop-shadow(0 0 10px rgba(255, 182, 193, 1)) drop-shadow(0 0 20px rgba(255, 150, 180, .6))}.tension-modal-body{text-align:center}.tension-modal-heart{margin:0 auto 18px;width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(255,0,80,.28) 0,rgba(122,58,171,.35) 55%,transparent 72%);border:2px solid rgba(192,132,252,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}.tension-modal-heart svg{width:48px;height:48px;fill:#ff0050;filter:drop-shadow(0 0 12px rgba(255, 0, 80, .6))}.tension-modal-desc{font-size:14px;color:rgba(255,255,255,.75);line-height:1.6;margin-bottom:0;text-align:center}.tension-modal-desc .tm-up{color:#ffb6c1;font-weight:600}.tension-modal-desc .tm-down{color:#d9a8f5;font-weight:600}.tension-modal-desc .tm-pass{color:#ffd76a;font-weight:600}@media (max-width:500px){.tension-bar{left:4px}}.spin-wheel-overlay{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center}.spin-wheel-overlay.active{display:flex}.spin-wheel-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(40,0,60,.92) 0,rgba(0,0,0,.96) 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.spin-wheel-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 16px 28px;max-width:360px;width:94%}.spin-wheel-ribbon{position:relative;width:300px;height:52px;flex-shrink:0}.spin-wheel-ribbon .ribbon-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.spin-wheel-ribbon .ribbon-text{position:absolute;top:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;height:100%;white-space:nowrap;font-family:'Lilita One',sans-serif;font-size:24px;color:#fff;text-shadow:-1px -1px 0 rgba(0,0,0,.6),1px -1px 0 rgba(0,0,0,.6),-1px 1px 0 rgba(0,0,0,.6),1px 1px 0 rgba(0,0,0,.6),0 3px 8px rgba(0,0,0,.5);letter-spacing:3px;padding-bottom:2px}.spin-wheel-stage{position:relative;width:300px;height:300px}.spin-wheel-outer-ring{position:absolute;inset:-16px;border-radius:50%;background:conic-gradient(from 0deg,#f5c000 0deg 15deg,#5a1a6e 15deg 30deg,#f5c000 30deg 45deg,#5a1a6e 45deg 60deg,#f5c000 60deg 75deg,#5a1a6e 75deg 90deg,#f5c000 90deg 105deg,#5a1a6e 105deg 120deg,#f5c000 120deg 135deg,#5a1a6e 135deg 150deg,#f5c000 150deg 165deg,#5a1a6e 165deg 180deg,#f5c000 180deg 195deg,#5a1a6e 195deg 210deg,#f5c000 210deg 225deg,#5a1a6e 225deg 240deg,#f5c000 240deg 255deg,#5a1a6e 255deg 270deg,#f5c000 270deg 285deg,#5a1a6e 285deg 300deg,#f5c000 300deg 315deg,#5a1a6e 315deg 330deg,#f5c000 330deg 345deg,#5a1a6e 345deg 360deg);box-shadow:0 0 0 4px #3d0f4d,0 0 20px rgba(180,77,212,.4),0 0 60px rgba(180,77,212,.15),inset 0 0 0 4px #3d0f4d;z-index:0}@keyframes pegGlow{0%,100%{opacity:.5}50%{opacity:1}}.spin-wheel-pegs{position:absolute;inset:-16px;z-index:1;pointer-events:none}.spin-wheel-peg{position:absolute;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0,#f5c000 60%,#c99700 100%);box-shadow:0 0 6px 2px rgba(245,192,0,.7);top:50%;left:50%;animation:pegGlow 1.2s ease-in-out infinite}.spin-wheel-peg:nth-child(2n){animation-delay:.6s;background:radial-gradient(circle at 35% 35%,#fff 0,#ff6bff 60%,#b44dd4 100%);box-shadow:0 0 6px 2px rgba(180,77,212,.7)}#spin-wheel-canvas{position:relative;z-index:2;width:100%;height:100%;border-radius:50%;box-shadow:inset 0 0 20px rgba(0,0,0,.3)}.spin-wheel-pointer{position:absolute;top:-24px;left:50%;transform:translateX(-50%);z-index:10;width:40px;height:50px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.6))}.spin-wheel-pointer svg{width:100%;height:100%}.spin-wheel-result{font-family:'Lilita One',sans-serif;font-size:26px;color:#f5c000;text-shadow:0 0 12px rgba(245,192,0,.7),0 0 30px rgba(245,192,0,.3),0 2px 0 rgba(0,0,0,.5);min-height:34px;text-align:center;opacity:0;transform:scale(.5) translateY(10px);transition:opacity .4s,transform .4s cubic-bezier(.34,1.56,.64,1)}.spin-wheel-result.show{opacity:1;transform:scale(1) translateY(0)}.spin-wheel-close-hint{font-size:14px;color:rgba(255,255,255,.45);text-align:center;margin-top:10px;opacity:0;transition:opacity .5s ease;pointer-events:none}.spin-wheel-close-hint.show{opacity:1}.spin-wheel-btn-area{flex-shrink:0}.spin-wheel-btn-area .btn-wrap{padding-bottom:0}.spin-wheel-btn-area .login-form__button{width:200px;font-size:26px;padding:10px 12px}.spin-wheel-btn-area .login-form__button:disabled{background-color:#888;border-color:#666;border-bottom-color:#444;box-shadow:0 5px 0 0 #444,0 7px 0 0 #333;cursor:not-allowed;opacity:.6}.spin-wheel-timer{text-align:center;color:rgba(255,255,255,.6);font-size:13px;margin-top:8px;min-height:18px;letter-spacing:.3px}@keyframes spinWheelWin{0%,100%{filter:none}50%{filter:drop-shadow(0 0 20px rgba(245,192,0,.8))}}#spin-wheel-canvas.winner{animation:spinWheelWin .4s ease-in-out 4}.spin-wheel-sparkles{position:absolute;inset:-30px;z-index:0;pointer-events:none;overflow:hidden;border-radius:50%}@keyframes sparkleFloat{0%{transform:translateY(0) scale(1);opacity:1}100%{transform:translateY(-60px) scale(0);opacity:0}}#spin-wheel-overlay{--reveal-accent:#f5c000;--reveal-glow:rgba(245, 192, 0, 0.65)}.spin-wheel-stage.revealing #spin-wheel-canvas,.spin-wheel-stage.revealing .spin-wheel-outer-ring,.spin-wheel-stage.revealing .spin-wheel-pegs{transform:scale(0) rotate(70deg);opacity:0;transition:transform .5s cubic-bezier(.55, 0, .55, .2),opacity .4s ease .1s}.spin-wheel-stage.revealing .spin-wheel-pointer{transform:translateX(-50%) scale(0);opacity:0;transition:transform .35s cubic-bezier(.55, 0, .55, .2),opacity .3s ease}.spin-wheel-overlay.active #spin-wheel-canvas,.spin-wheel-overlay.active .spin-wheel-outer-ring,.spin-wheel-overlay.active .spin-wheel-pegs{animation:spinWheelGrowIn .55s cubic-bezier(.34,1.4,.64,1)}.spin-wheel-overlay.active .spin-wheel-pointer{animation:spinPointerGrowIn .4s cubic-bezier(.34,1.56,.64,1) .3s backwards}@keyframes spinWheelGrowIn{from{transform:scale(0) rotate(-70deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes spinPointerGrowIn{from{transform:translateX(-50%) scale(0);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}.spin-reveal{position:absolute;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;visibility:hidden}.spin-reveal.show{opacity:1;visibility:visible}.spin-reveal-burst-wrap{position:absolute;top:50%;left:50%;width:430px;height:430px;margin:-215px 0 0 -215px;transform:scale(0);pointer-events:none}.spin-reveal.show .spin-reveal-burst-wrap{animation:spinBurstIn .7s cubic-bezier(.34,1.56,.64,1) .25s forwards}.spin-reveal-burst{width:100%;height:100%;display:block;opacity:.9;animation:spinBurstTurn 16s linear infinite;filter:drop-shadow(0 0 26px var(--reveal-glow))}@keyframes spinBurstIn{from{transform:scale(0)}to{transform:scale(1)}}@keyframes spinBurstTurn{from{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-reveal-prize{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;transform:scale(0)}.spin-reveal.show .spin-reveal-prize{animation:spinPrizePop .6s cubic-bezier(.34,1.56,.64,1) .4s forwards,spinPrizeFloat 3s ease-in-out 1s infinite}@keyframes spinPrizePop{0%{transform:scale(0) rotate(-25deg)}60%{transform:scale(1.18) rotate(6deg)}100%{transform:scale(1) rotate(0)}}@keyframes spinPrizeFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-9px) scale(1.03)}}.spin-reveal-prize img{width:186px;height:186px;object-fit:contain;filter:drop-shadow(0 0 18px var(--reveal-glow)) drop-shadow(0 10px 14px rgba(0, 0, 0, .55))}.spin-reveal-prize svg{width:176px;height:176px;display:block;filter:drop-shadow(0 0 20px var(--reveal-glow)) drop-shadow(0 10px 14px rgba(0, 0, 0, .55))}.spin-reveal-mem-card{width:132px;aspect-ratio:3/4;border-radius:8px;background:linear-gradient(160deg,rgba(61,26,14,.9),rgba(26,6,37,.9));border:2.5px dashed rgba(240,230,246,.35);display:flex;align-items:center;justify-content:center;box-shadow:0 0 26px var(--reveal-glow),0 12px 18px -6px rgba(0,0,0,.7)}.spin-reveal-mem-card span{font-family:'Lilita One',cursive;font-size:68px;line-height:1;color:rgba(240,230,246,.55);text-shadow:0 0 18px var(--reveal-glow)}.spin-wheel-result.prize{font-size:30px;color:var(--reveal-accent);letter-spacing:1px;text-shadow:0 0 14px var(--reveal-glow),0 0 34px var(--reveal-glow),0 2px 0 rgba(0,0,0,.6)}.spin-wheel-result.prize .prize-amount{font-size:38px;margin-right:6px}.spin-wheel-result.prize .prize-sub{display:block;font-family:inherit;font-size:14px;letter-spacing:2px;color:rgba(255,255,255,.55);text-shadow:none;margin-top:2px}@media (prefers-reduced-motion:reduce){.spin-reveal.show .spin-reveal-burst-wrap,.spin-reveal.show .spin-reveal-prize{animation:none;transform:scale(1)}.spin-reveal-burst{animation:none}.spin-wheel-overlay.active #spin-wheel-canvas,.spin-wheel-overlay.active .spin-wheel-outer-ring,.spin-wheel-overlay.active .spin-wheel-pegs,.spin-wheel-overlay.active .spin-wheel-pointer{animation:none}.spin-wheel-stage.revealing #spin-wheel-canvas,.spin-wheel-stage.revealing .spin-wheel-outer-ring,.spin-wheel-stage.revealing .spin-wheel-pegs,.spin-wheel-stage.revealing .spin-wheel-pointer{transition:opacity .2s ease}}.touchpass{display:flex;flex-direction:column;align-items:center;gap:5px;margin-top:2px}.touchpass>*{display:none}.touchpass>.tp-visible{display:flex}.touchpass-btn{align-items:center;justify-content:center;width:62px;padding:6px 4px;font-family:'Lilita One',sans-serif;font-size:9px;line-height:1.1;letter-spacing:.06em;text-align:center;text-transform:uppercase;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.45);background:linear-gradient(180deg,#ff6b8a 0,#e0294f 100%);border:2px solid #a3123a;border-bottom-width:2px;border-radius:9px;box-shadow:0 3px 0 0 #8a0f31,0 5px 10px rgba(0,0,0,.45);cursor:pointer;outline:0;-webkit-appearance:none;transform:translateY(0);transition:transform 80ms,box-shadow 80ms,filter .15s}.touchpass-btn:active{transform:translateY(3px);box-shadow:0 0 0 0 #8a0f31,0 2px 6px rgba(0,0,0,.4)}.touchpass-btn:not(.tp-btn-active){background:linear-gradient(180deg,#ff6b8a 0,#e0294f 100%);border-color:#a3123a;box-shadow:0 3px 0 0 #8a0f31,0 5px 10px rgba(0,0,0,.45);animation:touchpass-btn-glow 2.8s ease-in-out infinite}@keyframes touchpass-btn-glow{0%,100%{filter:brightness(1) drop-shadow(0 0 3px rgba(255, 80, 120, .5))}50%{filter:brightness(1.12) drop-shadow(0 0 9px rgba(255, 80, 120, .9))}}.touchpass-btn.tp-btn-active{background:linear-gradient(180deg,#a855f7 0,#7e22ce 100%);border-color:#6b21a8;box-shadow:0 3px 0 0 #581c87,0 5px 10px rgba(0,0,0,.45);animation:none}.touchpass-btn.tp-btn-active:active{box-shadow:0 0 0 0 #581c87,0 2px 6px rgba(0,0,0,.4)}.tp-pass-timer{flex-direction:column;align-items:center;gap:1px;width:62px;padding:5px 3px 6px;border-radius:9px;background:linear-gradient(180deg,rgba(60,30,0,.85) 0,rgba(30,12,0,.9) 100%);border:2px solid rgba(255,200,90,.85);box-shadow:0 0 10px rgba(255,190,70,.45),inset 0 1px 0 rgba(255,255,255,.12);animation:touchpass-timer-pulse 1.6s ease-in-out infinite}.tp-pass-timer-label{font-family:'Lilita One',sans-serif;font-size:7px;letter-spacing:.08em;color:rgba(255,214,130,.95);text-transform:uppercase;line-height:1}.tp-pass-timer-value{font-family:'Lilita One',sans-serif;font-size:15px;line-height:1.05;color:#ffe9b0;text-shadow:0 0 8px rgba(255,190,70,.8);font-variant-numeric:tabular-nums}@keyframes touchpass-timer-pulse{0%,100%{box-shadow:0 0 8px rgba(255,190,70,.35),inset 0 1px 0 rgba(255,255,255,.12)}50%{box-shadow:0 0 16px rgba(255,190,70,.8),inset 0 1px 0 rgba(255,255,255,.12)}}.tp-pass-timer.tp-ending{border-color:rgba(255,120,120,.9);animation:touchpass-timer-ending .5s ease-in-out infinite}.tp-pass-timer.tp-ending .tp-pass-timer-value{color:#ffd0d0;text-shadow:0 0 10px rgba(255,90,90,.9)}@keyframes touchpass-timer-ending{0%,100%{box-shadow:0 0 8px rgba(255,80,80,.4)}50%{box-shadow:0 0 18px rgba(255,80,80,.95)}}.tp-pass-meter{flex-direction:column;align-items:center;gap:1px;width:62px;padding:4px 3px 5px;border-radius:9px;background:linear-gradient(180deg,rgba(60,30,0,.85) 0,rgba(30,12,0,.9) 100%);border:2px solid rgba(255,200,90,.7);box-shadow:0 0 8px rgba(255,190,70,.35)}.tp-pass-meter-time{font-family:'Lilita One',sans-serif;font-size:13px;line-height:1.1;color:#ffe9b0;text-shadow:0 0 6px rgba(255,190,70,.7);font-variant-numeric:tabular-nums}.tp-pass-meter-gems{display:flex;align-items:center;gap:2px;font-family:'Lilita One',sans-serif;font-size:9px;color:rgba(255,214,130,.9);font-variant-numeric:tabular-nums}.tp-pass-meter-gems img{width:9px;height:9px;object-fit:contain}.tension-bar.pass-active .tension-fill{background:linear-gradient(0deg,#f7a93b 0,#ffd76a 50%,#fff3c4 100%);background-size:100% 200%;animation:touchpass-fill-flow 1.4s linear infinite}.tension-bar.pass-active .tension-fill.animating{background:linear-gradient(0deg,#fff3c4,#fff)}@keyframes touchpass-fill-flow{0%{background-position:0 0}100%{background-position:0 200%}}.tension-bar.pass-active .tension-track{border-color:rgba(255,214,130,.95);animation:touchpass-track-glow 1.6s ease-in-out infinite}@keyframes touchpass-track-glow{0%,100%{box-shadow:0 0 8px rgba(255,190,70,.45),0 0 4px rgba(0,0,0,.6)}50%{box-shadow:0 0 18px rgba(255,190,70,.9),0 0 30px rgba(255,170,40,.4)}}.tension-bar.pass-active .tension-icon svg{fill:rgba(255,214,130,0.98)}.tension-bar.pass-active .tension-icon{filter:drop-shadow(0 0 10px rgba(255, 200, 90, 1)) drop-shadow(0 0 20px rgba(255, 170, 40, .6))}.tension-bar.pass-active .tension-threshold{opacity:.25}.tp-circle.tp-free .tp-cost-badge{background:linear-gradient(180deg,#ffd76a 0,#f7a93b 100%);color:#4a2600;border-color:#c47a1a;text-shadow:none;font-weight:800;letter-spacing:.04em}.tp-circle.tp-free .tp-dot-fill{background:linear-gradient(0deg,#f7a93b 0,#ffd76a 100%)}.touchpoint-overlay.tp-pass-active .tp-circle .tp-ripple{border-color:rgba(255,214,130,.8)}.touchpass-modal-body{text-align:center}.touchpass-modal-icon{margin:0 auto 16px;width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(255,190,70,.3) 0,rgba(122,58,171,.35) 55%,transparent 72%);border:2px solid rgba(255,200,90,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}.touchpass-modal-icon svg{width:40px;height:40px;color:#ffd76a;filter:drop-shadow(0 0 10px rgba(255, 190, 70, .6))}.touchpass-modal-desc{font-size:14px;color:rgba(255,255,255,.75);line-height:1.6;margin-bottom:16px}.touchpass-modal-desc .tp-free-word{color:#ffd76a;font-weight:600}.touchpass-price{background:rgba(0,0,0,.3);border:2px solid #6b3a94;border-radius:10px;padding:4px 12px;margin-bottom:14px}.touchpass-price-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0}.touchpass-price-row+.touchpass-price-row{border-top:1px solid rgba(255,255,255,.1)}.tpp-label{font-size:12px;color:rgba(255,255,255,.72);text-align:left}.tpp-amount{display:flex;align-items:center;gap:4px;font-family:'Lilita One',sans-serif;font-size:16px;color:#ffe9b0;white-space:nowrap}.tpp-amount img{width:15px;height:15px;object-fit:contain}.touchpass-modal-note{font-size:11.5px;color:rgba(255,255,255,.5);line-height:1.5;margin-bottom:16px}.touchpass-modal-note strong{color:#ffb0c0}.modal-content .touchpass-activate-btn{display:flex;align-items:center;justify-content:center;gap:7px;font-size:19px;background-color:#f7a93b;border-color:#d18a20;border-bottom-color:#a35f10;box-shadow:0 4px 0 0 #a35f10,0 6px 0 0 #7d4708}.modal-content .touchpass-activate-btn:hover{background-color:#ffc45c;border-color:#f7a93b;border-bottom-color:#a35f10}.modal-content .touchpass-activate-btn:active{background-color:#d18a20;box-shadow:0 0 0 0 #a35f10,0 2px 0 0 #7d4708}.touchpass-activate-btn img{width:20px;height:20px;object-fit:contain}.touchpass-toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.85);color:#ffe9b0;padding:10px 22px;border-radius:20px;font-family:'Lilita One',sans-serif;font-size:14px;letter-spacing:.06em;z-index:9999;pointer-events:none;opacity:0;transition:opacity .25s ease;white-space:nowrap}.touchpass-toast.visible{opacity:1}@media (max-width:500px){.touchpass-btn,.tp-pass-meter,.tp-pass-timer{width:56px}}@media (prefers-reduced-motion:reduce){.tension-bar.pass-active .tension-fill,.tension-bar.pass-active .tension-track,.touchpass-btn,.tp-pass-timer,.tp-pass-timer.tp-ending{animation:none}}body.in-dressing-room .tension-bar,body.in-dressing-room .touchpass{display:none!important}.dressing-rack{position:absolute;left:0;right:0;bottom:42%;z-index:100;display:flex;align-items:center;opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .28s ease,transform .28s ease}.dressing-rack-visible{opacity:1;pointer-events:all;transform:translateY(0)}.dressing-rack-rail{position:absolute;left:12px;right:12px;top:11px;height:6px;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.55) 0,rgba(190,190,200,.35) 55%,rgba(0,0,0,.25) 100%);box-shadow:0 1px 4px rgba(0,0,0,.45);pointer-events:none}.dressing-rack-track{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:6px 14px 10px;flex:1;min-width:0}.dressing-rack-track::-webkit-scrollbar{display:none}.dressing-item{position:relative;flex:0 0 auto;width:84px;padding:14px 6px 8px;border:none;border-radius:12px;background:rgba(12,10,14,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px rgba(0,0,0,.4);scroll-snap-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.dressing-item:active{transform:translateY(2px) scale(.97)}.dressing-item-hanger{position:absolute;top:-11px;left:50%;width:12px;height:14px;margin-left:-6px;border:2px solid rgba(255,255,255,.55);border-bottom:none;border-radius:50% 50% 0 0;pointer-events:none}.dressing-item-img{width:100%;height:58px;object-fit:contain;pointer-events:none}.dressing-item-name{font-family:'Lilita One',sans-serif;font-size:10px;letter-spacing:.04em;color:rgba(255,255,255,.82);text-align:center;line-height:1.1;pointer-events:none}.dressing-item-price{display:inline-flex;align-items:center;gap:3px;font-family:'Lilita One',sans-serif;font-size:12px;color:#ffe9b0;pointer-events:none}.dressing-item-price img{width:11px;height:11px}.dressing-item-worn{background:rgba(60,20,45,.72);box-shadow:0 0 0 2px rgba(255,90,150,.75),0 4px 16px rgba(255,60,130,.35)}.dressing-item-picked{transform:scale(.94);box-shadow:0 0 0 2px rgba(255,255,255,.85)}.dressing-arrow{flex:0 0 auto;width:30px;height:30px;margin:0 2px;padding:0;border:none;border-radius:50%;background:rgba(0,0,0,.55);color:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease}.dressing-arrow svg{width:18px;height:18px}.dressing-arrow-visible{opacity:1;pointer-events:all}.dressing-arrow:active{background:rgba(0,0,0,.75)}.dressing-leave-btn{display:none;position:absolute;right:16px;top:calc(max(20px,env(safe-area-inset-top,20px)) + 42px);z-index:101;border:1px solid rgba(255,255,255,.25);border-radius:20px;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:rgba(255,255,255,.8);font-family:'Lilita One',sans-serif;font-size:11px;letter-spacing:.1em;padding:6px 14px;cursor:pointer;white-space:nowrap}body.in-dressing-room .dressing-leave-btn{display:block}body.memory-playback .dressing-leave-btn{display:none!important}body.memory-playback .dressing-rack{opacity:0!important;pointer-events:none!important}.dressing-leave-btn:active{background:rgba(0,0,0,.75);color:#fff}@media (max-width:500px){.dressing-rack{bottom:45%}.dressing-item{width:74px}.dressing-item-img{height:50px}}.dressing-toast{display:flex;align-items:center;gap:12px;pointer-events:all}.dressing-toast-action{border:none;background:rgba(255,233,176,.16);color:#ffe9b0;font-family:'Lilita One',sans-serif;font-size:12px;letter-spacing:.06em;padding:5px 12px;border-radius:14px;cursor:pointer}.dressing-toast-action:active{background:rgba(255,233,176,.3)}.shop-gift-highlight{box-shadow:0 0 0 2px rgba(255,233,176,.9),0 0 22px rgba(255,210,120,.5);transition:box-shadow .25s ease}.shop-gift-card.shop-gift-owned-state{opacity:.45;filter:grayscale(.6);pointer-events:none}.shop-gift-inside-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);font-family:'Lilita One',sans-serif;font-size:12px;letter-spacing:.06em;color:#fff;background:rgba(200,40,90,.9);padding:4px 10px;border-radius:6px;white-space:nowrap;pointer-events:none}.dressing-leave-content{max-width:330px;text-align:center}.dressing-leave-body{padding:26px 22px 20px}.dressing-leave-icon img{width:54px;height:54px;object-fit:contain}.dressing-leave-title{font-family:'Lilita One',sans-serif;font-size:19px;color:#fff;margin:12px 0 8px}.dressing-leave-desc{font-size:13px;line-height:1.5;color:rgba(255,255,255,.7);margin:0 0 18px}.dressing-leave-actions{display:flex;gap:10px}.dressing-leave-go,.dressing-leave-stay{flex:1;border:none;border-radius:22px;padding:12px 0;font-family:'Lilita One',sans-serif;font-size:14px;letter-spacing:.06em;cursor:pointer}.dressing-leave-stay{background:linear-gradient(180deg,#ff5f9e 0,#d81f63 100%);color:#fff;box-shadow:0 4px 14px rgba(216,31,99,.4)}.dressing-leave-go{background:rgba(255,255,255,.1);color:rgba(255,255,255,.75)}.dressing-leave-go:active{background:rgba(255,255,255,.18)}.drink-offer-overlay .coin-reward-visual{opacity:0;transform:scale(0)}.drink-offer-overlay.active .coin-reward-visual{animation:visualReveal .5s cubic-bezier(.34,1.4,.64,1) .15s both}.drink-offer-icon{position:relative;z-index:3;display:block;max-height:190px;max-width:150px;width:auto;margin:0 auto;filter:drop-shadow(0 6px 14px rgba(0, 0, 0, .55))}.drink-offer-copy{position:relative;z-index:3;margin-top:10px;padding:0 24px;text-align:center}.drink-offer-line{font-family:'Lilita One',sans-serif;font-size:19px;line-height:1.35;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.6)}.drink-offer-hint{min-height:18px;margin-top:8px;font-size:13px;line-height:1.4;color:rgba(255,255,255,.75)}.drink-offer-hint.warn{color:#ffcf4d}#drink-offer-buy-btn{display:flex;align-items:center;justify-content:center;gap:8px}.drink-offer-btn-coin{width:20px;height:20px;flex:0 0 auto}@media (max-width:400px){.drink-offer-line{font-size:17px}.drink-offer-copy{padding:0 16px}.drink-offer-icon{max-height:160px}}body.in-video-call .tension-bar,body.in-video-call .touchpass{display:none!important}.videocall-stage{position:absolute;inset:0;z-index:60;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .35s ease}.videocall-stage-visible{opacity:1}.videocall-canvas{position:absolute;left:0;top:0;transform-origin:0 0}.videocall-screen{position:absolute;top:0;left:0;transform-origin:0 0;overflow:hidden;background:#000;will-change:transform;backface-visibility:hidden;-webkit-mask-image:-webkit-radial-gradient(#fff,#000);mask-image:linear-gradient(#000,#000)}#videocall-cam{position:absolute;top:50%;left:50%;width:100%;height:100%;object-fit:cover;transform-origin:50% 50%;display:block}.videocall-glare{position:absolute;inset:0;pointer-events:none;opacity:.25;mix-blend-mode:screen;background:linear-gradient(115deg,rgba(255,255,255,.2) 0,rgba(255,255,255,0) 38%,rgba(255,255,255,0) 62%,rgba(255,255,255,.08) 100%)}.videocall-launch{display:none;position:absolute;right:16px;top:calc(max(20px,env(safe-area-inset-top,20px)) + 42px);z-index:101;width:54px;padding:0;border:none;background:0 0;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center}body.videocall-offered .videocall-launch{display:flex}body.memory-playback .videocall-launch,body.memory-playback .videocall-leave-btn{display:none!important}body.memory-playback .videocall-stage{opacity:0!important}.videocall-launch-icon{position:relative;margin-top:9px;width:26px;height:26px;color:#fff;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, .6))}.videocall-launch-ring{position:absolute;top:0;left:50%;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#ff5a5a 0,#e01b3c 70%,#b3122c 100%);border:1.5px solid rgba(255,255,255,.9);box-shadow:0 0 0 0 rgba(255,60,90,.55),0 3px 10px rgba(0,0,0,.45);animation:videocall-ring 2s ease-out infinite}.videocall-launch-label{position:relative;margin-top:13px;font-family:'Lilita One',sans-serif;font-size:9px;letter-spacing:.08em;color:rgba(255,255,255,.9);text-shadow:0 1px 3px rgba(0,0,0,.8);white-space:nowrap}@keyframes videocall-ring{0%{box-shadow:0 0 0 0 rgba(255,60,90,.55),0 3px 10px rgba(0,0,0,.45)}70%{box-shadow:0 0 0 14px rgba(255,60,90,0),0 3px 10px rgba(0,0,0,.45)}100%{box-shadow:0 0 0 0 rgba(255,60,90,0),0 3px 10px rgba(0,0,0,.45)}}@media (prefers-reduced-motion:reduce){.videocall-launch-ring{animation:none}}.videocall-launch:active .videocall-launch-ring{transform:translateX(-50%) scale(.94)}.dressing-launch{display:none;position:absolute;right:16px;top:calc(max(20px,env(safe-area-inset-top,20px)) + 114px);z-index:101;width:54px;padding:0;border:none;background:0 0;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center}body.dressingroom-offered .dressing-launch{display:flex}body.memory-playback .dressing-launch{display:none!important}.dressing-launch-icon{position:relative;margin-top:9px;width:26px;height:26px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, .6))}.dressing-launch-ring{position:absolute;top:0;left:50%;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#d47bff 0,#8b2fd6 70%,#5f1c96 100%);border:1.5px solid rgba(255,255,255,.9);box-shadow:0 3px 10px rgba(0,0,0,.45)}.dressing-launch-label{position:relative;margin-top:13px;font-family:'Lilita One',sans-serif;font-size:9px;letter-spacing:.08em;color:rgba(255,255,255,.9);text-shadow:0 1px 3px rgba(0,0,0,.8);white-space:nowrap}.dressing-launch:active .dressing-launch-ring{transform:translateX(-50%) scale(.94)}.videocall-leave-btn{display:none;position:absolute;right:16px;top:calc(max(20px,env(safe-area-inset-top,20px)) + 42px);z-index:101;border:1px solid rgba(255,255,255,.25);border-radius:20px;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:rgba(255,255,255,.8);font-family:'Lilita One',sans-serif;font-size:11px;letter-spacing:.1em;padding:6px 14px;cursor:pointer;white-space:nowrap}body.in-video-call .videocall-leave-btn{display:block}.videocall-leave-btn:active{background:rgba(0,0,0,.75);color:#fff}.videocall-modal-content{max-width:330px;text-align:center}.videocall-modal-body{padding:26px 22px 20px}.videocall-modal-icon svg{width:46px;height:46px;color:#ff5f9e}.videocall-modal-icon-deny svg{color:rgba(255,255,255,.45)}.videocall-modal-title{font-family:'Lilita One',sans-serif;font-size:19px;color:#fff;margin:12px 0 8px}.videocall-modal-desc{font-size:13px;line-height:1.5;color:rgba(255,255,255,.7);margin:0 0 18px}.videocall-modal-actions{display:flex;gap:10px}.videocall-btn-primary,.videocall-btn-secondary{flex:1;border:none;border-radius:22px;padding:12px 0;font-family:'Lilita One',sans-serif;font-size:14px;letter-spacing:.06em;cursor:pointer}.videocall-btn-primary{display:flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(180deg,#ff5f9e 0,#d81f63 100%);color:#fff;box-shadow:0 4px 14px rgba(216,31,99,.4)}.videocall-btn-primary img{width:16px;height:16px}.videocall-btn-secondary{background:rgba(255,255,255,.1);color:rgba(255,255,255,.75)}.videocall-btn-secondary:active{background:rgba(255,255,255,.18)}@media (max-width:500px){.videocall-launch{right:12px}.videocall-leave-btn{right:12px}.dressing-launch{right:12px}}.videocall-modal-hint{font-size:12px;line-height:1.5;color:rgba(255,255,255,.5);margin:-8px 0 18px}.videocall-btn-plain{gap:0}