.boot-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:max(1.5rem,env(safe-area-inset-top,0px)) max(1.25rem,env(safe-area-inset-right,0px)) max(1.5rem,env(safe-area-inset-bottom,0px)) max(1.25rem,env(safe-area-inset-left,0px));background:radial-gradient(ellipse 120% 80% at 50% 0%,#2a1838,#120a18 45%,#0a060e);color:#fcecff}.boot-screen-noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.07;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.boot-inner{position:relative;z-index:1;width:min(360px,100%);text-align:center}.boot-eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:#d4a8ff;margin-bottom:.6rem}.boot-title{font-size:clamp(1.15rem,4vw,1.45rem);font-weight:600;margin-bottom:1.75rem;line-height:1.35;color:#fff5ff}.boot-bar-track{height:8px;border-radius:999px;background:#ffffff1a;overflow:hidden;box-shadow:inset 0 1px 3px #00000059}.boot-bar-fill{height:100%;width:100%;border-radius:inherit;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,#ff7eb9,#c4a5ff,#7ecbff);transition:transform .2s ease-out;will-change:transform}.boot-percent{margin-top:.85rem;font-size:.88rem;font-variant-numeric:tabular-nums;color:#c9b8e8}@media (prefers-reduced-motion: reduce){.boot-bar-fill{transition:none}}.app-root{min-height:100vh;min-height:100dvh;color:#4b304a;overflow-x:clip}.app-main{max-width:min(960px,100%);margin:0 auto;padding:clamp(2.5rem,6vw,5rem) clamp(.875rem,4vw,2.5rem) clamp(4rem,10vw,7rem);padding-left:max(.875rem,env(safe-area-inset-left,0px));padding-right:max(.875rem,env(safe-area-inset-right,0px));padding-bottom:max(clamp(4rem,10vw,7rem),env(safe-area-inset-bottom,0px))}.section{margin:4rem 0}.section-title{font-size:clamp(1.45rem,5vw,2rem);margin-bottom:1.5rem;text-align:center;color:#d474a6;padding-inline:.25rem;word-wrap:break-word}.centered{display:flex;flex-direction:column;align-items:center;justify-content:center}.subtle-text{font-size:.95rem;opacity:.7;margin-top:.75rem}.music-toggle-wrapper{position:fixed;top:max(.75rem,env(safe-area-inset-top,0px));right:max(.75rem,env(safe-area-inset-right,0px));z-index:20;max-width:calc(100vw - 1.5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}.cement-intro-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem}.cement-intro-inner{max-width:460px;width:100%;padding:clamp(1.75rem,5vw,2.8rem) clamp(1.25rem,4vw,2.2rem);border-radius:26px;background:radial-gradient(circle at top,#ffe8f4 0,#fff 55%);text-align:center;box-shadow:0 20px 50px #ad78be66}.cement-intro-title{font-size:1.5rem;margin-bottom:.4rem;color:#d474a6}.cement-intro-sub{font-size:.98rem;opacity:.8;margin-bottom:1.8rem}.cement-bag-button{border:none;background:none;cursor:pointer}.cement-image{max-width:220px;height:auto;filter:drop-shadow(0 18px 35px rgba(90,61,121,.45))}.cement-rip-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.cement-rip-left,.cement-rip-right{position:absolute;top:50%;width:60%;height:40%;background:#ffe4f2;border-radius:28px;box-shadow:0 18px 40px #a55f9966}.cement-rip-left{left:0;transform-origin:right center}.cement-rip-right{right:0;transform-origin:left center}.cement-rip-text{position:relative;z-index:2;font-size:2rem;color:#d474a6;text-shadow:0 6px 24px rgba(131,80,144,.5)}.landing-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem}.landing-inner{max-width:520px;width:100%;padding:clamp(1.75rem,5vw,3rem) clamp(1.25rem,4vw,2.5rem);border-radius:28px;text-align:center;background:#ffffffdb;box-shadow:0 18px 45px #e7a0c159;border:1px solid rgba(255,182,193,.45);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.landing-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:#98648b;margin-bottom:.75rem}.landing-title{font-size:clamp(2.5rem,7vw,3.4rem);color:#d474a6;margin-bottom:.75rem}.landing-subtitle{font-size:1.02rem;margin-bottom:2.3rem;color:#6b4769}.primary-btn{border:none;padding:.95rem clamp(1.25rem,4vw,2.4rem);min-height:44px;border-radius:999px;background:linear-gradient(135deg,#ff9ac6,#ffce92);color:#4b304a;font-weight:600;cursor:pointer;box-shadow:0 10px 25px #ffa3c299;font-size:clamp(.9rem,2.8vw,1rem);max-width:100%}.landing-hint{margin-top:1.5rem;font-size:.9rem;opacity:.7}.typing-section .typing-container{padding:clamp(1.35rem,4vw,2rem) clamp(1.1rem,3.5vw,1.75rem);border-radius:24px;background:#ffffffe6;border:1px solid rgba(222,176,255,.6);box-shadow:0 12px 35px #bea0ff59}.typing-line{font-size:clamp(1.05rem,3.8vw,1.3rem);margin-bottom:.8rem;min-height:1.4em;word-break:break-word}.typing-line.is-done{color:#7a5276}.typing-cursor{display:inline-block;width:1px;margin-left:4px;background:#d474a6;animation:blink .9s steps(2,start) infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.continue-section{margin-top:2.5rem}.continue-btn{background:linear-gradient(135deg,#a5b4ff,#ff9ac6)}.lyric-section{margin-top:3rem}.lyric-stage{position:relative;border-radius:28px;padding:clamp(1.75rem,4vw,2.4rem) clamp(1rem,3vw,1.5rem) clamp(2.25rem,5vw,3rem);overflow:hidden;background:linear-gradient(145deg,#0c0a14,#151028 40%,#0a0812);box-shadow:0 28px 70px #050312eb,inset 0 1px #ffffff0f;border:1px solid rgba(180,140,255,.12)}.lyric-stage-glow{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(ellipse 80% 50% at 20% 0%,rgba(255,120,200,.22) 0%,transparent 55%),radial-gradient(ellipse 60% 40% at 85% 90%,rgba(120,180,255,.18) 0%,transparent 50%);pointer-events:none;animation:lyricGlowDrift 10s ease-in-out infinite}@keyframes lyricGlowDrift{0%,to{transform:translate(0) rotate(0);opacity:1}50%{transform:translate(3%,-2%) rotate(2deg);opacity:.85}}.lyric-stage-noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.06;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.lyric-stage-pulse{animation:lyricStagePulse .85s ease-out}@keyframes lyricStagePulse{0%{box-shadow:0 28px 70px #050312eb,inset 0 1px #ffffff0f}45%{box-shadow:0 32px 85px #c864ff59,inset 0 1px #ffffff1a}to{box-shadow:0 28px 70px #050312eb,inset 0 1px #ffffff0f}}.lyric-stage-header{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem}.lyric-equalizer{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:28px}.lyric-eq-bar{width:5px;border-radius:999px;background:linear-gradient(to top,#ff6eb7,#b8a4ff);animation:lyricEq .85s ease-in-out infinite alternate}.lyric-eq-bar:nth-child(1){height:10px}.lyric-eq-bar:nth-child(2){height:22px}.lyric-eq-bar:nth-child(3){height:16px}.lyric-eq-bar:nth-child(4){height:26px}.lyric-eq-bar:nth-child(5){height:14px}@keyframes lyricEq{0%{transform:scaleY(.35);opacity:.65}to{transform:scaleY(1);opacity:1}}.lyric-now-playing{font-family:Outfit,system-ui,sans-serif;font-size:clamp(.62rem,2.5vw,.72rem);letter-spacing:clamp(.08em,.04em + .5vw,.22em);text-transform:uppercase;color:#e8b4ff;text-shadow:0 0 24px rgba(232,180,255,.45);text-align:center;max-width:100%;padding:0 .35rem;line-height:1.35;-webkit-hyphens:auto;hyphens:auto}.lyric-spot{position:relative;z-index:1;max-width:640px;margin:0 auto;text-align:center;perspective:900px}.lyric-vinyl{position:relative;width:72px;height:72px;margin:0 auto 1.25rem}.lyric-vinyl-disc{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 180deg,#1a1528,#2d2640,#1f1a30,#3a2f4a,#1a1528);box-shadow:inset 0 0 0 2px #ffffff0f,0 12px 28px #0000008c;animation:lyricSpin 18s linear infinite}.lyric-vinyl-label{position:absolute;top:50%;left:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ff9ac6,#a78bfa);box-shadow:0 0 0 3px #00000059}@keyframes lyricSpin{to{transform:rotate(360deg)}}.lyric-tagline{font-family:Outfit,system-ui,sans-serif;font-size:clamp(.7rem,2.2vw,.78rem);letter-spacing:clamp(.1em,.06em + .5vw,.18em);text-transform:uppercase;color:#c4b8ff;margin-bottom:1.5rem;padding:0 .25rem}.lyric-line{font-family:Fraunces,Georgia,serif;font-size:clamp(1.2rem,4.5vw,2.05rem);font-weight:500;line-height:1.35;margin-bottom:1.35rem;color:#fff8ff;text-shadow:0 0 28px rgba(209,162,255,.55),0 2px 20px rgba(0,0,0,.45);transform-style:preserve-3d;word-break:break-word;overflow-wrap:anywhere;padding:0 .15rem}.lyric-line-bass{animation:lyricBass .65s ease-out}@keyframes lyricBass{0%{transform:translateY(0)}25%{transform:translateY(-6px)}50%{transform:translateY(0)}75%{transform:translateY(-3px)}to{transform:translateY(0)}}.lyric-progress{max-width:220px;height:4px;margin:1.5rem auto 0;border-radius:999px;background:#ffffff14;overflow:hidden}.lyric-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff7eb9,#c4a5ff,#7ecbff);transform-origin:left center;transform:scaleX(0)}.lyric-hint{margin-top:1.35rem;font-family:Outfit,system-ui,sans-serif;font-size:.92rem;color:#a79ad9;line-height:1.45}.gallery-section{margin-top:3.5rem}.gallery-title{margin-bottom:.5rem}.gallery-intro{text-align:center;margin-bottom:2rem}.gallery-bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.5rem,2vw,1rem);width:100%}@media (min-width: 640px){.gallery-bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(100px,120px);gap:1rem}.gallery-tile-1{grid-column:span 2;grid-row:span 2}.gallery-tile-2{grid-column:span 2}.gallery-tile-3,.gallery-tile-4{grid-column:span 1}}.gallery-tile{display:block;padding:0;border:none;cursor:pointer;border-radius:20px;background:transparent;text-align:left;font:inherit;color:inherit}.gallery-tile-inner{position:relative;height:100%;min-height:clamp(120px,32vw,180px);border-radius:20px;overflow:hidden;box-shadow:0 14px 36px #4b304a47;border:1px solid rgba(255,255,255,.35)}@media (min-width: 640px){.gallery-tile-1 .gallery-tile-inner{min-height:100%}.gallery-tile-inner{min-height:120px}}.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.gallery-tile:hover img{transform:scale(1.06)}.gallery-tile-meta{position:absolute;inset:auto 0 0 0;padding:1rem .85rem .75rem;background:linear-gradient(to top,rgba(20,10,30,.88),transparent);display:flex;flex-direction:column;gap:.25rem}.gallery-tile-year{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#ffc8e8}.gallery-tile-cap{font-size:.78rem;line-height:1.35;color:#fff8ff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gallery-lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:max(.5rem,env(safe-area-inset-top,0px)) max(.5rem,env(safe-area-inset-right,0px)) max(.5rem,env(safe-area-inset-bottom,0px)) max(.5rem,env(safe-area-inset-left,0px));background:#0c0614e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain;touch-action:manipulation}.gallery-lightbox-figure{position:relative;width:min(92vw,720px);max-width:100%;margin:auto;border-radius:20px;overflow:hidden;box-shadow:0 28px 70px #0000008c;border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:stretch;min-height:0;max-height:min(calc(100svh - 1rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)),calc(100dvh - 1rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)))}.gallery-lightbox-media{flex:1 1 auto;min-height:0;width:100%;max-height:min(calc(100svh - 11rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)),calc(100dvh - 11rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));display:flex;align-items:center;justify-content:center;background:#050308}.gallery-lightbox-figure img{display:block;width:auto;height:auto;max-width:100%;max-height:min(calc(100svh - 11rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)),calc(100dvh - 11rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));object-fit:contain;object-position:center;vertical-align:middle}.gallery-lightbox-caption{padding:.85rem 1rem 1rem;background:linear-gradient(to top,#1a1028,#251838);color:#fcecff;flex-shrink:0;overflow-wrap:anywhere}.gallery-lightbox-year{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#e8b4ff;margin-bottom:.35rem}.gallery-lightbox-caption p{font-size:.95rem;line-height:1.45;margin:0}.gallery-lightbox-close{position:absolute;top:max(.5rem,env(safe-area-inset-top,0px));right:max(.5rem,env(safe-area-inset-right,0px));z-index:2;min-width:44px;min-height:44px;width:44px;height:44px;padding:0;border:none;border-radius:999px;background:#0a0514bf;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;touch-action:manipulation}.gallery-lightbox-close:hover{background:#ff64a08c}.fortune-section .fortune-card{margin-top:2.2rem;border-radius:24px;padding:2.1rem 1.8rem;background:#fffffff0;box-shadow:0 16px 40px #a37dd066;text-align:center}.fortune-btn{margin-top:1.3rem}.fortune-result-wrapper{min-height:3rem;margin-top:1.2rem}.fortune-text{font-size:1.02rem;color:#6b4769}.cakegame-section .cakegame-card{margin-top:1.8rem;border-radius:26px;padding:1.6rem 1.6rem 1.9rem;background:#fffffff5;box-shadow:0 18px 48px #9c7ad180}.cakegame-header{display:flex;justify-content:space-between;margin-bottom:.8rem;font-weight:500}.cakegame-playfield{position:relative;margin:.7rem 0 1.2rem;height:220px;border-radius:20px;background:linear-gradient(180deg,#ffe8f4,#fff7e6);overflow:hidden}.cakegame-cake{position:absolute;transform:translate(-50%,-50%);font-size:1.6rem}.cakegame-basket{position:absolute;bottom:10px;transform:translate(-50%);font-size:1.8rem}.cakegame-result{text-align:center;margin-top:.6rem}.friendship-section .friendship-grid{margin-top:2.2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1.4rem}.friendship-card{border-radius:22px;padding:1.3rem 1.3rem 1.5rem;background:#fffffff0;box-shadow:0 14px 35px #9373c773}.friendship-card h3{margin-bottom:.4rem;font-size:1.05rem}.friendship-card p{font-size:.95rem}.friendship-emoji{font-size:1.6rem;margin-bottom:.6rem}.finale-section{margin-top:3.2rem;display:flex;justify-content:center}.finale-card{text-align:center;max-width:520px;width:100%;padding:clamp(1.75rem,5vw,2.4rem) clamp(1.25rem,4vw,2rem);border-radius:28px;background:radial-gradient(circle at top,#ffe9f7 0,#fff 55%,#f3e3ff);box-shadow:0 24px 60px #b284dc99}.finale-card h2{font-size:clamp(2.1rem,5vw,2.7rem);margin-bottom:1rem;color:#d474a6}.finale-card p{margin-bottom:1.5rem}.finale-btn{margin-top:.5rem}.finale-insta-wrapper{margin-top:2rem}.finale-insta-text{font-size:.95rem;margin-bottom:.7rem;color:#7a4f88}.finale-insta-image{max-width:260px;width:100%;border-radius:20px;box-shadow:0 18px 45px #a76bd699}.gift-section .gift-button,.cake-section .cake-button{border:none;background:none;margin-top:2rem;cursor:pointer}.gift-box{position:relative;width:180px;height:160px}.gift-lid{position:absolute;top:0;left:0;right:0;height:55px;border-radius:18px 18px 12px 12px;background:linear-gradient(135deg,#ffb6d9,#ffc9a3)}.gift-base{position:absolute;bottom:0;left:0;right:0;height:110px;border-radius:12px 12px 18px 18px;background:linear-gradient(135deg,#ffe3f0,#fff0d6)}.gift-ribbon-vertical,.gift-ribbon-horizontal{position:absolute;background:#e67aaae6}.gift-ribbon-vertical{width:26px;top:0;bottom:0;left:50%;transform:translate(-50%);border-radius:999px}.gift-ribbon-horizontal{height:22px;left:0;right:0;top:46%}.gift-message{position:absolute;top:-70px;left:50%;transform:translate(-50%);background:#fff;padding:.8rem 1rem;border-radius:16px;width:min(220px,calc(100vw - 3rem));max-width:92vw;font-size:.9rem;box-shadow:0 10px 30px #d284b34d;word-break:break-word}.cake{position:relative;width:200px;height:160px;margin-top:1.5rem;transition:transform .4s ease}.cake-layer{position:absolute;left:50%;transform:translate(-50%);border-radius:16px 16px 20px 20px}.cake-layer-top{bottom:100px;width:120px;height:35px;background:linear-gradient(135deg,#ffe0f4,#ffe7ba)}.cake-layer-middle{bottom:65px;width:150px;height:38px;background:linear-gradient(135deg,#ffbad5,#ffe0a3)}.cake-layer-bottom{bottom:30px;width:180px;height:40px;background:linear-gradient(135deg,#ff92c5,#ffd27f)}.cake-plate{position:absolute;bottom:16px;left:50%;transform:translate(-50%);width:210px;height:10px;border-radius:999px;background:#f5f5ff;box-shadow:0 4px 12px #67579b40}.cake-candle{position:absolute;bottom:135px;left:50%;transform:translate(-50%);width:10px;height:34px;background:repeating-linear-gradient(45deg,#ffbfd7,#ffbfd7 4px,#ffeef7 4px,#ffeef7 8px);border-radius:999px}.candle-flame{position:absolute;top:-14px;left:50%;transform:translate(-50%);width:16px;height:22px;border-radius:50%;background:radial-gradient(circle at 30% 10%,#fff7c1 0,#ffb347 40%,#ff8a65 70%);animation:flicker .9s infinite alternate}@keyframes flicker{0%{transform:translate(-50%) scale(1)}to{transform:translate(-50%) scale(1.1)}}.cake-cut{transform:translate(-6px) rotate(-2deg)}.cake-message{margin-top:1.2rem;font-weight:500;color:#7a4f88}.timeline-section .timeline{margin-top:2.5rem;display:flex;flex-direction:column;gap:2.5rem}.timeline-card{position:relative;display:flex}.timeline-line{position:absolute;left:16px;top:0;bottom:-2.5rem;width:2px;background:linear-gradient(to bottom,#ffc1e5,transparent)}.timeline-dot{position:relative;margin-top:.6rem;width:14px;height:14px;border-radius:999px;background:#ff9ac6;box-shadow:0 0 0 6px #ffb1d64d}.timeline-content{margin-left:2.5rem;display:flex;gap:1.2rem;align-items:center;min-width:0;flex:1}.timeline-image-wrapper{flex-shrink:0;width:150px;height:110px;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px #634b8247;background:#f6f0ff}.timeline-image{width:100%;height:100%;object-fit:cover}.timeline-text{max-width:420px;min-width:0}.timeline-year{font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;color:#a47eb1;margin-bottom:.4rem}.timeline-caption{font-size:.98rem;word-break:break-word}@media (max-width: 640px){.timeline-section .timeline{gap:2rem}.timeline-line{left:12px}.timeline-dot{margin-top:.4rem}.timeline-content{flex-direction:column;align-items:stretch;margin-left:2rem;gap:1rem}.timeline-image-wrapper{width:100%;max-width:none;height:auto;aspect-ratio:4 / 3;min-height:unset}.timeline-text{max-width:none}}.secret-section{display:flex;justify-content:center}.secret-card{max-width:540px;width:100%;padding:clamp(1.75rem,5vw,2.4rem) clamp(1.25rem,4vw,2.1rem);border-radius:26px;text-align:center;background:radial-gradient(circle at top,#ffe9f6 0,#fff 55%,#f3e3ff);box-shadow:0 16px 40px #ba84dc66}.secret-card h2{font-size:1.5rem;margin-bottom:1rem;color:#d474a6}.secret-card p{margin-bottom:.5rem}.secret-label{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:#9a6cb0;margin-bottom:.7rem}.special-video-section{display:flex;justify-content:center}.special-video-card{width:100%;max-width:640px;padding:clamp(1.75rem,5vw,2.4rem) clamp(1.25rem,4vw,2rem);border-radius:26px;text-align:center;background:linear-gradient(160deg,#1a0f28,#2d1a3d 40%,#120a1a);color:#f4e8ff;box-shadow:0 20px 50px #28143c8c,inset 0 1px #ffffff0f;border:1px solid rgba(200,160,255,.15)}.special-video-label{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#d4a8ff;margin-bottom:.65rem}.special-video-title{font-size:clamp(1.35rem,4.5vw,1.75rem);font-weight:600;margin-bottom:.75rem;color:#fff8ff;line-height:1.25}.special-video-lead{font-size:clamp(.92rem,2.8vw,1.02rem);opacity:.88;margin-bottom:1.5rem;line-height:1.45}.special-video-play-btn{background:linear-gradient(135deg,#ff7eb9,#c4a5ff);color:#2a1530}.special-video-frame{width:100%;border-radius:18px;overflow:hidden;background:#0a060e;box-shadow:0 16px 40px #00000073;border:1px solid rgba(255,255,255,.08)}.special-video-element{display:block;width:100%;max-height:min(70dvh,520px);height:auto;background:#000}.special-video-error{margin-top:1rem;font-size:.88rem;color:#ffb4c8}.music-player{display:flex;align-items:center;gap:.5rem}.music-toggle{border:none;border-radius:999px;padding:.5rem .85rem;min-height:40px;font-size:clamp(.75rem,2.5vw,.85rem);background:#ffffffe0;box-shadow:0 8px 22px #a370c066;cursor:pointer;white-space:nowrap}.cake3d-section .cake3d-wrapper{margin-top:2.2rem;border-radius:26px;padding:clamp(1rem,3vw,1.6rem);background:#ffffffe6;box-shadow:0 16px 40px #9674d373;cursor:pointer;width:100%;max-width:100%;box-sizing:border-box}.cake3d-message{margin-top:1.3rem;font-weight:500;color:#7a4f88}.midnight-section{display:flex;justify-content:center}.midnight-card{max-width:520px;width:100%;padding:2rem 1.7rem;border-radius:22px;background:radial-gradient(circle at top,#110a2f 0,#1a103f 40%,#2a184f);color:#f8ecff;box-shadow:0 22px 55px #1d0838e6;position:relative;overflow:hidden}.midnight-card:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(circle at top,rgba(255,255,255,.16) 0,transparent 50%);opacity:.4;animation:midnightGlow 6s ease-in-out infinite}@keyframes midnightGlow{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-12%);opacity:.7}}.midnight-locked{text-align:center;font-size:.98rem}.midnight-unlocked{position:relative;z-index:1;text-align:center}.midnight-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:#c1a7ff;margin-bottom:.7rem}.midnight-unlocked h3{font-size:1.4rem;margin-bottom:.5rem}.midnight-strong{margin-top:.9rem;font-weight:600;color:#ffd8ff}.gauri-ai-widget{position:fixed;right:max(.75rem,env(safe-area-inset-right,0px));bottom:max(.75rem,env(safe-area-inset-bottom,0px));width:min(260px,calc(100vw - 1.5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-width:100%;border-radius:18px;background:#221133f5;color:#f8ecff;box-shadow:0 18px 45px #110322d9;padding:.9rem;z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.gauri-ai-header{font-size:.82rem;margin-bottom:.55rem;color:#e2c8ff}.gauri-ai-body{min-height:54px;font-size:.86rem;margin-bottom:.7rem}.gauri-ai-message{opacity:.9}.gauri-ai-button{width:100%;border-radius:999px;border:none;padding:.45rem .7rem;font-size:.82rem;background:linear-gradient(135deg,#ff9ac6,#ffce92);cursor:pointer;color:#3b2138;font-weight:600}@media (max-width: 640px){.app-main{padding-bottom:max(8rem,calc(env(safe-area-inset-bottom,0px) + 7rem))}.continue-section{scroll-margin-bottom:6rem}}@media (min-width: 768px){.app-main{padding-top:5rem;padding-left:max(2.5rem,env(safe-area-inset-left,0px));padding-right:max(2.5rem,env(safe-area-inset-right,0px));padding-bottom:max(7rem,env(safe-area-inset-bottom,0px))}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:clip}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top,#ffe4f0 0,#fff7e6 45%,#f5ecff);color:#4b304a;min-height:100vh;min-height:100dvh;overflow-x:clip;-webkit-font-smoothing:antialiased}#root{min-height:100vh;min-height:100dvh}button{font-family:inherit}a{color:inherit;text-decoration:none}.floating-background{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:-1}.floating-heart,.floating-sparkle,.floating-flower{position:absolute;opacity:.6;animation:floatUp 18s linear infinite;filter:drop-shadow(0 0 6px rgba(255,182,193,.5))}.floating-heart{color:#ff8fb7}.floating-sparkle{color:#ffd27f}.floating-flower{color:#ffbde6;animation-duration:22s}@keyframes floatUp{0%{transform:translateY(0) translate(0) scale(.9);opacity:.1}20%{opacity:.8}to{transform:translateY(-120vh) translate(40px) scale(1.2);opacity:0}}
