:root{color-scheme:light;--color-bg: #f3f5f7;--color-surface: #ffffff;--color-surface-muted: #f1f4f6;--color-surface-raised: #ffffff;--color-border: #dfe4e9;--color-border-strong: #c3ccd4;--color-text: #101820;--color-text-muted: #4b5866;--color-text-faint: #677480;--color-accent: #0b7d73;--color-accent-strong: #08645c;--color-accent-soft: #e2f2f0;--color-accent-line: rgba(11, 125, 115, .35);--color-on-accent: #ffffff;--color-success: #1e7a45;--color-success-soft: #e4f3ea;--color-warning: #9a5a00;--color-warning-soft: #fdf1dc;--color-danger: #c0352a;--color-danger-soft: #fbe7e5;--color-info: #2f5fb3;--series-predictive: #0f8f83;--series-reactive: #7c5ce0;--map-floor: #20262a;--map-grid: #2a3238;--map-static: #6b6359;--map-static-edge: #9b9183;--map-dynamic: #d9a441;--map-dynamic-edge: #f3d38a;--map-person: #6fa8dc;--map-inflation: rgba(240, 120, 110, .45);--map-path: #2fd6c6;--map-trail: #9fb3bf;--map-track: #ff8a7a;--map-unknown: #2b3136;--map-robot: #f2f1ee;--sim-bg: #0d1114;--sim-floor: #1b2125;--sim-grid: rgba(255, 255, 255, .05);--sim-grid-major: rgba(255, 255, 255, .12);--sim-wall: #66717a;--sim-unknown: rgba(0, 0, 0, .38);--sim-static: #6b6359;--sim-static-top: #857b6e;--sim-dynamic: #d9a441;--sim-dynamic-edge: #f3d38a;--sim-person: #6fa8dc;--sim-inflation: rgba(240, 120, 110, .45);--sim-path: #2fd6c6;--sim-ghost: rgba(225, 225, 225, .6);--sim-trail: #9fb3bf;--sim-robot: #f2f1ee;--sim-robot-edge: #0e1113;--sim-wheel: #0b0d0e;--sim-fov: rgba(47, 214, 198, .3);--sim-track: #ff8a7a;--sim-target: #ffd166;--sim-danger: #ff6b5e;--sim-text: #9aa5ab;--sim-label: #e4e7e9;--font-sans: "Inter", "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-display: "Inter", "Segoe UI Variable Display", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Mono", ui-monospace, "SF Mono", Consolas, "Liberation Mono", monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--text-2xl: clamp(1.6rem, 1.3rem + 1.4vw, 2.25rem);--text-3xl: clamp(2.2rem, 1.5rem + 3vw, 3.75rem);--leading-tight: 1.2;--leading-normal: 1.55;--tracking-caps: .08em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4.5rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--border: 1px solid var(--color-border);--shadow-panel: 0 1px 2px rgba(16, 24, 32, .04), 0 4px 16px rgba(16, 24, 32, .04);--focus-ring: 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-accent);--content-max: 1680px;--header-h: 52px;--transition: .14s ease}@media(prefers-reduced-motion:reduce){:root{--transition: 0ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;min-width:320px;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}main{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-5) var(--space-5) var(--space-7)}main:focus{outline:none}h1,h2,h3{line-height:var(--leading-tight);margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:2px}a:hover{color:var(--color-accent-strong)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}img,svg,canvas{max-width:100%}mark{background:var(--color-warning-soft);color:var(--color-warning);padding:0 .2em;border-radius:2px}.mono{font-family:var(--font-mono);font-size:.92em;font-variant-numeric:tabular-nums}.muted{color:var(--color-text-muted)}.small{font-size:var(--text-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-3);top:-100px;z-index:100;background:var(--color-surface);padding:var(--space-2) var(--space-3);border:var(--border)}.skip-link:focus{top:var(--space-3)}.site-header{background:var(--color-surface);border-bottom:var(--border);position:sticky;top:0;z-index:20}.header-inner,.footer-inner{max-width:var(--content-max);margin:0 auto;padding:0 var(--space-5);display:flex;align-items:center;gap:var(--space-4)}.header-inner{min-height:56px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--color-text);min-width:0}.brand-name{font-weight:700;letter-spacing:.04em}.brand-tag{color:var(--color-text-muted);font-size:var(--text-sm);border-left:var(--border);padding-left:var(--space-2);white-space:nowrap}.site-nav{margin-left:auto}.site-nav ul,.site-footer ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--space-1)}.site-nav a{display:block;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500}.site-nav a:hover{color:var(--color-text);background:var(--color-surface-muted)}.site-nav a.active{color:var(--color-text);box-shadow:inset 0 -2px 0 var(--color-accent);border-radius:0}.menu-toggle{display:none}.site-footer{border-top:var(--border);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-text-muted)}.footer-inner{padding-top:var(--space-4);padding-bottom:var(--space-4);justify-content:space-between;flex-wrap:wrap}.footer-inner p{margin:0}.site-footer ul{gap:var(--space-4)}.site-footer a{color:var(--color-text-muted)}@media(max-width:760px){.brand-tag{display:none}.menu-toggle{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:auto;min-height:44px;padding:0 var(--space-3);background:none;border:var(--border);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);color:var(--color-text);cursor:pointer}.site-nav{display:none;flex-basis:100%;margin:0 0 var(--space-3)}.site-nav.open{display:block}.site-nav ul{flex-direction:column}.site-nav a{padding:var(--space-3);font-size:var(--text-base)}.site-nav a.active{box-shadow:inset 3px 0 0 var(--color-accent)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);font:inherit;font-size:var(--text-sm);font-weight:500;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:background var(--transition),border-color var(--transition);white-space:nowrap}.btn:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.btn:disabled{color:var(--color-text-faint);background:var(--color-surface-muted);border-color:var(--color-border);cursor:not-allowed}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-strong);color:var(--color-on-accent)}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#a02a21;color:#fff}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0}.btn-wide{flex:1 1 100%}.field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;margin-bottom:var(--space-3)}.field label{font-size:var(--text-sm);font-weight:500;display:flex;justify-content:space-between;gap:var(--space-2)}.field-row{display:flex;gap:var(--space-2);align-items:flex-start;flex-wrap:wrap}.field-row .field{flex:1 1 90px;margin-bottom:var(--space-2)}.field-row .field-grow{flex:1 1 180px}.field-submit{margin-top:1.55rem}input[type=text],input:not([type]),select{font:inherit;font-size:var(--text-base);width:100%;min-height:40px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}select:disabled{background:var(--color-surface-muted);color:var(--color-text-faint)}input[aria-invalid=true]{border-color:var(--color-danger)}.field-error{color:var(--color-danger);font-size:var(--text-xs)}input[type=range]{width:100%;accent-color:var(--color-accent);min-height:28px}.check{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer;min-height:32px}.check input{width:18px;height:18px;accent-color:var(--color-accent);margin:0}fieldset{border:0;padding:0;margin:0;min-width:0}.segmented legend{font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-1);padding:0}.segmented{display:flex;flex-wrap:wrap}.segmented legend{flex-basis:100%}.segmented label{flex:1;text-align:center;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);cursor:pointer;min-height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-surface)}.segmented label+label{border-left:0}.segmented label:first-of-type{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.segmented label:last-of-type{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.segmented label.active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-strong);font-weight:600}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented label:has(input:focus-visible){box-shadow:var(--focus-ring);position:relative;z-index:1}.spinner{width:18px;height:18px;border:2px solid var(--color-border-strong);border-top-color:var(--color-accent);border-radius:50%;display:inline-block;animation:spin .8s linear infinite;flex:none}.spinner-sm{width:13px;height:13px}@keyframes spin{to{transform:rotate(360deg)}}.icon{flex:none}.spin{animation:spin .8s linear infinite}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;cursor:pointer}.icon-btn:hover{background:#1018200f}.dismissible{display:flex;align-items:flex-start;gap:var(--space-2);padding-right:var(--space-1)}.dismissible p{margin:0;flex:1;padding:5px 0}.badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;padding:3px 8px;border-radius:var(--radius-sm);border:1px solid currentColor;white-space:nowrap;max-width:100%}.badge>span:last-child{overflow:hidden;text-overflow:ellipsis}.badge-mark{width:7px;height:7px;background:currentColor;flex:none}.badge-neutral{color:var(--color-text-muted);background:var(--color-surface-muted)}.badge-neutral .badge-mark{border-radius:50%}.badge-accent{color:var(--color-accent-strong);background:var(--color-accent-soft)}.badge-accent .badge-mark{clip-path:polygon(0 0,100% 50%,0 100%)}.badge-success{color:var(--color-success);background:var(--color-success-soft)}.badge-warning{color:var(--color-warning);background:var(--color-warning-soft)}.badge-warning .badge-mark{clip-path:polygon(50% 0,100% 100%,0 100%)}.badge-danger{color:var(--color-danger);background:var(--color-danger-soft)}.console-intro{margin-bottom:var(--space-4)}.console-intro p{max-width:70ch;margin-top:var(--space-2)}.console-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:var(--space-4);align-items:start}.col-main,.col-side{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start}@media(max-width:1280px){.split{grid-template-columns:minmax(0,1fr)}}@media(max-width:960px){main{padding:var(--space-4) var(--space-4) var(--space-6)}.console-grid{display:flex;flex-direction:column}.col-main,.col-side,.split{display:contents}.viewport{order:1}.controls{order:2}.demo{order:3}.console-grid>*>*,.split>*{width:100%}.split>section:first-child{order:4}.split>section:last-child{order:5}.events{order:6}.system{order:7}}@media(max-width:400px){main{padding-left:var(--space-3);padding-right:var(--space-3)}.panel{padding:var(--space-3)}}.banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);border:1px solid;font-size:var(--text-sm)}.banner>div{flex:1 1 260px;overflow-wrap:anywhere}.banner-error{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}.banner-error strong,.banner-error .mono{color:var(--color-text)}.banner-warning{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.panel{background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);padding:var(--space-4);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.panel h3{font-size:var(--text-sm);margin-bottom:var(--space-2)}.sub{font-size:var(--text-xs)!important;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:var(--space-4) 0 var(--space-2);font-weight:600}.empty{color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-3);background:var(--color-surface-muted);border-radius:var(--radius-sm);margin:0}.hint{color:var(--color-text-muted);font-size:var(--text-sm);margin:var(--space-2) 0 0}.feedback{min-height:0}.feedback-msg{font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border-left:3px solid;margin:var(--space-3) 0 0;overflow-wrap:anywhere}.feedback-success{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.feedback-error{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}.feedback-msg strong{font-weight:600}.control-group+.control-group{border-top:var(--border);margin-top:var(--space-4);padding-top:var(--space-4)}.viewport-meta{display:flex;align-items:center;gap:var(--space-3)}.viewport-canvas{position:relative;width:100%;min-height:160px}.viewport-canvas canvas{display:block;width:100%;touch-action:manipulation;user-select:none;-webkit-user-select:none}.cursor-target{cursor:crosshair}.cursor-obstacle{cursor:cell}.viewport-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);text-align:center;padding:var(--space-4);background:#ffffffeb;font-size:var(--text-sm);color:var(--color-text-muted)}.viewport-overlay strong{color:var(--color-text)}.viewport-foot{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center;margin-top:var(--space-2)}.viewport-foot .hint{flex:1 1 100%;margin:0}.pointer-readout{color:var(--color-text);white-space:pre}.layer-toggles{display:flex;gap:var(--space-3);flex-wrap:wrap}.legend{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted)}.legend li{display:flex;align-items:center;gap:6px}.sw{width:14px;height:10px;display:inline-block;flex:none}.sw-robot{width:10px;border:2px solid var(--map-robot);border-radius:50%;background:var(--sim-robot-edge)}.sw-path{height:3px;background:var(--map-path)}.sw-target{width:10px;border:2px solid var(--map-robot);border-radius:50%}.sw-static{background:var(--map-static);border:1px solid var(--map-static-edge)}.sw-dynamic{background:var(--map-dynamic);border:2px solid var(--map-dynamic-edge)}.sw-person{width:10px;background:var(--map-person);border-radius:50%}.sw-inflation{border:1px dashed var(--color-danger)}.sw-track{width:auto;height:auto;color:var(--map-track);font-weight:700;line-height:1}.sw-unknown{background:var(--map-unknown);border:1px solid var(--color-border-strong)}.viewport-caption{margin:calc(-1 * var(--space-2)) 0 var(--space-2)}.stale-note{color:var(--color-warning)}.perception-settings .check{margin-bottom:var(--space-2)}.kv-grid{margin:0;display:grid;grid-template-columns:minmax(0,1fr)}.kv{display:flex;justify-content:space-between;gap:var(--space-3);padding:6px 0;border-bottom:1px solid var(--color-surface-muted);font-size:var(--text-sm);min-width:0}.kv dt{color:var(--color-text-muted);flex:none}.kv dd{margin:0;text-align:right;overflow-wrap:anywhere;min-width:0}.kv-danger dd{color:var(--color-danger);font-weight:600}.kv-warning dd{color:var(--color-warning);font-weight:600}.kv-success dd{color:var(--color-success);font-weight:600}.progress-block{margin-bottom:var(--space-3)}.progress-label{display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-1)}.progress{height:6px;background:var(--color-surface-muted);border-radius:3px;overflow:hidden}.progress span{display:block;height:100%;background:var(--color-accent)}.camera{margin:var(--space-3) 0 0}.camera-frame{position:relative;width:100%;background:var(--color-surface-muted);border:var(--border);border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center}.camera-frame img{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.camera-empty{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.camera-boxes{position:absolute;inset:0;width:100%;height:100%}.camera-boxes rect{fill:none;stroke:#fff;stroke-width:1.5;paint-order:stroke;outline:1px solid var(--color-text)}.camera-boxes text{font-size:8px;font-family:var(--font-sans);fill:#fff;stroke:var(--color-text);stroke-width:2px;paint-order:stroke}.camera figcaption{margin-top:var(--space-1)}.table-wrap{overflow-x:auto;max-width:100%}.data{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data th{text-align:left;font-weight:600;color:var(--color-text-muted);font-size:var(--text-xs);border-bottom:var(--border);padding:4px 6px 4px 0}.data td{padding:5px 6px 5px 0;border-bottom:1px solid var(--color-surface-muted);vertical-align:top}.steps{list-style:none;padding:0;margin:var(--space-4) 0 0;display:flex;flex-direction:column}.step{display:flex;gap:var(--space-3);padding:var(--space-2) 0;position:relative}.step-mark{flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--color-border-strong);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);background:var(--color-surface)}.step-title{font-size:var(--text-sm);font-weight:500;margin:0}.step-detail{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.step-done .step-mark{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.step-current .step-mark{border-color:var(--color-accent);color:var(--color-accent-strong);box-shadow:0 0 0 3px var(--color-accent-soft)}.step-current .step-title{font-weight:600}.step-failed .step-mark{border-color:var(--color-danger);color:var(--color-danger)}.step-todo .step-title{color:var(--color-text-muted)}.sys-list{list-style:none;margin:0;padding:0}.sys{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:2px var(--space-2);align-items:center;padding:7px 0;border-bottom:1px solid var(--color-surface-muted);font-size:var(--text-sm)}.sys-mark{width:9px;height:9px;border-radius:50%}.sys-state{font-weight:600;font-size:var(--text-xs)}.sys-detail{grid-column:2 / -1;color:var(--color-text-muted);font-size:var(--text-xs);overflow-wrap:anywhere}.sys-ok .sys-mark{background:var(--color-success)}.sys-ok .sys-state{color:var(--color-success)}.sys-degraded .sys-mark{background:var(--color-warning);border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}.sys-degraded .sys-state{color:var(--color-warning)}.sys-down .sys-mark{background:var(--color-danger);border-radius:1px}.sys-down .sys-state{color:var(--color-danger)}.sys-pending .sys-mark{border:2px solid var(--color-border-strong)}.sys-pending .sys-state{color:var(--color-text-muted)}.event-list{list-style:none;margin:0;padding:0;max-height:340px;overflow-y:auto;font-size:var(--text-sm)}.event{display:grid;grid-template-columns:44px 52px minmax(0,1fr);gap:var(--space-2);padding:6px 0;border-bottom:1px solid var(--color-surface-muted);align-items:baseline}.event-level{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.event-time{color:var(--color-text-muted);font-size:var(--text-xs)}.event-msg{overflow-wrap:anywhere}.event-warning .event-level{color:var(--color-warning)}.event-error .event-level{color:var(--color-danger)}.event-success .event-level{color:var(--color-success)}.prose-page{max-width:760px;margin:0 auto;padding-top:var(--space-5)}.prose-page section{margin-top:var(--space-6)}.prose-page h2{font-size:var(--text-xl);margin-bottom:var(--space-3)}.prose-page ul{padding-left:1.2em}.prose-page li{margin-bottom:var(--space-2)}.page-hero h1{font-size:var(--text-3xl);margin:var(--space-2) 0 var(--space-4)}.eyebrow{font-size:var(--text-sm);color:var(--color-accent-strong);font-weight:600;letter-spacing:.04em;margin:0}.lede{font-size:var(--text-lg);color:var(--color-text-muted)}.pipeline{list-style:none;padding:0!important;margin:0;border-top:var(--border)}.pipeline li{display:flex;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:var(--border);margin:0}.pipeline-num{color:var(--color-accent);font-weight:600;padding-top:1px}.pipeline h3{margin-bottom:var(--space-1)}.pipeline p{margin:0;color:var(--color-text-muted)}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5)}.team{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.team li{border:var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;background:var(--color-surface)}.team span{color:var(--color-text-muted);font-size:var(--text-sm)}.not-found{text-align:left;padding-top:var(--space-7)}.not-found .mono{overflow-wrap:anywhere}.page-loading{display:flex;gap:var(--space-2);align-items:center;justify-content:center;padding:var(--space-7);color:var(--color-text-muted)}@media(max-width:1180px){.brand-tag{display:none}}@media(max-width:900px){.menu-toggle{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:auto;min-height:44px;padding:0 var(--space-3);background:none;border:var(--border);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);color:var(--color-text);cursor:pointer}.site-nav{display:none;flex-basis:100%;margin:0 0 var(--space-3)}.site-nav.open{display:block}.site-nav ul{flex-direction:column}.site-nav a{padding:var(--space-3);font-size:var(--text-base)}.site-nav a.active{box-shadow:inset 3px 0 0 var(--color-accent)}}.tag{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid currentColor;white-space:nowrap}.tag-mark{width:7px;height:7px;background:currentColor;flex:none}.tag-success{color:var(--color-success);background:var(--color-success-soft)}.tag-success .tag-mark{border-radius:50%}.tag-accent{color:var(--color-accent-strong);background:var(--color-accent-soft)}.tag-accent .tag-mark{clip-path:polygon(0 0,100% 50%,0 100%)}.tag-warning{color:var(--color-warning);background:var(--color-warning-soft)}.tag-warning .tag-mark{clip-path:polygon(50% 0,100% 100%,0 100%)}.tag-neutral{color:var(--color-text-muted);background:var(--color-surface-muted)}.tag-neutral .tag-mark{background:transparent;border:1.5px solid currentColor;border-radius:50%}.term{position:relative;display:inline-block}.term-btn{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:help;text-decoration:underline dotted;text-underline-offset:3px;text-align:left}.term-tip{display:none;position:absolute;z-index:30;left:0;top:calc(100% + 6px);width:max-content;max-width:min(260px,70vw);padding:var(--space-2) var(--space-3);background:var(--color-surface-raised);border:1px solid var(--color-border-strong);color:var(--color-text);font-size:var(--text-xs);font-weight:400;line-height:1.45;border-radius:var(--radius-sm);text-align:left;white-space:normal}.term:hover .term-tip,.term-btn:focus+.term-tip,.term.open .term-tip{display:block}.toaster{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:40;display:flex;flex-direction:column;gap:var(--space-2);width:min(360px,calc(100vw - 2 * var(--space-4)));pointer-events:none}.toast{pointer-events:none;display:flex;align-items:flex-start;gap:var(--space-2);background:var(--color-surface);border:var(--border);border-left:4px solid var(--color-accent);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);box-shadow:0 8px 24px #1018201f;font-size:var(--text-sm)}.toast button{pointer-events:auto}.toast p{margin:0;flex:1;display:flex;flex-direction:column;padding:4px 0}.toast-success{border-left-color:var(--color-success)}.toast-warning{border-left-color:var(--color-warning)}.toast-error{border-left-color:var(--color-danger)}.overview,.content-page{max-width:1080px;margin:0 auto}.hero{padding:var(--space-7) 0 var(--space-6);border-bottom:var(--border)}.hero h1{font-size:clamp(2.5rem,1.6rem + 4.5vw,4.5rem);letter-spacing:-.02em;margin:var(--space-2) 0 var(--space-1)}.hero-tagline{font-size:var(--text-xl);color:var(--color-accent-strong);font-weight:500}.hero .lede{max-width:62ch}.hero-mission{font-size:var(--text-lg);margin-bottom:var(--space-5)}.btn-lg{min-height:48px;padding:0 var(--space-5);font-size:var(--text-base)}.section{padding:var(--space-7) 0 0}.section-head{margin-bottom:var(--space-5);max-width:70ch}.section-head h2,.content-page .section h2{font-size:var(--text-2xl);margin:var(--space-1) 0 var(--space-2)}.lede-sm{font-size:var(--text-lg)}.h3-spaced{margin:var(--space-6) 0 var(--space-3)}.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.chips li{border:var(--border);border-radius:var(--radius-sm);padding:2px var(--space-3);font-size:var(--text-sm);background:var(--color-surface)}.numbered{padding-left:1.4em;margin:var(--space-2) 0 0}.numbered li{margin-bottom:var(--space-2)}.loop{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-2)}.loop li{display:flex;gap:var(--space-3);align-items:baseline;padding:var(--space-3);border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface)}.loop .mono{color:var(--color-accent);font-weight:600}.explain{margin-top:var(--space-4);border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface)}.explain summary{cursor:pointer;padding:var(--space-3) var(--space-4);font-weight:500}.explain[open] summary{border-bottom:var(--border)}.explain>*:not(summary){margin:var(--space-3) var(--space-4)}.explain ul{padding-left:1.2em}.explainers .explain{margin-top:var(--space-2)}.deck-img{display:block;width:100%;height:auto;border:var(--border);border-radius:var(--radius-sm);background:#fff}.explain>.deck-img{width:calc(100% - 2 * var(--space-4))}.data-lg{font-size:var(--text-sm);min-width:560px}.data-lg th,.data-lg td{padding:var(--space-3) var(--space-3) var(--space-3) 0;vertical-align:top}.data-lg tbody th{font-weight:600;text-align:left;border-bottom:1px solid var(--color-surface-muted)}.cell-note{display:block;color:var(--color-text-muted);font-size:var(--text-xs);margin-top:var(--space-1)}.content-page .page-hero{padding:var(--space-6) 0 var(--space-5)}.content-page .page-hero h1{font-size:var(--text-3xl);margin:var(--space-2) 0 var(--space-3)}.content-page .lede{max-width:70ch}.process-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-2)}.process-step{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-3);font:inherit;font-size:var(--text-sm);text-align:left;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.process-step:hover{border-color:var(--color-accent)}.process-step.selected{background:var(--color-accent-soft);border-color:var(--color-accent);box-shadow:inset 0 -3px 0 var(--color-accent)}.decision .process-step{border-style:dashed;border-color:var(--color-warning)}.process-id{color:var(--color-accent-strong);font-weight:700}.process-title{font-weight:500;line-height:1.3}.process-branches{margin-top:var(--space-2)}.process-detail{margin-top:var(--space-3);padding:var(--space-4);border-left:3px solid var(--color-accent);background:var(--color-surface)}.process-detail-head{font-weight:600}@media(max-width:960px){.process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.process-steps{grid-template-columns:minmax(0,1fr)}}.arch{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-4);align-items:start}.arch-diagram{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.arch-layer{border:var(--border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface);min-width:0}.arch-layer-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--space-3)}.arch-layer ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.arch-stage{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-2);align-items:start;padding:var(--space-2) var(--space-3);font:inherit;text-align:left;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.arch-stage:hover{border-color:var(--color-accent)}.arch-stage.selected{background:var(--color-accent-soft);border-color:var(--color-accent)}.arch-id{color:var(--color-accent-strong);font-weight:700;font-size:var(--text-xs);padding-top:2px}.arch-text{display:flex;flex-direction:column;min-width:0}.arch-title{font-size:var(--text-sm);font-weight:600;line-height:1.3}.arch-deck{font-size:var(--text-xs);color:var(--color-text-muted)}.arch-dot{width:9px;height:9px;margin-top:5px;background:var(--color-success);border-radius:50%}.dot-simulation{background:var(--color-accent);border-radius:0;clip-path:polygon(0 0,100% 50%,0 100%)}.dot-fallback,.dot-partial{background:var(--color-warning);border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}.arch-loop{grid-column:1 / -1;margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.arch-detail{position:sticky;top:72px}.arch-detail h3{font-size:var(--text-lg)}.lead-small{font-size:var(--text-base)}.arch-io dd{text-align:right}.arch-detail code,.content-page code{font-family:var(--font-mono);font-size:.85em;overflow-wrap:anywhere}@media(max-width:1100px){.arch{grid-template-columns:minmax(0,1fr)}.arch-detail{position:static}}@media(max-width:720px){.arch-diagram{grid-template-columns:minmax(0,1fr)}}.flow{list-style:none;padding:0;margin:0 0 var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2)}.flow li{font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface)}.flow li:not(:last-child):after{content:" →";color:var(--color-accent)}.viewport-stage{position:relative;width:100%;min-height:180px;border-radius:var(--radius-sm);overflow:hidden;background:var(--sim-bg)}.sim-canvas{display:block;width:100%;touch-action:manipulation;user-select:none;-webkit-user-select:none}.sim-canvas.zoomed{touch-action:none;cursor:grab}.sim-canvas:focus-visible{outline:2px solid var(--sim-path);outline-offset:-2px;box-shadow:none}.hud{position:absolute;top:var(--space-3);left:calc(var(--space-3) + 24px);display:flex;flex-direction:column;gap:4px;padding:var(--space-2) var(--space-3);background:#0e1113d1;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);color:var(--sim-label);pointer-events:none;max-width:calc(100% - 140px)}.hud .badge{align-self:flex-start}.hud-progress{height:4px;width:160px;max-width:100%;background:#ffffff1f;border-radius:2px;overflow:hidden}.hud-progress span{display:block;height:100%;background:var(--sim-path)}.hud-line{font-size:11px;color:var(--sim-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-controls{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);overflow:hidden;background:#0e1113d1}.view-controls button{width:36px;height:34px;border:0;background:transparent;color:var(--sim-label);font:inherit;font-size:18px;line-height:1;cursor:pointer}.view-controls button+button{border-top:1px solid rgba(255,255,255,.12)}.view-controls button:hover:not(:disabled){background:#ffffff14}.view-controls button:disabled{color:#ffffff4d;cursor:default}.view-controls button:focus-visible{outline:2px solid var(--sim-path);outline-offset:-2px;box-shadow:none}.view-controls .view-reset{font-size:11px;font-weight:600}.viewport-stale{position:absolute;left:50%;bottom:var(--space-6);transform:translate(-50%);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.viewport-stage .viewport-overlay{background:#15191ce6;color:var(--sim-text)}.viewport-stage .viewport-overlay strong{color:var(--sim-label)}@media(max-width:520px){.hud{top:var(--space-2);left:var(--space-2);padding:6px var(--space-2);max-width:calc(100% - 64px)}.hud-progress{width:110px}.view-controls{top:var(--space-2);right:var(--space-2)}}.legend .sw-robot{background:var(--sim-robot);border:2px solid var(--sim-robot-edge)}.legend .sw-path{background:var(--sim-path)}.legend .sw-target{border:2px solid #c79a1f;border-radius:50%;width:10px}.legend .sw-static{background:var(--sim-static);border:1px solid var(--sim-static-top)}.legend .sw-dynamic{background:var(--sim-dynamic);border:2px solid #9a6a12}.legend .sw-person{background:var(--sim-person)}.sw-ghost{height:0;border-top:2px dashed var(--color-text-faint)}.sw-alert{border:2px solid var(--color-danger)}.legend .sw-track{color:var(--color-danger)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-2)}.toolbar-sub{gap:var(--space-1) var(--space-4);padding-bottom:var(--space-2);border-bottom:var(--border);margin-bottom:var(--space-3)}.check-sep{margin-left:auto}.tool-group{display:inline-flex;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface)}.tool-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;min-width:36px;justify-content:center;padding:0 var(--space-3);border:0;background:transparent;color:var(--color-text);font:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background var(--transition);white-space:nowrap}.tool-btn+.tool-btn{border-left:1px solid var(--color-border)}.tool-btn:hover:not(:disabled){background:var(--color-surface-muted)}.tool-btn.on{background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:600;box-shadow:inset 0 -2px 0 var(--color-accent)}.tool-btn:disabled{color:var(--color-text-faint);cursor:not-allowed}.tool-btn:focus-visible{position:relative;z-index:1}.chips-row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);padding:2px 8px;border:var(--border);border-radius:var(--radius-sm);color:var(--color-text-muted);background:var(--color-surface-muted);white-space:nowrap}.chip-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.chip-ok{color:var(--color-success);background:var(--color-success-soft)}.chip-warn{color:var(--color-warning);background:var(--color-warning-soft)}.chip-down{color:var(--color-danger);background:var(--color-danger-soft)}.view-3d{position:relative;width:100%;min-height:300px;outline:none}.view-3d:focus-visible{box-shadow:inset 0 0 0 2px var(--sim-path)}.view-3d canvas{display:block;touch-action:none;cursor:crosshair}.stage-3d .hud{left:var(--space-3)}.legend .sw-fov{background:#3fc1b559;border:1px solid #2fb8ab}.legend .sw-detect{border:1.5px solid #3fa69c}@media(max-width:640px){.check-sep{margin-left:0}.tool-btn{padding:0 var(--space-2)}}.legend .sw-lidar{width:10px;height:4px;background:linear-gradient(90deg,#7fe3d9 50%,#ff9f5a 50%)}.legend .sw-prox{width:10px;border-radius:50%;border:2px solid #f0b429}.hint-top{margin:0 0 var(--space-3)}.prox{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:2px var(--space-3);padding:var(--space-3);margin-bottom:var(--space-3);border-radius:var(--radius-sm);border-left:4px solid;background:var(--color-surface-muted);font-size:var(--text-sm)}.prox .muted{grid-column:1 / -1}.prox-ok{border-color:var(--color-success)}.prox-ok strong{color:var(--color-success)}.prox-degraded{border-color:var(--color-warning);background:var(--color-warning-soft)}.prox-degraded strong{color:var(--color-warning)}.prox-down{border-color:var(--color-danger);background:var(--color-danger-soft)}.prox-down strong{color:var(--color-danger)}.sys-inline{font-weight:600;font-size:var(--text-xs)}.sys-inline.sys-ok{color:var(--color-success)}.sys-inline.sys-degraded{color:var(--color-warning)}.sys-inline.sys-down{color:var(--color-danger)}.sys-inline.sys-pending{color:var(--color-text-muted)}.sensor-table th[scope=row]{font-weight:500;text-align:left}.sensor-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent)}.sensor-form,.model-form{margin-top:var(--space-3)}.sensor-form+.sensor-form{border-top:var(--border);padding-top:var(--space-3)}.tool-select{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500}.tool-select select{width:auto;min-height:36px;padding:0 var(--space-2);font-size:var(--text-sm)}.overview-strip{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.ov-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.ov-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);min-width:0}.ov-demo{display:inline-flex;align-items:center;gap:var(--space-1);margin-left:var(--space-2);padding-left:var(--space-3);border-left:var(--border)}.ov-reason{color:var(--color-text-muted);flex:1 1 16rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-health-list{list-style:none;margin:var(--space-3) 0 0;padding:var(--space-2) 0 0;border-top:var(--border);display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-size:var(--text-sm)}.ov-health{display:inline-flex;align-items:center;gap:6px}.ov-dot{width:8px;height:8px;border-radius:50%;background:var(--color-warning)}.ov-health.ok .ov-dot{background:var(--color-success)}.ov-health.bad .ov-dot{background:var(--color-danger);border-radius:1px}.ov-nav{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin-top:var(--space-2);font-size:var(--text-sm)}.ov-nav a{padding:2px 0}[id=simulator],[id=controls],[id=challenge],[id=perception],[id=sensors],[id=navigation],[id=telemetry],[id=events],[id=health],[id=demo-title]{scroll-margin-top:72px}.grid-figure{margin:0 0 var(--space-3)}.grid-canvas{display:block;width:100%;height:auto;image-rendering:pixelated;border:var(--border);border-radius:var(--radius-sm)}.grid-figure figcaption{margin-top:var(--space-2)}.blocked-demo,.predictive-demo{margin-top:var(--space-4);padding-top:var(--space-4);border-top:var(--border)}.event-local .event-level{color:var(--color-text-faint)}.sensor-table td.mono,.sensor-table td:nth-child(2){white-space:nowrap}.challenge .btn-primary{margin-top:var(--space-1)}.ch-live{display:grid;gap:var(--space-2);margin-top:var(--space-2)}.ch-budget{display:flex;align-items:center;gap:var(--space-3)}.ch-pips{display:inline-flex;gap:5px}.ch-pip{width:14px;height:14px;border-radius:3px;border:1px solid var(--color-border-strong);background:var(--color-surface-muted)}.ch-pip.on{background:var(--color-warning);border-color:var(--color-warning)}.ch-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:0}.ch-stats div{padding:var(--space-2);border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface-muted);min-width:0}.ch-stats dt{font-size:var(--text-sm);color:var(--color-text-muted)}.ch-stats dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}.ch-result{margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border)}.ch-result p{margin:0 0 var(--space-1)}.ch-robot{background:var(--color-success-soft);border-color:var(--color-success)}.ch-trapped{background:var(--color-warning-soft);border-color:var(--color-warning)}html.a11y-large{font-size:118.75%}html.a11y-contrast{--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-muted: #f1f1f1;--color-border: #4d4d4d;--color-border-strong: #1a1a1a;--color-text: #000000;--color-text-muted: #1f1f1f;--color-text-faint: #333333;--color-accent: #00504c;--color-accent-strong: #003b38;--color-success: #11501a;--color-warning: #6b3d00;--color-danger: #8a1510;--color-on-accent: #ffffff;--color-surface-raised: #ffffff;--color-accent-soft: #e1eeec;--color-success-soft: #e5efe4;--color-warning-soft: #fbf0db;--color-danger-soft: #f8e4e2;color-scheme:light}html.a11y-contrast :focus-visible{outline:3px solid #000!important;outline-offset:2px!important;box-shadow:0 0 0 6px #ffd400!important}html.a11y-contrast .panel{border-width:2px}.alert-centre{display:grid;gap:var(--space-2);margin-bottom:var(--space-4)}.alert-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:2px solid currentColor;font-size:var(--text-base)}.alert-banner>.icon{flex:none;margin-top:2px}.alert-banner>div{flex:1;min-width:0}.alert-banner strong{display:block;font-size:var(--text-lg)}.alert-banner p{margin:2px 0 0;color:var(--color-text);overflow-wrap:anywhere}.alert-danger{color:var(--color-danger);background:var(--color-danger-soft)}.alert-warning{color:var(--color-warning);background:var(--color-warning-soft)}.alert-success{color:var(--color-success);background:var(--color-success-soft)}.alert-info{color:var(--color-accent);background:var(--color-accent-soft)}.alert-settings,.alert-history{font-size:var(--text-sm)}.alert-settings summary,.alert-history summary{cursor:pointer;padding:4px 0;min-height:32px}.alert-settings-body{display:grid;gap:var(--space-2);padding:var(--space-2) 0 var(--space-3);max-width:40rem}.alert-history ol{margin:var(--space-1) 0 0;padding-left:var(--space-5)}.alert-tag{display:inline-block;padding:0 6px;border-radius:var(--radius-sm);border:1px solid currentColor;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.alert-tag-danger{color:var(--color-danger)}.alert-tag-warning{color:var(--color-warning)}.alert-tag-success{color:var(--color-success)}.alert-tag-info{color:var(--color-accent)}.commands{display:grid;gap:var(--space-3)}.estop-row{display:grid;gap:var(--space-1)}.estop-row p{margin:0}.btn-estop{width:100%;min-height:52px;font-size:var(--text-lg);font-weight:700;justify-content:center}.cmd-form,.cmd-select{display:grid;gap:var(--space-1)}.cmd-form>label,.cmd-select>label{font-weight:600;font-size:var(--text-sm)}.cmd-input-row{display:flex;gap:var(--space-2)}.cmd-input-row input,.cmd-input-row select{flex:1;min-width:0;min-height:40px;padding:0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.cmd-examples{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-1)}.chip-btn{border:1px solid var(--color-border-strong);background:var(--color-surface-muted);color:var(--color-text);border-radius:999px;padding:4px 10px;min-height:30px;font:inherit;font-size:var(--text-sm);cursor:pointer;text-align:left}.chip-btn:hover:not(:disabled){border-color:var(--color-accent)}.chip-btn:disabled{opacity:.55;cursor:not-allowed}.cmd-voice{display:grid;gap:var(--space-2);padding:var(--space-3);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.cmd-voice p{margin:0}.mic-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.btn-mic{min-height:44px}.btn-mic.on{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.mic-state{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-sm);min-width:0}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--color-danger)}.level{display:inline-block;width:90px;height:8px;border-radius:4px;background:var(--color-border);overflow:hidden}.level span{display:block;height:100%;background:var(--color-accent)}.cmd-options{display:grid;gap:var(--space-1);font-size:var(--text-sm)}.cmd-card{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);border-left-width:5px;background:var(--color-surface)}.cmd-ok{border-left-color:var(--color-success)}.cmd-warn{border-left-color:var(--color-warning)}.cmd-bad{border-left-color:var(--color-danger)}.cmd-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1) var(--space-2)}.cmd-status{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:var(--text-sm)}.cmd-status-ok{color:var(--color-success)}.cmd-status-warn{color:var(--color-warning)}.cmd-status-bad{color:var(--color-danger)}.cmd-status-muted{color:var(--color-text-muted)}.cmd-transcript{margin:0;font-size:var(--text-lg);overflow-wrap:anywhere}.cmd-facts{display:grid;gap:4px;margin:0;font-size:var(--text-sm)}.cmd-facts div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:var(--space-2)}.cmd-facts dt{color:var(--color-text-muted)}.cmd-facts dd{margin:0;overflow-wrap:anywhere}.cmd-response{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-accent-soft);overflow-wrap:anywhere}.cmd-history{margin:0;padding-left:var(--space-5);display:grid;gap:var(--space-2);font-size:var(--text-sm);max-height:22rem;overflow-y:auto}.cmd-history li{overflow-wrap:anywhere}.cmd-history-reply{display:block;color:var(--color-text-muted)}.mapping{display:grid;gap:var(--space-3)}.map-view-toggle{justify-self:start;flex-wrap:wrap}.map-canvas{display:block;width:100%;height:auto;image-rendering:pixelated;border:var(--border);border-radius:var(--radius-sm);background:#c9cdd2}.map-kv{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));column-gap:var(--space-4)}.map-kv .kv{display:block}.map-kv .kv dd{text-align:left;margin-top:2px}.map-form,.map-import{display:grid;gap:var(--space-2);margin:var(--space-2) 0}.map-import{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));align-items:end}.map-import input[type=file]{max-width:100%;font-size:var(--text-sm)}.map-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1);font-size:var(--text-sm)}.btn-sm{min-height:30px;padding:2px 10px;font-size:var(--text-sm)}.sw-dashed{background:repeating-linear-gradient(90deg,#8a8f96 0 4px,transparent 4px 7px)}[id=commands],[id=mapping],[id=alerts]{scroll-margin-top:72px}.prediction{display:grid;gap:var(--space-3)}.risk-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:2px solid currentColor}.risk-ok{color:var(--color-success);background:var(--color-success-soft)}.risk-warn{color:var(--color-warning);background:var(--color-warning-soft)}.risk-bad{color:var(--color-danger);background:var(--color-danger-soft)}.risk-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-lg);white-space:nowrap}.risk-body p{margin:0 0 2px;color:var(--color-text);overflow-wrap:anywhere}.risk-reason{font-size:var(--text-sm)}.risk-tag{display:inline-block;padding:0 6px;border-radius:var(--radius-sm);border:1px solid currentColor;font-size:var(--text-xs);font-weight:700}.risk-tag-low{color:var(--color-success)}.risk-tag-medium{color:var(--color-warning)}.risk-tag-high{color:var(--color-danger)}.eval-checks{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2);font-size:var(--text-sm)}.eval-checks li{display:flex;gap:var(--space-2);align-items:flex-start}.eval-checks li.ok>.icon{color:var(--color-success);flex:none;margin-top:3px}.eval-checks li.bad>.icon{color:var(--color-danger);flex:none;margin-top:3px}.legend .sw-predict{width:12px;height:12px;border-radius:50%;border:2px solid #ffd166}.legend .sw-conflict{color:#ff6b5e;font-weight:700;background:none}[id=prediction],[id=evaluation]{scroll-margin-top:72px}.alert-float{position:fixed;top:68px;right:16px;width:min(380px,calc(100vw - 32px));z-index:45;display:grid;gap:var(--space-2);pointer-events:none}.alert-float .alert-banner{box-shadow:0 10px 28px #10182029;pointer-events:none}.alert-float .alert-banner button{pointer-events:auto}.scenario-info{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-accent);border-left-width:4px;border-radius:var(--radius-md);background:var(--color-accent-soft)}.scenario-info p{margin:0 0 var(--space-1)}.scenario-info-head{display:flex;align-items:center;gap:6px;color:var(--color-accent-strong)}.scenario-benefits{list-style:none;margin:var(--space-1) 0 var(--space-2);padding:0;display:grid;gap:3px;font-size:var(--text-sm)}.scenario-benefits li{display:flex;gap:6px;align-items:flex-start}.scenario-benefits .icon{color:var(--color-success);flex:none;margin-top:3px}.alert-float .alert-banner{padding:var(--space-2) var(--space-3);gap:var(--space-2);font-size:var(--text-sm)}.alert-float .alert-banner strong{font-size:var(--text-base)}.alert-float .alert-banner>.icon{width:18px;height:18px}html.a11y-large .alert-float{width:min(460px,calc(100vw - 32px))}.operations{display:grid;gap:var(--space-3)}.operations .sub{margin:var(--space-2) 0 0}.ops-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.battery{display:inline-flex;align-items:center;gap:var(--space-2)}.battery-bar{display:inline-block;width:120px;height:14px;border:2px solid var(--color-border-strong);border-radius:4px;overflow:hidden;background:var(--color-surface-muted)}.battery-bar span{display:block;height:100%}.battery-ok span{background:var(--color-success)}.battery-warn span{background:var(--color-warning)}.battery-bad span{background:var(--color-danger)}.ops-form{display:grid;gap:var(--space-2)}.ops-form input,.ops-form select,.task-card input{min-height:38px;padding:0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;width:100%}.pin{font-size:var(--text-lg);letter-spacing:.2em}.task-card{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border-strong);border-left:5px solid var(--color-accent);border-radius:var(--radius-md)}.task-card p{margin:0}.task-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px;font-size:var(--text-xs)}.task-steps li{padding:2px 8px;border-radius:999px;border:1px solid var(--color-border-strong);color:var(--color-text-muted)}.task-steps li.done{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.task-steps li.current{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:700}.ops-list{margin:0;padding-left:var(--space-5);display:grid;gap:var(--space-1);font-size:var(--text-sm)}.ops-list li{overflow-wrap:anywhere}.ops-list .btn-sm{margin-left:var(--space-2)}[id=operations]{scroll-margin-top:72px}body{font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}.mono,.data td.mono{font-variant-numeric:tabular-nums}.site-header{background:#ffffffeb;backdrop-filter:saturate(1.4) blur(8px)}.header-inner{min-height:var(--header-h)}.brand-name{font-weight:800;letter-spacing:.08em}.site-nav a.active{color:var(--color-accent-strong)}.panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.panel-head h2{font-size:var(--text-lg)}.eyebrow{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-accent);font-weight:700;margin:0 0 2px}.btn{border-radius:var(--radius-md)}.btn-primary{box-shadow:0 1px 2px #0b7d7340}.btn-accent-outline{color:var(--color-accent-strong);border-color:var(--color-accent-line);background:var(--color-accent-soft);font-weight:600}.btn-accent-outline:hover:not(:disabled){background:#d3ebe8;color:var(--color-accent-strong)}.console{display:flex;flex-direction:column;gap:var(--space-4)}.console>.alert-centre{margin-bottom:0}.console-title{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.console-title h1{font-size:var(--text-xl);letter-spacing:-.02em}.console-title p{margin:0}.command-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3) var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.cb-state{display:flex;align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;min-width:0}.cb-state .badge{font-size:var(--text-sm);padding:4px 10px}.cb-facts{display:flex;gap:var(--space-4);flex-wrap:wrap}.cb-fact{display:flex;flex-direction:column;line-height:1.25}.cb-k{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-text-faint);font-weight:600}.cb-v{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.command-bar .ov-reason{flex-basis:100%;color:var(--color-warning)}.cb-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.cb-sep{width:1px;height:28px;background:var(--color-border);margin:0 var(--space-1)}.command-bar .ov-health-list{grid-column:1 / -1;margin:0;padding-top:var(--space-2);border-top:1px dashed var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4)}.ov-health{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs)}.ov-health-label{color:var(--color-text-faint)}.ov-health-text{color:var(--color-text);font-weight:600}.ov-health.warn .ov-dot{background:var(--color-warning)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,400px);gap:var(--space-4);align-items:start}.ws-main{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.ws-rail{position:sticky;top:calc(var(--header-h) + 12px);max-height:calc(100vh - var(--header-h) - 24px);overflow:auto;overscroll-behavior:contain;border-radius:var(--radius-lg);scrollbar-width:thin}.ws-rail .tab-panel{display:flex;flex-direction:column;gap:var(--space-3)}.ws-rail .tab-panel[hidden]{display:none}.ws-rail .panel{box-shadow:none}.viewport .panel-head{margin-bottom:var(--space-2)}.viewport .panel-head h2{font-size:var(--text-lg)}.vp-sub{margin-right:auto}.viewport-stage{border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px #00000059}.viewport-foot{margin-top:var(--space-2)}.tool-pop{position:relative}.tool-pop>summary{list-style:none;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface)}.tool-pop>summary::-webkit-details-marker{display:none}.tool-pop>summary:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:4px}.tool-pop[open]>summary{background:var(--color-accent-soft);color:var(--color-accent-strong)}.tool-pop-body{position:absolute;top:calc(100% + 6px);left:0;z-index:12;display:grid;gap:var(--space-2);min-width:200px;padding:var(--space-3);background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);box-shadow:0 12px 32px #10182024}.tool-pop-wide{width:min(440px,80vw)}.tool-pop-body .legend{margin:0;display:grid;gap:6px}.telemetry-strip{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);overflow:hidden}.ts-cell{padding:var(--space-2) var(--space-3);border-right:1px solid var(--color-border);min-width:0}.ts-cell dt{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-text-faint);font-weight:600}.ts-cell dd{margin:2px 0 0;font-size:var(--text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-unit{color:var(--color-text-faint);font-weight:500}.ts-ok dd{color:var(--color-success)}.ts-warn dd{color:var(--color-warning)}.ts-bad dd{color:var(--color-danger)}.ts-wide{grid-column:span 3}.tab-list{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;border-bottom:var(--border)}.tab{position:relative;padding:var(--space-2) var(--space-3);min-height:40px;border:0;background:none;font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.tab:hover{color:var(--color-text);background:var(--color-surface-muted)}.tab.on{color:var(--color-accent-strong)}.tab.on:after{content:"";position:absolute;left:var(--space-2);right:var(--space-2);bottom:-1px;height:2px;border-radius:2px;background:var(--color-accent)}.tab-badge{margin-left:6px;font-size:var(--text-2xs);padding:0 6px;border-radius:999px;background:var(--color-surface-muted)}.tab-panel{padding-top:var(--space-3)}.rail-tabs>.tab-list{position:sticky;top:0;z-index:2;background:var(--color-bg)}.rail-tabs .tab{flex:1}.intel-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:var(--space-4);align-items:stretch}.intel{position:relative;border-top:3px solid var(--color-accent)}.intel-warn{border-top-color:var(--color-warning)}.intel-bad{border-top-color:var(--color-danger)}.intel-idle{border-top-color:var(--color-border-strong)}.intel-head-tools{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.intel-grid{display:grid;grid-template-columns:minmax(250px,1.05fr) minmax(220px,1fr) minmax(220px,.95fr);gap:var(--space-4);align-items:stretch}.intel .risk-card{display:flex;flex-direction:column;gap:var(--space-3);border-width:1px;border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text);padding:var(--space-4)}.intel .risk-card.risk-warn{background:var(--color-warning-soft);border-color:#efcf96}.intel .risk-card.risk-bad{background:var(--color-danger-soft);border-color:#f0b5af}.intel .risk-card.risk-ok{background:#f1f8f6;border-color:#cfe7e2}.intel-state{margin:0;display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-2);align-items:center}.intel-state strong{font-size:var(--text-xl);text-transform:uppercase;letter-spacing:.03em;line-height:1.15}.intel-state>span:last-child{grid-column:2;font-size:var(--text-sm);color:var(--color-text-muted)}.intel-state-mark{width:12px;height:12px;border-radius:3px;background:var(--color-text-faint)}.tone-ok .intel-state-mark{background:var(--color-success)}.tone-ok strong{color:var(--color-success)}.tone-warn .intel-state-mark{background:var(--color-warning);transform:rotate(45deg)}.tone-warn strong{color:var(--color-warning)}.tone-bad .intel-state-mark{background:var(--color-danger);border-radius:50%}.tone-bad strong{color:var(--color-danger)}.tone-idle strong{color:var(--color-text-muted)}.intel .risk-badge{font-size:var(--text-sm);color:var(--color-text-muted)}.risk-meter{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.rm-seg{text-align:center;font-size:var(--text-2xs);font-weight:700;letter-spacing:.06em;padding:5px 0;border-radius:4px;background:var(--color-surface);color:var(--color-text-faint);border:1px solid var(--color-border)}.rm-low.on{background:var(--color-success);border-color:var(--color-success);color:#fff}.rm-medium.on{background:var(--color-warning);border-color:var(--color-warning);color:#fff}.rm-high.on{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.intel .risk-body{display:grid;gap:var(--space-2)}.intel .risk-body p{display:flex;flex-direction:column;gap:1px}.intel .risk-action strong{font-size:var(--text-base)}.intel .risk-reason{font-size:var(--text-sm)}.speed-gauge{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-2);align-items:center}.sg-bar{height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.sg-bar span{display:block;height:100%;background:var(--color-accent);transition:width .3s ease}.speed-gauge .mono{font-size:var(--text-sm);font-weight:700}.intel-horizon{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.ttc{display:flex;flex-direction:column}.ttc strong{font-size:2.25rem;line-height:1.1;letter-spacing:-.02em}.horizon{padding-bottom:18px}.hz-track{position:relative;display:flex;height:12px;border-radius:6px;overflow:visible;background:var(--color-surface-muted);border:1px solid var(--color-border)}.hz-zone{height:100%}.hz-high{background:repeating-linear-gradient(135deg,#c0352a2e 0 5px,#c0352a14 5px 10px);border-radius:6px 0 0 6px}.hz-med{background:#9a5a001a;border-radius:0 6px 6px 0}.hz-marker{position:absolute;top:-5px;width:4px;height:22px;margin-left:-2px;border-radius:2px;background:var(--color-text);box-shadow:0 0 0 2px var(--color-surface)}.hz-ticks{position:relative;height:0}.hz-ticks span{position:absolute;top:4px;transform:translate(-50%);font-size:var(--text-2xs);color:var(--color-text-faint)}.pred-strip p{margin:0 0 var(--space-2)}.pred-cells{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.pred-cells li{display:flex;flex-direction:column;padding:6px 8px;border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface-muted);min-width:0}.pc-t{font-size:var(--text-2xs);color:var(--color-accent-strong);font-weight:700}.pc-xy{font-size:var(--text-xs);font-weight:600;white-space:nowrap}.pc-sig{font-size:var(--text-2xs);color:var(--color-text-faint)}.pred-empty{margin:0;padding:var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-faint)}.intel-radar{margin:0;display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.radar{display:block;width:100%;aspect-ratio:1;max-height:300px;background:var(--sim-bg);border-radius:var(--radius-md)}.rd-ring{fill:none;stroke:#ffffff1a;stroke-width:.02}.rd-axis{stroke:#ffffff12;stroke-width:.02}.rd-route{fill:none;stroke:var(--sim-path);stroke-width:.09;stroke-linejoin:round;stroke-linecap:round}.rd-target{fill:none;stroke:var(--sim-target);stroke-width:.07}.rd-obj{fill:#6fa8dc59;stroke:var(--sim-person);stroke-width:.05}.rd-track.rd-medium .rd-obj,.rd-track.rd-medium .rd-pdot{stroke:#ffd166}.rd-track.rd-high .rd-obj,.rd-track.rd-high .rd-pdot{stroke:#ff6b5e}.rd-predline{fill:none;stroke:#7fe3d9;stroke-width:.04;stroke-dasharray:.12 .08}.rd-medium .rd-predline{stroke:#ffd166}.rd-high .rd-predline{stroke:#ff6b5e}.rd-uncertain .rd-predline{opacity:.5}.rd-sigma{fill:#7fe3d914;stroke:#7fe3d959;stroke-width:.025}.rd-medium .rd-sigma{fill:#ffd16614;stroke:#ffd16666}.rd-high .rd-sigma{fill:#ff6b5e1a;stroke:#ff6b5e73}.rd-pdot{fill:#e4e7e9;stroke:#7fe3d9;stroke-width:.03}.rd-label{font-size:.32px;fill:#e4e7e9;font-family:var(--font-mono)}.rd-conflict line{stroke:#ff6b5e;stroke-width:.08;stroke-linecap:round}.rd-robot-body{fill:#f2f1ee1f;stroke:#f2f1ee80;stroke-width:.03}.rd-robot{fill:#f2f1ee}.rd-scale{font-size:.28px;fill:#e4e7e999;font-family:var(--font-mono)}.radar-legend{display:flex;flex-wrap:wrap;gap:2px var(--space-3);color:var(--color-text-muted)}.radar-legend span{display:inline-flex;align-items:center;gap:6px}.lg{display:inline-block;width:16px;height:3px;border-radius:2px}.lg-route{background:var(--sim-path)}.lg-pred{background:repeating-linear-gradient(90deg,#0f8f83 0 4px,transparent 4px 7px)}.lg-conflict{height:10px;width:10px;background:linear-gradient(45deg,transparent 42%,#c0352a 42% 58%,transparent 58%),linear-gradient(-45deg,transparent 42%,#c0352a 42% 58%,transparent 58%)}.intel-details{margin-top:var(--space-4);border-top:var(--border);padding-top:var(--space-3)}.intel-details>summary{cursor:pointer;font-weight:600;font-size:var(--text-sm);color:var(--color-text-muted)}.intel-details[open]>summary{margin-bottom:var(--space-3)}.intel-note{margin:var(--space-3) 0 0}.switch{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;cursor:pointer}.switch input{position:absolute;left:0;top:50%;width:36px;height:20px;margin:-10px 0 0;opacity:0;cursor:pointer;z-index:1}.switch-track{pointer-events:none;width:36px;height:20px;border-radius:10px;background:var(--color-border-strong);position:relative;transition:background var(--transition);flex:none}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--transition)}.switch input:checked+.switch-track{background:var(--color-accent)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{box-shadow:var(--focus-ring)}.switch input:disabled+.switch-track{opacity:.5}.timeline{display:flex;flex-direction:column;min-height:0}.tl-list{list-style:none;margin:0;padding:0 0 0 4px;max-height:520px;overflow:auto;scrollbar-width:thin}.tl-item{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr);gap:var(--space-2);padding-bottom:var(--space-3)}.tl-item:before{content:"";position:absolute;left:6px;top:14px;bottom:-2px;width:2px;background:var(--color-border)}.tl-item:last-child:before{display:none}.tl-node{width:14px;height:14px;margin-top:3px;border-radius:50%;border:3px solid var(--color-surface);box-shadow:0 0 0 1.5px var(--color-border-strong);background:var(--color-text-faint)}.tl-plan .tl-node{background:var(--color-accent);box-shadow:0 0 0 1.5px var(--color-accent-line)}.tl-perceive .tl-node{background:var(--color-info)}.tl-predict .tl-node{background:var(--series-reactive)}.tl-act .tl-node,.tl-level-warning .tl-node{background:var(--color-warning)}.tl-outcome.tl-level-success .tl-node{background:var(--color-success)}.tl-level-error .tl-node{background:var(--color-danger)}.tl-body p{margin:0}.tl-meta{display:flex;gap:var(--space-2);align-items:baseline;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-text-faint);font-weight:600}.tl-meta time{text-transform:none;letter-spacing:0;margin-left:auto}.tl-kind{color:var(--color-text-muted)}.tl-msg{font-size:var(--text-sm);line-height:1.4;overflow-wrap:anywhere}.judge{border-top:3px solid var(--color-accent)}.judge-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin:var(--space-3) 0}.judge-steps{list-style:none;margin:0;padding:0;display:grid;gap:2px}.js-step{display:grid;grid-template-columns:26px minmax(0,1fr);gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md)}.js-mark{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--color-border-strong);font-size:var(--text-xs);font-weight:700;color:var(--color-text-faint);background:var(--color-surface)}.js-title{margin:2px 0 0;font-size:var(--text-sm);font-weight:600}.js-hint,.js-detail{margin:2px 0 0;font-size:var(--text-xs);color:var(--color-text-muted);overflow-wrap:anywhere}.js-detail{color:var(--color-text);font-family:var(--font-mono)}.js-done .js-mark{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.js-current{background:var(--color-accent-soft)}.js-current .js-mark{border-color:var(--color-accent);color:var(--color-accent-strong)}.js-failed{background:var(--color-danger-soft)}.js-failed .js-mark{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.js-todo .js-title{color:var(--color-text-muted)}.judge-evidence{margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-muted);border:var(--border);display:grid;gap:var(--space-2);justify-items:start}.judge-evidence p{margin:0}.ev-provenance{margin:0 0 var(--space-4);color:var(--color-text-muted);max-width:110ch}.ev-provenance .chip{color:var(--color-accent-strong);border-color:var(--color-accent-line);background:var(--color-accent-soft);font-weight:600;margin-right:4px}.ev-top{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);gap:var(--space-5);align-items:start}.ev-stats{margin:0;display:grid;border:var(--border);border-radius:var(--radius-md);overflow:hidden}.ev-stats-head,.ev-stat{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr 1fr;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.ev-stats-head{background:var(--color-surface-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:700;color:var(--color-text-muted)}.ev-stats-head span{display:inline-flex;align-items:center;gap:6px}.ev-stat{border-top:var(--border)}.ev-stat dt{font-size:var(--text-sm);color:var(--color-text-muted)}.ev-stat dd{margin:0;display:contents}.ev-val strong{font-size:var(--text-lg)}.ev-val .ev-swatch{display:none}.ev-swatch{display:inline-block;width:10px;height:10px;border-radius:50%}.ev-swatch.ev-predictive{background:var(--series-predictive)}.ev-swatch.ev-reactive{background:var(--series-reactive);border-radius:2px;transform:rotate(45deg) scale(.85)}.ev-chart{margin:0;min-width:0}.ev-chart-title{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-2)}.ev-legend{list-style:none;margin:0 0 var(--space-2);padding:0;display:flex;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text)}.ev-legend li{display:inline-flex;align-items:center;gap:6px}.ev-plot{position:relative}.ev-plot svg{display:block;width:100%;height:auto}.ev-band-collision{fill:var(--color-danger-soft)}.ev-band-near{fill:var(--color-warning-soft)}.ev-band-label{font-size:10px;fill:var(--color-text-muted);font-weight:600}.ev-grid{stroke:var(--color-border);stroke-width:1}.ev-zero{stroke:var(--color-danger);stroke-width:1;stroke-dasharray:3 3}.ev-tick{font-size:10px;fill:var(--color-text-muted);font-family:var(--font-mono)}.ev-tick-faint{fill:var(--color-text-faint)}.ev-axis-label{font-size:10px;fill:var(--color-text-faint)}.ev-mark{stroke:var(--color-surface);stroke-width:2}.ev-mark.ev-predictive{fill:var(--series-predictive)}.ev-mark.ev-reactive{fill:var(--series-reactive)}.ev-hit{cursor:default;outline:none}.ev-hit-area{fill:transparent}.ev-hit:hover .ev-mark,.ev-hit:focus-visible .ev-mark{stroke:var(--color-text)}.ev-tip{position:absolute;transform:translate(-50%,calc(-100% - 12px));display:grid;gap:1px;padding:6px 10px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:0 8px 20px #10182024;font-size:var(--text-xs);white-space:nowrap;pointer-events:none;z-index:3}.ev-takeaway{margin:var(--space-4) 0 var(--space-2);padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-accent);background:var(--color-accent-soft);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--text-sm)}.ev-more{margin:var(--space-3) 0}.ev-more>summary{cursor:pointer;font-weight:600;font-size:var(--text-sm);color:var(--color-text-muted)}.ev-more[open]>summary{margin-bottom:var(--space-3)}.ev-more .table-wrap+.table-wrap{margin-top:var(--space-3)}.systems{margin-top:var(--space-2)}.systems-head{margin-bottom:var(--space-2)}.systems-head h2{font-size:var(--text-lg)}.systems-tabs>.tab-panel>.panel,.systems-tabs>.tab-panel>.split>.panel{box-shadow:none}@media(max-width:1360px){.intel-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.intel-radar{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,300px) 1fr;align-items:start}.radar-legend{flex-direction:column}}@media(max-width:1180px){.workspace,.intel-row{grid-template-columns:minmax(0,1fr)}.ws-rail{position:static;max-height:none;overflow:visible}.ev-top{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.command-bar{position:static;grid-template-columns:minmax(0,1fr)}.cb-actions{justify-content:flex-start}.intel-grid{grid-template-columns:minmax(0,1fr)}.intel-radar{display:flex}.pred-cells{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-wide{grid-column:auto}.ts-cell{border-bottom:1px solid var(--color-border)}}.command-bar.overview-strip{margin:0}@media(min-width:1181px){.telemetry-strip{grid-template-columns:.75fr 1.05fr 1.35fr .7fr .85fr 1fr 1.2fr .85fr .8fr}.ts-cell{padding:var(--space-2) 10px}}.ts-cell:last-child{border-right:0}details.scenario-info{margin-top:var(--space-2);padding:var(--space-2) var(--space-3)}details.scenario-info>summary{cursor:pointer;list-style:none;margin:0}details.scenario-info>summary::-webkit-details-marker{display:none}details.scenario-info[open]>summary{margin-bottom:var(--space-2)}.overview{max-width:1200px}.hero-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:var(--space-6);align-items:center;padding-top:var(--space-6)}.hero-claim{font-size:var(--text-xl);line-height:1.35;font-weight:500;margin:var(--space-4) 0 var(--space-2);max-width:34ch}.hero-claim strong{color:var(--color-accent-strong)}.btn-quiet{border-color:transparent;background:transparent;color:var(--color-text-muted)}.hero-loop{list-style:none;margin:var(--space-5) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.hero-loop li{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;border:var(--border);border-radius:999px;background:var(--color-surface);font-size:var(--text-sm);font-weight:600}.hero-loop li:nth-child(3){border-color:var(--color-accent-line);background:var(--color-accent-soft);color:var(--color-accent-strong)}.hero-loop .mono{font-size:var(--text-2xs);color:var(--color-text-faint)}.hero-evidence{background:var(--color-surface);border:var(--border);border-top:3px solid var(--color-accent);border-radius:var(--radius-lg);box-shadow:0 12px 32px #10182014;padding:var(--space-5)}.hero-evidence h2{font-size:var(--text-lg);margin-bottom:var(--space-3)}.he-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-3)}.he-table th,.he-table td{padding:var(--space-2) 0;border-bottom:var(--border);text-align:left}.he-table thead th{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-text-faint)}.he-table tbody th{font-weight:500;color:var(--color-text-muted);font-size:var(--text-sm)}.he-table td{font-size:var(--text-xl);font-weight:700}@media(max-width:960px){.hero-split{grid-template-columns:minmax(0,1fr)}}.viewport .toolbar{gap:var(--space-2)}.viewport .tool-btn{min-height:34px;padding:0 10px}.viewport .check-sep{margin-left:auto;font-size:var(--text-sm)}.console-title h1{font-size:var(--text-lg)}.tool-pop:not([open])>.tool-pop-body{display:none}@media(max-width:1100px){.tool-pop-body,.tool-pop-wide{position:fixed;left:16px;right:16px;top:auto;width:auto;max-height:55vh;overflow:auto}}.tab-list{flex-wrap:wrap;overflow:visible}.console>.alert-centre{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-1) var(--space-5)}.console>.alert-centre>.alert-banner{flex-basis:100%}.console>.alert-centre>details{min-width:0}.console>.alert-centre>details[open]{flex-basis:100%}.stage-decision{position:absolute;left:var(--space-3);bottom:var(--space-3);max-width:calc(100% - 2 * var(--space-3));display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:8px 14px;border-radius:var(--radius-md);background:#0d1114db;border:1px solid rgba(255,255,255,.12);border-left:4px solid #7fe3d9;color:#e4e7e9;font-size:var(--text-sm);pointer-events:none}.stage-decision strong{font-size:var(--text-base);text-transform:uppercase;letter-spacing:.04em;color:#7fe3d9}.sd-mark{width:10px;height:10px;border-radius:2px;background:#7fe3d9}.sd-warn{border-left-color:#ffd166}.sd-warn strong{color:#ffd166}.sd-warn .sd-mark{background:#ffd166;transform:rotate(45deg)}.sd-bad{border-left-color:#ff6b5e}.sd-bad strong{color:#ff8a7a}.sd-bad .sd-mark{background:#ff6b5e;border-radius:50%}.sd-ttc{padding-left:10px;border-left:1px solid rgba(255,255,255,.2);color:#c9d1d6}@media(max-width:520px){.stage-decision{font-size:var(--text-xs);padding:6px 10px}}.predict-pipeline{list-style:none;margin:0 0 var(--space-4);padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border:var(--border);border-radius:var(--radius-md);overflow:hidden}.pl-stage{position:relative;display:flex;flex-direction:column;gap:1px;padding:8px 12px 8px 18px;background:var(--color-surface-muted);min-width:0}.pl-stage+.pl-stage{border-left:var(--border)}.pl-stage+.pl-stage:before{content:"";position:absolute;left:-6px;top:50%;width:10px;height:10px;margin-top:-5px;border-top:1px solid var(--color-border-strong);border-right:1px solid var(--color-border-strong);background:inherit;transform:rotate(45deg);z-index:1}.pl-stage:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}.pl-name{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-text-faint)}.pl-detail{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-on{background:var(--color-accent-soft)}.pl-on .pl-name{color:var(--color-accent-strong)}.pl-on:after{background:var(--color-accent)}.pl-alert{background:var(--color-warning-soft)}.pl-alert .pl-name{color:var(--color-warning)}.pl-alert:after{background:var(--color-warning)}@media(max-width:900px){.predict-pipeline{grid-template-columns:repeat(3,minmax(0,1fr))}.pl-stage:nth-child(4){border-left:0}.pl-stage:nth-child(n+4){border-top:var(--border)}}.sim-tag{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:4px;background:var(--color-text);color:#fff;font-size:var(--text-2xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cb-state .term-btn{padding:0;border:0;background:none}.alert-float{top:auto;bottom:16px;width:min(360px,calc(100vw - 32px))}.alert-float .alert-banner{padding:var(--space-2) var(--space-3)}.alert-float .alert-banner strong{font-size:var(--text-sm)}.alert-float .alert-banner p{font-size:var(--text-xs)}.stage-plan .stage-decision{bottom:30px;left:36px}.viewport-stage .viewport-stale{left:auto;right:var(--space-3);top:var(--space-3);bottom:auto;transform:none}
