@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;font-weight:100 500;src:local("Arial"),local("Roboto"),local("Liberation Sans");size-adjust:100%;ascent-override:88%;descent-override:21%;line-gap-override:0%}@font-face{font-family:Archivo Fallback;font-weight:600 700;src:local("Arial Bold"),local("Arial"),local("Roboto Bold"),local("Liberation Sans Bold");size-adjust:99%;ascent-override:88.9%;descent-override:21.2%;line-gap-override:0%}@font-face{font-family:Archivo Fallback;font-weight:800 900;src:local("Arial Bold"),local("Arial"),local("Roboto Bold"),local("Liberation Sans Bold");size-adjust:103.5%;ascent-override:85%;descent-override:20.3%;line-gap-override:0%}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--brand-yellow: #ffd400;--brand-yellow-hover: #ffe14d;--on-brand: #08090a;--brand-violet: #7564f9;--ai-fill: #5f4de6;--on-ai: #ffffff;--bg-base: #08090a;--surface-panel: #0d0e10;--surface-card: #111315;--surface-hover: #1b1e21;--surface-well: #0b0c0d;--text-primary: #f4f4f2;--text-secondary: #a2a6ad;--text-muted: #8f939a;--font-sans: "Archivo", "Archivo Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, Monaco, Consolas, monospace;--line: rgba(244, 244, 242, .14);--line-strong: rgba(244, 244, 242, .4);--rule: #f4f4f2;--border-rule: 2px solid var(--rule);--border-tech: 1px solid var(--line);--border-tech-subtle: 1px solid rgba(244, 244, 242, .08);--border-tech-active: 1px solid var(--accent-primary);--border-tech-warning: 1px solid rgba(255, 150, 64, .55);--border-tech-danger: 1px solid rgba(255, 92, 80, .55);--border-color: var(--line);--border-strong: var(--line-strong);--border: var(--line);--accent-primary: #ffd400;--on-accent: #08090a;--accent-text: #ffd400;--accent-soft: rgba(255, 212, 0, .13);--accent-subtle: var(--accent-soft);--color-primary: var(--accent-primary);--ai-text: #a395ff;--ai-soft: rgba(117, 100, 249, .2);--focus-ring: #ffd400;--color-client: #38bdf8;--color-gateway: #a395ff;--color-service: #34d399;--color-cache: #f472b6;--color-db: #60a5fa;--color-queue: #a3e635;--color-search: #fb923c;--accent-blue: var(--color-db);--accent-purple: var(--color-gateway);--accent-cyan: var(--color-client);--accent-green: var(--color-service);--accent-orange: var(--color-search);--accent-pink: var(--color-cache);--accent-yellow: var(--accent-text);--accent-secondary: var(--color-client);--accent-tertiary: var(--color-cache);--tone-info: #38bdf8;--tone-success: #4ade80;--tone-warn: #ff9640;--tone-danger: #ff6b60;--tone-bronze: #e08a3c;--fill-success: #0f7a52;--fill-info: #1b6fd6;--status-healthy: #4ade80;--status-degraded: #ff9640;--status-failed: #ff5c50;--status-idle: #8f939a;--success: var(--status-healthy);--error: var(--status-failed);--warning: var(--status-degraded);--info: var(--tone-info);--bg-primary: var(--bg-base);--bg-secondary: var(--surface-panel);--bg-tertiary: var(--surface-card);--bg-card: var(--surface-card);--bg-elevated: var(--surface-hover);--surface-base: var(--surface-well);--text-tertiary: var(--text-muted);--glass-border: var(--line);--glass-bg: var(--surface-panel);--glass-shimmer: transparent;--gradient-primary: linear-gradient(var(--accent-primary), var(--accent-primary));--gradient-secondary: linear-gradient(var(--color-client), var(--color-client));--gradient-success: linear-gradient(var(--fill-success), var(--fill-success));--gradient-warm: linear-gradient(var(--status-failed), var(--status-failed));--shadow-sm: none;--shadow-md: none;--shadow-lg: 0 18px 40px rgba(0, 0, 0, .6);--shadow-glow: none;--radius-xs: 0;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-xl: 0;--radius-full: 0;--transition-fast: .15s ease;--transition-normal: .25s ease;--text-kicker: 700 12px/1.3 var(--font-sans);--track-kicker: .1em;--title-xl: clamp(2.5rem, 1.2rem + 4.4vw, 4.75rem);--title-lg: clamp(2rem, 1.3rem + 2.6vw, 3.6rem);--title-md: clamp(1.7rem, 1.25rem + 1.6vw, 2.6rem);--gutter: 20px}[data-theme=light]{color-scheme:light;--bg-base: #f3f2f2;--surface-panel: #ecebea;--surface-card: #f9f8f7;--surface-hover: #e7e6e5;--surface-well: #ecebea;--text-primary: #111214;--text-secondary: #55585e;--text-muted: #5f6268;--line: rgba(17, 18, 20, .16);--line-strong: rgba(17, 18, 20, .45);--rule: #111214;--border-tech-subtle: 1px solid rgba(17, 18, 20, .09);--border-tech-warning: 1px solid rgba(180, 83, 9, .6);--border-tech-danger: 1px solid rgba(200, 30, 30, .6);--accent-primary: #6b5300;--on-accent: #ffffff;--accent-text: #6b5300;--accent-soft: rgba(255, 212, 0, .32);--ai-text: #5143d9;--ai-soft: rgba(117, 100, 249, .15);--focus-ring: #5143d9;--color-client: #075985;--color-gateway: #5143d9;--color-service: #047857;--color-cache: #be185d;--color-db: #1d4ed8;--color-queue: #4d7c0f;--color-search: #9a4a06;--tone-info: #075985;--tone-success: #15703a;--tone-warn: #8f4105;--tone-danger: #b91c1c;--tone-bronze: #9a4a06;--fill-success: #047857;--fill-info: #1d4ed8;--status-healthy: #166534;--status-degraded: #9a4a06;--status-failed: #c81e1e;--status-idle: #5f6268;--shadow-lg: 0 18px 40px rgba(17, 18, 20, .22)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-variant-numeric:tabular-nums;min-height:100vh;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}fieldset>legend{float:left;width:100%}fieldset>legend+*{clear:both}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}::selection{background:var(--brand-yellow);color:var(--on-brand)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface-panel)}::-webkit-scrollbar-thumb{background:var(--line-strong)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.card-tech{background:var(--surface-card);border:var(--border-tech);padding:1rem;transition:border-color var(--transition-fast)}.card-tech:hover{border-color:var(--line-strong)}.btn-primary,.primary-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--brand-yellow);color:var(--on-brand);border:1px solid transparent;font-family:var(--font-sans);font-size:.875rem;font-weight:700;cursor:pointer;transition:background var(--transition-fast);text-decoration:none}.btn-primary:hover:not(:disabled),.primary-btn:hover:not(:disabled){background:var(--brand-yellow-hover)}.btn-secondary,.secondary-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;color:var(--text-primary);border:1px solid var(--line-strong);font-family:var(--font-sans);font-size:.875rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-secondary:hover:not(:disabled),.secondary-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--rule)}.btn-danger,.danger-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:transparent;color:var(--tone-danger);border:var(--border-tech-danger);font-size:.8rem;font-weight:700;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-danger:hover:not(:disabled),.danger-btn:hover:not(:disabled){background:color-mix(in srgb,var(--status-failed) 14%,transparent);border-color:var(--tone-danger)}.btn-primary:disabled,.primary-btn:disabled,.btn-secondary:disabled,.secondary-btn:disabled,.btn-danger:disabled,.danger-btn:disabled,.btn-tech:disabled{opacity:.5;cursor:not-allowed}.input-tech,.input{width:100%;padding:.55rem .85rem;background:var(--surface-well);border:1px solid var(--line-strong);color:var(--text-primary);font-family:var(--font-sans);font-size:.875rem;transition:border-color var(--transition-fast)}.input-tech:focus,.input:focus{outline:2px solid var(--focus-ring);outline-offset:0;border-color:var(--rule)}.badge-tech{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.badge-production{color:var(--tone-success);border:1px solid currentColor}.metric-box{background:var(--surface-card);border:var(--border-tech);border-radius:var(--radius-sm);padding:.75rem 1rem}.metric-value{font-family:var(--font-mono);font-size:1.4rem;font-weight:700;color:var(--text-primary)}.metric-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem}@media(prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.beginner-explainer{background:var(--accent-soft);border:var(--border-tech);border-left:4px solid var(--accent-primary);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.beginner-explainer-title{font-weight:700;color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem;display:flex;align-items:center;gap:.4rem}.beginner-explainer-text{color:var(--text-secondary);font-size:.9rem;margin:0;line-height:1.7}.beginner-explainer-list{margin:.5rem 0;padding-left:1.2rem;color:var(--text-secondary);font-size:.9rem;line-height:1.7}.beginner-explainer-text strong{color:var(--text-primary);font-weight:600}.beginner-explainer-tag-blue{color:var(--tone-info);font-weight:600}.beginner-explainer-tag-purple{color:var(--ai-text);font-weight:600}.beginner-explainer-tag-amber{color:var(--tone-warn);font-weight:600}details.beginner-explainer>summary{display:list-item;cursor:pointer;margin-bottom:0}details.beginner-explainer[open]>summary{margin-bottom:.75rem}details.beginner-explainer>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.btn-tech{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;min-height:24px;font-family:var(--font-sans);font-size:.8rem;font-weight:600;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);cursor:pointer;border:1px solid var(--line-strong);background:transparent;color:var(--text-secondary)}.btn-tech:hover{color:var(--text-primary);border-color:var(--rule);background:var(--surface-hover)}:root{--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--series-8: #e66767;--st-good: #22b455;--st-warn: #ff9640;--st-serious: #e2548c;--st-critical: #e5484d;--viz-client: #38bdf8;--viz-edge: #a395ff;--viz-compute: #34d399;--viz-cache: #e879f9;--viz-data: #60a5fa;--viz-queue: #a3e635;--viz-surface: #0b0c0d;--viz-node: #131517;--viz-line: rgba(244, 244, 242, .3);--viz-line-strong: rgba(244, 244, 242, .55);--viz-grid: #26282b;--viz-axis: #3a3d41;--ctl-bg: var(--bg-base);--ctl-border: var(--line-strong);--ctl-on-bg: var(--accent-soft);--ctl-on-border: var(--accent-primary);--ctl-on-text: var(--accent-text)}[data-theme=light]{--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #4a3aa7;--series-8: #e34948;--st-good: #166534;--st-warn: #9a4a06;--st-serious: #be185d;--st-critical: #c81e1e;--viz-client: #075985;--viz-edge: #5143d9;--viz-compute: #047857;--viz-cache: #a21caf;--viz-data: #1d4ed8;--viz-queue: #4d7c0f;--viz-surface: #f9f8f7;--viz-node: #ffffff;--viz-line: rgba(17, 18, 20, .34);--viz-line-strong: rgba(17, 18, 20, .6);--viz-grid: #dedcd9;--viz-axis: #bfbdb9}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.viz-diagram{position:relative;width:100%}.viz-diagram svg{display:block;width:100%;height:auto;overflow:visible}.viz-node{--accent: var(--viz-compute)}.viz-node--client,.viz-node--users{--accent: var(--viz-client)}.viz-node--lb,.viz-node--gateway,.viz-node--limiter,.viz-node--breaker,.viz-node--router{--accent: var(--viz-edge)}.viz-node--service,.viz-node--app,.viz-node--worker,.viz-node--producer,.viz-node--fallback,.viz-node--sink{--accent: var(--viz-compute)}.viz-node--cache{--accent: var(--viz-cache)}.viz-node--db{--accent: var(--viz-data)}.viz-node--queue,.viz-node--topic,.viz-node--dlq{--accent: var(--viz-queue)}.viz-node--region{--accent: var(--viz-client)}.viz-node--tone-plain{--accent: var(--viz-line-strong)}.viz-node--tone-sd{--accent: var(--accent-primary)}.viz-node--tone-ai{--accent: var(--viz-edge)}.viz-node__box{fill:var(--viz-node);stroke:color-mix(in srgb,var(--accent) 55%,transparent);stroke-width:1.4;transition:stroke .2s ease,fill .2s ease}.viz-node__rim{fill:none;stroke:color-mix(in srgb,var(--accent) 55%,transparent);stroke-width:1.2}.viz-node__icon{color:var(--accent)}.viz-node__title{fill:var(--text-primary);font:600 13px/1 var(--font-sans)}.viz-node__sub{fill:var(--text-secondary);font:500 11px/1 var(--font-sans)}.viz-node__detail{fill:var(--text-secondary);font:500 10.5px/1 var(--font-mono)}.viz-diagram.is-narrow .viz-node__title{font-size:14px}.viz-diagram.is-narrow .viz-node__sub{font-size:12.5px}.viz-diagram.is-narrow .viz-node__detail{font-size:11.5px}.viz-diagram.is-narrow .viz-edge__label text,.viz-diagram.is-narrow .viz-group text{font-size:12px}.viz-node__load-track{fill:color-mix(in srgb,var(--accent) 16%,transparent)}.viz-node__load-fill{fill:var(--accent);transition:width .2s ease}.viz-node__load-fill.is-mid{fill:var(--st-warn)}.viz-node__load-fill.is-high{fill:var(--st-critical)}.viz-node.is-selected .viz-node__box{stroke:var(--accent);stroke-width:2.2}.viz-node.is-followed-node .viz-node__box{stroke:var(--accent-primary);stroke-width:3}.viz-node.is-down .viz-node__box{stroke:var(--st-critical);stroke-dasharray:5 4;fill:color-mix(in srgb,var(--st-critical) 7%,var(--viz-node))}.viz-node__hatch{pointer-events:none}.viz-hatch-line{stroke:color-mix(in srgb,var(--st-critical) 30%,transparent);stroke-width:2}.viz-node.is-down .viz-node__title,.viz-node.is-down .viz-node__sub{opacity:.75}.viz-node.is-slow .viz-node__box,.viz-node.is-degraded .viz-node__box{stroke:var(--st-warn);stroke-width:1.8}.viz-node.is-blocked .viz-node__box{stroke:var(--st-serious);stroke-dasharray:2 3}.viz-node.is-idle{opacity:.55}.viz-node.is-interactive{cursor:pointer}.viz-node.is-interactive:hover .viz-node__box{stroke:var(--accent);stroke-width:2}.viz-node:focus{outline:none}.viz-node:focus-visible .viz-node__box{stroke:var(--focus-ring);stroke-width:2.5}.viz-badge__bg{fill:var(--viz-node);stroke:var(--viz-line-strong);stroke-width:1}.viz-badge__text{fill:var(--text-primary);font:700 10px/1 var(--font-sans);letter-spacing:.04em}.viz-badge--down .viz-badge__bg,.viz-badge--failed .viz-badge__bg{stroke:var(--st-critical);fill:color-mix(in srgb,var(--st-critical) 18%,var(--viz-node))}.viz-badge--down .viz-badge__mark,.viz-badge--failed .viz-badge__mark{color:var(--st-critical)}.viz-badge--slow .viz-badge__bg,.viz-badge--degraded .viz-badge__bg,.viz-badge--busy .viz-badge__bg{stroke:var(--st-warn);fill:color-mix(in srgb,var(--st-warn) 16%,var(--viz-node))}.viz-badge--slow .viz-badge__mark,.viz-badge--degraded .viz-badge__mark,.viz-badge--busy .viz-badge__mark{color:var(--st-warn)}.viz-badge--blocked .viz-badge__bg{stroke:var(--st-serious);fill:color-mix(in srgb,var(--st-serious) 16%,var(--viz-node))}.viz-badge--blocked .viz-badge__mark{color:var(--st-serious)}.viz-badge--idle .viz-badge__mark{color:var(--text-secondary)}.viz-badge--role .viz-badge__bg{stroke:color-mix(in srgb,var(--accent) 70%,transparent);fill:color-mix(in srgb,var(--accent) 16%,var(--viz-node))}.viz-edge__hit{fill:none;stroke:transparent;stroke-width:14}.viz-edge__line{fill:none;stroke:var(--viz-line);stroke-width:1.6;transition:stroke .2s ease}.viz-edge--async .viz-edge__line{stroke-dasharray:7 5}.viz-edge--replication .viz-edge__line{stroke:color-mix(in srgb,var(--series-7) 70%,transparent);stroke-dasharray:2 4;stroke-width:2;stroke-linecap:round}.viz-edge--probe .viz-edge__line{stroke-dasharray:1 4;stroke-linecap:round;stroke-width:1.2;opacity:.6}.viz-edge.is-active .viz-edge__line{stroke:var(--viz-line-strong)}.viz-edge.is-degraded .viz-edge__line{stroke:var(--st-warn)}.viz-edge.is-failed .viz-edge__line{stroke:var(--st-critical);stroke-dasharray:3 4;opacity:.85}.viz-edge.is-open .viz-edge__line{stroke:var(--st-serious);stroke-dasharray:3 6}.viz-edge.is-idle .viz-edge__line{opacity:.35}.viz-edge__break circle{fill:var(--viz-node);stroke:var(--st-critical);stroke-width:1.4}.viz-edge.is-open .viz-edge__break circle{stroke:var(--st-serious)}.viz-edge__break{color:var(--st-critical)}.viz-edge.is-open .viz-edge__break{color:var(--st-serious)}.viz-edge__label text{fill:var(--text-secondary);font:500 10.5px/1 var(--font-mono);paint-order:stroke;stroke:var(--viz-surface);stroke-width:4px;stroke-linejoin:round}.viz-arrow--solid{fill:var(--viz-line-strong)}.viz-arrow--open{fill:none;stroke:var(--viz-line-strong);stroke-width:1.4}.viz-arrow--failed{fill:var(--st-critical)}.viz-group rect{fill:color-mix(in srgb,var(--text-secondary) 4%,transparent);stroke:var(--viz-line);stroke-dasharray:5 5}.viz-group text{fill:var(--text-secondary);font:600 11px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase}.viz-group--tone-sd text{fill:var(--accent-text)}.viz-group--tone-ai text{fill:var(--ai-text)}.viz-packet{stroke:var(--viz-surface);stroke-width:2;paint-order:stroke}.viz-packet--request,.viz-packet--read{fill:var(--series-1)}.viz-packet--read .viz-packet__ring{fill:none;stroke:var(--series-1);stroke-width:1.6}.viz-packet--response{fill:var(--viz-node);stroke:var(--series-1);stroke-width:2.2}.viz-packet--ack{fill:var(--viz-node);stroke:var(--series-7);stroke-width:1.8}.viz-packet--write{fill:var(--series-7)}.viz-packet--event{fill:var(--series-3)}.viz-packet--replicate{fill:var(--series-7)}.viz-packet--hit{fill:var(--st-good)}.viz-packet--hit .viz-packet__tick{fill:none;stroke:var(--viz-surface);stroke-width:1.8;stroke-linecap:square}.viz-packet--fill{fill:var(--viz-node);stroke:var(--st-good);stroke-width:2.4}.viz-packet--miss{fill:var(--viz-node)}.viz-packet--miss circle,.viz-packet--miss path{stroke:var(--st-warn);stroke-width:2}.viz-packet--stale{fill:var(--st-serious)}.viz-packet--invalidate{fill:var(--viz-node);stroke:var(--st-warn);stroke-width:2}.viz-packet--error path{stroke:var(--st-critical);stroke-width:2.6;stroke-linecap:round}.viz-packet--fallback{fill:var(--viz-node);stroke:var(--st-warn);stroke-width:2;stroke-dasharray:2 2}.viz-packet--probe{fill:var(--text-secondary);stroke-width:1}.viz-packet--poison{fill:var(--st-critical)}.viz-packet--retry{fill:var(--series-2)}.viz-packet--hot{fill:var(--series-5)}.viz-legend{display:flex;flex-wrap:wrap;list-style:none;margin:0;gap:6px 16px;padding:10px 4px 2px;font-size:12px;color:var(--text-secondary)}.viz-legend__item{display:inline-flex;align-items:center;gap:6px}.viz-legend__line{stroke:var(--viz-line-strong);stroke-width:1.8}.viz-legend__line.viz-edge--async{stroke-dasharray:7 5}.viz-legend__line.viz-edge--replication{stroke:var(--series-7);stroke-dasharray:2 4;stroke-linecap:round;stroke-width:2}.viz-legend__line.viz-edge--probe{stroke-dasharray:1 4;stroke-linecap:round}.lab{max-width:1320px;margin:0 auto;padding:8px 0 48px}.lab--embedded{padding:0}.lab__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.lab--embedded .lab__head{margin-bottom:14px}.eyebrow{display:flex;align-items:center;gap:8px;font:var(--text-kicker);letter-spacing:var(--track-kicker);text-transform:uppercase;color:var(--text-secondary)}.lab__title{font-size:var(--title-md);font-weight:800;letter-spacing:-.035em;line-height:1.04;margin-top:6px;color:var(--text-primary)}.lab--embedded .lab__title{font-size:1.2rem}.lab__summary{margin-top:8px;max-width:70ch;font-size:.97rem;line-height:1.6;color:var(--text-secondary)}.lab__intro{margin-top:8px;padding:8px 12px;border-left:3px solid var(--accent-primary);color:var(--text-primary)}.narration{margin-top:8px;font-size:15px;line-height:1.5;color:var(--text-primary)}.narration code{margin-right:6px}.lab__links{display:flex;flex-wrap:wrap;gap:8px}.chip-link{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:0;border:1px solid var(--ctl-on-border);background:var(--ctl-on-bg);color:var(--ctl-on-text);font-size:13px;font-weight:600;text-decoration:none}.chip-link:hover{background:color-mix(in srgb,var(--accent-primary) 24%,transparent)}.chip-link--quiet{border-color:var(--ctl-border);background:transparent;color:var(--text-primary)}.chip-link--quiet:hover{background:var(--surface-hover);border-color:var(--rule)}.chip-link--quiet:hover{color:var(--text-primary)}.lab__grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.lab__grid--single{grid-template-columns:minmax(0,1fr)}.lab__stage{min-width:0;display:flex;flex-direction:column;gap:12px}.lab__side{display:flex;flex-direction:column;gap:14px;min-width:0;position:sticky;top:72px;max-height:calc(100vh - 88px);overflow:auto}.lab--embedded .lab__side{position:static;max-height:none}.lab__controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px 22px;align-items:start}.stage-card{background:var(--viz-surface);border:var(--border-rule);border-radius:0;padding:12px 14px 10px}.stage-card__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.stage-card__paused{font-size:12.5px;color:var(--text-secondary);margin:2px 0 4px}.lab__controls,.experiments,.panel{background:var(--surface-card);border:var(--border-tech);border-radius:0;padding:14px 16px}.lab__controls{display:flex;flex-direction:column;gap:14px}.panel-title{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--text-primary)}.panel__head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.lab__below{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px;margin-top:16px}.lab__below>*{flex:1 1 380px;min-width:0;max-width:100%}.lab__simplified{margin-top:16px;border:var(--border-tech);border-radius:0;padding:10px 14px;background:var(--surface-card);font-size:14px;color:var(--text-secondary)}.lab__simplified summary{cursor:pointer;font-weight:600;color:var(--text-primary)}.lab__simplified ul{margin:10px 0 2px 18px;display:grid;gap:6px;line-height:1.55}@media(max-width:1080px){.lab__grid{grid-template-columns:minmax(0,1fr)}.lab__side{position:static;max-height:none;overflow:visible}}.sim-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.sim-btn,.act-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 12px;border-radius:0;border:1px solid var(--ctl-border);background:var(--ctl-bg);color:var(--text-primary);font:600 13px/1 var(--font-sans);cursor:pointer;transition:background .15s ease,border-color .15s ease}.sim-btn:hover:not(:disabled),.act-btn:hover:not(:disabled){border-color:var(--rule);background:var(--surface-hover)}.sim-btn:disabled,.act-btn:disabled{opacity:.45;cursor:not-allowed}.sim-btn--primary,.act-btn--primary{background:var(--brand-yellow);border-color:transparent;color:var(--on-brand)}.sim-btn--primary:hover:not(:disabled),.act-btn--primary:hover:not(:disabled){background:var(--brand-yellow-hover);border-color:transparent}.act-btn--danger{border-color:color-mix(in srgb,var(--st-critical) 55%,transparent)}.act-btn--danger svg{color:var(--st-critical)}.act-btn--good svg{color:var(--st-good)}.act-btn[aria-pressed=true]{background:var(--ctl-on-bg);border-color:var(--ctl-on-border)}.sim-speed{display:inline-flex;border:1px solid var(--ctl-border);border-radius:0;overflow:hidden}.sim-speed button{min-width:38px;min-height:32px;padding:0 8px;background:var(--ctl-bg);color:var(--text-secondary);border:0;font:600 12px/1 var(--font-mono);cursor:pointer}.sim-speed button+button{border-left:1px solid var(--ctl-border)}.sim-speed button.is-on{background:var(--text-primary);color:var(--bg-base)}.sim-clock{font:500 12px/1 var(--font-mono);color:var(--text-secondary);padding:0 4px}.sim-speed-wrap{display:inline-flex;align-items:center;gap:6px}.sim-speed__label{font-size:12px;color:var(--text-secondary);margin-left:4px}.act-row{display:flex;flex-wrap:wrap;gap:8px}.ctl-group{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}.ctl-group legend{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;padding:0}.field-label{font-size:13px;font-weight:600;color:var(--text-primary)}.field-hint{font-size:12.5px;line-height:1.5;color:var(--text-secondary);margin-top:6px}.seg{display:flex;flex-direction:column;gap:6px;min-width:0}.seg__options{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px}.seg__options button{min-height:36px;padding:6px 10px;border-radius:0;border:1px solid var(--ctl-border);background:var(--ctl-bg);color:var(--text-secondary);font:600 12.5px/1.2 var(--font-sans);cursor:pointer;text-align:center}.seg__options button:hover{color:var(--text-primary);border-color:var(--rule)}.seg__options button.is-on{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-base)}.slider{display:flex;flex-direction:column;gap:6px}.slider__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.slider__value{font:600 12.5px/1 var(--font-mono);color:var(--text-primary)}.slider input[type=range]{width:100%;accent-color:var(--accent-primary);min-height:24px}.toggle__row{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:32px}.toggle__row input{position:absolute;opacity:0;width:1px;height:1px}.toggle__track{width:36px;height:20px;border:2px solid var(--text-primary);background:transparent;position:relative;flex-shrink:0;transition:background .15s ease}.toggle__thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;background:var(--text-secondary);transition:transform .15s ease,background .15s ease}.toggle__row input:checked+.toggle__track{background:var(--text-primary)}.toggle__row input:checked+.toggle__track .toggle__thumb{transform:translate(16px);background:var(--bg-base)}.toggle__row input:focus-visible+.toggle__track{outline:2px solid var(--focus-ring);outline-offset:2px}.toggle__label{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.toggle__state{font:600 11px/1 var(--font-mono);color:var(--text-secondary)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:10px}.metric{background:var(--surface-card);border:var(--border-tech);border-radius:0;padding:10px 12px;min-width:0}.metric__label{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric__label:has(.term[aria-expanded=true]){white-space:normal;overflow:visible}.metric__value{font-size:1.35rem;font-weight:650;color:var(--text-primary);margin-top:3px;letter-spacing:-.01em}.metric__unit{font-size:12px;font-weight:500;color:var(--text-secondary);margin-left:3px}.metric__sub{display:flex;align-items:center;gap:4px;margin-top:3px;font-size:11.5px;color:var(--text-secondary)}.metric__mark{display:inline-flex}.metric--good{border-color:color-mix(in srgb,var(--st-good) 45%,transparent)}.metric--good .metric__mark{color:var(--st-good)}.metric--warn{border-color:color-mix(in srgb,var(--st-warn) 55%,transparent)}.metric--warn .metric__mark{color:var(--st-warn)}.metric--bad{border-color:color-mix(in srgb,var(--st-critical) 60%,transparent)}.metric--bad .metric__mark{color:var(--st-critical)}.accounting{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12.5px;color:var(--text-secondary)}.accounting__mark{display:inline-flex;color:var(--st-good)}.accounting.is-bad .accounting__mark{color:var(--st-critical)}.accounting__label{font-weight:600;color:var(--text-primary)}.accounting__eq{font-family:var(--font-mono);font-size:12px}.accounting__why{flex-basis:100%;padding-left:18px}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:0;font-size:12px;font-weight:700;border:1px solid var(--ctl-border);color:var(--text-primary)}.status-pill svg{flex-shrink:0}.status-pill--good svg{color:var(--st-good)}.status-pill--good{border-color:color-mix(in srgb,var(--st-good) 50%,transparent)}.status-pill--warn svg{color:var(--st-warn)}.status-pill--warn{border-color:color-mix(in srgb,var(--st-warn) 60%,transparent)}.status-pill--bad svg{color:var(--st-critical)}.status-pill--bad{border-color:color-mix(in srgb,var(--st-critical) 60%,transparent)}.event-log{background:var(--surface-card);border:var(--border-tech);border-radius:0;padding:14px 16px;min-width:0}.event-log__empty{margin-top:10px;font-size:13px;color:var(--text-secondary)}.event-log__list{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:6px}.event-log__item{display:grid;grid-template-columns:46px 14px 1fr;gap:6px;align-items:start;font-size:13px;line-height:1.45;color:var(--text-primary)}.event-log__time{font:500 11.5px/1.7 var(--font-mono);color:var(--text-secondary)}.event-log__mark{display:inline-flex;padding-top:3px;color:var(--text-secondary)}.event-log__item.is-ok .event-log__mark{color:var(--st-good)}.event-log__item.is-warn .event-log__mark{color:var(--st-warn)}.event-log__item.is-error .event-log__mark{color:var(--st-critical)}.experiments__head{display:flex;justify-content:space-between;align-items:baseline}.experiments__progress{font:600 12px/1 var(--font-mono);color:var(--text-secondary)}.experiments__intro{margin-top:4px;font-size:13px;line-height:1.45;color:var(--text-secondary)}.experiments__list{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:8px}.exp{border:1px solid var(--ctl-border);border-radius:0;padding:10px;background:var(--ctl-bg)}.exp.is-active{border-color:var(--ctl-on-border);background:var(--ctl-on-bg)}.exp__row{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:start}.exp__num{width:24px;height:24px;border-radius:0;display:grid;place-items:center;font:700 12px/1 var(--font-mono);background:var(--surface-hover);color:var(--text-primary)}.exp.is-done .exp__num{background:color-mix(in srgb,var(--st-good) 22%,transparent);color:var(--text-primary)}.exp__title{font-size:13.5px;font-weight:650;color:var(--text-primary);line-height:1.35}.exp__goal{font-size:12.5px;color:var(--text-secondary);line-height:1.5;margin-top:3px}.exp__run,.predict__go,.follow__next{min-height:30px;padding:5px 12px;border-radius:0;border:1px solid var(--ctl-on-border);background:transparent;color:var(--ctl-on-text);font:700 12.5px/1 var(--font-sans);cursor:pointer}.exp__run:hover,.predict__go:hover:not(:disabled),.follow__next:hover{background:var(--ctl-on-bg)}.exp__detail{margin:10px 0 0 34px;display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.55;color:var(--text-primary)}.exp__watch strong{color:var(--text-primary)}.exp__why summary{cursor:pointer;font-weight:600;color:var(--ctl-on-text);font-size:12.5px}.exp__why p{margin-top:6px;color:var(--text-secondary)}.exp__done{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary);cursor:pointer}.exp__done input{accent-color:var(--accent-primary);width:15px;height:15px}.predict__go:disabled{opacity:.5;cursor:not-allowed}.exp__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.exp__level,.exp__status{font:600 11px/1 var(--font-mono);padding:3px 6px;border-radius:0;border:1px solid var(--ctl-border);color:var(--text-secondary)}.exp__status--good{border-color:color-mix(in srgb,var(--st-good) 60%,transparent);color:var(--text-primary)}.exp__status--warn{border-color:color-mix(in srgb,var(--st-warn) 60%,transparent);color:var(--text-primary)}.predict{border:1px solid var(--ctl-border);border-radius:0;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.predict__q{font-weight:650;padding:0 4px;color:var(--text-primary)}.predict__options{display:flex;flex-direction:column;gap:6px}.predict__opt{display:flex;gap:8px;align-items:flex-start;cursor:pointer}.predict__opt input{accent-color:var(--accent-primary);margin-top:3px}.predict[disabled] .predict__opt{cursor:default;color:var(--text-secondary)}.predict__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.predict__link{font:inherit;font-size:12.5px;font-weight:600;background:none;border:0;padding:0;color:var(--ctl-on-text);text-decoration:underline;cursor:pointer}.predict__wait{color:var(--text-secondary)}.result{display:flex;flex-direction:column;gap:6px;border-left:3px solid var(--ctl-border);padding-left:10px}.result__head{font-weight:650}.result__verdict.is-right{border-left:3px solid var(--st-good);margin-left:-13px;padding-left:10px}.result__verdict.is-wrong{border-left:3px solid var(--st-warn);margin-left:-13px;padding-left:10px}.exp__foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.ts-chart{margin:0;background:var(--surface-card);border:var(--border-tech);border-radius:0;padding:14px 16px;min-width:0}.ts-chart__title{font-size:13px;font-weight:700;color:var(--text-primary)}.ts-chart__legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:12px;color:var(--text-secondary)}.ts-chart__key{display:inline-flex;align-items:center;gap:6px}.ts-chart__plot{position:relative;margin-top:8px}.ts-chart__plot svg{display:block;width:100%;overflow:visible}.ts-chart__plot svg:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:0}.ts-chart__empty{display:grid;place-items:center;box-sizing:border-box;min-height:inherit;font-size:13px;color:var(--text-secondary);padding:36px 0;text-align:center}.ts-chart__grid{stroke:var(--viz-grid);stroke-width:1}.ts-chart__axis{stroke:var(--viz-axis);stroke-width:1}.ts-chart__tick{fill:var(--text-secondary);font:500 11px/1 var(--font-mono)}.ts-chart__line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.ts-chart__area{opacity:.1}.ts-chart__threshold{stroke:var(--text-secondary);stroke-width:1.5;stroke-dasharray:5 4}.ts-chart__band{fill:color-mix(in srgb,var(--st-critical) 12%,transparent)}.ts-chart__cross{stroke:var(--viz-line-strong);stroke-width:1}.ts-chart__dot{stroke:var(--surface-card);stroke-width:2}.ts-chart__tip{position:absolute;top:0;transform:translate(-50%);pointer-events:none;background:var(--surface-panel);border:1px solid var(--ctl-border);border-radius:0;padding:6px 9px;font-size:12px;color:var(--text-secondary);box-shadow:var(--shadow-md);white-space:nowrap;z-index:2}.ts-chart__tip-time{font:600 11px/1.4 var(--font-mono);color:var(--text-secondary)}.ts-chart__tip-row{display:flex;align-items:center;gap:6px}.ts-chart__tip-row strong{color:var(--text-primary);font-weight:700}.ts-chart__table{margin-top:8px;font-size:12.5px;color:var(--text-secondary)}.ts-chart__table summary{cursor:pointer}.ts-chart__table-wrap{max-height:180px;overflow:auto;margin-top:6px}.ts-chart__table table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.ts-chart__table th,.ts-chart__table td{padding:3px 8px;text-align:right;border-bottom:1px solid var(--viz-grid)}.ts-chart__table th:first-child{text-align:left}.lab :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){.viz-node__box,.viz-node__load-fill,.viz-edge__line{transition:none}}.bar-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:4px}.bar-list__row{display:grid;grid-template-columns:minmax(88px,max-content) 1fr 52px;gap:10px;align-items:center;font-size:13px}.bar-list__label{color:var(--text-primary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-list__track{position:relative;height:14px;border-radius:0;background:color-mix(in srgb,var(--series-1) 12%,transparent)}.bar-list__fill{position:absolute;inset:0 auto 0 0;border-radius:0;background:var(--series-1);transition:width .25s ease}.bar-list__target{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text-primary);opacity:.7}.bar-list__value{font:600 12.5px/1 var(--font-mono);color:var(--text-primary);text-align:right}.server-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.server-row__name{font-size:13px;font-weight:600;color:var(--text-primary)}.server-row .toggle__label{flex:0 0 auto}.client-map{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:6px 14px;font-size:13px}.client-map li{display:flex;gap:8px;align-items:center;color:var(--text-secondary)}.client-map code{font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.client-map strong{color:var(--text-primary)}.client-map li.is-highlighted{outline:2px solid var(--accent-primary);outline-offset:1px;border-radius:0}.curriculum-trigger{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 12px;border-radius:0;border:1px solid var(--ctl-border);background:var(--ctl-bg);color:var(--text-primary);font:600 13px/1 var(--font-sans);cursor:pointer}.curriculum-trigger:hover{border-color:var(--viz-line-strong)}.curriculum-trigger__pct{font:600 11.5px/1 var(--font-mono);color:var(--text-secondary)}.page-crumbs{max-width:1320px;margin:0 auto 14px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.page-crumbs li+li:before{content:"/";margin-right:6px;color:var(--text-muted)}.page-crumbs a{color:var(--text-secondary);text-decoration:none}.page-crumbs a:hover{color:var(--text-primary);text-decoration:underline}.page-crumbs [aria-current=page]{color:var(--text-primary);font-weight:600}.cache-slots{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.cache-slot{position:relative;display:flex;flex-direction:column;gap:3px;padding:8px 10px 10px;border-radius:0;border:1px solid color-mix(in srgb,var(--viz-cache) 45%,transparent);background:var(--viz-node);min-height:62px}.cache-slot.is-empty{border-style:dashed;border-color:var(--ctl-border);color:var(--text-muted);font-size:12px;justify-content:center;align-items:center}.cache-slot.is-stale{border-color:var(--st-serious)}.cache-slot.is-dirty{border-color:var(--series-7)}.cache-slot.is-highlighted{outline:2px solid var(--accent-primary);outline-offset:1px}.cache-slot__key{font:600 12.5px/1.2 var(--font-mono);color:var(--text-primary)}.cache-slot__meta{font-size:11.5px;color:var(--text-secondary)}.cache-slot__ttl{height:3px;border-radius:0;background:var(--ctl-border);overflow:hidden;margin-top:2px}.cache-slot__ttl span{display:block;height:100%;background:var(--viz-cache)}.cache-slot__flag{align-self:flex-start;font:700 10px/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;padding:3px 6px;border-radius:0;border:1px solid var(--st-serious);color:var(--text-primary)}.cache-slot__flag--dirty{border-color:var(--series-7)}.req-timeline{margin:0}.req-timeline>svg{display:block;width:100%;height:auto;margin-top:4px}.req-timeline__ok{fill:var(--series-1);stroke:var(--surface-card);stroke-width:1.5}.req-timeline__no{stroke:var(--st-critical);stroke-width:2;stroke-linecap:round;fill:none}.req-timeline__edge{stroke:var(--text-secondary);stroke-width:1;stroke-dasharray:3 3}.req-timeline__win{fill:color-mix(in srgb,var(--series-1) 12%,transparent)}.limiter-gauge{display:flex;flex-direction:column;gap:6px}.limiter-gauge__head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.limiter-gauge__track{height:10px;border-radius:0;background:color-mix(in srgb,var(--viz-edge) 14%,transparent);overflow:hidden}.limiter-gauge__track span{display:block;height:100%;background:var(--viz-edge);border-radius:0;transition:width .15s ease}.state-machine{margin:0}.state-machine svg{display:block;width:100%;height:auto;margin-top:6px}.sm-edge{fill:none;stroke:var(--viz-line);stroke-width:1.5}.sm-label{fill:var(--text-secondary);font:500 11px/1 var(--font-sans)}.sm-node rect{fill:var(--viz-node);stroke:var(--ctl-border);stroke-width:1.4}.sm-node__title{fill:var(--text-primary);font:700 13px/1 var(--font-sans)}.sm-node__sub{fill:var(--text-secondary);font:500 11px/1 var(--font-sans)}.sm-node.is-current rect{stroke-width:2.6}.sm-node--closed.is-current rect{stroke:var(--st-good);fill:color-mix(in srgb,var(--st-good) 12%,var(--viz-node))}.sm-node--open.is-current rect{stroke:var(--st-critical);fill:color-mix(in srgb,var(--st-critical) 12%,var(--viz-node))}.sm-node--half_open.is-current rect{stroke:var(--st-warn);fill:color-mix(in srgb,var(--st-warn) 12%,var(--viz-node))}.transition-list{list-style:none;margin-top:10px;display:grid;gap:4px;font-size:12.5px;color:var(--text-secondary)}.transition-list strong{color:var(--text-primary)}.viz-diagram__frame{width:100%}.viz-diagram.is-unmeasured{container-type:inline-size}.viz-diagram.is-unmeasured>.viz-diagram__frame{aspect-ratio:var(--vd-ratio);overflow:hidden}@container (max-width: 619.98px){.viz-diagram--bp-620>.viz-diagram__frame{aspect-ratio:var(--vd-ratio-narrow)}}@container (max-width: 639.98px){.viz-diagram--bp-640>.viz-diagram__frame{aspect-ratio:var(--vd-ratio-narrow)}}@container (max-width: 699.98px){.viz-diagram--bp-700>.viz-diagram__frame{aspect-ratio:var(--vd-ratio-narrow)}}@container (max-width: 719.98px){.viz-diagram--bp-720>.viz-diagram__frame{aspect-ratio:var(--vd-ratio-narrow)}}@container (max-width: 759.98px){.viz-diagram--bp-760>.viz-diagram__frame{aspect-ratio:var(--vd-ratio-narrow)}}.viz-diagram.is-scrolling .viz-diagram__frame{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}.viz-diagram__hint{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.viz-diagram__thin{font-size:12.5px;line-height:1.5;color:var(--text-secondary);margin-top:6px}.viz-diagram__thin-btn{font:inherit;font-weight:600;background:none;border:0;padding:4px 0;color:var(--text-primary);text-decoration:underline;cursor:pointer}.viz-diagram__thin-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.plogs{display:flex;flex-direction:column;gap:12px}.plog{display:flex;flex-direction:column;gap:6px}.plog__head{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--text-secondary);align-items:baseline}.plog__head strong{color:var(--text-primary);font-family:var(--font-mono)}.plog__lag{font-family:var(--font-mono)}.plog__lag.is-high{color:var(--text-primary);font-weight:700}.plog.is-blocked .plog__head strong:after{content:" — blocked";color:var(--text-primary);font-family:var(--font-sans);font-weight:600}.plog__cells{list-style:none;display:flex;gap:4px;overflow:hidden}.pcell{width:38px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--ctl-border);border-radius:0;padding:0 0 4px;overflow:hidden;background:var(--viz-node)}.pcell__key{align-self:stretch;height:5px}.pcell__off{font:600 11.5px/1.1 var(--font-mono);color:var(--text-primary);padding-top:2px}.pcell__k{font:500 10px/1 var(--font-mono);color:var(--text-secondary)}.pcell.is-done{opacity:.4}.pcell.is-next{border-color:var(--viz-line-strong);border-width:2px}.pcell.is-poison{border-color:var(--st-critical)}.pcell.is-poison .pcell__k{color:var(--st-critical);font-weight:700}.pcell.is-highlighted{outline:2px solid var(--accent-primary);outline-offset:1px}.ring-wrap{display:flex;flex-direction:column;align-items:center}.ring{width:100%;max-width:480px;height:auto;display:block}.ring__track{fill:none;stroke:var(--viz-line);stroke-width:2}.ring__vnode{stroke-width:3;stroke-linecap:round}.ring__label{fill:var(--text-primary);font:700 11px/1 var(--font-mono)}.ring__key{stroke:var(--viz-surface);stroke-width:1.5}.ring__moved{fill:none;stroke:var(--text-primary);stroke-width:1.6}.ring__center{fill:var(--text-primary);font:700 15px/1 var(--font-sans)}.ring__center-sub{fill:var(--text-secondary);font:500 11.5px/1 var(--font-sans)}.ring__walk{fill:none;stroke:var(--text-primary);stroke-width:2;stroke-dasharray:4 4}.ring__probe{stroke:var(--text-primary);stroke-width:1.5}.ring__probe-dot{fill:var(--viz-node);stroke:var(--text-primary);stroke-width:2}.lookup{display:flex;gap:8px;flex-wrap:wrap}.lookup__input{flex:1;min-width:140px;min-height:34px;padding:6px 10px;border-radius:0;border:1px solid var(--ctl-border);background:var(--ctl-bg);color:var(--text-primary);font:500 13px/1 var(--font-mono)}.compare-line{font-size:13.5px;color:var(--text-secondary);line-height:1.6}.compare-line strong{color:var(--text-primary)}.moved-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:12px;color:var(--text-secondary)}.moved-list li{border:1px solid var(--ctl-border);border-radius:0;padding:3px 7px}.moved-list code{font-family:var(--font-mono);color:var(--text-primary)}.attempts{display:block;width:100%;height:auto}.attempts__label{fill:var(--text-secondary);font:500 11px/1 var(--font-sans)}.attempts__span{stroke:var(--viz-line);stroke-width:1.5}.attempts__ok{fill:var(--st-good);stroke:var(--surface-card);stroke-width:2}.attempts__fail{stroke:var(--st-critical);stroke-width:2.2;stroke-linecap:round;fill:none}.attempts__wait{fill:var(--text-secondary);font:500 10px/1 var(--font-mono)}.evo{display:flex;flex-direction:column;gap:12px}.evo__step{margin:0;font-size:14.5px;line-height:1.6;color:var(--text-secondary)}.evo__step strong{color:var(--text-primary)}.evo__notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:10px;margin:0}.evo__notes>div{padding:10px 12px;border:1px solid var(--viz-line);border-radius:0}.evo__notes dt{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px}.evo__notes dd{margin:0;font-size:14px;line-height:1.55;color:var(--text-primary)}.evo__nav{display:flex;gap:8px;flex-wrap:wrap}.evo .emerging-note{align-self:flex-start;margin:0}.alert-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.alert-list__item{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 10px;border:1px solid var(--viz-line);border-radius:0;font-size:13.5px}.alert-list__item.is-firing{border-color:color-mix(in srgb,var(--st-critical) 55%,transparent)}.alert-list__label{flex:1 1 14rem;color:var(--text-primary);font-weight:600}.alert-list__count{font:600 12px/1 var(--font-mono);color:var(--text-secondary)}.metric-groups{display:flex;flex-direction:column;gap:6px}.metric-group__title{margin:8px 0 0;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.metric-group__title:first-child{margin-top:0}.pcell.is-pending{border-style:dashed}.pcell.is-compacted{border-style:dotted}.pcell.is-compacted .pcell__off{text-decoration:line-through}.replica-table-wrap{overflow-x:auto;position:relative}.replica-table{width:100%;border-collapse:collapse;font-size:13px}.replica-table th,.replica-table td{padding:7px 8px;border-bottom:1px solid var(--viz-line);text-align:left;vertical-align:middle}.replica-table thead th{font-size:12px;color:var(--text-secondary);font-weight:700}.replica-table tbody th{font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap}.replica-table__state{display:block;font:600 11px/1.2 var(--font-sans);color:var(--text-secondary)}.replica-table tr.is-highlighted th:first-child{box-shadow:inset 3px 0 0 var(--accent-primary)}.replica-table tr.is-down th,.replica-table tr.is-down td:not(:last-child){color:var(--text-secondary)}.replica-table tr.is-down .replica-table__state{color:var(--text-primary);font-weight:800}.replica-table__role{display:block;font-weight:700;color:var(--text-primary)}.replica-table__meta{display:block;font:500 11.5px/1.3 var(--font-mono);color:var(--text-secondary)}.replica-table td.is-leader .replica-table__role:before{content:"★ "}.replica-table td.is-out .replica-table__meta{color:var(--text-primary);font-weight:700}.replica-table td.is-none{color:var(--text-secondary)}.term{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:help;text-decoration:underline dotted;text-underline-offset:3px}.term[aria-expanded=true]{text-decoration-style:solid}.term__def:not([hidden]){color:var(--text-secondary)}.viz-box rect{fill:var(--viz-node);stroke:var(--text-secondary);stroke-width:2}.viz-box text{fill:var(--text-primary);font:600 10px/1 var(--font-mono)}.viz-box--request rect,.viz-box--read rect,.viz-box--response rect{stroke:var(--series-1)}.viz-box--write rect,.viz-box--replicate rect,.viz-box--ack rect{stroke:var(--series-7)}.viz-box--event rect{stroke:var(--series-3)}.viz-box--hit rect,.viz-box--fill rect{stroke:var(--st-good)}.viz-box--miss rect,.viz-box--invalidate rect{stroke:var(--st-warn)}.viz-box--stale rect{stroke:var(--st-serious)}.viz-box--error rect,.viz-box--poison rect{stroke:var(--st-critical)}.viz-box--hot rect{stroke:var(--series-5)}.viz-box--retry rect{stroke:var(--series-2)}.viz-box.is-followed rect{stroke-width:3.5}.viz-box.is-clickable{cursor:pointer;pointer-events:auto}.viz-packets .is-faded,.viz-box.is-faded{opacity:.3}.follow__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.follow__next[aria-pressed=true]{background:var(--ctl-on-bg)}.follow__wait{color:var(--text-secondary);font-size:12.5px}.follow__list{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.follow__pick{font:inherit;font-size:12.5px;padding:4px 8px;border-radius:0;border:1px solid var(--ctl-border);background:transparent;color:var(--text-primary);cursor:pointer}.follow__pick[aria-pressed=true]{border-color:var(--accent-primary);background:var(--ctl-on-bg)}.trace{margin-top:12px;display:flex;flex-direction:column;gap:6px}.trace__title{font-size:13px;font-weight:650}.trace__steps{padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.5}.trace__t{font:600 11px/1 var(--font-mono);color:var(--text-secondary);margin-right:4px}.trace__outcome{font-weight:600;font-size:13px}.trace__afterwards{margin:2px 0 0;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.trace__steps--after{opacity:.85}.bar-list__row.is-highlighted .bar-list__label{font-weight:700;color:var(--text-primary)}.bar-list__row.is-highlighted .bar-list__fill{outline:2px solid var(--accent-primary);outline-offset:1px}.rw{display:grid;gap:14px;padding:4px}.rw__prompt{margin:0;padding:12px 14px;border:1px solid var(--viz-line);border-radius:0;background:var(--surface-well);color:var(--text-primary);line-height:1.5}.rw__kinds{margin:0;padding-left:18px;color:var(--text-secondary);font-size:13px;line-height:1.5}.rw__list{margin:0;padding-left:22px;display:grid;gap:12px}.rw__item .field-label{color:var(--text-primary);font-size:14px;line-height:1.4}.rw__verdict{display:flex;gap:6px;align-items:baseline;margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--text-secondary)}.rw__verdict svg{flex-shrink:0;position:relative;top:1px}.rw__verdict.is-right svg{color:var(--st-good)}.rw__verdict.is-wrong svg{color:var(--st-critical)}.rw__verdict strong{color:var(--text-primary)}.rw__summary ul{margin:4px 0 12px;padding-left:18px;line-height:1.5}.rw__summary p{margin:4px 0 0;line-height:1.5}.raft-log td{text-align:center;padding:5px 4px;min-width:46px}.raft-log__cell{border:1px dashed var(--viz-line)}.raft-log__cell.is-committed{border-style:solid;background:var(--surface-well)}.raft-log__cmd{display:block;font:600 12px/1.2 var(--font-mono);color:var(--text-primary)}.raft-log__term{display:block;font:500 11px/1.2 var(--font-mono);color:var(--text-secondary)}.kv-key{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.kv-key .field-label{margin:0}.kv-key__input{flex:1 1 140px;min-width:0;padding:7px 10px;border:1px solid var(--viz-line);border-radius:0;background:var(--surface-well);color:var(--text-primary);font:500 14px/1.3 var(--font-mono)}.kv-key__input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.mini{display:block;width:100%;height:auto;max-height:96px}.mini__edge{fill:none;stroke:var(--text-secondary);stroke-width:1.25}.mini__edge--cut{stroke-dasharray:3 3}.mini__cut{fill:none;stroke:var(--tone-danger);stroke-width:2;stroke-linecap:round}.mini__node{fill:var(--surface-card);stroke:var(--border-strong);stroke-width:1.25}.mini__glyph{color:var(--accent-text)}.mini__dot{fill:var(--surface-card);stroke:var(--accent-text);stroke-width:2}.mini__dot--main{fill:var(--accent-primary);stroke:var(--accent-primary)}.mini__bar{fill:var(--accent-primary)}.mini__tick{fill:none;stroke:var(--accent-text);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.mini__rule{stroke:var(--border-strong);stroke-width:3;stroke-linecap:round}.geo-wrap{display:flex;flex-direction:column;align-items:center;gap:.6rem}.geo{width:100%;max-width:520px;height:auto;display:block;cursor:crosshair}.geo__land{fill:var(--viz-surface);stroke:var(--viz-line);stroke-width:1.5}.geo__cell{fill:none;stroke:var(--viz-line);stroke-width:.8}.geo__cell.is-read{fill:color-mix(in srgb,var(--viz-data) 16%,transparent);stroke:var(--viz-data);stroke-width:1.6}.geo__code{fill:var(--text-secondary);font:600 13px/1 var(--font-mono)}.geo__radius{fill:none;stroke:var(--text-primary);stroke-width:1.6;stroke-dasharray:5 4}.geo__driver{fill:var(--text-muted)}.geo__driver.is-checked{fill:var(--viz-node);stroke:var(--text-primary);stroke-width:1.4}.geo__driver.is-found{fill:var(--st-good);stroke:var(--viz-surface);stroke-width:1}.geo__driver.is-missed{fill:none;stroke:var(--st-critical);stroke-width:2.2;stroke-linecap:round}.geo__rider circle{fill:var(--viz-surface);stroke:var(--text-primary);stroke-width:2.2}.geo__rider path{fill:none;stroke:var(--text-primary);stroke-width:1.8}.tc{display:flex;flex-direction:column;gap:.75rem}.tc-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px}.tc-step{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;gap:4px 10px;padding:8px 10px;border:1px solid var(--viz-line);border-radius:0;background:var(--viz-node)}.tc-step.is-next{border-color:var(--text-primary);border-width:2px}.tc-step.is-skipped{border-style:dashed}.tc-step.is-skipped .tc-step__label{text-decoration:line-through}.tc-step__num{display:grid;place-items:center;width:24px;height:24px;border:1.5px solid var(--text-secondary);border-radius:0;font:700 12px/1 var(--font-mono);color:var(--text-primary)}.tc-step__label{display:block;font-weight:700;color:var(--text-primary)}.tc-step__hint{display:block;font-size:12.5px;line-height:1.35;color:var(--text-secondary)}.tc-step__state{display:inline-flex;align-items:center;gap:4px;font:700 12px/1.2 var(--font-sans);color:var(--text-primary);white-space:nowrap}.tc-actions{display:flex;flex-wrap:wrap;gap:8px}.tc-next{margin:0;font-size:13.5px;line-height:1.4;color:var(--text-primary)}.tc-rows caption{caption-side:top;text-align:left;padding:0 0 6px;font-weight:700;color:var(--text-primary)}.tc-rows td,.tc-rows tbody th{font-family:var(--font-mono)}.tc-empty{display:inline-flex;align-items:center;gap:4px;font:600 12px/1.2 var(--font-sans);color:var(--text-secondary)}.tc-round__list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.tc-round__item{display:grid;grid-template-columns:14px minmax(0,1fr);gap:8px;align-items:start;font-size:13.5px;line-height:1.4;color:var(--text-primary)}.tc-round__item svg{margin-top:4px}.tc-round__item.is-failed,.tc-round__item.is-warn{font-weight:700}@media(max-width:560px){.tc-step{grid-template-columns:26px minmax(0,1fr) auto}.tc-step__skip{grid-column:2 / -1}}.seq{width:100%;min-width:0}.seq__frame{overflow-x:auto;-webkit-overflow-scrolling:touch}.seq__frame:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.seq svg{display:block;max-width:none}.seq__life{stroke:var(--viz-line);stroke-width:1}.seq__actor.is-down .seq__life{stroke:var(--st-critical);stroke-dasharray:3 5}.seq__glyph{color:var(--text-secondary)}.seq__off{color:var(--st-critical)}.seq__name{fill:var(--text-primary);font:600 11.5px/1 var(--font-sans)}.seq__actor.is-down .seq__name{fill:var(--text-secondary)}.seq__hop{stroke:var(--viz-line-strong);stroke-width:1.6;fill:none}.seq__head{fill:var(--viz-line-strong)}.seq__head--open{fill:none;stroke:var(--viz-line-strong);stroke-width:1.4}.seq__step.is-async .seq__hop,.seq-legend .is-async .seq__hop{stroke-dasharray:6 4}.seq__step.is-skipped .seq__hop{stroke:var(--viz-line);stroke-dasharray:2 5}.seq__step.is-failed .seq__hop{stroke:var(--st-critical);stroke-dasharray:3 4}.seq__badge{fill:var(--viz-node);stroke:var(--viz-line-strong);stroke-width:1.2}.seq__num{fill:var(--text-primary);font:700 11px/1 var(--font-mono)}.seq__step.is-active .seq__hop{stroke:var(--text-primary);stroke-width:2.6}.seq__step.is-active .seq__badge{fill:var(--brand-yellow);stroke:var(--brand-yellow)}.seq__step.is-active .seq__num{fill:var(--on-brand)}.seq__step.is-active.is-failed .seq__hop{stroke:var(--st-critical)}.seq__stop{color:var(--st-critical)}.seq__stop rect{fill:var(--viz-node);stroke:var(--st-critical);stroke-width:1.4}.seq-legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 0;padding:0;font-size:12.5px;color:var(--text-secondary)}.seq-legend li{display:inline-flex;align-items:center;gap:7px}.step-run{display:grid;gap:14px;margin:1rem 0;min-width:0}.step-run__stage{border:var(--border-rule);background:var(--viz-surface);padding:12px;min-width:0}.sim-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.step-run__body{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px}.step-run__now{flex:3 1 340px;min-width:0;padding:14px 16px;background:var(--surface-card);border:var(--border-tech);border-left:4px solid var(--accent-primary)}.step-run__kicker{margin:0;font:700 11.5px/1.3 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.step-run__title{display:flex;align-items:baseline;gap:8px;margin:6px 0 12px;font-size:17px;font-weight:800;letter-spacing:-.01em;line-height:1.3;color:var(--text-primary)}.step-run__mark{display:inline-flex;flex:none;color:var(--st-good)}.is-warn>.step-run__mark,.is-warn>button>.step-run__mark{color:var(--st-warn)}.is-failed>.step-run__mark,.is-failed>button>.step-run__mark{color:var(--st-critical)}.step-run__facts{display:grid;gap:9px;margin:0}.step-run__facts>div{display:grid;grid-template-columns:7.25rem minmax(0,1fr);gap:2px 12px}.step-run__facts dt{padding-top:3px;font:700 11.5px/1.3 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.step-run__facts dd{margin:0;font-size:14.5px;line-height:1.55;color:var(--text-primary)}.step-run__outcome{display:block;margin:14px 0 0;padding:10px 12px;border:1px solid var(--ctl-border);background:var(--surface-well);font-size:14.5px;line-height:1.55;color:var(--text-primary)}.step-run__outcome .step-run__mark{margin-right:6px;vertical-align:-2px}.step-run__outcome.is-warn{border-color:color-mix(in srgb,var(--st-warn) 60%,transparent)}.step-run__outcome.is-failed{border-color:color-mix(in srgb,var(--st-critical) 60%,transparent)}.step-run__log{flex:2 1 260px;min-width:0;padding:14px 16px;background:var(--surface-card);border:var(--border-tech)}.step-run__log ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:3px}.step-run__event button{display:grid;grid-template-columns:22px 13px minmax(0,1fr);gap:8px;align-items:start;width:100%;padding:5px 6px;border:1px solid transparent;border-radius:0;background:transparent;color:var(--text-primary);font:500 13.5px/1.45 var(--font-sans);text-align:left;cursor:pointer}.step-run__event button:hover{background:var(--surface-hover)}.step-run__event button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.step-run__event button[aria-current=step]{background:var(--ctl-on-bg);border-color:var(--ctl-on-border);font-weight:700}.step-run__event .step-run__mark{padding-top:4px}.step-run__n{display:grid;place-items:center;height:20px;border:1px solid var(--ctl-border);font:600 11px/1 var(--font-mono);color:var(--text-secondary)}.step-run__event button[aria-current=step] .step-run__n{background:var(--accent-primary);border-color:transparent;color:var(--on-accent)}.saga-stepper{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:var(--border-rule)}.saga-stepper__title{margin:0 0 6px;font-size:1.15rem;font-weight:800;letter-spacing:-.01em;color:var(--text-primary)}.saga-stepper__lede{margin:0 0 14px;max-width:70ch;font-size:14.5px;line-height:1.6;color:var(--text-secondary)}.saga-stepper__controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px 20px;align-items:start;padding:14px 16px;background:var(--surface-card);border:var(--border-tech)}.saga-stepper__summary{margin:12px 0 0;font-size:14.5px;line-height:1.55;color:var(--text-primary)}.scale-live{display:grid;gap:14px}.scale-live .saga-stepper__summary{margin:0}.scale-live__words{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px 28px;padding-top:14px;border-top:var(--border-tech)}.scale-live__words h4,.scale-live__try h4{margin:0 0 6px;font:var(--text-kicker);text-transform:uppercase;letter-spacing:var(--track-kicker);color:var(--text-secondary)}.scale-live__words h4:not(:first-child){margin-top:14px}.scale-live__words p,.scale-live__words li,.scale-live__try li{margin:0;max-width:65ch;font-size:14.5px;line-height:1.6;color:var(--text-primary)}.scale-live__words ul,.scale-live__try ol{margin:8px 0 0;padding-left:1.2em;display:grid;gap:6px}@media(max-width:480px){.step-run__stage{padding:8px 2px}.step-run__facts>div{grid-template-columns:minmax(0,1fr)}.step-run__now,.step-run__log{padding:12px}}@media(max-width:480px){.stage-card>.viz-diagram{margin-inline:-10px;width:calc(100% + 20px)}}.lab__below>.cmp{flex-basis:100%}.cmp{display:flex;flex-direction:column;gap:12px;margin-top:8px}.cmp__title{font-size:var(--title-md);font-weight:800;letter-spacing:-.01em;color:var(--text-primary)}.cmp__intro{color:var(--text-secondary);max-width:72ch;line-height:1.55}.cmp__controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px;background:var(--surface-card);border:var(--border-tech);padding:14px 16px}.cmp__shared{display:flex;flex-direction:column;gap:12px}.cmp__sides{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:760px){.cmp__sides{grid-template-columns:1fr 1fr}}.cmp__side{margin:0;min-width:0}.cmp__side>.viz-diagram{max-width:460px;margin-inline:auto}.cmp__side-label{font-weight:700;color:var(--text-primary);margin-bottom:4px}.cmp__side-num{display:inline-block;font-family:var(--font-mono, monospace);font-size:12px;padding:1px 6px;margin-right:6px;background:var(--text-primary);color:var(--bg-base)}.cmp__table-wrap{overflow-x:auto}.cmp__table{width:100%;border-collapse:collapse;font-size:14px}.cmp__table th,.cmp__table td{text-align:left;padding:8px 10px;border-bottom:var(--border-tech);vertical-align:top}.cmp__table thead th{font-size:12.5px;color:var(--text-secondary);font-weight:700}.cmp__table tbody th{font-weight:600;color:var(--text-primary)}.cmp__table td{font-family:var(--font-mono, monospace);color:var(--text-primary)}.cmp__table td:last-child{font-family:inherit}@media(max-width:480px){.cmp__side>.viz-diagram{margin-inline:-10px;width:calc(100% + 20px)}}.drill{margin-top:16px;display:flex;flex-direction:column;gap:10px}.drill__title{font-size:15px;font-weight:700;color:var(--text-primary);margin:0}.drill__state{font-size:13px;color:var(--text-primary);margin:0}.drill__scroll{overflow-x:auto}.drill__table{width:100%;border-collapse:collapse;font-size:12.5px}.drill__table th,.drill__table td{border-bottom:1px solid var(--ctl-border);padding:6px 8px;text-align:left;vertical-align:top;color:var(--text-primary)}.drill__table td{font-family:var(--font-mono);white-space:nowrap}.drill__table tr.is-mine{background:var(--ctl-on-bg)}.drill__best{margin:0;padding-left:18px;font-size:13px;line-height:1.6;color:var(--text-primary)}.drill .result p{margin:0;font-size:13px;line-height:1.55;color:var(--text-primary)}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;margin:0 auto;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.highlight{color:var(--accent-text)}.demo-container{background:var(--surface-card);padding:2rem;border:var(--border-tech)}.arrow{color:var(--text-muted);font-size:1.25rem}.viz-arrow{display:flex;align-items:center;gap:1rem;margin-top:1rem;font-family:var(--font-mono);background:var(--surface-well);border:var(--border-tech);padding:1rem}.page-container{margin:0 auto;width:100%}.page-header{margin-bottom:2rem}.page-subtitle{color:var(--text-secondary);font-size:1rem}.stats-card{background:var(--surface-card);border:var(--border-tech);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden}.stats-value{font-size:2.25rem;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--text-primary)}.stats-label{color:var(--text-secondary);font:var(--text-kicker);text-transform:uppercase;letter-spacing:var(--track-kicker)}.canvas-wrapper{--text-primary: #f4f4f2;--text-secondary: #a2a6ad;--text-tertiary: #8f939a;--text-muted: #8f939a;--line: rgba(244, 244, 242, .14);--line-strong: rgba(244, 244, 242, .4);--rule: #f4f4f2;--surface-hover: #1b1e21;--accent-primary: #ffd400;--on-accent: #08090a;--focus-ring: #ffd400;color-scheme:dark;display:flex;height:calc(100vh - 120px);background:#08090a;border:var(--border-rule);overflow:hidden;position:relative}.canvas-sidebar{width:280px;background:#0d0e10;border-right:1px solid var(--line-strong);display:flex;flex-direction:column;z-index:10}.canvas-sidebar-header{padding:1rem;border-bottom:1px solid var(--line-strong);font-weight:700;font-size:.9rem;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center}.palette-scroll{overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1.25rem;flex:1}.palette-category-title{font:var(--text-kicker);text-transform:uppercase;letter-spacing:var(--track-kicker);color:var(--text-muted);margin-bottom:.5rem}.palette-items-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.palette-node-btn{background:transparent;border:1px solid var(--line);padding:.6rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;cursor:grab;transition:background .15s ease,border-color .15s ease;color:var(--text-primary);font-size:.75rem;text-align:center}.palette-node-btn:hover{background:var(--surface-hover);border-color:var(--accent-primary)}.canvas-viewport{flex:1;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.canvas-props{position:absolute;bottom:1.5rem;right:1.5rem;width:280px;background:#0d0e10;border:2px solid var(--rule);padding:1.25rem;z-index:30}.canvas-viewport>svg{position:absolute;inset:0;touch-action:none}.canvas-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 2rem));padding:1rem 1.25rem;background:var(--surface-card);border:1px solid var(--line-strong);color:var(--text-secondary);font-size:.9rem;line-height:1.5;pointer-events:none;z-index:10}.canvas-empty p+p{margin-top:.4rem}.canvas-empty strong{color:var(--text-primary)}.canvas-toolbar-label{color:var(--text-secondary);font-size:.8rem;padding-left:.4rem}.canvas-topbar{position:absolute;top:1rem;left:1rem;right:1rem;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start;align-items:center;z-index:20;pointer-events:none}.canvas-topbar>*{pointer-events:auto}.canvas-toolbar-group{background:#0d0e10;border:1px solid var(--line-strong);padding:.3rem;display:flex;flex-wrap:wrap;max-width:100%;align-items:center;gap:.3rem}.canvas-btn{background:transparent;border:none;color:var(--text-secondary);padding:.4rem .65rem;cursor:pointer;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;transition:background .15s ease,color .15s ease}.canvas-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.canvas-btn.active{background:var(--accent-primary);color:var(--on-accent)}.diagram-node{cursor:move}.diagram-node.selected rect{stroke:var(--accent-primary)!important;stroke-width:2.5px!important}.diagram-node:focus{outline:none}.diagram-node:focus-visible>rect:first-of-type{stroke:var(--focus-ring)!important;stroke-width:3px!important;stroke-dasharray:6 3}@media(max-width:760px){.canvas-wrapper{flex-direction:column;height:auto}.canvas-viewport{order:-1;height:70vh;min-height:420px}.canvas-empty{top:auto;bottom:1rem;transform:translate(-50%)}.canvas-props{position:fixed;left:0;right:0;bottom:0;width:auto;max-height:40vh;overflow-y:auto}.canvas-sidebar{width:100%;max-height:45vh;border-right:0;border-top:1px solid var(--line-strong)}}.modal-overlay{position:fixed;inset:0;background:#000000c7;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;animation:fadeIn .15s ease-out}.modal-content{background:var(--bg-base);border:var(--border-rule);box-shadow:var(--shadow-lg);max-width:680px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.tab-btn{background:transparent;border:none;color:var(--text-secondary);padding:.75rem 1.25rem;font-family:var(--font-sans);font-weight:600;font-size:.9rem;cursor:pointer;position:relative;transition:color .15s ease;white-space:nowrap}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--text-primary);font-weight:700}.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--accent-primary)}.filter-bar-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;border-top:var(--border-rule);border-bottom:1px solid var(--line-strong);padding:.85rem 0}.filter-pills-group{display:flex;gap:0;flex-wrap:wrap}.filter-pill{background:transparent;border:1px solid var(--line-strong);margin:0 -1px -1px 0;color:var(--text-secondary);padding:.45rem .9rem;font-family:var(--font-sans);font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease;display:inline-flex;align-items:center;gap:.4rem}.filter-pill:hover{background:var(--surface-hover);color:var(--text-primary)}.filter-pill.active{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-base);position:relative}.filter-count-badge{background:color-mix(in srgb,currentColor 14%,transparent);color:inherit;padding:.1rem .45rem;font-size:.72rem;font-weight:700}.concept-search-input{background:var(--surface-well);border:1px solid var(--line-strong);padding:.5rem 1rem;color:var(--text-primary);font-family:var(--font-sans);font-size:.875rem;min-width:240px;transition:border-color .15s ease}.concept-search-input::placeholder{color:var(--text-secondary)}.concept-search-input:focus{outline:2px solid var(--focus-ring);outline-offset:0;border-color:var(--rule)}.lab-control-bar{background:var(--surface-card);border:var(--border-tech)}.revision-flashcard{background:var(--surface-card);border:var(--border-rule)}.revision-flashcard.flipped{border-color:var(--status-healthy)}.tradeoff-tab{padding:.7rem 1.1rem;font-family:var(--font-sans);font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .15s ease,color .15s ease;border:1px solid var(--line-strong);background:transparent;color:var(--text-secondary)}.tradeoff-tab:hover{background:var(--surface-hover);color:var(--text-primary)}.tradeoff-tab--active,.tradeoff-tab--active:hover{border-color:var(--text-primary);background:var(--text-primary);color:var(--bg-base)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 14px;border-radius:0;border:1px solid var(--ctl-border);background:var(--ctl-bg);color:var(--text-primary);font:600 13.5px/1.2 var(--font-sans);text-decoration:none;cursor:pointer;transition:border-color .15s ease,background .15s ease,filter .15s ease}.btn:hover:not(:disabled){border-color:var(--rule);background:var(--surface-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--brand-yellow);border-color:transparent;color:var(--on-brand);font-weight:700}.btn--primary:hover:not(:disabled){background:var(--brand-yellow-hover);border-color:transparent}.btn--quiet{background:transparent}.btn--quiet.is-on{border-color:var(--ctl-on-border);background:var(--ctl-on-bg);color:var(--ctl-on-text)}.btn--lg{min-height:44px;padding:10px 20px;font-size:15px;border-radius:0}.btn svg{flex-shrink:0}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:0;border:1px solid var(--ctl-border);font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--ctl-bg);white-space:nowrap}.main-content{padding:28px var(--gutter) 56px;max-width:calc(var(--page-wide) + 2 * var(--gutter))}@media(max-width:700px){:root{--gutter: 16px}.main-content{padding-top:18px;padding-bottom:40px}}.main-content:has(>.home){max-width:none;padding:0}:root{--page-wide: 1320px;--page-read: 1180px}.page-container{max-width:var(--page-wide);padding:.75rem 0 2rem}.page-head{margin-bottom:24px}.page-title{font-size:var(--title-md);font-weight:800;letter-spacing:-.035em;line-height:1.04;text-wrap:balance;color:var(--text-primary);margin-top:6px}.page-lede{margin-top:10px;max-width:68ch;font-size:1.02rem;line-height:1.6;color:var(--text-secondary)}.cp,.cs{max-width:1180px;margin:0 auto}.cp .page-crumbs,.cs .page-crumbs{max-width:none}.cp-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cp-actions .btn{min-height:34px;padding:6px 12px;font-size:13px}.cp-head{margin:10px 0 22px}.cp-title{font-size:var(--title-lg);font-weight:800;letter-spacing:-.04em;line-height:1.02;text-wrap:balance;margin-top:8px;color:var(--text-primary)}.cp-lede{margin-top:12px;font-size:1.06rem;line-height:1.6;color:var(--text-secondary);max-width:72ch}.cp-roles{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;font-size:13px;color:var(--text-secondary)}.cp-toc{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:18px;padding-top:14px;border-top:var(--border-tech)}.cp-toc a{font-size:13.5px;font-weight:600;color:var(--text-secondary);text-decoration:none;padding:4px 0}.cp-toc a:hover{color:var(--text-primary);text-decoration:underline}.cp-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:36px}.cp-card{background:var(--surface-card);border:var(--border-tech);border-radius:0;padding:16px 18px;min-width:0}.cp-card--wide{grid-column:1 / -1}.cp-card__title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.cp-card__title svg{flex-shrink:0}.cp-card__sub{font-size:13px;font-weight:650;margin-top:10px}.cp-card p,.cp-card li{font-size:15px;line-height:1.65;color:var(--text-secondary)}.cp-card ul{padding-left:18px;display:grid;gap:6px}.cp-section{margin:0 0 48px;padding-top:20px;border-top:var(--border-rule);scroll-margin-top:76px}.cp-section__title{font-size:clamp(1.45rem,1.1rem + 1.2vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--text-primary);margin:4px 0 14px}.cp-section>.cp-card+.cp-card,.cp-section>.cp-two+.cp-card,.cp-section>.cp-card+.cp-also{margin-top:14px}.cp-visual__bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.cp-visual__sub{margin:24px 0 0;padding-top:16px;border-top:var(--border-tech);font-size:1.1rem;font-weight:800;letter-spacing:-.01em;color:var(--text-primary)}.cp-visual{border:var(--border-rule);border-radius:0;padding:16px;background:color-mix(in srgb,var(--surface-card) 55%,transparent)}.cp-legacy-embed .page-container,.cp-legacy-embed .lab-container{padding:0!important;max-width:none!important}.cp-also{margin-top:12px;font-size:13.5px;color:var(--text-secondary);line-height:1.7}.cp-also a,.cp-roles a{color:var(--ctl-on-text);font-weight:600}.cp-prereqs{margin-top:8px;font-size:13px;color:var(--text-secondary)}.cp-prereqs__label{font-weight:600;color:var(--text-primary)}.cp-prereqs a{color:var(--ctl-on-text);font-weight:600}.cp-check{margin-top:28px}.cp-check .quiz+.quiz{margin-top:16px}.cp-source{color:var(--ctl-on-text);font-weight:600}.cp-source__date{color:var(--text-muted);font-size:12px}.cp-subtitle{margin:28px 0 6px;font-size:16px;font-weight:700;color:var(--text-primary);scroll-margin-top:90px}.cp-note{margin:0 0 12px;font-size:13.5px;line-height:1.6;color:var(--text-secondary)}.cp-note a{color:var(--ctl-on-text);font-weight:600}.cp-steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;margin-bottom:14px;counter-reset:step}.cp-step{display:grid;grid-template-columns:28px 1fr;gap:10px;background:var(--surface-card);border:var(--border-tech);border-radius:0;padding:14px}.cp-step__num{width:28px;height:28px;border-radius:0;display:grid;place-items:center;background:var(--ctl-on-bg);color:var(--ctl-on-text);font:700 13px/1 var(--font-mono)}.cp-step h3{font-size:14.5px;font-weight:700;color:var(--text-primary);line-height:1.35}.cp-step p{margin-top:4px;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}.cp-step__main{min-width:0}.cp-walk__intro{max-width:70ch;margin:0 0 12px;font-size:15.5px;line-height:1.65;color:var(--text-primary)}.cp-steps--walk{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:18px}.cp-steps--walk .cp-step{padding:18px 20px}.cp-steps--walk .cp-step h3{font-size:18px;font-weight:800;letter-spacing:-.01em}.cp-steps--walk .cp-step p{max-width:70ch;margin-top:10px;font-size:15.5px;line-height:1.65;color:var(--text-primary)}.cp-steps--walk .cp-step .cp-step__best{padding:10px 12px;background:var(--surface-well);border-left:4px solid var(--accent-primary)}.cp-step-visual{display:grid;gap:10px;margin:12px 0 4px;min-width:0}.cp-steps--walk .cp-step .cp-step-visual__summary{margin:0;font-size:14.5px;line-height:1.55}.cp-step-visual .step-run{margin:0}.cp-step-visual .viz-diagram,.cp-step-visual .viz-legend{max-width:720px;margin-inline:auto}.cp-step-visual .field-hint{max-width:70ch}.cp-table-wrap{overflow-x:auto;margin:4px 0 14px;border:var(--border-tech)}.cp-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5;color:var(--text-primary)}.cp-table caption{padding:10px 12px;text-align:left;font-weight:700;background:var(--surface-card);border-bottom:var(--border-tech)}.cp-table th,.cp-table td{padding:9px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--ctl-border)}.cp-table thead th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);background:var(--surface-card)}.cp-table tbody th{font-weight:700;white-space:nowrap}.cp-table tbody tr:last-child>*{border-bottom:0}@media(max-width:480px){.cp-steps--walk .cp-step{grid-template-columns:minmax(0,1fr);padding:14px 12px}.cp-table{font-size:13px}.cp-table tbody th{white-space:normal}}.cp-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cp-dl{display:grid;gap:10px}.cp-dl dt{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.cp-dl dd{font-size:14.5px;line-height:1.6;color:var(--text-primary);margin-top:2px}.cp-tips{list-style:none;display:grid;gap:10px;margin-bottom:16px}.cp-tips li{position:relative;padding:12px 14px 12px 38px;border:var(--border-tech);border-radius:0;background:var(--surface-card);font-size:14.5px;line-height:1.6;color:var(--text-primary)}.cp-tips li:before{content:"→";position:absolute;left:14px;top:12px;color:var(--ctl-on-text);font-weight:700}.reveal{border:var(--border-tech);border-radius:0;padding:14px 16px;background:var(--surface-card);margin-bottom:14px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.reveal__q{font-size:15px;line-height:1.6;color:var(--text-primary)}.reveal__a{font-size:14.5px;line-height:1.65;color:var(--text-secondary);border-left:3px solid var(--ctl-on-border);padding-left:12px}.quiz{border:var(--border-tech);border-radius:0;padding:14px 16px;background:var(--surface-card)}.quiz__q{font-size:15px;font-weight:700;line-height:1.5;color:var(--text-primary);padding:0;margin-bottom:10px}.quiz__options{display:grid;gap:8px}.quiz__opt{display:grid;grid-template-columns:18px 1fr;gap:4px 10px;align-items:start;padding:10px 12px;border-radius:0;border:1px solid var(--ctl-border);background:var(--ctl-bg);font-size:14px;line-height:1.5;color:var(--text-primary);cursor:pointer}.quiz__opt input{margin-top:3px;accent-color:var(--accent-primary)}.quiz__opt.is-chosen{border-color:var(--ctl-on-border)}.quiz__opt.is-correct{border-color:var(--st-good)}.quiz__opt.is-wrong{border-color:var(--st-critical)}.quiz__mark{grid-column:2;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700}.quiz__opt.is-correct .quiz__mark svg{color:var(--st-good)}.quiz__opt.is-wrong .quiz__mark svg{color:var(--st-critical)}.quiz__actions{margin-top:12px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.quiz__result{font-size:14px;line-height:1.6;color:var(--text-primary)}.quiz__result svg{vertical-align:-2px}.quiz__result.is-correct svg{color:var(--st-good)}.quiz__result.is-wrong svg{color:var(--st-critical)}.cp-practice,.cs-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px}.cp-link-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:0;border:var(--border-tech);background:var(--surface-card);text-decoration:none;transition:border-color .15s ease}.cp-link-card:hover{border-color:var(--ctl-on-border)}.cp-link-card__kind{font-size:12px;font-weight:600;color:var(--text-secondary)}.cp-link-card__title{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.4}.cp-next-hint{margin-top:14px;font-size:14px;color:var(--text-secondary);line-height:1.6}.cp-pager{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding-top:20px;border-top:var(--border-tech)}.cp-pager__link{display:flex;flex-direction:column;gap:2px;text-decoration:none;padding:8px 0;min-width:0}.cp-pager__link span{font-size:12px;color:var(--text-secondary)}.cp-pager__link strong{font-size:14px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.cp-pager__link:hover strong{text-decoration:underline}.cp-pager__link--next{text-align:right}@media(max-width:760px){.cp-intro,.cp-two{grid-template-columns:minmax(0,1fr)}.cp-pager{grid-template-columns:1fr 1fr}.cp-pager .btn{grid-column:1 / -1;grid-row:1}}.cs-note{margin-top:10px;font-size:13.5px;color:var(--text-secondary)}.cs-arch{margin-bottom:24px}.cs-arch__frame{border:var(--border-tech);border-radius:0;background:var(--surface-card);padding:12px 12px 10px}.cs-arch .viz-diagram.is-narrow svg{max-width:480px;margin-inline:auto}@media(max-width:720px){.cs-arch__frame{padding:8px 4px}}.cs-arch__caption{margin-top:12px;max-width:75ch;font-size:1rem;line-height:1.6;color:var(--text-primary)}.cs-links{margin-bottom:20px}.cs-demo{border:var(--border-rule);border-radius:0;padding:16px;background:color-mix(in srgb,var(--surface-card) 55%,transparent)}.cs-demo__note{margin:0 0 12px;font-size:.9rem;color:var(--text-secondary)}.cs-demo__note a{color:var(--accent-text)}.cs-demo .demo-container{background:transparent;border:0;box-shadow:none;padding:12px}@media(max-width:640px){.cs-demo{padding:8px}.cs-demo .demo-container{padding:6px}}.dp{display:grid;gap:16px;min-width:0}.dp__lede{margin:0;max-width:70ch;font-size:14.5px;line-height:1.6;color:var(--text-secondary)}.dp__pickers{display:grid;gap:12px;padding:14px 16px;background:var(--surface-card);border:var(--border-tech)}.dp__pattern{display:grid;gap:14px;min-width:0}.dp__name{margin:4px 0 0;font-size:1.35rem;font-weight:800;letter-spacing:-.01em;color:var(--text-primary)}.dp__summary{margin:0;font-size:14.5px;line-height:1.55;color:var(--text-primary)}.dp__words{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px 28px;padding-top:14px;border-top:var(--border-tech)}.dp__words h4{margin:0 0 6px;font:var(--text-kicker);text-transform:uppercase;letter-spacing:var(--track-kicker);color:var(--text-secondary)}.dp__words p,.dp__words li{margin:0;max-width:65ch;font-size:14.5px;line-height:1.6;color:var(--text-primary)}.dp__words ul{margin:0;padding-left:1.2em;display:grid;gap:6px}.dp__code{margin:0;background:var(--surface-well);border:var(--border-tech);min-width:0}.dp__code figcaption{padding:8px 12px;border-bottom:var(--border-tech);font:var(--text-kicker);text-transform:uppercase;letter-spacing:var(--track-kicker);color:var(--text-secondary)}.dp__code pre{margin:0;padding:12px 14px;white-space:pre-wrap;overflow-wrap:anywhere;font:500 13px/1.6 var(--font-mono);color:var(--text-primary)}.ref-arch{display:flex;flex-direction:column;gap:8px}.ref-arch__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.ref-arch__caption{min-height:42px;padding:10px 12px;border-radius:0;background:var(--surface-card);border:var(--border-tech);font-size:14px;line-height:1.5;color:var(--text-primary)}.dm{display:flex;flex-direction:column;gap:14px}.dm__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dm__side{background:var(--surface-card);border:var(--border-tech);border-radius:0;padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-width:0}.dm__tables{display:flex;flex-wrap:wrap;gap:10px}.dm-table{border:1px solid var(--ctl-border);border-radius:0;overflow:hidden;min-width:108px;background:var(--viz-node);transition:border-color .2s ease}.dm-table__name{padding:5px 9px;font:700 12px/1.3 var(--font-mono);color:var(--text-primary);background:color-mix(in srgb,var(--viz-data) 14%,transparent)}.dm-table__col{padding:3px 9px;font:500 11.5px/1.5 var(--font-mono);color:var(--text-secondary);border-top:1px solid var(--ctl-border)}.dm-table.is-active{border-color:var(--viz-data);box-shadow:0 0 0 2px color-mix(in srgb,var(--viz-data) 35%,transparent)}.dm-doc{margin:0;padding:10px 12px;border-radius:0;border:1px solid var(--ctl-border);background:var(--viz-node);font:500 12px/1.55 var(--font-mono);color:var(--text-primary);overflow-x:auto;white-space:pre}.dm-doc.is-active{border-color:var(--viz-data);box-shadow:0 0 0 2px color-mix(in srgb,var(--viz-data) 35%,transparent)}.dm__cost{font-size:13.5px;line-height:1.55;color:var(--text-secondary)}.dm__cost strong{color:var(--text-primary)}.dm__verdict{padding:12px 14px;border-radius:0;border:1px solid var(--ctl-on-border);background:var(--ctl-on-bg);font-size:14.5px;line-height:1.6;color:var(--text-primary)}@media(max-width:760px){.dm__grid{grid-template-columns:minmax(0,1fr)}}.skip-link{position:absolute;left:12px;top:-60px;z-index:2000;padding:10px 14px;border-radius:0;background:var(--brand-yellow);color:var(--on-brand);font-weight:700;text-decoration:none}.skip-link:focus{top:10px}.main-content:focus{outline:none}.empty-state{max-width:560px;margin:60px auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.home-section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:18px}.home-section__title{font-size:clamp(1.35rem,1.05rem + 1vw,1.9rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--text-primary);margin-top:6px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}.lab-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:var(--border-tech);background:var(--surface-card);text-decoration:none;transition:border-color .15s ease,background .15s ease}.lab-card:hover{border-color:var(--rule);background:var(--surface-hover)}.lab-card__kind{font:var(--text-kicker);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.lab-card__level{font:700 11px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--ctl-border);padding:3px 6px;align-self:flex-start}.lab-card__title{font-size:17px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;line-height:1.25}.lab-card__summary{font-size:14px;line-height:1.55;color:var(--text-secondary)}.case-filter input{width:min(100%,280px)}.announce{background:var(--brand-yellow);color:var(--on-brand)}.announce__inner{max-width:calc(var(--page-wide) + 2 * var(--gutter));margin:0 auto;padding:8px var(--gutter);display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:14px;line-height:1.4}.announce__text{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0;font-weight:700}.announce__topic{display:inline-flex;align-items:center;gap:7px;min-width:19ch;padding:2px 9px;background:var(--on-brand);color:var(--brand-yellow);white-space:nowrap}.announce__rest{font-weight:500}.announce__link{margin-left:auto;display:inline-flex;align-items:center;gap:8px;min-height:24px;font-weight:700;color:var(--on-brand);text-decoration:none;border-bottom:2px solid var(--on-brand)}.announce__link:hover{opacity:.75}.announce__link:focus-visible{outline:2px solid var(--on-brand);outline-offset:3px}.announce__tag{padding:2px 6px;background:var(--ai-fill);color:var(--on-ai);font-size:11px;font-weight:700;letter-spacing:.08em}.mark{display:inline-block;flex:none;width:8px;height:8px;background:var(--brand-yellow)}.mark--ai{background:var(--brand-violet)}.mark--both{background:linear-gradient(90deg,var(--brand-yellow) 50%,var(--brand-violet) 50%)}.mark--lg{width:10px;height:10px}.brand-mark{display:grid;grid-template-columns:1fr 1fr;flex:none;width:22px;height:22px}.brand-mark:before{content:"";background:var(--brand-yellow)}.brand-mark:after{content:"";background:var(--brand-violet)}.topnav{position:sticky;top:0;z-index:900;background:var(--bg-base);border-bottom:var(--border-rule)}.topnav__bar{max-width:calc(var(--page-wide) + 2 * var(--gutter));margin:0 auto;min-height:60px;padding:0 var(--gutter);display:flex;align-items:center;gap:16px}.topnav__brand{display:inline-flex;align-items:center;gap:10px;color:var(--text-primary);text-decoration:none;font-size:18px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.topnav__menus ul{list-style:none;display:flex;align-items:center;gap:2px}.topnav__has-menu{position:relative}.topnav__item{display:inline-flex;align-items:center;gap:7px;min-height:60px;padding:6px 10px;border:0;background:transparent;color:var(--text-primary);font:500 14px/1 var(--font-sans);text-decoration:none;white-space:nowrap;cursor:pointer}.topnav__item:hover,.topnav__item[aria-expanded=true]{color:var(--accent-text)}.topnav__item.is-active{font-weight:700;box-shadow:inset 0 -4px 0 var(--accent-primary)}.topnav__menu{position:absolute;top:100%;left:0;min-width:300px;padding:6px;border:var(--border-rule);background:var(--bg-base);box-shadow:var(--shadow-lg);display:flex!important;flex-direction:column;gap:0}.topnav__menu>li+li{border-top:1px solid var(--line)}.topnav__menu-link{display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none}.topnav__menu-link:hover,.topnav__menu-link.active{background:var(--surface-hover)}.topnav__menu-label{font-size:15px;font-weight:700;color:var(--text-primary)}.topnav__menu-desc{font-size:13px;color:var(--text-secondary)}.topnav__menu--end{left:auto;right:0;min-width:260px;top:calc(100% + 12px)}.topnav__menu-btn{width:100%;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer}.topnav__menu-btn[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 4px 0 0 var(--accent-primary)}.topnav__actions{margin-left:auto;display:flex;align-items:center;gap:8px}.topnav__search{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 8px;border:1px solid var(--line-strong);background:transparent;color:var(--text-secondary);font:500 14px/1 var(--font-sans);cursor:pointer}.topnav__search:hover{color:var(--text-primary);border-color:var(--rule)}.topnav__search kbd{font:600 11px/1 var(--font-sans);padding:2px 5px;border:1px solid var(--line-strong);color:var(--text-secondary)}.topnav__icon-btn{display:inline-flex;align-items:center;gap:6px;height:36px;min-width:36px;justify-content:center;padding:0 10px;border:1px solid var(--line-strong);background:transparent;color:var(--text-primary);font:500 14px/1 var(--font-sans);white-space:nowrap;cursor:pointer}.topnav__icon-btn:hover{background:var(--surface-hover);border-color:var(--rule)}.topnav__icon-btn.is-on{border-color:var(--ctl-on-border);background:var(--ctl-on-bg);color:var(--ctl-on-text)}.topnav__cta{display:inline-flex;align-items:center;height:36px;padding:0 14px;background:var(--brand-yellow);color:var(--on-brand);font:700 14px/1 var(--font-sans);text-decoration:none;white-space:nowrap}.topnav__cta:hover{background:var(--brand-yellow-hover)}.topnav__avatar{width:36px;height:36px;border:1px solid var(--line-strong);background:var(--ctl-on-bg);color:var(--ctl-on-text);font:700 12px/1 var(--font-sans);cursor:pointer}.topnav__burger{display:none;min-width:40px;height:40px;border:1px solid var(--line-strong);background:transparent;color:var(--text-primary);cursor:pointer;align-items:center;justify-content:center}.topnav__mobile{display:none}.topnav :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.topnav__search-text,.topnav__icon-label,.topnav__search kbd{display:none}.topnav__on-mark{font-weight:700}.topnav__level-short{display:none}@media(max-width:1329px){.topnav__level-prefix{display:none}.topnav__level-short{display:inline}}@media(max-width:1279px){.topnav__menus{display:none}.topnav__burger{display:inline-flex}.topnav__bar{gap:10px}.topnav__mobile{display:flex;flex-direction:column;gap:16px;padding:14px var(--gutter) 20px;border-top:1px solid var(--line-strong);max-height:calc(100vh - 60px);overflow-y:auto}.topnav__mobile-group ul{list-style:none;display:flex;flex-direction:column;margin-top:6px;border-top:1px solid var(--line)}.topnav__mobile-group li{border-bottom:1px solid var(--line)}.topnav__mobile-head{display:flex;align-items:center;gap:8px;font:var(--text-kicker);letter-spacing:var(--track-kicker);text-transform:uppercase;color:var(--text-secondary);text-decoration:none}a.topnav__mobile-head{font:700 16px/1.3 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--text-primary);padding:6px 0}.topnav__mobile-link{display:block;padding:11px 2px;color:var(--text-primary);text-decoration:none;font-size:16px;font-weight:500}.topnav__mobile-link.active,.topnav__mobile-link:hover{color:var(--accent-text)}}@media(max-width:560px){.topnav__cta,.topnav__search kbd{display:none}.topnav__actions{gap:6px}}@media(max-width:400px){.topnav__brand{font-size:16px;gap:8px}.topnav__level{display:none}}@media(max-width:340px){.topnav__bar{padding:0 16px;gap:6px}.topnav__brand{gap:6px}.topnav__actions{gap:4px}}.topnav__mobile-account,.topnav__mobile-settings{display:none}.topnav__mobile-btn{width:100%;border:0;background:none;text-align:left;font-family:var(--font-sans);cursor:pointer}.topnav__mobile-btn[aria-pressed=true]{color:var(--accent-text)}.topnav__mobile-desc{display:block;margin-top:2px;font-size:13px;font-weight:400;color:var(--text-secondary)}.topnav__mobile-subhead{margin-top:12px;font:var(--text-kicker);letter-spacing:var(--track-kicker);text-transform:uppercase;color:var(--text-secondary)}@media(max-width:760px){.topnav__account,.topnav__level,.topnav__beginner{display:none}.topnav__mobile-account,.topnav__mobile-settings{display:block}.topnav__mobile-account .topnav__mobile-link{width:100%;border:0;background:none;text-align:left;font-family:var(--font-sans);cursor:pointer}}.site-footer{border-top:var(--border-rule);margin-top:24px;font-size:15px}.site-footer__inner{max-width:calc(var(--page-wide) + 2 * var(--gutter));margin:0 auto;padding:48px var(--gutter) 24px;display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:32px}.site-footer__brand{display:flex;flex-direction:column;gap:12px;max-width:400px}.site-footer__name{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--text-primary)}.site-footer__name .brand-mark{width:18px;height:18px}.site-footer__tag,.site-footer__credit{line-height:1.55;color:var(--text-secondary)}.site-footer__credit strong{color:var(--text-primary)}.site-footer__col{display:flex;flex-direction:column;gap:10px}.site-footer__col h2{display:flex;align-items:center;gap:8px;font:var(--text-kicker);letter-spacing:var(--track-kicker);text-transform:uppercase;color:var(--text-secondary)}.site-footer__col--sd h2{color:var(--accent-text)}.site-footer__col--ai h2{color:var(--ai-text)}.site-footer__col ul{list-style:none;display:grid;gap:8px}.site-footer__col a{color:var(--text-primary);text-decoration:none}.site-footer__col a:hover{color:var(--accent-text)}.site-footer__legal{font-size:13px;color:var(--text-secondary)}@media(max-width:860px){.site-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:36px}.site-footer__brand{grid-column:1 / -1}}.labs-hub{max-width:var(--page-wide);margin:0 auto}.labs-hub__filters{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:8px}.labs-hub__seg{grid-template-columns:repeat(4,auto)!important}.labs-hub__search input{min-width:280px;min-height:38px;padding:8px 12px;border-radius:0;border:1px solid var(--ctl-border);background:var(--ctl-bg);color:var(--text-primary);font:500 14px/1 var(--font-sans)}.labs-hub__stage{padding:26px 0 8px}.labs-hub__stage-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:14px}.labs-hub__stage-head p{font-size:14px;color:var(--text-secondary)}.labs-hub__tool-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:0 24px}.labs-hub__tool-list li{padding:10px 0;border-bottom:1px solid var(--border-color);font-size:14px;color:var(--text-secondary);overflow-wrap:anywhere}.labs-hub__tool-list a{color:var(--accent-text);font-weight:600;text-underline-offset:3px}.lab-card--hub{position:relative}.lab-card__cover{color:inherit;text-decoration:none}.lab-card__cover:after{content:"";position:absolute;inset:0;border-radius:0}.lab-card__cover:focus-visible{outline:none}.lab-card--hub:focus-within{border-color:var(--focus-ring);box-shadow:0 0 0 2px color-mix(in srgb,var(--focus-ring) 40%,transparent)}.lab-card__teaches{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.lab-card__teaches li{font-size:12px;padding:3px 8px;border-radius:0;border:1px solid var(--ctl-border);color:var(--text-secondary)}.lab-card__concept{margin-top:6px;font-size:12.5px;color:var(--text-secondary)}.lab-card__concept a{position:relative;z-index:1;color:var(--ctl-on-text);font-weight:600}.lab-card__preview{margin:-4px -6px 6px;padding:8px 10px;border-radius:0;background:var(--surface-well)}@media(max-width:720px){.lab-card__preview .mini{max-height:72px}}@media(max-width:640px){.labs-hub__seg{grid-template-columns:repeat(2,1fr)!important}.labs-hub__search,.labs-hub__search input{width:100%;min-width:0}}.search-overlay{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:color-mix(in srgb,#000 55%,transparent)}.search-dialog{width:min(640px,100%);max-height:min(560px,76vh);display:flex;flex-direction:column;border:var(--border-rule);background:var(--bg-base);color:var(--text-primary);box-shadow:var(--shadow-lg);overflow:hidden}.search-dialog__bar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:var(--border-tech)}.search-dialog__icon{width:18px;height:18px;flex:none;fill:none;stroke:var(--text-secondary);stroke-width:2;stroke-linecap:round}.search-dialog__input{flex:1;min-width:0;border:0;background:transparent;color:var(--text-primary);font:inherit;font-size:16px}.search-dialog__input:focus{outline:none}.search-dialog__input::placeholder{color:var(--text-secondary)}.search-dialog__bar:focus-within{box-shadow:inset 0 -2px 0 var(--focus-ring)}.search-dialog__close{flex:none;padding:3px 8px;border-radius:0;border:var(--border-tech);background:var(--surface-hover);color:var(--text-secondary);font:600 12px/1.4 var(--font-mono);cursor:pointer}.search-dialog__close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.search-dialog__status{margin:0;padding:8px 16px 4px;font-size:12px;font-weight:600;color:var(--text-secondary)}.search-dialog__list{list-style:none;margin:0;padding:4px 8px 8px;overflow-y:auto}.search-opt{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border-radius:0;border:1px solid transparent;cursor:pointer}.search-opt.is-active{background:var(--ctl-on-bg);border-color:var(--ctl-on-border)}.search-opt__head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.search-opt__title{font-size:14.5px;font-weight:650;color:var(--text-primary)}.search-opt__cat{font-size:11.5px;font-weight:600;color:var(--text-secondary)}.search-opt__desc{font-size:13px;line-height:1.45;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-dialog__empty{margin:0;padding:4px 16px 14px;font-size:13.5px;color:var(--text-secondary)}.search-dialog__foot{margin:0;padding:8px 16px;border-top:var(--border-tech);font-size:12px;color:var(--text-secondary)}.search-dialog__foot kbd{font:600 11px/1 var(--font-mono);padding:2px 5px;margin-right:2px;border-radius:0;border:var(--border-tech);background:var(--surface-hover)}@media(max-width:560px){.search-overlay{padding-top:16px}.search-dialog{max-height:calc(100dvh - 32px)}.search-dialog__foot{display:none}}.cmap{margin-bottom:2.5rem}.cmap__title{margin:0;font-size:1.35rem;font-weight:800;color:var(--text-primary)}.cmap__lead{margin:.35rem 0 .75rem;max-width:70ch;color:var(--text-secondary);line-height:1.6}.cmap__legend{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1.5rem;font-size:.85rem;color:var(--text-secondary)}.cmap__legend li{display:inline-flex;align-items:center;gap:.5rem}.cmap__detail{position:sticky;top:67px;z-index:2;margin-bottom:1.25rem;padding:.85rem 1rem;background:var(--surface-card);border:var(--border-tech-active);border-radius:0;box-shadow:var(--shadow-md)}.cmap__detail-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem}.cmap__picked{margin:0;font-size:1.05rem;font-weight:800;color:var(--text-primary)}.cmap__stage{font-size:.8rem;color:var(--text-secondary)}.cmap__facts{margin:.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:.4rem 1.5rem}.cmap__facts>div{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;min-width:0}.cmap__facts dt{font-size:.8rem;font-weight:700;color:var(--text-primary)}.cmap__facts dd{margin:0;display:contents}.cmap__none{font-size:.85rem;color:var(--text-secondary)}.cmap__pick{min-height:32px;padding:.2rem .65rem;border:1px solid var(--border-strong);border-radius:0;background:var(--surface-well);color:var(--text-primary);font:inherit;font-size:.8rem;font-weight:600;text-align:left;cursor:pointer}.cmap__pick:hover{border-color:var(--accent-primary)}.cmap__go{margin:.6rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}.cmap__wrap{width:100%;overflow:hidden}.cmap__canvas{position:relative;margin:0 auto}.cmap__edges{position:absolute;inset:0;overflow:visible;pointer-events:none}.cmap__edge{fill:none;stroke:var(--text-secondary);stroke-width:1.5}.cmap__edge--also{stroke-dasharray:5 4}.cmap__edge.is-dim{opacity:.45}.cmap__edge.is-lit{stroke:var(--accent-text);stroke-width:2.5}.cmap__arrow{fill:var(--text-secondary)}.cmap__arrow--lit{fill:var(--accent-text)}.cmap__head{position:absolute;margin:0;font-size:.85rem;font-weight:800;line-height:1.2;color:var(--text-primary)}.cmap__head-step{display:block;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.cmap__canvas--narrow .cmap__head{padding-left:40px;padding-top:4px}.cmap__canvas--narrow .cmap__head-step{display:inline;margin-right:.35rem}.cmap__node{position:absolute;display:flex;align-items:center;padding:4px 9px;border:1px solid var(--border-strong);border-radius:0;background:var(--surface-card);color:var(--text-primary);font:inherit;font-size:.78rem;font-weight:600;line-height:1.25;text-align:left;cursor:pointer;scroll-margin-top:280px}.cmap__canvas--narrow .cmap__node{font-size:.875rem;padding-left:40px}.cmap__node:hover{border-color:var(--accent-primary)}.cmap__node-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.cmap__canvas--narrow .cmap__node-title{-webkit-line-clamp:2}.cmap__node.is-linked{border:2px solid var(--text-primary)}.cmap__node.is-picked{border:3px solid var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 12%,var(--surface-card))}.cmap__tag{position:absolute;top:-9px;right:8px;padding:0 .4rem;border-radius:0;background:var(--text-primary);color:var(--surface-card);font-size:.65rem;font-weight:800;line-height:16px;white-space:nowrap}.cmap__node.is-picked .cmap__tag{background:var(--accent-primary);color:var(--on-accent)}@media(max-width:720px){.cmap__detail{padding:.6rem .75rem;margin-bottom:1rem}.cmap__stage{display:none}.cmap__facts{margin-top:.35rem;gap:.3rem}.cmap__go{margin-top:.45rem}}.cmap__text{margin-top:1.25rem;padding:.6rem .9rem;border:var(--border-tech);border-radius:0;background:var(--surface-card);color:var(--text-secondary);font-size:.9rem}.cmap__text summary{min-height:32px;display:flex;align-items:center;cursor:pointer;font-weight:700;color:var(--text-primary)}.cmap__text ol{margin:.5rem 0 .25rem;padding-left:1.6rem;display:grid;gap:.3rem;line-height:1.55}.cmap__text a{color:var(--accent-text);font-weight:600}.load-mix{margin:0 0 1rem;padding:1rem 1.1rem;background:var(--surface-well);border:var(--border-tech);border-radius:0}.load-mix__title{margin-bottom:.6rem;font-size:.9rem;font-weight:700;color:var(--text-primary)}.load-mix__bar{display:flex;height:22px;border-radius:0;overflow:hidden;border:1px solid var(--border-strong);background:var(--surface-card)}.load-mix__write{background:repeating-linear-gradient(135deg,var(--series-2) 0 6px,color-mix(in srgb,var(--series-2) 60%,var(--surface-card)) 6px 10px)}.load-mix__read{background:var(--series-1)}.load-mix__key{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1.5rem;font-size:.85rem;color:var(--text-primary)}.load-mix__key li{display:inline-flex;align-items:center;gap:.45rem}.load-mix__swatch{width:14px;height:14px;border-radius:0;flex-shrink:0;border:1px solid var(--border-strong)}.load-mix__swatch--write{background:repeating-linear-gradient(135deg,var(--series-2) 0 4px,color-mix(in srgb,var(--series-2) 60%,var(--surface-card)) 4px 7px)}.load-mix__swatch--read{background:var(--series-1)}.load-mix__verdict{margin:.6rem 0 0;font-size:.9rem;line-height:1.55;color:var(--text-secondary)}.load-mix__verdict strong{color:var(--text-primary)}.ql-preview{margin:0 0 1.5rem;padding:1rem;border:var(--border-rule);background:var(--surface-card)}.ql-preview__caption{margin:0 0 .75rem;font-size:.9rem;line-height:1.55;color:var(--text-secondary)}.ql-preview__caption strong{color:var(--text-primary)}.ql-preview__tiers{list-style:none;margin:0;padding:0;display:grid;gap:0}.ql-preview__tier{display:grid;grid-template-columns:minmax(5.5rem,9rem) minmax(0,1fr);gap:.5rem .75rem;align-items:center}.ql-preview__tier+.ql-preview__tier:before{content:"↓";grid-column:2;justify-self:start;padding-left:1rem;line-height:1.3;color:var(--text-muted)}.ql-preview__tier-name{grid-column:1;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.ql-preview__parts{grid-column:2;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.ql-preview__part{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border:1px solid var(--border-strong);background:var(--surface-well);font-size:.82rem;color:var(--text-primary)}.ql-preview__part svg{flex:none;color:var(--text-secondary)}.ql-preview__open{margin-top:.85rem}@media(max-width:480px){.ql-preview__tier{grid-template-columns:minmax(0,1fr)}.ql-preview__tier-name,.ql-preview__parts,.ql-preview__tier+.ql-preview__tier:before{grid-column:1}}.ql-steps{position:sticky;top:59px;z-index:3;display:flex;gap:.4rem;margin:0 0 1.25rem;padding:.5rem 0;overflow-x:auto;background:var(--surface-card);border-bottom:var(--border-tech)}.ql-steps__link{flex-shrink:0;min-height:36px;padding:.3rem .8rem;border:1px solid var(--border-strong);border-radius:0;background:var(--surface-well);color:var(--text-primary);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.ql-steps__link:hover{border-color:var(--accent-primary)}.ql-section{scroll-margin-top:125px}.ql-section--folds{border-top:var(--border-tech);padding-top:.75rem}.ql-section.is-closed>:not(.ql-section__head){display:none!important}.ql-section.is-closed .ql-section__head--row>:not(.ql-section__head){display:none!important}.ql-section.is-closed{margin-bottom:.5rem!important}.rubric.is-closed>:not(h2),.four-levels.is-closed>:not(h2){display:none!important}.ql-section.is-closed .ql-section__head{margin-bottom:.5rem!important}.ql-section__toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:44px;padding:.25rem 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.ql-section__toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:0}.ql-section__mark{flex-shrink:0;width:1.5rem;text-align:center;font-size:1.3rem;line-height:1;color:var(--text-secondary)}@media(max-width:720px){.ql-steps{background:var(--surface-base)}.ql-steps__link{min-height:44px}}.ql-sidebar__body{display:flex;flex-direction:column;flex:1;min-height:0}.ql-sidebar__toggle{display:none;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border:0;border-radius:0;background:var(--surface-well);color:var(--text-primary);font:inherit;font-size:.9rem;font-weight:700;text-align:left;cursor:pointer}@media(max-width:960px){.stack-md{grid-template-columns:minmax(0,1fr)!important}.ql-sidebar{position:static!important;max-height:60vh!important}.ql-sidebar__toggle{display:flex}.ql-sidebar:not(.is-open){padding:.5rem!important}.ql-sidebar:not(.is-open) .ql-sidebar__body{display:none}.ql-sidebar.is-open .ql-sidebar__toggle{margin-bottom:.75rem}}@media(max-width:720px){.stack-sm{grid-template-columns:minmax(0,1fr)!important}.ql-detail{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.grid-2-sm{grid-template-columns:repeat(2,minmax(0,1fr))!important}.wrap-sm{flex-wrap:wrap!important}}@media(max-width:720px){.cs [style*=grid-template-columns],.cp-visual [style*=grid-template-columns]{grid-template-columns:minmax(0,1fr)!important}.cs [style*="display: flex"]:not([style*="flex-direction: column"]),.cp-visual [style*="display: flex"]:not([style*="flex-direction: column"]){flex-wrap:wrap}}@media(max-width:480px){.cp-visual:has(.stage-card){padding:0;border:0;background:none}}[id^=level-]{scroll-margin-top:76px}.learning-path button:not(.stage-head__toggle),.learning-path .lp-search{min-height:32px}.curriculum-topic-row__title{display:inline-flex;align-items:center;min-height:32px}.ctr-check{width:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;cursor:pointer}.ctr-star{min-width:32px}@media(max-width:720px),(pointer:coarse){.learning-path button:not(.stage-head__toggle),.learning-path .lp-search,.curriculum-topic-row__title{min-height:44px}.ctr-check,.ctr-star{width:44px;min-width:44px}}.rel-badge{display:inline-flex;align-items:center;gap:5px;padding:1px 7px;border-radius:0;border:1px solid var(--ctl-border);font-size:11.5px;font-weight:650;line-height:1.6;white-space:nowrap;color:var(--text-secondary);background:var(--surface-well)}.rel-badge__meter{font-size:11px;letter-spacing:1.5px;line-height:1}.rel-badge__role{color:var(--text-primary)}.rel-badge--core{color:var(--ctl-on-text);background:var(--ctl-on-bg);border-color:var(--ctl-on-border)}.rel-badge--expected{color:var(--text-primary)}.rel-badge--beyond{opacity:.85;border-style:dashed}.rel-table{display:grid;gap:6px;margin:0}.rel-table__row{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:4px 14px;align-items:baseline;padding:8px 10px;border-radius:0;border:1px solid transparent}.rel-table__row.is-current{background:var(--ctl-on-bg);border-color:var(--ctl-on-border)}.rel-table__row dt{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rel-table__role{font-weight:700;color:var(--text-primary);min-width:3.5rem}.rel-table__row dd{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.5}@media(max-width:560px){.rel-table__row{grid-template-columns:minmax(0,1fr)}}.role-summary{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--text-secondary);max-width:62rem}.role-summary strong{color:var(--text-primary)}.emerging-note{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;font-weight:650;padding:2px 9px;border-radius:0;border:1px dashed var(--ctl-border);color:var(--text-secondary)}.cp-track-note{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;font-weight:650;padding:2px 9px;border-radius:0;border:1px dashed var(--ctl-border);color:var(--accent-text);text-decoration:none}.cp-track-note:hover{text-decoration:underline}.stage-head{position:relative}.stage-head__toggle{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.stage-head__toggle:after{content:"";position:absolute;inset:0}.stage-head__toggle:focus-visible{outline:none}.stage-head:has(.stage-head__toggle:focus-visible){outline:2px solid var(--focus-ring);outline-offset:-2px}.level-practice{margin:18px 0 20px}.level-practice__title{margin:0;font-size:17px;font-weight:700;color:var(--text-primary)}.level-practice .cp-practice{margin-top:10px}.iad{min-width:0;margin-bottom:1.5rem;padding:1.25rem;background:var(--surface-well);border:var(--border-tech)}.iad__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:var(--border-tech)}.iad__heading{display:flex;flex:1 1 260px;gap:.65rem;align-items:flex-start;min-width:0}.iad__title{margin:0;font-size:.95rem;font-weight:700;line-height:1.35;color:var(--text-primary)}.iad__version{display:inline-block;margin-left:.35rem;padding:.1rem .45rem;border:1px solid var(--line-strong);font:700 .7rem/1.4 var(--font-mono);color:var(--text-secondary);white-space:nowrap}.iad__hint{margin:.2rem 0 0;font-size:.8rem;line-height:1.5;color:var(--text-secondary)}.iad__actions{display:flex;flex-wrap:wrap;gap:.5rem}.iad__actions button{padding:.45rem .9rem;font-size:.82rem}.iad__label{margin:1.1rem 0 .5rem;font:var(--text-kicker);letter-spacing:var(--track-kicker);text-transform:uppercase;color:var(--text-secondary)}.iad-tiers{display:grid;gap:.9rem;align-items:start;overflow-x:auto}.iad-tier__name{margin:0 0 .5rem;font:700 .68rem/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--text-muted)}.iad-tier__nodes{display:grid;gap:.6rem;justify-items:center}.iad-tier__none{width:100%;max-width:170px;margin:0;padding:.9rem .5rem;border:1px dashed var(--line);font-size:.72rem;line-height:1.4;text-align:center;color:var(--text-muted)}.iad-node{display:grid;justify-items:center;gap:.2rem;width:100%;max-width:170px;padding:.55rem .55rem .5rem;background:var(--surface-card);border:2px solid var(--line);text-align:center}.iad-node.is-active{border-color:var(--accent-primary)}.iad-node.is-off{border-style:dashed;border-color:var(--status-failed)}.iad-node__glyph{display:flex;color:var(--text-secondary)}.iad-node__name{font-size:.8rem;font-weight:700;line-height:1.25;color:var(--text-primary);overflow-wrap:anywhere}.iad-node__role{font:500 .68rem/1.35 var(--font-mono);color:var(--text-muted)}.iad-node.is-off .iad-node__role{font-weight:700;color:var(--tone-danger)}.iad-node__facts{width:100%;font-size:.7rem;line-height:1.45;color:var(--text-secondary);text-align:left}.iad-node__facts summary{cursor:pointer;text-align:center}.iad-node__facts dl{display:grid;gap:.1rem;margin:.3rem 0 0}.iad-node__facts dt{display:inline;color:var(--text-muted)}.iad-node__facts dt:after{content:": "}.iad-node__facts dd{display:inline;margin:0;color:var(--text-primary)}.iad-node__switch{min-height:28px;margin-top:.3rem;padding:.2rem .6rem;background:transparent;border:1px solid var(--line-strong);font:600 .72rem/1 var(--font-sans);color:var(--text-secondary);cursor:pointer}.iad-node__switch:hover{border-color:var(--text-primary);color:var(--text-primary)}.iad-node__switch[aria-pressed=true]{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-base)}.iad__now{min-height:3em;margin:0 0 .6rem;padding:.55rem .75rem;background:var(--surface-card);border-left:2px solid var(--accent-primary);font-size:.88rem;line-height:1.5;color:var(--text-primary)}.iad__now.is-failed{border-left-color:var(--status-failed)}.iad__picture{padding:12px 8px;background:var(--surface-card);border:var(--border-rule)}.iad__log{margin-top:1rem}.iad__log-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;margin:0 0 .5rem;font:700 .74rem/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.iad-steps{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.iad-step{display:grid;grid-template-columns:22px minmax(0,1fr);gap:.6rem;align-items:start;padding:.45rem .6rem;background:var(--surface-card);border-left:2px solid transparent}.iad-step.is-active{border-left-color:var(--accent-primary)}.iad-step__num{display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--line-strong);font:700 .7rem/1 var(--font-mono);color:var(--text-primary)}.iad-step.is-active .iad-step__num{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--on-brand)}.iad-step__hop{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .35rem;margin:0;font-size:.82rem;font-weight:700;color:var(--text-primary)}.iad-step__meta{font:500 .72rem/1.4 var(--font-mono);color:var(--text-muted)}.iad-step__status{display:inline-flex;align-items:center;gap:.2rem;font:700 .72rem/1.4 var(--font-mono)}.iad-step.is-ok .iad-step__status{color:var(--tone-success)}.iad-step.is-warn .iad-step__status{color:var(--tone-warn)}.iad-step.is-failed .iad-step__status{color:var(--tone-danger)}.iad-step__text{margin:.1rem 0 0;font-size:.8rem;line-height:1.5;color:var(--text-secondary)}@media(max-width:900px){.ql-arch{padding:.75rem!important}.iad{padding:0;border:0;background:none}.iad__picture{padding:8px 4px}.iad-tiers{grid-template-columns:minmax(0,1fr)!important;gap:.6rem}.iad-tier__name{margin-bottom:.3rem;text-align:left}.iad-tier__nodes{justify-items:stretch;gap:.35rem}.iad-node{grid-template-columns:22px minmax(0,1fr) auto;align-items:center;justify-items:start;gap:.1rem .6rem;max-width:none;padding:.45rem .6rem;text-align:left}.iad-node__glyph{grid-row:1 / span 2}.iad-node__name,.iad-node__role{grid-column:2}.iad-node__switch{grid-column:3;grid-row:1 / span 2;min-height:44px;margin:0}.iad-node__facts{grid-column:1 / -1}.iad-node__facts summary{text-align:left}.iad-tier__none{max-width:none;padding:.5rem}}.problem-glyph{display:inline-flex;flex-shrink:0;color:var(--accent-text);vertical-align:middle}.tradeoff-tab--active .problem-glyph{color:inherit}.to-tabs{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.tob-sim{margin-bottom:2.5rem;padding:1.5rem;display:grid;gap:1.25rem;background:var(--surface-well);border:var(--border-tech-active);border-radius:0;min-width:0}.tob-sim>*{min-width:0}.tob-sim__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem}.tob-sim__title{margin:0;font-size:1.2rem;font-weight:800;color:var(--text-primary)}.tob-sim__lead{margin:.3rem 0 0;max-width:62ch;font-size:.9rem;line-height:1.55;color:var(--text-secondary)}.tob-sim__spike{margin:0;padding:.6rem .9rem;border-radius:0;border:1px solid var(--st-warn);background:color-mix(in srgb,var(--st-warn) 12%,var(--surface-card));color:var(--text-primary);font-size:.9rem;line-height:1.5}.tob-sim__stage{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,2fr);gap:1.25rem;align-items:start}.tob-sim__picture{display:grid;gap:.6rem;min-width:0}.tob-sim .ts-chart{margin:0}.tob-sim .ts-chart__band{fill:color-mix(in srgb,var(--accent-primary) 22%,transparent)}.tob-sim__here{margin:0;font-size:.85rem;line-height:1.5;color:var(--text-secondary)}.tob-sim__controls{display:grid;gap:1.1rem;padding:1rem 1.25rem;background:var(--surface-card);border:var(--border-tech);border-radius:0}.tob{padding:1.25rem;background:var(--surface-card);border:var(--border-tech);border-radius:0}.tob__title{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.tob__hint{margin:.2rem 0 1rem;font-size:.85rem;color:var(--text-secondary)}.tob__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.25rem 2rem}.tob__metric{min-width:0}.tob__label{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;margin-bottom:.5rem;font-size:.85rem;font-weight:700;color:var(--text-primary)}.tob__scale{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.tob__rows{margin:0;display:grid;gap:.6rem}.tob__row dt{margin-bottom:.2rem;font-size:.8rem;font-weight:600;color:var(--text-primary)}.tob__row dd{margin:0;display:grid;grid-template-columns:minmax(0,1fr) 5.5rem;align-items:center;gap:.6rem}.tob__track{display:block;height:14px;border-radius:0;background:var(--surface-well);border:1px solid var(--border-strong);overflow:hidden}.tob__fill{display:block;height:100%;min-width:2px;border-radius:0;transition:width .3s ease}.tob__row--a .tob__fill{background:var(--series-1)}.tob__row--b .tob__fill{background:repeating-linear-gradient(135deg,var(--series-2) 0 6px,color-mix(in srgb,var(--series-2) 60%,var(--surface-card)) 6px 10px)}.tob__value{font-family:var(--font-mono, monospace);font-size:.85rem;font-weight:700;text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums}.tob__note{margin:.5rem 0 0;font-size:.8rem;color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.tob__fill{transition:none}}.tob-table{width:100%;border-collapse:collapse;background:var(--surface-card);border:var(--border-tech);border-radius:0;font-size:.9rem;color:var(--text-primary)}.tob-table caption{padding:0 0 .5rem;text-align:left;font-weight:700;color:var(--text-primary)}.tob-table th,.tob-table td{padding:.5rem .75rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border-color);overflow-wrap:anywhere}.tob-table tbody tr:last-child th,.tob-table tbody tr:last-child td{border-bottom:0}.tob-table thead th{font-size:.8rem;color:var(--text-secondary)}.tob-table tbody th{font-weight:600;color:var(--text-secondary)}.tob-table td{font-variant-numeric:tabular-nums;font-weight:600}.tob-verdict{padding:1rem 1.25rem;background:var(--surface-card);border:var(--border-tech-active);border-radius:0}.tob-verdict p{margin:0}.tob-verdict__label{font-size:.8rem;font-weight:700;color:var(--text-secondary)}.tob-verdict__pick{margin-top:.15rem!important;font-size:1.1rem;font-weight:800;color:var(--text-primary)}.tob-verdict__why{margin-top:.3rem!important;max-width:70ch;line-height:1.6;color:var(--text-secondary)}.to-title{margin:0 0 1rem;font-size:1.35rem;font-weight:800;color:var(--text-primary)}.to-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:1.5rem;margin-bottom:2rem}.to-card{padding:1.5rem;background:var(--surface-card);border:var(--border-tech);border-top:4px solid var(--series-1);border-radius:0;min-width:0}.to-card--b{border-top:4px dashed var(--series-2)}.to-card__name{margin:0 0 .5rem;font-size:1.2rem;font-weight:700;color:var(--text-primary)}.to-card__summary{margin:0 0 1.1rem;line-height:1.6;color:var(--text-secondary)}.to-card__head{margin:0 0 .4rem;display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:700;color:var(--text-primary)}.to-card__good,.to-card__bad{margin:0 0 1.1rem;padding-left:1.25rem;display:grid;gap:.3rem;font-size:.9rem;line-height:1.55;color:var(--text-secondary)}.to-card__facts{margin:0;padding:.9rem 1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;background:var(--surface-well);border-radius:0;font-size:.85rem}.to-card__facts dt{color:var(--text-secondary)}.to-card__facts dd{margin:.1rem 0 0;font-weight:700;color:var(--text-primary)}.to-card__best{grid-column:1 / -1}.to-say{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;background:var(--surface-card);border:1px solid var(--st-warn);border-radius:0;color:var(--text-secondary);line-height:1.6}.to-say .status-inline{color:var(--st-warn);margin-top:.15rem}.to-say__title{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:var(--text-primary)}.to-say p{margin:0;max-width:75ch}.to-question{margin:0 0 1.25rem;max-width:75ch;font-size:1.05rem;line-height:1.6;color:var(--text-primary)}.to-card__picture{margin:0 0 1.1rem;padding:.75rem;background:var(--surface-well);border:var(--border-tech)}.to-card__picture .viz-diagram{max-width:440px;margin-inline:auto}.to-card__picture .viz-legend{margin-top:.5rem;justify-content:center}.tob-sums{padding:1.25rem;background:var(--surface-card);border:var(--border-tech)}.tob-sums__working{margin:.75rem 0 0;padding-left:1.4rem;display:grid;gap:.4rem;font-family:var(--font-mono, monospace);font-size:.85rem;line-height:1.55;color:var(--text-primary);overflow-wrap:anywhere}.tob-sums__head{margin:1.1rem 0 .4rem;font-size:.85rem;font-weight:700;color:var(--text-primary)}.tob-sums__assumes{margin:0;padding-left:1.25rem;display:grid;gap:.3rem;max-width:80ch;font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.to-compare{margin-bottom:2rem}.to-compare__lead{margin:-.5rem 0 1rem;max-width:75ch;line-height:1.6;color:var(--text-secondary)}.to-compare__table{table-layout:fixed}.to-compare__table td{font-weight:400;line-height:1.5;vertical-align:top}.to-compare__table thead td{width:26%}.to-compare__table tbody th{vertical-align:top;color:var(--text-primary)}.to-compare__table td.is-better{background:color-mix(in srgb,var(--st-good) 9%,transparent)}.to-compare__win{display:flex;align-items:center;gap:.3rem;margin-top:.3rem;font-size:.78rem;font-weight:700;color:var(--text-primary)}.to-compare__win .status-inline{color:var(--st-good)}@media(max-width:640px){.to-compare__table,.to-compare__table tbody,.to-compare__table tr,.to-compare__table th,.to-compare__table td{display:block;width:auto}.to-compare__table{table-layout:auto}.to-compare__table thead{display:none}.to-compare__table tbody tr{border-bottom:2px solid var(--border-strong)}.to-compare__table tbody tr:last-child{border-bottom:0}.to-compare__table tbody th,.to-compare__table tbody td{border-bottom:0}.to-compare__table td:before{content:attr(data-label);display:block;margin-bottom:.15rem;font-size:.78rem;font-weight:700;color:var(--text-secondary)}}@media(max-width:900px){.tob-sim__stage{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.tob-sim{padding:1rem}.to-card{padding:1.1rem}.to-card__facts{grid-template-columns:1fr}}.status-inline{display:inline-flex;vertical-align:-1px;flex-shrink:0}.rp{margin-top:1.25rem}.rp__title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}.rp__sub{font-size:15px;font-weight:700;color:var(--text-primary);margin:18px 0 10px}.rp__paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:14px;align-items:start}.pf{border:var(--border-tech);border-radius:0;background:var(--surface-card);padding:16px 18px;min-width:0}.pf__title{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:15px;font-weight:700;color:var(--text-primary);margin:0 0 12px}.pf__label{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ctl-on-text);background:var(--ctl-on-bg);border-radius:0;padding:2px 9px}.pf__route{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;padding:12px;margin:0 0 14px;border-radius:0;background:var(--surface-well)}.pf__part{display:flex;align-items:center;font-size:13px;font-weight:600;color:var(--text-primary)}.pf__part>span{border:1px solid var(--border-strong);border-radius:0;padding:5px 9px;background:var(--surface-card)}.pf__part+.pf__part:before{content:"→";margin:0 7px;color:var(--text-secondary);font-weight:700}.pf__steps{list-style:none;display:grid;gap:12px;margin:0;padding:0}.pf__step{display:grid;grid-template-columns:26px 1fr;gap:10px}.pf__num{width:26px;height:26px;border-radius:0;display:grid;place-items:center;background:var(--ctl-on-bg);color:var(--ctl-on-text);font-size:12.5px;font-weight:700}.pf__hop{display:flex;flex-wrap:wrap;gap:5px;font-size:12.5px;font-weight:700;color:var(--text-primary)}.pf__arrow{color:var(--text-secondary)}.pf__text{margin-top:2px;font-size:14.5px;line-height:1.6;color:var(--text-secondary)}.pf-fails{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px;margin:0;padding:0}.pf-fail{border:var(--border-tech);border-radius:0;background:var(--surface-card);padding:14px 16px;min-width:0}.pf-fail__what{display:flex;align-items:flex-start;gap:8px;font-size:14.5px;font-weight:700;line-height:1.45;color:var(--text-primary);margin-bottom:10px}.pf-fail__what .status-inline{color:var(--tone-warn);margin-top:3px}.csw{margin-top:32px}.csw__lede{font-size:16px;line-height:1.65;color:var(--text-secondary);max-width:72ch;margin-bottom:18px}.csw__part{margin-top:24px}.csw__part>.cp-subtitle{margin-top:0;margin-bottom:10px}.csw__list{padding-left:18px;display:grid;gap:6px}.csw__list li{font-size:15px;line-height:1.65;color:var(--text-secondary)}.csw__choices{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px;padding:0}.csw__choice>strong{display:block;font-size:14.5px;color:var(--text-primary);margin-bottom:8px}.csw__qa{border:var(--border-tech);border-radius:0;background:var(--surface-card);padding:12px 14px}.csw__qa+.csw__qa{margin-top:10px}.csw__qa summary{cursor:pointer;font-size:15px;font-weight:650;color:var(--text-primary)}.csw__qa p{margin-top:8px;font-size:15px;line-height:1.65;color:var(--text-secondary)}.path-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0 0 14px;font-size:13.5px;color:var(--text-secondary)}.path-legend__item{display:inline-flex;align-items:center;gap:6px;color:var(--text-primary);font-weight:600}.path-stages{position:relative;isolation:isolate}.path-stages:before{content:"";position:absolute;z-index:-1;left:44px;top:24px;bottom:24px;width:2px;background:var(--viz-line)}.path-stages .stage-head:before{content:"";position:absolute;left:43px;top:0;bottom:0;width:2px;background:var(--viz-line)}.path-stages>section:first-child .stage-head:before{top:50%}.path-stages .stage-head__icon{position:relative;z-index:1}.path-stages>section:last-child .path-row:last-child .path-row__rail:before{bottom:50%}.path-stages>section:last-child .stage-head:has(.stage-head__toggle[aria-expanded=false]):before{bottom:50%}.path-list{list-style:none;margin:0;padding:0;border-top:var(--border-tech-subtle)}.path-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;column-gap:12px;padding-right:16px;border-bottom:var(--border-tech-subtle);background:var(--surface-card)}.path-row:last-child{border-bottom:0}.path-row.is-here{background:var(--accent-subtle)}.path-row__rail{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;width:56px;margin-left:16px}.path-row__rail:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--viz-line)}.path-dot{position:relative;z-index:1;box-sizing:border-box;display:inline-grid;place-items:center;flex-shrink:0;width:16px;height:16px;border-radius:0;border:2px solid var(--text-secondary);background:var(--surface-card);color:#fff}.path-row.is-done .path-dot,.path-dot--done{background:var(--fill-success);border-color:var(--fill-success)}.path-row.is-here .path-dot,.path-dot--here{width:24px;height:24px;border:3px solid var(--accent-primary)}.path-row.is-here .path-dot:after,.path-dot--here:after{content:"";width:10px;height:10px;border-radius:0;background:var(--accent-primary)}.path-legend .path-dot--here{width:18px;height:18px;border-width:2px}.path-legend .path-dot--here:after{width:8px;height:8px}.path-legend .path-dot{width:14px;height:14px}.path-row__main{display:flex;align-items:center;gap:8px;min-width:0;padding:12px 0}.path-row__text{min-width:0}.path-row__head{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px}.path-row__num{min-width:30px;font:700 12px/1 var(--font-mono);color:var(--text-secondary)}.path-row .curriculum-topic-row__title{font-weight:700;font-size:.95rem;color:var(--text-primary);text-decoration:none}.path-row .curriculum-topic-row__title:hover{text-decoration:underline}.path-row__sub{margin:2px 0 0;font-size:12.5px;line-height:1.4;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.path-here{padding:4px 8px;border-radius:0;background:var(--accent-primary);color:var(--on-accent);font:800 11px/1 var(--font-sans);white-space:nowrap}.path-done{padding:3px 7px;border-radius:0;border:1px solid var(--fill-success);color:var(--text-primary);font:700 11px/1 var(--font-sans)}.path-chip{padding:3px 7px;border-radius:0;border:1px solid var(--ctl-border);color:var(--text-secondary);font:700 10.5px/1 var(--font-sans);text-transform:uppercase;letter-spacing:.04em}.path-row__links{display:flex;flex-wrap:wrap;gap:8px}.path-link{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1px solid var(--ctl-border);border-radius:0;background:var(--surface-well);color:var(--text-primary);font:600 12.5px/1 var(--font-sans);text-decoration:none}.path-link:hover{border-color:var(--text-secondary)}.ctr-check__box{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:0;border:2px solid var(--text-secondary);color:#fff}.ctr-check__box.is-on{border-color:var(--fill-success);background:var(--fill-success)}.ctr-star{display:flex;align-items:center;justify-content:center;padding:0 .2rem;border:0;background:transparent;color:var(--text-secondary);font-size:1.15rem;cursor:pointer;flex-shrink:0}.ctr-star.is-on{color:var(--tone-warn)}@media(max-width:640px){.path-row{grid-template-columns:72px auto auto minmax(0,1fr);column-gap:0;padding-right:12px;padding-bottom:8px}.path-row__rail{grid-row:1 / span 2}.path-row__main{display:contents}.path-row__text{grid-column:2 / -1;grid-row:1;padding:12px 0 4px}.path-row .ctr-check{grid-column:2;grid-row:2}.path-row .ctr-star{grid-column:3;grid-row:2}.path-row__links{grid-column:2 / -1;grid-row:2}.path-row.has-tools .path-row__links{grid-column:4;margin-left:8px}}@media(max-width:720px),(pointer:coarse){.path-link{min-height:44px}}.im-levels{display:grid;gap:1.5rem;margin:0 0 2rem;text-align:left}.im-level h3{margin:0 0 .6rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.im-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:.75rem}.im-card{display:flex;flex-direction:column;gap:.5rem;min-height:44px;padding:.6rem;border:var(--border-tech);border-radius:0;background:var(--surface-well);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.im-card:hover{border-color:var(--border-strong)}.im-card:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.im-card.is-on{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.im-card__preview{display:block;padding:6px 8px;border-radius:0;background:var(--surface-card)}.im-card__preview .mini{max-height:64px}.im-card__title{font-size:.88rem;font-weight:600;line-height:1.3}.im-card__mark{font-size:.75rem;font-weight:700;color:var(--accent-text)}.block-path{margin:0 0 1.25rem;padding:.9rem 1rem;border:var(--border-tech);border-radius:0;background:var(--surface-well)}.block-path h3{margin:0 0 .7rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.block-path__parts{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem 1.6rem;margin:0 0 .75rem;padding:0;list-style:none}.block-path__parts li{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-width:96px;padding:.55rem .7rem;border:1px solid var(--border-strong);border-radius:0;background:var(--surface-card);color:var(--text-primary);text-align:center}.block-path__parts li+li:before{content:"→";position:absolute;left:-1.25rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.block-path__parts li.is-here{border:2px solid var(--accent-primary)}.block-path__icon{display:inline-flex;color:var(--text-secondary)}.block-path__label{font-size:.82rem;font-weight:600;line-height:1.25}.block-path__mark{font-size:.7rem;font-weight:700;color:var(--accent-text)}.block-path__caption{margin:0;font-size:.88rem;line-height:1.55;color:var(--text-secondary)}.topnav__signin{height:36px;padding:0 12px;border:1px solid var(--line-strong);background:transparent;color:var(--text-primary);font:700 14px/1 var(--font-sans);white-space:nowrap;cursor:pointer}.topnav__signin:hover{background:var(--surface-hover)}.account-overlay{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;overflow-y:auto;background:color-mix(in srgb,#000 55%,transparent)}.account-dialog{width:min(460px,100%);border:var(--border-rule);background:var(--bg-base);color:var(--text-primary)}.account-dialog__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;border-bottom:var(--border-tech)}.account-dialog__kicker{margin:0 0 4px;font:var(--text-kicker);letter-spacing:var(--track-kicker);text-transform:uppercase;color:var(--text-secondary)}.account-dialog__head h2{margin:0;font-size:1.35rem;font-weight:800;letter-spacing:-.01em}.account-close{min-width:40px;height:40px;border:1px solid var(--line-strong);background:transparent;color:var(--text-primary);font-size:16px;cursor:pointer}.account-dialog__body{display:grid;gap:14px;padding:16px 18px 20px}.account-form{display:grid;gap:12px}.account-field{display:grid;gap:6px}.account-field label{font-weight:700;font-size:.9rem}.account-field input{min-height:44px;padding:0 12px;border:1px solid var(--line-strong);background:var(--surface-well);color:var(--text-primary);font:400 16px/1.3 var(--font-sans)}.account-field input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.account-field__hint{margin:0;font-size:.82rem;color:var(--text-secondary)}.account-check{display:flex;align-items:center;gap:8px;font-size:.9rem}.account-check input{width:18px;height:18px}.account-wide{width:100%;min-height:44px}.account-alt{display:grid;gap:10px}.account-or{margin:0;font:var(--text-kicker);letter-spacing:var(--track-kicker);text-transform:uppercase;color:var(--text-secondary)}.account-links,.account-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.account-link{padding:4px 0;border:0;background:none;color:var(--accent-text);font:600 .9rem/1.3 var(--font-sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.account-text{margin:0;font-size:.92rem;line-height:1.5;color:var(--text-secondary)}.account-msg{display:flex;gap:10px;align-items:flex-start;margin:0;padding:10px 12px;border:var(--border-tech);font-size:.92rem;line-height:1.45}.account-msg--error{border-color:var(--tone-danger)}.account-msg--ok{border-color:var(--tone-success)}.account-msg__icon{display:inline-flex;flex:none;width:20px;height:20px;align-items:center;justify-content:center;border:1px solid currentColor;font:700 12px/1 var(--font-mono)}.account-msg--error .account-msg__icon{color:var(--tone-danger)}.account-msg--ok .account-msg__icon{color:var(--tone-success)}.account-msg--info .account-msg__icon{color:var(--tone-info)}.account-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0}.account-facts dt{font-weight:700}.account-facts dd{margin:0;overflow-wrap:anywhere}.account-tag{font:600 .8rem/1 var(--font-mono);color:var(--text-secondary)}.account-section{display:grid;gap:10px;padding-top:12px;border-top:var(--border-tech)}.account-danger summary{font-weight:700;cursor:pointer}.account-notice{position:fixed;left:16px;right:16px;bottom:16px;z-index:1001;display:flex;flex-wrap:wrap;align-items:center;gap:10px;max-width:560px;margin:0 auto;padding:12px 14px;border:2px solid var(--tone-danger);background:var(--bg-base);color:var(--text-primary);font-size:.92rem}.account-notice .account-msg__icon{color:var(--tone-danger)}.site-footer__legal-row{max-width:calc(var(--page-wide) + 2 * var(--gutter));margin:0 auto;padding:16px var(--gutter) 28px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline;justify-content:space-between}.site-footer__legal-row .site-footer__legal{margin:0}.site-footer__notice{font-size:13px;line-height:1.55;color:var(--text-secondary)}.site-footer__legal-links{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;padding:0;margin:0}.site-footer__legal-links a{font-size:13px;color:var(--text-secondary);text-decoration:none}.site-footer__legal-links a:hover{color:var(--accent-text)}.site-footer__legal-text{display:grid;gap:4px}.site-footer__tag a,.site-footer__credit a{color:var(--text-primary);text-decoration:none;border-bottom:2px solid var(--brand-yellow)}.site-footer__tag a:hover,.site-footer__credit a:hover{color:var(--accent-text)}.linkedin-link{display:inline-flex;align-items:center;gap:6px}.linkedin-icon{flex:none}.feedback-tab{position:fixed;right:0;top:50%;z-index:800;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;padding:16px 9px;border:2px solid var(--on-brand);border-left:0;background:var(--brand-yellow);color:var(--on-brand);font:700 14px/1 var(--font-sans);letter-spacing:.04em;cursor:pointer;transition:background var(--transition-fast)}.feedback-tab:hover{background:var(--brand-yellow-hover)}.feedback-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(max-width:760px){.feedback-tab{top:auto;bottom:112px;transform:rotate(180deg);padding:11px 6px;font-size:12px}}@media print{.feedback-tab{display:none}}
