@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-latin-ext-fdb6b064.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-latin-40c2cb34.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-latin-ext-fdb6b064.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-latin-40c2cb34.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Karla;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/karla-latin-ext-065edd8a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Karla;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/karla-latin-119e3bea.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Karla;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/karla-latin-ext-065edd8a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Karla;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/karla-latin-119e3bea.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Karla;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/karla-latin-ext-065edd8a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Karla;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/karla-latin-119e3bea.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-latin-ext-c8b23d7b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-latin-0a7197f9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-latin-ext-c8b23d7b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-latin-0a7197f9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bench:#141d1c;--panel:#1e2b2a;--panel-2:#263634;--rule:#38504d;--cream:#ece5d6;--dim:#9fb0ad;--brass:#e0a62f;--no2:#c0562b;--no2-glow:#e0713f;--n2o4:#d7e8e4;--ok:#57c2a4;--radius-outer:5px;--radius-inner:4px;--fs-micro:clamp(10px, .55vw + 8px, 15px);--fs-small:clamp(11px, .6vw + 9px, 17px);--fs-body:clamp(12.5px, .7vw + 10px, 19px);--fs-title:clamp(14px, .8vw + 11px, 22px);--fs-eq:clamp(17px, 2.4vw + 8px, 46px);--gap:clamp(6px, .6vw, 14px);--pad-panel:clamp(5px, .5vw, 12px);--tap:44px;--font-display:"Bricolage Grotesque", "Karla", system-ui, sans-serif;--font-body:"Karla", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;margin:0;padding:0}body{background:var(--bench);color:var(--cream);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.45}#root{height:100%}.app{gap:var(--gap);height:100dvh;padding:calc(8px + env(safe-area-inset-top)) 10px calc(8px + env(safe-area-inset-bottom));grid-template-rows:auto auto minmax(0,auto) minmax(120px,1fr) auto;max-width:clamp(1180px,92vw,1600px);margin:0 auto;display:grid}.box{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius-outer)}.side{gap:var(--gap);flex-direction:column;min-height:0;display:flex;overflow:hidden}@media (width>=700px),(width>=640px) and (height<=560px){.app{padding:var(--gap);grid-template:"nav nav""head head""stage qk"minmax(0,1fr)"stage dock"/minmax(0,1.25fr) minmax(280px,.75fr)}.topbar{grid-area:nav}.head{grid-area:head}.stage{grid-area:stage}.side{grid-area:qk}.dock{grid-area:dock}}@media (width<=400px){:root{--gap:6px;--pad-panel:5px}}@media (height<=560px){:root{--fs-eq:clamp(15px, 1.6vw + 8px, 24px);--gap:7px;--pad-panel:6px}.app{padding:calc(5px + env(safe-area-inset-top)) 8px calc(5px + env(safe-area-inset-bottom))}}@media (height<=680px){:root{--gap:7px;--pad-panel:6px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.head{align-items:center;gap:var(--gap);padding:var(--pad-panel) calc(var(--pad-panel) + 4px);flex-wrap:wrap;display:flex}.equation{font-family:var(--font-display);font-weight:800;font-size:var(--fs-eq);letter-spacing:-.02em;align-items:center;gap:clamp(7px,.7vw,14px);line-height:1;display:flex}.equation sub{font-size:.55em;font-weight:600}.sp-a{color:var(--n2o4)}.sp-b{color:var(--no2-glow)}.arrows-svg{width:3.4em;height:1.25em;font-size:var(--fs-eq);flex:none;overflow:visible}.lamp{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border:1px solid var(--rule);white-space:nowrap;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:calc(13.5ch + 36px);margin-left:auto;padding:5px 9px;line-height:1.4;transition:border-color .25s,color .25s;display:flex}.bulb{border:1px solid var(--rule);background:#3d514e;border-radius:50%;flex:none;width:.75em;height:.75em;transition:background .25s,box-shadow .25s}.lamp.on{color:var(--ok);border-color:var(--ok)}.lamp.on .bulb{background:var(--ok);border-color:var(--ok);box-shadow:0 0 9px var(--ok)}.head-actions{flex:none;gap:8px;display:flex}.mini{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.04em;text-transform:uppercase;background:var(--panel-2);color:var(--dim);border:1px solid var(--rule);border-radius:var(--radius-inner);cursor:pointer;flex:none;min-height:28px;padding:4px 10px;font-weight:700;transition:background .15s,color .15s,transform .1s}.mini:hover{color:var(--cream);background:#2f4340}.mini:active{background:#3a4f4b;transform:scale(.96)}.mini-icon{padding-inline:8px;font-size:1em;line-height:1}.mini:focus-visible{outline:2px solid var(--ok);outline-offset:2px}@media (height<=560px){.head{flex-wrap:nowrap;padding:4px 8px}.lamp{padding:3px 7px}}@media (height<=680px) and (pointer:coarse){.mini{min-height:36px}}.topbar{justify-content:space-between;align-items:center;gap:var(--gap);padding:2px 4px;display:flex}.topbar-back{font-family:var(--font-body);font-size:var(--fs-small);background:var(--panel-2);border:1px solid var(--rule);border-radius:var(--radius-inner);color:var(--dim);cursor:pointer;align-items:center;gap:6px;padding:4px 10px;font-weight:600;transition:background .15s,color .15s,transform .1s;display:inline-flex}.topbar-back:hover{color:var(--cream);background:#2f4340}.topbar-back:active{background:#3a4f4b;transform:scale(.96)}.topbar-back:focus-visible{outline:2px solid var(--ok);outline-offset:2px}.topbar-context{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.stage{flex-direction:column;min-height:0;display:flex;overflow:hidden}.tabs{border-bottom:1px solid var(--rule);flex:none;display:flex}.tabs button{color:var(--dim);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:9px 4px}.tabs button[aria-selected=true]{color:var(--brass);border-bottom-color:var(--brass)}.tabs button:focus-visible{outline:2px solid var(--ok);outline-offset:-2px}.panes{flex:1;min-height:0;position:relative}.pane{position:absolute;inset:0}.pane[hidden]{display:none}.pane>canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.legend{font-size:var(--fs-micro);color:var(--dim);pointer-events:none;flex-direction:column;gap:3px;display:flex;position:absolute;top:6px;left:8px}.legend sub{font-size:.7em}.legend>span{align-items:center;gap:6px;display:flex}@media (width>=700px) and (height>=561px){.tabs{display:none}.panes{flex-direction:column;gap:0;display:flex}.pane{position:relative;inset:auto}.pane>canvas{position:absolute}#pane-chamber{flex:1;min-height:0}#pane-graph{border-top:1px solid var(--rule);flex:0 0 clamp(140px,22vh,300px);position:relative}#pane-graph[hidden],#pane-chamber[hidden]{display:block}}@media (pointer:coarse){.tabs button{min-height:var(--tap)}}@media (height<=680px) and (pointer:coarse){.tabs button{min-height:38px}}.qk{padding:var(--pad-panel) calc(var(--pad-panel) + 6px);font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--dim);flex-wrap:wrap;align-items:center;gap:clamp(8px,1vw,16px);display:flex}.qk b{color:var(--cream);font-size:var(--fs-small);font-variant-numeric:tabular-nums;font-weight:700}.qk-bar{flex:0 0 clamp(120px,14vw,180px);height:16px;position:relative}.qk-line{background:var(--rule);border-radius:1px;height:2px;position:absolute;top:8px;left:0;right:0}.qk-k{background:var(--brass);width:2px;height:14px;position:absolute;top:1px;left:50%;transform:translate(-1px)}.qk-q{background:var(--no2);border:1.5px solid var(--no2-glow);border-radius:50%;width:12px;height:12px;transition:left .12s linear;position:absolute;top:2px;transform:translate(-6px)}.rates{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--dim);text-align:right;flex:none;margin-left:auto;line-height:1.35}.rates b{color:var(--cream);font-variant-numeric:tabular-nums}@media (width<=400px){.qk-bar{order:3}.rates{order:2}}@media (height<=680px){.qk{gap:6px 10px}.qk-bar{height:12px}}.story{border-left:2px solid var(--brass);background:var(--panel-2);padding:var(--pad-panel) calc(var(--pad-panel) + 6px);flex-direction:column;flex:0 auto;min-height:0;display:flex}.story-toggle{appearance:none;width:100%;color:inherit;font-family:var(--font-display);font-size:var(--fs-title);letter-spacing:-.01em;text-align:left;cursor:pointer;text-wrap:balance;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;min-height:1.4em;padding:0;font-weight:600;line-height:1.4;display:flex}.story-toggle:focus-visible{outline:2px solid var(--ok);outline-offset:3px}.story-toggle:after{content:"▾";color:var(--brass);flex:none;font-size:.75em;transition:transform .2s}.story.open .story-toggle:after{transform:rotate(180deg)}.story p{font-size:var(--fs-body);color:var(--dim);text-wrap:pretty;flex:none;height:0;margin:0;transition:height .25s,margin .25s;overflow:hidden}.story.open p{height:clamp(58px,13vh,112px);margin-top:5px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 14px),#0000);mask-image:linear-gradient(#000 calc(100% - 14px),#0000)}@media (width>=700px) and (height>=561px){.story{flex:auto}.story p{flex:auto;height:auto;min-height:0;margin-top:6px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 14px),#0000);mask-image:linear-gradient(#000 calc(100% - 14px),#0000)}.story-toggle:after{display:none}.story-toggle{cursor:default}}@media (height<=560px) and (width>=640px){.story p{flex:auto;height:auto;min-height:0;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 14px),#0000);mask-image:linear-gradient(#000 calc(100% - 14px),#0000)}}.dock{padding:var(--pad-panel) calc(var(--pad-panel) + 3px);flex:none}.slider{align-items:center;gap:clamp(8px,1vw,16px);margin-bottom:5px;display:flex}.slider .tag{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);flex:none;align-items:center;gap:5px;width:3.6em;display:flex}.slider .tag svg{flex:none}.slider .val{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--brass);text-align:right;font-variant-numeric:tabular-nums;flex:none;width:4.6em}.dock input[type=range]{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:0;height:20px;margin:0}.dock input[type=range]::-webkit-slider-runnable-track{background:var(--panel-2);border:1px solid var(--rule);border-radius:2px;height:4px}.dock input[type=range]::-moz-range-track{background:var(--panel-2);border:1px solid var(--rule);border-radius:2px;height:4px}.dock input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:linear-gradient(180deg, #f0c25c, var(--brass));border:1px solid #8a6413;border-radius:3px;width:14px;height:14px;margin-top:-6px}.dock input[type=range]::-moz-range-thumb{background:linear-gradient(180deg, #f0c25c, var(--brass));border:1px solid #8a6413;border-radius:3px;width:14px;height:14px}.dock input[type=range]:focus-visible{outline:2px solid var(--ok);outline-offset:2px;border-radius:2px}.acts{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px;display:grid}.acts button{font-family:var(--font-body);font-size:var(--fs-body);color:var(--cream);background:var(--panel-2);border:1px solid var(--rule);border-radius:var(--radius-inner);cursor:pointer;min-height:38px;padding:7px 4px;font-weight:700;transition:background .15s,transform .1s}.acts button:hover{background:#2f4340}.acts button:active{background:#3a4f4b;transform:scale(.96)}.acts button:focus-visible{outline:2px solid var(--ok);outline-offset:2px}.acts sub{font-size:.65em}@media (height<=680px){.slider{margin-bottom:0}.acts{margin-top:4px}}@media (height<=560px){.slider{margin-bottom:2px}.acts button{min-height:38px;padding:7px 4px}.acts{gap:5px;margin-top:4px}}.menu{justify-content:center;align-items:center;min-height:100dvh;padding:clamp(16px,4vw,48px);display:flex}.menu-card-frame{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius-outer);width:100%;max-width:480px;font-family:var(--font-body);color:var(--cream);text-align:center;overflow:hidden}.menu-eyebrow{background:var(--bench);border-bottom:1px solid var(--rule);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);text-align:left;padding:10px 18px;font-size:11px;font-weight:700}.menu-hero{padding:32px 24px 12px}.menu-molecule{width:120px;height:80px;margin:0 auto 18px;position:relative}.menu-dot{border-radius:50%;width:9px;height:9px;position:absolute}.menu-dot--a{background:var(--n2o4);box-shadow:0 0 6px var(--n2o4)}.menu-dot--b{background:var(--no2);box-shadow:0 0 6px var(--no2)}.menu-title{font-family:var(--font-display);color:var(--cream);margin:0 0 8px;font-size:28px;font-weight:700}.menu-subtitle{font-family:var(--font-mono);color:var(--dim);font-size:15px}.menu-subtitle sub{font-size:10px}.menu-eq{color:var(--brass)}.menu-cards{grid-template-columns:1fr 1fr;gap:16px;padding:24px;display:grid}.menu-choice{background:var(--panel-2);border:1px solid var(--rule);border-radius:var(--radius-inner);text-align:left;flex-direction:column;gap:10px;padding:18px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.menu-choice:hover{border-color:var(--ok);box-shadow:0 0 15px #48d5aa26}.menu-card-icon{color:var(--brass)}.menu-choice-title{font-family:var(--font-display);color:var(--cream);margin-bottom:4px;font-size:16px;font-weight:700}.menu-choice-desc{color:var(--dim);font-size:13px;line-height:1.5}.menu-choice-btn{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius-inner);font:inherit;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--cream);cursor:pointer;justify-content:center;align-items:center;gap:6px;margin-top:6px;padding:10px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,transform .1s;display:flex}.menu-choice-btn:hover{border-color:var(--ok);color:#fff;background:#253935}.menu-choice-btn:active{transform:scale(.96)}.menu-choice-btn:focus-visible{outline:2px solid var(--ok);outline-offset:2px}.menu-arrow{flex:none}@media (width<=420px){.menu-cards{grid-template-columns:1fr}}@media (pointer:coarse){.menu-choice-btn{min-height:var(--tap)}}.challenge{min-height:100dvh;padding:calc(8px + env(safe-area-inset-top)) 12px calc(8px + env(safe-area-inset-bottom));display:flex}.challenge-card{flex-direction:column;width:100%;max-width:clamp(480px,90vw,820px);margin:auto;display:flex;overflow:hidden}.challenge-top{justify-content:space-between;align-items:center;gap:var(--gap);background:var(--bench);border-bottom:1px solid var(--rule);padding:10px 14px;display:flex}.challenge-back{border-radius:var(--radius-inner);font-family:var(--font-body);font-size:var(--fs-body);color:var(--cream);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-left:-6px;padding:4px 6px;font-weight:700;transition:color .15s;display:flex}.challenge-back:hover{color:var(--brass)}.challenge-back:focus-visible{outline:2px solid var(--ok);outline-offset:2px}.challenge-kicker{font-size:var(--fs-small);color:var(--dim)}.challenge-title{align-items:baseline;gap:4px var(--gap);border-bottom:1px solid var(--rule);grid-template-columns:1fr auto;padding:12px 14px 14px;display:grid}.challenge-eq{font-family:var(--font-display);font-weight:800;font-size:var(--fs-eq);letter-spacing:-.02em;color:var(--cream);line-height:1.1}.challenge-progress{font-size:var(--fs-small);color:var(--dim)}.challenge-steps{grid-column:1/-1;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.challenge-steps li{background:var(--rule);border-radius:2px;flex:1;height:3px}.challenge-steps li.on{background:var(--brass)}.challenge-graph{border-bottom:1px solid var(--rule);flex-direction:column;gap:10px;min-height:0;padding:12px 14px 14px;display:flex}.challenge-legend{justify-content:space-between;align-items:center;gap:4px var(--gap);font-size:var(--fs-small);color:var(--dim);flex-wrap:wrap;display:flex}.challenge-keys{flex-wrap:wrap;gap:4px 16px;display:flex}.challenge-keys>span{align-items:center;display:flex}.challenge-keys .swatch{margin-right:7px}.challenge-units{font-family:var(--font-mono);font-size:var(--fs-micro)}.swatch{border-radius:5px;flex:none;width:1.4em;height:.8em;display:inline-block}.sw-a{background:var(--n2o4)}.sw-b{background:var(--no2)}.challenge-graph-canvas{flex:none;height:clamp(130px,24vh,280px);position:relative}.challenge-graph-canvas canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.challenge-replay{width:100%;min-height:var(--tap);background:var(--panel-2);border:1px solid var(--rule);border-radius:var(--radius-inner);font-family:var(--font-body);font-size:var(--fs-body);color:var(--dim);cursor:pointer;justify-content:center;align-items:center;gap:8px;font-weight:700;transition:background .15s,color .15s;display:flex}.challenge-replay:hover{color:var(--cream);background:#2f4340}.challenge-replay:focus-visible{outline:2px solid var(--ok);outline-offset:2px}.challenge-answer{flex-direction:column;flex:none;gap:10px;padding:12px 14px 14px;display:flex}.challenge-options{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.challenge-prompt{font-size:var(--fs-body);color:var(--cream);padding:0 0 6px;line-height:1.5}.challenge-option{min-height:var(--tap);background:var(--bench);border:1px solid var(--rule);border-radius:var(--radius-inner);font-size:var(--fs-body);cursor:pointer;align-items:center;gap:12px;padding:8px 14px;transition:border-color .15s,background .15s;display:flex}.challenge-option:hover{background:var(--panel-2)}.challenge-option.on{border-color:var(--brass)}.challenge-option input{accent-color:var(--brass);flex:none;width:1.1em;height:1.1em}.challenge-hint{background:var(--panel-2);border-left:2px solid var(--brass);font-size:var(--fs-small);color:var(--dim);margin:0;padding:8px 12px}.challenge-cta{min-height:var(--tap);background:var(--brass);border:1px solid var(--brass);border-radius:var(--radius-inner);font-family:var(--font-body);font-size:var(--fs-body);color:var(--bench);cursor:pointer;padding:10px 16px;font-weight:700;transition:filter .15s,transform .1s}.challenge-cta:hover:not(:disabled){filter:brightness(1.08)}.challenge-cta:active:not(:disabled){transform:scale(.99)}.challenge-cta:disabled{border-color:var(--rule);color:var(--dim);cursor:not-allowed;background:0 0}.challenge-cta:focus-visible{outline:2px solid var(--ok);outline-offset:2px}.challenge-feedback{flex-direction:column;gap:12px;display:flex}.challenge-feedback p{font-size:var(--fs-body);color:#c4d1ce;margin:0}.challenge-feedback:focus{outline:none}@media (height<=620px){.challenge{padding-block:4px}.challenge-top,.challenge-title,.challenge-graph,.challenge-answer{padding-block:6px}.challenge-graph{gap:8px}.challenge-graph-canvas{height:clamp(78px,15vh,120px)}.challenge-option{min-height:38px;padding-block:5px}.challenge-replay,.challenge-cta{min-height:38px}}
