.sheet{max-width:84rem;margin:0 auto;padding:0 var(--gutter) 4rem}.front{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);grid-template-areas:"id fig" "cols fig";align-items:start;padding-top:1.25rem}.front-id{grid-area:id;padding-right:3rem}.front-fig{grid-area:fig;padding-left:3rem;border-left:1px solid var(--rule)}.front-cols{grid-area:cols;padding-right:3rem;padding-top:1.6rem}.sheet-title{margin:0;font-family:var(--sans);font-weight:700;font-stretch:var(--wide);font-size:clamp(1.875rem,3.1vw,2.625rem);line-height:1.05;letter-spacing:-0.03em;color:var(--ink);text-wrap:balance}.sheet-desc{margin:0.85rem 0 0;max-width:62ch;font-size:1rem;line-height:1.55;color:var(--ink)}.sheet-desc strong{font-weight:700}.sec{padding-top:2.5rem}.sec-turn{padding-top:5.5rem}.sec h2{display:grid;grid-template-columns:2.25rem auto minmax(0,1fr);align-items:baseline;margin:0 0 0.6rem;padding-top:0.6rem;border-top:1.5px solid var(--frame);font-family:var(--sans);font-weight:700;font-size:var(--t-xl);line-height:1.2;letter-spacing:-0.015em;color:var(--ink)}.front-cols .sec{padding-top:0}.front-cols .sec + .sec{padding-top:1.75rem}.front-cols .sec h2{font-size:var(--t-lg)}.sec h2 .num{font-family:var(--mono);font-weight:500;font-size:0.72em;color:var(--accent)}.sec h3{margin:1.75rem 0 0.5rem;font-size:var(--t-md);font-weight:700;color:var(--ink)}.sec-lead{margin:0 0 1.25rem;max-width:68ch;font-size:var(--t-md);line-height:1.55;color:var(--ink-soft)}.sec-lead code,.prose code,.features code{font-family:var(--mono);font-size:0.9em;color:var(--ink);background:var(--paper-tint);padding:0.08em 0.32em;border:1px solid var(--rule);border-radius:var(--r)}.prose{margin:0;max-width:68ch;line-height:1.65;color:var(--ink)}.prose em{font-style:normal;font-weight:700}.features{margin:0;padding:0;list-style:none}.features li{position:relative;max-width:70ch;padding:0.4rem 0 0.4rem 1.4rem;font-size:var(--t-sm);line-height:1.55;border-top:1px solid var(--rule)}.features li:first-child{border-top:0}.features li::before{content:"";position:absolute;left:0.35rem;top:0.95em;width:5px;height:5px;background:var(--accent)}.specs{border-collapse:collapse;font-size:var(--t-sm)}.specs{margin-inline:-0.7rem;width:calc(100% + 1.4rem)}.specs th,.specs td{padding:0.45rem 0.7rem;text-align:left;vertical-align:baseline;border-top:1px solid var(--rule)}.specs tr:first-child th,.specs tr:first-child td{border-top:0}.specs th{width:11rem;font-weight:600;color:var(--ink)}.specs td{color:var(--ink-soft)}.specs code{font-size:0.92em}.order{table-layout:fixed}.order th:first-child,.order td:first-child{width:5.75rem}.order td .pkg-get{display:flex;max-width:100%}.order td .cmd{min-width:0;flex:1;font-size:var(--t-2xs)}.pin{display:inline-flex;align-items:center;min-height:1.8rem;padding:0 0.5rem;cursor:pointer;font:700 var(--t-sm) var(--sans);color:var(--ink);background:none;border:1px solid transparent;border-radius:var(--r)}.pin:hover{color:var(--accent);border-color:var(--accent)}.js[data-lang="rust"] tr[data-lang="rust"] .pin,.js[data-lang="typescript"] tr[data-lang="node"] .pin,.js[data-lang="python"] tr[data-lang="python"] .pin,.js[data-lang="c"] tr[data-lang="dotnet"] .pin{color:var(--paper);background:var(--accent);border-color:var(--accent)}.no-js .pin{border-color:var(--rule)}.front-actions{display:flex;flex-wrap:wrap;gap:0.5rem;margin:0.9rem 0 0}.fig-lead{margin:0 0 1rem}.caps th:first-child,.caps td:first-child{width:15rem}.caps tr.group th{padding-top:0.9rem;background:var(--paper);border-top:1px solid var(--frame);border-bottom:1px solid var(--rule);font-size:var(--t-xs);font-stretch:var(--cond);letter-spacing:0.12em;color:var(--accent)}.caps tbody:first-of-type tr.group th{border-top:0}.caps td code,.caps th code{font-family:var(--mono);font-size:var(--t-xs);background:none;border:0;padding:0}.caps td.spans{color:var(--ink-soft)}.tbl-caps{margin-bottom:1rem}.stage-tabs{display:flex;flex-wrap:wrap;gap:0;margin:0 0 1.25rem;border-bottom:1px solid var(--frame)}.stage-tab{margin-bottom:-1px;padding:0.45rem 0.85rem;cursor:pointer;font:700 var(--t-xs) var(--sans);font-stretch:var(--cond);text-transform:uppercase;letter-spacing:var(--track);color:var(--ink-soft);background:none;border:1px solid transparent;border-bottom:1px solid var(--frame)}.stage-tab:hover{color:var(--ink)}.stage-tab[aria-selected="true"]{color:var(--accent);background:var(--paper);border-color:var(--ink) var(--ink) var(--paper)}.stage-tab[data-group="robotics"]:first-of-type{margin-left:1rem}.no-js .stage-tabs{display:none}.no-js .scene[hidden]{display:grid !important}.scene{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:0 2.5rem;align-items:start}.scene + .scene{margin-top:2rem}.scene-text{padding-top:0.35rem}.scene-text h3{margin:0 0 0.3rem;font-size:var(--t-lg);font-weight:700;line-height:1.25;color:var(--ink);text-wrap:balance}.scene-where{margin:0 0 0.8rem;font:500 var(--t-xs) var(--mono);letter-spacing:0.04em;color:var(--accent)}.scene-text p{margin:0 0 0.9rem;max-width:56ch;font-size:var(--t-sm);line-height:1.6;color:var(--ink)}.scene-crates{font-size:var(--t-xs);color:var(--ink-soft)}.scene-crates code{font-family:var(--mono);font-size:0.95em}.crate{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:0.2em}.crate:hover{text-decoration-color:currentColor}.lanes{table-layout:fixed}.lanes thead th:first-child,.lanes tbody th[scope="row"]{width:15rem}.lanes tbody tr:nth-child(even) td,.lanes tbody tr:nth-child(even) th[scope="row"]{background:none}.lanes td{padding:0.65rem 0.75rem}.lanes tbody tr td.lane-ships{background:var(--paper-tint)}.lanes .lane-next{border-left:1.5px solid var(--frame)}.lanes .lane-later{border-left:1px dashed var(--rule)}.lanes thead .lane-next{position:relative;padding-left:2.6rem}.today{position:absolute;left:0;top:50%;translate:-50% -50%;padding:0.12rem 0.4rem;font:700 var(--t-2xs) var(--sans);font-stretch:var(--cond);text-transform:uppercase;letter-spacing:var(--track);color:var(--paper);background:var(--accent);border-radius:var(--r)}.lane-count{display:block;margin-top:0.45rem;font:500 var(--t-xs) var(--mono);color:var(--ink-soft)}.marks{display:flex;flex-wrap:wrap;gap:0.3rem 0.95rem;margin:0;padding:0;list-style:none;font-size:var(--t-xs);line-height:1.45}.marks li{position:relative;padding-left:0.8rem;color:var(--ink)}.marks li::before{content:"";position:absolute;left:0;top:0.42em;width:6px;height:6px;box-sizing:border-box}.lane-ships .marks{justify-content:flex-end}.lane-ships .marks li::before{background:var(--accent)}.lane-ships .marks a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:0.2em}.lane-ships .marks a:hover{text-decoration-color:currentColor}.lane-next .marks li{font-weight:600}.lane-next .marks li::before{border:1.5px solid var(--ink)}.lane-later .marks li{color:var(--ink-soft)}.lane-later .marks li::before{border:1px solid var(--ink-soft)}.milestones{max-width:58rem;table-layout:fixed}.milestones th:first-child,.milestones td:first-child{width:6rem}.milestones th:nth-child(2),.milestones td:nth-child(2){width:15rem}.state{display:inline-block;padding:0.1rem 0.4rem;font:700 var(--t-2xs) var(--sans);font-stretch:var(--cond);text-transform:uppercase;letter-spacing:var(--track);color:var(--paper);background:var(--ink-soft);border-radius:var(--r)}tr[data-state="now"] .state{background:var(--accent)}tr[data-state="next"] .state{color:var(--accent);background:var(--band-tint);border:1px solid var(--accent)}tr[data-state="later"] .state{color:var(--ink-soft);background:none;border:1px dashed var(--rule)}.quick .langs{max-width:58rem}.quick figure.code{position:relative}.quick .capped figure.code pre{max-height:17rem;overflow-x:auto;overflow-y:hidden}.quick .capped figure.code::after{content:"";position:absolute;left:1px;right:1px;bottom:1px;height:4.5rem;pointer-events:none;background:linear-gradient(180deg,transparent,var(--paper))}.reveal{display:inline-flex;align-items:center;gap:0.35rem;min-height:1.5rem;margin-left:auto;padding:0 0.5rem;cursor:pointer;font:700 var(--t-2xs) var(--sans);font-stretch:var(--cond);text-transform:uppercase;letter-spacing:var(--track);color:var(--ink-soft);background:none;border:1px solid var(--rule);border-radius:var(--r)}.reveal:hover{color:var(--accent);border-color:var(--accent)}.reveal::after{content:"";width:5px;height:5px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;rotate:45deg;translate:0 -1px}.reveal[aria-expanded="true"]::after{rotate:-135deg;translate:0 1px}.quick figure.code figcaption .copy{margin-left:0.35rem}.no-js .quick .capped figure.code pre{max-height:none}.no-js .quick .capped figure.code::after,.no-js .reveal{display:none}.sec-note{margin:0.9rem 0 0;max-width:78ch;font-size:var(--t-sm);line-height:1.55;color:var(--ink-soft)}.stamp{justify-self:start;margin-left:0.7rem;padding:0.12rem 0.45rem;white-space:nowrap;font:700 var(--t-2xs) var(--sans);font-stretch:var(--cond);text-transform:uppercase;letter-spacing:var(--track);color:var(--caution);border:1px solid var(--caution);border-radius:var(--r)}.back-open{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0 3rem;align-items:start}.back-open .sec-lead{margin-bottom:0}.back-open .tbl{margin:0}.offers{width:calc(100% + 1.4rem);margin-inline:-0.7rem;border-collapse:collapse;font-size:var(--t-sm);border-top:1.5px solid var(--frame);border-bottom:1.5px solid var(--frame)}.offers th,.offers td{padding:0.55rem 0.7rem;text-align:left;border-top:1px solid var(--rule)}.offers tr:first-child th,.offers tr:first-child td{border-top:0}.offers th{font-weight:600;color:var(--ink)}.offers td{width:8.2rem;text-align:right}.shut{display:inline-block;padding:0.1rem 0.45rem;font:700 var(--t-2xs) var(--sans);font-stretch:var(--cond);text-transform:uppercase;letter-spacing:var(--track);color:var(--ink-soft);border:1px dashed var(--rule);border-radius:var(--r)}.tbl-note{margin:0.6rem 0 0;font-size:var(--t-xs);line-height:1.55;color:var(--ink-soft)}.back-cost{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 3rem;align-items:start;margin-top:2.25rem}.back-why h3{margin-top:0}.back-why .prose{max-width:none}.fig-ladder{margin:0}.ladder{display:flex;flex-direction:column-reverse;margin:0;padding:0;list-style:none;border:1px solid var(--frame);background:var(--paper)}.ladder li{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:0.1rem 1rem;align-items:baseline;margin:0;padding:0.7rem 0.9rem;border-top:1px solid var(--rule)}.ladder li:last-child{border-top:0}.rung-cost{grid-row:span 2;font:700 var(--t-2xs) var(--sans);font-stretch:var(--cond);text-transform:uppercase;letter-spacing:var(--track);color:var(--accent)}.ladder b{font-family:var(--sans);font-size:var(--t-sm);font-weight:700;color:var(--ink)}.rung-what{font-size:var(--t-xs);line-height:1.5;color:var(--ink-soft)}.ladder li:first-child{background:var(--band-tint)}.ladder li:last-child{background:var(--caution-tint)}.ladder li:last-child .rung-cost{color:var(--caution)}@media (max-width:900px){.back-open,.back-cost{grid-template-columns:minmax(0,1fr);gap:1.5rem}.back-open .sec-lead{margin-bottom:0.25rem}}@media (max-width:640px){.stamp{grid-column:2 / -1;margin:0.45rem 0 0}.offers{display:table;width:100%;margin-inline:0}.offers tbody{display:table-row-group}.offers tr{display:table-row}.offers th,.offers td{display:table-cell;width:auto;padding-inline:0}.offers td{width:7.5rem;text-align:right}.ladder li{grid-template-columns:minmax(0,1fr);gap:0.15rem}.rung-cost{grid-row:auto}}.chapters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:0.6rem;background:var(--rule);border:1px solid var(--frame)}.bindings{display:flex;align-items:baseline;gap:0.4rem 1.5rem;margin-top:0.6rem;padding:0.75rem 1rem;background:var(--paper);border:1px solid var(--frame);border-bottom:0}.bindings + .chapters{margin-top:0}.bindings-label{flex:none;margin:0;font:700 var(--t-2xs) var(--sans);font-stretch:var(--cond);text-transform:uppercase;letter-spacing:var(--track);color:var(--ink-soft)}.bindings-list{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;gap:0.4rem 1.75rem;margin:0;padding:0;list-style:none}.bindings-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 0.45rem}.bindings-list a{font-size:var(--t-sm);font-weight:700;color:var(--ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ink) 35%,transparent);text-underline-offset:0.2em}.bindings-list a:hover{color:var(--accent);text-decoration-color:currentColor}.bindings-list span{font-size:var(--t-xs);color:var(--ink-soft)}.bindings-list span a{font-size:inherit;font-weight:400;color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:0.2em}.bindings-list code{font-family:var(--mono);background:none;border:0;padding:0}.chapter{display:flex;flex-direction:column;gap:0.3rem;padding:0.85rem 1rem 0.7rem;background:var(--paper)}.chapter-engine{background:var(--paper-tint)}.chapter-id{margin:0;font:500 var(--t-2xs) var(--mono);letter-spacing:0.08em;color:var(--accent)}.chapter h3{margin:0;font-family:var(--sans);font-size:var(--t-md);font-weight:700;line-height:1.25;letter-spacing:-0.01em}.chapter h3 a{color:var(--ink);text-decoration:none}.chapter h3 a:hover{color:var(--accent);text-decoration:underline}.chapter-what{margin:0;font-size:var(--t-sm);line-height:1.5;color:var(--ink-soft)}.chapter-list{margin:auto 0 0;padding-top:0.5rem;font:500 var(--t-2xs) / 1.6 var(--mono);color:var(--ink-soft);border-top:1px solid var(--rule)}.chapter-list a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:0.2em}.chapter-list a:hover{text-decoration-color:currentColor}.chapter-list code{font:inherit;background:none;border:0;padding:0}.fig-block{margin:1.25rem 0 1.5rem}.diorama{position:relative;border:1px solid var(--frame);background:var(--paper)}.diorama-still{margin:0;padding:3rem 1.5rem;text-align:center;color:var(--ink-soft);font-size:var(--t-sm)}.fig-note{margin:0;padding:0.25rem 0.6rem;text-align:right;font:600 var(--t-2xs) var(--sans);font-stretch:var(--cond);text-transform:uppercase;letter-spacing:var(--track);color:var(--ink-soft);border:1px solid var(--rule);border-top:0}.still{width:100%;border-collapse:collapse;border:0;font-size:var(--t-sm)}.still caption{padding:0.5rem 0.75rem;text-align:left;background:var(--paper-tint);border-bottom:1px solid var(--frame);font:700 var(--t-2xs) var(--sans);font-stretch:var(--cond);text-transform:uppercase;letter-spacing:var(--track);color:var(--ink-soft)}.still th,.still td{padding:0.45rem 0.75rem;border-top:1px solid var(--rule);background:none}.still tbody tr:first-child th,.still tbody tr:first-child td{border-top:0}.still th{text-align:left;font:700 var(--t-2xs) var(--sans);font-stretch:var(--cond);text-transform:uppercase;letter-spacing:var(--track);color:var(--ink-soft)}.still td{font-family:var(--mono);font-weight:600;color:var(--ink);text-align:right}.still .unit{margin-left:0.2rem;font-weight:400;font-size:0.85em;color:var(--ink-soft)}.js .still{display:none}.cons{position:relative}.cons-head{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0.75rem;background:var(--paper-tint);border-bottom:1px solid var(--frame)}.cons-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.cons-id{font:500 var(--t-xs) var(--mono);text-transform:uppercase;letter-spacing:0.08em;color:var(--ink)}.cons-badges{margin-left:auto;display:flex;align-items:center;gap:0.6rem}.cons-link{font:400 var(--t-2xs) var(--mono);color:var(--ink-soft);white-space:nowrap}.cons-link b{color:var(--ink);font-weight:600}.cons-sig{display:flex;align-items:flex-end;gap:2px;height:11px}.cons-sig i{width:3px;background:var(--ink)}.cons-sig i:nth-child(1){height:4px}.cons-sig i:nth-child(2){height:6px}.cons-sig i:nth-child(3){height:9px}.cons-sig i:nth-child(4){height:11px;background:var(--rule)}.cons-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.tile{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:0.65rem 0.75rem;border-top:1px solid var(--rule);border-left:1px solid var(--rule);transition:opacity 0.15s ease}.cons-body>.tile:nth-child(2n+1){border-left:0}.cons-body>.tile:nth-child(-n+2){border-top:0}.tile.wide,.cons-body>.tile:last-child:nth-child(odd){grid-column:1 / -1;border-left:0}.diorama.probing .tile:not(.probed){opacity:0.4}.tile.probed{background:var(--band-tint);box-shadow:inset 0 0 0 1.5px var(--accent)}.tile:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.t-label{display:flex;align-items:center;gap:0.35rem;font-size:var(--t-2xs);font-weight:700;font-stretch:var(--cond);text-transform:uppercase;letter-spacing:var(--track);color:var(--ink-soft)}.t-tag{font-style:normal;font-size:var(--t-2xs);font-weight:700;padding:0.02em 0.35em;letter-spacing:0.04em;color:var(--paper);background:var(--accent);border-radius:var(--r)}.t-tag.warn{color:var(--paper);background:var(--caution)}.t-tag.alert{color:var(--paper);background:var(--alarm)}.t-row{display:flex;align-items:baseline;justify-content:space-between;gap:0.5rem}.t-val{font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-soft);white-space:nowrap}.t-val b{color:var(--ink);font-weight:600;font-size:1.35em}.t-val.mono{color:var(--ink)}.t-radial{display:flex;flex-direction:column;align-items:center;gap:0.1rem}.gauge{width:100%;max-width:104px;height:auto;overflow:visible}.g-track{fill:none;stroke:var(--rule);stroke-width:6}.g-val{fill:none;stroke:var(--accent);stroke-width:6;transition:stroke-dasharray 0.35s ease}.g-num{fill:var(--ink);font-family:var(--mono);font-size:18px;text-anchor:middle;font-weight:600}.g-unit{fill:var(--ink-soft);font-family:var(--mono);font-size:8px;text-anchor:middle;letter-spacing:0.1em}.t-bar .bar{margin-top:0.45rem;height:8px;background:var(--paper-tint);border:1px solid var(--rule);overflow:hidden}.t-bar .bar i{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 0.4s ease}.t-kpi .kpi{display:flex;align-items:baseline;gap:0.25rem;margin-top:0.25rem;font-family:var(--mono);color:var(--ink)}.t-kpi .kpi b{font-size:1.45rem;font-weight:600}.t-kpi .kpi span{font-size:var(--t-xs);color:var(--ink-soft)}.t-chip .chip{display:inline-flex;align-items:center;gap:0.4rem;margin-top:0.4rem;font-family:var(--mono);font-size:var(--t-xs);color:var(--ink)}.chip-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-soft)}.chip[data-tone="ok"] .chip-dot{background:var(--accent)}.chip[data-tone="warn"] .chip-dot{background:var(--caution)}.chip[data-tone="alert"] .chip-dot{background:var(--alarm)}.spark{display:block;width:100%;height:44px;margin-top:0.35rem;background-image:repeating-linear-gradient(to top,var(--rule-soft) 0 1px,transparent 1px 25%),repeating-linear-gradient(to right,var(--rule-soft) 0 1px,transparent 1px 12.5%)}.sp-line{fill:none;stroke:var(--accent);stroke-width:1.6}.sp-area{fill:color-mix(in srgb,var(--accent) 10%,transparent);stroke:none}.wave{display:flex;align-items:flex-end;gap:2px;height:38px;margin-top:0.45rem}.wave i{flex:1;height:100%;transform-origin:bottom;transform:scaleY(0.2);background:var(--accent)}.acoustic b{color:var(--accent)}.acoustic.hot b{color:var(--alarm)}.chain{display:flex;align-items:center;gap:0.5rem;margin-top:0.5rem}.chain .block{position:relative;padding:0.2rem 0.4rem;font-family:var(--mono);font-size:var(--t-2xs);white-space:nowrap;color:var(--ink);background:var(--paper);border:1px solid var(--accent);border-radius:var(--r);opacity:0;transform:translateX(-4px);transition:opacity 0.3s ease,transform 0.3s ease}.chain .block.in{opacity:1;transform:none}.chain .block + .block::before{content:"";position:absolute;left:-0.62rem;top:50%;translate:0 -50%;width:9px;height:9px;background:var(--ink-soft);-webkit-mask:var(--mark-back) no-repeat center / contain;mask:var(--mark-back) no-repeat center / contain}.mesh{display:block;width:100%;height:auto;margin-top:0.3rem}.mesh .ml{stroke:var(--rule);stroke-width:1.2}.mesh .ml.weak{stroke:var(--alarm);stroke-dasharray:4 4;opacity:0.6}.mesh .ml.up{stroke:var(--accent)}.mesh .mn{fill:var(--accent)}.mesh .mn.gw{fill:var(--caution)}.mesh .pk{fill:var(--ink)}.mesh .pk.up{fill:var(--caution)}.mesh .sat rect{fill:var(--paper);stroke:var(--caution);stroke-width:0.9}.mesh-note{color:var(--accent) !important}.rover{display:block;width:100%;height:auto;margin-top:0.3rem}.rv-grid line{stroke:color-mix(in srgb,var(--ink) 7%,transparent);stroke-width:0.5}.rv-plan{fill:none;stroke:var(--ink-soft);stroke-width:1;stroke-dasharray:3 4;stroke-linecap:round}.rv-trail{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.rv-wp{fill:var(--ink-soft)}.rv-wp.goal{fill:var(--accent)}.rv-carrot{fill:none;stroke:var(--ink-soft);stroke-width:1.1}.rv-bot path{fill:var(--accent);transition:fill 0.2s ease}.rv-bot.slow path{fill:var(--caution)}.rv-obs{fill:color-mix(in srgb,var(--caution) 12%,transparent);stroke:var(--caution);stroke-width:1;stroke-dasharray:3 3}.rv-obs-c{fill:var(--caution)}.rv-pose{color:var(--accent) !important}.t-bridge .br-key{margin-top:0.4rem;font-family:var(--mono);font-size:var(--t-2xs);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-bridge .br-key b{color:var(--accent);font-weight:600}.t-bridge .br-status{margin-top:0.3rem;font-family:var(--mono);font-size:var(--t-2xs);color:var(--ink-soft)}.t-bridge .br-status b{color:var(--ink);font-weight:600}.t-bridge .br-status .ok{color:var(--accent)}.br-seq{color:var(--accent) !important}.arm{display:block;width:100%;height:auto;margin-top:0.3rem}.arm-reach{fill:none;stroke:var(--rule);stroke-width:1;stroke-dasharray:2 4}.arm-tgt{fill:var(--ink-soft)}.arm-link{stroke:var(--accent);stroke-width:4;stroke-linecap:round}.arm-l2{stroke-width:3.4}.arm-base{fill:var(--ink)}.arm-joint{fill:var(--paper);stroke:var(--accent);stroke-width:1.6}.arm-tip{fill:var(--accent)}.arm-tip.grip{fill:var(--ink)}.arm-goal{fill:none;stroke:var(--ink-soft);stroke-width:1.1}.arm-goal.reached{stroke:var(--accent)}.arm-read{color:var(--accent) !important}.fleet{display:block;width:100%;height:auto;margin-top:0.3rem}.fl-loop{fill:none;stroke:var(--rule);stroke-width:1;stroke-dasharray:2 3}.fl-link{stroke:color-mix(in srgb,var(--accent) 35%,transparent);stroke-width:1}.fl-hub{fill:var(--paper);stroke:var(--accent);stroke-width:1.2}.fl-bot path{fill:var(--accent)}.fl-note{color:var(--accent) !important}.cons-log{display:flex;flex-direction:column;gap:0.1rem;height:5.2rem;overflow:hidden;padding:0.5rem 0.75rem;background:var(--paper-tint);border-top:1px solid var(--frame);font-family:var(--mono);font-size:var(--t-2xs);line-height:1.5}.log-line{color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-line span{color:var(--accent);margin-right:0.5rem}.log-line.new{color:var(--ink)}@media (min-width:1200px){.front-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem;align-items:start}.front-cols .sec + .sec{padding-top:0}.caps{table-layout:fixed}.caps th:first-child,.caps td:first-child{width:22rem}.caps th:last-child,.caps td:last-child{width:5rem}}@media (max-width:1100px){.front{grid-template-columns:minmax(0,1fr) minmax(0,21rem)}.chapters{grid-template-columns:repeat(3,minmax(0,1fr))}.front-id,.front-cols{padding-right:2rem}.front-fig{padding-left:2rem}.caps th:first-child,.caps td:first-child{width:12rem}}@media (max-width:900px){.front{grid-template-columns:minmax(0,1fr);grid-template-areas:"id" "fig" "cols"}.chapters{grid-template-columns:repeat(2,minmax(0,1fr))}.front-id,.front-cols{padding-right:0}.front-fig{padding-left:0;padding-top:1.75rem;border-left:0}.front-cols{padding-top:2rem}.scene{grid-template-columns:minmax(0,1fr)}.scene-text{padding-top:1rem}}@media (max-width:640px){.chapters{grid-template-columns:minmax(0,1fr)}.bindings,.bindings-list{flex-direction:column;align-items:flex-start}.chapter{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:0.15rem 0;align-items:baseline;padding:0.6rem 0.85rem 0.65rem}.chapter-id{grid-column:1;grid-row:1}.chapter h3,.chapter-what,.chapter-list{grid-column:2}.chapter h3{grid-row:1}.chapter-what{grid-row:2}.chapter-list{grid-row:3;margin:0.15rem 0 0;padding:0;border-top:0}.lanes td{padding:0.2rem 0}.lanes tbody tr td.lane-ships{margin-top:0.35rem;padding:0.45rem 0.6rem}.lanes .lane-ships .marks{justify-content:flex-start}.lanes .lane-next{border-left:0;border-top:1.5px solid var(--frame);margin-top:0.5rem;padding-top:0.5rem}.lanes .lane-later{border-left:0}.lanes td:empty{display:none}.front{padding-top:1.25rem}.sheet-title{font-size:clamp(2rem,9.4vw,2.75rem);font-stretch:100%;letter-spacing:-0.035em}.front-actions .action{flex:1 1 9rem;justify-content:center}.cons-body{grid-template-columns:minmax(0,1fr)}.cons-body>.tile{border-left:0}.cons-body>.tile:nth-child(2){border-top:1px solid var(--rule)}.tile.wide{grid-column:auto}.stage-tab{flex:1 1 auto;text-align:center}.stage-tab[data-group="robotics"]:first-of-type{margin-left:0}.order th:first-child,.order td:first-child,.caps th:first-child,.caps td:first-child,.lanes thead th:first-child,.lanes tbody th[scope="row"],.milestones th:first-child,.milestones td:first-child{width:auto}.caps tr.group th{display:block;padding:0.6rem 0 0.3rem}.caps td:has(.none){display:none}.caps tbody tr{display:flex;flex-wrap:wrap;gap:0 0.85rem}.caps tbody th[scope="row"]{flex:1 1 100%}.caps tbody td{flex:0 0 auto;padding:0.15rem 0;font-size:var(--t-xs)}.caps tbody td[data-label]::before{display:inline;margin:0 0.3rem 0 0}.caps tbody tr.group{display:block}}