:root{--bg-deep:#04081a;--bg:#0a1128;--bg-raise:#121c3e8c;--bg-card:#101a3ab8;--ink:#e9e7f2;--ink-dim:#97a1c9;--ink-faint:#5b6592;--star:#f5c97b;--star-bright:#ffe3a3;--rose:#f2a6b8;--rose-deep:#d97090;--blue:#8fb3ff;--line:#f5c97b38;--line-soft:#8fb3ff24;--font-hand:"LXGW WenKai", "Kaiti SC", "STKaiti", "KaiTi", serif;--font-display:"Cormorant Garamond", "Georgia", "Times New Roman", serif;--font-math:"Cormorant Garamond", "STIX Two Math", Georgia, serif;--section-pad:clamp(4.5rem, 12vh, 8.5rem);--content-w:min(92vw, 46rem)}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-width:thin;scrollbar-color:#f5c97b59 transparent}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{font-family:var(--font-hand);background:var(--bg-deep);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.9;overflow-x:hidden}::selection{color:#fff;background:#f2a6b859}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#f5c97b4d;border-radius:3px}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}.bg-layer{z-index:0;pointer-events:none;position:fixed;inset:0}.bg-gradient{background:radial-gradient(120% 90% at 50% -10%, #26366e80 0%, transparent 55%), radial-gradient(80% 60% at 85% 110%, #5a2e5459 0%, transparent 60%), linear-gradient(180deg, var(--bg-deep) 0%, var(--bg) 50%, var(--bg-deep) 100%);position:absolute;inset:0}.bg-vignette{background:radial-gradient(90% 70% at 50% 45%,#0000 55%,#02040c8c 100%);position:absolute;inset:0}#starfield{width:100%;height:100%;position:absolute;inset:0}.chapter{z-index:1;padding:var(--section-pad) 0;width:min(94vw,52rem);margin:0 auto;position:relative}.chapter-head{text-align:center;margin-bottom:clamp(2.2rem,6vh,3.6rem)}.chapter-no{font-family:var(--font-display);letter-spacing:.42em;text-transform:uppercase;color:var(--star);opacity:.9;align-items:center;gap:.9em;font-size:clamp(.72rem,1.6vw,.85rem);display:inline-flex}.chapter-no:before,.chapter-no:after{content:"";background:linear-gradient(90deg, transparent, var(--line), transparent);width:2.6em;height:1px}.chapter-title{letter-spacing:.12em;color:var(--ink);margin-top:.55em;font-size:clamp(1.7rem,5vw,2.6rem);font-weight:400}.chapter-title .accent{color:var(--star)}.chapter-sub{color:var(--ink-dim);letter-spacing:.08em;margin-top:.7em;font-size:clamp(.9rem,2.4vw,1rem)}.page-foot{text-align:center;font-family:var(--font-display);letter-spacing:.3em;color:var(--ink-faint);justify-content:center;align-items:center;gap:1.2em;margin-top:clamp(2.6rem,7vh,4rem);font-size:.78rem;display:flex}.page-foot:before,.page-foot:after{content:"✦";color:var(--line);font-size:.62em}.reveal{opacity:0;transform:translateY(34px)}.gate{z-index:50;background:radial-gradient(100% 80% at 50% 30%, #1e2c5c99 0%, transparent 60%), var(--bg-deep);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gate-inner{text-align:center;padding:2rem;position:relative}.gate-frame{border:1px solid var(--line);outline-offset:7px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a112880;outline:1px solid #f5c97b14;padding:clamp(2.4rem,8vw,4.5rem) clamp(2rem,9vw,5rem);position:relative}.gate-corner{border-color:var(--star);opacity:.85;border-style:solid;width:14px;height:14px;position:absolute}.gate-corner.tl{border-width:1.5px 0 0 1.5px;top:-2px;left:-2px}.gate-corner.tr{border-width:1.5px 1.5px 0 0;top:-2px;right:-2px}.gate-corner.bl{border-width:0 0 1.5px 1.5px;bottom:-2px;left:-2px}.gate-corner.br{border-width:0 1.5px 1.5px 0;bottom:-2px;right:-2px}.gate-eyebrow{font-family:var(--font-display);letter-spacing:.5em;text-transform:uppercase;color:var(--ink-dim);font-size:clamp(.66rem,1.8vw,.78rem)}.gate-title{font-family:var(--font-display);letter-spacing:.18em;color:var(--star-bright);margin-top:1.1em;font-size:clamp(2rem,8vw,3.4rem);font-weight:500}.gate-title-cn{letter-spacing:.3em;color:var(--ink);margin-top:.5em;font-size:clamp(1rem,3.4vw,1.3rem)}.gate-divider{background:linear-gradient(90deg, transparent, var(--line), transparent);width:9em;height:1px;margin:1.6em auto 0;position:relative}.gate-divider:after{content:"✦";color:var(--star);background:0 0;font-size:.7rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-52%)}.gate-sub{color:var(--ink-dim);letter-spacing:.14em;margin-top:1.5em;font-size:clamp(.85rem,2.6vw,.95rem)}.gate-open{letter-spacing:.3em;color:#1c1230;background:linear-gradient(135deg, var(--star-bright), var(--star));border-radius:999px;align-items:center;gap:.7em;margin-top:2.2em;padding:.85em 2.4em;font-size:clamp(.95rem,2.8vw,1.05rem);transition:transform .25s,box-shadow .25s;display:inline-flex;box-shadow:0 6px 30px #f5c97b59}.gate-open:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 10px 40px #f5c97b80}.gate-open:active{transform:scale(.97)}.gate-hint{color:var(--ink-faint);letter-spacing:.1em;margin-top:1.4em;font-size:.78rem}.gate-ring{pointer-events:none;border:1px dashed #f5c97b29;border-radius:18px;animation:40s linear infinite gate-spin;position:absolute;inset:-34px}@keyframes gate-spin{to{transform:rotate(1deg)}}.hero{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:4.5rem 1.4rem 3rem;display:flex;position:relative}.hero-eyebrow{font-family:var(--font-display);letter-spacing:.55em;text-transform:uppercase;color:var(--ink-dim);font-size:clamp(.7rem,2vw,.82rem)}.hero-title{font-family:var(--font-display);letter-spacing:.14em;color:var(--star-bright);text-shadow:0 0 60px #f5c97b47;margin-top:1em;font-size:clamp(2.6rem,10vw,5.2rem);font-weight:500;line-height:1.18}.hero-title-cn{letter-spacing:.34em;color:var(--ink);margin-top:.6em;font-size:clamp(1.15rem,4.4vw,1.7rem)}.hero-cn-name{color:var(--rose)}.hero-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:.8em 1.1em;margin-top:2.2em;display:flex}.meta-chip{letter-spacing:.1em;color:var(--ink-dim);border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c142e73;border-radius:999px;align-items:center;gap:.55em;padding:.5em 1.2em;font-size:clamp(.8rem,2.4vw,.92rem);display:inline-flex}.meta-chip .num{font-family:var(--font-display);color:var(--star);font-size:1.25em;font-weight:500}.meta-chip.today{color:var(--rose);border-color:#f2a6b873;animation:2.6s ease-in-out infinite chip-glow}@keyframes chip-glow{0%,to{box-shadow:0 0 #f2a6b800}50%{box-shadow:0 0 22px #f2a6b859}}.hero-divider{background:linear-gradient(90deg, transparent, var(--line), transparent);width:7em;height:1px;margin-top:2.6em}.hero-date{font-family:var(--font-display);letter-spacing:.42em;color:var(--ink-faint);margin-top:1.3em;font-size:.85rem}.scroll-hint{bottom:max(2rem, env(safe-area-inset-bottom));color:var(--ink-faint);letter-spacing:.3em;flex-direction:column;align-items:center;gap:.6em;font-size:.78rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scroll-hint .mouse{border:1.5px solid #f5c97b80;border-radius:12px;width:22px;height:34px;position:relative}.scroll-hint .mouse:after{content:"";background:var(--star);border-radius:2px;width:3px;height:7px;margin-left:-1.5px;animation:1.8s ease-in-out infinite wheel;position:absolute;top:6px;left:50%}@keyframes wheel{0%{opacity:1;transform:translateY(0)}70%{opacity:0;transform:translateY(10px)}to{opacity:0;transform:translateY(0)}}.prologue-body{width:var(--content-w);background:var(--bg-card);border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:18px;margin:0 auto;padding:clamp(1.8rem,6vw,3.2rem);position:relative;box-shadow:0 20px 60px #03061280}.prologue-body:before{content:"\"";font-family:var(--font-display);color:#f5c97b47;font-size:5rem;line-height:1;position:absolute;top:-.35em;left:.35em}.prologue-line{letter-spacing:.06em;min-height:2.1em;color:var(--ink);margin:.9em 0;font-size:clamp(1rem,3vw,1.18rem)}.prologue-line .cursor{vertical-align:-.18em;background:var(--star);width:1px;height:1.15em;margin-left:2px;animation:.85s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.prologue-sign{text-align:right;color:var(--star);letter-spacing:.18em;margin-top:1.8em;font-size:clamp(.95rem,2.8vw,1.05rem)}.countdown-stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2.4rem;min-height:60vh;display:flex}.countdown-num{font-family:var(--font-display);color:var(--star-bright);text-shadow:0 0 80px #f5c97b73;font-size:clamp(6rem,26vw,12rem);font-weight:500;line-height:1}.countdown-num.roll{animation:.92s cubic-bezier(.22,1,.36,1) both cd-roll}@keyframes cd-roll{0%{opacity:0;filter:blur(6px);transform:translateY(60%)scale(.6)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.countdown-label{letter-spacing:.4em;color:var(--ink-dim);font-size:clamp(1rem,3.2vw,1.25rem)}.countdown-go{letter-spacing:.22em;color:var(--rose);text-shadow:0 0 50px #f2a6b880;font-size:clamp(2rem,8vw,3.6rem)}.countdown-go.roll{animation:1s cubic-bezier(.22,1,.36,1) both cd-go}@keyframes cd-go{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.timeline{width:var(--content-w);margin:0 auto;padding-left:2.2rem;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, transparent, var(--line) 8%, var(--line) 92%, transparent);width:1px;position:absolute;top:.4em;bottom:.4em;left:.55rem}.tl-item{padding:clamp(1.6rem,5vh,2.6rem) 0;position:relative}.tl-item+.tl-item{border-top:1px dashed #8fb3ff1a}.tl-dot{background:var(--bg);border:1.5px solid var(--star);border-radius:50%;width:11px;height:11px;margin-left:.19rem;position:absolute;top:2.35em;left:-2.2rem;box-shadow:0 0 12px #f5c97b80}.tl-dot:after{content:"";background:var(--star);opacity:.85;border-radius:50%;position:absolute;inset:2px}.tl-date{font-family:var(--font-display);letter-spacing:.34em;color:var(--star);text-transform:uppercase;font-size:.8rem}.tl-title{letter-spacing:.1em;color:var(--ink);margin-top:.45em;font-size:clamp(1.25rem,4vw,1.6rem)}.tl-text{color:var(--ink-dim);letter-spacing:.05em;max-width:38em;margin-top:.7em;font-size:clamp(.95rem,2.8vw,1.05rem)}.tl-photo{border:1px solid var(--line-soft);border-radius:12px;width:min(100%,26rem);margin-top:1.4em;overflow:hidden;transform:rotate(-1.2deg);box-shadow:0 14px 40px #0306128c}.tl-photo img{aspect-ratio:4/3;object-fit:cover;width:100%}.tl-photo figcaption{color:var(--ink-faint);letter-spacing:.08em;background:#080e2299;padding:.55em .9em;font-size:.78rem}.gallery-grid{width:var(--content-w);flex-wrap:wrap;justify-content:center;gap:clamp(1.4rem,4.5vw,2.6rem);margin:0 auto;display:flex}.polaroid{--rot:0deg;width:clamp(11rem,38vw,13.5rem);transform:rotate(var(--rot));cursor:pointer;background:linear-gradient(#f6f3ea 0%,#eee9dc 100%);border-radius:4px;padding:.55rem .55rem .4rem;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;position:relative;box-shadow:0 12px 34px #0306128c}.polaroid:hover,.polaroid:focus-visible{z-index:2;transform:rotate(0)translateY(-8px)scale(1.04);box-shadow:0 22px 54px #030612b3}.polaroid:before{content:"";transform:translateX(-50%) rotate(calc(var(--rot) * -.6));background:#f5c97b59;border-left:1px dashed #ffffff59;border-right:1px dashed #ffffff59;width:4.2rem;height:1.35rem;position:absolute;top:-11px;left:50%}.polaroid img{aspect-ratio:1;object-fit:cover;background:#101a38;border-radius:2px;width:100%}.polaroid figcaption{text-align:center;color:#5a5568;letter-spacing:.06em;padding:.6em .2em .15em;font-size:.82rem}.polaroid .p-date{font-family:var(--font-display);letter-spacing:.22em;color:#99917f;margin-top:.15em;font-size:.66rem;display:block}.gallery-hint{text-align:center;color:var(--ink-faint);letter-spacing:.2em;margin-top:clamp(1.8rem,5vh,2.6rem);font-size:.8rem}.lightbox{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#02040cd1;justify-content:center;align-items:center;padding:1.5rem;animation:.3s both lb-in;display:flex;position:fixed;inset:0}@keyframes lb-in{0%{opacity:0}to{opacity:1}}.lightbox figure{background:linear-gradient(#f6f3ea,#eee9dc);border-radius:4px;max-width:min(88vw,34rem);padding:.8rem .8rem .6rem;transform:rotate(-1deg);box-shadow:0 30px 90px #0009}.lightbox img{object-fit:contain;border-radius:2px;width:100%;max-height:62svh}.lightbox figcaption{text-align:center;color:#5a5568;letter-spacing:.06em;padding:.8em .3em .2em;font-size:.95rem}.lightbox .p-date{font-family:var(--font-display);letter-spacing:.25em;color:#99917f;margin-top:.2em;font-size:.7rem;display:block}.math-intro{width:var(--content-w);text-align:center;color:var(--ink-dim);letter-spacing:.08em;margin:0 auto 2.6rem;font-size:clamp(.95rem,2.8vw,1.08rem)}.theorem-stack{width:var(--content-w);flex-direction:column;gap:clamp(1.2rem,3.5vh,1.9rem);margin:0 auto;display:flex}.theorem-card{background:var(--bg-card);border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:16px;padding:clamp(1.5rem,5vw,2.3rem);position:relative;overflow:hidden}.theorem-card:before{content:"";background:linear-gradient(90deg,#0000,#f5c97b80,#0000);height:2px;position:absolute;top:0;left:0;right:0}.theorem-tag{font-family:var(--font-display);letter-spacing:.4em;text-transform:uppercase;color:var(--star);opacity:.9;font-size:.72rem}.theorem-formula{font-family:var(--font-math);letter-spacing:.04em;color:var(--star-bright);text-shadow:0 0 34px #f5c97b40;margin-top:.9em;font-size:clamp(1.3rem,4.6vw,1.9rem);font-style:italic;line-height:1.6}.theorem-text{color:var(--ink-dim);letter-spacing:.05em;margin-top:.8em;font-size:clamp(.92rem,2.7vw,1.02rem)}.theorem-text .cn-em{color:var(--rose)}.theorem-qed{text-align:right;font-family:var(--font-display);letter-spacing:.2em;color:var(--ink-faint);margin-top:1.1em;font-size:.85rem;font-style:italic}.heart-curve-wrap{width:var(--content-w);text-align:center;margin:clamp(2rem,6vh,3rem) auto 0}.heart-curve-wrap canvas{aspect-ratio:1;width:min(100%,22rem)}.heart-formula{font-family:var(--font-math);color:var(--rose);letter-spacing:.08em;margin-top:.6em;font-size:clamp(1.05rem,3.4vw,1.3rem);font-style:italic}.heart-note{color:var(--ink-faint);letter-spacing:.1em;margin-top:.4em;font-size:.85rem}.cake-stage{flex-direction:column;align-items:center;gap:1.6rem;display:flex}.cake-holder{width:min(78vw,21rem);padding-top:4.2rem;position:relative}.candle-row{justify-content:center;gap:clamp(1.1rem,7vw,2rem);display:flex;position:absolute;top:3.5rem;left:0;right:0}.candle{cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;width:12px;display:flex;position:relative}.candle-stick{background:repeating-linear-gradient(45deg,#f3b8c8 0 6px,#fdf1f4 6px 12px);border-radius:3px;width:9px;height:3rem;box-shadow:inset -2px 0 3px #0000002e}.candle-flame{width:16px;height:26px;margin-bottom:1px;position:relative}.candle-flame:before{content:"";filter:blur(.4px);transform-origin:50% 100%;background:radial-gradient(60% 65% at 50% 72%,#fff6d8 0%,#ffd27d 42%,#ff9d3f 72%,#ff782800 100%);border-radius:50% 50% 46% 46%/62% 62% 38% 38%;width:15px;height:24px;animation:.28s ease-in-out infinite alternate flame-sway;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 18px 4px #ffb45a73}.candle-flame:after{content:"";background:#463228b3;border-radius:50%;width:4px;height:7px;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)}@keyframes flame-sway{0%{transform:translate(-50%)rotate(-3.5deg)scaleY(1)}to{transform:translate(-50%)rotate(3.5deg)scaleY(1.06)}}.candle.out .candle-flame:before{opacity:0;box-shadow:none;transition:transform .3s,opacity .3s;animation:none;transform:translate(-50%)translateY(6px)scale(.2)}.candle-smoke{filter:blur(2px);opacity:0;pointer-events:none;background:#c8cde666;border-radius:50%;width:8px;height:8px;position:absolute;top:-12px;left:50%}.candle.out .candle-smoke{animation:1.6s ease-out forwards smoke-rise}@keyframes smoke-rise{0%{opacity:.8;transform:translate(-50%)scale(.7)}to{opacity:0;transform:translate(-30%,-46px)scale(2.4)}}.cake{filter:drop-shadow(0 18px 34px #03061299);width:100%;position:relative}.cake svg{pointer-events:none;width:100%;height:auto;display:block}.candle-row{z-index:2}.cake-plate{pointer-events:none;background:radial-gradient(50% 50% at 50% 40%,#2a375f,#141f45 70%);border-radius:50%;width:112%;height:14px;margin-top:-6px;margin-left:-6%;box-shadow:0 10px 30px #030612b3}.cake-tip{color:var(--ink-dim);letter-spacing:.14em;text-align:center;font-size:clamp(.88rem,2.6vw,.98rem);animation:2.4s ease-in-out infinite tip-pulse}@keyframes tip-pulse{0%,to{opacity:.65}50%{opacity:1}}.cake-wish{text-align:center;letter-spacing:.16em;color:var(--star-bright);text-shadow:0 0 40px #f5c97b66;margin-top:1.2em;font-size:clamp(1.25rem,4.4vw,1.8rem);animation:.9s cubic-bezier(.22,1,.36,1) both cd-go}.cake-wish small{letter-spacing:.22em;color:var(--ink-dim);margin-top:.6em;font-size:.72em;display:block}.cake-reset{letter-spacing:.24em;color:var(--ink-faint);border-bottom:1px dashed #f5c97b4d;margin-top:1.1em;padding-bottom:2px;font-size:.8rem}.envelope-stage{flex-direction:column;align-items:center;display:flex}.envelope{aspect-ratio:10/7;cursor:pointer;perspective:800px;-webkit-tap-highlight-color:transparent;width:min(82vw,24rem);position:relative}.env-body{border:1px solid var(--line-soft);background:linear-gradient(160deg,#16224e 0%,#101a3e 100%);border-radius:10px;position:absolute;inset:0;box-shadow:0 20px 60px #03061299}.env-flap{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:3;background:linear-gradient(#1d2a5e 0%,#16224e 100%);border-radius:10px 10px 0 0;height:52%;transition:transform .7s cubic-bezier(.65,0,.35,1);position:absolute;top:0;left:0;right:0}.env-wax{color:#ffe9f0;z-index:4;background:radial-gradient(60% 60% at 38% 34%,#e989a5,#b04a6e 68%,#8d3653);border-radius:50%;justify-content:center;align-items:center;width:3.4rem;height:3.4rem;font-size:1.2rem;transition:opacity .4s,transform .4s;display:flex;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 14px #0006,inset 0 2px 5px #ffffff40}.env-label{text-align:center;letter-spacing:.3em;width:100%;color:var(--star);z-index:2;font-size:clamp(.95rem,3vw,1.1rem);position:absolute;bottom:18%}.envelope.opened .env-flap{z-index:1;transform:rotateX(180deg)}.envelope.opened .env-wax{opacity:0;transform:translate(-50%,-120%)scale(.7)}.envelope-hint{letter-spacing:.24em;color:var(--ink-faint);margin-top:1.4rem;font-size:.82rem}.letter-paper{width:var(--content-w);color:#3a3648;background:linear-gradient(#f8f4eafa 0%,#f3eee1f5 100%);border-radius:14px;margin:2.4rem auto 0;padding:clamp(1.9rem,6vw,3.4rem);position:relative;box-shadow:0 30px 80px #030612a6}.letter-paper:before{content:"";background:#f5c97b66;border-left:1px dashed #ffffff80;border-right:1px dashed #ffffff80;height:1.4rem;position:absolute;top:0;left:8%;right:8%;transform:translateY(-50%)rotate(-1.2deg)}.letter-greeting{letter-spacing:.14em;color:#2e2a3e;font-size:clamp(1.15rem,3.6vw,1.4rem)}.letter-p{letter-spacing:.04em;color:#45415a;margin-top:1.15em;font-size:clamp(.98rem,3vw,1.1rem);line-height:2.15}.letter-sign{text-align:right;color:#2e2a3e;margin-top:2.2em}.letter-sign .sig{letter-spacing:.2em;font-size:clamp(1.05rem,3.2vw,1.2rem)}.letter-sign .ps{color:#8a8499;letter-spacing:.06em;margin-top:.9em;font-size:.85em}.finale{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}#fireworks{width:100%;height:100%;position:absolute;inset:0}.finale-inner{z-index:1;padding:2rem 1.4rem;position:relative}.finale-eyebrow{font-family:var(--font-display);letter-spacing:.5em;text-transform:uppercase;color:var(--ink-dim);font-size:clamp(.68rem,2vw,.8rem)}.finale-title{font-family:var(--font-display);letter-spacing:.12em;color:var(--star-bright);text-shadow:0 0 70px #f5c97b66;margin-top:.9em;font-size:clamp(2.4rem,9vw,4.6rem);font-weight:500;line-height:1.2}.finale-cn{letter-spacing:.3em;color:var(--ink);margin-top:.7em;font-size:clamp(1.1rem,4.2vw,1.55rem)}.finale-cn .accent{color:var(--rose)}.finale-counter{border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a11288c;border-radius:16px;flex-direction:column;gap:.5em;margin-top:2.4em;padding:1.1em 2.2em;display:inline-flex}.finale-counter .fc-num{font-family:var(--font-display);color:var(--star);letter-spacing:.06em;font-size:clamp(1.9rem,7vw,2.8rem);font-weight:500}.finale-counter .fc-label{color:var(--ink-dim);letter-spacing:.28em;font-size:clamp(.8rem,2.4vw,.9rem)}.finale-replay{letter-spacing:.3em;color:var(--star);border:1px solid var(--line);border-radius:999px;margin-top:2.6em;padding:.8em 2.2em;font-size:.95rem;transition:all .3s;display:inline-block}.finale-replay:hover{background:#f5c97b1f;box-shadow:0 0 30px #f5c97b40}.footer{z-index:1;text-align:center;padding:3.2rem 1.4rem max(3.2rem, env(safe-area-inset-bottom));color:var(--ink-faint);letter-spacing:.18em;font-size:.82rem;position:relative}.footer .stars-row{letter-spacing:.9em;color:#f5c97b66;margin-bottom:1.2em;font-size:.6rem}.footer .next-page{color:var(--ink-dim);margin-top:.6em}.floating-ui{z-index:40;right:max(1rem, env(safe-area-inset-right));top:max(1rem, env(safe-area-inset-top));gap:.6rem;display:flex;position:fixed}.ui-btn{border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:2.7rem;height:2.7rem;color:var(--star);background:#0a112899;border-radius:50%;justify-content:center;align-items:center;font-size:1.05rem;transition:all .25s;display:flex}.ui-btn:hover{border-color:var(--line);box-shadow:0 0 18px #f5c97b33}.ui-btn.pulsing{animation:2s ease-in-out infinite chip-glow}.progress-dots{z-index:40;left:max(.9rem, env(safe-area-inset-left));flex-direction:column;gap:.9rem;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.progress-dots .dot{background:#97a1c947;border-radius:50%;width:7px;height:7px;transition:all .35s;position:relative}.progress-dots .dot.active{background:var(--star);transform:scale(1.35);box-shadow:0 0 10px #f5c97b99}.progress-dots .dot .dot-label{letter-spacing:.14em;color:var(--ink-dim);white-space:nowrap;opacity:0;pointer-events:none;border:1px solid var(--line-soft);background:#080e22d9;border-radius:6px;padding:.2em .6em;font-size:.72rem;transition:opacity .25s;position:absolute;top:50%;left:1.5em;transform:translateY(-50%)}.progress-dots:hover .dot .dot-label{opacity:1}@media (width<=560px){.timeline{padding-left:1.7rem}.tl-dot{left:-1.7rem}.gate-ring{inset:-20px}.hero-meta{gap:.55em .7em}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
