@font-face{font-family:Nunito;src:url('/simulations/vendor/fonts/nunito-700-latin.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Nunito;src:url('/simulations/vendor/fonts/nunito-800-latin.woff2') format('woff2');font-weight:800 900;font-display:swap}
*{box-sizing:border-box}
:root{color-scheme:light;--canvas:#fff9ec;--card:#fff;--ink:#182335;--muted:#5b6679;--line:#e4e8ef;--green:#138535;--green-ink:#11702e;--mint:#e3f6e9;--honey:#fbba06;--honey-soft:#fff3cf}
body{margin:0;background:var(--canvas);color:var(--ink);font:700 14px/1.5 Nunito,system-ui,sans-serif}
#lab{padding:20px;max-width:1700px;margin:auto}
header{display:flex;align-items:center;gap:24px;margin:0 0 18px}header>div{flex:1}
.brand{color:var(--green);font-size:22px;font-weight:900;text-decoration:none;white-space:nowrap}.brand span{color:var(--honey);margin-inline-start:4px}
h1{font-size:clamp(21px,2.4vw,32px);line-height:1.15;letter-spacing:-.02em;margin:3px 0 0;font-weight:900}
h2{font-size:16px;margin:0 0 12px;font-weight:900}
p{margin:0 0 12px}
.eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-ink);font-weight:900;margin:0 0 6px}
.workspace{display:grid;grid-template-columns:250px minmax(0,1fr) 270px;gap:16px;align-items:start}
.panel{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 6px 20px -14px #18233530}
.main-panel{padding:16px}
button{font:800 13px/1.25 Nunito,system-ui,sans-serif;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);padding:9px 12px;cursor:pointer}
button:hover{background:var(--mint);border-color:var(--green)}
button:focus-visible,input:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:#0f6e2c;color:#fff}
.field{font-size:12px;color:var(--muted);font-weight:800;margin:14px 0 6px}
.groups{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.chip{min-height:38px;padding:6px 8px;font-size:12px;text-align:center}
.chip[aria-pressed=true],.item[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.list{display:flex;flex-direction:column;gap:6px}
.item{display:flex;align-items:center;gap:10px;text-align:start;min-height:40px}
.item .n{flex:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:var(--honey-soft);color:#7a5600;font-size:12px;font-variant-numeric:tabular-nums}
.item[aria-pressed=true] .n{background:#ffffff33;color:#fff}
#parameters{margin-top:16px;border-top:1px solid var(--line);padding-top:6px}
.control label{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-weight:800;margin:12px 0 4px;font-size:13px}
.control output{color:var(--green-ink);white-space:nowrap;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
input[type=range]{width:100%;accent-color:var(--green);margin:4px 0 6px;min-height:24px;cursor:pointer}
.check{display:flex;gap:8px;align-items:center;font-weight:800;margin:14px 0 4px;cursor:pointer}.check input{accent-color:var(--green);width:18px;height:18px}
.hint{font-size:12px;color:var(--muted);line-height:1.5}
.stage-top{display:flex;align-items:center;gap:10px;margin:0 0 10px;flex-wrap:wrap}
.stage-top h2{margin:0;font-size:clamp(17px,1.8vw,24px);flex:1;min-width:0}
.badge{background:var(--mint);color:var(--green-ink);padding:4px 9px;border-radius:7px;font-size:12px;font-weight:900}
.count{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.stage{display:flex;justify-content:center}
#stage{display:block;width:min(100%,calc((100vh - 250px) * 1.6));min-width:min(100%,300px);height:auto;aspect-ratio:16/10;border-radius:14px;border:1px solid var(--line);background:#fbfaf5;touch-action:manipulation}
.ask{font-size:clamp(17px,1.7vw,23px);line-height:1.35;font-weight:900;margin:14px 0 6px;text-align:center}
.truth{font-size:clamp(16px,1.5vw,20px);font-weight:900;color:var(--green-ink);background:var(--mint);border-radius:12px;padding:8px 14px;margin:8px auto 4px;text-align:center;width:fit-content;max-width:100%}
.status{font-size:13px;color:var(--muted);min-height:20px;margin:6px 0;text-align:center}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;justify-content:center}.actions button{flex:1 1 120px;max-width:220px}
#learn h2{font-size:15px;margin:16px 0 8px;color:var(--green-ink)}
.learn-ask{font-size:15px;font-weight:900}
#why{font-size:14px}
details{border-top:1px solid var(--line);padding-top:12px;margin-top:12px;font-size:12px}summary{font-weight:800;cursor:pointer;margin-bottom:10px}
[hidden]{display:none!important}
#stage-panel:fullscreen{background:var(--canvas);border:0;border-radius:0;padding:2vh 3vw;display:flex;flex-direction:column;justify-content:center;overflow:auto}
#stage-panel:fullscreen #stage{width:min(100%,calc((100vh - 230px) * 1.6))}
#stage-panel:fullscreen .ask{font-size:clamp(20px,2.4vw,34px)}
html[data-kb-host=offload] #lab{padding:6px}
html[data-kb-host=offload] .workspace{display:block}
html[data-kb-host=offload] #stage-panel{border:0;box-shadow:none;padding:4px;background:transparent;min-height:calc(100vh - 12px);display:flex;flex-direction:column;justify-content:center}
html[data-kb-host=offload] #stage{width:min(100%,calc((100vh - 150px) * 1.6))}
html[data-kb-host=offload] .stage-top{margin-bottom:6px}
html[data-kb-host=offload] .ask{margin-top:10px}
@media(max-width:1100px){.workspace{grid-template-columns:220px minmax(0,1fr)}#learn{grid-column:1/-1}}
@media(max-width:700px){#lab{padding:12px}header{gap:12px;flex-wrap:wrap}header .brand{font-size:17px}header>div{min-width:180px}header #fullscreen{display:none}.workspace{display:flex;flex-direction:column}.panel{width:100%;padding:14px}#stage-panel{order:0;padding:10px}#setup{order:1}#learn{order:2}.groups{grid-template-columns:1fr 1fr}.actions button{flex:1 1 40%;max-width:none;padding:8px}#stage{width:100%}}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--canvas:#000;--card:#0a0a0a;--ink:#f5f5f5;--muted:#a3a3a3;--line:#2e2e2e;--green:#5bd68a;--green-ink:#7fe0a4;--mint:#0f2a19;--honey-soft:#3a2c00}.primary,.chip[aria-pressed=true],.item[aria-pressed=true]{background:#1ba544;border-color:#1ba544;color:#000}.primary:hover{background:#2bbf58;color:#000}.item .n{color:#ffd56a}#stage{border-color:#2e2e2e}}
