:root{--spot-radius:840px}
.gesture-gateway{position:absolute;transition:filter 3s;animation:gateway-arrive 1s both}
.gesture-gateway>a span,.gesture-gateway>a small,.gesture-gateway>p{opacity:0;transition:opacity .4s}
.gesture-gateway:hover>a span,.gesture-gateway:hover>a small,.gesture-gateway:focus-within>a span,.gesture-gateway:focus-within>a small,.gesture-gateway:hover>p,.gesture-gateway:focus-within>p{opacity:1}
.gesture-gateway.dissolving{filter:blur(9px) drop-shadow(0 0 50px #ffc24a);pointer-events:none}
.gesture-gateway:hover,.gesture-gateway:focus-within{pointer-events:auto}
.gesture-gateway>a{background:transparent}.gesture-gateway>p{text-align:center;line-height:1.3;bottom:-.7rem}
.gesture-gateway>img{animation:cosmic-turn 35s linear infinite}
.portal-gate .portal-art,.portal-gate.open .portal-art{animation:cosmic-turn 48s linear infinite;filter:drop-shadow(0 0 35px #e9b25790)}
.portal-gate:after{content:'';position:absolute;inset:6%;border:2px dotted #ffe5a2;border-radius:50%;box-shadow:0 0 32px #eab15b88,inset 0 0 28px #88dcc577;pointer-events:none;animation:cosmic-turn 24s linear infinite}
.portal-gate:hover:after{box-shadow:0 0 75px #ffe4a8,inset 0 0 85px #64c8bf;transition:box-shadow 1s}.portal-gate:hover .portal-art{animation-duration:24s}
.universe-awake .portal-gate{filter:drop-shadow(0 0 70px #e9c47c66)}
#discovery-count{font-variant-numeric:tabular-nums;color:#d5bd83;font-size:.65rem;white-space:nowrap;padding:0 .5rem}
.chapter-discovery{position:relative;min-height:180px;display:grid;place-items:center;isolation:isolate;overflow:hidden}
.chapter-unlock{position:relative;width:104px;height:104px;border:1px solid #d6b16655;border-radius:50%;background:radial-gradient(circle,#3b281833,#020505);color:#ffe7ae;box-shadow:0 0 55px #c6aa3630;z-index:2;transition:transform 1s,box-shadow 1s}
.chapter-unlock:hover,.chapter-unlock:focus-visible{transform:scale(1.15);box-shadow:0 0 70px #ddc38077}.seed-glyph{font-family:Georgia,serif;font-size:2.7rem}.seed-orbit{position:absolute;inset:-18%;border:1px dotted #7ec9b4;border-radius:50%;transform:rotateX(65deg);animation:seed-orbit 14s linear infinite}
.secret-scene{position:relative;width:min(980px,94vw);aspect-ratio:16/8;margin:0 auto 3rem;overflow:hidden;border:1px solid #be975477;border-radius:3px;box-shadow:0 0 100px #87b6aa22;animation:secret-emerge 3s ease-out both}.secret-scene[hidden]{display:none}.secret-scene>img{width:100%;height:100%;object-fit:cover}.unlocked .chapter-unlock{width:58px;height:58px;margin-bottom:1.5rem}.unlocked .seed-glyph{font-size:1.6rem}.chapter-discovery.unlocked{padding-top:1rem}
.secret-geometry{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen}.secret-geometry i{position:absolute;inset:15% 30%;border:1px solid #ffe5a344;border-radius:50%;animation:seed-orbit 12s linear infinite;box-shadow:0 0 28px #ffd66b22}.secret-geometry i:nth-child(2){animation-delay:-2s;inset:25% 22%}.secret-geometry i:nth-child(3){animation-delay:-4s;inset:20% 40%}.secret-geometry i:nth-child(4){animation-delay:-6s}.secret-geometry i:nth-child(5){animation-delay:-8s}.chapter-projection .secret-geometry{transform:rotate(45deg)}.chapter-constellation .secret-geometry i{border-style:dotted}.chapter-connection .secret-geometry{transform:scale(1.4)}
#frame-discovery{position:fixed;z-index:74;width:min(300px,calc(100vw - 24px));padding:4px;background:#080d0ef0;border:1px solid #ceb675;box-shadow:0 0 70px #e6bc6433;border-radius:12px;pointer-events:auto;overflow:hidden}#frame-discovery[hidden]{display:none}#discovery-lens{display:block;width:100%;height:auto;border-radius:8px}#focus-progress{display:block;width:100%;height:3px;accent-color:#ffdc8b;border:0}#frame-expand{width:100%;min-height:42px;border:0;background:#181b10;color:#fff0be;font-size:.8rem;letter-spacing:.1em}#frame-expand[hidden]{display:none}#frame-dismiss{position:absolute;top:6px;right:6px;width:30px;height:30px;background:#0d1313bd;border:1px solid #bcaa7088;color:white;border-radius:50%;z-index:1}
body.frame-focus .camera-cursor{opacity:1!important;transform:scale(1.4)!important;filter:none!important}body.frame-focus .spot-cursor{opacity:0!important}body.frame-focus .lens-cross{opacity:0}
#frame-preview{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:radial-gradient(ellipse,#18201cc9,#030505fa);overflow:hidden;color:#ffedbf}#frame-preview::backdrop{background:#000c}#frame-preview[open]{display:grid;place-items:center}#manifestation{width:94vw;max-width:1600px;height:auto;max-height:85vh;object-fit:contain;transform-origin:center;box-shadow:0 0 70px #b9974d33;pointer-events:none}.preview-controls{position:absolute;bottom:1.5rem;left:0;right:0;display:flex;justify-content:center;gap:1rem}.preview-controls button{padding:.7rem 1.2rem;border:1px solid #ab8b4b;border-radius:30px;background:#0a100de0;color:#fce3b3;min-height:44px}
#welcome{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:2rem 1rem 4rem;border:0;background:#020808;color:#f5e8c7;overflow:auto;text-align:center;isolation:isolate}#welcome::backdrop{background:#020808}#welcome[open]{display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:1.2rem}.welcome-sky{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 65%,#10393288,transparent 55%),radial-gradient(ellipse at 20% 20%,#52371777,transparent 60%);overflow:hidden}.welcome-sky span{position:absolute;left:15%;top:10%;width:70%;height:75%;border-radius:50%;border:1px solid #d6b06b55;box-shadow:0 0 120px #cbb56b22,inset 0 0 120px #62b9a533;animation:welcome-orbit 24s ease-in-out infinite}.welcome-sky span:nth-child(2){transform:rotate(70deg);animation-delay:-8s}.welcome-sky span:nth-child(3){transform:rotate(-70deg);animation-delay:-16s}.welcome-emblem{width:clamp(100px,16vh,175px);height:auto;border-radius:50%;box-shadow:0 0 50px #e4b74733;flex-shrink:0}#language-choices{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;width:min(660px,94vw);padding:1.5rem 0}#language-choices[hidden]{display:none}#language-choices button{min-height:52px;border:1px solid #8ca69855;color:#e6e5ca;background:#0e1b17b3;padding:.7rem 1.4rem;border-radius:30px;font:1.05rem var(--poster);transition:box-shadow .7s,background .7s}#language-choices button:hover,#language-choices button:focus-visible{box-shadow:0 0 40px #cda45b77;background:#2f3c27}#welcome-copy{width:min(550px,94vw)}#welcome-copy[hidden]{display:none}#welcome h2{font:clamp(2.2rem,4vw,4rem)/1.05 var(--poster);margin:0 0 1rem}#welcome-intro{color:#b9c4b8;font-size:.95rem;margin:0 auto 1.5rem;max-width:27rem}#welcome-form{display:grid;gap:.8rem;text-align:left}.welcome-fields{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}#welcome-form label{display:grid;gap:.35rem;font-size:.8rem;color:#c6c4ad}#welcome-form input:not([type=checkbox]),#welcome-form textarea{width:100%;min-width:0;background:#07110fb3;color:#fff2d2;border:1px solid #7d8b6866;border-radius:8px;padding:.7rem;font:inherit}#welcome-form .welcome-consent{display:flex;align-items:start;font-size:.75rem}.welcome-consent input{accent-color:#e8c479;margin-top:3px}#welcome-send,#welcome-skip{border:1px solid #c8a75c;border-radius:40px;padding:.85rem 1.5rem;font-size:.9rem;min-height:44px}#welcome-send{background:linear-gradient(110deg,#c79b4b,#f5e0a3);color:#152018}#welcome-skip{background:#0a1310a0;color:#ddd8ba;margin:.65rem}#welcome-close{position:fixed;right:1.2rem;top:1.2rem;border:1px solid #bfb38e77;color:#edd6a3;background:#17201999;border-radius:50%;width:44px;height:44px;font-size:1.3rem}#welcome-back{border:0;background:transparent;color:#e8d8aa;padding:.8rem}#preference-note,#translation-note{font-size:.72rem;line-height:1.6;color:#b1b8a5;max-width:29rem;margin:.7rem auto}#welcome-result{font-size:.9rem;margin:.5rem 0;color:#ffe6a4}#welcome-mailto{font-size:.85rem;color:#ffe6a4}#welcome-form .form-trap{display:none}.welcome-open .header,.welcome-open main,.welcome-open footer{visibility:hidden}.welcome-open #cinema-cursor{display:none}body.welcome-open{overflow:hidden}
@keyframes cosmic-turn{to{transform:rotate(360deg)}}@keyframes seed-orbit{to{transform:rotateY(360deg) rotateZ(180deg)}}@keyframes welcome-orbit{50%{transform:rotate(110deg) scale(.8);border-radius:40%;filter:blur(1px)}}@keyframes secret-emerge{from{opacity:0;filter:blur(25px);clip-path:circle(0%)}to{opacity:1;filter:blur(0);clip-path:circle(75%)}}
@media(max-width:700px){:root{--spot-radius:700px}.experience-controls{gap:.1rem}#discovery-count{padding:0 .2rem}.welcome-fields{grid-template-columns:1fr}#welcome[open]{padding-top:2.5rem;gap:.7rem}#language-choices{gap:.6rem}#language-choices button{padding:.5rem 1rem;font-size:1rem}.secret-scene{aspect-ratio:1.25}.chapter-unlock{width:84px;height:84px}}
.motion-paused *, .effects-off *{animation-play-state:paused!important}.motion-paused #frame-discovery{transition:none}.effects-off .secret-geometry{display:none}
@media(prefers-reduced-motion:reduce){.welcome-sky span,.portal-art,.seed-orbit,.secret-geometry i{animation:none!important}.secret-scene{animation:none!important}}
#language-choices{max-height:48vh;overflow:auto;padding:1rem .7rem;scrollbar-color:#aa995c #12201c;border-block:1px solid #9d956433;mask-image:linear-gradient(transparent,#000 5%,#000 95%,transparent)}#language-choices button{font-family:system-ui,sans-serif;font-size:.88rem;padding:.6rem 1rem;min-height:45px}.gesture-gateway{animation:portal-form 1s ease-out both}@keyframes portal-form{from{transform:scale(.2) rotate(-35deg)}to{transform:scale(1) rotate(0)}}

/* Keep paint local: one small-resolution spotlight layer, compositor motion. */
#spotlight-shade,#spotlight-light{display:none!important}
#spotlight-field{position:fixed;inset:0;width:100vw;height:100vh;z-index:40;pointer-events:none;opacity:0;transition:opacity .7s;contain:strict}
body[data-mode=spotlight].cursor-active #spotlight-field{opacity:1}
.motion-paused #spotlight-field,.effects-off #spotlight-field,.welcome-open #spotlight-field{display:none}
#frame-discovery{left:0;top:0;will-change:transform;contain:layout style}
.welcome-sky span{will-change:transform;animation-name:welcome-orbit-fluid}
@keyframes welcome-orbit-fluid{50%{transform:rotate(110deg) scale(.8);opacity:.65}}
.chapter-discovery:not(.scene-visible) .seed-orbit,.chapter-discovery:not(.scene-visible) .secret-geometry i,.finale:not(.scene-visible) .portal-art,.finale:not(.scene-visible) .portal-gate:after{animation-play-state:paused}
.welcome-open .chapter-discovery *,.welcome-open .finale *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){#spotlight-field{display:none!important}}
