:root{color-scheme:light;--bg: #f5f7fa;--surface: #ffffff;--surface-2: #eef2f6;--border: #d4dbe3;--text: #14202b;--muted: #53606d;--brand: #0b5cad;--brand-strong: #084a8c;--brand-soft: #e3eefa;--brand-ink: #ffffff;--focus: #0b5cad;--good: #0ca30c;--good-text: #006300;--good-bg: #e4f6e4;--warning: #fab219;--warning-text: #7a5200;--warning-bg: #fff4d6;--critical: #d03b3b;--critical-text: #a32525;--critical-bg: #fde8e8;--info-bg: #e3eefa;--series-1: #2a78d6;--series-2: #eb6834;--grid: #e1e0d9;--axis: #c3c2b7;--chart-muted: #6b6a64;--code-bg: #f3f6f9;--code-text: #14202b;--accent: var(--brand);--accent-ink: var(--brand-ink);--ok: var(--good-text);--ok-bg: var(--good-bg);--warn: var(--warning-text);--warn-bg: var(--warning-bg);--bad: var(--critical-text);--bad-bg: var(--critical-bg);--local: #5b3fb0;--local-bg: #efe9fb;--browser: var(--brand);--browser-bg: var(--brand-soft);--shadow: 0 1px 2px rgba(16, 32, 48, .06);--radius: 10px;--font: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, sans-serif;--mono: ui-monospace, "Cascadia Code", "JetBrains Mono", "Ubuntu Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0d1218;--surface: #151c24;--surface-2: #1d2630;--border: #2d3844;--text: #e7edf3;--muted: #9eabb8;--brand: #5aa2f0;--brand-strong: #82b9f4;--brand-soft: #14304f;--brand-ink: #0b1118;--focus: #82b9f4;--good-text: #3fc23f;--good-bg: #12291a;--warning-text: #f2c14e;--warning-bg: #2d2410;--critical-text: #f07070;--critical-bg: #331617;--info-bg: #14304f;--series-1: #3987e5;--series-2: #d95926;--grid: #2c2c2a;--axis: #383835;--chart-muted: #9a9890;--code-bg: #0f151c;--code-text: #e7edf3;--local: #b49cf0;--local-bg: #251c3c;--shadow: none}}:root[data-theme=dark]{color-scheme:dark;--bg: #0d1218;--surface: #151c24;--surface-2: #1d2630;--border: #2d3844;--text: #e7edf3;--muted: #9eabb8;--brand: #5aa2f0;--brand-strong: #82b9f4;--brand-soft: #14304f;--brand-ink: #0b1118;--focus: #82b9f4;--good-text: #3fc23f;--good-bg: #12291a;--warning-text: #f2c14e;--warning-bg: #2d2410;--critical-text: #f07070;--critical-bg: #331617;--info-bg: #14304f;--series-1: #3987e5;--series-2: #d95926;--grid: #2c2c2a;--axis: #383835;--chart-muted: #9a9890;--code-bg: #0f151c;--code-text: #e7edf3;--local: #b49cf0;--local-bg: #251c3c;--shadow: none}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-padding-top:72px;scroll-padding-bottom:76px}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%}a{color:var(--brand);text-underline-offset:2px}h1,h2,h3,h4{line-height:1.25;margin:1.3em 0 .5em;letter-spacing:-.01em}h1{font-size:1.85rem;margin-top:.2em}h2{font-size:1.3rem}h3{font-size:1.08rem}h4{font-size:.97rem;margin:.9em 0 .4em}p{margin:.55em 0}code,pre,kbd,.mono,textarea{font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}code{font-family:var(--mono);font-size:.88em;background:var(--surface-2);padding:.1em .35em;border-radius:4px;overflow-wrap:anywhere}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.small{font-size:.86rem}.block{display:block}.mono{font-family:var(--mono)}.pre-wrap{white-space:pre-wrap}.ok{color:var(--good-text)}.error{color:var(--critical-text)}.lead{font-size:1.1rem;color:var(--muted);max-width:70ch}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0;font-weight:600}.plain{list-style:none;padding:0;margin:.3em 0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.skip-link{position:absolute;left:8px;top:-48px;z-index:100;background:var(--brand);color:var(--brand-ink);padding:8px 12px;border-radius:var(--radius)}.skip-link:focus{top:8px}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;height:58px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;white-space:nowrap}.brand-mark{display:inline-flex;color:var(--brand)}.brand-name{font-weight:700;letter-spacing:-.01em}.brand-sub{font-weight:500;color:var(--muted)}.topnav{display:flex;gap:2px;align-items:center;flex:1;min-width:0}.topnav a{padding:6px 12px;border-radius:8px;color:var(--text);text-decoration:none;font-size:.95rem}.topnav a:hover{background:var(--surface-2)}.topnav a.active{background:var(--brand-soft);color:var(--brand-strong);font-weight:600}.topnav .topnav-secondary{color:var(--muted);font-size:.88rem}.topnav .topnav-secondary:first-of-type{margin-left:auto}.topbar-right{display:flex;gap:8px;align-items:center}.topbar-right .btn{white-space:nowrap}.btn.menu-btn,.btn.labs-btn{display:none}.layout{display:block;min-height:calc(100vh - 58px)}.layout.with-sidebar{display:grid;grid-template-columns:280px minmax(0,1fr)}.main{padding:28px 32px 64px;outline:none;min-width:0}.page{max-width:1040px;margin:0 auto}.page.narrow{max-width:780px}.footer{border-top:1px solid var(--border);padding:16px 20px;font-size:.85rem;color:var(--muted);text-align:center}.pill{font-size:.8rem;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted);text-decoration:none;white-space:nowrap}@media (max-width: 1100px){.topnav .topnav-secondary{display:none}}@media (max-width: 900px){.btn.menu-btn,.btn.labs-btn{display:inline-flex}.topnav{position:fixed;top:58px;left:0;right:0;z-index:40;flex-direction:column;align-items:stretch;padding:8px 12px 14px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 12px 24px #0000002e;display:none}.topnav.open{display:flex}.topnav .topnav-secondary{display:block}.topnav .topnav-secondary:first-of-type{margin-left:0}.layout.with-sidebar{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;left:0;top:58px;z-index:25;width:min(320px,88vw);transform:translate(-105%);transition:transform .2s ease;box-shadow:0 8px 24px #00000040}.sidebar.open{transform:translate(0)}.scrim{position:fixed;top:58px;right:0;bottom:0;left:0;background:#00000059;z-index:20}.main{padding:18px 16px 48px}.topbar{padding:0 12px;gap:8px}.brand-sub{display:none}}.sidebar{position:sticky;top:58px;align-self:start;height:calc(100vh - 58px);overflow-y:auto;padding:12px;background:var(--surface);border-right:1px solid var(--border)}.sidebar ul{list-style:none;margin:0;padding:0}.nav-pages a,.nav-lab{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;color:var(--text);text-decoration:none;font-size:.93rem}.nav-pages a:hover,.nav-lab:hover{background:var(--surface-2)}.nav-pages a.active,.nav-lab.active{background:var(--brand-soft);font-weight:600}.nav-heading{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 10px 6px}.nav-num{width:1.4em;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.nav-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-checks{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.nav-progress{margin:12px 10px}.nav-legend{font-size:.75rem;color:var(--muted);margin:16px 10px}.progress-label{display:flex;justify-content:space-between;font-size:.82rem}.progress-label.small{color:var(--muted);font-size:.78rem}.progress-bar{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin:6px 0}.progress-bar span{display:block;height:100%;background:var(--brand)}.status-icon{width:1em;text-align:center;color:var(--muted)}.status-in-progress{color:var(--warning-text)}.status-learner-complete{color:var(--good-text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:6px 15px;font:inherit;font-size:.93rem;color:var(--text);text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-small{min-height:30px;padding:3px 11px;font-size:.84rem}.btn-primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong)}.btn-warn{border-color:var(--critical-text);color:var(--critical-text)}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.segmented button{font:inherit;font-size:.86rem;padding:5px 12px;border:0;background:var(--surface);color:var(--text);cursor:pointer;border-right:1px solid var(--border)}.segmented button:last-child{border-right:0}.segmented button.on{background:var(--brand);color:var(--brand-ink);font-weight:600}.form fieldset,fieldset.inject,fieldset.rubric{border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;margin:0 0 16px;background:var(--surface)}.form legend,fieldset legend{font-weight:600;padding:0 6px}.field{display:block;margin:10px 0}.field>span:first-child{display:block;font-weight:600;font-size:.92rem;margin-bottom:4px}.field.compact{margin:6px 0}.field.compact>span:first-child{font-weight:500}input[type=text],input[type=number],select,textarea{width:100%;max-width:100%;font:inherit;font-size:.95rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 10px}input[type=range]{width:100%;accent-color:var(--brand)}input[aria-invalid=true]{border-color:var(--critical-text)}textarea{font-family:var(--mono);font-size:.88rem;resize:vertical}.inline-field{display:inline-flex;align-items:center;gap:6px;font-size:.9rem}.inline-field select{width:auto}.check{display:flex;gap:8px;align-items:flex-start;margin:6px 0}.check.inline{display:inline-flex;margin-right:14px}.check input{margin-top:.3em;accent-color:var(--brand)}.radio-card{display:flex;gap:10px;padding:10px;border:1px solid var(--border);border-radius:8px;margin:8px 0;cursor:pointer;background:var(--surface)}.radio-card:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;margin:16px 0;box-shadow:var(--shadow)}.card h2:first-child,.card h3:first-child{margin-top:0}.card.highlight{border-color:var(--brand)}.card.planned{opacity:.85;border-style:dashed}.card-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.card-list .card{margin:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.card-grid .card{margin:0}.stat{display:flex;flex-direction:column}.stat-value{font-size:1.6rem;font-weight:700}.stat-label{color:var(--muted);font-size:.88rem}.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);vertical-align:middle}.badge-ok{background:var(--good-bg);color:var(--good-text);border-color:transparent}.badge-pending{color:var(--muted)}.badge-kind{color:var(--muted);font-weight:500}.status-badge-learner-complete{background:var(--good-bg);color:var(--good-text);border-color:transparent}.status-badge-in-progress{background:var(--warning-bg);color:var(--warning-text);border-color:transparent}.support{font-size:.75rem;padding:1px 8px;border-radius:999px;margin-left:6px}.support-full{background:var(--good-bg);color:var(--good-text)}.support-partial{background:var(--warning-bg);color:var(--warning-text)}.support-unsupported{background:var(--critical-bg);color:var(--critical-text)}.banner{padding:10px 16px;border-radius:var(--radius);margin:12px 0;border:1px solid var(--border)}.banner-warn{background:var(--warning-bg);color:var(--text);border-color:var(--warning);margin:0;border-radius:0}.banner-sim{background:var(--info-bg);border-color:var(--brand)}.banner-scope{background:var(--warning-bg);border-color:var(--warning)}.env-tag{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:4px;margin-right:6px}.env-local{background:var(--local-bg);color:var(--local)}.env-browser{background:var(--brand-soft);color:var(--brand-strong)}.two-env{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.env-callout{border-left:4px solid var(--local);background:var(--local-bg);padding:8px 12px;border-radius:4px;margin:12px 0}.env-note{font-size:.9rem}.ok-box{border:1px solid var(--good);background:var(--good-bg);padding:10px 14px;border-radius:var(--radius)}.error-box{border:1px solid var(--critical);background:var(--critical-bg);padding:10px 14px;border-radius:var(--radius)}.danger-zone{border-color:var(--critical)}.status{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-radius:8px;margin:8px 0;font-size:.93rem;border:1px solid transparent}.status-icon-box{flex:none;width:1.4em;height:1.4em;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-size:.8rem;border:1.5px solid currentColor}.status-good{background:var(--good-bg);color:var(--good-text)}.status-warning{background:var(--warning-bg);color:var(--warning-text)}.status-critical{background:var(--critical-bg);color:var(--critical-text)}.status-info{background:var(--info-bg);color:var(--text)}.access{font-weight:600}.access-free{color:var(--good-text)}.access-early-access{color:var(--warning-text)}details{margin:8px 0}summary{cursor:pointer;font-weight:600;padding:4px 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--border)}th{background:var(--surface-2)}.code{margin:12px 0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--code-bg)}.code-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:.8rem}.code-kind{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.code-local .code-kind{color:var(--local)}.code-example .code-kind{color:var(--warning-text)}.code-file .code-kind{color:var(--brand)}.code-title{font-family:var(--mono);color:var(--muted);overflow-wrap:anywhere}.code-lang{color:var(--muted)}.code-head .copy-btn{margin-left:auto}.code pre{margin:0;padding:12px 14px;overflow:auto;font-family:var(--mono);font-size:.84rem;line-height:1.5;color:var(--code-text);-moz-tab-size:4;tab-size:4}.code pre code{background:none;padding:0;font-size:inherit;overflow-wrap:normal}.code-example{border-style:dashed}pre.diagram{font-family:var(--mono);font-size:.82rem;background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto;line-height:1.45}code.math{display:block;margin:4px 0 6px;padding:6px 10px;background:var(--code-bg);border-left:3px solid var(--brand);white-space:pre-wrap}.commands .command-list{list-style:none;padding:0;margin:0}.command{border:1px solid var(--border);border-left:4px solid var(--local);border-radius:6px;padding:8px 10px;margin:8px 0;background:var(--surface)}.command-line{display:flex;align-items:flex-start;gap:8px}.prompt{font-family:var(--mono);color:var(--local);-webkit-user-select:none;user-select:none;padding-top:2px}.command-text{flex:1;min-width:0;background:none;padding:2px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.86rem}.command-explain{margin:4px 0 0;font-size:.88rem;color:var(--muted)}.shell-tag{font-size:.7rem;font-weight:700;color:var(--local);text-transform:uppercase;letter-spacing:.04em}.tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.tab{font:inherit;font-size:.86rem;padding:5px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer}.file-viewer .tab{font-family:var(--mono);font-size:.8rem;border-radius:6px 6px 0 0}.tab.active{background:var(--brand-soft);border-color:var(--brand);font-weight:600}.todo-dot{margin-left:6px;font-size:.65rem;font-weight:700;color:var(--warning-text);background:var(--warning-bg);padding:0 5px;border-radius:4px;font-family:var(--font)}.home-hero{padding:8px 0 4px}.home-hero h1{font-size:2.1rem;margin:.2em 0 .3em}.where{display:flex;justify-content:space-between;gap:16px;align-items:center}.where>div{flex:1}.home-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:18px 0}.action-card{display:flex;flex-direction:column;gap:6px;padding:18px;min-height:118px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);box-shadow:var(--shadow)}.action-card:hover{border-color:var(--brand)}.action-card.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.action-title{font-weight:700;font-size:1.02rem}.action-sub{font-size:.86rem;opacity:.85}.session-plan{margin-top:12px}.home-assess{color:var(--muted)}.track-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.track-grid .card{margin:0}.track-id{display:inline-flex;width:1.7em;height:1.7em;align-items:center;justify-content:center;border-radius:6px;background:var(--brand-soft);color:var(--brand-strong);font-size:.9rem;margin-right:4px}.track-planned{border-style:dashed}.badge-status{font-size:.8rem;font-weight:600;margin:4px 0}.s-available{color:var(--good-text)}.s-partial{color:var(--brand-strong)}.s-planned{color:var(--muted)}.path-steps{list-style:none;padding:0}.path-step{display:flex;gap:14px;align-items:flex-start}.path-step h2{margin:0;font-size:1.1rem}.step-num{flex:none;width:2em;height:2em;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--brand);color:var(--brand);font-weight:700}.workspace{display:grid;grid-template-columns:230px minmax(0,1fr) 280px;grid-template-areas:"left center right" "left bottom bottom";gap:0 24px;max-width:1400px;margin:0 auto}.ws-left{grid-area:left;position:sticky;top:76px;align-self:start;max-height:calc(100vh - 96px);overflow-y:auto;font-size:.9rem;padding-right:4px}.ws-center{grid-area:center;min-width:0}.ws-right{grid-area:right;position:sticky;top:76px;align-self:start;max-height:calc(100vh - 96px);overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.ws-bottom{grid-area:bottom;position:sticky;bottom:0;display:flex;justify-content:space-between;gap:8px;padding:10px 0;background:linear-gradient(to top,var(--bg) 70%,transparent);z-index:5}.ws-path,.ws-stages{list-style:none;padding:0;margin:4px 0 14px}.ws-path li,.ws-stages li{margin:2px 0}.ws-path li{display:flex;align-items:baseline;gap:2px}.ws-path li>a,.ws-path li>span:not(.ws-mark){flex:1;min-width:0}.ws-path .ws-mark{flex:none;text-align:center}.ws-path a,.ws-stages a{display:block;padding:4px 8px;border-radius:6px;text-decoration:none;color:var(--text)}.ws-path li.current a,.ws-stages a.current{background:var(--brand-soft);font-weight:600}.ws-mark{display:inline-block;width:1.1em;color:var(--muted)}.ws-path-title{font-weight:600;display:block;margin:2px 0 6px}.ws-head h1{margin:.25em 0 .2em}.ws-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}.stage-strip{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 4px}.stage-strip a{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);font-size:.84rem;text-decoration:none;color:var(--text);background:var(--surface)}.stage-strip a.done{border-color:var(--good)}.stage-strip a.done .stage-num{background:var(--good-bg);color:var(--good-text)}.stage-strip a.current{border-color:var(--brand);background:var(--brand-soft);font-weight:600}.stage-num{display:inline-flex;width:1.4em;height:1.4em;border-radius:50%;align-items:center;justify-content:center;font-size:.75rem;background:var(--surface-2)}.lesson-q{border-bottom:1px solid var(--border);padding:4px 0 12px}.analogy-limit{border-left:3px solid var(--warning);padding-left:10px}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0}.facts dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.facts dd{margin:2px 0 0}.worked-cols,.compare-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.compare-good,.compare-bad{border:1px solid var(--border);border-radius:8px;padding:10px 14px;background:var(--surface)}.compare-good{border-left:4px solid var(--good)}.compare-bad{border-left:4px dashed var(--critical)}.myths{list-style:none;padding:0}.myths li{display:grid;gap:2px;padding:8px 0;border-bottom:1px solid var(--border)}.myth{color:var(--critical-text)}.myth:before{content:"✕ "}.reality{color:var(--good-text)}.reality:before{content:"✓ "}.term-list{display:flex;flex-wrap:wrap;gap:6px 10px}.evidence-box{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:6px 14px}.review-note{margin-top:20px}.ws-panel-toggle{display:none}@media (max-width: 1200px){.workspace{grid-template-columns:210px minmax(0,1fr);grid-template-areas:"left center" "left right" "left bottom"}.ws-right{position:static;max-height:none;margin-top:16px}.ws-panel-toggle{display:inline-flex}}@media (max-width: 800px){.workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"center" "right" "bottom" "left"}.ws-left{position:static;max-height:none;border-top:1px solid var(--border);margin-top:20px;padding-top:12px}.ws-bottom{position:static;background:none;flex-wrap:wrap}}.term-wrap{position:relative;display:inline}.term{font:inherit;color:inherit;background:none;border:0;padding:0;border-bottom:1.5px dotted var(--brand);cursor:help}.term:hover{color:var(--brand)}.term-pop{position:absolute;left:0;top:1.6em;z-index:15;width:min(320px,80vw);background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000002e;padding:10px 12px;font-size:.88rem;line-height:1.45;font-weight:400;color:var(--text)}.mc{margin:10px 0}.mc-prompt{font-weight:600}.mc-choices{border:0;padding:0;margin:0}.mc-choice{border:1px solid var(--border);border-radius:8px;padding:6px 12px;margin:6px 0;background:var(--surface)}.mc-right{border-color:var(--good)}.mc-wrong{border-color:var(--critical);border-style:dashed}.mc-why{margin:2px 0 4px 26px;font-size:.9rem;color:var(--muted)}.mc-mark{font-weight:700;margin-right:4px}.mc-right .mc-mark{color:var(--good-text)}.mc-wrong .mc-mark{color:var(--critical-text)}.dialog-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto}.dialog{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);width:min(720px,100%);padding:16px 20px;outline:none}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-head h2{margin:0}.tool-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}.tool-head h3{margin:0}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 16px;margin:10px 0}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0}.result-grid>div{display:flex;flex-direction:column;gap:2px;background:var(--surface-2);border-radius:8px;padding:10px 12px}.result-grid strong{font-size:1.2rem}.metric-list{display:grid;grid-template-columns:auto auto;gap:2px 12px;margin:4px 0 0;font-size:.9rem}.metric-list dt{color:var(--muted)}.metric-list dd{margin:0;font-weight:600}.stepper{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0}.assumptions{font-size:.88rem;border-top:1px solid var(--border);margin-top:14px;padding-top:6px}.prov{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:var(--surface-2)}.prov-recorded,.prov-live{color:var(--good-text);border-color:var(--good)}.part-info{border:1px solid var(--border);border-radius:8px;padding:10px 14px;background:var(--surface);margin-top:8px}.part-info dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:6px 0 0;font-size:.9rem}.part-info dt{color:var(--muted)}.part-info dd{margin:0}.schematic .sch-part rect{fill:var(--surface-2);stroke:var(--text);stroke-width:1.5}.schematic .sch-part text{fill:var(--text);font-size:13px;font-family:var(--font)}.schematic .sch-part{cursor:pointer}.schematic .sch-part:focus{outline:none}.schematic .sch-part:focus rect,.schematic .sch-part:hover rect{stroke:var(--brand);stroke-width:2.5}.schematic .sch-sel rect{fill:var(--brand-soft);stroke:var(--brand);stroke-width:3}.schematic .wire{stroke:var(--text);stroke-width:2}.signal-path{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.signal-path li{display:flex;align-items:center;gap:6px}.sp-block{font:inherit;font-size:.86rem;display:flex;flex-direction:column;align-items:flex-start;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-align:left}.sp-block.sp-sel{border:2px solid var(--brand);background:var(--brand-soft)}.sp-domain{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.sp-arrow{color:var(--muted)}.viz{margin:14px 0}.viz-title{font-weight:600;font-size:.94rem;margin-bottom:4px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.viz-legend{list-style:none;padding:0;margin:4px 0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.85rem;color:var(--muted)}.swatch{display:inline-block;width:18px;height:3px;border-radius:2px;vertical-align:middle;margin-right:4px}.swatch.slot-1{background:var(--series-1)}.swatch.slot-2{background:var(--series-2)}.swatch-ref{background:repeating-linear-gradient(90deg,var(--chart-muted) 0 4px,transparent 4px 7px)}.viz-plot{position:relative}.viz svg{width:100%;height:auto;display:block;overflow:visible}.viz svg:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.viz .grid{stroke:var(--grid);stroke-width:1}.viz .axis{stroke:var(--axis);stroke-width:1}.viz .tick,.viz .axis-label{fill:var(--chart-muted);font-size:12px;font-family:var(--font);font-variant-numeric:tabular-nums}.viz .line{stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.viz .line.thin{stroke-width:1.5}.viz .line.dashed{stroke-dasharray:6 4}.viz .line.slot-1{stroke:var(--series-1)}.viz .line.slot-2{stroke:var(--series-2)}.viz .dot{stroke:var(--surface);stroke-width:2}.viz .dot.slot-1{fill:var(--series-1)}.viz .dot.slot-2{fill:var(--series-2)}.viz .bar.slot-1{fill:var(--series-1)}.viz .bar-hover{opacity:.8}.viz .ref-line{stroke:var(--chart-muted);stroke-width:1.5;stroke-dasharray:5 4}.viz .ref-label,.viz .direct-label{fill:var(--text);font-size:12px;font-family:var(--font)}.viz .band{fill:var(--chart-muted);opacity:.12}.viz .crosshair line{stroke:var(--chart-muted);stroke-width:1}.viz-tip{position:absolute;top:4px;transform:translate(-50%);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:.82rem;pointer-events:none;box-shadow:0 4px 12px #0000001f;white-space:nowrap;z-index:2}.viz-table{max-height:260px;overflow-y:auto;margin-top:6px}.trace-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--code-bg)}.trace-scroll svg{width:auto}.trace .trace-line{stroke:var(--text);stroke-width:2}.trace .trace-z{stroke:var(--chart-muted);stroke-width:1.5;stroke-dasharray:3 3}.trace .trace-name{fill:var(--text);font-family:var(--mono);font-size:12px;font-weight:600}.trace .trace-ann{fill:var(--brand);font-size:10px;font-family:var(--font)}.trace .trace-hl{fill:var(--brand);opacity:.35}.timer{position:sticky;top:64px;z-index:6;display:inline-block;font-family:var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px 12px}.timer.over{color:var(--critical-text);border-color:var(--critical)}.evidence-list{list-style:none;padding:0}.evidence-item{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:8px 0;background:var(--surface)}.evidence-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center}.evidence-body{margin-top:8px;border-top:1px dashed var(--border);padding-top:8px}.score-list{list-style:none;padding:0}.score-list li{padding:4px 0}.mode-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.lab-header{border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:8px}.lab-status-row{display:flex;flex-wrap:wrap;gap:6px}.lab-section{border-bottom:1px solid var(--border);padding:8px 0 16px}.rich ul,.rich ol{padding-left:1.4em}.hint{border:1px solid var(--border);border-radius:6px;padding:4px 12px;background:var(--surface)}.solution-gate,.solution{border:1px dashed var(--warning);border-radius:var(--radius);padding:12px 16px;background:var(--surface)}.check-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;margin:12px 0;background:var(--surface)}.check-card.passed{border-color:var(--good)}.check-head{display:flex;flex-wrap:wrap;gap:6px}.check-prompt{font-weight:500}.quiz{border:none;padding:0;margin:0}.rule-list{list-style:none;padding:0;font-size:.9rem}.interview-q{border-bottom:1px solid var(--border)}.author-testing{font-size:.9rem;color:var(--muted)}.pager{display:flex;justify-content:space-between;margin-top:24px;gap:8px}.lab-overview{list-style:none;padding:0}.lab-overview li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:4px 0}.toggle-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}.toggle{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:.92rem;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.toggle-dot{width:10px;height:10px;border-radius:50%}.toggle.healthy .toggle-dot{background:var(--good)}.toggle.faulty{border-color:var(--critical);background:var(--critical-bg)}.toggle.faulty .toggle-dot{background:var(--critical)}.sim-clock{font-family:var(--mono);font-size:.85rem;color:var(--muted);margin-left:auto}.pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:16px 0}.stage{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;min-width:0}.stage h3{margin:0 0 6px;font-size:.92rem}.stage-wide{grid-column:span 2}@media (max-width: 600px){.stage-wide{grid-column:auto}}.stage-ok{border-color:var(--good)}.stage-bad{border-color:var(--critical)}.stage-off{opacity:.6;border-style:dashed}.big{font-size:1.6rem;font-weight:700;margin:0}.meter{height:10px;background:var(--surface-2);border-radius:999px;overflow:hidden}.meter span{display:block;height:100%;background:var(--warning)}.slots{display:flex;flex-wrap:wrap;gap:3px;margin:6px 0}.slot{font-family:var(--mono);font-size:.72rem;padding:1px 5px;border-radius:4px;border:1px solid var(--border);background:var(--surface-2)}.slot-inflight{border-color:var(--brand);background:var(--brand-soft)}.slot-delivered{border-color:var(--good);background:var(--good-bg)}.slot-dup{border-color:var(--warning);background:var(--warning-bg)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:0}.stats-grid div{background:var(--surface-2);border-radius:6px;padding:6px 10px}.stats-grid dt{font-size:.78rem;color:var(--muted)}.stats-grid dd{margin:0;font-weight:700}.sim-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}@media (max-width: 1100px){.sim-columns{grid-template-columns:minmax(0,1fr)}}.sim-columns .card{margin:0}.timeline-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.timeline-head h2{margin:0}.timeline{list-style:none;padding:0;margin:10px 0 0;max-height:460px;overflow-y:auto;font-size:.86rem}.ev{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:8px;padding:3px 6px;border-left:3px solid transparent}.ev:nth-child(odd){background:var(--surface-2)}.ev-t{font-family:var(--mono);color:var(--muted);font-size:.8rem}.ev-warn{border-left-color:var(--warning)}.ev-error{border-left-color:var(--critical)}.ev-control{font-weight:600;border-left-color:var(--local)}.ev-connected,.ev-delivered{border-left-color:var(--good)}.scenarios{list-style:none;padding:0}.scenarios li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--border)}.scenarios .badge{flex:none;margin-top:2px}.download-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.download-grid h3{margin-top:0}.variant-switch{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px}.browser{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:12px}@media (max-width: 760px){.browser{grid-template-columns:minmax(0,1fr)}.file-list{max-height:220px}}.file-list{list-style:none;margin:0;padding:0;max-height:640px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius)}.file-btn{display:flex;width:100%;align-items:center;text-align:left;font:inherit;font-family:var(--mono);font-size:.8rem;padding:5px 10px;background:none;border:none;color:var(--text);cursor:pointer;overflow-wrap:anywhere}.file-btn:hover{background:var(--surface-2)}.file-btn.active{background:var(--brand-soft);font-weight:600}.file-content{min-width:0}.file-content .code pre{max-height:640px}.import-result{margin-top:12px}.note{border-bottom:1px solid var(--border);padding:6px 0}.pq-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:baseline}.small-h{font-size:1rem;margin:0 0 6px}.pq .mc-prompt{font-size:1.02rem}.pq-feedback{margin-top:12px;border-top:1px solid var(--border);padding-top:8px}.choice-pre{margin:0;font-family:var(--mono);font-size:.86rem;white-space:pre-wrap;overflow-wrap:anywhere}.numeric-input{width:9em}.order-list{padding-left:1.6em}.order-list li{display:flex;gap:8px;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:8px;padding:6px 10px;margin:6px 0;background:var(--surface)}.order-list li.mc-right{border-color:var(--good)}.order-list li.mc-wrong{border-color:var(--critical);border-style:dashed}.order-text{flex:1;min-width:0}.order-btns{display:flex;gap:4px;flex:none}.readiness th[scope=row]{background:none;font-weight:600}.nowrap{white-space:nowrap}.band{display:inline-block;font-size:.8rem;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.band-developing{background:var(--warning-bg);color:var(--warning-text);border-color:transparent}.band-competent{background:var(--info-bg);color:var(--brand-strong);border-color:transparent}.band-strong,.band-interview-ready{background:var(--good-bg);color:var(--good-text);border-color:transparent}.band-not-enough-data{color:var(--muted)}.band-interview-ready:before{content:"★ "}.exam-nav{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}.exam-dot{font:inherit;font-size:.8rem;min-width:2.2em;height:2.2em;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.exam-dot.answered{background:var(--brand-soft);border-color:var(--brand)}.exam-dot.flagged{border-style:dashed;border-color:var(--warning);border-width:2px}.exam-dot.current{outline:2px solid var(--brand);outline-offset:1px;font-weight:700}.deep h2{line-height:1.4}.confidence,.reasons{border:0;padding:0;margin:10px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.confidence legend,.reasons legend{width:100%;padding:0;margin-bottom:4px;color:var(--muted)}.conf-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;font-size:.9rem}.conf-chip input{accent-color:var(--brand)}.conf-chip.on,.conf-chip:has(input:checked){border-color:var(--brand);background:var(--brand-soft);font-weight:600}.after{margin-top:10px}.rescue{margin:10px 0}.today{border-color:var(--brand)}.today-list{margin:0;padding-left:1.4em}.today-list li{padding:3px 0}.bar-list{list-style:none;padding:0;margin:0}.bar-list li{display:grid;grid-template-columns:minmax(0,1fr) 120px 2.5em;gap:10px;align-items:center;padding:4px 0;font-size:.9rem}.bar-track{display:inline-block;height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden;width:100%;min-width:80px}.bar-fill{display:block;height:100%;background:var(--series-1);border-radius:999px}.bar-num{text-align:right;font-variant-numeric:tabular-nums}.meter-row{display:inline-grid;grid-template-columns:140px auto;gap:10px;align-items:center}.profile th[scope=row]{background:none;width:55%}.syllabus{list-style:none;padding:0}.syllabus li{display:grid;grid-template-columns:1.4em minmax(0,1fr);gap:2px 8px;padding:8px 0;border-bottom:1px solid var(--border)}.syl-mark{grid-row:span 2;color:var(--brand)}.syllabus li.gap .syl-mark,.syllabus li.gap .syl-title{color:var(--muted)}.syl-meta{grid-column:2}.lab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.lab-grid .card{margin:0}@media (max-width: 900px){.lab-grid{grid-template-columns:minmax(0,1fr)}}.lab-grid textarea{font-family:var(--mono)}.player-stage{border:1px solid var(--border);border-radius:8px;padding:8px;background:var(--code-bg);min-height:120px}.player-note{font-size:1rem;min-height:3em;margin:10px 0 4px}.player-step{display:inline-block;font-family:var(--mono);font-size:.8rem;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:1px 6px;margin-right:4px}.player-controls{align-items:center}.player-slider{flex:1;min-width:140px}.player-code{font-family:var(--mono);font-size:.84rem;background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;overflow-x:auto;white-space:pre}.player-code .cur{background:var(--brand-soft);color:var(--brand-strong);font-weight:700;display:inline-block;min-width:100%}.ds-scroll{overflow-x:auto}.ds-svg{display:block}.ds-cell{fill:var(--surface);stroke:var(--axis);stroke-width:1.5}.ds-cell.empty{fill:var(--surface-2);stroke-dasharray:4 3}.ds-cell.hl{stroke:var(--brand);stroke-width:3;fill:var(--brand-soft)}.ds-cell.done{stroke:var(--good);stroke-width:2.5}.ds-cell.ghost{stroke-dasharray:3 3;opacity:.55}.ds-hl-bar{fill:var(--brand)}.ds-val{fill:var(--text);font-family:var(--mono);font-size:15px;font-weight:600}.ds-val.small{font-size:13px}.ds-index{fill:var(--chart-muted);font-family:var(--mono);font-size:11px}.ds-ptr{fill:var(--brand-strong);font-family:var(--mono);font-size:12px;font-weight:700}.ds-mark{fill:var(--good-text);font-size:12px;font-weight:700}.ds-link{stroke:var(--text);stroke-width:1.8;fill:none}.ds-link.back{stroke:var(--brand);stroke-dasharray:5 3}.ds-arrowhead{fill:var(--text)}.ds-divider{stroke:var(--axis);stroke-width:1.5}.ds-null{fill:var(--chart-muted);font-family:var(--mono);font-size:14px}.ds-edge{stroke:var(--axis);stroke-width:2}.ds-node{fill:var(--surface);stroke:var(--text);stroke-width:1.8}.ds-node.hl{fill:var(--brand-soft);stroke:var(--brand);stroke-width:3}.ds-node-ring{fill:none;stroke:var(--brand);stroke-width:1.5;stroke-dasharray:3 3}.drill .code pre{max-height:220px}.concept-path{font-size:.88rem;margin-bottom:6px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.concept-path a{color:var(--muted)}.why{background:var(--info-bg);border-radius:8px;padding:8px 12px;font-size:.92rem}.cm-list{list-style:none;margin:0;padding-left:18px;border-left:1px dashed var(--border)}.cm-root{padding-left:0;border-left:0}.cm-branch>details>summary{list-style:none;cursor:pointer}.cm-branch>details>summary::-webkit-details-marker{display:none}.cm-branch>details>summary .cm-title:before{content:"▸ ";color:var(--muted)}.cm-branch>details[open]>summary .cm-title:before{content:"▾ "}.cm-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 210px 130px 96px;gap:10px;align-items:center;padding:6px 4px;border-bottom:1px solid var(--border);font-weight:400}.cm-branch>details>summary .cm-title{font-weight:700}.cm-leaf .cm-title{font-weight:500}.cm-meter .bar-track{display:block}.bar-fill.cm-strong{background:var(--good)}.bar-fill.cm-developing{background:var(--series-1)}.bar-fill.cm-weak{background:var(--critical)}.cm-status{font-size:.86rem}.cm-s-strong{color:var(--good-text)}.cm-s-weak{color:var(--critical-text)}.cm-s-gap,.cm-s-not-started,.cm-s-deep-only{color:var(--muted)}.cm-s-weak:before{content:"▼ "}.cm-s-strong:before{content:"▲ "}.cm-node-gap .cm-title{color:var(--muted);font-style:italic}.cm-req{display:block;padding:0 4px 6px}.cm-go{justify-self:end}@media (max-width: 760px){.cm-row{grid-template-columns:minmax(0,1fr) auto}.cm-meter,.cm-meta{display:none}.cm-status{grid-column:1}.cm-go{grid-row:1 / span 2;grid-column:2}}.conf-pts{font-size:.78em;color:var(--muted);font-variant-numeric:tabular-nums}.conf-chip.on .conf-pts{color:inherit}.insight{margin:.6rem 0;display:grid;gap:.5rem}.cbm-line{margin:0}.cbm-plus strong{color:var(--ok)}.cbm-minus strong{color:var(--bad)}.trap{border-left:4px solid var(--warning);background:var(--warn-bg);border-radius:6px;padding:.5rem .75rem}.trap p{margin:.2rem 0}.trap-active{border-left-color:var(--critical);background:var(--bad-bg)}.trap-resisted{border-left-color:var(--good);background:var(--ok-bg);margin:0}.radar-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.radar-list li{border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem}.radar-list p{margin:.2rem 0}.radar-cleared{opacity:.75}.radar-tag{display:inline-block;font-size:.75rem;font-weight:600;border-radius:999px;padding:.05rem .5rem}.radar-tag-active{background:var(--bad-bg);color:var(--bad)}.radar-tag-watch{background:var(--warn-bg);color:var(--warn)}.radar-tag-cleared{background:var(--ok-bg);color:var(--ok)}.fc-soon{font-weight:600}.cm-extra{display:block;margin:.15rem 0 0 .25rem}.cm-badge{color:var(--ok);font-weight:600}.cm-fade-soon{color:var(--warn);font-weight:600}.check-result h2{font-size:1.25rem}.check-pass{border-color:var(--good)}.check-fail{border-color:var(--warning)}.check-dots{padding-left:1.2rem}.dot-right{color:var(--ok)}.dot-wrong{color:var(--bad)}.dot-guess{color:var(--warn)}.kfacts{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:8px}.kfacts li{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 12px;font-size:.86rem}.kmode{display:inline-flex;align-items:center;font-size:.74rem;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--border);margin-right:4px;background:var(--surface-2);color:var(--muted)}.kmode-concept-sim{border-color:var(--brand);color:var(--brand)}.kmode-isolated-exec{border-color:var(--good);color:var(--good-text)}.kmode-code-reading{border-color:var(--warning);color:var(--warning-text)}.prov-source{color:var(--brand);border-color:var(--brand)}.kgrid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.path-opt{border:1px solid var(--border);border-radius:var(--radius);padding:12px}.path-opt.on{border-color:var(--brand);background:var(--brand-soft)}.klab-list{list-style:none;padding:0;display:grid;gap:12px}.klab-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}.kstatus{font-size:.78rem;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.kstatus-completed{background:var(--good-bg);color:var(--good-text)}.kstatus-in-progress{background:var(--brand-soft);color:var(--brand)}.kstatus-placed-out{background:var(--warning-bg);color:var(--warning-text);margin-left:6px}.skillmap th,.skillmap td{text-align:center;font-size:.85rem}.skillmap th[scope=row]{text-align:left}.lvl{display:inline-block;font-size:.76rem;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.lvl-not-assessed{color:var(--muted)}.lvl-guided{background:var(--warning-bg);color:var(--warning-text)}.lvl-independent{background:var(--brand-soft);color:var(--brand)}.lvl-demonstrated{background:var(--good-bg);color:var(--good-text)}.lvl-self{background:var(--surface-2);color:var(--text);border:1px dashed var(--border)}.legend{list-style:none;padding:0;display:grid;gap:4px}.kmeta{display:flex;flex-wrap:wrap;align-items:center;gap:4px;color:var(--muted)}.kstages ol{list-style:none;padding:0;margin:8px 0 12px;display:flex;flex-wrap:wrap;gap:6px}.kstage{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:4px 12px 4px 4px;font:inherit;font-size:.86rem;cursor:pointer}.kstage-n{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--surface-2);font-size:.75rem;font-weight:700}.kstage.seen .kstage-n{background:var(--good-bg);color:var(--good-text)}.kstage.on{border-color:var(--brand);background:var(--brand-soft);font-weight:600}.kstage.on .kstage-n{background:var(--brand);color:var(--brand-ink)}.kpanel-tabs{display:none;gap:6px;margin-bottom:8px}.kpanel-tabs .on{border-color:var(--brand);background:var(--brand-soft)}.kws{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);grid-template-areas:"concept task" "evidence task";gap:16px;align-items:start;scroll-margin-top:70px}.kws-concept{grid-area:concept;min-width:0}.kws-evidence{grid-area:evidence;min-width:0}.kws-task{grid-area:task;position:sticky;top:70px;max-height:calc(100vh - 90px);overflow:auto}.kws-nav{border-top:1px solid var(--border);padding-top:10px;margin-top:12px}@media (max-width: 900px){.kpanel-tabs{display:flex}.kws{grid-template-columns:minmax(0,1fr);grid-template-areas:"concept" "evidence" "task"}.kws-task{position:static;max-height:none}.kws.show-concept .kws-evidence,.kws.show-concept .kws-task,.kws.show-evidence .kws-concept,.kws.show-evidence .kws-task,.kws.show-task .kws-concept,.kws.show-task .kws-evidence{display:none}}.kevidence{margin-bottom:12px}.kevidence-head{margin:0 0 4px}.kfault summary{cursor:pointer}.khints,.ksolution{border-top:1px solid var(--border);margin-top:12px;padding-top:8px}.klocal{margin-top:12px}.klocal textarea{width:100%;font-family:var(--mono, ui-monospace, monospace)}.analogy{border-left:3px solid var(--warning);padding-left:10px;margin:10px 0}.hint-used{background:var(--warning-bg);border-radius:6px;padding:6px 10px}.kviz{border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:var(--surface);margin:8px 0}.kviz-head{margin:0 0 8px}.seg{display:flex;flex-wrap:wrap;gap:6px;border:0;padding:0;margin:0 0 10px}.seg-item{border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:.86rem;cursor:pointer}.seg-item.on{border-color:var(--brand);background:var(--brand-soft)}.seg-item input{margin-right:4px}.trace-lanes{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.lane{padding:3px 6px;border-radius:4px;text-align:center}.lane-user,.tstep-user .tstep-side{background:#e3eefa;color:#0b4a8c}.lane-boundary,.tstep-boundary .tstep-side{background:#fff1d6;color:#7a5200}.lane-kernel,.tstep-kernel .tstep-side{background:#e9e4fb;color:#4b2f9e}.lane-module,.tstep-module .tstep-side{background:#ddf3e4;color:#10612d}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .lane-user,:root:not([data-theme=light]) .tstep-user .tstep-side{background:#14304f;color:#9cc8f5}:root:not([data-theme=light]) .lane-boundary,:root:not([data-theme=light]) .tstep-boundary .tstep-side{background:#2d2410;color:#f2c14e}:root:not([data-theme=light]) .lane-kernel,:root:not([data-theme=light]) .tstep-kernel .tstep-side{background:#261f45;color:#c5b6ff}:root:not([data-theme=light]) .lane-module,:root:not([data-theme=light]) .tstep-module .tstep-side{background:#12291a;color:#7fd69a}}:root[data-theme=dark] .lane-user,:root[data-theme=dark] .tstep-user .tstep-side{background:#14304f;color:#9cc8f5}:root[data-theme=dark] .lane-boundary,:root[data-theme=dark] .tstep-boundary .tstep-side{background:#2d2410;color:#f2c14e}:root[data-theme=dark] .lane-kernel,:root[data-theme=dark] .tstep-kernel .tstep-side{background:#261f45;color:#c5b6ff}:root[data-theme=dark] .lane-module,:root[data-theme=dark] .tstep-module .tstep-side{background:#12291a;color:#7fd69a}.trace-steps{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:4px}.tstep{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:center;padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:.88rem}.tstep-side{font-size:.72rem;font-weight:700;padding:2px 6px;border-radius:4px;text-align:center}.tstep.cur{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.tstep.future{opacity:.45}.tstep.terr{border-color:var(--critical);background:var(--critical-bg)}.tstep-err{font-weight:700;color:var(--critical-text);font-family:ui-monospace,monospace}.kviz-detail{background:var(--surface-2);border-radius:6px;padding:8px 12px}.kviz-detail p{margin:4px 0}.inline-code{background:var(--code-bg);padding:6px 8px;border-radius:6px;overflow-x:auto;font-size:.85rem}.term-out{background:var(--code-bg);border:1px solid var(--border);border-radius:6px;padding:10px;overflow:auto;max-height:380px;font-size:.82rem;white-space:pre;font-variant-ligatures:none}.build-log .hl-err{background:var(--critical-bg);color:var(--critical-text);font-weight:700}.build-log .hl-dim{opacity:.55}.life-cmds{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.calls{border-collapse:collapse;margin:8px 0;font-size:.85rem}.calls th,.calls td{border:1px solid var(--border);padding:3px 10px;text-align:right}.calls .row-bad td{background:var(--critical-bg)}.calls .row-eof td{background:var(--good-bg)}@media (max-width: 520px){.tstep{grid-template-columns:1fr}.trace-lanes{grid-template-columns:repeat(2,1fr)}}.logo-tile{display:inline-grid;place-items:center;background:#fff;border-radius:8px;line-height:0}.brand-mark.logo-tile{padding:2px 4px;border:1px solid var(--border)}.brand-mark img{height:30px;width:auto}.hero-brand{display:flex;gap:20px;align-items:center}.hero-logo{padding:10px;border:1px solid var(--border);flex:none}.hero-logo img{width:144px;height:auto}@media (max-width: 640px){.hero-brand{flex-direction:column;align-items:flex-start}.hero-logo img{width:104px}}.action-card.featured{border-color:var(--brand)}.site-footer{font-size:.84rem}.sf-top{display:flex;gap:16px;align-items:flex-start;max-width:1100px;margin:0 auto;text-align:left}.sf-logo{padding:6px;flex:none}.sf-logo img{width:86px;height:auto}.sf-company p{margin:2px 0 6px}.sf-name{font-size:.92rem}.sf-reg{color:var(--muted)}.sf-notes,.sf-copy{max-width:1100px;margin:8px auto 0;color:var(--muted)}@media (max-width: 640px){.sf-top{flex-direction:column}}.scope{margin:12px 0}.scope-screen{border-radius:10px;overflow:hidden;border:1px solid #2a3340;line-height:0;outline-offset:3px}.scope-screen svg{display:block}.scope-bg{fill:#0b0f14}.scope-grid{stroke:#1f2a36;stroke-width:1}.scope-grid.strong{stroke:#2c3a49}.scope-ref{stroke:#3a4a5c;stroke-dasharray:2 4}.scope-band{fill:#facc150f}.scope-trace{fill:none;stroke-width:2;stroke-linejoin:round}.scope-z{fill:none;stroke-width:1.5;stroke-dasharray:5 4;opacity:.7}.scope-label{font:700 11px ui-monospace,monospace}.scope-name{font:600 11px system-ui,sans-serif;fill:#d6dde5}.scope-small{font:10px ui-monospace,monospace;fill:#8b98a8}.scope-beam{filter:drop-shadow(0 0 4px #fff)}.scope-cursor{stroke:#e5e7eb;stroke-width:1;stroke-dasharray:3 3;opacity:.6}.scope-ev line{stroke:#64748b;stroke-width:1;stroke-dasharray:2 2}.scope-ev circle{fill:#fff}.scope-ev.on line{stroke:#fff;stroke-width:2;stroke-dasharray:none}.scope-ev.ev-error line{stroke:#f87171}.scope-ev.ev-error.on line{stroke:#f87171;stroke-width:2.5}.scope-ev.ev-edge-rise.on line,.scope-ev.ev-edge-fall.on line{stroke:#a5b4fc}.scope-window{fill:#facc1521}.scope-window.on{fill:#facc1540}.scope-tag{font:700 11px system-ui,sans-serif;fill:#fff;paint-order:stroke;stroke:#0b0f14;stroke-width:3px}.scope-tag.err{fill:#fca5a5}.scope-decode rect{fill:#1e293b;stroke:#475569}.scope-decode text{font:600 10px ui-monospace,monospace;fill:#e2e8f0}.scope-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}.scope-cursor-ctl input{width:160px}.scope-readout{font-size:.82rem;border-collapse:collapse;margin:4px 0 8px}.scope-readout th,.scope-readout td{padding:2px 10px 2px 0;text-align:left;font-variant-numeric:tabular-nums}.scope-readout tr{display:flex;flex-wrap:wrap;gap:4px 12px}.scope-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:middle}.scope-detail{min-height:3em}.linklike{background:none;border:0;padding:0;color:var(--brand);text-decoration:underline;cursor:pointer;font:inherit}.ttabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px}.ttabs .on{border-color:var(--brand);background:var(--brand-soft);font-weight:600}.tcontrols{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:flex-end;margin:8px 0}.tcontrols .field{min-width:180px}.bits-row{display:flex;gap:4px;align-items:center}.bits-row .bit{min-width:34px;font-family:var(--mono)}.bits-row .bit.on{background:var(--brand-soft);border-color:var(--brand)}.q-scope{margin:8px 0}.lviz{margin:4px 0}.lviz-head{margin:0 0 8px}.alog{margin:12px 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.alog-head{padding:8px 12px;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.alog-title{font-weight:600}.alog-text{margin:0;padding:8px 0;max-height:420px;overflow:auto;background:var(--code-bg);font-size:.8rem;font-variant-ligatures:none;white-space:pre}.alog-line{display:block;padding:0 12px 0 4px}.alog-line.has-note{background:color-mix(in srgb,var(--brand-soft) 45%,transparent)}.alog-line.on{background:var(--brand-soft);outline:2px solid var(--brand);outline-offset:-2px}.alog-mark{display:inline-grid;place-items:center;min-width:22px;height:18px;margin-right:6px;border-radius:9px;border:0;background:var(--brand);color:var(--brand-ink);font:700 .68rem system-ui,sans-serif;cursor:pointer;vertical-align:middle}.alog-mark-space{display:inline-block;width:28px}.alog-nav{display:flex;gap:6px;align-items:center;padding:8px 12px 0;flex-wrap:wrap}.alog-note{padding:4px 12px 10px;min-height:2.4em}.alog-note p{margin:4px 0}.elf-bars{display:grid;grid-template-columns:70px 1fr;gap:6px 10px;align-items:center;margin:8px 0}.elf-bar-label{font-size:.8rem;font-weight:600;color:var(--muted)}.elf-bar{position:relative;height:26px;background:var(--surface-2);border-radius:6px;overflow:hidden}.elf-blk,.elf-seg,.elf-mark{position:absolute;top:3px;bottom:3px;border-radius:3px}.elf-blk.r,.elf-seg.r{background:#7aa7d8}.elf-blk.rx,.elf-seg.rx{background:#e0a23a}.elf-blk.rw,.elf-seg.rw{background:#5fb878}.elf-blk.meta{background:#a3a9b3}.elf-blk.on{outline:2px solid var(--text);z-index:1}.elf-bss{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.55) 0 3px,transparent 3px 6px)}.elf-mark{top:0;bottom:0;outline:2px solid var(--text);background:transparent}.elf-table{font-size:.82rem;border-collapse:collapse}.elf-table td,.elf-table th{padding:2px 8px;border-bottom:1px solid var(--border);text-align:left}.elf-table tr.on td{background:var(--brand-soft)}.elf-detail{border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin-bottom:8px}.pw-bits{display:flex;gap:2px;margin:10px 0;font-size:.78rem}.pw-field{display:flex;flex-direction:column;align-items:center;padding:6px 2px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);min-width:0}.pw-field.on{background:var(--brand-soft);border-color:var(--brand)}.pw-range{color:var(--muted);font-size:.7rem}.pw-label{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pw-steps li{margin:4px 0;opacity:.55}.pw-steps li.done{opacity:1}.km-label{font:600 12px system-ui,sans-serif;fill:var(--muted)}.km-t{font:11px ui-monospace,monospace;fill:var(--text)}.km-v{stroke:var(--border)}.km-k{fill:#e0a23a;stroke:#e0a23a}.km-vm{fill:#5aa2f0;stroke:#5aa2f0}rect.km-v.km-k,rect.km-v.km-vm{fill-opacity:.35}.km-link{stroke-width:1.5;fill:none;opacity:.8}.km-axis{stroke:var(--border);stroke-width:2}.race-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.race-cpu,.race-mem{border:1px solid var(--border);border-radius:8px;padding:8px 10px}.race-cpu.holds{border-color:var(--good)}.race-prog{padding-left:1.2rem;margin:4px 0}.race-prog li.next{font-weight:700;color:var(--brand)}.race-prog li.next::marker{content:"▶ "}.race-count{font-size:1.3rem;margin:4px 0}.race-log{color:var(--muted)}.lanes{display:grid;gap:6px;margin:8px 0}.lane-row{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:8px;align-items:center}.lane-name{font-size:.82rem;font-weight:600}.lane-track{position:relative;height:30px;background:var(--surface-2);border-radius:6px}.lane-blk{position:absolute;top:4px;padding:2px 6px;border-radius:4px;font-size:.72rem;font-weight:600;white-space:nowrap;color:#111}.lane-hard{background:#f87171}.lane-soft{background:#fbbf24}.lane-task{background:#4ade80}@media (max-width: 600px){.lane-row{grid-template-columns:1fr}}.cd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.cd-col{border:1px solid var(--border);border-radius:8px;padding:8px 10px}.cd-result{color:var(--brand)}.cd-fifo{height:18px;background:var(--surface-2);border-radius:4px;overflow:hidden;border:1px solid var(--border)}.cd-fill{display:block;height:100%;background:var(--good);transition:width .25s}@media (prefers-reduced-motion: reduce){.cd-fill{transition:none}}.jf-box{border:1px solid var(--border);border-radius:8px;padding:6px 12px;margin:8px 0}.boot-stages{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.boot-stage{padding:4px 12px;border-radius:999px;border:1px solid var(--border);font-size:.85rem}.boot-stage.done{background:var(--good-bg);color:var(--good-text)}.boot-stage.on{background:var(--brand-soft);border-color:var(--brand);font-weight:700}.mmap{list-style:none;padding:0;display:grid;gap:4px}.mmap-row{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:center}.mmap-blk{padding:4px 8px;border-radius:4px;font-size:.82rem}.mmap-row.mmio .mmap-blk{background:#fde68a;color:#111}.mmap-row.ram .mmap-blk{background:#86efac;color:#111}.mmap-row.pci .mmap-blk{background:#c4b5fd;color:#111}.yo-tasks{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}.yo-tasks li{border:1px solid var(--border);border-radius:6px;padding:2px 8px}.yo-tasks li.done{background:var(--good-bg)}.yo-tasks li.on{background:var(--brand-soft);border-color:var(--brand)}.rich,.lviz,.alog-note{overflow-wrap:break-word}.warn-box{border:1px solid var(--warning);background:var(--warning-bg);color:var(--warning-text);padding:8px 12px;border-radius:var(--radius)}.hal-controls{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:8px 0}.hal-controls input[type=range]{display:block;width:min(320px,100%)}.hal-num input{width:6.5em;margin-left:6px}.hal-hex{width:5em}.hal-svg{width:100%;max-width:560px;height:auto;display:block;margin:6px 0}.hal-curve{fill:none;stroke:var(--brand);stroke-width:2}.hal-f0{stroke:var(--good);stroke-width:2;stroke-dasharray:4 3}.hal-drive{stroke:var(--warning);stroke-width:2}.hal-t{font:11px system-ui,sans-serif;fill:var(--muted)}.hal-spring{max-width:260px}.hal-spring-line{stroke:var(--muted);stroke-width:2;stroke-dasharray:3 3}.hal-mass{fill:var(--brand)}.hal-regs{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.hal-reg{font-size:.8rem;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:3px 8px;cursor:pointer}.hal-reg.on{border-color:var(--brand);background:var(--brand-soft)}.hal-tickline{stroke:var(--border);stroke-width:1.5}.hal-win-ok{fill:var(--good-bg);stroke:var(--good)}.hal-win-bad{fill:var(--critical-bg);stroke:var(--critical)}.hal-limit{stroke:var(--text);stroke-width:2;stroke-dasharray:4 2}.hal-events{list-style:none;padding:0;display:grid;gap:4px}.hal-ev{border-left:4px solid var(--border);padding:3px 10px;font-size:.88rem;background:var(--surface-2);border-radius:4px}.hal-ev-A{border-left-color:var(--brand)}.hal-ev-B{border-left-color:var(--warning);margin-left:24px}.hal-ev-dev{border-left-color:var(--good)}.hal-ev.bad{border-left-color:var(--critical);background:var(--critical-bg)}.hal-who{font-weight:700;margin-right:6px}.tip{position:fixed;z-index:1000;max-width:min(320px,calc(100vw - 16px));padding:6px 10px;border-radius:6px;background:var(--text);color:var(--surface);font-size:.82rem;line-height:1.35;box-shadow:0 4px 14px #00000040;pointer-events:none}.tip code{background:transparent;color:inherit}.has-tip{text-decoration:underline dotted;text-underline-offset:3px;cursor:help}.has-tip:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.howto{border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius);background:var(--surface);padding:6px 14px;margin:10px 0 14px}.howto>summary{cursor:pointer;font-weight:600;padding:4px 0}.howto ol{margin:6px 0;padding-left:1.3rem}.howto li{margin:3px 0}kbd{display:inline-block;min-width:1.4em;padding:1px 6px;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;background:var(--surface-2);font:600 .8rem ui-monospace,monospace;text-align:center}.kbd-table{border-collapse:collapse;margin:6px 0 12px;width:100%}.kbd-table caption{text-align:left;font-weight:600;padding:4px 0}.kbd-table th,.kbd-table td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--border);vertical-align:top}.kbd-table th{white-space:nowrap;width:1%;font-weight:400}.help-toc{columns:2;padding-left:1.2rem}@media (max-width: 600px){.help-toc{columns:1}}.help-area{margin:8px 0}.help-area>summary{cursor:pointer}.help-dl>div{padding:6px 0;border-bottom:1px solid var(--border)}.help-dl dt{font-weight:700}.help-dl dd{margin:2px 0 0}.tour{border-left:4px solid var(--good)}.keys-btn{font-weight:700;min-width:2.2em}@media (max-width: 600px){.keys-btn{display:none}}
