:root{color:#fff8ff;background:#090817;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--rose: #ff72b6;--cyan: #76e7ff;--gold: #ffe29b;--violet: #bda4ff}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button{border:0;color:inherit;font:inherit}.app-shell{position:relative;display:grid;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 14% 18%,rgba(255,155,205,.22),transparent 28%),radial-gradient(circle at 86% 24%,rgba(91,228,255,.2),transparent 30%),radial-gradient(circle at 50% 92%,rgba(255,216,143,.16),transparent 34%),linear-gradient(150deg,#0a0717,#191033 46%,#071d2d)}.starfield,.aurora{position:absolute;inset:0}.starfield{z-index:0}.starfield canvas{display:block;width:100%;height:100%}.fallback{overflow:hidden;opacity:var(--sky-intensity, 1);background:radial-gradient(circle at 25% 22%,rgba(255,255,255,.95) 0 1px,transparent 2px),radial-gradient(circle at 68% 18%,rgba(255,255,255,.86) 0 1px,transparent 2px),radial-gradient(circle at 78% 63%,rgba(255,255,255,.78) 0 1px,transparent 2px),radial-gradient(circle at 30% 72%,rgba(255,114,182,.32),transparent 30%),radial-gradient(circle at 76% 38%,rgba(118,231,255,.28),transparent 34%)}.fallback-star{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 26px #fff,0 0 52px var(--rose)}.star-one{left:24%;top:29%}.star-two{right:25%;top:22%}.star-three{left:53%;top:58%}.fallback-orbit{position:absolute;left:50%;top:50%;width:min(72vw,390px);height:min(72vw,390px);border:1px solid rgba(255,255,255,.16);border-radius:50%;transform:translate(-50%,-50%) rotate(-16deg)}.mode-chip{position:absolute;top:16px;right:16px;z-index:1;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 10px;background:#0606126b;color:#ffffffb8;font-size:12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.scene-finale .mode-chip{opacity:0}.aurora{z-index:1;pointer-events:none;mix-blend-mode:screen}.fireworks-layer{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;opacity:.92;filter:saturate(1.22) contrast(1.08);mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 45% 34% at 50% 34%,rgba(0,0,0,.08) 0%,rgba(0,0,0,.2) 28%,rgba(0,0,0,.64) 48%,#000 66%);mask-image:radial-gradient(ellipse 45% 34% at 50% 34%,#00000014,#0003 28%,#000000a3 48%,#000 66%)}.music-star-sea{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;opacity:0;filter:saturate(1.22) contrast(1.05);mix-blend-mode:screen;animation:musicStarSeaArrive 1.4s ease .12s forwards;-webkit-mask-image:radial-gradient(ellipse 46% 36% at 50% 37%,rgba(0,0,0,.24) 0%,rgba(0,0,0,.58) 44%,#000 72%),linear-gradient(180deg,#000 0 74%,rgba(0,0,0,.26) 93%,transparent 100%);mask-image:radial-gradient(ellipse 46% 36% at 50% 37%,#0000003d,#00000094 44%,#000 72%),linear-gradient(180deg,#000 0 74%,rgba(0,0,0,.26) 93%,transparent 100%)}@keyframes musicStarSeaArrive{0%{opacity:0;transform:scale(1.02)}to{opacity:.76;transform:scale(1)}}.heart-intro-layer{position:absolute;inset:0;z-index:9;overflow:hidden;pointer-events:none;background:#000;animation:introLayerFade 24s ease forwards}.intro-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 58% 42% at 50% 42%,transparent 0 38%,rgba(0,0,0,.34) 70%,rgba(0,0,0,.88) 100%),linear-gradient(90deg,rgba(255,255,255,.025),transparent 28% 72%,rgba(118,231,255,.035));mix-blend-mode:screen}.intro-ambient-stars{position:absolute;inset:0;z-index:1;overflow:hidden}.intro-ambient-star{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.98) 0 22%,rgba(174,246,255,.72) 45%,transparent 76%);box-shadow:0 0 8px #ffffff85,0 0 18px #76e7ff38;opacity:var(--opacity);transform:translate(-50%,-50%) scale(.72);animation:introAmbientStarTwinkle 4.2s ease-in-out infinite;animation-delay:var(--delay);will-change:transform,opacity}.intro-countdown-stage{position:absolute;left:50%;top:42%;z-index:4;width:min(86vw,430px);aspect-ratio:1;transform:translate(-50%,-50%);animation:introCountdownStage 5.4s ease forwards;filter:drop-shadow(0 0 18px rgba(91,231,255,.54)) drop-shadow(0 0 32px rgba(189,164,255,.3)) drop-shadow(0 0 48px rgba(255,114,182,.22));mix-blend-mode:screen}.intro-countdown-digit{position:absolute;inset:0;opacity:0;animation:introCountdownDigit 1s cubic-bezier(.18,.72,.2,1) both;animation-delay:var(--digit-delay)}.intro-countdown-particle{position:absolute;left:50%;top:50%;width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,#ffffff 0 16%,#dcffff 30%,hsl(var(--hue) 100% 74% / .96) 55%,hsl(var(--hue) 100% 62% / .3) 72%,transparent 84%);box-shadow:0 0 8px #ffffffe0,0 0 18px hsl(var(--hue) 100% 72% / .66),0 0 30px hsl(var(--hue) 100% 64% / .34);opacity:0;transform:translate(-50%,-50%) translate(var(--scatter-x),var(--scatter-y)) scale(.24);animation:introCountdownParticle .92s cubic-bezier(.18,.72,.18,1) both;animation-delay:calc(var(--digit-delay) + var(--particle-delay));will-change:transform,opacity}.intro-countdown-handoff-particle{position:absolute;left:50%;top:50%;width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,#fff 0 12%,#dffcff 26%,hsl(var(--hue) 100% 74% / .9) 48%,rgba(255,96,190,.64) 70%,transparent 84%);box-shadow:0 0 12px #ffffffd1,0 0 26px hsl(var(--hue) 100% 70% / .62),0 0 40px #ff56b857;opacity:0;transform:translate(-50%,-50%) translate(var(--from-x),var(--from-y)) scale(.4);animation:introCountdownHandoff .82s cubic-bezier(.22,.72,.2,1) forwards;animation-delay:var(--delay);will-change:transform,opacity}.intro-heart-stage{position:absolute;left:50%;top:41%;z-index:2;width:min(166vw,700px);aspect-ratio:16 / 10;opacity:1;transform:translate(-50%,-50%) scale(.78);animation:introStagePush 24s cubic-bezier(.18,.78,.22,1) forwards;filter:drop-shadow(0 0 18px rgba(255,72,176,.5)) drop-shadow(0 0 42px rgba(255,72,176,.25))}.intro-heart-glow{position:absolute;left:50%;top:50%;width:min(84vw,350px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,116,206,.18) 0 18%,rgba(255,79,196,.24) 38%,rgba(255,79,196,.12) 56%,transparent 74%);transform:translate(-50%,-50%) scale(.62);opacity:0;animation:introGlowTravel 4.9s ease-in-out forwards;animation-delay:5.05s;mix-blend-mode:screen}.intro-trace-particle,.intro-heart-edge-particle,.intro-burst-ray,.intro-draw-trail,.intro-inner-spark,.intro-heart-letter-particle,.intro-heart-text-particle{position:absolute;left:50%;top:50%;pointer-events:none}.intro-bridge-firework{position:absolute;inset:0;z-index:7;overflow:hidden;pointer-events:none;mix-blend-mode:screen}.intro-bridge-firework:before{position:absolute;left:50%;top:42%;width:min(72vw,320px);aspect-ratio:1;border-radius:50%;content:"";background:radial-gradient(circle,rgba(255,255,255,.92) 0 4%,rgba(255,226,155,.56) 9%,rgba(118,231,255,.22) 26%,rgba(255,114,182,.18) 42%,transparent 68%);opacity:0;transform:translate(-50%,-50%) scale(.08);animation:introBridgeFlash 3.1s ease-out forwards;animation-delay:12.75s}.intro-bridge-rocket,.intro-bridge-trail-particle,.intro-bridge-burst-particle{position:absolute;left:50%;top:50%;pointer-events:none}.intro-bridge-rocket{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#fff 0 16%,#fff2c6 30%,#78ecff 48%,#ff72b6 72%,transparent 86%);box-shadow:0 0 18px #fffffff0,0 0 38px #76e7ffc2,0 0 62px #ff72b68a;opacity:0;transform:translate(-50%,-50%) translateY(46vh) scale(.42);animation:introBridgeRocket 1.9s cubic-bezier(.16,.72,.2,1) forwards;animation-delay:10.95s}.intro-bridge-trail-particle{width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,#fff 0 12%,hsl(var(--hue) 100% 76% / .92) 42%,hsl(var(--hue) 100% 60% / 0) 78%);box-shadow:0 0 10px hsl(var(--hue) 100% 76% / .72),0 0 22px hsl(var(--hue) 100% 66% / .42);opacity:0;transform:translate(-50%,-50%) translate(var(--drift),48vh) scale(.36);animation:introBridgeTrail 1.75s cubic-bezier(.18,.66,.2,1) forwards;animation-delay:var(--delay)}.intro-bridge-burst-particle{width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,#fff 0 12%,hsl(var(--hue) 100% 74% / .96) 42%,hsl(var(--hue) 100% 58% / .62) 62%,transparent 82%);box-shadow:0 0 12px hsl(var(--hue) 100% 76% / .82),0 0 28px hsl(var(--hue) 100% 64% / .5);opacity:0;transform:translate(-50%,-50%) translateY(-8vh) rotate(var(--angle)) scale(.18);animation:introBridgeBurst 3.35s ease-out forwards;animation-delay:var(--delay)}.intro-rose-rain-interlude{position:absolute;inset:0;z-index:8;overflow:hidden;pointer-events:none;opacity:0;visibility:hidden;background:radial-gradient(ellipse 62% 44% at 50% 42%,rgba(255,72,176,.18),transparent 62%),radial-gradient(ellipse 80% 58% at 50% 70%,rgba(255,226,155,.08),transparent 64%),linear-gradient(180deg,#00000057,#24021652 52%,#00000094);animation:introRoseRain 24s ease forwards}.intro-rose-fog{position:absolute;left:50%;top:46%;width:min(120vw,620px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,206,231,.14) 0 12%,rgba(255,75,176,.16) 34%,rgba(118,231,255,.08) 52%,transparent 72%);filter:blur(18px);opacity:0;transform:translate(-50%,-50%) scale(.64);animation:introRoseFog 24s ease forwards;mix-blend-mode:screen}.intro-rose-petal,.intro-rose-light-particle{position:absolute;left:50%;top:50%;pointer-events:none}.intro-rose-petal{left:var(--x);top:0;width:var(--width);height:var(--height);border-radius:58% 42% 62% 38%/76% 78% 36% 34%;clip-path:polygon(50% 0%,64% 3%,79% 13%,92% 31%,96% 51%,89% 72%,72% 89%,55% 100%,45% 98%,28% 89%,11% 72%,4% 51%,8% 31%,21% 13%,36% 3%);background:radial-gradient(ellipse at 46% 18%,rgba(255,255,255,.66) 0 12%,transparent 34%),radial-gradient(ellipse at 38% 84%,hsl(var(--hue) 78% 48% / .34),transparent 56%),linear-gradient(142deg,hsl(var(--hue) 100% 90% / .96),hsl(var(--hue) 92% 72% / .9) 48%,hsl(var(--hue) 82% 58% / .78));box-shadow:inset 0 2px 4px #ffffff52,inset -3px -4px 6px hsl(var(--hue) 80% 42% / .18);opacity:0;transform-origin:50% 82%;transform:translate(-50%,-50%) translateY(var(--y)) rotate(var(--rotate)) scale(var(--scale));animation:introRosePetalFall var(--duration) cubic-bezier(.18,.62,.32,1) forwards;animation-delay:var(--delay);backface-visibility:hidden;contain:layout style paint;will-change:transform,opacity}.intro-rose-petal:before{position:absolute;left:6%;top:0;width:88%;height:34%;border-radius:58% 42% 48% 52%/78% 82% 22% 18%;content:"";background:radial-gradient(ellipse at 48% 18%,rgba(255,255,255,.62),transparent 42%),linear-gradient(180deg,rgba(255,238,248,.66),rgba(255,184,220,.16) 74%,transparent);opacity:.78;transform:rotate(var(--fold)) translateY(-8%)}.intro-rose-petal:after{display:none;content:none}.intro-rose-petal[data-rose-depth=far]{opacity:.86}.intro-rose-petal[data-rose-depth=mid]{opacity:.92}.intro-rose-petal[data-rose-depth=near]{opacity:1}.intro-rose-light-particle{width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,#fff 0 16%,hsl(var(--hue) 100% 78% / .92) 46%,hsl(var(--hue) 100% 62% / 0) 78%);box-shadow:0 0 12px hsl(var(--hue) 100% 76% / .76),0 0 26px #76e7ff42,0 0 34px #ffe29b2e;opacity:0;transform:translate(-50%,-50%) translate(var(--start-x),var(--start-y)) scale(.36);animation:introRoseLightGather 1.8s cubic-bezier(.2,.82,.18,1) forwards;animation-delay:var(--delay);will-change:transform,opacity}.intro-trace-particle{width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,#fff 0 12%,#ffd8ed 24%,#ff5fbd 56%,#ff60be00 78%);box-shadow:0 0 14px #ffeef8e6,0 0 28px #ff50bbe6,0 0 42px #ff50bb57;opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.36);animation:introTraceDraw 6.1s cubic-bezier(.18,.7,.22,1) forwards;animation-delay:var(--delay);will-change:transform,opacity}.intro-heart-edge-particle{width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,#fff 0 9%,#ffe4f4 22%,#ff63c1d6 52%,#ff63c100 78%);box-shadow:0 0 16px #ffecf8d1,0 0 32px #ff54b8c2,0 0 58px #ff54b852;opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.28);animation:introHeartEdgeDraw 6s cubic-bezier(.18,.7,.22,1) forwards;animation-delay:var(--delay);mix-blend-mode:screen;will-change:transform,opacity}.intro-burst-ray{width:var(--length);height:var(--thickness);border-radius:999px;background:linear-gradient(90deg,#fffffffa,#ff7fd2d1 42%,#ff49b800);box-shadow:0 0 10px #ffd3ecb8,0 0 22px #ff4ab88a;opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--angle)) scaleX(.05);transform-origin:left center;animation:introBurstRay 2.35s ease-out forwards;animation-delay:var(--delay);will-change:transform,opacity}.intro-draw-trail{width:var(--length);height:var(--thickness);border-radius:999px;background:linear-gradient(90deg,#fff0,#ffe1f3db 38%,#ff50bebd);box-shadow:0 0 8px #ffd6f0a3,0 0 18px #ff4ab866;opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--angle)) scaleX(.05);transform-origin:right center;animation:introDrawTrailSweep 1.18s cubic-bezier(.16,.72,.2,1) forwards;animation-delay:var(--delay);mix-blend-mode:screen;will-change:transform,opacity}.intro-inner-spark{width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,#fff 0 10%,#ff9eb9 28%,rgba(255,53,91,.88) 58%,transparent 74%);box-shadow:0 0 9px #ffb8ccb3,0 0 18px #ff386770;opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.4);animation:introInnerSpark 5.4s ease-in-out forwards;animation-delay:var(--delay);will-change:transform,opacity}.intro-heart-text{position:absolute;left:50%;top:51.5%;z-index:3;display:grid;place-items:center;width:min(78vw,340px);height:136px;color:#fff;opacity:0;transform:translate(-50%,-50%) scale(.66);animation:introHeartTextReveal 1.72s cubic-bezier(.18,.72,.2,1) forwards;animation-delay:6.34s;filter:drop-shadow(0 0 4px rgba(255,255,255,.42)) drop-shadow(0 0 10px rgba(84,232,255,.34)) drop-shadow(0 0 16px rgba(76,146,255,.12));mix-blend-mode:normal}.intro-heart-letter-particle{z-index:3;width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,#ffffff 0 16%,#d9fdff 30%,hsl(var(--hue) 100% 70% / .98) 58%,hsl(var(--hue) 100% 58% / .34) 74%,transparent 86%);box-shadow:0 0 10px #ffffffeb,0 0 18px hsl(var(--hue) 100% 68% / .82),0 0 28px #4c92ff6b,0 0 42px #54e8ff2e;opacity:0;transform:translate(-50%,-50%) translate(calc(var(--x) + var(--scatter-x)),calc(var(--y) + var(--scatter-y))) scale(.24);animation:introHeartLetterAssemble 1.92s cubic-bezier(.18,.72,.18,1) forwards;animation-delay:var(--delay);will-change:transform,opacity}.intro-heart-name-particle{background:radial-gradient(circle,#ffffff 0 16%,#e5fdff 30%,hsl(var(--hue) 100% 74% / .96) 58%,hsl(var(--hue) 100% 58% / .24) 76%,transparent 88%);box-shadow:0 0 4px #ffffffc2,0 0 9px hsl(var(--hue) 100% 70% / .52),0 0 15px #4cafff2e,0 0 22px #54e8ff14}.intro-heart-number-particle{background:radial-gradient(circle,#ffffff 0 14%,#eaffff 30%,hsl(var(--hue) 100% 74% / .92) 56%,hsl(var(--hue) 100% 60% / .22) 72%,transparent 86%);box-shadow:0 0 4px #ffffffad,0 0 8px hsl(var(--hue) 100% 72% / .42),0 0 13px #54e8ff1f;filter:saturate(1.02);opacity:0}.intro-heart-text-particle{width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,#fff 0 14%,hsl(var(--hue) 100% 78% / .92) 40%,transparent 74%);box-shadow:0 0 9px #ffffffc2,0 0 20px hsl(var(--hue) 100% 72% / .7),0 0 32px #4c92ff47;opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.28);animation:introHeartTextParticle 1.86s ease-in-out forwards;animation-delay:var(--delay);will-change:transform,opacity}.heart-effect{position:absolute;left:50%;top:31%;z-index:3;width:min(90vw,410px);aspect-ratio:1;pointer-events:none;transform:translate(-50%,-50%);animation:heartStageBeat 1.68s cubic-bezier(.22,.68,.28,1) infinite;filter:drop-shadow(0 0 12px rgba(255,255,255,.2)) drop-shadow(0 0 34px rgba(255,75,160,.56)) drop-shadow(0 0 46px rgba(118,231,255,.12));will-change:transform}.heart-particle,.heart-core-particle,.heart-outline-particle,.heart-orbit-particle,.heart-spark-particle,.top-star-particle,.fountain-particle,.aqua-stream-particle,.aqua-ring-particle{position:absolute;left:50%;top:50%;border-radius:50%;pointer-events:none}.top-star-particle{width:var(--size);height:var(--size);background:radial-gradient(circle,rgba(255,255,255,.98) 0 18%,rgba(255,226,155,.92) 34%,rgba(255,114,182,.28) 58%,transparent 74%);box-shadow:0 0 8px #ffffffb8,0 0 18px #ffe29b57;opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.72);animation:topStarTwinkle 3.2s ease-in-out infinite;animation-delay:var(--delay);will-change:transform,opacity}.heart-particle{width:var(--size);height:var(--size);background:radial-gradient(circle,#fff 0 8%,#ffbfdc 18%,#ff489cf5 58%,#ff2b8600 74%);box-shadow:0 0 7px #ffd3eab8,0 0 17px #ff469aeb,0 0 28px #ff469a57;opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.9);animation:heartParticleDrift 3.18s ease-in-out infinite;animation-delay:var(--delay);will-change:transform,opacity}.heart-core-particle{width:var(--size);height:var(--size);background:radial-gradient(circle,#fff 0 10%,#ffd3ea 22%,#ff54a9f0 58%,#ff2b8600 76%);box-shadow:0 0 8px #ffe4f1bd,0 0 16px #ff53a9d1,0 0 24px #ff53a94d;opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.82);animation:heartCorePulse 2.84s ease-in-out infinite;animation-delay:var(--delay);will-change:transform,opacity}.heart-outline-particle{width:var(--size);height:var(--size);background:radial-gradient(circle,#fff 0 12%,#ffd6ee 24%,#ff4c9e 56%,#ff399400 76%);box-shadow:0 0 10px #ffdcefdb,0 0 20px #ff3a95fa,0 0 38px #ff3a957a;opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.92);animation:heartOutlineDrift 3.04s ease-in-out infinite;animation-delay:var(--delay);will-change:transform,opacity}.heart-orbit-particle{width:var(--size);height:var(--size);background:radial-gradient(circle,#fff 0 14%,#ffd9ef 28%,#ff4ca0f5 58%,#ff399400 78%);box-shadow:0 0 10px #ffe8f4d6,0 0 22px #ff4aa0eb,0 0 40px #ff4aa070;opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.86);animation:heartEdgeOrbit 3.36s linear infinite;animation-delay:var(--delay);will-change:transform,opacity}.heart-spark-particle{width:var(--size);height:var(--size);background:radial-gradient(circle,#fff 0 20%,#ffe4f4 34%,rgba(255,96,178,.78) 56%,transparent 74%);box-shadow:0 0 9px #ffffffd1,0 0 18px #ff5caf8f;opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.7);animation:heartSparkFloat 3.28s ease-in-out infinite;animation-delay:var(--delay);will-change:transform,opacity}.fountain-particle{width:var(--size);height:var(--size);background:radial-gradient(circle,#fffffffa,#ffffffd1 46%,#fff0 72%);box-shadow:0 0 10px #ffffffd6,0 0 24px #ffffff42;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.4);animation:fountainRise 2.7s ease-out infinite;animation-delay:var(--delay);opacity:0}.aqua-stream-particle{width:var(--size);height:var(--size);background:radial-gradient(circle,#f8ffff 0 13%,#9ff5ff 32%,rgba(80,229,255,.88) 58%,transparent 76%);box-shadow:0 0 10px #b4faffd6,0 0 24px #5be7ff94,0 0 36px #5be7ff38;opacity:0;transform:translate(-50%,-50%) translate(var(--from-x),var(--from-y)) scale(.42);animation:aquaStreamToHeart 4.15s cubic-bezier(.3,.02,.18,1) infinite;animation-delay:var(--delay);will-change:transform,opacity}.aqua-ring-particle{width:var(--size);height:var(--size);background:radial-gradient(circle,#f8ffff 0 14%,#76e7ff 40%,rgba(43,220,255,.74) 62%,transparent 72%);box-shadow:0 0 13px #76e7ffe6,0 0 30px #76e7ff6b;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.9);animation:aquaRingPulse 3.4s ease-in-out infinite;animation-delay:var(--delay);opacity:.78}@keyframes heartStageBeat{0%,to{transform:translate(-50%,-50%) scale(.94)}10%{transform:translate(-50%,-50%) scale(.98)}20%{transform:translate(-50%,-50%) scale(1.12)}31%{transform:translate(-50%,-50%) scale(1.02)}43%{transform:translate(-50%,-50%) scale(1.08)}58%{transform:translate(-50%,-50%) scale(.99)}76%{transform:translate(-50%,-50%) scale(.96)}}@keyframes topStarTwinkle{0%,to{opacity:.24;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.52)}42%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(calc(var(--x) + var(--drift)),calc(var(--y) - 10px)) scale(1.14)}72%{opacity:.48;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.82)}}@keyframes introLayerFade{0%,92.5%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes introAmbientStarTwinkle{0%,to{opacity:calc(var(--opacity) * .42);transform:translate(-50%,-50%) translate(0) scale(.62)}42%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--drift-x),var(--drift-y)) scale(1)}68%{opacity:calc(var(--opacity) * .72);transform:translate(-50%,-50%) translate(calc(var(--drift-x) * -.35),calc(var(--drift-y) * -.35)) scale(.8)}}@keyframes introStagePush{0%,45%{opacity:1;transform:translate(-50%,-50%) scale(.78) rotate(0)}49%{opacity:1;transform:translate(-50%,-50%) scale(.84) rotate(0)}56%{opacity:.64;transform:translate(-50%,-50%) scale(.98) rotate(.5deg)}61%{opacity:.22;transform:translate(-50%,-50%) scale(.9) rotate(.2deg)}72%{opacity:.08;transform:translate(-50%,-50%) scale(.82) rotate(0)}to{opacity:0;transform:translate(-50%,-50%) scale(.78) rotate(0)}}@keyframes introBridgeRocket{0%{opacity:0;transform:translate(-50%,-50%) translateY(46vh) scale(.38)}14%{opacity:1;transform:translate(-50%,-50%) translateY(38vh) scale(.72)}76%{opacity:1;transform:translate(-50%,-50%) translate(8px) scale(1)}to{opacity:0;transform:translate(-50%,-50%) translateY(-8vh) scale(1.42)}}@keyframes introBridgeTrail{0%{opacity:0;transform:translate(-50%,-50%) translate(var(--drift),48vh) scale(.24)}22%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--drift-mid),34vh) scale(.78)}72%{opacity:var(--opacity-soft);transform:translate(-50%,-50%) translate(var(--drift-late),2vh) scale(.88)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--drift-end),-9vh) scale(.32)}}@keyframes introBridgeFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.08)}12%{opacity:.95;transform:translate(-50%,-50%) scale(.36)}44%{opacity:.62;transform:translate(-50%,-50%) scale(.92)}76%{opacity:.34;transform:translate(-50%,-50%) scale(1.18)}to{opacity:0;transform:translate(-50%,-50%) scale(1.36)}}@keyframes introBridgeBurst{0%{opacity:0;transform:translate(-50%,-50%) translateY(-8vh) rotate(var(--angle)) scale(.18)}14%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x-near),calc(-8vh + var(--y-near))) rotate(var(--angle)) scale(1)}48%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x-mid),calc(-8vh + var(--y-mid))) rotate(var(--angle)) scale(.92)}78%{opacity:var(--opacity-soft);transform:translate(-50%,-50%) translate(var(--x-late),calc(-8vh + var(--y-late))) rotate(var(--angle)) scale(.78)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--x),calc(-8vh + var(--y))) rotate(var(--angle)) scale(.22)}}@keyframes introRoseRain{0%,57%{opacity:0;visibility:hidden}59%{opacity:.18;visibility:visible}64%,92.5%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes introRoseFog{0%,57%{opacity:0;transform:translate(-50%,-50%) scale(.64)}62%{opacity:.9;transform:translate(-50%,-50%) scale(.98)}88%{opacity:.72;transform:translate(-50%,-50%) scale(1.16)}to{opacity:0;transform:translate(-50%,-50%) scale(1.32)}}@keyframes introRosePetalFall{0%{opacity:0;transform:translate(-50%,-50%) translateY(var(--y)) rotate(var(--rotate)) scale(var(--scale-start))}16%{opacity:var(--opacity)}48%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--sway-mid),calc(var(--y) + var(--fall-mid))) rotate(calc(var(--rotate) + 78deg)) scale(var(--scale))}82%{opacity:var(--opacity-soft);transform:translate(-50%,-50%) translate(var(--sway-late),calc(var(--y) + var(--fall-late))) rotate(calc(var(--rotate) + 168deg)) scale(var(--scale-late))}to{opacity:0;transform:translate(-50%,-50%) translate(var(--sway-end),calc(var(--y) + var(--fall))) rotate(calc(var(--rotate) + 248deg)) scale(var(--scale-end))}}@keyframes introRoseLightGather{0%{opacity:0;transform:translate(-50%,-50%) translate(var(--start-x),var(--start-y)) scale(.36)}20%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--start-x),var(--start-y)) scale(1)}72%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--mid-x),var(--mid-y)) scale(.82)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--to-x),var(--to-y)) scale(.24)}}@keyframes introCountdownStage{0%,86%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.42)}}@keyframes introCountdownDigit{0%,to{opacity:0}14%,74%{opacity:1}}@keyframes introCountdownParticle{0%{opacity:0;transform:translate(-50%,-50%) translate(var(--scatter-x),var(--scatter-y)) scale(.18)}24%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.92)}58%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.12)}82%{opacity:.72;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.84)}to{opacity:0;transform:translate(-50%,-50%) translateY(126px) scale(.26)}}@keyframes introCountdownHandoff{0%{opacity:0;transform:translate(-50%,-50%) translate(var(--from-x),var(--from-y)) scale(.34)}26%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--from-x),var(--from-y)) scale(.86)}74%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--to-x),var(--to-y)) scale(1)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--to-x),var(--to-y)) scale(.26)}}@keyframes introGlowTravel{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}24%{opacity:.46;transform:translate(-50%,-50%) scale(.78)}52%{opacity:.7;transform:translate(-50%,-50%) scale(1.04)}78%{opacity:.42;transform:translate(-50%,-50%) scale(1.24)}to{opacity:0;transform:translate(-50%,-50%) scale(1.58)}}@keyframes introTraceDraw{0%{opacity:0;transform:translate(-50%,-50%) translate(calc(var(--x) + var(--swirl-x)),calc(var(--y) + var(--swirl-y))) scale(.18)}12%{opacity:.56;transform:translate(-50%,-50%) translate(calc(var(--x) + var(--swirl-x)),calc(var(--y) + var(--swirl-y))) scale(.7)}24%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.08)}58%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.94)}to{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.04)}}@keyframes introHeartEdgeDraw{0%{opacity:0;transform:translate(-50%,-50%) translate(calc(var(--x) + var(--swirl-x)),calc(var(--y) + var(--swirl-y))) scale(.16)}14%{opacity:.46;transform:translate(-50%,-50%) translate(calc(var(--x) + var(--swirl-x)),calc(var(--y) + var(--swirl-y))) scale(.78)}28%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.12)}64%{opacity:.7;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.92)}to{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.08)}}@keyframes introBurstRay{0%,32%{opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--angle)) scaleX(.05)}58%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--angle)) scaleX(1)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--angle)) scaleX(1.46)}}@keyframes introDrawTrailSweep{0%{opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--angle)) scaleX(.05)}22%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--angle)) scaleX(.96)}56%{opacity:.44;transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--angle)) scaleX(1.14)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--angle)) scaleX(.18)}}@keyframes introHeartTextReveal{0%{opacity:0;transform:translate(-50%,-50%) scale(.58);letter-spacing:0}44%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}68%{opacity:.94;transform:translate(-50%,-50%) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1.02);letter-spacing:0}}@keyframes introHeartLetterAssemble{0%{opacity:0;transform:translate(-50%,-50%) translate(calc(var(--x) + var(--scatter-x)),calc(var(--y) + var(--scatter-y))) scale(.18)}34%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.18)}62%{opacity:.82;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.88)}to{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.06)}}@keyframes introHeartTextParticle{0%{opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.2)}32%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(calc(var(--x) + var(--drift-x)),calc(var(--y) + var(--drift-y))) scale(1.12)}70%{opacity:.72;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.84)}to{opacity:.88;transform:translate(-50%,-50%) translate(calc(var(--x) - var(--drift-x)),calc(var(--y) - var(--drift-y))) scale(1)}}@keyframes introInnerSpark{0%,16%{opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.3)}42%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.9)}74%{opacity:.78;transform:translate(-50%,-50%) translate(calc(var(--x) + var(--drift-x)),calc(var(--y) + var(--drift-y))) scale(1.12)}to{opacity:0;transform:translate(-50%,-50%) translate(calc(var(--x) + var(--drift-x)),calc(var(--y) + var(--drift-y))) scale(.42)}}@keyframes heartParticleDrift{0%{opacity:var(--dim-opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.58)}20%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(calc(var(--x) + var(--float-x)),calc(var(--y) + var(--float-y))) scale(1.18)}32%{opacity:var(--soft-opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.82)}45%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(calc(var(--x) + var(--float-x)),calc(var(--y) + var(--float-y))) scale(1.12)}64%{opacity:var(--soft-opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.78)}to{opacity:var(--dim-opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.58)}}@keyframes heartCorePulse{0%,to{opacity:var(--soft-opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.72)}46%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(calc(var(--x) + var(--float-x)),calc(var(--y) + var(--float-y))) scale(1.06)}72%{opacity:var(--dim-opacity);transform:translate(-50%,-50%) translate(calc(var(--x) - var(--float-x) * .32),calc(var(--y) - var(--float-y) * .24)) scale(.86)}}@keyframes heartOutlineDrift{0%,to{opacity:var(--dim-opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.72)}20%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(calc(var(--x) + var(--float-x)),calc(var(--y) + var(--float-y))) scale(1.18)}33%{opacity:var(--soft-opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.86)}45%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(calc(var(--x) + var(--float-x)),calc(var(--y) + var(--float-y))) scale(1.14)}}@keyframes heartEdgeOrbit{0%,to{opacity:.5;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.72)}22%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x-next),var(--y-next)) scale(1.08)}52%{opacity:.82;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.9)}78%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--x-next),var(--y-next)) scale(1.02)}}@keyframes heartSparkFloat{0%,to{opacity:var(--dim-opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.42)}20%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(calc(var(--x) + var(--float-x)),calc(var(--y) + var(--float-y))) scale(1.18)}45%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(calc(var(--x) + var(--float-x)),calc(var(--y) + var(--float-y))) scale(1.12)}72%{opacity:var(--soft-opacity);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.7)}}@keyframes fountainRise{0%{opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.32)}18%{opacity:.78}72%{opacity:.58;transform:translate(-50%,-50%) translate(calc(var(--x) + var(--drift)),calc(var(--y) - var(--rise))) scale(1)}to{opacity:0;transform:translate(-50%,-50%) translate(calc(var(--x) + var(--drift)),calc(var(--y) - var(--rise))) scale(.45)}}@keyframes aquaStreamToHeart{0%{opacity:0;transform:translate(-50%,-50%) translate(var(--from-x),var(--from-y)) scale(.28)}14%{opacity:.62;transform:translate(-50%,-50%) translate(var(--from-x),var(--from-y)) scale(.62)}48%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--mid-x),var(--mid-y)) scale(1)}78%{opacity:var(--opacity);transform:translate(-50%,-50%) translate(var(--to-x),var(--to-y)) scale(.86)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--to-x),var(--to-y)) scale(.42)}}@keyframes aquaRingPulse{0%,to{opacity:.46;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.76)}50%{opacity:.96;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.18)}}.aurora-one{background:radial-gradient(circle at 20% 30%,rgba(255,81,172,.24),transparent 28%);filter:blur(20px)}.aurora-two{background:radial-gradient(circle at 78% 70%,rgba(86,229,255,.2),transparent 32%);filter:blur(24px)}.hero{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(100%,760px);min-height:100vh;margin:0 auto;padding:72px 20px 38px;text-align:center}.hero-opened{justify-content:flex-start;padding-top:34px;padding-bottom:38px}.hero-closed{justify-content:center}.eyebrow{margin:0 0 14px;color:#ffe29bdb;font-size:clamp(.76rem,2.5vw,.92rem);letter-spacing:0;text-transform:uppercase}h1{display:grid;gap:.04em;max-width:12ch;margin:0;color:#fff;font-size:clamp(2.85rem,13vw,6rem);line-height:.98;letter-spacing:0;text-shadow:0 0 32px rgba(255,114,182,.8),0 0 72px rgba(118,231,255,.36)}h1 span{display:block;white-space:nowrap}.intro{width:min(100%,560px);margin:20px auto 0;color:#ffffffd1;font-size:clamp(1rem,4vw,1.24rem);line-height:1.75}.hero-opened h1{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hero-opened .eyebrow{margin-bottom:5px;color:#ffe29bb8;font-size:.72rem}.chapter-tracker{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;width:min(100%,620px);margin:18px auto 0}.chapter-dot{border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:6px 9px;background:#ffffff12;color:#ffffff94;font-size:.76rem;line-height:1}.chapter-dot.is-active{border-color:#ffe29b6b;background:#ffe29b29;color:#fff6daf5;box-shadow:0 0 28px #ffe29b1f}.chapter-card{width:min(100%,620px);margin:18px auto 0;border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:18px 16px;background:#07081861;box-shadow:0 22px 80px #0000002e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.spotlight-card{position:relative;overflow:hidden}.spotlight-card:before{position:absolute;inset:-60% -20% auto;height:120%;content:"";background:radial-gradient(circle,rgba(255,255,255,.18),transparent 58%);pointer-events:none}.hero-opened .spotlight-card{max-width:520px;margin-top:4px;border-color:transparent;padding:0 10px;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hero-opened .spotlight-card:before{display:none}.hero-opened .spotlight-card .chapter-label{min-width:0;min-height:22px;padding:0 9px;background:#ffffff1f;box-shadow:0 0 24px #ff72b63d;font-size:.68rem}.hero-opened .spotlight-card h2{margin:6px 0 0;font-size:clamp(1rem,4.2vw,1.42rem);text-shadow:0 0 18px rgba(255,255,255,.48),0 0 34px rgba(255,114,182,.36)}.hero-opened .spotlight-card>p{display:none}.hero-opened .spotlight-card blockquote{display:none}.hero-opened .spotlight-card blockquote span{color:#fff7d8f5;font-size:.86rem}.hero-opened .spotlight-card blockquote cite,.hero-opened .spotlight-card blockquote em{display:none}.chapter-label{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:28px;border-radius:999px;padding:0 12px;background:linear-gradient(135deg,#ff72b657,#76e7ff38);color:#ffffffe6;font-size:.8rem;font-weight:800}.chapter-card h2{margin:12px 0 8px;color:#fff;font-size:clamp(1.32rem,6vw,2.15rem);line-height:1.18;letter-spacing:0}.chapter-card p{margin:0;color:#ffffffd1;font-size:clamp(.96rem,3.5vw,1.08rem);line-height:1.72}.chapter-card blockquote{display:grid;gap:5px;margin:14px 0 0;border-left:2px solid rgba(255,226,155,.58);padding:10px 0 10px 13px;text-align:left}.chapter-card blockquote span{color:#fff7d8;font-size:clamp(1rem,4vw,1.22rem);line-height:1.55}.chapter-card cite,.chapter-card em{color:#ffffffa8;font-size:.84rem;font-style:normal;line-height:1.45}.primary-action,.secondary-action{min-height:48px;border-radius:999px;padding:0 22px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.primary-action{margin-top:30px;background:linear-gradient(135deg,#ff6fb8,#7fe9ff 58%,#ffe29b);color:#17091a;font-weight:800;box-shadow:0 16px 46px #ff67bc57}.open-action{position:relative;min-width:min(100%,270px);min-height:54px;box-shadow:0 16px 46px #ff67bc57,0 0 44px #76e7ff38}.open-action:after{position:absolute;inset:-7px;z-index:-1;border-radius:inherit;content:"";background:linear-gradient(135deg,#ff72b652,#76e7ff3d);filter:blur(16px)}.secondary-action{background:#ffffff1c;color:#ffffffe6;border:1px solid rgba(255,255,255,.18)}.primary-action:hover,.secondary-action:hover{transform:translateY(-2px)}.bgm-toggle{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:8;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:radial-gradient(circle at 35% 24%,rgba(255,255,255,.28),transparent 34%),linear-gradient(145deg,#ff72b675,#76e7ff4d);box-shadow:0 10px 30px #00000038,0 0 28px #76e7ff33;cursor:pointer;overflow:hidden;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bgm-toggle:after{position:absolute;inset:8px;border-radius:50%;content:"";background:radial-gradient(circle,rgba(255,255,255,.2),transparent 68%);opacity:.8}.bgm-toggle[data-muted=true]{background:radial-gradient(circle at 35% 24%,rgba(255,255,255,.18),transparent 34%),linear-gradient(145deg,#79809a70,#485c7057);box-shadow:0 10px 28px #00000038}.bgm-icon{position:relative;z-index:1;color:#fffffff0;font-size:1.14rem;font-weight:900;line-height:1;text-shadow:0 0 12px rgba(255,255,255,.72),0 0 24px rgba(118,231,255,.42)}.bgm-wave{position:absolute;right:8px;bottom:9px;z-index:1;width:3px;height:9px;border-radius:999px;background:#ffffffbf;box-shadow:-5px 2px #ffffff80,5px -2px #ffffff94;animation:bgmWave .88s ease-in-out infinite}.bgm-toggle[data-muted=true] .bgm-wave{opacity:.28;animation-play-state:paused}@keyframes bgmWave{0%,to{transform:scaleY(.64)}50%{transform:scaleY(1.16)}}.constellation-panel{width:min(100%,620px);margin-top:22px}.visual-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.visual-badges span{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 11px;background:#ffffff1a;color:#ffffffd6;font-size:.82rem;line-height:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.name-bloom{position:relative;display:grid;place-items:center;width:min(58vw,250px);aspect-ratio:1;margin:8px auto 18px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.2),transparent 54%),conic-gradient(from 120deg,#ff72b685,#76e7ff6b,#ffe29b70,#ff72b685);box-shadow:0 0 70px #ff72b642,inset 0 0 40px #ffffff14}.name-bloom:before{position:absolute;inset:18px;content:"";border:1px solid rgba(255,255,255,.18);border-radius:50%}.name-bloom span{color:#fff;font-size:clamp(3.4rem,16vw,5.8rem);font-weight:900;letter-spacing:0;text-shadow:0 0 34px rgba(255,255,255,.72)}.gate-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.gate{min-height:112px;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:13px 8px 12px;background:#09091a57;color:#ffffff8f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.gate-core{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 10px;border-radius:50%;background:#ffffff14;color:#fffc;font-size:.95rem;font-weight:850}.gate-title{display:block;font-size:.78rem;line-height:1.35}.gate.is-next{border-color:#ffffff57}.gate.is-lit{color:#fff;transform:translateY(-2px)}.gate.is-lit .gate-core{color:#160817;box-shadow:0 0 28px #ffffff61}.gate-rose.is-lit .gate-core,.accent-rose{background:var(--rose)}.gate-cyan.is-lit .gate-core,.accent-cyan{background:var(--cyan)}.gate-gold.is-lit .gate-core,.accent-gold{background:var(--gold)}.gate-violet.is-lit .gate-core,.accent-violet{background:var(--violet)}.memory-ribbon{display:grid;gap:8px;margin:18px 0 0}.memory-ribbon p{border:1px solid rgba(255,255,255,.13);background:#0808186b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.memory-ribbon p{margin:0;border-radius:14px;padding:12px 14px;color:#ffffffd1;font-size:.94rem;line-height:1.58}.gate-action{margin-top:20px}.ceremony-panel{margin-top:18px;border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:18px 15px;background:#08081866;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.ceremony-panel p{margin:0;color:#ffffffd6;font-size:1rem;line-height:1.7}@media(max-width:520px){.hero{justify-content:flex-start;padding:70px 20px 34px}.hero-closed{justify-content:center;padding-top:72px;padding-bottom:54px}.hero-opened{padding-top:32px;padding-bottom:34px}.hero-opened h1{position:absolute}.gate-list{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-card{padding:16px 14px}.chapter-tracker{gap:6px}.chapter-dot{padding:6px 8px;font-size:.72rem}.gate{min-height:96px}.heart-effect{top:30%;width:min(91vw,360px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
