:root{color-scheme:dark;--bg:#101118;--panel:#191b26;--line:#343746;--text:#ecebf5;--muted:#a9a9bf;--accent:#b8a0ff;--good:#9bd7ba;--bad:#f0b19c}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0,#242037,transparent 45%),var(--bg);font:14px/1.7 Arial,Helvetica,sans-serif;color:var(--text)}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}header{max-width:1280px;padding:24px 32px;margin:auto;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font:9px monospace;letter-spacing:1px;color:var(--muted)}header a{color:var(--text)}header>span:last-child{color:var(--good)}main{max-width:1280px;padding:0 32px;margin:auto}h1,h2,h3,h4,p{margin-top:0}.intro{display:grid;grid-template-columns:1fr 1fr;gap:20px 70px;align-items:center;padding:42px 0 35px}.intro>.eyebrow{grid-column:1/-1;margin:0}.eyebrow{font:9px/1.7 monospace;letter-spacing:1.7px;color:var(--muted);margin:0 0 12px}h1{font-size:clamp(52px,6vw,80px);line-height:1;letter-spacing:-3px;margin:0;font-weight:900}h1 em{font-style:normal;color:var(--accent)}.intro>div>p:first-child{font-size:21px;line-height:1.5;letter-spacing:-.5px;margin-bottom:12px}.subtle{color:var(--muted)}.intro .subtle{font-size:13px;max-width:470px;margin:0}.puzzle-tabs{display:flex;gap:10px;margin-bottom:28px}.puzzle-tabs button{flex:1;min-height:52px;text-align:left;padding:12px 17px;background:var(--panel);border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:12px}.puzzle-tabs [aria-current=step]{border-color:var(--accent);background:#2b253e;color:#ded2ff}.puzzle-tabs button>span{color:var(--good)}.brief{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;padding:26px 0 30px;border-bottom:1px solid var(--line);margin-bottom:28px}.brief h2{font-size:30px;line-height:1.15;letter-spacing:-1px;margin-bottom:14px}.brief>div>p:last-child{color:var(--muted);font-size:14px;margin:0}.brief details{align-self:start;border:1px solid var(--line);padding:16px 20px;border-radius:8px;background:var(--panel);font-size:12px}.brief summary{cursor:pointer;color:var(--accent);font-size:13px}.brief details ol{padding-left:18px;color:var(--muted)}.brief details li{margin-bottom:8px}.brief details p{color:var(--muted);font-size:11px}.section-label{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:14px}.section-label h3{font-size:16px;margin:0}.section-label span{font-size:10px;color:var(--muted)}.inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:34px}.person{border:1px solid var(--line);border-top:2px solid #7186ad;padding:20px;border-radius:6px;background:var(--panel)}.person.you{border-top-color:var(--accent)}.person.medic{border-top-color:var(--good)}.person h4{font-size:14px;margin-bottom:12px}.item-list{display:flex;flex-wrap:wrap;gap:7px;min-height:30px}.item{display:block;padding:5px 8px;border:1px solid #ffffff12;background:#ffffff04;border-radius:4px;color:#c6c7da;font-size:11px}.play-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:28px;align-items:start}.offers{display:grid;grid-template-columns:1fr 1fr;gap:14px}.offer{display:flex;flex-direction:column;gap:14px;padding:20px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:9px;transition:border-color .15s,background .15s;min-width:0}.offer:hover:not(:disabled){border-color:#84739f}.offer[aria-pressed=true]{border-color:var(--accent);background:#292339;box-shadow:inset 0 3px var(--accent)}.offer:disabled{opacity:.55}.offer-top{display:flex;justify-content:space-between;font:9px monospace;letter-spacing:.7px;color:var(--muted);gap:6px}.offer[aria-pressed=true] .offer-top{color:var(--accent)}.offer>strong{font-size:14px;line-height:1.6;font-weight:600}.offer-transfers{display:flex;flex-direction:column;gap:6px;margin-top:auto;font-size:10px;color:var(--muted);border-top:1px solid #ffffff0e;padding-top:13px}.condition{color:#d1b8e9;font-size:10px;border-left:2px solid #8e70af;padding-left:10px}.preview{border:1px solid #51465f;border-radius:9px;background:#1c1b29;padding:24px;position:sticky;top:20px}.preview h3{font-size:21px;letter-spacing:-.5px;line-height:1.2;margin-bottom:17px}.preview h4{font:10px monospace;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:22px 0 10px}#preview-status{font-size:12px;color:var(--muted);line-height:1.85;margin-bottom:0}.valid{color:var(--good)!important}.invalid{color:var(--bad)!important}.transfer{padding:10px 0;border-bottom:1px solid var(--line);font-size:10px;display:flex;flex-direction:column;gap:4px}.transfer strong{font-weight:500;color:var(--text)}.transfer span{color:var(--accent)}.preview ul{list-style:none;margin:0;padding:0}.preview li{font-size:11px;color:var(--muted);padding:5px 0;line-height:1.8}.preview li.met{color:var(--good)}.preview-note{font-size:9px;color:var(--muted);margin:17px 0}.primary{background:var(--accent);color:#171221;border:1px solid var(--accent);padding:13px 18px;min-height:46px;border-radius:6px;font-size:12px;font-weight:700}.primary:hover:not(:disabled){background:#d0beff}.primary:disabled{opacity:.35}.preview>.primary{width:100%;margin-top:8px}.tools{display:flex;gap:10px;margin-top:12px}.tools button,#retry{background:none;border:1px solid var(--line);border-radius:5px;padding:9px 15px;min-height:40px;font-size:11px;color:var(--muted)}.tools button:disabled{opacity:.35}.tools button:hover:not(:disabled),#retry:hover{color:var(--text);border-color:#9180af}.hint{margin-top:20px;font-size:12px;color:var(--muted)}.hint summary{cursor:pointer;color:var(--accent)}.hint p{margin-top:12px}.warning{padding:13px;background:#f0b19c0a;border:1px solid #f0b19c55;color:var(--bad);font-size:11px;line-height:1.8;border-radius:5px}.outcome{margin-top:30px;border:1px solid #9bd7ba60;border-radius:10px;padding:28px;background:#172922}.outcome .eyebrow{color:var(--good)}.outcome h2{font-size:28px;line-height:1.2;letter-spacing:-.7px;margin-bottom:12px}.outcome p:not(.eyebrow){font-size:14px;color:#b4cebd}.outcome .primary{background:var(--good);border-color:var(--good);margin-right:12px}.log-section{margin:35px 0}.log-section ol{padding:0;list-style:none;margin:0}.log-section li{border-top:1px solid var(--line);padding:13px 0;font:10px/1.9 monospace;color:var(--muted)}footer{border-top:1px solid var(--line);padding:25px 0 35px;color:var(--muted);font-size:11px;display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:space-between}footer>span{font:9px monospace;letter-spacing:1px}footer p{width:100%;margin:0;order:3;font-size:11px}footer a{color:var(--accent)}.skip{position:absolute;left:-10000px}.skip:focus{top:10px;left:10px;padding:10px;background:var(--accent);color:#171221;z-index:10}
@media(max-width:1000px){.play-layout{grid-template-columns:1.2fr 1fr;gap:20px}.offers{grid-template-columns:1fr}.preview{padding:21px}.intro{gap:20px 40px}.brief{gap:25px}.section-label{flex-wrap:wrap;gap:5px}.inventory{gap:10px}.person{padding:16px}.puzzle-tabs button{font-size:11px}}
@media(max-width:700px){header{padding:19px 20px;font-size:8px;flex-wrap:wrap;gap:12px}header>span:nth-child(2){display:none}main{padding:0 20px}.intro{grid-template-columns:1fr;padding:30px 0;gap:20px}.intro h1{font-size:60px}.intro>div>p:first-child{font-size:18px}.intro .subtle{font-size:12px}.puzzle-tabs{flex-direction:column;gap:8px}.puzzle-tabs button{min-height:44px;font-size:12px}.brief{grid-template-columns:1fr;padding-top:5px;gap:20px}.brief h2{font-size:27px}.brief>div>p:last-child{font-size:13px}.inventory{grid-template-columns:1fr;gap:10px}.person{padding:15px 18px}.person h4{margin-bottom:10px}.item{font-size:11px}.play-layout{grid-template-columns:1fr;gap:25px}.offers{grid-template-columns:1fr 1fr;gap:12px}.offer{padding:17px;gap:12px}.offer>strong{font-size:13px}.offer-top{font-size:8px;letter-spacing:0}.preview{position:static}.preview li{font-size:12px}.transfer{font-size:11px}.preview-note{font-size:10px}.outcome{padding:24px}.outcome h2{font-size:25px}.outcome button{margin-bottom:10px}.section-label h3{font-size:15px}}
@media(max-width:420px){.offers{grid-template-columns:1fr}.offer>strong{font-size:14px}.offer-transfers{font-size:11px}.offer-top{font-size:9px}.intro h1{font-size:52px}.intro>.eyebrow{font-size:8px}.section-label span{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
