:root{--dream-night:#020a09;--dream-deep:#051c19;--dendro:#bfe889;--dendro-bright:#e7ffad;--moon:#f0d68a;--water:#58b7b1;--memory-rose:#d99aaa}
body.dream-system{background:var(--dream-night);cursor:default}
#dream-webgl{position:fixed;inset:0;z-index:0;width:100%;height:100%;background:radial-gradient(circle at 50% 45%,#0b3a31 0,#041713 48%,#010504 100%)}
#ambient-canvas{z-index:80;mix-blend-mode:screen}
.vision-wash{position:fixed;inset:0;z-index:72;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--vision-x,50%) var(--vision-y,50%),transparent 0 130px,rgba(143,245,192,.08) 240px,rgba(4,34,29,.5) 72%);mix-blend-mode:screen;transition:opacity .45s ease}
.element-vision .vision-wash{opacity:1}.vision-only{opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s}.element-vision .vision-only{opacity:1;visibility:visible}
.dendro-cursor{position:fixed;z-index:1400;left:0;top:0;width:30px;height:30px;pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:opacity .25s ease}
.dendro-cursor::before,.dendro-cursor::after{content:"";position:absolute;inset:5px;border:1px solid rgba(220,255,168,.7);transform:rotate(45deg)}
.dendro-cursor::after{inset:10px;background:#efffc5;box-shadow:0 0 20px #b8ef81}
.dendro-cursor span{position:absolute;inset:-12px;border:1px solid rgba(163,228,128,.22);border-radius:50%;animation:cursorOrbit 5s linear infinite}
@media(pointer:fine){body.dream-system{cursor:default}body.dream-system a,body.dream-system button{cursor:pointer}body.dream-system input,body.dream-system textarea{cursor:text}.dendro-cursor{display:none}}
.site-header{z-index:90}.site-header:not(.is-scrolled){background:linear-gradient(180deg,rgba(1,8,7,.48),transparent)}
.dream-access{position:relative;z-index:1;min-height:100svh;display:grid;place-items:center;overflow:hidden;color:#fff;background:radial-gradient(circle at 50% 48%,rgba(8,50,42,.18),rgba(1,7,6,.72) 70%)}
.access-texture{position:absolute;inset:0;opacity:.32;background-image:linear-gradient(rgba(206,241,159,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(206,241,159,.03) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle,#000,transparent 76%)}
.access-scan{position:absolute;inset:-20%;background:linear-gradient(180deg,transparent 44%,rgba(191,232,137,.08) 50%,transparent 56%);animation:scanDream 7s linear infinite}
.access-shell{position:relative;z-index:2;width:min(980px,calc(100% - 40px));padding:112px 0 72px;text-align:center}
.system-label{margin:0 0 18px;color:var(--moon);font:10px/1.5 Georgia,serif;letter-spacing:.24em}
.access-shell h1{margin:0;font-family:var(--display);font-size:clamp(58px,9vw,126px);font-weight:400;line-height:.9;letter-spacing:0;text-shadow:0 0 40px rgba(151,224,116,.14)}
.access-shell h1 span{display:block;margin-bottom:12px;color:rgba(255,255,255,.7);font-family:var(--sans);font-size:12px;letter-spacing:.48em}
.connection-state{margin:28px auto 0;display:flex;align-items:center;justify-content:center;gap:10px;color:rgba(255,255,255,.66);font-size:12px}.connection-state i{width:6px;height:6px;border-radius:50%;background:var(--dendro);box-shadow:0 0 14px var(--dendro);animation:statusPulse 1.8s ease-in-out infinite}
.constellation-countdown,.dream-system.birthday-mode #countdown{position:relative;display:block;width:min(760px,90vw);height:210px;margin:20px auto 0}
.constellation-unit{position:absolute;display:flex;align-items:baseline;gap:7px;color:rgba(255,255,255,.72)}
.constellation-unit::before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--dendro-bright);box-shadow:0 0 18px var(--dendro)}
.constellation-unit strong{font:400 clamp(38px,6vw,72px)/1 Georgia,serif;font-variant-numeric:tabular-nums;text-shadow:0 0 25px rgba(214,249,159,.2)}.constellation-unit span{font-size:11px;color:var(--moon)}
.node-day{left:10%;top:42px}.node-day::before{left:-22px;top:-8px}.node-hour{left:35%;top:108px}.node-hour::before{right:-28px;top:-20px}.node-minute{right:24%;top:34px}.node-minute::before{left:42%;top:-28px}.node-second{right:4%;top:116px}.node-second::before{right:-19px;top:8px}
.constellation-line{position:absolute;height:1px;transform-origin:left;background:linear-gradient(90deg,transparent,rgba(212,242,159,.34),transparent)}.line-a{left:18%;top:106px;width:47%;transform:rotate(-8deg)}.line-b{left:49%;top:115px;width:34%;transform:rotate(13deg)}
.access-time{display:flex;justify-content:center;gap:28px;margin:0;color:rgba(255,255,255,.42);font-size:10px;letter-spacing:.12em}
.enter-system{margin-top:34px;display:inline-flex;align-items:center;gap:18px;padding:12px 2px;color:#fff;font-size:13px}.enter-system i{display:block;width:72px;height:1px;background:linear-gradient(90deg,#fff,transparent);transition:width .35s}.enter-system:hover i{width:112px}
.vision-guide{margin:18px 0 0;color:rgba(255,255,255,.34);font-size:10px;letter-spacing:.12em}
.dendro-sigil{position:absolute;right:5vw;bottom:7vh;width:54px;height:54px;border:1px solid rgba(208,244,160,.28);border-radius:50%;color:var(--dendro-bright);background:rgba(5,31,26,.3);backdrop-filter:blur(10px)}.dendro-sigil span{display:block;font-size:18px;transition:transform .35s}.dendro-sigil:hover span{transform:rotate(90deg)}
.hidden-revelation{position:absolute;left:6vw;bottom:8vh;color:var(--dendro-bright);font-family:var(--display);font-size:16px}
.birthday-celebration{position:absolute;right:5vw;top:18vh;margin:0;border:0;text-align:right}.birthday-celebration strong{font-size:38px}
.dream-journey{position:relative;z-index:1;height:420vh;color:#fff}.journey-sticky{position:sticky;top:0;height:100svh;overflow:hidden}.journey-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,transparent 12%,rgba(1,7,6,.18) 50%,rgba(1,6,5,.64) 100%)}
.journey-chapter{position:absolute;z-index:2;left:clamp(24px,8vw,130px);top:50%;width:min(760px,82vw);opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.journey-chapter.is-active{opacity:1;transform:translateY(0)}
.journey-chapter p{margin:0 0 12px;color:var(--moon);font:10px/1.5 Georgia,serif;letter-spacing:.2em}.journey-chapter h2{margin:0;font-family:var(--display);font-size:clamp(42px,7vw,94px);font-weight:400;line-height:1.04}.journey-chapter span{display:block;margin-top:22px;color:rgba(255,255,255,.66);font-size:14px}
.journey-progress{position:absolute;z-index:3;right:5vw;top:18vh;width:1px;height:64vh;background:rgba(255,255,255,.14)}.journey-progress span{display:block;width:100%;height:0;background:var(--dendro-bright);box-shadow:0 0 12px var(--dendro);transition:height .15s linear}.journey-depth{position:absolute;z-index:3;right:calc(5vw + 18px);bottom:16vh;margin:0;color:rgba(255,255,255,.42);font:10px Georgia,serif;letter-spacing:.18em;writing-mode:vertical-rl}
.water-secret{position:absolute;left:50%;bottom:12vh;transform:translateX(-50%);color:#a9e5df;font-family:var(--display);font-size:16px;text-shadow:0 0 18px #4dada8}
.community-section,.seed-section,.choice-section,.card-section{position:relative;z-index:3}.community-section{background:rgba(242,240,232,.97)}
.seed-section{background:linear-gradient(135deg,rgba(247,242,220,.98),rgba(233,241,216,.98))}
.memory-section{z-index:3}.memory-image-wrap{overflow:hidden}.memory-image-wrap img{transform:scale(1.04);transition:opacity .25s,transform .8s ease}.memory-viewer:hover .memory-image-wrap img{transform:scale(1.09)}
.enter-memory{margin:24px 0;padding:12px 22px;border:1px solid rgba(241,216,146,.5);color:#fff;background:transparent}.enter-memory:hover{color:#153a32;background:var(--moon)}
.memory-immersion{position:fixed;inset:0;z-index:1100;overflow:hidden;color:#fff;background:#020706}.memory-depth{position:absolute;inset:-5%;background-position:center;background-size:cover;transition:transform .18s ease-out}.memory-depth-back{filter:brightness(.55);transform:scale(1.06)}.memory-depth-front{background:radial-gradient(circle at 50% 45%,transparent 18%,rgba(2,8,7,.25) 55%,rgba(2,7,6,.9) 100%);mix-blend-mode:multiply}.memory-narration{position:absolute;z-index:3;left:8vw;bottom:10vh;width:min(720px,82vw)}.memory-narration p{color:var(--moon);font-size:10px;letter-spacing:.2em}.memory-narration h2{margin:12px 0;font-family:var(--display);font-size:clamp(38px,6vw,82px);font-weight:400;line-height:1.08}.memory-narration span{color:rgba(255,255,255,.75);line-height:2}.memory-immersion>button{position:absolute;z-index:4;right:4vw;top:4vw;width:48px;height:48px;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;background:rgba(0,0,0,.25);font-size:25px}
.choice-section{background:rgba(246,242,222,.98)}.letter-section{position:relative;z-index:3}
.leaf-forge{position:relative;z-index:3;min-height:100svh;background:linear-gradient(120deg,#072d28,#0b4a3c 58%,#153b32)}
.leaf-forge .wish-content h2{font-size:clamp(40px,4vw,56px)}.leaf-intro{max-width:600px;color:rgba(255,255,255,.65)}.leaf-drawing-wrap{position:relative;width:min(720px,100%);margin:25px 0;background:rgba(0,0,0,.2);border:1px solid rgba(206,238,155,.2);overflow:hidden}.leaf-drawing-wrap::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(190,239,133,.08),transparent 58%);pointer-events:none}#leaf-canvas{display:block;width:100%;height:auto;touch-action:none}.draw-prompt{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:rgba(255,255,255,.45);font-size:12px;pointer-events:none}.leaf-drawing-wrap.has-drawing .draw-prompt{opacity:0}.clear-leaf{position:absolute;right:12px;top:12px;width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#fff;background:rgba(3,20,17,.48);font-size:20px}
.wish-form>input{width:min(720px,100%);padding:13px 15px;border:0;border-bottom:1px solid rgba(255,255,255,.26);outline:0;color:#fff;background:transparent}.wish-form>input:focus{border-color:var(--dendro)}.wish-input-row button{min-width:190px}.visitor-leaves{position:absolute;inset:0}.visitor-leaf{position:absolute;width:38px;height:24px;border-radius:100% 0 100% 0;background:linear-gradient(135deg,#e5f8aa,#78bd69);box-shadow:0 0 18px rgba(197,239,139,.55);transform:rotate(var(--leaf-rotate));animation:leafArrive 1.4s cubic-bezier(.2,.8,.2,1) both}.visitor-leaf button{position:absolute;inset:0;border:0;background:transparent}.wish-chip small{display:block;color:rgba(255,255,255,.46);font-size:9px}
.final-bloom{position:relative;z-index:3;min-height:100svh;padding:130px max(7vw,28px);display:flex;align-items:center;overflow:hidden;color:#fff;background:radial-gradient(circle at 72% 50%,rgba(33,112,78,.24),transparent 34%),linear-gradient(115deg,#020a09 0,#061c18 62%,#0c3228 100%)}.final-copy{position:relative;z-index:2;width:min(710px,100%)}.final-copy h2{margin:12px 0 20px;font-family:var(--display);font-size:clamp(46px,7vw,92px);font-weight:400;line-height:1.08}.final-copy>p:not(.section-index){color:rgba(255,255,255,.66)}.final-inventory{margin:34px 0;display:flex;flex-wrap:wrap;gap:12px}.final-inventory span{padding:11px 15px;border:1px solid rgba(206,238,155,.2);color:rgba(255,255,255,.68);font-size:11px}.final-inventory strong{color:var(--dendro-bright);font:24px Georgia,serif}.bloom-button{padding:15px 30px;border:1px solid var(--moon);color:#fff;background:rgba(21,67,54,.46);box-shadow:0 0 40px rgba(186,226,126,.08)}.bloom-button:hover{color:#173c32;background:var(--moon)}.final-tree-silhouette{position:absolute;right:2vw;bottom:-6vh;width:min(52vw,720px);aspect-ratio:1;background:url("../assets/images/dream-tree.png") 70% center/cover no-repeat;opacity:.25;mask-image:radial-gradient(circle,#000 34%,transparent 72%)}.maker-note{position:absolute;right:6vw;bottom:8vh;width:min(440px,80vw);color:var(--dendro-bright);font-size:12px}
.finale-overlay{display:block;background:#010605}.finale-overlay[hidden]{display:none}.finale-overlay .birthday-scene{opacity:.32;filter:brightness(.45);transition:opacity 2.4s ease,filter 2.4s ease,transform 4s ease}.finale-overlay.is-blooming .birthday-scene{opacity:.9;filter:brightness(1.15);transform:scale(1.04)}#finale-canvas{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none}.finale-tree{position:absolute;z-index:2;left:50%;top:50%;width:1px;height:1px}.finale-tree span{position:absolute;left:0;bottom:0;width:2px;height:38vh;background:linear-gradient(transparent,var(--dendro-bright));box-shadow:0 0 16px var(--dendro);transform-origin:bottom;opacity:0}.is-blooming .finale-tree span{animation:branchGrow 2.6s ease-out forwards}.finale-tree span:nth-child(2){transform:rotate(37deg);height:29vh;animation-delay:.2s}.finale-tree span:nth-child(3){transform:rotate(-42deg);height:32vh;animation-delay:.35s}.finale-tree span:nth-child(4){transform:rotate(70deg);height:23vh;animation-delay:.6s}.finale-tree span:nth-child(5){transform:rotate(-73deg);height:25vh;animation-delay:.75s}.finale-gather{position:absolute;inset:0;z-index:4;pointer-events:none}.gather-particle{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--dendro-bright);box-shadow:0 0 16px var(--dendro);animation:gatherToTree 2s cubic-bezier(.2,.75,.2,1) forwards}.finale-message{z-index:5;opacity:0;transform:translateY(28px);transition:opacity 1s ease 2s,transform 1s ease 2s}.is-blooming .finale-message{opacity:1;transform:none}.finale-message h2{font-size:clamp(40px,6vw,82px);line-height:1.08}.finale-message h2 span{letter-spacing:.14em}.nahida-reveal{position:absolute;inset:0;z-index:8;opacity:0;visibility:hidden;background:#e8f3dc;transition:opacity 1.8s ease,visibility 1.8s}.nahida-reveal.is-visible{opacity:1;visibility:visible}.nahida-reveal-image{position:absolute;inset:0;background:url("../assets/images/nahida-hero.webp") 58% center/cover no-repeat;transform:scale(1.07);transition:transform 5s ease}.nahida-reveal.is-visible .nahida-reveal-image{transform:scale(1)}.nahida-reveal::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,31,26,.84),rgba(3,31,26,.2) 64%,transparent)}.nahida-reveal-copy{position:absolute;z-index:2;left:8vw;top:50%;width:min(650px,80vw);transform:translateY(-50%);color:#fff}.nahida-reveal-copy span{color:var(--moon);font-size:10px;letter-spacing:.22em}.nahida-reveal-copy strong{display:block;margin:12px 0;font-family:var(--display);font-size:clamp(72px,11vw,160px);font-weight:400;line-height:1}.nahida-reveal-copy p{color:rgba(255,255,255,.78)}.close-finale{position:absolute;z-index:10;left:50%;bottom:6vh;transform:translateX(-50%);padding:12px 26px;border:1px solid rgba(255,255,255,.55);color:#fff;background:rgba(4,43,35,.65)}
.idle-whisper{position:fixed;z-index:100;right:24px;bottom:24px;max-width:300px;padding:14px 18px;border-left:2px solid var(--dendro);color:#fff;background:rgba(3,25,21,.82);backdrop-filter:blur(12px);font-family:var(--display);font-size:14px;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .4s,transform .4s}.idle-whisper.is-visible{opacity:1;transform:none}
.secret-room{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:30px;color:#fff;text-align:center;background:radial-gradient(circle,#164f3d,#020a08 70%)}.secret-room[hidden]{display:none}.secret-room h2{margin:0;font-family:var(--display);font-size:clamp(42px,8vw,96px);font-weight:400}.secret-room p{max-width:620px;color:rgba(255,255,255,.7)}.secret-room button{margin-top:22px;padding:11px 24px;border:1px solid var(--moon);color:#fff;background:transparent}
@keyframes cursorOrbit{to{transform:rotate(360deg)}}@keyframes scanDream{from{transform:translateY(-45%)}to{transform:translateY(45%)}}@keyframes statusPulse{50%{opacity:.4;transform:scale(.7)}}@keyframes leafArrive{from{opacity:0;transform:translate(-50vw,-40vh) rotate(-220deg) scale(.2)}to{opacity:1;transform:rotate(var(--leaf-rotate)) scale(1)}}@keyframes branchGrow{from{opacity:0;transform:scaleY(0)}to{opacity:1}}@keyframes gatherToTree{to{left:50%;top:50%;opacity:0;transform:scale(.2)}}
@media(max-width:720px){.nav-links{display:none}.access-shell{padding-top:90px}.access-shell h1{font-size:66px}.constellation-countdown{height:230px}.node-day{left:4%;top:35px}.node-hour{left:30%;top:124px}.node-minute{right:19%;top:42px}.node-second{right:1%;top:144px}.constellation-unit strong{font-size:42px}.birthday-celebration{right:18px;top:92px}.dream-journey{height:360vh}.journey-chapter{left:24px;top:55%}.journey-progress{right:18px}.journey-depth{right:34px}.memory-narration{left:24px;bottom:12vh}.memory-narration h2{font-size:44px}.leaf-forge{padding-top:80px}.wish-input-row{display:block}.wish-input-row button{width:100%;margin-top:12px}.final-bloom{padding:100px 24px}.final-inventory{display:grid;grid-template-columns:1fr}.final-tree-silhouette{width:100vw;right:-38vw}.nahida-reveal::after{background:linear-gradient(0deg,rgba(3,31,26,.9),rgba(3,31,26,.08) 75%)}.nahida-reveal-copy{left:24px;top:auto;bottom:16vh;transform:none}.nahida-reveal-copy strong{font-size:78px}.finale-message{padding:28px 18px}.idle-whisper{left:18px;right:18px;bottom:18px}.hidden-revelation{left:20px;bottom:120px;font-size:13px}}
.dream-archived .dream-access{filter:saturate(.72)}.dream-archived .access-scan{animation:none;opacity:.35}
@media(max-width:720px){.leaf-forge .wish-content h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.access-scan,.dendro-cursor span,.connection-state i,.visitor-leaf,.finale-tree span{animation:none}.journey-chapter,.memory-depth,.nahida-reveal,.nahida-reveal-image{transition:none}}

/* Character-first birthday edition */
.dream-access{place-items:center start;background:linear-gradient(90deg,rgba(1,10,8,.96) 0%,rgba(3,18,14,.82) 37%,rgba(3,18,14,.15) 68%,rgba(2,10,8,.12) 100%)}
.nahida-hero-presence{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.nahida-hero-presence::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#020a08 0%,rgba(2,10,8,.92) 31%,rgba(2,10,8,.18) 66%,rgba(2,10,8,.04)),linear-gradient(0deg,rgba(2,10,8,.72),transparent 44%)}
.nahida-hero-presence picture{position:absolute;inset:0}.nahida-hero-presence img{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;object-position:62% center;filter:saturate(.9) brightness(.78);animation:heroBreathe 12s ease-in-out infinite alternate}
.hero-halo{position:absolute;z-index:1;right:15%;top:19%;width:34vw;max-width:560px;aspect-ratio:1;border:1px solid rgba(234,255,190,.2);border-radius:50%;box-shadow:0 0 80px rgba(201,244,145,.14),inset 0 0 60px rgba(240,217,146,.12);animation:haloTurn 24s linear infinite}
.hero-halo::before,.hero-halo::after{content:"";position:absolute;inset:8%;border:1px solid rgba(240,215,138,.18);transform:rotate(45deg)}
.hero-halo::after{inset:22%;border-color:rgba(199,240,151,.22)}
.access-shell{width:min(780px,calc(100% - 10vw));margin-left:6vw;text-align:left}
.access-shell h1{max-width:690px;font-size:clamp(70px,9vw,142px);line-height:.84;text-shadow:0 8px 70px rgba(0,0,0,.48)}
.access-shell h1 span{margin-left:6px;letter-spacing:.36em}
.fan-confession{width:min(520px,88%);margin:30px 0 0;color:rgba(255,255,255,.72);font-family:var(--display);font-size:clamp(15px,1.3vw,20px);line-height:1.9}
.connection-state{justify-content:flex-start;margin:18px 0 0}
.constellation-countdown,.dream-system.birthday-mode #countdown{width:min(650px,88vw);margin:18px 0 0}
.access-time{justify-content:flex-start}.vision-guide{margin-left:2px}.birthday-celebration{z-index:5}

.journey-gallery{position:absolute;inset:0;overflow:hidden;background:#06100d}
.journey-frame{position:absolute;inset:-3%;margin:0;opacity:0;transform:scale(1.08);transition:opacity 1.25s ease,transform 7s ease}
.journey-frame.is-active{opacity:1;transform:scale(1)}
.journey-frame img{width:100%;height:100%;object-fit:cover;object-position:center}
.journey-frame:nth-child(1) img{filter:brightness(.28) saturate(.55);object-position:60% center}
.journey-frame:nth-child(2) img{filter:brightness(.66) saturate(.82)}
.journey-frame:nth-child(3) img{filter:brightness(.72) saturate(.9)}
.journey-frame:nth-child(4) img{filter:brightness(.72) saturate(1.08)}
.journey-gallery::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,7,.9) 0%,rgba(2,8,7,.7) 38%,rgba(2,8,7,.08) 72%),linear-gradient(0deg,rgba(2,8,7,.68),transparent 55%)}
.journey-vignette{z-index:1}.journey-chapter{top:auto;bottom:14vh;width:min(800px,78vw)}
.journey-chapter p{font-family:var(--sans);color:#e6ce82;letter-spacing:.14em}
.journey-chapter h2{max-width:850px;font-size:clamp(38px,6vw,82px);line-height:1.13}
.journey-chapter span{max-width:650px;font-size:clamp(13px,1.15vw,17px);line-height:2}

.nahida-devotion{position:relative;z-index:3;overflow:hidden;padding:130px 0 110px;color:#254437;background:linear-gradient(180deg,#f8f4df 0%,#edf5da 50%,#faf4e6 100%)}
.nahida-devotion::before{content:"NAHIDA";position:absolute;right:-.04em;top:-.2em;color:rgba(67,126,84,.055);font:400 clamp(150px,29vw,480px)/1 Georgia,serif;pointer-events:none}
.devotion-copy{position:relative;z-index:2;width:min(880px,86vw);margin:0 auto 70px;text-align:center}
.devotion-copy h2{margin:12px 0 24px;font-family:var(--display);font-size:clamp(42px,6.5vw,92px);font-weight:400;line-height:1.12}
.devotion-copy>p:last-child{width:min(700px,100%);margin:0 auto;color:#647469;font-size:15px;line-height:2}
.nahida-film{position:relative;display:grid;grid-template-columns:1fr 1.05fr 1.45fr 1.05fr 1fr;align-items:center;gap:10px;width:min(1500px,96vw);margin:0 auto}
.nahida-film figure{position:relative;margin:0;aspect-ratio:3/4;overflow:hidden;background:#dfe9cf;box-shadow:0 18px 50px rgba(53,77,57,.12);transform:translateY(20px)}
.nahida-film .film-focus{aspect-ratio:4/5;transform:none}
.nahida-film img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.2s ease,filter .6s ease}
.nahida-film figure:not(.film-focus) img{filter:saturate(.72) brightness(.88)}
.nahida-film figure:hover img{transform:scale(1.07);filter:saturate(1) brightness(1)}
.nahida-film figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 15px;color:#fff;text-align:center;font-family:var(--display);font-size:16px;background:linear-gradient(transparent,rgba(14,52,38,.78))}
.devotion-quote{width:min(900px,86vw);margin:86px auto 0;border:0;color:#315542;text-align:center;font-family:var(--display);font-size:clamp(22px,3vw,40px);line-height:1.7}

.seed-section{background:linear-gradient(135deg,rgba(247,242,220,.98),rgba(224,242,214,.98))}
.seed-message blockquote{font-family:var(--display)}
.memory-section{background:linear-gradient(120deg,#082a24,#164b3b)}
.memory-image-wrap img{width:100%;height:100%;object-fit:cover}
.final-bloom{background:linear-gradient(90deg,rgba(2,10,8,.98),rgba(3,25,18,.76) 52%,rgba(3,26,18,.18)),url("../官图/IMG_0154.PNG") 68% center/cover no-repeat}
.final-tree-silhouette{opacity:.14}
.nahida-reveal-image{background-image:url("../官图/IMG_0111.WEBP");background-position:58% center}

@keyframes heroBreathe{from{transform:scale(1)}to{transform:scale(1.035) translate3d(-.6%,0,0)}}
@keyframes haloTurn{to{transform:rotate(360deg)}}

@media(max-width:900px){
  .dream-access{place-items:end start;background:linear-gradient(0deg,rgba(2,10,8,.98) 0%,rgba(2,10,8,.66) 50%,rgba(2,10,8,.06) 82%)}
  .nahida-hero-presence::before{background:linear-gradient(0deg,#020a08 0%,rgba(2,10,8,.82) 44%,rgba(2,10,8,.05) 82%)}
  .nahida-hero-presence img{object-position:52% top}
  .access-shell{width:calc(100% - 40px);margin:0 20px;padding:45vh 0 52px}
  .access-shell h1{font-size:clamp(58px,15vw,92px)}
  .constellation-countdown,.dream-system.birthday-mode #countdown{height:170px}
  .nahida-film{grid-template-columns:repeat(5,72vw);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 14vw 32px}
  .nahida-film figure,.nahida-film .film-focus{aspect-ratio:4/5;transform:none;scroll-snap-align:center}
}

@media(max-width:720px){
  .fan-confession{margin-top:20px;font-size:14px}.connection-state{margin-top:12px}
  .node-day{left:2%}.node-hour{left:28%;top:98px}.node-minute{right:21%}.node-second{right:1%;top:106px}
  .journey-gallery::after{background:linear-gradient(0deg,rgba(2,8,7,.94) 0%,rgba(2,8,7,.55) 52%,rgba(2,8,7,.08) 82%)}
  .journey-frame img{object-position:62% center}.journey-chapter{left:22px;bottom:12vh;width:calc(100% - 55px)}
  .journey-chapter h2{font-size:38px}.journey-chapter span{line-height:1.75}
  .nahida-devotion{padding:90px 0 78px}.devotion-copy{margin-bottom:48px}.devotion-copy h2{font-size:43px}
  .devotion-quote{margin-top:54px;font-size:24px}
  .final-bloom{background-position:66% center}.final-bloom::before{content:"";position:absolute;inset:0;background:rgba(2,10,8,.58)}
}
