:root{--kv-bg:#080c18;--kv-surface:#0f1523;--kv-surface-2:#161d2e;--kv-surface-3:#1e2640;--kv-border:hsla(0,0%,100%,.07);--kv-border-bright:hsla(0,0%,100%,.12);--kv-text:#e2e8f8;--kv-text-dim:#6b7a9e;--kv-text-muted:#3d4a6b;--kv-accent:#7c5cfc;--kv-accent-2:#5b8def;--kv-accent-glow:rgba(124,92,252,.3);--kv-star-gold:#f0d060;--kv-star-dim:#2d3a55;--kv-streak-fire:#ff6b35;--kv-vault:#7b2fff;--kv-canvas:#00c896;--kv-glance:#ff9500;--kv-soundwave:#ff3b8e}body,html{background:var(--kv-bg)!important;color:var(--kv-text);overscroll-behavior-y:none;scroll-behavior:auto}@keyframes kv-warp-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes kv-warp-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.08);filter:blur(8px)}}.kv-warp-enter{animation:kv-warp-in .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes kv-star-pulse{0%,to{box-shadow:0 0 6px var(--kv-star-gold),0 0 16px rgba(240,208,96,.3),0 0 32px rgba(240,208,96,.1)}50%{box-shadow:0 0 12px var(--kv-star-gold),0 0 28px rgba(240,208,96,.5),0 0 56px rgba(240,208,96,.2)}}.kv-star-unread{animation:kv-star-pulse 2s ease-in-out infinite}@keyframes kv-twinkle{0%,to{opacity:.3;transform:scale(.7) rotate(0deg)}50%{opacity:1;transform:scale(1.2) rotate(20deg)}}.kv-twinkle{animation:kv-twinkle 2.5s ease-in-out infinite}@keyframes kv-online-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}.kv-online-dot{animation:kv-online-pulse 2s ease-in-out infinite}@keyframes kv-streak-fire{0%{box-shadow:0 0 4px var(--kv-streak-fire),0 0 12px rgba(255,107,53,.2)}50%{box-shadow:0 0 10px var(--kv-streak-fire),0 0 28px rgba(255,107,53,.4),0 0 40px rgba(255,200,50,.15)}to{box-shadow:0 0 4px var(--kv-streak-fire),0 0 12px rgba(255,107,53,.2)}}.kv-streak-active{animation:kv-streak-fire 1.5s ease-in-out infinite}@keyframes kv-float-right{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes kv-float-left{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}.kv-msg-own{animation:kv-float-right .65s cubic-bezier(.34,1.56,.64,1) both}.kv-msg-other{animation:kv-float-left .65s cubic-bezier(.34,1.56,.64,1) both}.kv-d1{animation-delay:.03s}.kv-d2{animation-delay:.07s}.kv-d3{animation-delay:.11s}.kv-d4{animation-delay:.15s}.kv-d5{animation-delay:.19s}@keyframes kv-ripple-1{0%{transform:scale(.3);opacity:.7}to{transform:scale(2.8);opacity:0}}@keyframes kv-ripple-2{0%{transform:scale(.3);opacity:.5}to{transform:scale(3.4);opacity:0}}@keyframes kv-ripple-3{0%{transform:scale(.3);opacity:.3}to{transform:scale(4);opacity:0}}.kv-ripple-r{position:absolute;border-radius:50%;pointer-events:none;border-width:1.5px;border-style:solid}.kv-ripple-1{animation:kv-ripple-1 2.2s ease-out infinite}.kv-ripple-2{animation:kv-ripple-2 2.2s ease-out .55s infinite}.kv-ripple-3{animation:kv-ripple-3 2.2s ease-out 1.1s infinite}.kv-bubble-other,.kv-bubble-own{position:relative;word-break:break-word}.kv-bubble-own{border-radius:18px 18px 4px 18px;border:1px solid hsla(0,0%,100%,.08)}.kv-bubble-other,.kv-bubble-own{box-shadow:0 1px 2px rgba(0,0,0,.12)}.kv-bubble-other{border-radius:18px 18px 18px 4px;border:1px solid hsla(0,0%,100%,.05)}@keyframes kv-aura-expand{0%{transform:scale(1);box-shadow:0 0 0 0 var(--kv-accent-glow)}40%{transform:scale(1.04);box-shadow:0 0 20px 12px var(--kv-accent-glow)}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}.kv-aura{animation:kv-aura-expand .8s ease-out}@keyframes kv-hug{0%{transform:scale(1)}15%{transform:scale(1.18) rotate(-3deg)}30%{transform:scale(.95) rotate(3deg)}50%{transform:scale(1.1) rotate(-2deg)}70%{transform:scale(.98) rotate(1deg)}to{transform:scale(1) rotate(0deg)}}.kv-hug{animation:kv-hug .6s cubic-bezier(.36,.07,.19,.97)}@keyframes kv-echo{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.05);filter:blur(2px)}to{opacity:0;transform:scale(1.12);filter:blur(4px)}}.kv-echo{animation:kv-echo .8s ease-out forwards}@keyframes kv-voice-ripple{0%{transform:scale(.8);opacity:.8}to{transform:scale(2.5);opacity:0}}.kv-voice-ripple{animation:kv-voice-ripple 1s ease-out infinite}@keyframes kv-polaroid-in{0%{opacity:0;transform:translateY(20px) rotate(-3deg) scale(.9)}70%{transform:translateY(-4px) rotate(1deg) scale(1.02)}to{opacity:1;transform:translateY(0) rotate(0deg) scale(1)}}.kv-polaroid{animation:kv-polaroid-in .55s cubic-bezier(.16,1,.3,1) forwards}.kv-polaroid-container{background:#fff;padding:8px 8px 28px;box-shadow:0 8px 30px rgba(0,0,0,.35),0 2px 8px rgba(0,0,0,.2);transform-origin:center;transition:transform .3s ease,box-shadow .3s ease}.kv-polaroid-container:hover{transform:scale(1.04) rotate(1deg);box-shadow:0 16px 50px rgba(0,0,0,.5)}@keyframes kv-meteor{0%{transform:translateX(-100%) translateY(-100%) rotate(15deg);opacity:1}to{transform:translateX(200%) translateY(200%) rotate(15deg);opacity:0}}.kv-meteor{animation:kv-meteor 1s linear forwards}@keyframes kv-react-pop{0%{transform:scale(0) translateY(0);opacity:0}40%{transform:scale(1.4) translateY(-8px);opacity:1}70%{transform:scale(.9) translateY(-4px)}to{transform:scale(1) translateY(0);opacity:1}}.kv-react-pop{animation:kv-react-pop .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes kv-react-float{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-80px) scale(.6);opacity:0}}.kv-react-float{animation:kv-react-float 2s ease-out forwards}@keyframes kv-mood-ring{0%{box-shadow:0 0 0 0 rgba(124,92,252,.6);border-color:#7c5cfc}to{box-shadow:0 0 0 6px rgba(124,92,252,0);border-color:#5b8def}}.kv-mood-ring{animation:kv-mood-ring 3s infinite}@keyframes kv-mood-grad{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.kv-mood-bar{background:linear-gradient(90deg,#7c5cfc,#5b8def,#00c896,#ff9500,#7c5cfc);background-size:200% auto;animation:kv-mood-grad 4s ease infinite}.kv-scroll-area{overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.kv-chat-input{position:relative;transition:border-color .15s ease,background-color .15s ease}@keyframes kv-send-pulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(124,92,252,.4)}70%{transform:scale(1.05);box-shadow:0 0 0 8px rgba(124,92,252,0)}to{transform:scale(1);box-shadow:0 0 0 0 rgba(124,92,252,0)}}.kv-send-pulse{animation:kv-send-pulse 1.2s ease-in-out infinite}.kv-constellation{background:radial-gradient(ellipse at 15% 40%,rgba(124,92,252,.06) 0,transparent 55%),radial-gradient(ellipse at 85% 15%,rgba(91,141,239,.05) 0,transparent 55%),radial-gradient(ellipse at 50% 90%,rgba(20,189,172,.04) 0,transparent 55%),radial-gradient(ellipse at 70% 60%,rgba(240,208,96,.03) 0,transparent 40%),var(--kv-bg)}@keyframes kv-sparkle{0%{opacity:0;transform:scale(0) rotate(0deg)}50%{opacity:1;transform:scale(1) rotate(180deg)}to{opacity:0;transform:scale(0) rotate(1turn)}}.kv-sparkle{animation:kv-sparkle 2s ease-out infinite}.kv-type-vault{background:linear-gradient(135deg,#7b2fff,#5b00e0)}.kv-type-canvas{background:linear-gradient(135deg,#00c896,#007a5e)}.kv-type-glance{background:linear-gradient(135deg,#ff9500,#e06000)}.kv-type-soundwave{background:linear-gradient(135deg,#ff3b8e,#c0005a)}@keyframes kv-streak-badge{0%,to{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.1)}}.kv-streak-badge{animation:kv-streak-badge 1s ease-in-out infinite}.kv-scroll-fade-top{background:linear-gradient(to bottom,var(--kv-surface),transparent);pointer-events:none}.kv-scroll-fade-bottom{background:linear-gradient(to top,var(--kv-surface),transparent);pointer-events:none}@keyframes kv-badge-bounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-4px)}}.kv-new-badge{animation:kv-badge-bounce 1.5s ease-in-out infinite}.kv-scroll-area::-webkit-scrollbar{width:4px}.kv-scroll-area::-webkit-scrollbar-track{background:transparent}.kv-scroll-area::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,var(--kv-accent),transparent);border-radius:999px}.kv-no-scrollbar::-webkit-scrollbar{display:none}.kv-no-scrollbar{-ms-overflow-style:none;scrollbar-width:none;overflow-x:hidden}.kv-conv-item{transition:background-color .15s ease,opacity .15s ease}.kv-conv-item:hover{background:rgba(124,92,252,.06)}@keyframes kv-pulse-online{0%{box-shadow:0 0 0 0 rgba(34,197,94,.4);transform:scale(.95)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0);transform:scale(1)}to{box-shadow:0 0 0 0 rgba(34,197,94,0);transform:scale(.95)}}.kv-online-dot{animation:kv-pulse-online 2.5s ease-out infinite}@keyframes kv-rec-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.kv-rec-pulse{animation:kv-rec-pulse 1s ease-in-out infinite}@keyframes kv-menu-pop{0%{opacity:0;transform:scale(.85) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.kv-menu-pop{animation:kv-menu-pop .2s cubic-bezier(.16,1,.3,1) forwards}@keyframes kv-music-bar{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.kv-music-bar{animation:kv-music-bar .7s ease-in-out infinite;transform-origin:bottom}.kv-mb-1{animation-delay:0s}.kv-mb-2{animation-delay:.1s}.kv-mb-3{animation-delay:.2s}.kv-mb-4{animation-delay:.3s}.kv-mb-5{animation-delay:.2s}@keyframes kv-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.kv-slide-up{animation:kv-slide-up .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes kv-pop-in{0%{opacity:0;transform:scale(.5) translateY(10px)}70%{opacity:.9;transform:scale(1.1) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-pop{animation:kv-pop-in .25s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes kv-read-bounce{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.animate-read-receipt{animation:kv-read-bounce .4s cubic-bezier(.175,.885,.32,1.2) forwards}@keyframes kv-aura-float{0%,to{transform:scale(1) translate(0)}33%{transform:scale(1.1) translate(10%,-5%)}66%{transform:scale(.95) translate(-5%,8%)}}.animate-blob{animation:kv-aura-float 20s ease-in-out infinite}.kv-no-scrollbar{overflow-anchor:auto!important}.reel-card{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reel-progress-glow{box-shadow:0 0 6px hsla(0,0%,100%,.6)}@keyframes reelPlayPop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.reel-play-pop{animation:reelPlayPop .3s cubic-bezier(.16,1,.3,1)}@keyframes reelLikePop{0%{transform:scale(.7)}40%{transform:scale(1.35)}70%{transform:scale(.9)}to{transform:scale(1)}}.reel-liked-pop{background:rgba(239,68,68,.2)!important;animation:reelLikePop .4s cubic-bezier(.16,1,.3,1)}@keyframes crsGlow{0%,to{box-shadow:0 0 6px rgba(240,208,96,.4)}50%{box-shadow:0 0 14px rgba(240,208,96,.9)}}.reel-crs-badge{background:rgba(240,208,96,.15);color:#f0d060;border:1px solid rgba(240,208,96,.35);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;gap:3px}.reel-crs-badge,.reel-crs-badge-sm{display:flex;align-items:center;animation:crsGlow 2s ease-in-out infinite}.reel-crs-badge-sm{width:20px;height:20px;border-radius:50%;background:rgba(240,208,96,.2);justify-content:center}@keyframes coinFly{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--cx,0),-80px) scale(.5);opacity:0}}.reel-coin-fly{animation:coinFly 1.1s cubic-bezier(.16,1,.3,1) forwards;--cx:0px}.reel-coin-fly:first-child{--cx:-28px}.reel-coin-fly:nth-child(2){--cx:-12px}.reel-coin-fly:nth-child(3){--cx:4px}.reel-coin-fly:nth-child(4){--cx:18px}.reel-coin-fly:nth-child(5){--cx:30px}@keyframes tipPulse{0%,to{box-shadow:0 0 0 0 rgba(240,208,96,.4)}50%{box-shadow:0 0 0 8px rgba(240,208,96,0)}}.reel-tip-btn{background:rgba(240,208,96,.15);border:1px solid rgba(240,208,96,.35);border-radius:50%;animation:tipPulse 2.5s ease-in-out infinite}.reel-branch-overlay{background:rgba(0,0,0,.7);backdrop-filter:blur(8px);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes branchBtnIn{0%{transform:translateY(20px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.reel-branch-btn{background:linear-gradient(135deg,rgba(124,92,252,.7),rgba(91,141,239,.7));backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.2);animation:branchBtnIn .35s cubic-bezier(.16,1,.3,1) both;transition:transform .15s}.reel-branch-btn:hover{transform:scale(1.04)}.reel-branch-btn:active{transform:scale(.96)}@keyframes momentGlow{0%,to{filter:drop-shadow(0 0 2px rgba(255,255,0,.4))}50%{filter:drop-shadow(0 0 8px rgba(255,255,0,.9))}}.reel-moment-glow{animation:momentGlow 1.8s ease-in-out infinite}@keyframes gridIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.reel-grid-item{animation:gridIn .3s ease both;transition:transform .2s}.reel-grid-item:active{transform:scale(.96)}@keyframes hotPulse{0%,to{opacity:0}50%{opacity:1}}.reel-grid-hot{background:linear-gradient(135deg,rgba(124,92,252,.15),rgba(91,141,239,.08));animation:hotPulse 3s ease-in-out infinite}@keyframes xpShimmer{0%{background-position:-200%}to{background-position:200%}}.reel-xp-bar{background:linear-gradient(90deg,#7c5cfc,#f0d060,#7c5cfc);background-size:200% auto;animation:xpShimmer 2s linear infinite;transition:width .5s cubic-bezier(.16,1,.3,1)}.reel-sheet-overlay{background:rgba(0,0,0,.5);backdrop-filter:blur(4px)}.reel-sheet{background:rgba(10,8,20,.95);border-top:1px solid hsla(0,0%,100%,.1);display:flex;flex-direction:column}@keyframes musicBar1{0%,to{height:4px}50%{height:12px}}@keyframes musicBar2{0%,to{height:8px}50%{height:4px}}@keyframes musicBar3{0%,to{height:12px}50%{height:6px}}@keyframes musicBar4{0%,to{height:6px}50%{height:14px}}@keyframes musicBar5{0%,to{height:10px}50%{height:4px}}.reel-music-bar{display:inline-block;min-height:4px}.reel-mb-1{animation:musicBar1 .7s ease-in-out infinite}.reel-mb-2{animation:musicBar2 .9s ease-in-out infinite}.reel-mb-3{animation:musicBar3 .6s ease-in-out infinite}.reel-mb-4{animation:musicBar4 .8s ease-in-out infinite}.reel-mb-5{animation:musicBar5 1s ease-in-out infinite}@keyframes auraRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.story-aura-ring{animation:auraRotate 4s linear infinite}@keyframes stackReveal{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.story-stack-layer{animation:stackReveal .45s cubic-bezier(.16,1,.3,1)}@keyframes arrowPulse{0%,to{opacity:.5;transform:translateX(0)}50%{opacity:1;transform:translateX(4px)}}.story-branch-arrow{animation:arrowPulse 1.5s ease-in-out infinite}@keyframes fireflyFloat{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-60px) scale(.3);opacity:0}}.poll-firefly{animation:fireflyFloat 1.2s cubic-bezier(.16,1,.3,1) forwards}@keyframes orbit{0%{transform:rotate(0deg) translateX(50px) rotate(0deg)}to{transform:rotate(1turn) translateX(50px) rotate(-1turn)}}.story-orbit-item{animation:orbit 6s linear infinite}@keyframes sealPulse{0%,to{box-shadow:0 0 8px rgba(255,149,0,.4)}50%{box-shadow:0 0 20px rgba(255,149,0,.8)}}.story-capsule-sealed{animation:sealPulse 2.5s ease-in-out infinite}@keyframes foundBurst{0%{transform:scale(1)}50%{transform:scale(1.8);opacity:.5}to{transform:scale(0);opacity:0}}.quest-item-found{animation:foundBurst .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes thankSparkle{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-50px) scale(.2);opacity:0}}.thank-sparkle{animation:thankSparkle 1s ease-out forwards;pointer-events:none}@keyframes goalFill{0%{width:0}}.story-goal-bar{animation:goalFill 1s cubic-bezier(.16,1,.3,1)}@keyframes flameDance{0%,to{transform:scaleY(1) rotate(-3deg)}50%{transform:scaleY(1.15) rotate(3deg)}}.streak-flame{animation:flameDance .8s ease-in-out infinite}@keyframes levelUp{0%{transform:scale(.5) translateY(20px);opacity:0}60%{transform:scale(1.2) translateY(-5px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.level-up-toast{animation:levelUp .6s cubic-bezier(.16,1,.3,1) both}@keyframes reactionRipple{0%{transform:scale(.8);opacity:1}to{transform:scale(2.5);opacity:0}}@keyframes marquee{0%{transform:translateX(100%)}to{transform:translateX(-100%)}}.marquee-slide{display:inline-block;animation:marquee 10s linear infinite}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.snap-y{scroll-snap-type:y mandatory}.snap-start{scroll-snap-align:start}.snap-always{scroll-snap-stop:always}