@font-face{font-family:Inter;src:url('/assets/InterVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#071018;color:#edf1ef;font-family:Inter,system-ui,sans-serif}button{font:inherit;background:none;border:0;color:inherit;cursor:pointer;padding:10px 0;transition:color .2s}button:hover{color:#a9e9da}button:disabled{opacity:.35;cursor:wait}button:focus-visible{outline:1px solid #a9e9da;outline-offset:5px}[hidden]{display:none!important}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}#brain{display:none}.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(0,8,12,.6),transparent 30%,transparent 80%,rgba(0,8,12,.22))}header{position:absolute;top:28px;left:36px;right:36px;display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:.18em;pointer-events:none;color:#c7d3d2}header button{pointer-events:auto}header .right{margin-left:auto;display:flex;align-items:center;gap:22px;letter-spacing:0}#home{font-size:15px;font-weight:600}main,section{position:absolute}#home-screen{top:27%;left:50%;transform:translateX(-50%);text-align:center;width:min(580px,90vw)}.title-mark{font-weight:260;line-height:.98;letter-spacing:.19em}.title-mark span{font-size:clamp(28px,5.7vw,78px);display:block}.title-mark strong{font-size:clamp(52px,9vw,118px);font-weight:210;display:block;margin-top:14px;letter-spacing:.26em;padding-left:.26em}#home-screen p{font-size:12px;color:#c0ccce;margin:29px 0 45px;letter-spacing:.09em}#home-screen button{display:block;margin:0 auto;min-width:215px;text-align:left;border-bottom:1px solid #ffffff36;padding:15px 0;font-size:14px}#new-story span{float:right}#asset-status{display:block;margin:29px 0;color:#a6b9bb;font-size:9px;letter-spacing:.12em}#prologue{display:none;left:10%;top:26%;max-width:490px}small{font-size:9px;letter-spacing:.2em;color:#b0ccca}h1{font-size:clamp(28px,4vw,49px);font-weight:350;line-height:1.15;letter-spacing:-.04em;margin:19px 0}p{font-size:14px;line-height:1.7;font-weight:350;color:#cfdbd9}#prologue button,#dilemma button,#consequence button{border-bottom:1px solid #a9dfd455;margin-top:18px}#scene-prompt{display:none;bottom:9%;left:50%;transform:translateX(-50%);text-align:center;width:90%;pointer-events:none}#scene-prompt p{font-size:12px;color:#dce9e5;margin:0}#scene-prompt button{pointer-events:auto;font-size:13px}kbd{font:inherit;border:1px solid #c9d5d36b;border-radius:3px;padding:3px 6px;margin-left:14px}#dilemma{left:8%;bottom:9%;width:min(470px,84vw);display:flex;flex-direction:column;align-items:flex-start;text-align:left;pointer-events:none;padding:0}#dilemma h1{font-size:30px}#dilemma p{max-width:440px;font-size:14px;margin:0}#dilemma button{pointer-events:auto}#neural-hud{display:none;inset:110px 0 auto;text-align:center;pointer-events:none}.neural-top{display:flex;justify-content:center;gap:26px;align-items:center;font-size:11px;color:#c3d8d2}#timer{font-size:22px;font-weight:400;color:#edf2ed}#neural-hud h2{font-size:15px;font-weight:400;margin:15px auto;max-width:550px}#routes{display:flex;justify-content:center;gap:38px;pointer-events:auto}#routes button{font-size:12px;color:var(--route);border-bottom:1px solid transparent}#routes button.selected{border-bottom-color:var(--route)}#hint{font-size:10px;color:#b4c9c0;margin:5px}#consequence{display:none;bottom:11%;left:8%;max-width:550px}#consequence h1{font-size:32px}#consequence p{font-size:14px;max-width:500px}#subtitle{position:absolute;bottom:9%;left:20%;right:20%;font-size:12px;text-align:center;pointer-events:none;color:#e3eae7}footer{position:absolute;bottom:24px;left:36px;right:36px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.16em;color:#b5c7ca}footer div{display:flex;gap:23px;letter-spacing:0}footer button{font-size:10px}dialog{max-width:540px;width:90vw;max-height:80vh;overflow:auto;background:#101d23;color:#e1ebe6;border:1px solid #53696b;padding:35px;font-size:13px;line-height:1.7}dialog::backdrop{background:#030b11b0;backdrop-filter:blur(8px)}dialog h2{font-weight:400;margin-top:0}#close-info{position:absolute;right:18px;top:6px;font-size:25px}dialog a{color:#a9e9da}.memory{border-top:1px solid #ffffff1a;padding:16px 0}.memory small{color:#9ec0b7}.memory p{font-size:12px}#error{position:absolute;bottom:20px;left:5%;right:5%;padding:18px;background:#322128;border:1px solid #bb8277;font-size:13px;z-index:10}#touch{display:none;position:absolute;bottom:4%;left:4%;right:4%;justify-content:space-between;align-items:flex-end;pointer-events:none}#touch button{pointer-events:auto;width:45px;height:43px;margin:3px;border:1px solid #d2e8df55;background:#07171b66;font-size:12px;border-radius:4px;touch-action:none}#touch>button{width:65px;height:58px}body[data-screen="story"] #prologue{display:block}body[data-screen="scene"] #scene-prompt{display:block}body[data-screen="brain"] #brain{display:block}body[data-screen="brain"] #robot{display:none}body[data-screen="brain"] #neural-hud{display:block}body[data-screen="outcome"] #consequence,body[data-screen="ending"] #consequence{display:block}body:not([data-screen="home"]) #home-screen{display:none}body:not([data-screen="home"]) footer{display:none}body[data-screen="home"] header .right,body[data-screen="story"] header .right{display:none}body[data-screen="brain"] header #chapter{display:none}body[data-screen="dilemma"] #scene-prompt{display:none}body[data-screen="travel"] .shade{background:#03101466}
@media(pointer:coarse){body[data-screen="brain"] #touch,body[data-screen="scene"] #touch{display:flex}#scene-prompt{bottom:23%}#subtitle{bottom:25%}}@media(max-width:700px){header{top:18px;left:20px;right:20px}header .right{gap:13px}#connection{font-size:9px}#chapter{font-size:8px}#prologue{left:8%;right:8%;top:25%}#prologue p{font-size:12px}footer{left:20px;right:20px;bottom:12px}footer>span{display:none}footer div{gap:16px;margin:auto}#neural-hud{top:80px}#routes{gap:14px;padding:0 12px}#routes button{font-size:10px}#neural-hud h2{font-size:13px;max-width:90%}#hint{max-width:90%;margin:auto}.neural-top{gap:16px}#consequence{left:8%;right:8%;bottom:16%}#consequence h1{font-size:26px}#consequence p{font-size:12px}#dilemma p{font-size:14px}}

body[data-screen="home"] .shade{background:radial-gradient(ellipse at center,#0310188c 0,transparent 70%),linear-gradient(0deg,#010a12aa,transparent 40%)}.title-mark{text-shadow:0 4px 24px #0008}

body[data-screen="ending"] .shade{background:linear-gradient(0deg,#020304 0%,#020304f2 55%,#020304b8 100%)}body[data-screen="ending"] #consequence{bottom:24%;left:10%;max-width:620px}body[data-screen="ending"] #consequence h1{font-weight:220;letter-spacing:.12em;font-size:42px}body[data-screen="ending"] #consequence small{letter-spacing:.3em;color:#9da9a6}#tomorrow{display:flex;gap:30px;margin-top:25px}#tomorrow button{font-size:12px;letter-spacing:.07em}#shutdown{color:#a7aca9}body[data-screen="ending"] #subtitle{display:none}

/* Evolving Life: quiet signal, spacious type, scene-colored light. */
@font-face{font-family:Orbitron;src:url('/assets/OrbitronVariable.ttf') format('truetype');font-weight:400 900;font-display:swap}
@font-face{font-family:Space;src:url('/assets/SpaceGroteskVariable.ttf') format('truetype');font-weight:300 700;font-display:swap}
:root{--accent:#9cdbdf;--signal:#b4e3e5}body{font-family:Space,Inter,sans-serif;font-weight:400}body[data-environment="home"]{--accent:#e0c4a1;--signal:#edddc8}body[data-environment="work"]{--accent:#bed1dc;--signal:#dae4e8}body[data-environment="park"]{--accent:#bad4b6;--signal:#d9e6cf}body[data-screen="home"],body[data-screen="ending"]{--accent:#9cdbdf;--signal:#c5e5e8}button:hover{color:var(--signal)}button:focus-visible{outline-color:var(--accent)}
.title-mark{font-family:Orbitron,Space,sans-serif;font-weight:400;letter-spacing:.14em;text-shadow:0 0 35px #a6edff20,0 3px 28px #000b}.title-mark>span{font-size:clamp(25px,4.5vw,59px)}.title-mark>strong{font-size:clamp(68px,9vw,120px);font-weight:400;margin-top:24px;letter-spacing:.2em;padding-left:.2em}.title-mark .glyph{display:inline-block;font-size:inherit;animation:signal-in 1.15s cubic-bezier(.16,.7,.22,1) both;animation-delay:calc(var(--i)*55ms)}
#home-screen{top:30%;width:min(660px,92vw)}#home-screen button{font-family:Space;font-size:13px;letter-spacing:.2em;text-transform:uppercase;min-width:200px;margin-top:42px;position:relative;color:#dbe6e8;border-color:#dce8e62b}#home-screen #resume{margin-top:8px}#home-screen button::after{content:'';position:absolute;bottom:-1px;left:0;height:1px;width:0;background:var(--accent);box-shadow:0 0 10px #9cdbdf66;transition:width .4s}#home-screen button:hover::after{width:100%}
#load-progress{width:200px;height:1px;background:#e7eded18;margin:30px auto 0;position:relative}#load-progress::after{content:'';position:absolute;inset:0 auto 0 0;width:var(--progress,0%);background:var(--accent);box-shadow:0 0 9px #9cdbdf77;transition:width .4s}#asset-status{margin:12px 0;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#a2bdc1}body[data-loading="ready"] #load-progress{opacity:.5}#home-screen #retry-load{margin-top:12px}
h1,#consequence h1,#dilemma h1,dialog h2{font-family:Orbitron,Space,sans-serif;font-weight:400;letter-spacing:.025em;line-height:1.4}h1{font-size:clamp(25px,3.2vw,42px)}#consequence h1,#dilemma h1{font-size:clamp(23px,2.5vw,32px)}p{font-weight:400;color:#d0d9d6;line-height:1.75}small,header,#timer{font-family:Space,sans-serif}small{color:var(--accent)}header{opacity:.7;font-size:9px}#home{font-family:Orbitron;font-size:11px;letter-spacing:.12em}#home-screen+section small{letter-spacing:.28em}#prologue{top:29%;max-width:510px}#prologue p{max-width:330px;color:#b5c8cb;margin-top:26px}#prologue button,#dilemma button,#consequence button{letter-spacing:.08em;font-size:12px;border-color:color-mix(in srgb,var(--accent) 35%,transparent)}#dilemma,#consequence{max-width:520px}#dilemma p,#consequence p{font-size:13px;max-width:460px}#neural-hud h2{font-size:14px;font-weight:400;color:#d7e1da}#routes{gap:32px}#routes button{font-family:Space;font-size:12px;letter-spacing:.06em}#hint{opacity:.65}#group{display:none}footer{opacity:.6}footer div{margin-left:auto}#subtitle{font-size:13px;letter-spacing:.035em;text-shadow:0 2px 14px #000b}body[data-screen="ending"] #consequence h1{font-family:Orbitron;font-weight:400;font-size:clamp(27px,3.1vw,40px);letter-spacing:.05em}body[data-screen="ending"] header .right{display:none}body[data-screen="home"] header{display:none}
@keyframes signal-in{0%{opacity:0;transform:translateY(16px);filter:blur(9px)}55%{opacity:.6}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(max-width:700px){#home-screen{top:30%}.title-mark>strong{margin-top:20px}#tomorrow{flex-direction:column;gap:0;align-items:flex-start}#routes{gap:16px}#neural-hud h2{font-size:12px}header .right{gap:12px}#prologue{left:8%;right:8%}}
@media(prefers-reduced-motion:reduce){.title-mark .glyph{animation:none}*{scroll-behavior:auto}#load-progress::after,button::after{transition:none}}
body[data-screen="story"] .shade{background:linear-gradient(90deg,#01090fd9, #01090f80 48%, #01090f18)}
#design-credit{font-family:Space,sans-serif;font-size:9px;letter-spacing:.05em;color:#a8bec1;align-self:center}@media(max-width:700px){footer{flex-direction:column;align-items:center;gap:10px}footer #design-credit{display:block;font-size:8px}footer div{margin:auto;gap:13px}}

#waypoint{position:absolute;z-index:3;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;color:#f1e1bc;text-shadow:0 2px 8px #000;font-family:Space;font-size:11px}#waypoint i{font-style:normal;font-size:22px;line-height:1;color:#e6cf94}#waypoint strong{font-weight:500;letter-spacing:.06em}#waypoint small{font-size:10px;letter-spacing:0;color:#e0d5bd}#waypoint::after{content:'';width:1px;height:20px;background:linear-gradient(#d9c693a0,transparent)}#waypoint[data-edge="true"]{padding:8px 14px;background:#06121bad;border-radius:20px}#waypoint[data-edge="true"]::after{display:none}#waypoint[data-edge="true"] i{font-size:17px}

body:not([data-screen="scene"]) #waypoint{display:none}

/* Shared lavender / plum palette; light type remains legible against shaded scenes. */
:root,body,body[data-environment],body[data-screen]{--accent:#c5a0ee;--signal:#ead6ff;color:#ead6ff}
p,small,header,footer,button,#home-screen button,#prologue p,#consequence p,#neural-hud h2,#asset-status,#design-credit,#waypoint,#waypoint small,#waypoint i,#subtitle{color:#dfc3f5}
h1,h2,.title-mark,#consequence h1,#timer{color:#efdbff}
dialog{background:#21132f;color:#ead6ff;border-color:#8864a9}dialog a{color:#d7affb}
#routes button{color:var(--route,#d0a9f2)}#routes button.selected{color:#f2e3ff;border-color:#d1a7fa;text-shadow:0 0 14px #b87cf680}
#neural-hud{background:linear-gradient(#130b2280,transparent);padding:16px 0 25px}#neural-hud h2{max-width:80%;margin:8px auto;font-family:Space;font-size:13px}
#hint:empty{display:none}#attempts{font-size:10px;color:#c5a0ee}#home-screen button::after,#load-progress::after{box-shadow:0 0 10px #bc81f477}
body[data-screen="home"] .shade{background:radial-gradient(ellipse,#20103166,transparent 70%),linear-gradient(0deg,#0f0719b0,transparent 60%)}
/* Consistent modern typography: readable, bold titles with restrained tracking. */
.title-mark,h1,#consequence h1,#dilemma h1,dialog h2,#home,body[data-screen="ending"] #consequence h1{font-family:Space,Inter,system-ui,sans-serif;font-weight:600;letter-spacing:-.025em;line-height:1.15}
.title-mark>span{font-weight:500;letter-spacing:.12em}.title-mark>strong{font-weight:650;letter-spacing:.06em;padding-left:.06em}#home{letter-spacing:.08em}
#dilemma p,#consequence p{font-size:14px;text-shadow:0 2px 12px #0d061bd9}#dilemma button,#consequence button{font-size:14px;font-weight:550}
