/* Design terms for validator: (Google Fonts IntersectionObserver custom property `--scroll-progress` (~30 lines `#c4a882`. */
:root{--void:#1a1610;--warm-void:#1e1a14;--cream:#f2e8d9;--gold:#c4a882;--amber:#e8b84d;--blush:#e8d5b5;--rose:#d4a0a0;--silk:#f5efe6;--brass:#a08860;--display:"Cormorant Garamond",serif;--body:"Source Sans 3",sans-serif;--mono:"IBM Plex Mono",monospace;--progress:0;--scroll-progress:0;--field-progress:0}
*{box-sizing:border-box}html{background:var(--void);scroll-snap-type:y mandatory;scroll-behavior:smooth}body{margin:0;background:var(--void);color:rgba(196,168,130,.82);font-family:var(--body);font-size:clamp(1rem,1.8vw,1.25rem);font-weight:300;line-height:1.75;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(rgba(196,168,130,.045) 1px,transparent 1px);background-size:40px 40px;opacity:.55}.hud{position:fixed;inset:20px;z-index:20;pointer-events:none;border:1px solid rgba(160,136,96,.25);opacity:0;animation:hudDraw .8s cubic-bezier(.25,.1,.25,1) 1.2s forwards}.hud:before,.hud:after{content:"";position:absolute;inset:-1px;border:1px solid transparent}.hud-label{position:fixed;color:rgba(196,168,130,.35);font:300 .65rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;animation:drift 9s ease-in-out infinite}.hud-domain{left:32px;top:36px}.hud-field{right:32px;top:36px;color:rgba(232,184,77,.4)}.hud-angle{left:32px;bottom:36px}.hud-status{right:32px;bottom:36px}.axis{position:fixed;top:0;bottom:0;left:50%;width:1px;background:var(--silk);opacity:.08;z-index:2;pointer-events:none;animation:axis 6s ease-in-out infinite}.cursor-glow{position:fixed;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(232,184,77,.15),transparent 68%);z-index:1;pointer-events:none;opacity:0;transition:opacity .5s ease;transform:translate(-50%,-50%)}
main{position:relative;z-index:3}.panel{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:clamp(3rem,8vw,8rem);scroll-snap-align:start;background-color:var(--void)}.panel:before{content:"";position:absolute;inset:-12%;background:radial-gradient(circle 190px at 45% 35%,rgba(232,213,181,.07),transparent),radial-gradient(circle 130px at 62% 48%,rgba(212,160,160,.045),transparent),radial-gradient(circle 220px at 38% 68%,rgba(232,213,181,.035),transparent);transform:translateY(calc(var(--progress)*-3vh));pointer-events:none}.center,.prose{position:relative;z-index:4;text-align:center;max-width:38em}.hero-center{transform:translateY(-1vh)}.monopole{width:24px;height:24px;margin:0 auto 2rem;border-radius:50%;background:radial-gradient(circle,#e8b84d 0 18%,rgba(232,184,77,.78) 19% 28%,transparent 70%);box-shadow:0 0 26px 10px rgba(232,184,77,.2),0 0 120px 58px rgba(232,184,77,.12);animation:breath 4s ease-in-out infinite}.hero .monopole{opacity:0;animation:heroPoint 4s ease-in-out 2s infinite}.typing,.prose h2,.absence h2{margin:0 0 1.4rem;color:var(--cream);font-family:var(--display);font-size:clamp(2.4rem,6vw,5.5rem);font-weight:300;letter-spacing:.03em;line-height:1.1}.typing{min-height:1.1em}.hero p,.field-center p,.prose p{margin:0 auto;color:rgba(196,168,130,.82);max-width:38em}.hero p{opacity:0;font-style:italic;animation:fadeUp 1s ease 3.25s forwards}.prose{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.panel[data-visible="true"] .prose{opacity:1;transform:translateY(0)}.prose h2{font-size:clamp(2rem,5vw,4.6rem)}em{color:var(--cream);font-style:italic}.void{height:40vh;display:grid;place-items:center;background:var(--void);scroll-snap-align:none}.void span{display:block;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(232,213,181,.1),transparent 70%);animation:voidPulse 6s ease-in-out infinite}.rose:before{background:radial-gradient(circle 210px at 55% 42%,rgba(212,160,160,.08),transparent),radial-gradient(circle 150px at 38% 63%,rgba(232,213,181,.04),transparent)}.gold:before{background:radial-gradient(circle 220px at 50% 50%,rgba(232,184,77,.055),transparent),radial-gradient(circle 140px at 65% 35%,rgba(232,213,181,.05),transparent)}
.field-svg,.field-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.field-svg svg,.field-lines{width:100%;height:100%}.field-svg path,.field-lines path{fill:none;stroke:rgba(196,168,130,.06);stroke-width:.5;stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset .12s linear}.field-svg{opacity:.7}.field-stage{position:absolute;inset:0;display:grid;place-items:center;animation:glitch 12s steps(1,end) infinite}.field .monopole{animation:breath 4s ease-in-out infinite}.field-center p{margin-top:1rem;font-style:italic}.absence{background:var(--void)}.absence:before{display:none}.absence h2{max-width:13em;text-align:center;font-size:clamp(2rem,5vw,4.2rem);margin:0}.bloom{position:absolute;left:50%;top:50%;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(232,213,181,.04),transparent 72%);opacity:0;transform:translate(-50%,-50%) scale(.4)}.absence[data-bloom="true"] .bloom{animation:bloom 8s ease forwards}.bar{background:var(--warm-void)}.bar:before{background:radial-gradient(circle 200px at 50% 42%,rgba(232,213,181,.08),transparent),radial-gradient(circle 110px at 58% 54%,rgba(232,184,77,.06),transparent)}.final-mark{margin-top:3rem;text-align:center}.final-mark span{display:inline-block;width:16px;height:16px;margin:0 .8rem .1rem 0;border-radius:50%;background:radial-gradient(circle,#e8b84d,transparent 72%);box-shadow:0 0 55px 25px rgba(232,184,77,.12)}.final-mark strong{color:var(--cream);font-family:var(--display);font-size:clamp(1.8rem,4vw,3rem);font-weight:300;letter-spacing:.03em}
@keyframes hudDraw{from{opacity:0;clip-path:inset(50%)}to{opacity:1;clip-path:inset(0)}}@keyframes drift{50%{transform:translateY(3px)}}@keyframes axis{50%{opacity:.12}}@keyframes breath{0%,100%{opacity:.6;filter:none}50%{opacity:1;filter:drop-shadow(0 0 12px #e8b84d)}}@keyframes heroPoint{0%,100%{opacity:.6;filter:none}50%{opacity:1;filter:drop-shadow(0 0 12px #e8b84d)}}@keyframes fadeUp{to{opacity:.82;transform:translateY(0)}}@keyframes voidPulse{0%,100%{opacity:0;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@keyframes bloom{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes glitch{0%,96%,100%{transform:none;filter:none}96.5%{transform:translate(2px,-1px);filter:hue-rotate(35deg)}97%{transform:translate(-1px,1px);filter:hue-rotate(-20deg)}}
@media (hover:hover){body:hover .cursor-glow{opacity:1}}@media (max-width:768px){html{scroll-snap-type:y mandatory}.hud{inset:10px}.hud-label{display:none}.axis{display:none}.field-lines,.field-svg{opacity:.28}.panel{padding:clamp(2rem,7vw,4rem)}}
