:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:#1b2422;background:#f4f4ef;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: oklch(.965 .006 100);--surface: oklch(.985 .004 100);--surface-muted: oklch(.94 .008 195);--surface-strong: oklch(.9 .012 195);--ink: oklch(.25 .012 185);--ink-muted: oklch(.49 .014 190);--ink-faint: oklch(.64 .012 190);--border: oklch(.84 .012 190);--border-strong: oklch(.72 .018 190);--accent: oklch(.53 .115 205);--accent-dark: oklch(.43 .1 205);--accent-soft: oklch(.93 .035 205);--success: oklch(.5 .105 155);--success-soft: oklch(.94 .035 155);--warning: oklch(.65 .13 75);--warning-soft: oklch(.95 .045 75);--danger: oklch(.53 .17 28);--danger-soft: oklch(.95 .035 28);--flow-folder: oklch(.84 .16 95);--flow-folder-stroke: oklch(.6 .13 90);--flow-output: oklch(.72 .17 58);--flow-process: oklch(.58 .17 245);--flow-service: oklch(.67 .13 195);--text-min: 12px;--shadow: 0 1px 2px oklch(.25 .012 185 / .08), 0 8px 24px oklch(.25 .012 185 / .06);--ease-out: cubic-bezier(.25, 1, .5, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:var(--canvas)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,label:has(input:focus-visible){outline:3px solid oklch(.73 .12 205 / .45);outline-offset:2px}.route-skeleton{min-height:100vh;padding:72px 8%;background:var(--canvas);display:grid;align-content:start;gap:14px}.route-skeleton span{display:block;height:18px;max-width:720px;border-radius:4px;background:var(--surface-strong)}.route-skeleton span:first-child{width:34%;height:28px}.route-skeleton span:nth-child(2){width:68%}.route-skeleton span:nth-child(3){width:52%}.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}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:248px;padding:18px 14px;display:flex;flex-direction:column;background:#1f2c2b;color:#e2eae9;transition:width .18s var(--ease-out),transform .18s var(--ease-out)}.nav-collapsed{grid-template-columns:72px minmax(0,1fr)}.nav-collapsed .sidebar{width:72px}.nav-collapsed .primary-nav a span,.nav-collapsed .nav-group-label,.nav-collapsed .sidebar-progress,.nav-collapsed .sidebar-version{display:none}.nav-collapsed .sidebar-top{justify-content:center;flex-direction:column;gap:16px}.nav-collapsed .nav-group{margin:0;gap:5px}.nav-collapsed .nav-group-links{padding-left:0;gap:5px}.main-content{grid-column:2;min-width:0}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px}.brand{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none}.brand-mark{width:32px;height:32px;border:1px solid oklch(.55 .03 190);border-radius:6px;display:grid;align-content:center;gap:3px;padding:7px;flex:0 0 auto}.brand-mark span{display:block;height:2px;border-radius:2px;background:#2cc3d2}.brand-mark span:nth-child(2){width:70%}.brand-name{font-size:var(--text-min);line-height:1.25;color:#aebab9;white-space:nowrap}.brand-name strong{color:#edf3f3;font-size:13px}.icon-button{border:0;border-radius:5px;background:transparent;color:inherit;min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:background .16s var(--ease-out),color .16s var(--ease-out)}.icon-button:hover{background:#5a66652e}.flip-icon{transform:rotate(180deg)}.primary-nav{margin-top:38px;display:grid;gap:5px}.primary-nav a{min-height:40px;padding:0 12px;border-radius:6px;display:flex;align-items:center;gap:11px;color:#a9b4b3;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}.primary-nav a:hover{color:#edf3f3;background:#41514f73}.primary-nav a.active{color:#edf3f3;background:#1a737c6b}.primary-nav a.active svg{color:#53cfdc}.nav-group{margin:8px 0 6px;display:grid;gap:4px}.nav-group-label{padding:0 12px 3px;color:#7e8988;font-size:var(--text-min);font-weight:750}.nav-group-links{padding-left:10px;display:grid;gap:4px}.sidebar-progress{margin-top:auto;padding:14px 10px;border-top:1px solid oklch(.43 .02 190)}.sidebar-progress-row{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-min)}.sidebar-progress-row span{color:#9aa4a3}.progress-track{height:4px;margin:9px 0;border-radius:4px;background:#3a4847;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:#2cb2bf;transition:width .22s var(--ease-out)}.sidebar-progress p{margin:0;color:#7e8988;font-size:var(--text-min);line-height:1.45}.sidebar-version{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:14px 10px 2px;font-size:var(--text-min);color:#7e8988}.sidebar-version strong{color:#afbab9;font-size:var(--text-min)}.mobile-header,.mobile-close,.nav-scrim{display:none}.page{width:100%;max-width:1440px;margin:0 auto;padding:42px 46px 64px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:30px}.page-heading h1{margin:2px 0 5px;font-size:28px;line-height:1.18;letter-spacing:0}.page-heading p{margin:0;max-width:68ch;color:var(--ink-muted);font-size:14px;line-height:1.55}.eyebrow{color:var(--accent-dark)!important;text-transform:uppercase;font-size:var(--text-min)!important;font-weight:750}.completion-summary{min-width:180px;padding:11px 14px;border:1px solid var(--border);background:var(--surface);border-radius:6px;display:grid;gap:3px}.completion-summary span{color:var(--ink-muted);font-size:var(--text-min)}.completion-summary strong{font-size:13px}.home-page{max-width:1360px;padding-top:54px}.home-intro{min-height:430px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);align-items:center;gap:48px}.home-intro-copy{padding-bottom:10px}.home-intro-copy h1{max-width:13ch;margin:7px 0 16px;font-size:43px;line-height:1.08;letter-spacing:-.025em}.home-lede{max-width:61ch;margin:0;color:var(--ink-muted);font-size:16px;line-height:1.65}.home-actions{margin-top:26px;display:flex;align-items:center;flex-wrap:wrap;gap:9px}.home-actions .button{min-height:42px;padding-inline:16px;font-size:var(--text-min)}.home-assurances{margin:25px 0 0;padding:17px 0 0;border-top:1px solid var(--border);list-style:none;display:flex;flex-wrap:wrap;gap:11px 19px;color:var(--ink-muted);font-size:var(--text-min)}.home-assurances li{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.home-assurances svg{color:var(--success)}.home-direction-panel{min-width:0;border:1px solid oklch(.39 .022 190);border-radius:8px;background:#1f2c2b;color:#e5edec;box-shadow:var(--shadow);overflow:hidden}.home-direction-panel>header{min-height:70px;padding:15px 19px;border-bottom:1px solid oklch(.4 .02 190);display:grid;align-content:center;gap:4px}.home-direction-panel>header span,.home-direction-route small,.home-direction-shared small{color:#8aa0a0;font-size:var(--text-min);font-style:normal;font-weight:750;text-transform:uppercase}.home-direction-panel>header strong{font-size:16px}.home-direction-route{display:grid;grid-template-columns:1fr 1fr}.home-direction-route>a{min-width:0;min-height:190px;padding:22px 19px 20px;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-content:start;gap:13px;color:inherit;text-decoration:none;transition:background .18s var(--ease-out)}.home-direction-route>a+a{border-left:1px solid oklch(.4 .02 190)}.home-direction-route>a:hover,.home-direction-shared:hover{background:#293c3c}.home-direction-route>a>span:nth-child(2){display:grid;gap:5px}.home-direction-route>a>svg{margin-top:10px;color:#47c5d2}.home-direction-icon{width:36px;height:36px;border-radius:6px;background:#25595c;color:#6fdae6;display:inline-flex;align-items:center;justify-content:center}.home-direction-route strong{font-size:14px;line-height:1.35}.home-direction-route em{color:#9eaba9;font-size:var(--text-min);font-style:normal;line-height:1.55}.home-direction-shared{min-height:84px;padding:14px 19px;border-top:1px solid oklch(.4 .02 190);display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:13px;color:inherit;text-decoration:none;transition:background .18s var(--ease-out)}.home-direction-shared>svg{color:#4fccd9}.home-direction-shared>svg:last-child{justify-self:end}.home-direction-shared>span{display:grid;gap:4px}.home-direction-shared strong{font-size:var(--text-min);line-height:1.45}.home-learning{margin-top:82px;scroll-margin-top:24px}.home-section-heading{padding-bottom:20px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(330px,1fr) minmax(320px,.7fr);align-items:end;gap:48px}.home-section-heading h2,.home-method-heading h2{margin:4px 0 0;font-size:25px;line-height:1.2;letter-spacing:-.01em}.home-section-heading>p,.home-method-heading>p:last-child{margin:0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.6}.home-learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:46px}.home-path-list{min-width:0}.home-path-row{min-height:126px;padding:20px 8px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:36px 42px minmax(270px,1fr) 166px;align-items:center;gap:14px;color:inherit;text-decoration:none;transition:background .16s var(--ease-out)}.home-path-row:hover{background:var(--surface)}.home-path-number{color:var(--ink-faint);font-size:var(--text-min);font-weight:800;font-variant-numeric:tabular-nums}.home-path-icon{width:38px;height:38px;border-radius:6px;background:var(--accent-soft);color:var(--accent-dark);display:inline-flex;align-items:center;justify-content:center}.home-path-copy{min-width:0;display:grid;gap:4px}.home-path-copy small{color:var(--accent-dark);font-size:var(--text-min);font-weight:800;text-transform:uppercase}.home-path-copy strong{font-size:15px}.home-path-copy>span{max-width:72ch;color:var(--ink-muted);font-size:var(--text-min);line-height:1.5}.home-path-meta{justify-self:stretch;min-height:52px;padding-left:16px;border-left:1px solid var(--border);display:grid;align-content:center;gap:8px}.home-path-meta small{color:var(--ink-faint);font-size:var(--text-min)}.home-path-meta strong{color:var(--accent-dark);display:inline-flex;align-items:center;gap:5px;font-size:var(--text-min)}.home-progress-panel{align-self:start;margin-top:24px;padding:20px;border-radius:7px;background:#1f2c2b;color:#e5edec}.home-progress-kicker{color:#95a1a0;font-size:var(--text-min);font-weight:750;text-transform:uppercase}.home-progress-value{margin-top:14px;display:flex;align-items:flex-end;gap:9px}.home-progress-value strong{font-size:40px;line-height:.9;font-variant-numeric:tabular-nums}.home-progress-value span{color:#929e9d;font-size:var(--text-min);line-height:1.35}.home-progress-track{height:5px;margin:18px 0 13px;border-radius:5px;background:#3a4847;overflow:hidden}.home-progress-track span{display:block;height:100%;border-radius:inherit;background:#47c5d2}.home-progress-panel p{min-height:48px;margin:0 0 16px;color:#9eaba9;font-size:var(--text-min);line-height:1.5}.home-progress-panel a{color:#bbecf1;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-min);font-weight:750;text-decoration:none}.home-method{margin-top:84px;padding-top:32px;border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(250px,.68fr) minmax(620px,1.32fr);gap:64px}.home-method-heading{align-self:start;display:grid;gap:5px}.home-method-heading>p:last-child{max-width:42ch;margin-top:6px}.home-method ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.home-method li{min-height:108px;padding:5px 0 20px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:33px minmax(0,1fr);gap:12px}.home-method li:nth-last-child(-n+2){padding-top:22px;border-bottom:0}.home-method li>span{color:var(--accent-dark);font-size:var(--text-min);font-weight:800}.home-method li strong{font-size:13px}.home-method li p{margin:5px 0 0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.55}.home-scope-note{margin-top:70px;min-height:76px;padding:16px 18px;border:1px solid var(--border);border-radius:7px;background:var(--surface);display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:13px}.home-scope-note>svg{color:var(--success)}.home-scope-note p{margin:0;display:grid;gap:3px}.home-scope-note strong{font-size:var(--text-min)}.home-scope-note span{color:var(--ink-muted);font-size:var(--text-min);line-height:1.45}.home-scope-note a{color:var(--accent-dark);display:inline-flex;align-items:center;gap:6px;font-size:var(--text-min);font-weight:750;text-decoration:none;white-space:nowrap}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 18px;border-bottom:1px solid var(--border)}.segmented-control{display:inline-flex;padding:3px;border-radius:7px;background:var(--surface-strong);overflow-x:auto}.segmented-control button{height:31px;padding:0 12px;border:0;border-radius:5px;background:transparent;color:var(--ink-muted);font-size:var(--text-min);font-weight:650;cursor:pointer;white-space:nowrap}.segmented-control button:hover{color:var(--ink)}.segmented-control button.is-active{color:var(--ink);background:var(--surface);box-shadow:0 1px 3px #1b24221f}.search-field{width:230px;height:38px;padding:0 11px;border:1px solid var(--border);border-radius:6px;background:var(--surface);display:flex;align-items:center;gap:8px;color:var(--ink-faint)}.search-field:focus-within{border-color:var(--accent)}.search-field input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px}.search-field input::placeholder{color:var(--ink-faint)}.catalog-groups{display:grid;gap:34px;padding-top:28px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:10px}.section-heading h2{margin:0;font-size:17px;letter-spacing:0}.section-heading p{margin:3px 0 0;color:var(--ink-muted);font-size:var(--text-min)}.section-heading>span{color:var(--ink-faint);font-size:var(--text-min)}.case-list{border-top:1px solid var(--border)}.case-row{min-height:68px;padding:10px 12px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:52px minmax(230px,1.4fr) minmax(200px,.8fr) 84px;align-items:center;gap:15px;color:inherit;text-decoration:none;transition:background .16s var(--ease-out)}a.case-row:hover{background:var(--surface)}.case-row.is-planned{color:var(--ink-muted)}.case-id{width:42px;height:27px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;font-size:var(--text-min);font-weight:800;font-variant-numeric:tabular-nums}.tier-beginner{color:#004c53;color:oklch(.38 .085 205);background:#bbecf1}.tier-medium{color:#1c5e39;background:#ceeed8}.tier-advanced{color:#734c00;color:oklch(.45 .11 75);background:#fce4c4}.tier-expert{color:#62366c;background:#f4e0f9}.case-main{display:grid;gap:4px;min-width:0}.case-main strong{font-size:13px;line-height:1.3}.case-main small{color:var(--ink-muted);font-size:var(--text-min)}.case-subline{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;min-width:0}.case-companion-badge{display:inline-flex;align-items:center;gap:4px;color:var(--accent-dark);font-size:var(--text-min);font-weight:700;white-space:nowrap}.case-meta{display:grid;gap:3px;color:var(--ink-muted);font-size:var(--text-min)}.case-state{justify-self:end;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-min);font-weight:700}.case-state.ready{color:var(--accent-dark)}.case-state.complete{color:var(--success)}.case-state.planned{color:var(--ink-faint)}.empty-state{padding:60px 20px;display:grid;place-items:center;text-align:center;color:var(--ink-muted)}.empty-state h2{margin:12px 0 3px;font-size:16px}.empty-state p{margin:0;font-size:13px}.basics-page{max-width:1240px}.basics-intro{max-width:760px;margin-bottom:34px}.basics-intro h1{margin:3px 0 9px;font-size:32px;line-height:1.16;letter-spacing:-.01em}.basics-intro>p:last-child{max-width:68ch;margin:0;color:var(--ink-muted);font-size:15px;line-height:1.6}.basics-index{margin-bottom:48px;padding:7px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid}.basics-index-group{padding:10px 0;display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px}.basics-index-group+.basics-index-group{border-top:1px solid var(--border)}.basics-index-group>span{padding-top:4px;color:var(--ink-faint);font-size:var(--text-min);font-weight:750;text-transform:uppercase}.basics-index ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 18px}.basics-index a{min-height:30px;display:flex;align-items:center;gap:8px;color:var(--ink-muted);font-size:var(--text-min);text-decoration:none}.basics-index a:hover{color:var(--accent-dark)}.basics-index b{color:var(--accent-dark);font-size:var(--text-min);font-variant-numeric:tabular-nums}.basics-group+.basics-group{margin-top:54px}.basics-group-heading{margin-bottom:12px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.basics-group-heading>div{display:grid;gap:3px}.basics-group-heading h2{margin:0;font-size:21px}.basics-group-heading p{margin:0;color:var(--ink-muted);font-size:var(--text-min)}.basics-group-heading>span{color:var(--ink-faint);font-size:var(--text-min)}.requirement-label{width:max-content;padding:3px 6px;border-radius:3px;background:var(--surface-strong);color:var(--ink-muted)!important;font-size:var(--text-min)!important;font-weight:800;text-transform:uppercase}.requirement-label.required{background:var(--accent-soft);color:var(--accent-dark)!important}.basics-concepts{border-top:1px solid var(--border)}.basic-concept{padding:30px 0 34px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:56px minmax(300px,1fr) minmax(300px,.85fr);gap:26px;scroll-margin-top:24px}.basic-concept-number{width:40px;height:28px;border-radius:4px;background:var(--accent-soft);color:var(--accent-dark);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-min);font-weight:800;font-variant-numeric:tabular-nums}.basic-concept-copy h3{margin:0 0 7px;font-size:19px}.basic-concept-copy>p{max-width:62ch;margin:0 0 16px;color:var(--ink-muted);font-size:13px;line-height:1.55}.basic-concept-copy ul{margin:0;padding-left:18px;display:grid;gap:7px;color:var(--ink);font-size:var(--text-min);line-height:1.5}.basic-concept-copy li::marker{color:var(--accent)}.basic-practice,.basic-example{margin-top:18px;padding:13px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.basic-practice>p:first-child,.basic-example>p:first-child{margin:0 0 5px;color:var(--ink-faint);display:flex;align-items:center;gap:7px;font-size:var(--text-min);font-weight:800;text-transform:uppercase}.basic-practice>p:first-child span{color:var(--accent-dark)}.basic-practice>p:first-child small{padding-left:7px;border-left:1px solid var(--border);color:var(--ink-faint);font-size:inherit}.basic-practice h4,.basic-example h4{margin:0 0 9px;font-size:13px}.basic-practice ol,.basic-example ul{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--ink);font-size:var(--text-min);line-height:1.5}.basic-practice pre{max-width:100%;margin:12px 0 0;padding:11px 12px;border-radius:4px;background:var(--surface-strong);color:var(--ink);overflow-x:auto;font-size:var(--text-min);line-height:1.55}.basic-practice-check{margin:12px 0 0!important;padding-top:10px;border-top:1px solid var(--border);color:var(--ink-muted)!important;font-size:var(--text-min)!important;line-height:1.5!important}.basic-practice-check b{color:var(--ink)}.basic-ready-check{margin:17px 0 0!important;padding-top:12px;border-top:1px solid var(--border);display:flex;align-items:flex-start;gap:7px;color:var(--ink-muted);font-size:var(--text-min)!important;line-height:1.5!important}.basic-ready-check svg{flex:0 0 auto;margin-top:1px;color:var(--success)}.basic-ready-check b{color:var(--ink)}.basic-concept-links{align-self:start;display:grid;gap:6px}.basic-concept-links>span{margin-top:7px;color:var(--ink-faint);font-size:var(--text-min);font-weight:750;text-transform:uppercase}.basic-concept-links>span:first-child{margin-top:0}.basic-resource-link,.basic-case-link{min-height:48px;padding:9px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);display:grid;align-items:center;gap:2px 10px;text-decoration:none;transition:border-color .16s var(--ease-out),background .16s var(--ease-out)}.basic-resource-link{grid-template-columns:minmax(0,1fr) 18px}.basic-resource-link strong{font-size:var(--text-min);line-height:1.35}.basic-resource-link small{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.basic-resource-link>span{grid-column:1;color:var(--ink-muted);font-size:var(--text-min);line-height:1.4}.basic-resource-link svg{grid-column:2;grid-row:1 / span 3;color:var(--accent-dark)}.basic-case-link{min-height:39px;grid-template-columns:34px minmax(0,1fr) 18px}.basic-case-link b{color:var(--accent-dark);font-size:var(--text-min)}.basic-case-link strong{font-size:var(--text-min)}.basic-case-link svg{color:var(--accent-dark)}.basic-resource-link:hover,.basic-case-link:hover{border-color:var(--accent);background:var(--accent-soft)}.knowledge-page{max-width:1240px;padding-top:50px}.knowledge-intro{max-width:980px}.knowledge-intro h1{max-width:21ch;margin:7px 0 17px;font-size:39px;line-height:1.1;letter-spacing:-.025em}.knowledge-lede{max-width:73ch;margin:0;color:var(--ink-muted);font-size:16px;line-height:1.7}.knowledge-meta{margin-top:23px;padding:11px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;align-items:center;flex-wrap:wrap;gap:8px 28px;color:var(--ink-faint);font-size:var(--text-min);font-weight:700}.knowledge-layout{margin-top:62px;display:grid;grid-template-columns:190px minmax(0,790px);align-items:start;gap:70px}.knowledge-rail{position:sticky;top:28px}.knowledge-rail>p{margin:0 0 10px;color:var(--ink-faint);font-size:var(--text-min);font-weight:800;text-transform:uppercase}.knowledge-rail nav{border-top:1px solid var(--border);display:grid}.knowledge-rail nav a{min-height:47px;padding:9px 0;border-bottom:1px solid var(--border);color:var(--ink-muted);display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:7px;font-size:var(--text-min);line-height:1.35;text-decoration:none}.knowledge-rail nav a:hover{color:var(--accent-dark)}.knowledge-rail nav span{color:var(--accent-dark);font-weight:800;font-variant-numeric:tabular-nums}.knowledge-rail-note{margin-top:24px;padding:14px;border-radius:6px;background:var(--surface)}.knowledge-rail-note strong{font-size:var(--text-min)}.knowledge-rail-note p{margin:7px 0 0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.55}.knowledge-article{min-width:0}.knowledge-article>section{scroll-margin-top:28px}.knowledge-article>section+section{margin-top:76px;padding-top:4px}.knowledge-section-heading{margin-bottom:23px;padding-bottom:14px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:42px minmax(0,1fr);align-items:end;gap:10px}.knowledge-section-heading span{padding-bottom:2px;color:var(--accent-dark);font-size:var(--text-min);font-weight:800;font-variant-numeric:tabular-nums}.knowledge-section-heading h2{max-width:27ch;margin:0;font-size:25px;line-height:1.22}.knowledge-article section>p{max-width:73ch;margin:0 0 19px;color:var(--ink-muted);font-size:15px;line-height:1.75}.knowledge-article blockquote{margin:30px 0;padding:21px 23px;border-radius:7px;background:#1f2c2b;color:#e5edec;display:grid;gap:7px}.knowledge-article blockquote strong{max-width:38ch;font-size:18px;line-height:1.35}.knowledge-article blockquote span{max-width:68ch;color:#a8b4b3;font-size:13px;line-height:1.6}.knowledge-market-note{margin:30px 0;padding:21px 22px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.knowledge-market-note>strong{font-size:15px}.knowledge-market-note p{margin:10px 0 0;color:var(--ink-muted);font-size:13px;line-height:1.65}.knowledge-tradeoffs{margin:30px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr}.knowledge-tradeoffs>div{padding:21px 22px 22px 0}.knowledge-tradeoffs>div+div{padding-right:0;padding-left:22px;border-left:1px solid var(--border)}.knowledge-tradeoffs>div>span{color:var(--ink-faint);font-size:var(--text-min);font-weight:750;text-transform:uppercase}.knowledge-tradeoffs h3{margin:5px 0 15px;font-size:17px}.knowledge-tradeoffs ul{margin:0;padding:0;list-style:none}.knowledge-tradeoffs li{padding:13px 0;border-top:1px solid var(--border)}.knowledge-tradeoffs li strong{font-size:var(--text-min)}.knowledge-tradeoffs li p{margin:5px 0 0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.55}.knowledge-layer-list{margin:28px 0 30px;border-top:1px solid var(--border)}.knowledge-layer{padding:20px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:32px 28px minmax(0,1fr);align-items:start;gap:10px}.knowledge-layer>span{padding-top:3px;color:var(--accent-dark);font-size:var(--text-min);font-weight:800;font-variant-numeric:tabular-nums}.knowledge-layer>svg{margin-top:1px;color:var(--accent-dark)}.knowledge-layer>div{display:grid;gap:5px}.knowledge-layer h3{margin:0;font-size:16px}.knowledge-layer strong{color:var(--ink);font-size:var(--text-min);font-weight:750}.knowledge-layer p{max-width:69ch;margin:2px 0 0;color:var(--ink-muted);font-size:13px;line-height:1.6}.knowledge-tool-list{margin:28px 0 30px;border-top:1px solid var(--border)}.knowledge-tool{min-height:128px;padding:18px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:142px minmax(160px,.85fr) minmax(230px,1.15fr) 112px;align-items:start;gap:18px}.knowledge-tool h3{margin:0;font-size:14px;line-height:1.4}.knowledge-tool>p,.knowledge-tool>div p{margin:0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.55}.knowledge-tool>div{display:grid;gap:5px}.knowledge-tool>div strong{font-size:var(--text-min)}.knowledge-tool>a{justify-self:end;color:var(--accent-dark);display:inline-flex;align-items:center;gap:6px;font-size:var(--text-min);font-weight:750;line-height:1.4;text-decoration:none}.knowledge-business-filter{margin:30px 0;border-top:1px solid var(--border)}.knowledge-business-filter>div{min-height:70px;padding:13px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:34px 105px minmax(0,1fr);align-items:start;gap:10px}.knowledge-business-filter span{padding-top:2px;color:var(--accent-dark);font-size:var(--text-min);font-weight:800}.knowledge-business-filter strong{font-size:13px}.knowledge-business-filter p{margin:0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.55}.knowledge-start-sequence{margin:28px 0 30px;padding:0;border-top:1px solid var(--border);list-style:none}.knowledge-start-sequence li{min-height:62px;padding:12px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:120px minmax(0,1fr);gap:15px}.knowledge-start-sequence span{color:var(--accent-dark);font-size:var(--text-min);font-weight:800;text-transform:uppercase}.knowledge-start-sequence p{margin:0;color:var(--ink-muted);font-size:13px;line-height:1.55}.knowledge-three-zones{margin:30px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr)}.knowledge-three-zones>div{min-height:142px;padding:17px 18px;display:grid;align-content:start;gap:5px}.knowledge-three-zones>div+div{border-left:1px solid var(--border)}.knowledge-three-zones span{color:var(--ink-faint);font-size:var(--text-min);font-weight:750;text-transform:uppercase}.knowledge-three-zones strong{font-size:15px}.knowledge-three-zones p{margin:4px 0 0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.55}.knowledge-decisions{margin:28px 0 30px;padding:0;border-top:1px solid var(--border);list-style:none}.knowledge-decisions li{min-height:98px;padding:17px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px}.knowledge-decisions li>span{padding-top:2px;color:var(--accent-dark);font-size:var(--text-min);font-weight:800}.knowledge-decisions h3{margin:0 0 6px;font-size:15px;line-height:1.4}.knowledge-decisions p{max-width:68ch;margin:0;color:var(--ink-muted);font-size:13px;line-height:1.6}.knowledge-progress-signals{margin:28px 0 30px;padding:0;border-top:1px solid var(--border);list-style:none;display:grid;grid-template-columns:1fr 1fr}.knowledge-progress-signals li{min-height:132px;padding:18px 20px 18px 0;border-bottom:1px solid var(--border)}.knowledge-progress-signals li:nth-child(2n){padding-left:20px;border-left:1px solid var(--border)}.knowledge-progress-signals strong{font-size:13px}.knowledge-progress-signals p{margin:7px 0 0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.6}.knowledge-reading{margin-top:76px;padding:27px 0;border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);display:grid;grid-template-columns:minmax(260px,.85fr) minmax(350px,1.15fr);gap:44px}.knowledge-reading h2{max-width:23ch;margin:4px 0 8px;font-size:20px;line-height:1.3}.knowledge-reading>div>p:last-child{margin:0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.55}.knowledge-reading>div:last-child{border-top:1px solid var(--border)}.knowledge-reading a{min-height:78px;padding:13px 2px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:12px;text-decoration:none}.knowledge-reading a>span{display:grid;gap:4px}.knowledge-reading a strong{font-size:var(--text-min)}.knowledge-reading a small{color:var(--ink-muted);font-size:var(--text-min);line-height:1.45}.knowledge-reading a svg{color:var(--accent-dark)}.knowledge-footer{margin-top:62px;min-height:84px;padding:17px 19px;border-radius:7px;background:#1f2c2b;color:#e5edec;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:13px}.knowledge-footer>svg{color:#74c692}.knowledge-footer p{margin:0;display:grid;gap:4px}.knowledge-footer strong{font-size:var(--text-min)}.knowledge-footer span{max-width:72ch;color:#9eaba9;font-size:var(--text-min);line-height:1.5}.knowledge-footer>div{display:flex;align-items:center;gap:9px}.knowledge-footer a{min-height:36px;padding:0 11px;border:1px solid oklch(.53 .025 190);border-radius:5px;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-min);font-weight:750;text-decoration:none;white-space:nowrap}.knowledge-footer a:last-child{border-color:transparent;background:#47c5d2;color:#152221}.basics-next-step{margin-top:34px;padding:19px 20px;border-radius:7px;background:#1f2c2b;color:#e5edec;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:10px}.basics-next-step>div{display:grid;gap:3px}.basics-next-step span{color:#9eaba9;font-size:var(--text-min);text-transform:uppercase}.basics-next-step strong{font-size:13px}.basics-next-step a{min-height:38px;padding:0 13px;border:1px solid oklch(.55 .025 190);border-radius:5px;color:#e5edec;display:inline-flex;align-items:center;gap:8px;font-size:var(--text-min);font-weight:750;text-decoration:none;white-space:nowrap}.basics-next-step a:hover{border-color:#47c5d2;background:#2b4848}.basics-next-step a:last-child{border-color:transparent;background:#47c5d2;color:#152221}.basics-next-step a:last-child:hover{background:#6cd7e3}.basics-exam-callout{margin-top:42px;padding:19px 20px;border:1px solid var(--border);border-radius:7px;background:var(--surface);display:grid;grid-template-columns:42px minmax(280px,1fr) auto auto;align-items:center;gap:16px}.basics-exam-icon{width:40px;height:40px;border-radius:6px;background:var(--accent-soft);color:var(--accent-dark);display:inline-flex;align-items:center;justify-content:center}.basics-exam-callout>div{display:grid;gap:3px}.basics-exam-callout h2{margin:0;font-size:17px}.basics-exam-callout p{margin:0;max-width:64ch;color:var(--ink-muted);font-size:var(--text-min);line-height:1.45}.basics-exam-callout dl{margin:0;display:flex;gap:8px}.basics-exam-callout dl div{min-width:74px;padding:7px 9px;border-left:1px solid var(--border);display:grid;gap:2px}.basics-exam-callout dt{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.basics-exam-callout dd{margin:0;font-size:var(--text-min);font-weight:750}.exam-page{max-width:1220px}.exam-back-link{width:max-content;margin-bottom:22px;display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted);font-size:var(--text-min);font-weight:700;text-decoration:none}.exam-back-link:hover{color:var(--ink)}.exam-intro-heading{max-width:790px;margin-bottom:36px}.exam-intro-heading h1{margin:3px 0 9px;font-size:32px;line-height:1.16}.exam-intro-heading>p:last-child{max-width:68ch;margin:0;color:var(--ink-muted);font-size:14px;line-height:1.6}.exam-intro-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}.exam-brief{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.exam-brief>div:first-child{padding:19px 0 13px;display:grid;gap:3px}.exam-brief>div:first-child>span{color:var(--accent-dark);font-size:var(--text-min);font-weight:750;text-transform:uppercase}.exam-brief h2{margin:0;font-size:18px}.exam-brief dl{margin:0;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.exam-brief dl div{min-height:48px;padding:3px 15px;border-right:1px solid var(--border);display:grid;align-content:center;gap:3px}.exam-brief dl div:first-child{padding-left:0}.exam-brief dl div:last-child{border-right:0}.exam-brief dt{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.exam-brief dd{margin:0;font-size:13px;font-weight:750}.exam-level-overview{padding:18px 0;display:grid;gap:14px}.exam-level-overview>div{min-height:39px;display:grid;grid-template-columns:106px minmax(0,1fr) 74px;align-items:center;gap:13px}.exam-level-overview p{margin:0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.45}.exam-level-overview strong{justify-self:end;color:var(--ink-muted);font-size:var(--text-min)}.exam-level{width:max-content;padding:4px 7px;border-radius:4px;font-size:var(--text-min);font-weight:800;text-transform:uppercase}.exam-level-foundation{color:#004c53;color:oklch(.38 .085 205);background:#bbecf1}.exam-level-applied{color:#1c5e39;background:#ceeed8}.exam-level-troubleshooting{color:#734c00;color:oklch(.45 .11 75);background:#fce4c4}.exam-start-panel{padding:22px;border-radius:7px;background:#1f2c2b;color:#e5edec}.exam-start-panel>svg{color:#43c2cf}.exam-start-panel h2{margin:13px 0 10px;font-size:17px}.exam-start-panel ul{margin:0 0 19px;padding-left:18px;display:grid;gap:8px;color:#acb7b6;font-size:var(--text-min);line-height:1.45}.exam-start-button{width:100%;min-height:42px;color:#13201f!important;background:#47c5d2!important}.exam-start-button:hover{background:#6cd7e3!important}.exam-start-panel>p{margin:10px 0 0;color:#7e8988;font-size:var(--text-min);text-align:center}.exam-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.exam-header .exam-back-link{margin-bottom:22px}.exam-header h1{margin:3px 0 0;font-size:27px}.exam-progress-summary{min-width:128px;display:grid;justify-items:end;gap:3px}.exam-progress-summary span{color:var(--ink-muted);font-size:var(--text-min)}.exam-progress-summary strong{font-size:var(--text-min)}.exam-progress-track{height:4px;margin:20px 0 26px;border-radius:4px;background:var(--surface-strong);overflow:hidden}.exam-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s var(--ease-out)}.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:24px;align-items:start}.exam-question-panel{min-width:0;padding:24px 26px 20px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.exam-question-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.exam-fieldset{min-width:0;margin:0;padding:0;border:0}.exam-fieldset h2{max-width:52ch;margin:17px 0 7px;font-size:21px;line-height:1.38}.exam-fieldset>p{margin:0;color:var(--ink-muted);font-size:var(--text-min)}.exam-answer-list{margin-top:22px;display:grid;gap:9px}.exam-answer{min-height:57px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;color:var(--ink-muted);font-size:var(--text-min);line-height:1.45;cursor:pointer;transition:border-color .16s var(--ease-out),background .16s var(--ease-out),color .16s var(--ease-out)}.exam-answer:hover{border-color:var(--border-strong);color:var(--ink)}.exam-answer.is-selected{border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}.exam-answer input{position:absolute;opacity:0;pointer-events:none}.exam-answer-letter{width:27px;height:27px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--ink-muted);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-min);font-weight:800}.exam-answer.is-selected .exam-answer-letter{border-color:var(--accent);background:var(--accent);color:#f5f9fa}.exam-answer input:focus-visible+.exam-answer-letter{outline:3px solid oklch(.73 .12 205 / .45);outline-offset:2px}.exam-question-actions{margin-top:24px;padding-top:17px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.exam-question-actions .button{min-height:39px}.exam-feedback-policy{margin:14px 0 0;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--ink-faint);font-size:var(--text-min)}.exam-feedback-policy svg{color:var(--success)}.exam-navigator{padding:16px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.exam-navigator-heading{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.exam-navigator-heading strong{font-size:var(--text-min)}.exam-navigator-heading span{color:var(--ink-muted);font-size:var(--text-min)}.exam-question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.exam-question-grid button{aspect-ratio:1;min-width:0;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--ink-muted);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-min);font-weight:750;cursor:pointer}.exam-question-grid button:hover{border-color:var(--border-strong);color:var(--ink)}.exam-question-grid button.is-answered{border-color:#8ebf9e;color:var(--success);background:var(--success-soft)}.exam-question-grid button.is-current{outline:2px solid var(--accent);outline-offset:1px}.exam-level-key{margin-top:16px;padding-top:13px;border-top:1px solid var(--border);display:grid;gap:7px}.exam-level-key span{display:flex;align-items:center;gap:7px;color:var(--ink-muted);font-size:var(--text-min)}.exam-level-key i{width:8px;height:8px;border-radius:2px;display:inline-block}.exam-result-heading{padding:22px 24px;border:1px solid;border-radius:7px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:15px}.exam-result-heading.is-passed{color:#1d5133;border-color:#8ebf9e;background:var(--success-soft)}.exam-result-heading.needs-review{color:#694500;color:oklch(.42 .09 75);border-color:#d9b88b;background:var(--warning-soft)}.exam-result-heading h1{margin:2px 0 4px;color:var(--ink);font-size:23px}.exam-result-heading p:last-child{margin:0;color:var(--ink-muted);font-size:var(--text-min)}.exam-score{min-width:112px;padding-left:18px;border-left:1px solid currentColor;display:grid;justify-items:end}.exam-score strong{color:var(--ink);font-size:32px;line-height:1}.exam-score strong span{color:var(--ink-muted);font-size:15px}.exam-score small{margin-top:4px;font-size:var(--text-min);font-weight:800}.exam-results-actions{margin:16px 0 34px;display:flex;gap:8px}.exam-breakdown{padding-bottom:34px;border-bottom:1px solid var(--border)}.exam-breakdown-columns{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}.exam-breakdown-list{display:grid;gap:8px}.exam-breakdown-list h3{margin:0 0 3px;font-size:var(--text-min)}.exam-breakdown-list>div{min-height:26px;display:grid;grid-template-columns:minmax(95px,auto) minmax(70px,1fr) 34px;align-items:center;gap:9px;color:var(--ink-muted);font-size:var(--text-min)}.exam-breakdown-list strong{justify-self:end;color:var(--ink);font-size:var(--text-min)}.exam-breakdown-bar{height:5px;border-radius:4px;background:var(--surface-strong);overflow:hidden}.exam-breakdown-bar i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.exam-review{padding-top:34px}.exam-review ol{margin:0;padding:0;border-top:1px solid var(--border);list-style:none}.exam-review li{padding:18px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px}.exam-review-status{display:flex;align-items:center;gap:7px;font-size:var(--text-min);font-weight:750}.exam-review .is-correct .exam-review-status{color:var(--success)}.exam-review .is-incorrect .exam-review-status{color:var(--danger)}.exam-review-content h3{max-width:72ch;margin:8px 0 9px;font-size:13px;line-height:1.45}.exam-review-content>p{margin:3px 0 0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.45}.exam-review-content>p b{color:var(--ink)}.exam-correct-answer{color:var(--success)!important}.case-page{min-height:100vh;background:var(--canvas)}.case-toolbar{min-height:72px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--surface);display:grid;grid-template-columns:120px minmax(0,1fr) 120px;align-items:center;gap:14px}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted);text-decoration:none;font-size:var(--text-min);font-weight:650}.back-link:hover{color:var(--ink)}.case-title-block{justify-self:center;display:flex;align-items:center;gap:12px;min-width:0}.case-title-block>div{min-width:0}.case-title-block h1{margin:0;font-size:17px;line-height:1.25;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-title-block p{margin:2px 0 0;color:var(--ink-muted);font-size:var(--text-min)}.case-toolbar>button{justify-self:end}.stage-strip{min-height:54px;padding:8px 24px;border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;gap:5px}.stage-item{height:35px;min-width:116px;padding:0 10px;border-radius:5px;display:grid;grid-template-columns:21px 1fr auto;align-items:center;gap:6px;color:var(--ink-faint)}.stage-item>span{width:20px;height:20px;border:1px solid var(--border);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-min);font-weight:700}.stage-item strong{font-size:var(--text-min);white-space:nowrap}.stage-item small{font-size:var(--text-min)}.stage-item.is-current{color:var(--accent-dark);background:var(--accent-soft)}.stage-item.is-current>span{border-color:var(--accent);color:var(--accent-dark)}.stage-item.is-done{color:var(--success)}.stage-item.is-done>span{border-color:var(--success);background:var(--success-soft)}.score-chip{height:34px;margin-left:10px;padding-left:14px;border-left:1px solid var(--border);display:grid;align-content:center}.score-chip span{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.score-chip strong{font-size:13px;font-variant-numeric:tabular-nums}.case-workspace{min-height:calc(100vh - 127px);display:grid;grid-template-columns:minmax(520px,1fr) minmax(340px,390px)}.canvas-region{min-width:0;padding:18px 20px 26px;background:var(--surface-muted)}.panel-header{min-height:39px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.panel-header h2{margin:0;font-size:13px}.panel-header span{color:var(--ink-muted);font-size:var(--text-min)}.panel-header-actions{display:flex;align-items:center;gap:10px}.simulation-label{display:inline-flex;align-items:center;gap:5px}.pressure-start{min-height:28px;padding:0 9px;border:1px solid oklch(.76 .06 75);border-radius:5px;background:var(--warning-soft);color:#63471c;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-min);font-weight:700;cursor:pointer}.pressure-start:hover{border-color:var(--warning)}.pressure-hud{min-height:54px;margin-bottom:8px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);display:grid;grid-template-columns:minmax(160px,1fr) 70px 92px 68px;align-items:center;gap:9px}.pressure-hud.pressure-warning{border-color:#d6b17d;background:var(--warning-soft)}.pressure-hud.pressure-critical{border-color:#e09e95;background:var(--danger-soft)}.pressure-label{display:flex;align-items:center;gap:8px;color:var(--ink)!important}.pressure-label>span{display:grid;gap:1px}.pressure-label small,.pressure-metric small{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.pressure-label strong{font-size:var(--text-min)}.pressure-metric{display:grid;gap:1px}.pressure-metric strong{color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums}.pressure-controls{display:flex;justify-content:flex-end;color:var(--ink-muted)}.file-runner{min-height:146px;margin-bottom:10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);display:grid;grid-template-columns:235px minmax(0,1fr);overflow:hidden;box-shadow:0 1px 2px #1b24220a}.file-run-controls{min-width:0;border-right:1px solid var(--border);display:grid;grid-template-rows:auto 1fr}.sample-run-button{min-width:0;padding:12px 14px 10px;border:0;background:var(--surface);color:var(--ink);display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;transition:background .18s var(--ease-out)}.sample-run-button:hover{background:var(--accent-soft)}.sample-run-button>span:last-child{min-width:0;display:grid;gap:2px}.sample-run-button strong{font-size:var(--text-min)}.sample-run-button small{color:var(--ink-muted);font-size:var(--text-min)}.sample-run-icon{width:36px;height:36px;border-radius:5px;background:var(--accent-dark);color:#f1f6f7;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.prepared-file-list{margin:0;padding:0 10px 9px;list-style:none;display:grid;align-content:start;gap:2px}.prepared-file-list li{min-width:0;min-height:21px;padding:3px 5px;border-radius:3px;color:var(--ink-muted);background:var(--surface-muted);display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:4px;font-size:var(--text-min)}.prepared-file-list li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.prepared-file-list li small{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.run-console{min-width:0;background:#1e2928;color:#c9d4d3;display:grid;grid-template-rows:34px minmax(0,1fr)}.run-console-header{padding:0 9px 0 11px;border-bottom:1px solid oklch(.39 .018 190);display:flex;align-items:center;justify-content:space-between;gap:12px}.run-file-name,.run-status{min-width:0;display:flex;align-items:center;gap:7px;font-size:var(--text-min)}.run-file-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-file-name small{color:#879291;white-space:nowrap}.console-ready-dot{width:7px;height:7px;border-radius:50%;background:#798a89;flex:0 0 auto}.run-status{color:#a2b2b0;white-space:nowrap}.run-status svg{flex:0 0 auto}.run-outcome-failed{color:#f49286}.run-outcome-waiting{color:#eeb563}.run-outcome-complete{color:#7bc495}.console-action{width:25px;height:25px;margin-left:2px;border:0;border-radius:4px;background:transparent;color:#9ba8a6;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.console-action:hover{color:#e5edec;background:#445352}.run-log-lines{min-width:0;max-height:111px;margin:0;padding:8px 11px;list-style:none;overflow:auto;display:grid;align-content:start;gap:4px}.run-log-lines li{min-width:0;display:grid;grid-template-columns:53px 38px minmax(0,1fr);gap:7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-min);line-height:1.45}.run-log-lines time{color:#7a8685;font-variant-numeric:tabular-nums}.run-log-lines strong{color:#90aaad;font-size:inherit}.run-log-lines span{overflow-wrap:anywhere}.run-log-lines b{color:#dfe6e6;font-weight:650}.run-log-lines i{color:#8b9c9e;font-style:normal}.run-log-lines .log-warn strong{color:#ebb25f}.run-log-lines .log-error strong{color:#f58c7f}.run-log-empty{display:block!important;color:#879291;padding-top:10px}.batch-destinations{grid-column:1 / -1;border-top:1px solid var(--border);background:var(--surface)}.batch-destinations-header{min-height:31px;padding:6px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px}.batch-destinations-header strong{font-size:var(--text-min)}.batch-destinations-header span{color:var(--ink-faint);font-size:var(--text-min);font-variant-numeric:tabular-nums}.batch-destination-list{margin:0;padding:0;border-top:1px solid var(--border);list-style:none}.batch-destination-list li{min-height:31px;padding:5px 11px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(150px,.8fr) 22px minmax(150px,1.2fr);align-items:center;gap:8px;font-size:var(--text-min)}.batch-destination-list li:last-child{border-bottom:0}.destination-file,.destination-result{min-width:0;display:flex;align-items:center;gap:7px}.destination-file{color:var(--ink-muted)}.destination-file strong,.destination-result strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit}.destination-arrow{color:var(--ink-faint)}.destination-result{color:var(--ink-muted)}.destination-moving .destination-result{color:var(--accent-dark)}.destination-failed .destination-result{color:var(--danger)}.destination-waiting .destination-result{color:#7e5403}.destination-complete .destination-result{color:var(--success)}@keyframes run-spin{to{transform:rotate(360deg)}}@keyframes run-active{50%{box-shadow:0 0 0 4px #007a851f;box-shadow:0 0 0 4px oklch(.53 .115 205 / .12)}}.run-spinner{animation:run-spin .9s linear infinite}@keyframes queue-arrival{0%{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes inspector-reveal{0%{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.queue-arrival{animation:queue-arrival .18s var(--ease-out)}.flow-canvas{height:470px;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#f6fafa;box-shadow:var(--shadow)}.flow-node{position:relative;width:160px;height:86px;padding:4px 12px 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;text-align:center;cursor:pointer;transition:border-color .16s var(--ease-out),background .16s var(--ease-out)}.flow-node:hover{border-color:var(--border);background:#eef5f4c7}.flow-node.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px #007a8529;box-shadow:0 0 0 2px oklch(.53 .115 205 / .16)}.node-job-tray{position:absolute;left:50%;bottom:-15px;z-index:6;display:flex;align-items:center;gap:3px;transform:translate(-50%);pointer-events:none}.node-job-token{height:19px;padding:0 4px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--ink-muted);box-shadow:0 1px 3px #1b242221;display:inline-flex;align-items:center;gap:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-min);font-weight:700}.node-job-token.is-queued{border-style:dashed;color:var(--ink-faint);box-shadow:none}.node-job-token.is-moving{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft);animation:job-node-arrival .32s var(--ease-out)}@keyframes job-node-arrival{0%{opacity:.35;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.flow-node.run-visited:not(.run-active):not(.is-selected){background:#d9f0f3b8}.flow-node.run-active{border-color:var(--accent);background:var(--accent-soft);animation:run-active .7s var(--ease-out) infinite}.flow-node-icon{width:44px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:var(--flow-process)}.flow-node.kind-folder .flow-node-icon{color:var(--flow-folder-stroke)}.flow-node.kind-folder .flow-node-icon svg{fill:var(--flow-folder)}.flow-node.kind-output .flow-node-icon{color:var(--flow-output)}.flow-node.kind-output .flow-node-icon svg{fill:#ffdbaa;fill:oklch(.91 .1 75)}.flow-node.kind-service .flow-node-icon{color:var(--flow-service)}.flow-node.kind-problem .flow-node-icon,.flow-node.kind-failure .flow-node-icon{color:var(--danger)}.flow-node.kind-problem .flow-node-icon svg{fill:#ffb5ab;fill:oklch(.84 .11 28)}.flow-node.kind-evidence,.flow-node.kind-outcome{height:64px;margin-top:10px;padding:9px 28px 8px 10px;border-color:var(--border-strong);background:var(--surface);flex-direction:row;justify-content:center;gap:8px}.flow-node.kind-evidence:hover,.flow-node.kind-outcome:hover{border-color:var(--accent);background:var(--surface)}.flow-node.kind-evidence .flow-node-icon,.flow-node.kind-outcome .flow-node-icon{width:27px;height:27px;color:var(--accent-dark);flex:0 0 auto}.flow-node.kind-evidence .flow-node-icon svg,.flow-node.kind-outcome .flow-node-icon svg{width:23px;height:23px}.flow-node.kind-evidence .flow-node-copy,.flow-node.kind-outcome .flow-node-copy{width:auto}.flow-node.kind-decision{width:138px;height:108px;margin:-11px 11px 0;padding:21px 27px 18px;justify-content:center;isolation:isolate}.flow-node.kind-decision:before{content:"";position:absolute;top:8px;right:25px;bottom:8px;left:25px;z-index:-1;border:1px solid oklch(.65 .09 205);border-radius:5px;background:#d5f1f5;transform:rotate(45deg);transition:border-color .16s var(--ease-out),background .16s var(--ease-out),box-shadow .16s var(--ease-out)}.flow-node.kind-decision:hover,.flow-node.kind-decision.is-selected,.flow-node.kind-decision.run-active,.flow-node.kind-decision.run-visited{border-color:transparent;background:transparent;box-shadow:none}.flow-node.kind-decision:hover:before{border-color:var(--accent-dark)}.flow-node.kind-decision.is-selected:before,.flow-node.kind-decision.run-active:before{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px #007a8524;box-shadow:0 0 0 3px oklch(.53 .115 205 / .14)}.flow-node.kind-decision .flow-node-icon{width:25px;height:24px;color:var(--accent-dark)}.flow-node.kind-decision .flow-node-icon svg{width:22px;height:22px}.flow-node.kind-decision .status-icon{top:7px;right:17px}.flow-node.kind-decision .react-flow__handle{top:50%}.presentation-decision .react-flow__edge-path{stroke-width:1.7}.presentation-decision .react-flow__edge-text{font-family:inherit;font-size:var(--text-min);font-weight:700;fill:var(--ink)}.presentation-decision .react-flow__edge-textbg{fill:var(--surface);stroke:var(--border);stroke-width:.6px}.flow-node-copy{width:100%;display:grid;min-width:0}.flow-node-copy strong{font-size:var(--text-min);line-height:1.2;overflow-wrap:anywhere}.status-icon{position:absolute;top:4px;right:28px;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--success);background:var(--surface);border-radius:50%}.flow-node.status-warning .status-icon,.flow-node.status-waiting .status-icon{color:var(--warning)}.flow-node.status-failed .status-icon{color:var(--danger)}.flow-node.status-corrected .status-icon{color:var(--accent)}.flow-node.status-failed:not(.is-selected) .flow-node-copy strong{color:var(--danger)}.flow-node.status-warning:not(.is-selected) .flow-node-copy strong,.flow-node.status-waiting:not(.is-selected) .flow-node-copy strong{color:#7b5100;color:oklch(.47 .1 75)}.flow-node.status-corrected:not(.is-selected) .flow-node-copy strong{color:var(--accent-dark)}.flow-node .react-flow__handle{top:25px;width:7px;height:7px;background:var(--border-strong);border:1px solid var(--surface)}.flow-node.layout-vertical .react-flow__handle-top{top:-4px;left:50%}.flow-node.layout-vertical .react-flow__handle-bottom{top:auto;bottom:-4px;left:50%}.flow-node.kind-decision.layout-vertical .react-flow__handle-top{top:7px}.flow-node.kind-decision.layout-vertical .react-flow__handle-bottom{bottom:7px}.react-flow__edge-path{stroke:#768786;stroke-width:1.4}.react-flow__edge{cursor:pointer}.react-flow__edge.edge-warning .react-flow__edge-path{stroke:var(--warning);stroke-dasharray:5 4}.react-flow__edge.edge-failed .react-flow__edge-path{stroke:var(--danger);stroke-dasharray:4 3}.react-flow__edge:hover .react-flow__edge-path{stroke:var(--accent-dark);stroke-width:2}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--accent);stroke-width:2.4}.react-flow__edge:focus-visible .react-flow__edge-path{stroke:var(--accent-dark);stroke-width:2.4}.react-flow__edge-text{fill:var(--ink-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-min)}.react-flow__edge-textbg{fill:#f1f7f7}.react-flow__controls{border:1px solid var(--border)!important;border-radius:5px!important;box-shadow:none!important;overflow:hidden}.react-flow__controls button{width:28px!important;height:28px!important;border-bottom-color:var(--border)!important;background:var(--surface)!important;color:var(--ink-muted)!important}.react-flow__controls button:hover{background:var(--surface-muted)!important}.inspector{min-height:126px;margin-top:12px;padding:14px 15px;border:1px solid var(--border);border-radius:6px;background:var(--surface);display:grid;grid-template-columns:minmax(140px,.65fr) minmax(230px,1.35fr);gap:12px 18px;align-items:start;box-shadow:0 1px 2px #1b24220a}.inspector:not(.empty-inspector){animation:inspector-reveal .16s var(--ease-out)}.empty-inspector{display:flex;align-items:center;justify-content:center;color:var(--ink-faint)}.empty-inspector>span{display:grid;gap:2px;font-size:var(--text-min)}.empty-inspector strong{color:var(--ink-muted);font-size:var(--text-min)}.inspector-title{display:flex;align-items:center;gap:9px}.node-status{width:9px;height:9px;border-radius:50%;background:var(--success);flex:0 0 auto}.node-status.status-warning,.node-status.status-waiting{background:var(--warning)}.node-status.status-failed{background:var(--danger)}.node-status.status-corrected{background:var(--accent)}.inspector-title small{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.inspector-title h3{margin:1px 0 0;font-size:13px}.inspector-summary{grid-column:1;margin:0;max-width:48ch;color:var(--ink-muted);font-size:var(--text-min);line-height:1.5}.message-log{grid-column:2;grid-row:1 / span 2;min-height:80px;padding:10px;border-radius:4px;background:#1e2928;display:grid;align-content:start;gap:5px;overflow-x:auto}.message-log code{color:#bececd;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-min);white-space:nowrap}.property-list{grid-column:2;grid-row:1 / span 2;margin:0;display:grid;gap:1px;border:1px solid var(--border);border-radius:4px;overflow:hidden}.property-list div{min-height:27px;padding:5px 8px;display:grid;grid-template-columns:minmax(80px,.55fr) 1fr;gap:10px;background:var(--surface-muted);font-size:var(--text-min)}.property-list dt{color:var(--ink-muted)}.property-list dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.inspector-jobs{grid-column:1 / -1;grid-row:3;padding-top:10px;border-top:1px solid var(--border)}.inspector-jobs-heading{min-height:24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.inspector-jobs-heading strong{font-size:var(--text-min)}.inspector-jobs-heading span{min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--surface-strong);color:var(--ink-muted);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-min);font-weight:750}.inspector-jobs>p{margin:5px 0 0;color:var(--ink-faint);font-size:var(--text-min)}.inspector-jobs ul{margin:5px 0 0;padding:0;border-top:1px solid var(--border);list-style:none}.inspector-jobs li{min-height:38px;padding:6px 4px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;color:var(--ink-muted)}.inspector-jobs li:last-child{border-bottom:0}.inspector-jobs li>span{min-width:0;display:grid;gap:2px}.inspector-jobs li strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-min)}.inspector-jobs li small{color:var(--ink-faint);font-size:var(--text-min)}.inspector-jobs li em{color:var(--success);font-size:var(--text-min);font-style:normal}.investigation-rail{min-width:0;border-left:1px solid var(--border);background:var(--surface)}.brief-section{border-bottom:1px solid var(--border)}.case-reference-summary{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px 12px}.case-reference-summary>span{width:100%;color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.case-reference-summary a{display:inline-flex;align-items:center;gap:4px;color:var(--accent-dark);font-size:var(--text-min);font-weight:650}.rail-section-toggle{width:100%;min-height:66px;padding:12px 18px;border:0;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.rail-section-toggle:hover{background:var(--surface-muted)}.rail-section-toggle>span{display:grid;gap:3px}.rail-section-toggle small{color:var(--ink-faint);font-size:var(--text-min)}.rail-section-toggle strong{font-size:var(--text-min)}.rotate-icon{transform:rotate(180deg)}.brief-body{padding:0 18px 18px}.brief-body>p{margin:0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.55}.brief-body ul{margin:13px 0;padding-left:18px;color:var(--ink);font-size:var(--text-min);line-height:1.55}.role-boundary{padding:10px;border:1px solid oklch(.81 .06 75);border-radius:5px;background:var(--warning-soft);display:flex;align-items:flex-start;gap:8px;color:#604825}.role-boundary svg{flex:0 0 auto;margin-top:2px}.role-boundary span{display:grid;gap:2px;font-size:var(--text-min);line-height:1.45}.role-boundary strong{font-size:var(--text-min)}.learning-companion{margin-top:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted);overflow:hidden}.learning-companion-heading{padding:10px;display:flex;align-items:flex-start;gap:8px}.learning-companion-heading>svg{flex:0 0 auto;margin-top:1px;color:var(--accent-dark)}.learning-companion-heading>div{display:grid;gap:2px}.learning-companion-heading strong{font-size:var(--text-min)}.learning-companion-heading span{color:var(--ink-muted);font-size:var(--text-min);line-height:1.4}.learning-resource-list{border-top:1px solid var(--border);display:grid}.learning-resource-list a{padding:9px 10px;border-bottom:1px solid var(--border);display:grid;gap:3px;color:inherit;text-decoration:none}.learning-resource-list a:last-child{border-bottom:0}.learning-resource-list a:hover{background:var(--accent-soft)}.learning-resource-title{display:inline-flex;align-items:center;gap:5px;color:var(--accent-dark);font-size:var(--text-min);font-weight:700}.learning-resource-title svg{flex:0 0 auto}.learning-resource-meta{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.learning-resource-reason{color:var(--ink-muted);font-size:var(--text-min);line-height:1.45}.learning-companion-note{margin:0;padding:8px 10px;border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-min);line-height:1.45}.learning-companion-debrief{margin:2px 0 14px}.task-section{padding:20px 18px 24px}.task-heading>span{color:var(--accent-dark);font-size:var(--text-min);font-weight:750;text-transform:uppercase}.task-heading h2{margin:6px 0 5px;font-size:17px;line-height:1.35;letter-spacing:0}.task-heading p{margin:0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.45}.answer-list{margin-top:16px;display:grid;gap:8px}.answer-option{min-height:54px;padding:10px 11px;border:1px solid var(--border);border-radius:6px;display:grid;grid-template-columns:20px 1fr;align-items:start;gap:9px;color:var(--ink-muted);font-size:var(--text-min);line-height:1.45;cursor:pointer;transition:border-color .16s var(--ease-out),background .16s var(--ease-out),color .16s var(--ease-out)}.answer-option:hover{border-color:var(--border-strong);color:var(--ink)}.answer-option.is-selected{border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}.answer-option input{position:absolute;opacity:0;pointer-events:none}.control-mark{width:18px;height:18px;margin-top:1px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--surface)}.answer-option input[type=radio]+.control-mark{border-radius:50%}.answer-option.is-selected .control-mark{border-color:var(--accent);background:var(--accent)}.feedback{margin-top:13px;padding:11px;border:1px solid;border-radius:5px;display:flex;align-items:flex-start;gap:9px}.feedback svg{flex:0 0 auto;margin-top:1px}.feedback strong{font-size:var(--text-min)}.feedback p{margin:3px 0 0;font-size:var(--text-min);line-height:1.45}.feedback-correct{color:#1c5434;border-color:#94c5a4;background:var(--success-soft)}.feedback-wrong{color:#63471c;border-color:#d9b88b;background:var(--warning-soft)}.feedback-critical{color:#822c25;border-color:#e6a49b;background:var(--danger-soft)}.task-actions{margin-top:16px;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px}.task-actions>span{color:var(--ink-faint);font-size:var(--text-min)}.button{min-height:36px;padding:0 13px;border:1px solid transparent;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:var(--text-min);font-weight:700;text-decoration:none;cursor:pointer}.button.primary{color:#f4f8f8;background:var(--accent-dark)}.button.primary:hover{background:#004c53;background:oklch(.38 .1 205)}.button.secondary{color:var(--ink);border-color:var(--border);background:var(--surface)}.button.secondary:hover{background:var(--surface-muted)}.button:disabled{color:var(--ink-faint);background:var(--surface-strong);cursor:not-allowed}.danger-quiet{color:var(--danger);border-color:#e2b0a8;background:var(--danger-soft)}.debrief-section{padding:20px 18px 28px}.result-banner{padding:13px;border:1px solid;border-radius:6px;display:flex;align-items:flex-start;gap:10px}.result-banner svg{flex:0 0 auto}.result-banner small{font-size:var(--text-min);text-transform:uppercase}.result-banner h2{margin:3px 0;font-size:16px}.result-banner p{margin:0;font-size:var(--text-min);line-height:1.45}.result-banner.passed{color:#1d5133;border-color:#8ebf9e;background:var(--success-soft)}.result-banner.review{color:#7e3029;border-color:#e1a79f;background:var(--danger-soft)}.debrief-block{padding:17px 0;border-bottom:1px solid var(--border)}.debrief-block h3,.debrief-columns h3{margin:0 0 5px;font-size:var(--text-min)}.debrief-block p{margin:0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.55}.debrief-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:17px 0;border-bottom:1px solid var(--border)}.debrief-columns ol,.debrief-columns ul{margin:0;padding-left:17px;color:var(--ink-muted);font-size:var(--text-min);line-height:1.55}.engineering-connection{margin:17px 0 2px;padding:13px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted)}.engineering-connection-heading{display:flex;align-items:center;gap:9px}.engineering-connection-icon{width:30px;height:30px;border-radius:5px;background:var(--accent-soft);color:var(--accent-dark);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.engineering-connection-heading>div{display:grid;gap:2px}.engineering-connection-heading small{color:var(--accent-dark);font-size:var(--text-min);font-weight:750;text-transform:uppercase}.engineering-connection-heading h3{margin:0;font-size:var(--text-min)}.engineering-operational-lesson{margin:11px 0 0;color:var(--ink);font-size:var(--text-min);font-weight:650;line-height:1.5}.engineering-concept{margin-top:11px;padding-top:10px;border-top:1px solid var(--border);display:grid;gap:3px}.engineering-concept strong{color:var(--accent-dark);font-size:var(--text-min)}.engineering-concept span,.engineering-explanation{color:var(--ink-muted);font-size:var(--text-min);line-height:1.55}.engineering-explanation{margin:8px 0 0}.engineering-examples{margin-top:10px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:7px}.engineering-examples>strong{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.engineering-examples ul{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px;list-style:none}.engineering-examples li{padding:2px 5px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--ink-muted);font-size:var(--text-min)}.engineering-reflection{margin:11px 0 0;padding-top:10px;border-top:1px solid var(--border);display:flex;align-items:flex-start;gap:7px;color:var(--ink-muted);font-size:var(--text-min);line-height:1.5}.engineering-reflection svg{margin-top:1px;flex:0 0 auto;color:var(--accent-dark)}.engineering-reflection span{display:grid;gap:2px}.engineering-reflection strong{color:var(--ink);font-size:var(--text-min)}.source-row{padding:14px 0;display:grid;gap:6px}.source-row>span{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.source-row a,.text-link{display:inline-flex;align-items:center;gap:5px;color:var(--accent-dark);font-size:var(--text-min);font-weight:650}.debrief-actions{display:flex;justify-content:space-between;gap:10px;margin-top:8px}.text-page{max-width:860px;margin-left:0}.text-page section{padding:23px 0;border-top:1px solid var(--border)}.text-page h2{margin:0 0 8px;font-size:16px}.text-page section p{margin:0 0 12px;max-width:72ch;color:var(--ink-muted);font-size:13px;line-height:1.65}.labs-page{max-width:1220px}.lab-page-heading{margin-bottom:20px}.lab-back-link{flex:0 0 auto;padding-bottom:4px;text-decoration:none}.lab-purpose-strip{margin-bottom:22px;padding:14px 0;border-block:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.lab-purpose-strip>span{color:var(--ink-muted);display:grid;gap:3px;font-size:var(--text-min);line-height:1.45}.lab-purpose-strip strong{color:var(--ink);font-size:var(--text-min)}.lab-tabs{margin-bottom:18px;border-bottom:1px solid var(--border);display:flex;gap:2px;overflow-x:auto}.lab-tabs button{min-height:42px;padding:0 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-muted);display:inline-flex;align-items:center;gap:7px;font-size:var(--text-min);font-weight:700;white-space:nowrap;cursor:pointer}.lab-tabs button:hover{color:var(--ink);background:var(--surface-muted)}.lab-tabs button.is-active{color:var(--accent-dark);border-bottom-color:var(--accent)}.lab-workspace{border:1px solid var(--border);border-radius:7px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.lab-brief{min-height:104px;padding:20px 22px;border-bottom:1px solid var(--border);background:var(--surface-muted);display:flex;align-items:flex-start;gap:13px}.lab-brief-icon{width:38px;height:38px;border-radius:6px;background:var(--accent-soft);color:var(--accent-dark);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.lab-brief>div{max-width:72ch}.lab-brief>div>span{color:var(--accent-dark);font-size:var(--text-min);font-weight:750;text-transform:uppercase}.lab-brief h2{margin:4px 0;font-size:17px}.lab-brief p{margin:0;color:var(--ink-muted);font-size:var(--text-min);line-height:1.55}.lab-brief code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink)}.lab-related{margin-top:11px;display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px}.lab-related>span{color:var(--ink-faint);font-size:var(--text-min);font-weight:750;text-transform:uppercase}.lab-related a{color:var(--accent-dark);font-size:var(--text-min);font-weight:700;text-decoration:none}.lab-related a:hover{text-decoration:underline}.lab-challenge-bar{min-height:48px;padding:9px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:18px}.lab-challenge-bar>span{min-width:0;color:var(--ink-muted);display:flex;align-items:center;gap:8px;font-size:var(--text-min)}.lab-challenge-bar strong{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase;white-space:nowrap}.lab-challenge-bar code{overflow:hidden;color:var(--ink);font:var(--text-min) ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.lab-editor{min-height:70px;padding:14px 22px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:14px}.lab-editor label,.lab-query-panel label,.json-source label{display:grid;gap:5px;color:var(--ink-muted);font-size:var(--text-min);font-weight:700}.code-input{width:100%;height:37px;padding:0 10px;border:1px solid var(--border);border-radius:5px;background:#f3f8f7;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-min)}.code-input:focus{border-color:var(--accent)}.lab-editor-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.lab-editor-actions .button{flex:0 0 auto}.lab-hint{margin:12px 22px 0;padding:9px 10px;border:1px solid oklch(.83 .04 205);border-radius:5px;background:var(--accent-soft);color:var(--accent-dark);display:flex;align-items:flex-start;gap:7px;font-size:var(--text-min);line-height:1.5}.lab-hint svg{margin-top:1px;flex:0 0 auto}.lab-hint.compact{margin:0}.lab-hint code{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.lab-warning{margin:12px 22px 0;padding:9px 10px;border:1px solid oklch(.8 .06 75);border-radius:5px;background:var(--warning-soft);color:#664a1f;font-size:var(--text-min)}.fixture-table{margin:18px 22px;border:1px solid var(--border);border-radius:5px;overflow:hidden}.fixture-header,.fixture-row{min-height:38px;padding:7px 10px;display:grid;grid-template-columns:minmax(180px,1fr) 90px 90px 80px;align-items:center;gap:10px;font-size:var(--text-min)}.fixture-header{min-height:30px;background:var(--surface-strong);color:var(--ink-muted);font-size:var(--text-min);font-weight:700;text-transform:uppercase}.fixture-row+.fixture-row{border-top:1px solid var(--border)}.fixture-row code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-min)}.xpath-fixtures .fixture-row{min-height:51px}.fixture-name{min-width:0;display:grid;gap:2px}.fixture-name strong{font-size:var(--text-min)}.fixture-name small{overflow:hidden;color:var(--ink-muted);font-size:var(--text-min);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.result-pending{color:var(--ink-faint)}.result-pass,.result-fail{display:inline-flex;align-items:center;gap:4px;font-weight:700}.result-pass{color:var(--success)}.result-fail{color:var(--danger)}.lab-result{margin:12px 22px;padding:10px 11px;border:1px solid;border-radius:5px;display:flex;align-items:flex-start;gap:8px;font-size:var(--text-min)}.lab-result>span{display:grid;gap:2px}.lab-result.success{color:#1c5434;border-color:#94c5a4;background:var(--success-soft)}.lab-result.fail{color:#6c4701;border-color:#d5b993;background:var(--warning-soft)}.lab-result.error{color:#822c25;border-color:#e6a49b;background:var(--danger-soft)}.lab-split{padding:20px 22px;display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(260px,.85fr);gap:20px}.code-label{display:block;margin-bottom:5px;color:var(--ink-muted);font-size:var(--text-min);font-weight:700}.code-fixture{min-height:180px;margin:0;padding:14px;border-radius:5px;background:#1e2928;color:#c4d5d3;overflow:auto}.code-fixture code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-min);line-height:1.6;white-space:pre}.lab-query-panel{display:grid;align-content:start;gap:12px}.lab-query-panel .button{justify-self:start}.lab-query-panel .lab-result{margin:0}.query-output{min-height:64px;padding:10px;border:1px solid var(--border);border-radius:5px;background:var(--surface-muted);display:grid;gap:4px}.query-output span{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.query-output code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.json-source-grid{padding:20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.json-source{min-width:0;display:grid;gap:9px}.json-source .code-fixture{min-height:135px}.json-source-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.json-source-heading strong{font-size:var(--text-min)}.json-source-heading span{color:var(--accent-dark);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-min)}.contract-decision{margin:0;padding:15px 22px 18px;border:0;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.contract-decision legend{padding:15px 0 7px;color:var(--ink);font-size:var(--text-min);font-weight:750}.contract-decision label{min-width:0;min-height:76px;padding:11px;border:1px solid var(--border);border-radius:5px;background:var(--surface);display:flex;align-items:flex-start;gap:8px;cursor:pointer}.contract-decision label:hover{border-color:var(--border-strong);background:var(--surface-muted)}.contract-decision label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.contract-decision input{margin:2px 0 0;accent-color:var(--accent)}.contract-decision label>span{display:grid;gap:4px}.contract-decision strong{font-size:var(--text-min);line-height:1.35}.contract-decision small{color:var(--ink-muted);font-size:var(--text-min);line-height:1.45}.lab-run-row{padding:14px 22px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px}.lab-run-row p{margin:0;max-width:70ch;color:var(--ink-muted);font-size:var(--text-min);line-height:1.5}.lab-run-row .button{flex:0 0 auto}.lab-reference{min-height:50px;padding:10px 22px;border-top:1px solid var(--border);background:var(--surface-muted);display:grid;grid-template-columns:70px 1fr 20px;align-items:center;gap:10px;text-decoration:none}.lab-reference:hover{background:var(--accent-soft)}.lab-reference>span{color:var(--ink-faint);font-size:var(--text-min);text-transform:uppercase}.lab-reference strong{color:var(--accent-dark);font-size:var(--text-min)}.lab-reference svg{color:var(--accent-dark)}.lab-footer{min-height:64px;padding:10px 22px;border-top:1px solid var(--border);background:var(--surface-muted);display:grid;grid-template-columns:auto minmax(190px,.7fr) minmax(280px,1fr);align-items:center;gap:14px}.lab-footer .button{justify-self:start}.lab-footer-safety{color:var(--ink-muted);display:flex;align-items:flex-start;gap:7px;font-size:var(--text-min);line-height:1.4}.lab-footer-safety svg{margin-top:1px;flex:0 0 auto;color:var(--success)}.lab-footer-safety span{display:grid;gap:1px}.lab-footer-safety strong{color:var(--ink)}.lab-footer .lab-reference{min-height:44px;padding:0;border:0;background:transparent;grid-template-columns:58px minmax(0,1fr) 18px}.lab-footer .lab-reference:hover{background:transparent}@media(max-width:1100px){.home-intro{grid-template-columns:1fr;gap:38px}.home-intro-copy h1{font-size:37px}.home-direction-panel{max-width:720px}.home-learning-layout{grid-template-columns:1fr;gap:28px}.home-path-row{grid-template-columns:30px 40px minmax(230px,1fr) 140px}.home-progress-panel{margin-top:0}.home-method{grid-template-columns:1fr;gap:28px}.case-workspace{grid-template-columns:minmax(440px,1fr) 350px}.flow-canvas{height:430px}.stage-item{min-width:94px}.stage-item small{display:none}.case-row{grid-template-columns:48px minmax(200px,1fr) 170px 72px}.file-runner{grid-template-columns:215px minmax(0,1fr)}.knowledge-layout{grid-template-columns:170px minmax(0,1fr);gap:44px}.knowledge-tool{grid-template-columns:130px minmax(0,1fr)}.knowledge-tool>div,.knowledge-tool>a{grid-column:2}.knowledge-tool>a{justify-self:start}.knowledge-reading{grid-template-columns:1fr;gap:24px}}@media(max-width:820px){.app-shell,.nav-collapsed{display:block}.main-content{padding-top:54px}.mobile-header{position:fixed;inset:0 0 auto 0;z-index:25;height:54px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--surface);display:grid;grid-template-columns:40px 1fr 40px;align-items:center;color:var(--ink)}.mobile-header .brand{justify-self:center}.mobile-progress{justify-self:end;color:var(--ink-muted);font-size:var(--text-min);font-weight:700}.icon-button{min-width:44px;height:44px}.sidebar,.nav-collapsed .sidebar{width:248px;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;border:0;background:#11181761;display:block}.mobile-close{display:inline-flex}.desktop-only{display:none}.page{padding:28px 20px 50px}.home-page{padding-top:38px}.home-intro{min-height:0;grid-template-columns:1fr;gap:38px}.home-intro-copy h1{max-width:15ch}.home-direction-panel{max-width:680px}.home-learning{margin-top:68px}.home-section-heading{grid-template-columns:1fr;gap:12px}.home-learning-layout{grid-template-columns:1fr}.home-progress-panel{margin-top:0}.home-method{grid-template-columns:1fr;gap:28px}.page-heading{align-items:flex-start}.catalog-toolbar{align-items:stretch;flex-direction:column}.segmented-control button{min-height:40px}.search-field{width:100%}.case-row{grid-template-columns:45px minmax(0,1fr) 72px;gap:10px}.basics-index-group{grid-template-columns:1fr;gap:8px}.basics-index ol{grid-template-columns:repeat(2,minmax(0,1fr))}.basic-concept{grid-template-columns:44px minmax(0,1fr);gap:18px}.basic-concept-links{grid-column:2}.knowledge-page{padding-top:38px}.knowledge-intro h1{font-size:34px}.knowledge-layout{margin-top:50px;grid-template-columns:1fr;gap:52px}.knowledge-rail{position:static}.knowledge-rail nav{grid-template-columns:1fr 1fr}.knowledge-rail nav a:nth-child(2n){padding-left:16px;border-left:1px solid var(--border)}.knowledge-rail-note{max-width:540px}.knowledge-article>section{scroll-margin-top:70px}.knowledge-footer{grid-template-columns:24px minmax(0,1fr)}.knowledge-footer>div{grid-column:2}.basics-next-step{grid-template-columns:1fr 1fr}.basics-next-step>div{grid-column:1 / -1;margin-bottom:6px}.basics-exam-callout{grid-template-columns:42px minmax(0,1fr) auto}.basics-exam-callout dl{display:none}.exam-intro-layout{grid-template-columns:1fr}.exam-start-panel{max-width:none}.exam-layout{grid-template-columns:1fr}.exam-navigator{grid-row:1}.exam-question-grid{grid-template-columns:repeat(10,1fr)}.exam-level-key{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-breakdown-columns{grid-template-columns:1fr}.case-meta{display:none}.case-toolbar{grid-template-columns:74px minmax(0,1fr) 48px}.case-title-block h1{font-size:14px}.case-title-block p{display:none}.stage-strip{justify-content:flex-start;overflow-x:auto}.stage-item{flex:0 0 auto}.score-chip{flex:0 0 auto;padding-right:12px}.case-workspace{display:block;min-height:0}.canvas-region{padding:15px 14px 18px}.flow-canvas{height:420px}.file-runner{grid-template-columns:235px minmax(0,1fr)}.investigation-rail{border-top:1px solid var(--border);border-left:0}.lab-split,.json-source-grid,.contract-decision{grid-template-columns:1fr}.contract-decision label{min-height:0}.lab-footer{grid-template-columns:auto minmax(0,1fr)}.lab-footer .lab-reference{grid-column:1 / -1}}@media(max-width:560px){.page{padding-inline:14px}.page-heading{display:block}.lab-back-link{margin-top:14px}.lab-purpose-strip{grid-template-columns:1fr;gap:10px}.lab-challenge-bar{align-items:flex-start;flex-direction:column;gap:7px}.lab-editor-actions{width:100%}.lab-editor-actions .button{flex:1 1 auto}.lab-footer{grid-template-columns:1fr}.lab-footer .button{width:100%}.lab-footer .lab-reference{grid-column:1}.home-intro-copy h1{font-size:32px}.home-lede{font-size:14px}.home-actions{align-items:stretch;flex-direction:column}.home-actions .button{width:100%}.home-assurances{align-items:flex-start;flex-direction:column}.home-direction-route{grid-template-columns:1fr}.home-direction-route>a{min-height:0}.home-direction-route>a+a{border-top:1px solid oklch(.4 .02 190);border-left:0}.home-section-heading h2,.home-method-heading h2{font-size:22px}.home-path-row{min-height:0;padding:19px 4px;grid-template-columns:28px 36px minmax(0,1fr);align-items:start;gap:10px}.home-path-icon{width:34px;height:34px}.home-path-copy strong{font-size:13px}.home-path-meta{grid-column:3;min-height:0;padding:9px 0 0;border-left:0}.home-method ol{grid-template-columns:1fr}.home-method li,.home-method li:nth-last-child(-n+2){min-height:0;padding:17px 0;border-bottom:1px solid var(--border)}.home-method li:last-child{border-bottom:0}.home-scope-note{grid-template-columns:24px minmax(0,1fr)}.home-scope-note a{grid-column:2}.completion-summary{margin-top:18px}.segmented-control{width:100%}.segmented-control button{flex:1 0 auto}.case-row{min-height:74px;padding-inline:7px;grid-template-columns:42px minmax(0,1fr) 68px}.case-main strong,.case-main small,.case-state,.case-companion-badge{font-size:var(--text-min)}.basics-intro h1{font-size:27px}.basics-index ol{grid-template-columns:1fr}.basic-concept{padding-block:25px 29px;grid-template-columns:36px minmax(0,1fr);gap:12px}.basic-concept-number{width:32px}.basic-concept-copy h3{font-size:17px}.basic-concept-links{grid-column:1 / -1}.basic-resource-link strong,.basic-case-link strong{font-size:var(--text-min)}.knowledge-intro h1{font-size:29px}.knowledge-lede{font-size:15px}.knowledge-meta{align-items:flex-start;flex-direction:column;gap:5px}.knowledge-layout{margin-top:42px;gap:46px}.knowledge-rail nav{grid-template-columns:1fr}.knowledge-rail nav a:nth-child(2n){padding-left:0;border-left:0}.knowledge-article>section+section{margin-top:62px}.knowledge-section-heading{grid-template-columns:34px minmax(0,1fr)}.knowledge-section-heading h2{font-size:22px}.knowledge-article section>p{font-size:14px}.knowledge-article blockquote{padding:18px 17px}.knowledge-article blockquote strong{font-size:16px}.knowledge-market-note{padding:18px 16px}.knowledge-tradeoffs{grid-template-columns:1fr}.knowledge-tradeoffs>div,.knowledge-tradeoffs>div+div{padding:19px 0;border-left:0}.knowledge-tradeoffs>div+div{border-top:1px solid var(--border)}.knowledge-layer{grid-template-columns:28px 24px minmax(0,1fr);gap:8px}.knowledge-layer h3{font-size:15px}.knowledge-tool{grid-template-columns:1fr;gap:9px}.knowledge-tool>div,.knowledge-tool>a{grid-column:1}.knowledge-tool>div{margin-top:5px}.knowledge-business-filter>div{grid-template-columns:28px minmax(0,1fr)}.knowledge-business-filter p{grid-column:2}.knowledge-start-sequence li{grid-template-columns:94px minmax(0,1fr);gap:10px}.knowledge-three-zones{grid-template-columns:1fr}.knowledge-three-zones>div{min-height:0;padding:16px 2px}.knowledge-three-zones>div+div{border-top:1px solid var(--border);border-left:0}.knowledge-decisions li{grid-template-columns:32px minmax(0,1fr)}.knowledge-progress-signals{grid-template-columns:1fr}.knowledge-progress-signals li,.knowledge-progress-signals li:nth-child(2n){min-height:0;padding:17px 0;border-left:0}.knowledge-reading{margin-top:62px}.knowledge-footer{display:grid;grid-template-columns:22px minmax(0,1fr)}.knowledge-footer>div{grid-column:1 / -1;display:grid}.knowledge-footer a{justify-content:center}.basics-next-step{display:flex;align-items:stretch;flex-direction:column}.basics-next-step a{justify-content:center}.basics-exam-callout{grid-template-columns:36px minmax(0,1fr);align-items:start}.basics-exam-icon{width:34px;height:34px}.basics-exam-callout>.button{grid-column:1 / -1;min-height:42px}.exam-intro-heading h1{font-size:27px}.exam-brief dl{grid-template-columns:1fr 1fr}.exam-brief dl div{border-bottom:1px solid var(--border)}.exam-brief dl div:nth-child(2){border-right:0}.exam-brief dl div:nth-child(3),.exam-brief dl div:nth-child(4){border-bottom:0}.exam-level-overview>div{padding-bottom:12px;border-bottom:1px solid var(--border);grid-template-columns:1fr;align-items:start;gap:6px}.exam-level-overview>div:last-child{padding-bottom:0;border-bottom:0}.exam-level-overview strong{grid-column:1;justify-self:start}.exam-header{align-items:flex-start}.exam-header h1{font-size:22px}.exam-progress-summary{min-width:88px}.exam-question-panel{padding:18px 14px 16px}.exam-fieldset h2{font-size:18px}.exam-answer{min-height:64px;font-size:13px}.exam-question-actions{align-items:stretch;flex-direction:column-reverse}.exam-question-actions .button{min-height:44px}.exam-question-grid{grid-template-columns:repeat(5,1fr)}.exam-level-key{grid-template-columns:1fr}.exam-result-heading{grid-template-columns:30px minmax(0,1fr);align-items:start;padding:18px 15px}.exam-result-heading h1{font-size:19px}.exam-score{grid-column:1 / -1;width:100%;padding:13px 0 0;border-top:1px solid currentColor;border-left:0;grid-template-columns:auto auto;align-items:baseline;justify-items:start}.exam-score small{justify-self:end}.exam-results-actions{align-items:stretch;flex-direction:column}.exam-results-actions .button{min-height:44px}.exam-review li{grid-template-columns:1fr;gap:9px}.case-toolbar{padding-inline:12px}.case-title-block{width:100%;justify-self:stretch}.case-title-block .case-id{display:none}.back-link{font-size:0}.back-link svg{width:18px;height:18px}.stage-strip{padding-inline:12px}.stage-item{min-width:84px;padding-inline:7px}.stage-item strong{font-size:var(--text-min)}.panel-header{align-items:center}.panel-header-actions{align-items:flex-end;flex-direction:column-reverse;gap:5px}.simulation-label{max-width:110px;text-align:right}.pressure-hud{grid-template-columns:minmax(80px,1fr) 58px 68px 96px}.file-runner{grid-template-columns:1fr}.file-run-controls{border-right:0;border-bottom:1px solid var(--border)}.sample-run-button{min-height:78px;padding-inline:14px}.sample-run-button strong,.sample-run-button small{font-size:var(--text-min)}.batch-destinations-header{min-height:38px;padding-inline:12px}.batch-destinations-header strong{font-size:var(--text-min)}.batch-destination-list li{min-height:40px;padding-inline:12px;grid-template-columns:minmax(105px,1fr) 14px minmax(115px,1fr);gap:5px;font-size:var(--text-min)}.destination-file,.destination-result{gap:5px}.run-console{min-height:132px}.run-log-lines{max-height:98px}.run-log-lines li{grid-template-columns:52px 37px minmax(0,1fr);font-size:var(--text-min)}.flow-canvas{height:350px}.inspector{grid-template-columns:1fr;min-height:150px}.inspector-summary,.message-log,.property-list{grid-column:1;grid-row:auto}.brief-body>p{font-size:14px}.brief-body ul{font-size:13px}.role-boundary span,.role-boundary strong,.case-reference-summary a,.learning-companion-heading strong,.learning-resource-title,.learning-companion-heading span,.learning-resource-reason,.learning-resource-meta,.learning-companion-note{font-size:var(--text-min)}.task-heading h2{font-size:18px}.task-heading p,.answer-option{font-size:14px}.answer-option{min-height:60px}.feedback strong{font-size:13px}.feedback p,.task-actions>span{font-size:var(--text-min)}.button{min-height:44px;font-size:13px}.debrief-block p{font-size:13px}.debrief-columns ol,.debrief-columns ul,.source-row a{font-size:var(--text-min)}.engineering-connection-heading small,.engineering-examples>strong{font-size:var(--text-min)}.engineering-connection-heading h3{font-size:14px}.engineering-operational-lesson{font-size:13px}.engineering-concept strong,.engineering-reflection strong,.engineering-concept span,.engineering-explanation,.engineering-reflection,.engineering-examples li{font-size:var(--text-min)}.lab-brief p{font-size:14px}.lab-editor label,.lab-query-panel label,.json-source label,.lab-run-row p,.lab-reference strong{font-size:var(--text-min)}.debrief-columns{grid-template-columns:1fr}.debrief-actions{flex-direction:column-reverse}.debrief-actions .button{width:100%}.lab-editor{grid-template-columns:1fr}.lab-editor .button{justify-self:start}.fixture-header,.fixture-row{grid-template-columns:minmax(130px,1fr) 62px 62px}.fixture-header span:nth-child(3),.fixture-row span:nth-child(3){display:none}.lab-run-row{align-items:stretch;flex-direction:column}.lab-run-row .button{align-self:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}
