:root{--font-display: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "Playfair Display", Georgia, serif;--spotify-green: #1DB954;--spotify-green-hover: #1ed760;--acid-yellow: #E7F755;--acid-yellow-dark: #b8c82b;--neon-mint: #00F5D4;--coral-pink: #FF3366;--champagne-gold: #F59E0B;--wax-red: #B91C1C;--obsidian: #0A0A0A;--deep-slate: #0D1B2A;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 32px;--radius-full: 9999px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body{width:100%;height:100%;overflow:hidden;background-color:#050507;color:#fff;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%}.story-experience-root{position:relative;width:100%;height:100dvh;display:flex;align-items:center;justify-content:center;background-color:#08080a;overflow:hidden}.ambient-backdrop{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;filter:blur(90px);opacity:.35;transition:background-color .8s cubic-bezier(.16,1,.3,1);pointer-events:none;z-index:0}.device-frame-wrapper{position:relative;z-index:1;width:100%;max-width:420px;height:100dvh;max-height:890px;display:flex;flex-direction:column;box-shadow:0 25px 60px -15px #000c,0 0 0 1px #ffffff1a;border-radius:46px;overflow:hidden;background:#000}@media(max-width:480px){.device-frame-wrapper{max-width:100%;max-height:100dvh;border-radius:0;box-shadow:none;border:none}}.story-screen{position:relative;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;transition:background-color .6s cubic-bezier(.16,1,.3,1);cursor:pointer}.story-screen.hold-paused{filter:brightness(.92)}.hold-paused-badge{position:absolute;top:68px;left:50%;transform:translate(-50%);background:#000000a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:6px 14px;border-radius:var(--radius-full);z-index:50;animation:fadeIn .2s ease-out;pointer-events:none}.progress-bars-container{display:flex;gap:5px;padding:max(12px,env(safe-area-inset-top,12px)) 14px 6px;width:100%;z-index:25}.progress-bar-track{flex:1;height:3px;background:#ffffff40;border-radius:var(--radius-full);overflow:hidden;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.progress-bar-track.active-track{background:#ffffff59}.progress-bar-fill{height:100%;background:#fff;border-radius:var(--radius-full);box-shadow:0 0 6px #fffc}.story-controls-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 10px;z-index:25}.story-header-left{display:flex;align-items:center;gap:8px}.story-avatar-pill{display:flex;align-items:center;gap:8px;background:#00000073;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);padding:4px 10px 4px 6px;border-radius:var(--radius-full)}.story-avatar-icon{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#f36,#ffa737);display:flex;align-items:center;justify-content:center;color:#fff}.story-header-titles{display:flex;flex-direction:column;line-height:1.1}.story-header-title{font-size:11px;font-weight:700;letter-spacing:.3px;color:#fff}.story-header-subtitle{font-size:10px;color:#ffffffb3}.audio-pill-indicator{display:flex;align-items:center;gap:3px;background:#1db95440;border:1px solid rgba(29,185,84,.5);padding:4px 8px;border-radius:var(--radius-full)}.audio-wave-bar{width:2px;height:10px;background:var(--spotify-green);border-radius:1px}.audio-pill-indicator.playing .bar-1{animation:wave .8s ease-in-out infinite alternate}.audio-pill-indicator.playing .bar-2{animation:wave .6s ease-in-out infinite alternate .2s}.audio-pill-indicator.playing .bar-3{animation:wave .9s ease-in-out infinite alternate .4s}.audio-tag{font-size:10px;font-weight:700;color:#1db954;margin-left:3px}.story-header-actions{display:flex;align-items:center;gap:6px}.control-icon-btn{width:32px;height:32px;border-radius:50%;background:#00000073;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.control-icon-btn:hover{background:#fff3;transform:scale(1.05)}.slide-stage{flex:1;position:relative;width:100%;display:flex;flex-direction:column;overflow:hidden;z-index:10}.slide-content{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:16px 22px 28px;animation:slideFadeIn .35s cubic-bezier(.16,1,.3,1)}.touch-zone-hints{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;pointer-events:none;z-index:5}.touch-zone-hint.left-30{width:30%;height:100%}.touch-zone-hint.right-70{width:70%;height:100%}.slide-gate{background-color:#0a0a0a;justify-content:center;align-items:center;text-align:center}.gate-radial-glow{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);width:340px;height:340px;background:radial-gradient(circle,rgba(29,185,84,.28) 0%,rgba(255,51,102,.15) 50%,transparent 70%);filter:blur(40px);pointer-events:none;animation:pulseGlow 4s ease-in-out infinite alternate}.gate-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:100%;max-width:320px;gap:28px}.gate-top-badge{display:inline-flex;align-items:center;gap:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);padding:6px 14px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:1.5px;color:#ffffffd9;text-transform:uppercase}.heart-pulse-icon{color:var(--coral-pink);animation:heartbeat 1.5s ease infinite}.gate-title{font-family:var(--font-display);font-size:40px;font-weight:900;line-height:1.05;letter-spacing:-1.5px;margin-bottom:12px}.title-gradient-wrapped{background:linear-gradient(135deg,#fff 20%,#e7f755,#1db954);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.gate-subtitle{font-size:16px;line-height:1.45;color:#ffffffbf;font-weight:500;margin-bottom:16px}.gate-date-pill{display:inline-flex;align-items:center;gap:6px;background:#e7f7551f;border:1px solid rgba(231,247,85,.3);padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600;color:#e7f755}.gate-dot{width:6px;height:6px;border-radius:50%;background:#e7f755;box-shadow:0 0 8px #e7f755}.gate-cta-container{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.gate-cta-button{width:100%;background:linear-gradient(135deg,var(--spotify-green),#1ed760);color:#000;border:none;padding:16px 24px;border-radius:var(--radius-full);font-family:var(--font-display);font-size:16px;font-weight:800;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 10px 25px -5px #1db95480,0 0 0 2px #fff3;transition:all .25s cubic-bezier(.16,1,.3,1);animation:pulseButton 2.2s infinite}.gate-cta-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 30px -5px #1db954b3}.gate-hint{font-size:12px;color:#ffffff73}.slide-stats{background-color:var(--acid-yellow);color:#0a0a0a}.stats-header{display:flex;flex-direction:column;gap:6px}.stats-tag{font-family:var(--font-display);font-size:11px;font-weight:900;letter-spacing:1.5px;color:#0a0a0aa6;text-transform:uppercase}.stats-headline{font-family:var(--font-display);font-size:30px;font-weight:900;line-height:1.1;letter-spacing:-1px;color:#0a0a0a}.stats-metrics-stack{display:flex;flex-direction:column;gap:12px;margin:16px 0}.stat-card{background:#fff;border-radius:var(--radius-lg);padding:16px 18px;box-shadow:0 10px 20px -6px #0000001f,0 0 0 1px #0000000a;display:flex;flex-direction:column;gap:4px;animation:slideUpFade .5s cubic-bezier(.16,1,.3,1) both}.stat-card-top{display:flex;align-items:center;gap:8px}.stat-card-icon{display:flex;align-items:center;color:#0a0a0a;opacity:.8}.stat-card-label{font-size:12px;font-weight:700;letter-spacing:.5px;color:#0a0a0aa6;text-transform:uppercase}.stat-card-number-wrapper{display:flex;align-items:baseline;gap:6px}.stat-card-number{font-family:var(--font-display);font-size:38px;font-weight:900;line-height:1;letter-spacing:-1.5px;color:#0a0a0a}.stat-card-unit{font-size:14px;font-weight:700;color:#0a0a0a80;text-transform:uppercase}.stats-footer{padding-top:6px}.stats-caption{font-size:14px;font-weight:700;line-height:1.35;color:#0a0a0acc}.slide-genres{background-color:#130924;color:#fff}.genres-badge{display:inline-flex;align-items:center;gap:6px;background:#b57edc26;border:1px solid rgba(181,126,220,.35);padding:5px 12px;border-radius:var(--radius-full);font-size:10px;font-weight:800;letter-spacing:1px;color:#b57edc;margin-bottom:8px}.genres-title{font-family:var(--font-display);font-size:27px;font-weight:900;line-height:1.15;letter-spacing:-.8px;margin-bottom:4px}.genres-subtitle{font-size:13px;color:#ffffffa6}.genres-list{display:flex;flex-direction:column;gap:12px;margin:18px 0}.genre-item-row{display:flex;align-items:center;gap:12px;background:#ffffff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);padding:12px 14px;border-radius:var(--radius-md);animation:slideUpFade .4s cubic-bezier(.16,1,.3,1) both}.genre-rank-badge{font-family:var(--font-display);font-size:15px;font-weight:900;color:#ffffff80;width:24px}.genre-info-col{flex:1;display:flex;flex-direction:column;gap:6px}.genre-header-line{display:flex;align-items:center;justify-content:space-between}.genre-name{font-size:13px;font-weight:700;color:#fff;display:flex;align-items:center;gap:6px}.genre-pct{font-family:var(--font-display);font-size:14px;font-weight:800;color:#fff}.genre-bar-track{width:100%;height:6px;background:#ffffff1f;border-radius:var(--radius-full);overflow:hidden}.genre-bar-fill{height:100%;border-radius:var(--radius-full)}.genres-pill-note{display:flex;align-items:center;justify-content:center;gap:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);padding:8px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:700;color:#ffffffd9}.zap-icon{color:#e7f755}.slide-chat{background-color:var(--deep-slate);color:#fff}.chat-tag{font-family:var(--font-display);font-size:10px;font-weight:900;letter-spacing:1.5px;color:var(--neon-mint);text-transform:uppercase}.chat-title{font-family:var(--font-display);font-size:27px;font-weight:900;line-height:1.15;letter-spacing:-.8px;margin-top:4px}.chat-subtitle{font-size:12px;color:#ffffffa6}.chat-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 10px}.chat-stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:4px}.chat-stat-header{display:flex;align-items:center;gap:6px}.chat-stat-label{font-size:10px;font-weight:700;color:#fff9;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-stat-val{font-family:var(--font-display);font-size:15px;font-weight:800;color:#fff}.text-mint{color:var(--neon-mint)}.text-pink{color:var(--coral-pink)}.text-cyan{color:#00d2ff}.chat-bubbles-showcase{margin-top:8px;display:flex;flex-direction:column;justify-content:center}.chat-bubbles-container{display:flex;flex-direction:column;gap:8px}.chat-bubble-row{display:flex;width:100%;animation:floatBob 3s ease-in-out infinite alternate}.bubble-partner{justify-content:flex-start}.bubble-user{justify-content:flex-end}.chat-bubble-pill{max-width:82%;padding:8px 14px;border-radius:18px;display:flex;flex-direction:column;gap:2px;box-shadow:0 4px 15px #0003}.bubble-partner .chat-bubble-pill{background:#1f2937;color:#f9fafb;border-bottom-left-radius:4px;border:1px solid rgba(255,255,255,.1)}.bubble-user .chat-bubble-pill{background:linear-gradient(135deg,#007aff,#0051c6);color:#fff;border-bottom-right-radius:4px}.bubble-text{font-size:13px;font-weight:600;line-height:1.3}.bubble-time{font-size:9px;opacity:.6;align-self:flex-end}.slide-song{background:linear-gradient(180deg,#121212,#0d2818 60%,#0b1e13);color:#fff;justify-content:space-between}.song-badge{display:inline-flex;align-items:center;gap:6px;background:#1db95426;border:1px solid rgba(29,185,84,.4);padding:5px 12px;border-radius:var(--radius-full);font-size:10px;font-weight:800;letter-spacing:1.2px;color:var(--spotify-green);margin-bottom:6px}.text-spotify{color:var(--spotify-green)}.song-title-main{font-family:var(--font-display);font-size:26px;font-weight:900;line-height:1.1;letter-spacing:-.8px}.song-artist-name{font-size:14px;font-weight:600;color:#ffffffb3;margin-top:2px}.song-player-stage{display:flex;flex-direction:column;align-items:center;margin:8px 0;position:relative}.album-vinyl-cluster{position:relative;width:290px;height:195px;display:flex;align-items:center;justify-content:center;margin:4px auto 10px}.vinyl-disc{position:absolute;right:0;width:175px;height:175px;border-radius:50%;background:radial-gradient(circle,#2a2a2a,#151515,#050505);box-shadow:0 12px 30px #000000e6,inset 0 0 12px #ffffff1f;display:flex;align-items:center;justify-content:center;transition:transform .4s ease;z-index:1}.vinyl-disc.spinning{animation:spinVinyl 3.8s linear infinite}.vinyl-disc.stopped{animation-play-state:paused}.vinyl-groove-ring{position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.1);pointer-events:none}.vinyl-groove-ring.ring-1{width:145px;height:145px}.vinyl-groove-ring.ring-2{width:115px;height:115px}.vinyl-groove-ring.ring-3{width:85px;height:85px}.vinyl-center-label{position:relative;width:58px;height:58px;border-radius:50%;overflow:hidden;border:2px solid #000;display:flex;align-items:center;justify-content:center;box-shadow:0 0 8px #000c}.vinyl-mini-art{width:100%;height:100%;object-fit:cover}.vinyl-spindle-hole{position:absolute;width:10px;height:10px;background:#050505;border-radius:50%;border:1.5px solid rgba(255,255,255,.4)}.album-card-jacket{position:absolute;left:0;width:175px;height:175px;border-radius:14px;overflow:hidden;box-shadow:0 18px 36px -6px #000000d9,0 0 0 1px #ffffff2e;z-index:2}.album-cover-img{width:100%;height:100%;object-fit:cover}.album-glass-overlay{position:absolute;bottom:8px;left:8px;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:3px 8px;border-radius:var(--radius-full);display:flex;align-items:center;gap:4px}.album-format-tag{font-size:9px;font-weight:700;color:#fff;letter-spacing:.5px;display:flex;align-items:center;gap:4px}.audio-equalizer-display{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:24px;margin:12px 0 8px}.eq-bar{width:3px;background:linear-gradient(180deg,#1db954,#147a37);border-radius:2px;min-height:4px}.eq-bar.eq-animated{animation:eqBounce .75s ease-in-out infinite alternate}.song-playback-card{width:100%;background:#00000073;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:10px 14px;display:flex;flex-direction:column;gap:8px}.scrubber-row{display:flex;align-items:center;gap:8px}.time-label{font-size:10px;font-family:var(--font-display);font-weight:600;color:#fff9;width:26px}.scrubber-track{flex:1;height:4px;background:#fff3;border-radius:var(--radius-full);position:relative;cursor:pointer}.scrubber-fill{height:100%;background:var(--spotify-green);border-radius:var(--radius-full);box-shadow:0 0 8px var(--spotify-green)}.song-meta-controls{display:flex;align-items:center;justify-content:space-between}.song-badge-pill{font-size:11px;font-weight:700;color:#ffffffd9}.song-play-toggle-btn{width:38px;height:38px;border-radius:50%;background:var(--spotify-green);color:#000;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 15px #1db95466;transition:transform .2s ease}.song-play-toggle-btn:hover{transform:scale(1.08)}.spotify-lyrics-card{width:100%;max-width:320px;background:#0f172ab3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:10px 14px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:0 10px 24px -6px #00000080,0 0 0 1px #1db95426;margin-top:4px}.spotify-lyrics-header{width:100%;display:flex;align-items:center;justify-content:space-between}.lyrics-badge{display:flex;align-items:center;gap:5px;background:#1db95429;border:1px solid rgba(29,185,84,.3);padding:2px 8px;border-radius:var(--radius-full);font-size:9px;font-weight:800;letter-spacing:.8px;color:#1db954;text-transform:uppercase}.lyrics-timing-indicator{font-size:9px;font-weight:600;color:#fff6}.spotify-lyrics-viewport{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.live-lyric-anim{width:100%;animation:lyricFadeIn .45s cubic-bezier(.16,1,.3,1) forwards}@keyframes lyricFadeIn{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.live-lyric-line{font-size:13px;font-weight:700;line-height:1.35;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);margin:0}.live-lyric-line.is-intro{font-weight:500;font-style:italic;color:#fff9}.song-subtext{font-size:10px;color:#ffffff80;text-align:center;margin-top:2px}.song-footer-quote{width:100%;max-width:320px;text-align:center;padding:8px 12px;background:#0f172a73;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:14px;margin-top:4px}.song-lyrics{font-size:12px;font-style:italic;color:#ffffffd9;line-height:1.35;margin-bottom:3px}.slide-artist{background:linear-gradient(180deg,var(--coral-pink) 0%,#b81b4c 100%);color:#fff}.artist-tag{font-family:var(--font-display);font-size:10px;font-weight:900;letter-spacing:1.5px;color:#fffc;text-transform:uppercase}.artist-name-row{display:flex;align-items:center;gap:8px;margin-top:2px}.artist-name{font-family:var(--font-display);font-size:32px;font-weight:900;line-height:1.05;letter-spacing:-1px}.artist-verified-badge{color:#38bdf8;display:flex;align-items:center}.artist-stage-frame{display:flex;flex-direction:column;align-items:center;margin:10px 0}.artist-photo-container{position:relative;width:220px;height:270px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 40px -10px #00000080,0 0 0 2px #fff3}.artist-portrait-img{width:100%;height:100%;object-fit:cover;object-position:center 25%;animation:kenBurns 12s ease-in-out infinite alternate}.artist-glow-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.6) 100%)}.artist-badge-floating{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);padding:6px 14px;border-radius:var(--radius-full);font-size:11px;font-weight:700;display:flex;align-items:center;gap:6px;white-space:nowrap}.heart-fill-pink{color:var(--coral-pink);fill:var(--coral-pink)}.artist-stats-banner{display:flex;align-items:center;justify-content:space-around;width:100%;background:#00000059;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md);padding:10px 14px;margin-top:14px}.artist-stat-item{display:flex;align-items:center;gap:8px}.stat-highlight-icon{color:#ffa737}.stat-label{font-size:10px;font-weight:700;color:#fff9;text-transform:uppercase;display:block}.stat-val{font-family:var(--font-display);font-size:13px;font-weight:800;color:#fff}.artist-stat-divider{width:1px;height:24px;background:#fff3}.artist-quote{font-size:13px;font-weight:600;font-style:italic;text-align:center;color:#ffffffe6;line-height:1.35}.slide-letter{background-color:#09090e;color:#fff;justify-content:space-between}.letter-ambient-glow{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);width:320px;height:320px;background:radial-gradient(circle,rgba(245,158,11,.25) 0%,rgba(185,28,28,.15) 50%,transparent 70%);filter:blur(50px);pointer-events:none}.letter-badge{display:inline-flex;align-items:center;gap:6px;background:#f59e0b26;border:1px solid rgba(245,158,11,.4);padding:5px 12px;border-radius:var(--radius-full);font-size:10px;font-weight:800;letter-spacing:1.5px;color:var(--champagne-gold);margin-bottom:6px}.text-gold{color:var(--champagne-gold)}.letter-headline{font-family:var(--font-display);font-size:27px;font-weight:900;line-height:1.15;letter-spacing:-.8px}.letter-preview{font-size:13px;color:#ffffffb3;margin-top:4px}.wax-envelope-stage{display:flex;align-items:center;justify-content:center;margin:16px 0}.wax-envelope-card{position:relative;width:260px;height:190px;background:linear-gradient(145deg,#1a1429,#120d1d);border:1px solid rgba(245,158,11,.35);border-radius:16px;box-shadow:0 20px 40px #000000b3,0 0 30px #f59e0b33;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s cubic-bezier(.16,1,.3,1)}.wax-envelope-card:hover{transform:translateY(-4px) scale(1.02)}.envelope-top-flap{position:absolute;top:0;width:0;height:0;border-left:130px solid transparent;border-right:130px solid transparent;border-top:80px solid rgba(245,158,11,.12);pointer-events:none}.wax-seal-button{position:absolute;top:55px;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#dc2626,#991b1b 65%,#7f1d1d);box-shadow:0 8px 20px #b91c1c99,inset 0 2px 4px #fff6,inset 0 -2px 6px #0009;display:flex;align-items:center;justify-content:center;z-index:5;animation:pulseSeal 2.5s infinite}.wax-seal-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.wax-seal-heart{color:#fff;fill:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.wax-seal-caption{font-size:8px;font-weight:900;letter-spacing:.5px;margin-top:1px;text-shadow:0 1px 2px rgba(0,0,0,.6)}.envelope-front-body{position:absolute;bottom:18px;display:flex;flex-direction:column;align-items:center;gap:3px}.envelope-mail-icon{color:var(--champagne-gold)}.envelope-title-label{font-family:var(--font-display);font-size:13px;font-weight:800;color:#fff}.envelope-tap-prompt{font-size:10px;color:#ffffff8c}.letter-bottom-actions{display:flex;justify-content:center}.restart-story-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;padding:10px 18px;border-radius:var(--radius-full);font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease}.restart-story-btn:hover{background:#ffffff2e}.letter-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:100;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .25s ease-out}.letter-modal-sheet{position:relative;width:100%;max-width:440px;max-height:85vh;background:#14111e;border-top-left-radius:28px;border-top-right-radius:28px;border:1px solid rgba(245,158,11,.3);box-shadow:0 -10px 40px #000c;display:flex;flex-direction:column;overflow:hidden;animation:slideUpSheet .35s cubic-bezier(.16,1,.3,1)}.sheet-drag-handle{width:40px;height:4px;background:#ffffff40;border-radius:2px;margin:12px auto 6px}.sheet-close-btn{position:absolute;top:14px;right:16px;width:32px;height:32px;border-radius:50%;background:#ffffff1a;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.letter-parchment-content{padding:20px 24px 32px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.letter-stamp-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:1px;color:var(--champagne-gold)}.heart-gold{color:var(--champagne-gold);fill:var(--champagne-gold)}.letter-body-text{font-family:var(--font-serif);font-size:16px;line-height:1.7;color:#f3f4f6;display:flex;flex-direction:column;gap:14px}.letter-signature-block{margin-top:8px;display:flex;flex-direction:column;gap:4px}.signature-hearts{font-size:18px}.signature-seal-small{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#ffffff80}.letter-sheet-done-btn{width:100%;background:linear-gradient(135deg,var(--champagne-gold),#D97706);color:#000;border:none;padding:14px;border-radius:var(--radius-full);font-family:var(--font-display);font-size:15px;font-weight:800;cursor:pointer;margin-top:8px;box-shadow:0 8px 20px #f59e0b66}@keyframes spinVinyl{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseGlow{0%{transform:translate(-50%,-50%) scale(.9);opacity:.6}to{transform:translate(-50%,-50%) scale(1.2);opacity:.95}}@keyframes pulseButton{0%{transform:scale(1)}50%{transform:scale(1.02);box-shadow:0 12px 28px #1db95499}to{transform:scale(1)}}@keyframes pulseSeal{0%{transform:scale(1);box-shadow:0 8px 20px #b91c1c99}50%{transform:scale(1.06);box-shadow:0 12px 26px #b91c1cd9}to{transform:scale(1);box-shadow:0 8px 20px #b91c1c99}}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@keyframes eqBounce{0%{height:4px}50%{height:22px}to{height:10px}}@keyframes floatBob{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@keyframes kenBurns{0%{transform:scale(1)}to{transform:scale(1.08)}}@keyframes slideFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes wave{0%{height:4px}to{height:14px}}
