:root{--paper:#f2ede2;--panel:#fbf8f1;--panel-edge:#ddd5c4;--ink:#1d1b16;--ink-2:#4a463c;--ink-3:#8a8474;--grid:#1d1b1614;--track:#1d1b1612;--board:#fbf8f1;--board-grid:#1d1b160f;--body:#2c3a34;--food:#3553c9;--s1:#1f8a5b;--guard:#c07f06;--s2:#d1452f;--here:#1d1b16;--focus:#3553c9;--serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--sans:"Instrument Sans", "Helvetica Neue", Helvetica, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#131518;--panel:#1a1d21;--panel-edge:#2b2f35;--ink:#ece7dc;--ink-2:#bcb5a6;--ink-3:#7f796d;--grid:#ece7dc14;--track:#ece7dc14;--board:#101215;--board-grid:#ece7dc0d;--body:#c9d4cb;--food:#7ea2ff;--s1:#3ecf8e;--guard:#f2b33d;--s2:#ff6a4d;--here:#ece7dc;--focus:#7ea2ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#131518;--panel:#1a1d21;--panel-edge:#2b2f35;--ink:#ece7dc;--ink-2:#bcb5a6;--ink-3:#7f796d;--grid:#ece7dc14;--track:#ece7dc14;--board:#101215;--board-grid:#ece7dc0d;--body:#c9d4cb;--food:#7ea2ff;--s1:#3ecf8e;--guard:#f2b33d;--s2:#ff6a4d;--here:#ece7dc;--focus:#7ea2ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--grid) 45%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--grid) 45%, transparent) 1px, transparent 1px);color:var(--ink);font:15px/1.5 var(--sans);background-size:40px 40px,40px 40px,8px 8px,8px 8px;margin:0;overflow-x:hidden}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.masthead{max-width:1240px;margin:0 auto;padding:28px 24px 8px;animation:.6s ease-out both rise}.masthead-top{justify-content:space-between;align-items:center;display:flex}.kicker{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}h1{font-family:var(--sans);letter-spacing:-.025em;max-width:14ch;margin:14px 0 16px;font-size:clamp(44px,7.4vw,92px);font-weight:640;font-stretch:75%;line-height:.92}h1 em{color:var(--ink-3);font-style:normal}.lede{max-width:58ch;color:var(--ink-2);margin:0;font-size:17px}.labnav{border-bottom:1px solid var(--panel-edge);max-width:1240px;font:500 12px/1 var(--mono);align-items:center;gap:20px;margin:0 auto;padding:14px 24px 12px;display:flex}.labnav a{color:var(--ink-2);border-bottom:1px solid #0000;padding:6px 0;text-decoration:none}.labnav a:hover{color:var(--ink)}.labnav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.labnav-home{letter-spacing:.02em;font-weight:600}.labnav-home span{color:var(--ink-3);font-weight:400}.labnav-links{gap:18px;margin-left:auto;display:flex}@media (width<=720px){.labnav{gap:12px;padding-left:16px;padding-right:16px}.labnav-home span{display:none}}.howto{margin-top:14px}.howto summary{border:1px solid var(--panel-edge);background:var(--panel);font:500 12px/1 var(--mono);color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;list-style:none;display:inline-flex}.howto summary::-webkit-details-marker{display:none}.howto summary:before{content:"?";background:var(--ink);width:16px;height:16px;color:var(--panel);font:600 10px/1 var(--mono);border-radius:50%;place-items:center;display:inline-grid}.howto summary:hover,.howto[open] summary{color:var(--ink);border-color:var(--ink-3)}.howto summary h2{font:inherit;margin:0}.howto-hint{display:none}.howto[open] .howto-body{background:var(--panel);border:1px solid var(--panel-edge);box-shadow:0 1px 0 var(--panel-edge), 0 18px 40px -28px #00000059;border-radius:4px;margin-top:12px;padding:18px 16px;animation:.3s ease-out both rise}.howto-body{gap:16px;display:grid}.flow-wrap{overflow-x:auto}.flow{width:100%;min-width:620px;max-width:900px;height:auto;font:500 13px/1 var(--sans)}.flow path{fill:none;stroke:var(--ink-3);stroke-width:1.5px;marker-end:url(#arr)}.flow path.dashed{stroke-dasharray:5 4}.flow .flow-head{fill:var(--ink-3);stroke:none}.flow text{fill:var(--ink);text-anchor:middle}.flow text.small{font:400 11px/1 var(--mono);fill:var(--ink-3)}.flow text.label{font:400 11px/1 var(--mono);fill:var(--ink-3);text-anchor:start}.flow-box rect{fill:var(--board);stroke:var(--ink-3);stroke-width:1.2px}.flow-box.s1 rect{stroke:var(--s1);stroke-width:2px}.flow-box.s2 rect{stroke:var(--s2);stroke-width:2px}.flow-box.guard rect{stroke:var(--guard);stroke-width:2px}.flow-box.act rect{fill:color-mix(in srgb, var(--s1) 10%, var(--board))}.howto-text{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 28px;max-width:1100px;display:grid}.howto-text p{color:var(--ink-2);margin:0}.howto-text b{color:var(--ink)}@media (width<=860px){.howto-text{grid-template-columns:minmax(0,1fr)}}.about-panel{grid-area:about;animation-delay:.22s}.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:24px;display:grid}.about-grid h3{margin-top:14px}.about-grid h3:first-child{margin-top:0}.about-grid p{color:var(--ink-2);margin:6px 0 0;font-size:14px}.about-inputs{border-collapse:collapse;width:100%;margin-top:6px;font-size:13px}.about-inputs td{vertical-align:top;border-top:1px dashed var(--panel-edge);color:var(--ink-2);padding:6px 8px 6px 0}.about-inputs td.n{font:500 13px/1.3 var(--mono);color:var(--s1);text-align:right;width:3.2em}.about-inputs b{color:var(--ink);font-weight:600;display:block}@media (width<=1080px){.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.about-grid>div:first-child{grid-column:1/-1}}@media (width<=720px){.about-grid{grid-template-columns:minmax(0,1fr)}}.preview-note{border-left:3px solid var(--guard);background:color-mix(in srgb, var(--guard) 10%, transparent);font:400 12px/1.5 var(--mono);color:var(--ink-2);margin:0 0 10px;padding:8px 12px}.preview-note[hidden]{display:none}.tab-preview{font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--guard);vertical-align:super}.game-tabs{flex-wrap:wrap;gap:4px;margin:20px 0 6px;display:flex}.game-tabs button{font:400 26px/1 var(--serif);border-color:var(--panel-edge);min-height:44px;padding:8px 16px 10px}.game-tabs button[aria-current=true]{background:var(--ink);border-color:var(--ink);color:var(--panel)}.blurb{font:400 12px/1.5 var(--mono);color:var(--ink-3);max-width:90ch;margin:6px 0 0}.layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.9fr);grid-template-areas:"board decision controls""about about about""network network network""training training frontier";align-items:start;gap:16px;max-width:1240px;margin:0 auto;padding:20px 24px 8px;display:grid}.board-panel{grid-area:board}.decision-panel{grid-area:decision}.controls-panel{grid-area:controls}.training-panel{grid-area:training}.frontier-panel{grid-area:frontier}.network-panel{grid-area:network}@media (width<=1080px){.layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"board board""decision controls""about about""network network""training training""frontier frontier"}}@media (width<=720px){.masthead,.layout{padding-left:16px;padding-right:16px}.layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"board""decision""controls""about""network""training""frontier"}}.panel{background:var(--panel);border:1px solid var(--panel-edge);min-width:0;box-shadow:0 1px 0 var(--panel-edge), 0 18px 40px -28px #00000059;border-radius:4px;padding:16px;animation:.6s ease-out both rise}.board-panel{animation-delay:50ms}.decision-panel{animation-delay:.12s}.controls-panel{animation-delay:.19s}.training-panel{animation-delay:.26s}.frontier-panel{animation-delay:.33s}.network-panel{animation-delay:.3s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.panel,.masthead{animation:none}}h2{font:400 28px/1.1 var(--serif);margin:0 0 12px}h3{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:18px 0 8px}h3 small{letter-spacing:.04em;text-transform:none}.board-wrap{aspect-ratio:var(--board-aspect,1 / 1);width:100%;position:relative}.board-3d{border-radius:3px;width:100%;height:100%;display:block;position:absolute;inset:0}.board-hud{font:500 12px/1.4 var(--mono);color:var(--ink);background:color-mix(in srgb, var(--panel) 80%, transparent);pointer-events:none;border-radius:3px;padding:4px 8px;position:absolute;bottom:8px;left:10px}#board{width:100%;height:100%;display:block}.rec-badge{font:500 11px/1 var(--mono);color:#fff;background:var(--s2);border-radius:2px;padding:5px 7px;animation:1s steps(2,end) infinite blink;position:absolute;top:10px;right:10px}@keyframes blink{50%{opacity:.4}}.readout{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0;display:grid}.readout div{border-top:1px solid var(--panel-edge);padding-top:6px}.readout dt{font:400 10px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}.readout dd{font:400 30px/1 var(--serif);font-variant-numeric:tabular-nums;margin:2px 0 0}.now{font:400 22px/1.2 var(--serif);align-items:center;gap:10px;min-height:1.2em;margin:0 0 12px;font-style:italic;display:flex}.dot{background:var(--ink-3);border-radius:50%;flex:none;width:12px;height:12px;transition:background-color .12s}.tiers{margin:0;padding:0;list-style:none}.tier{border-top:1px solid var(--panel-edge);grid-template-columns:14px 1fr auto;align-items:center;gap:10px;padding:9px 0;display:grid}.tier .swatch{border-radius:2px;width:14px;height:14px}.tier[data-state=system1] .swatch{background:var(--s1)}.tier[data-state=guard] .swatch{background:var(--guard)}.tier[data-state=system2] .swatch{background:var(--s2)}.tier-name{font-weight:500;line-height:1.2}.tier-name small{font:400 11px/1.4 var(--mono);color:var(--ink-3);display:block}.tier-share{font:400 26px/1 var(--serif);font-variant-numeric:tabular-nums}.cost{border-top:2px solid var(--ink);align-items:baseline;gap:12px;margin-top:12px;padding-top:12px;display:flex}.cost-value{font:400 52px/.9 var(--serif);font-variant-numeric:tabular-nums}.cost-label{font:400 12px/1.35 var(--mono);color:var(--ink-2)}.cost-label small{color:var(--ink-3)}.window-note{font:400 11px/1.4 var(--mono);color:var(--ink-3);margin:6px 0 0}.bars{width:100%;height:96px;display:block}.legend-line{font:400 11px/1.4 var(--mono);color:var(--ink-3);align-items:center;gap:8px;margin:6px 0 0;display:flex}.thr-line{border-left:1.5px dashed var(--s2);flex:none;width:0;height:12px}.model{font:400 12px/1.45 var(--mono);color:var(--ink-2);min-height:2.9em;margin:0 0 12px}.buttons{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}button{font:500 13px/1 var(--sans);color:var(--ink);border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:2px;min-height:40px;padding:10px 12px;transition:background-color .12s,color .12s}button:hover:not(:disabled),button.primary{background:var(--ink);color:var(--panel)}button.primary:hover:not(:disabled){background:var(--s1);border-color:var(--s1)}button.ghost{color:var(--ink-2);border-color:#0000;min-height:32px;padding:6px 8px}button:disabled{opacity:.4;cursor:not-allowed}button[aria-pressed=true]{background:var(--s2);border-color:var(--s2);color:#fff}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.field{margin-bottom:14px;display:block}.field>span{font:400 12px/1.4 var(--mono);color:var(--ink-2);justify-content:space-between;margin-bottom:4px;display:flex}.field output{color:var(--ink);font-weight:500}input[type=range]{width:100%;accent-color:var(--ink);margin:0}.field-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.field.inline{align-items:center;gap:8px;margin:0;display:flex}.field.inline>span{margin:0}input[type=number]{width:76px;font:400 13px/1 var(--mono);color:var(--ink);border:1px solid var(--panel-edge);background:0 0;border-radius:2px;padding:7px 8px}.check{font:400 13px/1 var(--mono);color:var(--ink-2);cursor:pointer;align-items:center;gap:6px;display:flex}.check input{width:16px;height:16px;accent-color:var(--guard)}.hint{font:400 11px/1.4 var(--mono);color:var(--ink-3);min-height:1.4em;margin:10px 0 0}.training-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;display:grid}.training-panel h2,.training-panel .status{grid-column:1/-1}@media (width<=720px){.training-panel{grid-template-columns:minmax(0,1fr)}}.status{font:400 12px/1.5 var(--mono);color:var(--ink-2);min-height:3em;margin:0}.chart-block h3{margin-top:10px}.chart{width:100%;height:170px;display:block}.chart-legend{font:400 11px/1.4 var(--mono);color:var(--ink-3);flex-wrap:wrap;gap:6px 14px;margin:8px 0 0;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.key{border-top:2px solid;width:16px;height:0}.key.s2{border-color:var(--s2)}.key.guard{border-color:var(--guard)}.key.ink{border-color:var(--ink-2)}.key.dashed{border-top-style:dashed}.sub{color:var(--ink-2);margin:0 0 8px;font-size:13px}.frontier-wrap{position:relative}.frontier{width:100%;height:300px;display:block}.tip{pointer-events:none;background:var(--ink);color:var(--panel);font:400 11px/1.4 var(--mono);white-space:nowrap;border-radius:2px;padding:6px 8px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.mk{width:9px;height:9px;display:inline-block}.mk.square{background:var(--s2)}.mk.ring{border:1.5px solid var(--ink-3);border-radius:50%}.mk.dot{background:var(--s1);border-radius:50%}.mk.diamond{background:var(--ink-3);transform:rotate(45deg)scale(.85)}.mk.here{border:2px solid var(--here);border-radius:50%;width:12px;height:12px}.colophon{max-width:1240px;font:400 12px/1.6 var(--mono);color:var(--ink-3);margin:0 auto;padding:16px 24px 40px}.colophon p{max-width:90ch;margin:0}@media (width<=720px){.colophon{padding:16px 16px 32px}.readout dd{font-size:24px}.cost-value{font-size:42px}}.network-wrap{border:1px solid var(--panel-edge);background:radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--s1) 7%, transparent), transparent 70%), var(--board);cursor:grab;border-radius:2px;height:440px;position:relative;overflow:hidden}.network-wrap canvas{width:100%;height:100%;display:block}.net-label{visibility:hidden;pointer-events:none;font:500 11px/1 var(--mono);color:var(--ink-2);white-space:nowrap;position:absolute;top:0;left:0}.net-label[data-chosen=true]{color:var(--ink);font-weight:600}.fallback{font:400 12px/1.5 var(--mono);color:var(--ink-3);padding:24px}.warm{color:#e8793a;font-weight:600}.cool{color:#3a86e8;font-weight:600}@media (width<=720px){.network-wrap{height:320px}}.racing-only{margin-top:10px}#racing-controls{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}#racing-controls[hidden],#lander-controls[hidden],#quadruped-controls[hidden],#telemetry-block[hidden]{display:none}#lander-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4px 12px;margin-top:12px;display:grid}#quadruped-controls{flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-top:12px;display:flex}#quadruped-controls .hint{margin:0}#lander-controls .hint{grid-column:1/-1;margin:0}.segmented{display:inline-flex}.segmented button{border-color:var(--panel-edge);border-radius:0;min-height:32px;padding:6px 10px;font-size:12px}.segmented button:first-child{border-radius:2px 0 0 2px}.segmented button:last-child{border-left:none;border-radius:0 2px 2px 0}.segmented button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--panel)}.telemetry{width:100%;height:150px;display:block}
