*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Regular-BQaDgvhP.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Medium-3S3k2nMz.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-SemiBold-BM8Dc2t-.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Bold-D4WEaHbo.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app:#0d0e11;--sidebar:#0f1114;--editor:#0e1013;--raised:#15171b;--border:#1f2126;--text:#d5d9de;--text2:#9aa0a9;--text3:#7a808a;--font:-apple-system, "SF Pro Text", "Inter", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-ui:var(--mono);--font-prose:var(--font);--fs-hero:38px;--fs-title:20px;--fs-section:14px;--fs-body:14px;--fs-control:12px;--fs-label:12px;--fs-label-dense:11px;--fs-meta:12px;--fw-label:500;--fw-title:600;--lh-body:1.65;--lh-prose:1.6;--lh-control:1.5;--tracking-label:.08em;--tracking-hero:-.04em;--radius-ui:0;--focus-width:2px;--focus-offset:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--data:#a78bfa;--data-fg:#0b0c0e;--pass:#3ddc84;--fail:#ff5a5f;--warn:#ffb545;--up:#3ddc84;--down:#565b64;--c-comment:#6a7080;--c-key:#8fb4ff;--c-keyword:var(--accent);--c-string:#d4a874;--c-num:#c3cde6;--accent:#fb923c;--accent-fg:#0b0c0e;--node-fill:#0e1013;--node-stroke:#9aa0a9;--node-text:#d5d9de;--node-sub:#9aa0a9;--node-down-fill:#1b1d22;--node-down-stroke:#3a3d44;--node-down-text:#7a808a;--link:#2a2d34;--card-fill:#0e1013;--card-stroke:#2a2d34;--frame-fill:#d5d9de08;--frame-stroke:#2a2d34;--track:#1f2126;--track-fill:#7a808a;--cat-fg:#0b0c0e;--cat-1:#4cc9f0;--cat-2:#e879f9;--cat-3:#3b82f6;--cat-4:#94a3b8;--cat-5:#e2e8f0}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app:#f6f7f9;--sidebar:#eef0f3;--editor:#fff;--raised:#e7eaf0;--border:#d8dee8;--text:#16181d;--text2:#3f4757;--text3:#5b6472;--data:#a78bfa;--data-fg:#0b0c0e;--c-comment:#5f6672;--c-key:#2456c4;--c-keyword:var(--accent);--c-string:#8a5a1f;--c-num:#3b4d7a;--accent:#fb923c;--accent-fg:#0b0c0e;--node-fill:#fff;--node-stroke:#5b6472;--node-text:#16181d;--node-sub:#3f4757;--node-down-fill:#eef0f3;--node-down-stroke:#b8c0cc;--node-down-text:#5b6472;--link:#d0d6df;--card-fill:#fff;--card-stroke:#d0d6df;--frame-fill:#16181d08;--frame-stroke:#d0d6df;--track:#e7eaf0;--track-fill:#5b6472;--cat-fg:#fff;--cat-1:#087f9c;--cat-2:#a21caf;--cat-3:#2563eb;--cat-4:#64748b;--cat-5:#334155}:where(a,a:visited){color:var(--accent)}body{background:var(--app);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0}.mono{font-family:var(--font-ui)}.label{font-family:var(--font-ui);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text3);font-weight:var(--fw-label)}.grow{flex:1}.btn{font-family:var(--font-ui);font-size:var(--fs-control);color:var(--text2);border:1px solid var(--border);border-radius:var(--radius-ui);padding:var(--space-2) 13px;cursor:pointer;line-height:var(--lh-control);background:0 0;align-items:center;gap:6px;display:inline-flex}.btn:hover{color:var(--text);background:var(--raised)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:var(--fw-title)}.app .btn{padding:3px var(--space-2)}.btn:focus-visible,.inline-link:focus-visible,.tree .lab:focus-visible,input:focus-visible,select:focus-visible,.ptab:focus-visible,.glossary-scope button:focus-visible,.glossary-chips button:focus-visible,.inspector-unset:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:var(--focus-offset)}.app{font-family:var(--font-ui);font-size:var(--fs-body);grid-template-rows:auto 1fr 26px;grid-template-columns:248px 1fr;height:100vh;min-height:760px;display:grid}.page-header{z-index:2;grid-column:1/-1;min-width:0;position:sticky;top:0}.mobile-banner{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--raised);color:var(--text);font:400 var(--fs-meta)/var(--lh-control) var(--font-ui);text-align:center;display:none}@media (width<=700px){.mobile-banner{display:block}}.topbar{box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--sidebar);height:40px;font-family:var(--font-ui);font-size:var(--fs-control);grid-column:1/4;align-items:center;gap:14px;padding:0 12px 0 16px;display:flex}.brand{letter-spacing:.02em;color:inherit;font-weight:700;text-decoration:none}.brand i{color:var(--accent);font-style:normal}.topbar>.brand,.topbar>.topnav,.topbar>.btn{flex-shrink:0}.crumbs{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text3);overflow:hidden}.crumbs b{color:var(--text);font-weight:600}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);grid-template-rows:32px 1fr;min-width:0;min-height:0;display:grid}.sidebar-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:0 6px 0 12px;display:flex}.sidebar-body{min-height:0;padding:10px 0;overflow:auto}.sidebar .label,.pane-head .label,.chart-head .label{font-size:var(--fs-label-dense)}.sidebar-body .label{padding:8px 14px 6px}.section-toggle{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;width:100%;display:flex}.sidebar-head .section-toggle{width:auto;padding:0}.section-toggle:hover{color:var(--text)}.section-toggle:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:var(--focus-offset)}.section-toggle .caret{width:10px}.sidebar-closed .sidebar-head{border-bottom:none;justify-content:center;padding:0}.sidebar-closed .sidebar-head>:not(.collapse),.sidebar-closed .sidebar-body{display:none}.tree-filter{padding:0 10px 8px}.tree-filter input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-ui);background:var(--editor);width:100%;color:var(--text);font:var(--fs-control)/var(--lh-control) var(--font-ui);padding:4px 8px}.tree-filter input::placeholder{color:var(--text3)}.tree-filter input:focus{outline:var(--focus-width) solid var(--accent);border-color:var(--accent);outline-offset:var(--focus-offset)}.tree .domain+.domain{margin-top:6px}.tree .domain-head{font-family:var(--font-ui);font-size:var(--fs-label-dense);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text3);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:var(--fw-label);align-items:center;gap:6px;padding:6px 12px 2px;display:flex}.tree .domain-head:hover{color:var(--text2)}.tree .caret{width:10px;color:var(--text3);flex:none;font-size:10px}.tree .lab{text-align:left;width:100%;font-family:var(--font-ui);font-size:var(--fs-control);line-height:var(--lh-control);color:var(--text2);cursor:pointer;background:0 0;border:0;align-items:baseline;gap:6px;min-width:0;padding:3px 12px 3px 28px;display:flex}.tree .lab-title{white-space:normal;overflow-wrap:anywhere;flex:1;min-width:0}.tree .ex-section:after{content:"";background:var(--border);flex:1;height:1px}.tree .ex-section{font-family:var(--font-ui);font-size:var(--fs-label-dense);color:var(--text3);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);align-items:center;gap:6px;padding:5px 12px 2px 44px;display:flex}.tree .purpose-dot{background:var(--text3);border-radius:50%;flex:none;width:6px;height:6px}.purpose-key,.marker-key{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);color:var(--text3);font:var(--fs-label-dense) var(--font-ui);flex-wrap:wrap;margin:0;list-style:none;display:flex}.purpose-key li,.marker-key li{align-items:center;gap:var(--space-1);display:inline-flex}.tree .purpose-intro{background:var(--text3)}.tree .purpose-feature{background:var(--pass)}.tree .purpose-fault{background:var(--warn)}.tree .purpose-broken{background:var(--fail)}.tree .ex-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tree .ex{color:var(--text2);cursor:pointer;font:var(--fs-control)/var(--lh-control) var(--font-ui);align-items:center;gap:8px;padding:3px 12px 3px 44px;display:flex;position:relative}.tree .ex.on{background:var(--editor);color:var(--text)}.tree .ex.on:before{content:"";background:var(--accent);width:2px;position:absolute;top:3px;bottom:3px;left:0}.tree .lab:hover,.tree .ex:hover{color:var(--text)}.sidebar .markers{border-top:1px solid var(--border);margin-top:10px;padding-top:6px}.sidebar-body>.markers:first-child{border-top:none;margin-top:0;padding-top:0}.mk{font-family:var(--font-ui);font-size:var(--fs-control);color:var(--text2);cursor:pointer;align-items:center;gap:8px;padding:3px 14px;display:flex}.mk:hover{color:var(--text);background:var(--editor)}.marker-dot{border-radius:50%;flex:none;width:7px;height:7px}.mk .t{color:var(--text3);margin-left:auto}.hint{font-size:var(--fs-meta);color:var(--text3);line-height:1.5;font-family:var(--font-ui);padding:6px 14px}.main{background:var(--editor);grid-template-rows:1fr auto 236px;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.work{grid-template-columns:340px 1fr;min-height:0;display:grid}.pane-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-width:0;height:32px;padding:0 8px 0 12px;display:flex}.spec-action-separator{height:calc(var(--fs-control) * var(--lh-control) + var(--space-2));margin-inline:var(--space-1);border-left:1px solid var(--border);flex-shrink:0}.spec{border-right:1px solid var(--border);background:var(--sidebar);grid-template-rows:32px 1fr;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.spec .pane-head,.spec .spec-body{min-width:0}.spec .pane-head>*{flex:none}.spec .pane-head>.file,.spec .pane-head>.grow{flex:0 auto;min-width:0}.spec .pane-head>.grow{flex-grow:1}.spec .pane-head>.design-select{flex:0 auto;min-width:0}.spec .pane-head.compact{gap:var(--space-1)}.spec .pane-head.compact .spec-action-separator{margin-inline:0}.design-select{background:var(--editor);border:1px solid var(--border);border-radius:var(--radius-ui);color:var(--text);padding:3px var(--space-2);font:var(--fs-control) / var(--lh-control) var(--font-ui)}.spec .file{font-family:var(--font-ui);font-size:var(--fs-control);color:var(--text2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.spec .dirty{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.collapse{color:var(--text3);cursor:pointer;background:0 0;border:none;padding:4px;font-size:13px}.collapse:hover{color:var(--text)}.spec-closed .pane-head>:not(.collapse),.spec-closed .spec-body{display:none}.spec-closed .pane-head{justify-content:center;padding:0}.banner{font-size:var(--fs-meta);color:var(--fail);border-left:2px solid var(--fail);background:color-mix(in srgb, var(--fail) 6%, transparent);margin:0;padding:6px 12px}.run-status{font-family:var(--font-ui);font-size:var(--fs-meta);color:var(--text3);margin:0;padding:4px 12px}.scenario{max-height:34%;font-size:var(--fs-meta);line-height:var(--lh-control);color:var(--text2);border-left:1px solid var(--border);border-bottom:1px solid var(--border);font-family:var(--font-ui);flex:none;margin:0;padding:6px 12px 8px;overflow-y:auto}.scenario p{max-width:68ch;margin:4px 0 0}.scenario-toggle{font:inherit;font-size:var(--fs-label-dense);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text3);cursor:pointer;font-family:var(--font-ui);font-weight:var(--fw-label);background:0 0;border:0;padding:0;display:block}.scenario-toggle:hover,.scenario-toggle:focus-visible{color:var(--text)}.spec-body{flex-direction:column;min-height:0;display:flex;overflow:hidden}.spec-refused{font-size:var(--fs-meta);color:var(--fail);border-left:2px solid var(--fail);background:color-mix(in srgb, var(--fail) 6%, transparent);margin:0;padding:6px 12px;line-height:1.45}.spec-body .spec-editor{flex:1;min-height:0}.spec-editor .cm-editor{height:100%}.spec-editor .cm-scroller{font-family:var(--font-ui)}.scene{grid-template-rows:32px 1fr;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.scene .pane-head .label{color:var(--text2)}.legend,.color-meanings{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.legend li,.color-meanings li{align-items:baseline;gap:var(--space-2);display:flex}.legend svg,.color-swatch{flex:none;align-self:start;width:16px;height:16px}.legend-compact{min-width:0;font-family:var(--font-ui);font-size:var(--fs-label-dense);color:var(--text3);gap:14px;margin-left:auto;display:flex;overflow:hidden}.legend-compact li{white-space:nowrap;flex:none;align-items:center;gap:5px;display:inline-flex}.legend-compact svg{align-self:auto}.legend .card-dot{fill:var(--tone,transparent)}.legend-help{color:var(--text3)}.color-swatch{border:1px solid var(--border)}.colors-popover{z-index:30;box-sizing:border-box;width:min(360px, calc(100vw - 2 * var(--space-2)));max-height:calc(100dvh - 2 * var(--space-2));overflow-wrap:anywhere;padding:var(--space-3);border:1px solid var(--border);background:var(--raised);color:var(--text);font:var(--fs-meta) / var(--lh-body) var(--font-ui);position:fixed;overflow:auto}.colors-heading{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.colors-popover h2,.colors-popover h3{font-size:var(--fs-section);margin:0}.colors-popover h3{margin:var(--space-3) 0 var(--space-2)}.colors-popover:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:var(--focus-offset)}.canvas{background-image:radial-gradient(var(--border) 1px, transparent 1px);background-size:22px 22px;min-height:0;position:relative;overflow:hidden}.canvas .cluster{cursor:grab;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.canvas .cluster.panning{cursor:grabbing}.scene-zoom{gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.node{cursor:pointer}.inspect{background:var(--raised);border:1px solid var(--border);border-radius:var(--radius-ui);width:220px;font-family:var(--font-ui);font-size:var(--fs-meta);color:var(--text2);position:absolute;top:14px;right:14px}.inspect .h{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:8px;padding:7px 10px;display:flex}.inspect .inspect-status{color:var(--data)}.inspect .inspect-close{color:var(--text3);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:14px}.inspect .inspect-close:hover{color:var(--text)}.inspect dl{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;padding:8px 10px;display:grid}.inspect dt{color:var(--text3)}.inspect dd{text-align:right;margin:0}.inspect .inspect-empty{text-align:left;color:var(--text3);grid-column:1/3}.error-boundary{color:var(--fail);font-family:var(--font-ui);font-size:var(--fs-meta);padding:1rem;position:absolute;inset:0}.error-boundary pre{white-space:pre-wrap;color:var(--text2)}.splitter{background:var(--border);z-index:1}.splitter-vertical{cursor:col-resize}.splitter-horizontal{cursor:row-resize}.loader{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;height:100%;padding:1rem;display:flex}.controls{border-top:1px solid var(--border);background:var(--sidebar);flex-direction:column;gap:2px;padding:6px 14px 4px;display:flex}.buttons{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.controls .btn{border-color:#0000;padding:4px 8px;font-size:14px}.controls .btn.play{background:var(--accent);border-color:var(--accent);width:6.5em;color:var(--accent-fg);font:var(--fw-title) var(--fs-control)/var(--lh-control) var(--font-ui);justify-content:center;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.controls .btn.play:hover{background:color-mix(in srgb, var(--accent) 85%, var(--text))}.controls .btn.play span{text-align:center;width:1.1em;font-size:11px;display:inline-block}.step-buttons{gap:2px;margin-left:-8px;display:inline-flex}.step-buttons .btn{padding:1px 8px 3px;font-size:18px;line-height:1}.speed,.skip{font-family:var(--font-ui);font-size:var(--fs-meta);color:var(--text3);align-items:center;gap:4px;display:inline-flex}.speed select{background:var(--editor);border:1px solid var(--border);border-radius:var(--radius-ui);color:var(--text2);padding:3px var(--space-2);font:var(--fs-control)/var(--lh-control) var(--font-ui)}.clock{text-align:right;min-width:9em;font-family:var(--font-ui);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;color:var(--text2);white-space:nowrap}.zoom{align-items:center;gap:2px;display:inline-flex}.zoom-label{font-family:var(--font-ui);font-size:var(--fs-meta);color:var(--text3);margin-right:2px}.zoom .btn{padding:3px var(--space-2);font-size:var(--fs-control);font-family:var(--font-ui)}.zoom-range{color:var(--text3);font-family:var(--font-ui);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:4px}.keys-hint{font-size:var(--fs-meta);color:var(--text3);font-family:var(--font-ui);border-bottom:1px dotted var(--text3);cursor:help;margin-left:auto}.scrub{height:34px;position:relative}.scrub .track{border-radius:var(--radius-ui);background:var(--border);pointer-events:none;height:4px;position:absolute;top:15px;left:0;right:0}.scrub .fill{border-radius:var(--radius-ui);background:color-mix(in srgb, var(--accent) 55%, transparent);position:absolute;top:0;bottom:0;left:0}.scrub .head{background:var(--accent);pointer-events:none;width:2px;height:16px;position:absolute;top:9px;transform:translate(-1px)}.scrub input[type=range]{opacity:0;cursor:pointer;width:100%;margin:0;position:absolute;inset:0}.scrub .markers{cursor:crosshair;height:9px;position:absolute;top:0;left:0;right:0}.scrub .marker{width:2px;height:9px;position:absolute;transform:translate(-1px)}.marker,.marker-dot{background:var(--data)}.marker-fault{background:var(--fail)}.marker-invariant-passed{background:var(--pass)}.marker-invariant-violated{background:var(--fail)}.scrub .marker-divergence{background:var(--accent);z-index:1;height:14px}.divergence-label{color:var(--accent);font-size:var(--fs-meta);font-family:var(--font-ui)}.scrub .ticks{font-family:var(--font-ui);color:var(--text3);justify-content:space-between;font-size:9.5px;display:flex;position:absolute;top:22px;left:0;right:0}.panel{border-top:1px solid var(--border);background:var(--sidebar);grid-template-rows:32px 1fr;min-height:0;display:grid}.main>.panel{grid-template-columns:minmax(0,1fr)}.ptabs-bar{border-bottom:1px solid var(--border);align-items:center;min-width:0;display:flex}.ptabs{flex-wrap:nowrap;flex:1;align-self:stretch;align-items:stretch;min-width:0;display:flex;overflow-x:auto}.ptab{white-space:nowrap;font-size:var(--fs-control);color:var(--text2);cursor:pointer;border:none;border-right:1px solid var(--border);font-family:var(--font-ui);background:0 0;border-top:1px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;display:flex}.ptab-divider{flex-shrink:0;justify-content:center;align-items:center;width:24px;display:flex}.ptab-divider:before{content:"";background:var(--text3);width:1px;height:12px}.ptab-divider+.ptab{border-left:1px solid var(--border)}.ptab .count{font-family:var(--font-ui);font-size:var(--fs-meta);color:var(--text3)}.ptab.on{color:var(--text);background:var(--editor);border-top-color:var(--accent)}.pbody{min-height:0;overflow:hidden}.pbody>section{height:100%;overflow:auto}.pbody>section[hidden],.panel-closed .ptabs,.panel-closed .pbody{display:none}.panel-closed .ptabs-bar{justify-content:center}.status{border-top:1px solid var(--border);background:var(--sidebar);font-family:var(--font-ui);font-size:var(--fs-meta);color:var(--text2);grid-column:1/4;align-items:stretch;display:flex}.status .it{border-right:1px solid var(--border);align-items:center;gap:6px;padding:0 12px;display:flex}.status .pass{color:var(--pass)}.status .fail{color:var(--fail)}.status .it:last-child{border-right:none;border-left:1px solid var(--border)}.cluster text{font-family:var(--mono)}.node .shape{fill:color-mix(in srgb, var(--tone,var(--node-fill)) 16%, var(--node-fill));stroke:var(--tone,var(--node-stroke));stroke-width:1.5px;transition:fill .15s ease-out,stroke .15s ease-out}.pulse .halo{fill:none;stroke:var(--tone,var(--node-stroke));stroke-width:2px;transform-box:fill-box;transform-origin:50%;pointer-events:none;animation:1.4s ease-out infinite node-halo}@keyframes node-halo{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){.node .shape,.link line,.chip-gauge-fill{transition:none}.link .link-flow{animation:none}.pulse .halo{opacity:.35;animation:none}}.status-down .shape{fill:var(--node-down-fill);stroke:var(--node-down-stroke);stroke-dasharray:3 3}.node text{fill:var(--node-text);pointer-events:none;font-size:12px}.status-down text{fill:var(--node-down-text)}.node-id{font-weight:600;font-size:15px!important}.support .shape{fill:color-mix(in srgb, var(--tone,var(--node-down-fill)) 22%, var(--node-down-fill));stroke:var(--tone,var(--node-down-stroke));stroke-width:1px}.support-id{fill:var(--node-sub)!important;font-size:10px!important}.grid-cell{fill:#0000;stroke:var(--node-down-stroke);stroke-width:1px}.grid-label{fill:var(--node-sub)!important;font-size:10px!important}.group-zone .group-box{fill:var(--frame-fill);stroke:var(--frame-stroke);stroke-dasharray:none;opacity:1}.support-label,.node-label{fill:var(--node-sub)!important;font-size:10px!important}.message line{stroke:var(--node-sub);stroke-width:1px;stroke-dasharray:2 3}.message circle{fill:var(--data)}.msg-label{fill:var(--node-sub);pointer-events:none;font-size:10px}.drop line{stroke:var(--fail);stroke-width:2.5px;stroke-linecap:round}.drop text{fill:var(--fail);font-size:10px}.message .hit{fill:#0000;stroke:none}.partition{fill:none;stroke:var(--fail);stroke-width:2px;stroke-dasharray:8 4}.link line{stroke:var(--link);stroke-linecap:round;transition:stroke .15s ease-out}.link-topology line{stroke:var(--link)}.link-low line{stroke:color-mix(in srgb, var(--data) 45%, var(--link))}.link-mid line{stroke:color-mix(in srgb, var(--warn) 75%, var(--link))}.link-high line{stroke:color-mix(in srgb, var(--fail) 80%, var(--link))}.link .link-flow{stroke:var(--node-text);stroke-width:1.25px;stroke-dasharray:1 13;opacity:.55;pointer-events:none;animation:.9s linear infinite link-flow}@keyframes link-flow{to{stroke-dashoffset:-14px}}.link-label,.queue-label,.group-label{fill:var(--node-sub);font-size:11px}.queue-bar{fill:none;stroke:var(--node-sub);stroke-width:1px;opacity:.6}.queue-fill{fill:var(--data)}.queue-full .queue-fill{fill:var(--fail)}.group-box{fill:none;stroke:var(--node-sub);stroke-width:1.5px;stroke-dasharray:3 3;opacity:.5}.shape-card .card{fill:color-mix(in srgb, var(--tone,var(--card-fill)) 10%, var(--card-fill));stroke:var(--tone,var(--card-stroke));stroke-width:1px}.shape-card text,.shape-chip text{fill:var(--node-text)}.cluster .card-tag{letter-spacing:1px;opacity:.55;font-size:9.5px}.cluster .card-title{font-size:14px;font-weight:600}.cluster .card-caption{fill:var(--node-sub);font-size:10.5px}.cluster .card-hero{font-size:15px}.cluster .card-details{font-size:10px}.cluster .num{fill:var(--node-text);font-weight:600}.cluster .unit{fill:var(--node-sub)}.card-glyph{fill:none;stroke:var(--node-sub);stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round}.chip-gauge{fill:var(--track)}.chip-gauge-fill{fill:var(--mark,var(--edge,var(--data)));transition:width .15s ease-out}.slot{fill:var(--track)}.slot.filled{fill:var(--edge,var(--data))}.link-badge circle{fill:var(--node-fill);stroke:var(--node-sub);stroke-width:1.25px}.link-badge text{fill:var(--node-text);text-anchor:middle;font-size:10px}.spark{fill:none;stroke:var(--edge,var(--data));stroke-width:1.25px;stroke-linejoin:round;stroke-linecap:round;opacity:.9}.cell{fill:var(--node-sub)}.cells-more{fill:var(--node-sub);font-size:9px}.card-edge{fill:var(--edge,transparent)}.card-dot,.part-dot{fill:var(--mark,var(--tone,var(--up)))}.part.status-down .part-dot,.status-down .card-dot{fill:var(--down)}.part-bar{fill:var(--track)}.part-fill{fill:var(--tone,var(--data))}.shape-chip .chip{fill:color-mix(in srgb, var(--tone,var(--card-fill)) 22%, var(--card-fill));stroke:var(--tone,var(--card-stroke));stroke-width:1px}.cluster .chip-id{font-size:12px;font-weight:600}.cluster .chip-caption{font-size:10px;fill:var(--node-sub)!important}.frame{fill:var(--frame-fill);stroke:var(--frame-stroke);stroke-width:1px}.frame-label{letter-spacing:.6px;fill:var(--node-sub);font-size:10px}.event-log-box{flex-direction:column;height:100%;min-height:0;display:flex}.log-filters{font-size:var(--fs-meta);flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:0 12px;display:flex}.log-filters .log-type{width:14ch}.log-count{opacity:.7}.event-log-scroll{flex:1;min-height:0;overflow:auto}.event-log{font-size:12px;font-family:var(--mono);margin:0;padding:4px 0;list-style:none;position:relative}.event-log li{white-space:nowrap;text-overflow:ellipsis;padding:0 12px;line-height:20px;position:absolute;left:0;right:0;overflow:hidden}.event-log li:before{content:attr(value) ". ";text-align:right;opacity:.55;font-variant-numeric:tabular-nums;min-width:3.5em;margin-right:.4em;display:inline-block}.event-log li.empty{position:static}.event-log li[aria-current=true]{background:color-mix(in srgb, var(--accent) 9%, transparent);box-shadow:inset 2px 0 0 var(--accent)}.event-log code{opacity:.7}.charts{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:10px;padding:10px 12px;display:grid}.chart{background:var(--editor);border:1px solid var(--border);border-radius:var(--radius-ui);min-width:0;margin:0}.chart-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:8px;padding:7px 10px;display:flex}.chart-head .label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chart-value{font-family:var(--font-ui);font-size:var(--fs-meta);color:var(--text);white-space:nowrap}.chart-box{height:180px;position:relative}.chart-canvas{position:absolute;inset:0}.chart-plot{cursor:crosshair;touch-action:none;position:absolute}.chart-playhead,.chart-hover{pointer-events:none;width:1.5px;position:absolute;top:0;bottom:0}.chart-hover{opacity:.35;background:currentColor;width:1px}.chart-readout{font-family:var(--mono);opacity:.8;box-sizing:content-box;white-space:nowrap;text-overflow:ellipsis;height:1.5em;padding:0 10px 4px;font-size:.8rem;line-height:1.5em;overflow:hidden}.panels{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;padding:.75rem;display:grid}.panels>.panel{border:1px solid var(--border);border-radius:var(--radius-ui);padding:.5rem .75rem}.panel h2{font-size:var(--fs-section);font-family:var(--font-ui);font-weight:var(--fw-title);margin:0 0 .5rem}.panel table{border-collapse:collapse;width:100%;font-size:var(--fs-meta)}.panel th,.panel td{text-align:left;border-bottom:1px solid var(--border);padding:2px 6px}.panel ul{font-size:var(--fs-meta);margin:0;padding-left:1.25rem}.panel .empty{opacity:.6;font-size:var(--fs-meta);margin:0}.guide{max-width:100%;font-size:13px;line-height:var(--lh-prose);font-family:var(--font-prose)}.guide>p,.guide>section>p,.guide>ul,.guide>section>.guide-list,.guide-callout,.guide-refs{max-width:72ch}.guide p{margin:0 0 .6rem}.guide h4{border-top:1px solid var(--border);font-size:var(--fs-section);color:var(--text);font-family:var(--font-ui);font-weight:var(--fw-title);margin:1.25rem 0 .4rem;padding-top:.6rem;scroll-margin-top:8px}.guide-anchor{white-space:nowrap;width:0;height:0;display:block;overflow:hidden}.guide-contents{flex-wrap:wrap;gap:4px;margin:0 0 .75rem;display:flex}.guide-contents .btn{font-family:var(--font-ui);font-size:var(--fs-control);padding:3px var(--space-2)}.guide-list{margin:0 0 .6rem;padding-left:1.25rem}.guide-list li{margin:.15rem 0}.guide-callout{border-left:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent);color:var(--text);margin:.6rem 0;padding:6px 10px;display:block}.guide-callout[data-kind=note]{border-left-color:var(--text3);background:color-mix(in srgb, currentColor 5%, transparent)}.guide-callout[data-kind=assumption]{border-left-color:var(--warn);background:color-mix(in srgb, var(--warn) 7%, transparent)}.guide-callout-label{font-family:var(--font-ui);font-size:var(--fs-label-dense);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text3);font-weight:var(--fw-label);display:block}.guide-figure{max-width:760px;margin:.75rem 0}.guide-figure-art{color:var(--text2)}.guide-figure-art svg{width:100%;height:auto;display:block}.guide-figure figcaption{font-size:var(--fs-meta);color:var(--text3);margin-top:4px}.guide-figure-missing{border:1px dashed var(--border);color:var(--text3);padding:8px 10px}.guide-table-scroll{max-width:100%;margin:.5rem 0;overflow-x:auto}.guide table{border-collapse:collapse;width:100%;font-size:var(--fs-meta)}.seed-panel{overflow-wrap:anywhere}.seed-panel table{table-layout:fixed}.seed-notes{color:var(--text3);font-size:var(--fs-meta)}.guide th,.guide td{border:1px solid color-mix(in srgb, currentColor 20%, transparent);vertical-align:top;padding:.4rem .6rem}.guide th{background:color-mix(in srgb, currentColor 6%, transparent)}.guide caption{text-align:left;padding-bottom:.4rem}.guide-rule-bar{gap:4px;margin:0 0 .4rem;display:flex}.guide-rule-bar .btn{font-size:var(--fs-control);padding:3px var(--space-2);font-family:var(--font-ui)}.guide-rule{border:1px solid var(--border);border-radius:var(--radius-ui);background:var(--editor);max-width:96ch;margin:0 0 .4rem}.guide-rule-title{font-weight:600;font-size:var(--fs-section);color:var(--text);cursor:pointer;font-family:var(--font-ui);padding:5px 10px}.guide-rule[open]>.guide-rule-title{border-bottom:1px solid var(--border)}.guide pre{font-family:var(--font-ui);font-size:var(--fs-meta);color:var(--text2);counter-reset:line;margin:0;padding:6px 10px 8px 0;line-height:1.55;overflow-x:auto}.code-line{counter-increment:line}.code-line:before{content:counter(line);text-align:right;width:2.2em;color:var(--text3);opacity:.7;-webkit-user-select:none;user-select:none;margin-right:.9em;display:inline-block}.code-kw{color:var(--c-keyword);font-weight:600}.code-comment{color:var(--text3);font-style:italic}.guide-refs li{margin-bottom:.4rem}.panel-max .pbody>section{padding-left:max(12px,50% - 550px);padding-right:max(12px,50% - 550px)}.glossary-bar{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0 0 .5rem;display:flex}.glossary-filter{box-sizing:border-box;font:var(--fs-control)/var(--lh-control) var(--font-ui);color:inherit;border:1px solid var(--border);border-radius:var(--radius-ui);background:0 0;flex:12rem;padding:.25rem .5rem}.glossary-scope button,.glossary-chips button{font:var(--fs-control)/var(--lh-control) var(--font-ui);color:inherit;border:1px solid var(--border);padding:var(--space-1) var(--space-2);cursor:pointer;background:0 0}.glossary-scope button,.glossary-scope button:first-child{border-radius:var(--radius-ui)}.glossary-scope button:last-child{border-radius:var(--radius-ui);border-left:0}.glossary-chips{flex-wrap:wrap;gap:.25rem;margin:0 0 .25rem;display:flex}.glossary-chips button{border-radius:var(--radius-ui)}.glossary-scope button[aria-pressed=true],.glossary-chips button[aria-selected=true]{background:color-mix(in srgb, currentColor 14%, transparent);font-weight:600}.glossary h4{font-size:var(--fs-label-dense);letter-spacing:var(--tracking-label);text-transform:uppercase;opacity:.65;font-family:var(--font-ui);font-weight:var(--fw-label);margin:.75rem 0 .25rem}.glossary-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(8rem,15rem) 1fr;gap:.25rem 1rem;padding:3px 0;display:grid}.glossary-term{font-family:var(--font-ui);overflow-wrap:anywhere;font-weight:600}.glossary-def{font-size:var(--fs-meta);opacity:.85;font-family:var(--font-prose);line-height:var(--lh-prose)}.glossary-unit{font-size:var(--fs-meta);opacity:.6;font-family:var(--font-ui);margin-left:.5rem}.glossary-ref{opacity:.65;cursor:help;margin-left:.25rem}.glossary details{margin:.15rem 0}.glossary summary{cursor:pointer;font-size:var(--fs-meta);font-family:var(--font-ui)}.glossary-count{opacity:.6;margin-left:.25rem}.design-main{min-width:0}.design-toggle{gap:2px;display:flex}.design-toggle .btn{padding:3px var(--space-2)}.design-toggle [aria-pressed=true]{color:var(--text);border-bottom-color:var(--accent)}.design-workspace{flex:1;grid-template-columns:minmax(0,1fr) 300px;min-height:0;display:grid}.design-stage{background-image:radial-gradient(var(--border) 1px, transparent 1px);background-size:20px 20px;min-height:300px;position:relative;overflow:hidden}.design-svg{cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.design-svg .node{cursor:move}.design-svg .no-run{--mark:var(--down)}.design-svg .has-error{--mark:var(--fail)}.design-palette{z-index:2;scrollbar-width:thin;flex-wrap:nowrap;align-items:center;gap:6px;display:flex;position:absolute;top:12px;left:14px;right:14px;overflow-x:auto}.design-palette>span{text-transform:uppercase;color:var(--text2);font-size:var(--fs-label-dense);font-family:var(--font-ui);font-weight:var(--fw-label);letter-spacing:var(--tracking-label)}.palette-block{cursor:grab;align-items:center;gap:6px;display:flex}.palette-block span{font:var(--fs-meta)/var(--lh-control) var(--font-ui);color:var(--text3)}.design-problems{z-index:3;color:var(--fail);background:var(--app);white-space:pre-wrap;position:absolute;top:60px;left:14px}.design-svg .selection-ring{fill:none;stroke:#0000;pointer-events:none}.design-svg .selected .selection-ring,.design-svg [data-block]:focus .selection-ring{stroke:var(--accent);stroke-width:1.5px}.design-svg .lit .selection-ring{stroke:var(--accent);stroke-dasharray:3 3}.design-svg .dim{opacity:.35}.design-svg .port{fill:var(--node-fill);stroke:var(--node-sub);stroke-width:1.25px}.design-svg .port.add{fill:var(--accent);stroke:var(--accent)}.design-svg .output-port{cursor:crosshair}.design-svg .output-port:focus .port{stroke:var(--text);stroke-width:3px}.design-svg .port-label{fill:var(--node-sub);font-size:9.5px}.design-svg .wire-hit{stroke:#0000;stroke-width:14px;cursor:pointer}.design-svg .wire-bad .link line,.design-svg .wire-dangling .link line{stroke:var(--fail);stroke-dasharray:5 4}.design-svg .wire-bad .link-label{fill:var(--fail)}.design-svg .wire-selected .link line,.design-svg [data-wire]:focus .link line{stroke:var(--accent)}.design-svg .wire-ghost line{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:3 3;pointer-events:none}.design-inspector{border-left:1px solid var(--border);background:var(--sidebar);padding:14px 16px;overflow:auto}.inspector-head{font-family:var(--font-ui);align-items:center;gap:8px;display:flex}.inspector-head strong{font-size:var(--fs-section);font-family:var(--font-ui);font-weight:var(--fw-title)}.inspector-head span{color:var(--text3);font-size:var(--fs-meta);font-family:var(--font-ui)}.inspector-path{font:var(--fs-meta)/var(--lh-control) var(--font-ui);color:var(--text3)}.inspector-field{grid-template-columns:92px minmax(0,1fr);gap:6px;margin-top:14px;display:grid}.inspector-field>label{font:var(--fs-control)/var(--lh-control) var(--font-ui);color:var(--c-key)}.design-inspector input,.design-inspector select{width:100%;min-width:0;color:var(--c-num);background:var(--editor);border:1px solid var(--border);border-radius:var(--radius-ui);font:var(--fs-control)/var(--lh-control) var(--font-ui);padding:4px 8px}.inspector-nested{gap:6px;display:grid}.inspector-nested label{font:var(--fs-control)/var(--lh-control) var(--font-ui);gap:3px;display:grid}.inspector-help,.inspector-error{font-size:var(--fs-meta);color:var(--text3);line-height:1.5;font-family:var(--font-ui);grid-column:1/-1;margin:0}.inspector-error{color:var(--fail)}.inspector-unset:hover{text-decoration:underline}.inspector-unset{color:var(--text3);font-size:var(--fs-control);cursor:pointer;font-family:var(--font-ui);background:0 0;border:0;grid-column:2;justify-self:end}.comparison{padding:10px 12px;overflow-x:auto}.compare-changes{flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:12px;display:flex}.comparison caption{text-align:left;color:var(--text2);padding-bottom:8px}.comparison td:nth-child(5),.comparison td:nth-child(6),.comparison td:nth-child(7){font-family:var(--font-ui);text-align:right;font-variant-numeric:tabular-nums}.compare-better{color:var(--pass)}.compare-worse{color:var(--fail)}.compare-neutral{color:var(--text2)}.status .btn{font-size:var(--fs-control);margin:3px}.compare-refusal{color:var(--fail);padding:6px 12px}.tour{border-top:1px solid var(--border);border-left:2px solid var(--accent);background:var(--sidebar);min-width:0}.tour-head{align-items:center;gap:8px;padding:6px 8px 0 12px;display:flex}.tour-name{font-size:var(--fs-control);color:var(--text2);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:var(--font-ui);overflow:hidden}.tour-progress{font-family:var(--font-ui);font-size:var(--fs-meta);color:var(--text3);white-space:nowrap}.tour-body{max-height:30vh;padding:2px 12px 10px;overflow-y:auto}.tour-body h3{font-size:var(--fs-section);font-weight:var(--fw-title);color:var(--text);font-family:var(--font-ui);margin:2px 0 4px}.tour-body p{max-width:78ch;font-size:13px;line-height:var(--lh-prose);color:var(--text2);font-family:var(--font-prose);margin:0 0 6px}.tour-busy{font-family:var(--font-ui);font-size:var(--fs-meta);color:var(--text3)}.tour-predict{margin-top:6px}.tour-question{font-size:var(--fs-body);color:var(--text);font-weight:600;font-family:var(--font-ui);margin-bottom:6px}.tour-options{flex-wrap:wrap;gap:6px;display:flex}.tour-option{font-family:var(--font-ui);font-size:var(--fs-control);text-align:left}.tour-option:disabled{cursor:default;opacity:.65}.tour-option[data-mark]{opacity:1;color:var(--text)}.tour-option[data-mark=right]{border-color:var(--pass);background:color-mix(in srgb, var(--pass) 14%, transparent)}.tour-option[data-mark=wrong]{border-color:var(--fail);background:color-mix(in srgb, var(--fail) 12%, transparent)}.tour-answer{max-width:78ch;font-size:13px;line-height:var(--lh-prose);color:var(--text2);font-family:var(--font-prose);margin-top:8px}.tour-verdict{color:var(--text);font-weight:600}.topbar-notice{color:var(--fail);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.guide-tours ul{margin:0 0 .75rem;padding:0;list-style:none}.guide-tours li{margin:.25rem 0}.guide-tour-summary{color:var(--text2)}.sweep{font-size:var(--fs-control);font-family:var(--font-ui);padding:8px 12px 12px}.sweep-form{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 0;display:flex}.sweep-bar label{font-family:var(--font-ui);font-size:var(--fs-label-dense);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text3);flex-direction:column;gap:2px;display:flex}.sweep-form input,.sweep-form select,.sweep-bar select{font-family:var(--font-ui);font-size:var(--fs-meta);text-transform:none;letter-spacing:0;color:var(--text);background:var(--editor);border:1px solid var(--border);border-radius:var(--radius-ui);padding:3px 6px}.sweep-form input:focus-visible,.sweep-form select:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:var(--focus-offset)}.sweep-form input[type=number]{width:5em}.sweep-status,.sweep-stale{font-family:var(--font-ui);font-size:var(--fs-meta);color:var(--text3)}.sweep-bar{color:var(--text2);flex-wrap:wrap;align-items:flex-end;gap:8px 16px;margin:10px 0 4px;display:flex}.sweep-chart{width:100%;max-width:900px;height:240px}.sweep-points{border-collapse:collapse;font-family:var(--font-ui);font-size:var(--fs-meta);margin-top:6px}.sweep-points th,.sweep-points td{text-align:right;color:var(--text2);padding:3px 12px 3px 0}.sweep-points th{color:var(--text3);border-bottom:1px solid var(--border);font-weight:500}.sweep-points .btn,.sweep-failed .btn{padding:3px var(--space-2);font-size:var(--fs-control);font-family:var(--font-ui)}.sweep-failed{color:var(--text2);margin:10px 0 0;padding:0;list-style:none}.sweep-failed li{margin:3px 0}.sweep-failed b{color:var(--fail);font-weight:600}.sweep-preface{max-width:78ch;font-size:var(--fs-meta);color:var(--text2);margin:0 0 10px;line-height:1.5}.sweep-about{max-width:78ch;font-size:var(--fs-meta);color:var(--text3);margin:8px 0 0;line-height:1.5}.practice{--pass-text:var(--pass);--warn-text:var(--warn);--accent-text:var(--accent);background:var(--app);min-height:0;font-family:var(--font-ui);font-size:var(--fs-body);line-height:var(--lh-body);overflow:auto}:root[data-theme=light] .practice{--pass-text:color-mix(in srgb, var(--pass) 45%, #000);--warn-text:color-mix(in srgb, var(--warn) 50%, #000);--accent-text:color-mix(in srgb, var(--accent) 62%, #000)}.pr-page{max-width:1080px;margin:0 auto;padding:56px 32px 96px}.pr-hero{align-items:end;gap:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--border);grid-template-columns:1fr auto;display:grid}.pr-hero h1{font-size:var(--fs-hero);letter-spacing:var(--tracking-hero);line-height:1.25;font-weight:var(--fw-title);margin:14px 0 12px}.pr-hero p{max-width:56ch;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text2);margin:0}.pr-progress{text-align:right}.pr-big{font:600 28px/1 var(--mono);letter-spacing:-.02em}.pr-big small{color:var(--text3);font-size:14px;font-weight:400}.pr-segments{justify-content:flex-end;gap:4px;margin:12px 0 8px;display:flex}.pr-segments i{border-radius:var(--radius-ui);background:var(--track);width:34px;height:4px}.pr-segments i.pass{background:var(--pass)}.pr-segments i.part{background:var(--track);position:relative}.pr-segments i.part:before{content:"";background:var(--warn);width:60%;height:100%;display:block}.pr-note{font-size:var(--fs-meta);color:var(--text3)}.pr-empty{margin-top:var(--space-6);color:var(--text3)}.pr-theme{margin-top:var(--space-6)}.pr-theme-head{flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:16px;display:flex}.pr-theme-head h2{font-size:var(--fs-section);font-weight:var(--fw-title);letter-spacing:0;margin:0}.pr-theme-head p{color:var(--text3);margin:0}.pr-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.pr-card{color:inherit;background:var(--app);border:1px solid var(--border);border-radius:var(--radius-ui);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.pr-card:hover,.pr-card:focus-visible{border-color:var(--text3)}.pr-card:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:var(--focus-offset)}.pr-preview{background:var(--app);border-bottom:1px solid var(--border);width:100%;height:112px;display:block}.pr-box{fill:var(--app);stroke:var(--border);stroke-width:1px}.pr-wire{stroke:var(--link);stroke-width:1.4px}.pr-missing{fill:var(--app);stroke:var(--text3);stroke-dasharray:4 4;stroke-width:1px}.pr-name{font:500 9px var(--mono);fill:var(--text2);text-anchor:middle}.pr-q{font:600 13px var(--mono);fill:var(--text2);text-anchor:middle}.pr-card-body{padding:var(--space-5);gap:var(--space-3);flex-direction:column;flex:1;display:flex}.pr-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.pr-kind{font:var(--fw-label) var(--fs-label)/var(--lh-control) var(--font-ui);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text3)}.pr-state{font:var(--fw-label) var(--fs-meta)/var(--lh-control) var(--font-ui);padding:var(--space-1) var(--space-2);border-radius:var(--radius-ui);color:var(--text3);background:var(--raised);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.pr-state svg{width:11px;height:11px}.pr-state.pass{color:var(--pass-text);background:color-mix(in srgb, var(--pass) 13%, transparent)}.pr-state.part{color:var(--warn-text);background:color-mix(in srgb, var(--warn) 14%, transparent)}.pr-card h3{font-size:var(--fs-section);font-weight:var(--fw-title);letter-spacing:0;margin:0}.pr-question{color:var(--text2);line-height:var(--lh-body);margin:0}.pr-chips{flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none;display:flex}.pr-chips li{font:var(--fw-label) var(--fs-meta)/var(--lh-control) var(--font-ui);color:var(--text2);border:1px solid var(--border);border-radius:var(--radius-ui);padding:var(--space-1) var(--space-2)}.pr-card-foot{justify-content:flex-end;margin-top:auto;padding-top:12px;display:flex}.pr-go{font:var(--fw-title) var(--fs-control)/var(--lh-control) var(--font-ui);color:var(--text2);gap:6px;display:inline-flex}.pr-card:hover .pr-go{text-underline-offset:var(--space-1);text-decoration:underline}.topnav{align-self:stretch;gap:4px;display:flex}.topnav a{color:var(--text2);border-bottom:1px solid #0000;align-items:center;margin-bottom:-1px;padding:0 12px;text-decoration:none;display:flex}.topnav a:hover{color:var(--text)}.topnav a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}@media (width<=720px){.pr-hero{grid-template-columns:1fr}.pr-progress{text-align:left}.pr-segments{justify-content:flex-start}}.practice-app{grid-template-rows:auto 1fr;height:100vh;display:grid}.practice-app .topbar{grid-column:auto}.ex-brief{--accent-text:var(--accent);background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;min-width:0;min-height:0;display:flex}:root[data-theme=light] .ex-brief,:root[data-theme=light] .ex-checks{--accent-text:color-mix(in srgb, var(--accent) 62%, #000);--pass-text:color-mix(in srgb, var(--pass) 45%, #000);--fail-text:color-mix(in srgb, var(--fail) 70%, #000);--warn-text:color-mix(in srgb, var(--warn) 50%, #000)}.ex-brief-body{line-height:var(--lh-prose);font-family:var(--font-prose);font-size:var(--fs-body);flex:1;padding:20px 20px 8px;overflow:auto}.ex-back{font-size:var(--fs-meta);color:var(--text3);font-family:var(--font-ui);gap:6px;margin-bottom:16px;text-decoration:none;display:inline-flex}.ex-back:hover{color:var(--text)}.ex-brief h1{font-size:var(--fs-title);font-weight:var(--fw-title);letter-spacing:0;line-height:1.2;font-family:var(--font-ui);margin:10px 0 8px}.ex-brief h2{margin:20px 0 10px}.ex-brief p{color:var(--text2);margin:0 0 12px}.ex-brief .ex-question{font-size:var(--fs-body);color:var(--text);font-family:var(--font-ui);line-height:var(--lh-body)}.ex-reqs{color:var(--text);gap:8px;margin:0;padding:0 0 0 18px;display:grid}.ex-note{border-top:1px solid var(--border);border-left:2px solid var(--warn);background:color-mix(in srgb, var(--warn) 8%, transparent);color:var(--text);font-size:var(--fs-meta);overflow-wrap:anywhere;margin:0;padding:10px 20px;line-height:1.45}.ex-brief-foot{border-top:1px solid var(--border);gap:8px;padding:14px 20px 16px;display:flex}.ex-brief-foot .primary{padding:var(--space-2) 13px;font-size:var(--fs-control);flex:1;justify-content:center}.ex-brief-foot .btn:disabled{opacity:.6;cursor:default}.ex-checks{--pass-text:var(--pass);--fail-text:var(--fail);--warn-text:var(--warn);padding:4px 18px 14px;overflow:auto}.ex-runline{min-height:40px;color:var(--text3);font-size:var(--fs-meta);align-items:center;gap:10px;display:flex}.ex-verdict{font:var(--fw-title) var(--fs-meta)/var(--lh-control) var(--font-ui);padding:var(--space-1) var(--space-2);border-radius:var(--radius-ui);color:var(--warn-text);background:color-mix(in srgb, var(--warn) 14%, transparent);white-space:nowrap;margin-left:auto}.ex-verdict.pass{color:var(--pass-text);background:color-mix(in srgb, var(--pass) 13%, transparent)}.ex-alert{border:1px solid var(--border);border-left:2px solid var(--fail);border-radius:var(--radius-ui);background:color-mix(in srgb, var(--fail) 6%, transparent);color:var(--text);font-size:var(--fs-meta);overflow-wrap:anywhere;margin:0 0 8px;padding:10px 12px}.ex-list{margin:0;padding:0;list-style:none}.ex-check{border-top:1px solid var(--border);grid-template-columns:22px minmax(160px,1.1fr) minmax(220px,1.4fr);align-items:center;gap:14px;padding:11px 0;display:grid}.ex-ico{border:1.5px solid var(--border);border-radius:50%;width:18px;height:18px;position:relative}.ex-check.pass .ex-ico,.ex-check.fail .ex-ico{border:0}.ex-check.pass .ex-ico{background:color-mix(in srgb, var(--pass) 18%, transparent)}.ex-check.fail .ex-ico{background:color-mix(in srgb, var(--fail) 18%, transparent)}.ex-check.pass .ex-ico:after,.ex-check.fail .ex-ico:after{font:700 11px/1 var(--mono);place-items:center;display:grid;position:absolute;inset:0}.ex-check.pass .ex-ico:after{content:"✓";color:var(--pass-text)}.ex-check.fail .ex-ico:after{content:"✕";color:var(--fail-text)}.ex-word{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ex-title{font-weight:500}.ex-meter{gap:6px;display:grid}.ex-nums{font:var(--fw-label) var(--fs-meta)/var(--lh-control) var(--font-ui);color:var(--text2);justify-content:space-between;gap:12px;display:flex}.ex-check.pass .ex-nums b{color:var(--pass-text)}.ex-check.fail .ex-nums b{color:var(--fail-text)}.ex-bar{border-radius:var(--radius-ui);background:var(--track);height:4px;position:relative}.ex-bar i{border-radius:var(--radius-ui);background:var(--pass);position:absolute;inset:0 auto 0 0}.ex-check.fail .ex-bar i{background:var(--fail)}.ex-bar u{border-radius:var(--radius-ui);background:var(--text2);width:2px;position:absolute;top:-4px;bottom:-4px}.node.locked .shape{stroke-dasharray:5 4}.ex-brief-more{padding:0 20px 16px}.ex-brief-more .btn{justify-content:center;width:100%}.ex-brief-more .btn:disabled{opacity:.55;cursor:default}.ex-check{grid-template-columns:22px minmax(160px,1.1fr) minmax(220px,1.4fr) auto}.ex-jump{font:var(--fw-label) var(--fs-control)/var(--lh-control) var(--font-ui);color:var(--accent-text,var(--accent));cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:4px 0}.ex-jump:hover{text-decoration:underline}.ex-viewing{border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--radius-ui);background:color-mix(in srgb, var(--accent) 7%, transparent);color:var(--text);font-size:var(--fs-meta);font-family:var(--font-ui);padding:10px 12px}.ex-brief-more{gap:8px;display:grid}.ex-comparing{border:1px solid var(--border);border-radius:var(--radius-ui);background:var(--raised);gap:8px;padding:10px 12px;display:grid}.ex-comparing p{font-size:var(--fs-meta);color:var(--text);margin:0}.ex-hint{font-size:var(--fs-meta);color:var(--text3);font-family:var(--font-ui);margin:0}.ex-subject{color:var(--text);font-weight:600}.ex-brief-foot .primary:only-child{flex:1}.design-palette[hidden]{display:none}.ex-given code{font-family:var(--font-ui);font-size:var(--fs-meta);color:var(--text)}.design-svg .port-hit{fill:#0000;pointer-events:all}.design-svg .wire-dangling .link-label{fill:var(--fail)}.palette-group{flex:none;align-items:center;gap:6px;display:flex}.palette-group .palette-block{white-space:nowrap;flex:none}.palette-group-title{text-transform:uppercase;color:var(--text3);font-size:var(--fs-label-dense);font-family:var(--font-ui);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);border-left:1px solid var(--line);padding-left:6px}.inline-link{color:var(--accent-text,var(--accent));font:inherit;text-underline-offset:var(--space-1);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.sweep-head{align-items:baseline;gap:16px;margin-bottom:10px;display:flex}.sweep-head h3{font:var(--fw-title) var(--fs-label) / var(--lh-control) var(--font-ui);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text);margin:0}.sweep-head h3 span{color:var(--text3);text-transform:none;letter-spacing:0;font-weight:400}.sweep-intro{max-width:78ch;font-size:var(--fs-meta);color:var(--text3);margin-left:auto}.sweep-intro summary{cursor:pointer;text-align:right}.sweep-intro[open]{margin-left:0}.sweep-intro[open] summary{text-align:left}.sweep-intro .sweep-preface{margin:6px 0 0}.sweep-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sweep-word{min-width:2.6em;font-size:var(--fs-meta);color:var(--text2)}.sweep-line .sweep-word+.sweep-seed,.sweep-line input+.sweep-word{min-width:0}.sweep-now,.sweep-count{font-size:var(--fs-meta);color:var(--text3)}.sweep-values{width:22em;max-width:100%}.sweep-seed{width:5em}.sweep-chips{gap:4px;display:inline-flex}.sweep-chip{font:var(--fs-meta) / var(--lh-control) var(--font-ui);color:var(--text3);border:1px solid var(--border);border-radius:var(--radius-ui);cursor:pointer;background:0 0;padding:1px 6px}.sweep-chip[aria-pressed=true]{color:var(--text);border-color:var(--accent)}.sweep-count{margin-left:12px}.sweep-field-doc{font-size:var(--fs-meta);color:var(--text3);margin:0 0 0 calc(2.6em + 8px)}.sweep-preview{max-width:520px;margin:14px 0 0}.sweep-preview svg{width:100%;height:auto;display:block}.sweep-preview-axis{fill:none;stroke:var(--border)}.sweep-preview-band{fill:var(--accent);opacity:.12}.sweep-preview-median{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:4 3}.sweep-preview figcaption{font-size:var(--fs-meta);color:var(--text3);flex-wrap:wrap;gap:4px 16px;margin-top:6px;display:flex}.sweep-preview figcaption i{vertical-align:middle;width:14px;height:8px;margin-right:4px;display:inline-block}.sweep-key-median{border-top:1.5px dashed var(--accent);height:0!important}.sweep-key-band{background:var(--accent);opacity:.25}.tooltip{z-index:100;pointer-events:none;box-sizing:border-box;max-width:min(320px, calc(100vw - 2 * var(--space-2)));padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-ui);background:var(--raised);color:var(--text);font:400 var(--fs-meta)/var(--lh-body) var(--font-ui);white-space:pre-line;overflow-wrap:anywhere;position:fixed}.chart-help{cursor:help}.chart-help:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:var(--focus-offset)}.chart-help-marker{margin-right:var(--space-2);padding:0 var(--space-1);border:1px solid var(--border);color:var(--text2);font:inherit;display:inline-block}.site-footer{border-top:1px solid var(--border);font-size:var(--fs-meta);color:var(--text3);justify-content:space-between;gap:16px;padding:24px 32px;display:flex}.site-footer a{color:var(--text2)}.site-footer-legal{flex-wrap:wrap;justify-content:flex-end;gap:16px;display:flex}[data-lab=dr] .status-healthy{--tone:var(--pass)}[data-lab=dr] .status-unhealthy{--tone:var(--fail)}[data-lab=dr] .status-unhealthy .shape{stroke-dasharray:3 2}[data-lab=dr] .status-router{--tone:var(--accent)}[data-lab=dr] .marker-failover{background:var(--accent)}[data-lab=dr] .marker-promote{background:var(--pass)}[data-lab=gpipe] .status-busy,[data-lab=gpusched] .status-busy{--tone:var(--data)}[data-lab=gpusched] .marker-job{background:var(--data)}[data-lab=inference] .status-busy{--tone:var(--data)}[data-lab=inference] .status-running{--tone:var(--pass)}[data-lab=inference] .status-waiting{--tone:var(--cat-1)}[data-lab=inference] .status-held{--tone:var(--cat-5)}[data-lab=inference] .status-preempted{--tone:var(--warn)}[data-lab=inference] .status-done{--tone:var(--node-sub)}[data-lab=inference] .owner-0{--owner:var(--data)}[data-lab=inference] .owner-1{--owner:var(--cat-1)}[data-lab=inference] .owner-2{--owner:var(--cat-2)}[data-lab=inference] .owner-3{--owner:var(--cat-3)}[data-lab=inference] .owner-4{--owner:var(--cat-4)}[data-lab=inference] .owner-5{--owner:var(--cat-5)}[data-lab=inference] .node[class*=owner-]{--mark:var(--owner)}[data-lab=inference] .grid-cell.kv[class*=owner-]{stroke:var(--owner);fill:var(--owner)}[data-lab=inference] .grid-cell.kv.fill-0{fill-opacity:.08}[data-lab=inference] .grid-cell.kv.fill-1{fill-opacity:.3}[data-lab=inference] .grid-cell.kv.fill-2{fill-opacity:.55}[data-lab=inference] .grid-cell.kv.fill-3{fill-opacity:.8}[data-lab=inference] .grid-cell.kv.fill-4{fill-opacity:1}[data-lab=inference] .grid-cell.kv.over{stroke:var(--fail);stroke-width:1.5px}[data-lab=inference] .marker-preemption{background:var(--warn)}[data-lab=paxos] .status-proposer{--tone:var(--data)}[data-lab=paxos] .status-proposer .shape,[data-lab=paxos] .status-learned .shape{stroke-width:2.5px}[data-lab=paxos] .status-learned{--tone:var(--pass)}[data-lab=paxos] .status-promised{--tone:var(--cat-5)}[data-lab=paxos] .status-promised .shape{stroke-dasharray:3 2}[data-lab=paxos] .status-accepted{--tone:var(--cat-1)}[data-lab=paxos] .marker-chosen{background:var(--data)}[data-lab=raft]{--raft-leader:var(--data);--raft-candidate:var(--warn);--raft-follower:var(--node-stroke)}[data-lab=raft] .status-leader{--tone:var(--raft-leader)}[data-lab=raft] .status-leader .shape{stroke-width:2px}[data-lab=raft] .status-pre-candidate,[data-lab=raft] .status-candidate{--tone:var(--raft-candidate)}[data-lab=raft] .status-pre-candidate .shape{stroke-dasharray:3 2}[data-lab=raft] .status-candidate .shape{stroke-width:2px}[data-lab=raft] .status-follower .shape{fill:var(--node-fill);stroke:var(--raft-follower)}[data-lab=raft] .marker-election{background:var(--data)}[data-lab=raft] .raft-logs{font-family:ui-monospace,monospace;font-size:12px}[data-lab=raft] .raft-log{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}[data-lab=raft] .raft-log-node{flex:none;width:9ch}[data-lab=raft] .raft-log-entries{flex-wrap:wrap;gap:2px;display:flex}[data-lab=raft] .raft-log .entry{color:var(--data-fg);border:1px solid #0000;border-radius:3px;padding:0 3px}[data-lab=raft] .raft-log .entry.term-1,[data-lab=raft] .raft-log .entry.term-3,[data-lab=raft] .raft-log .entry.term-4,[data-lab=raft] .raft-log .entry.term-5{color:var(--cat-fg)}[data-lab=raft] .raft-log .entry.uncommitted{color:inherit;border:1px dashed;background:0 0!important}[data-lab=raft] .entry.term-0{background:var(--track-fill)}[data-lab=raft] .entry.term-1{background:var(--cat-5)}[data-lab=raft] .entry.term-2{background:var(--data)}[data-lab=raft] .entry.term-3{background:var(--cat-1)}[data-lab=raft] .entry.term-4{background:var(--cat-3)}[data-lab=raft] .entry.term-5{background:var(--cat-4)}[data-lab=raft] .status-client .shape{stroke-dasharray:3 2}[data-lab=raft] .raft-client{margin:.5rem 0 0}[data-lab=raft] .raft-log .entry.noop{opacity:.75;font-style:italic}[data-lab=raft] .raft-log .entry.duplicate{text-decoration:line-through}[data-lab=raft] .cell.term-0{fill:var(--track-fill)}[data-lab=raft] .cell.term-1{fill:var(--cat-5)}[data-lab=raft] .cell.term-2{fill:var(--data)}[data-lab=raft] .cell.term-3{fill:var(--cat-1)}[data-lab=raft] .cell.term-4{fill:var(--cat-3)}[data-lab=raft] .cell.term-5{fill:var(--cat-4)}[data-lab=raft] .cell.uncommitted{opacity:.35}[data-lab=sysdesign] .status-ok .card-dot,[data-lab=sysdesign] .part.status-ok .part-dot{fill:var(--pass)}[data-lab=sysdesign] .status-warn .card-dot,[data-lab=sysdesign] .part.status-warn .part-dot{fill:var(--warn)}[data-lab=sysdesign] .status-bad .card-dot,[data-lab=sysdesign] .part.status-bad .part-dot{fill:var(--fail)}[data-lab=sysdesign] .shape-card.status-bad .card,[data-lab=sysdesign] .shape-chip.status-bad .chip,[data-lab=sysdesign] .group.status-bad .frame{stroke:var(--fail);stroke-width:1.5px}[data-lab=sysdesign] .part.status-bad .part-fill{fill:var(--fail)}[data-lab=sysdesign] .part.status-warn .part-fill{fill:var(--warn)}[data-lab=sysdesign] .sd-dashboard{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}[data-lab=sysdesign] .sd-dashboard th{text-align:right;opacity:.6;border-bottom:1px solid var(--border);padding:.25rem .6rem;font-weight:500}[data-lab=sysdesign] .sd-dashboard td{text-align:right;border-bottom:1px solid var(--border);padding:.3rem .6rem}[data-lab=sysdesign] .sd-dashboard th:first-child,[data-lab=sysdesign] .sd-dashboard td:first-child{text-align:left}[data-lab=sysdesign] .sd-dashboard .sd-type{font-family:var(--mono);opacity:.55;letter-spacing:.05em;font-size:.72rem}[data-lab=sysdesign] .sd-health{background:var(--pass);border-radius:50%;width:7px;height:7px;margin-right:.45rem;display:inline-block}[data-lab=sysdesign] .sd-health-warn{background:var(--warn)}[data-lab=sysdesign] .sd-health-bad{background:var(--fail)}[data-lab=sysdesign] .sd-health-down{background:var(--down)}[data-lab=sysdesign] .sd-hot{color:var(--fail);font-weight:600}[data-lab=sysdesign] .legend .status-ok .shape{fill:var(--pass)}[data-lab=sysdesign] .legend .status-warn .shape{fill:var(--warn)}[data-lab=sysdesign] .legend .status-bad .shape{fill:var(--fail)}[data-lab=sysdesign] .link-pull line{stroke-dasharray:6 4}[data-lab=sysdesign] .link-open line{stroke:var(--fail);stroke-dasharray:3 4}[data-lab=sysdesign] .link-half-open line{stroke:var(--warn);stroke-dasharray:3 4}[data-lab=sysdesign] .marker-breaker{background:var(--fail)}[data-lab=sysdesign] .status-ok{--edge:var(--pass)}[data-lab=sysdesign] .status-warn{--edge:var(--warn)}[data-lab=sysdesign] .status-bad{--edge:var(--fail)}[data-lab=sysdesign] .shape-card.status-bad .card{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--fail) 40%, transparent))}[data-lab=sysdesign] .link-open .link-badge circle,[data-lab=sysdesign] .link-open .link-badge text{stroke:var(--fail);fill:var(--node-fill)}[data-lab=sysdesign] .link-open .link-badge text{stroke:none;fill:var(--fail)}[data-lab=sysdesign] .link-half-open .link-badge circle{stroke:var(--warn)}[data-lab=sysdesign] .link-half-open .link-badge text{fill:var(--warn)}[data-lab=tcp] .status-slow-start{--tone:var(--cat-5)}[data-lab=tcp] .status-avoidance{--tone:var(--pass)}[data-lab=tcp] .status-recovery{--tone:var(--warn)}[data-lab=tcp] .status-recovery .shape{stroke-dasharray:3 2}[data-lab=tcp] .status-done{--tone:var(--node-sub)}[data-lab=tcp] .status-receiver{--tone:var(--cat-1)}[data-lab=tcp] .status-router .shape{stroke-dasharray:1 3}[data-lab=tcp] .marker-loss{background:var(--fail)}[data-lab=twopc] .status-coordinator{--tone:var(--data)}[data-lab=twopc] .status-coordinator .shape{stroke-width:2.5px}[data-lab=twopc] .status-working{--tone:var(--cat-5)}[data-lab=twopc] .status-in-doubt{--tone:var(--warn)}[data-lab=twopc] .status-in-doubt .shape{stroke-dasharray:3 2}[data-lab=twopc] .status-committed{--tone:var(--pass)}[data-lab=twopc] .status-aborted{--tone:var(--fail)}[data-lab=twopc] .marker-decision{background:var(--data)}[data-lab=twopc] .twopc-txs td{vertical-align:top;padding-right:1rem}[data-lab=twopc] .twopc-outcomes{margin:0;padding-left:1rem}[data-lab=twopc] .twopc-in-doubt{color:var(--warn)}[data-lab=twopc] .twopc-alone{color:var(--fail);font-weight:700}.spec-explorer{height:100%;min-height:0;font:var(--fs-control)/var(--lh-control) var(--font-ui);flex-direction:column;display:flex}.spec-toolbar{align-items:center;gap:var(--space-2);height:30px;padding:2px var(--space-3);border-bottom:1px solid var(--border);white-space:nowrap;flex-shrink:0;display:flex;overflow:auto}.spec-toolbar input{background:var(--editor);border:1px solid var(--border);width:260px;min-width:120px;height:24px;color:var(--text);font:inherit;padding:2px 6px}.spec-toolbar button{font:inherit;color:var(--text2);border:1px solid var(--border);cursor:pointer;background:0 0}.spec-toolbar button[aria-pressed=true]{color:var(--accent);background:var(--raised)}.spec-toolbar [role=status]{color:var(--text3);margin-left:auto}.spec-explorer-body{flex:1;grid-template-columns:minmax(0,40%) minmax(0,60%);min-height:0;display:grid}.spec-tree{min-width:0;min-height:0;overflow:auto}.spec-tree-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:var(--space-1);height:24px;display:flex}.spec-tree-row[aria-selected=true]{background:var(--raised);box-shadow:inset 2px 0 var(--accent)}.spec-disclosure{flex-shrink:0;width:22px}button.spec-disclosure{color:var(--text2);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.spec-group{background:var(--raised);color:var(--text2);font-weight:var(--fw-label)}.spec-field-name{flex-shrink:0}.spec-field-value{color:var(--text2);white-space:nowrap;text-overflow:ellipsis;padding-right:var(--space-1);margin-left:auto;overflow:hidden}.spec-field-state{color:var(--text3);white-space:nowrap;padding-right:var(--space-1)}.spec-field-state.spec-field-unknown,.spec-description.spec-field-unknown{color:var(--fail)}.spec-detail{border-left:1px solid var(--border);min-width:0;padding:10px var(--space-4);background:var(--editor);overflow:auto}.spec-detail h2{font:var(--fw-title) var(--fs-section)/var(--lh-control) var(--font-ui);margin:0}.spec-field-path{color:var(--text3);overflow-wrap:anywhere;margin-top:2px}.spec-description{font:var(--fs-body)/var(--lh-prose) var(--font-prose);margin:var(--space-2) 0 10px;max-width:760px}.spec-facts{color:var(--text2);margin:var(--space-2) 0;overflow-wrap:anywhere;flex-wrap:wrap;gap:6px 14px;display:flex}.spec-facts button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 6px}.spec-detail a{color:var(--accent);text-underline-offset:3px}.spec-entries{margin-top:var(--space-3)}.spec-entries h3{font:var(--fw-label) var(--fs-control)/var(--lh-control) var(--font-ui);margin:0 0 var(--space-1)}.spec-entries button{justify-content:space-between;gap:var(--space-3);border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;padding:3px 0;display:flex}.spec-entries button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spec-entries button span:last-child{color:var(--text2)}.spec-tree-row:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:calc(-1 * var(--focus-width))}.spec-explorer button:focus-visible,.spec-explorer a:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:var(--focus-offset)}.home-app{background:var(--app);min-height:100vh}.home-app .topbar{grid-column:auto;height:40px}.home{border-left:1px solid var(--border);border-right:1px solid var(--border);max-width:1080px;font:400 var(--fs-body)/var(--lh-body) var(--font-ui);color:var(--text);margin:0 auto}.home h1,.home h2,.home h3,.home h4,.home p,.home pre,.home ul{margin:0}.home ul{padding:0;list-style:none}.home p{color:var(--text2)}.home a{color:inherit;text-decoration:none}.home a:hover{text-underline-offset:4px;text-decoration:underline}.home :focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:4px}.home-label{font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text3)!important}.home-hero{border-bottom:1px solid var(--border);grid-template-columns:1fr 320px;display:grid}.home-hero-main{padding:52px 32px}.home-wordmark{font-family:var(--font-ui);font-size:clamp(var(--fs-title), 8vw, calc(var(--fs-hero) * 1.5));margin-bottom:var(--space-5);line-height:1.25;display:block}.home h1{font-size:var(--fs-hero);letter-spacing:var(--tracking-hero);line-height:1.25;font-weight:var(--fw-title);color:var(--text);margin-bottom:24px}.home-hero-main p{max-width:660px;margin-top:10px}.home-hero-aside{border-left:1px solid var(--border);padding:52px 28px}.home-hero-aside .home-label{margin-bottom:20px}.home-actions{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:26px;display:flex}.home .home-primary{background:var(--accent);color:var(--accent-fg);font-weight:var(--fw-title);padding:8px 13px;display:inline-block}.home .home-primary:hover{filter:brightness(1.08);text-decoration:none}.home .home-outline{border:1px solid var(--accent);color:var(--accent);font-weight:var(--fw-title);padding:7px 12px;display:inline-block}.home .home-outline:hover{background:color-mix(in srgb, var(--accent) 12%, transparent);text-decoration:none}.home-how{font-size:var(--fs-meta);margin-top:20px!important}.home-featured{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.home-featured article{border-right:1px solid var(--border);padding:24px 28px}.home-featured article:last-child{border-right:0}.home-featured h2{font-size:var(--fs-section);font-weight:var(--fw-title);align-items:center;margin-bottom:12px;display:flex}.home-marker{flex:0 0 7px;width:7px;height:7px;margin-right:10px}.home-coverage{font-size:var(--fs-meta);color:var(--text3)!important;margin-top:12px!important}.home-session{border:1px solid var(--border);margin:32px}.home-prompt{border-bottom:1px solid var(--border);font-size:var(--fs-section);font-weight:var(--fw-label);padding:16px 24px}.home-prompt>span{color:var(--accent)}.home-prompt code{font:inherit}.home-tree-head{border-bottom:1px solid var(--border);font-size:var(--fs-meta);color:var(--text3);justify-content:space-between;padding:10px 24px;display:flex}.home-tree{padding:16px 24px 24px!important}.home-tree>li+li{margin-top:18px}.home-tree h3{font-size:var(--fs-section);font-weight:var(--fw-label)}.home-tree li[data-level=lab]{grid-template-columns:minmax(0,1fr) 88px;gap:16px;padding-left:24px;display:grid}.home-tree li[data-level=lab]>a{overflow-wrap:anywhere;min-width:0}.home-tree li[data-level=lab]>a:before{content:"├─ ";color:var(--text3)}.home-tree li[data-level=lab]:last-child>a:before{content:"└─ "}.home-count{text-align:right;font-size:var(--fs-meta);color:var(--text3)}.home-run{grid-template-columns:440px minmax(0,1fr);display:grid}.home-spec{border-right:1px solid var(--border);padding:24px}.home-spec .home-label{margin-bottom:16px}.home-spec pre{font:400 var(--fs-meta)/1.7 var(--font-ui);white-space:pre;overflow-x:auto}.home-spec .k{color:var(--c-key)}.home-spec .s{color:var(--c-string)}.home-spec .n{color:var(--c-num)}.home-spec .c{color:var(--c-comment)}.home-trace{padding:24px 16px}.home-trace table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:var(--fs-meta)}.home-trace caption{text-align:left;padding:0 8px 16px}.home-trace th{text-align:left;font-weight:var(--fw-label);color:var(--text3)}.home-trace td,.home-trace th{vertical-align:top;overflow-wrap:anywhere;border-top:1px solid var(--border);padding:10px 8px}.home-trace th:first-child{width:80px}.home-trace th:nth-child(2){width:30%}.home-trace th:nth-child(3){width:56px}.home-trace td:first-child{color:var(--text3);white-space:nowrap}.home-exercise{border-bottom:1px solid var(--border);grid-template-columns:64px 1fr;display:grid}.home-exercise:last-child{border-bottom:0}.home-exercise>span{text-align:center;font-size:var(--fs-meta);color:var(--text3);border-right:1px solid var(--border);padding-top:24px}.home-exercise>div{padding:24px}.home-exercise .home-label{margin-bottom:10px}.home-exercise h3{font-size:var(--fs-section);font-weight:var(--fw-title);margin-bottom:10px}@media (width<=1100px){.home-hero{grid-template-columns:1fr 280px}.home-session{margin:24px}}@media (width<=700px){.home-hero,.home-featured,.home-run{grid-template-columns:1fr}.home-hero-aside{border-left:0;border-top:1px solid var(--border)}.home-featured article,.home-spec{border-right:0}}.how-app{background:var(--app);min-height:100vh}.how-app .topbar{grid-column:auto;height:40px}.how{border-left:1px solid var(--border);border-right:1px solid var(--border);max-width:1080px;font:400 var(--fs-body)/var(--lh-body) var(--font-ui);color:var(--text);margin:0 auto}.how a{color:inherit}.how :focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:4px}.how-label{font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text3);margin:0}.how-head{border-bottom:1px solid var(--border);padding:52px 32px 40px}.how-head h1{font-size:var(--fs-hero);letter-spacing:var(--tracking-hero);line-height:1.25;font-weight:var(--fw-title);margin:20px 0 24px}.how-head p:not(.how-label){max-width:72ch;color:var(--text2);font-family:var(--font-prose);line-height:var(--lh-prose);margin:10px 0 0}.how-catalog{border-bottom:1px solid var(--border);padding:24px 32px}.how-counts{flex-wrap:wrap;gap:8px 48px;margin:12px 0 0;display:flex}.how-counts>div{align-items:baseline;gap:8px;display:flex}.how-counts dd{font-size:var(--fs-title);font-weight:var(--fw-title);margin:0}.how-counts dt{color:var(--text3);font-size:var(--fs-meta)}.how-body{font-size:var(--fs-body);padding:8px 32px 32px}.how-body>section>p,.how-body>section>.guide-list,.how-body>section>.guide-callout,.how-body .guide-refs{max-width:72ch}.how-body h2{border-top:1px solid var(--border);font-family:var(--font-ui);font-size:var(--fs-section);font-weight:var(--fw-title);margin:32px 0 12px;padding-top:20px}.how-body>section:first-child h2{border-top:0}.how-body .guide-figure{margin:20px 0}.how-body .guide-refs{font-size:var(--fs-meta);overflow-wrap:anywhere;padding-left:1.25rem}.how-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px 24px;padding:24px 32px;display:flex}.how .how-primary,.how .how-outline{font-weight:var(--fw-title);text-decoration:none;display:inline-block}.how .how-primary{background:var(--accent);color:var(--accent-fg);padding:8px 13px}.how .how-primary:hover{filter:brightness(1.08)}.how .how-outline{border:1px solid var(--accent);color:var(--accent);padding:7px 12px}.how .how-outline:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}@media (width<=700px){.how-head,.how-catalog,.how-body,.how-actions{padding-left:16px;padding-right:16px}}
