@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Outfit:wght@300;400;500;600&display=swap');
:root{color-scheme:dark;font-family:'DM Sans',system-ui,sans-serif;background:#000;color:#f5f8ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:7px}button{border:0}button[hidden],[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none}header{position:fixed;z-index:5;top:max(20px,env(safe-area-inset-top));left:30px;right:24px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.wordmark{font-size:10px;letter-spacing:.2em;text-decoration:none;color:#bdc9d7;pointer-events:auto}.wordmark span{color:#5d7586;margin-left:9px}nav{display:flex;gap:6px;pointer-events:auto}nav button{height:38px;width:38px;border-radius:50%;background:#090f16a6;color:#9dafc5;font-size:19px}nav button:hover,nav button[aria-pressed=true]{color:white;background:#182536}main{position:fixed;inset:0;pointer-events:none;display:grid;place-items:center;z-index:3}.panel{pointer-events:auto;text-align:center;width:min(620px,calc(100vw - 44px));padding:30px 12px;position:relative}.intro{transform:translateY(-8vh)}.eyebrow{font-size:10px;letter-spacing:.28em;color:#8cbbd0;margin:0 0 20px}h1,h2{font-family:'Outfit',system-ui,sans-serif;font-weight:300;margin:0;letter-spacing:-.035em}h1{font-size:clamp(49px,7.5vw,92px);line-height:1.1}.lede{color:#aebcca;font-size:clamp(16px,2vw,21px);line-height:1.65;margin:23px 0 31px}.primary{border:1px solid #7be5e1;border-radius:999px;padding:16px 29px;background:#09262bbf;box-shadow:0 0 30px #5ae9dc15;color:#e1ffff;font-size:15px}.primary:hover{background:#104549;box-shadow:0 0 40px #5ae9dc35}.primary span{margin-left:22px}.controls{color:#a0b1c4;font-size:12px;margin:23px 0 8px}.hint{color:#58788f;font-size:11px;margin:0}.question{border:0;background:radial-gradient(ellipse,#000 45%,#000e 62%,transparent 75%);width:min(770px,calc(100vw - 24px));padding:65px 65px;transform:translateY(-7vh)}h2{font-size:clamp(24px,3.2vw,39px);line-height:1.3;text-wrap:balance}.prompt{color:#a0b4c7;font-size:13px;margin:26px 0 16px}.choices{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.choices button{min-width:120px;border:1px solid #355465;background:#091118e6;border-radius:999px;padding:14px 22px}.choices button:hover{border-color:#a0ecea;background:#123137}.choices button[data-choice=gloomy]{border-color:#6c6790}.choices button[data-choice=good]{border-color:#43867a}.quiet{background:none;color:#99b0c0;font-size:12px;display:block;margin:20px auto 0;padding:9px;text-decoration:none}.quiet:hover{color:#fff}#feedback{color:#a9c0c8;font-size:14px;line-height:1.6;max-width:450px;margin:20px auto 0}.ending{transform:translateY(-7vh)}.ending h1{font-size:clamp(44px,6vw,72px)}#result{color:#9db7c5;font-size:14px;margin:26px 0}#flightHud{position:fixed;inset:0;pointer-events:none;z-index:4}.lightCount{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:32px;display:flex;gap:10px;align-items:baseline;font-family:'Outfit',sans-serif;color:#c5f7f2}#lightCount{font-size:28px;font-weight:300}.countCaption{font-size:9px;letter-spacing:.2em;color:#658785}#dash{position:absolute;right:26px;bottom:max(22px,env(safe-area-inset-bottom));width:64px;height:64px;background:#041115b8;border-radius:50%;pointer-events:auto;touch-action:manipulation}#dash svg{position:absolute;inset:0;width:64px;height:64px;transform:rotate(-90deg)}#dash circle{fill:none;stroke:#a0fff0;stroke-width:1.8;stroke-dasharray:169.65;stroke-dashoffset:0}#dash .track{stroke:#173d41;stroke-dasharray:none}#dash span{font-size:28px;color:#c4fff3}#dash[aria-disabled=true] span{opacity:.35}#progress{position:fixed;top:33px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:4}#progress i{display:block;width:29px;height:2px;background:#142d39}#progress i.active{background:#82d7de;box-shadow:0 0 9px #39d9e2}#progress i.done{background:#cadad5}#chapter{position:fixed;top:100px;left:0;right:0;text-align:center;pointer-events:none;color:#d6f8f4;font-family:'Outfit',sans-serif;font-size:18px;letter-spacing:.12em;z-index:4;transition:opacity 1.2s;opacity:0}#chapter.show{opacity:1}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{width:min(390px,calc(100% - 32px));padding:40px 26px;border:1px solid #264b55;border-radius:18px;background:#020a0e;color:#fff;text-align:center}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}dialog h2{font-size:30px;margin-bottom:30px}@media(max-width:600px){header{left:18px;right:12px}.wordmark{font-size:9px}.wordmark span{display:none}#progress{top:72px}#chapter{top:108px;font-size:16px}.question{padding:38px 14px;width:calc(100vw - 24px)}.choices{gap:8px}.choices button{padding:13px 17px;min-width:95px}.eyebrow{font-size:9px}.intro{transform:translateY(-9vh)}#dash{right:16px}.lightCount{left:20px}.controls{max-width:270px;margin-left:auto;margin-right:auto;line-height:1.7}}@media(prefers-reduced-motion:reduce){#chapter{transition:none}}

/* Keep the finale readable while its light continues behind the panel. */
.ending{background:radial-gradient(ellipse,#000e 25%,#000b 48%,transparent 73%)}
@media(max-height:600px){.panel{max-height:calc(100svh - 100px);overflow:auto;transform:none}.intro{padding:12px}.intro .eyebrow{margin-bottom:9px}.intro h1{font-size:43px}.intro .lede{margin:12px 0;font-size:15px}.intro .controls{margin-top:12px}.question{padding:28px 24px}.question h2{font-size:25px}.question .prompt{margin:14px 0}.question .quiet{margin-top:6px}}
