.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f3f3f1;--panel:#fff;--panel-muted:#f8f8f6;--panel-strong:#ececea;--ink:#232323;--ink-soft:#5d5d5a;--ink-faint:#73736f;--accent:#a94f20;--accent-strong:#853b17;--accent-soft:#fff1e8;--run:#256b47;--run-strong:#1c5337;--run-soft:#e8f4ed;--red:#aa3d37;--red-soft:#faecea;--border:#dededb;--border-strong:#bdbdb8;--console:#1c1f22;--console-ink:#e8e9e6;--font-ui:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--topbar-height:52px;--navigator-width:280px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#151515;--panel:#1b1b1a;--panel-muted:#20201f;--panel-strong:#2a2a28;--ink:#f2f2ee;--ink-soft:#c4c3bd;--ink-faint:#9a9992;--accent:#e28a55;--accent-strong:#f1a16d;--accent-soft:#36251c;--run:#68c28f;--run-strong:#84d5a8;--run-soft:#1a3024;--red:#ef8179;--red-soft:#3c2321;--border:#383835;--border-strong:#5a5a54;--console:#111315;--console-ink:#e8e9e6}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-track{background:0 0}::selection{color:var(--ink);background:color-mix(in srgb, var(--accent) 24%, var(--panel))}html,body{background:var(--canvas);min-height:100%;color:var(--ink);font-family:var(--font-ui);font-variant-numeric:tabular-nums;margin:0}body{min-width:320px}button,input,select{font:inherit}button,select{color:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,[role=tab]:focus-visible,[role=separator]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}button:disabled{cursor:not-allowed;opacity:.5}.app-shell{background:var(--canvas);height:100vh;overflow:hidden}.topbar{z-index:30;height:var(--topbar-height);grid-template-columns:var(--navigator-width) minmax(240px, 1fr) 340px;border-bottom:1px solid var(--border);background:var(--panel);align-items:center;display:grid;position:relative}.brand-lockup{border-right:1px solid var(--border);align-items:baseline;gap:8px;height:100%;padding:0 18px;display:flex}.brand-lockup strong{letter-spacing:-.02em;font-size:15px;font-weight:720}.brand-lockup>span{color:var(--ink-faint);font-size:12px}.runtime-rail{min-width:128px;color:var(--ink-faint);justify-content:center;justify-self:center;align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.runtime-rail.is-ready{color:var(--run)}.runtime-rail.is-busy{color:var(--accent)}.runtime-rail.is-error,.runtime-rail.is-unavailable{color:var(--red)}.rail-icon{place-items:center;width:18px;height:18px;display:grid}.topbar-actions{border-left:1px solid var(--border);justify-content:flex-end;align-items:center;gap:9px;height:100%;padding:0 14px;display:flex}.service-cluster{flex-wrap:nowrap;gap:6px;display:flex}.service-badge{border:1px solid var(--border);min-height:26px;color:var(--ink-faint);background:var(--panel-muted);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:650;display:inline-flex}.service-badge.is-ready{border-color:color-mix(in srgb, var(--run) 35%, var(--border));color:var(--run);background:var(--run-soft)}.service-badge.is-unavailable{border-color:color-mix(in srgb, var(--red) 35%, var(--border));color:var(--red);background:var(--red-soft)}.service-badge.is-degraded{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--accent);background:var(--accent-soft)}.icon-button{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:5px;place-items:center;width:32px;height:32px;transition:border-color .12s,background .12s;display:grid}.icon-button:hover{border-color:var(--border-strong);background:var(--panel-muted)}.workspace-grid{height:calc(100vh - var(--topbar-height));grid-template-columns:var(--navigator-width) minmax(0, 1fr);display:grid}.navigator{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;min-height:0;display:flex}.navigator-switch{border-bottom:1px solid var(--border);background:var(--panel);grid-template-columns:1fr 1fr;display:grid}.navigator-switch button{border:0;border-right:1px solid var(--border);min-height:43px;color:var(--ink-soft);cursor:pointer;background:0 0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:650;transition:color .12s,background .12s,border-color .12s;display:flex}.navigator-switch button:last-child{border-right:0}.navigator-switch button>span{min-width:20px;color:var(--ink-faint);background:var(--panel-strong);font:12px/1.2 var(--font-mono);border-radius:8px;padding:2px 5px}.navigator-switch button:hover{background:var(--panel-muted)}.navigator-switch button.is-active{border-bottom-color:var(--accent);color:var(--ink)}.navigator-switch button.is-active>span{color:var(--accent);background:var(--accent-soft)}.question-filters{border-bottom:1px solid var(--border);background:var(--panel-muted);gap:10px;padding:12px;display:grid}.search-box{border:1px solid var(--border);min-height:35px;color:var(--ink-faint);background:var(--panel);border-radius:5px;align-items:center;gap:8px;padding:0 10px;display:flex}.search-box:focus-within{border-color:var(--accent)}.search-box input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.search-box input::placeholder{color:var(--ink-faint);opacity:1}.language-filter{border:1px solid var(--border);background:var(--panel);border-radius:5px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.language-filter button{border:0;border-right:1px solid var(--border);cursor:pointer;background:0 0;place-items:center;gap:2px;min-width:0;min-height:38px;padding:4px 2px;display:grid}.language-filter button:last-child{border-right:0}.language-filter button:hover{background:var(--panel-muted)}.language-filter button strong{max-width:100%;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:680;overflow:hidden}.language-filter button span{color:var(--ink-faint);font:12px/1 var(--font-mono)}.language-filter button.is-active{color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 -2px var(--accent)}.language-filter button.is-active strong,.language-filter button.is-active span{color:var(--accent)}.filter-select-row{grid-template-columns:1.3fr 1fr;gap:8px;display:grid}.filter-select-row label{gap:5px;min-width:0;display:grid}.filter-select-row label>span{color:var(--ink-soft);font-size:12px;font-weight:600}.filter-select-row select{border:1px solid var(--border);width:100%;min-width:0;height:32px;color:var(--ink-soft);background:var(--panel);border-radius:4px;padding:0 8px;font-size:12px}.filter-summary{color:var(--ink-faint);align-items:baseline;gap:4px;font-size:12px;display:flex}.filter-summary strong{color:var(--accent);margin-left:auto;font-size:13px}.navigator-scroll{flex:1;min-height:0;padding:6px 0 18px;overflow:auto}.lab-list{display:grid}.lab-link,.question-link{text-align:left;cursor:pointer;background:0 0;border:0;border-left:1px solid #0000;width:100%;transition:background .12s,border-color .12s}.lab-link{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;padding:10px 13px;display:grid}.lab-link:hover,.question-link:hover{background:var(--panel-muted)}.lab-link.is-active,.question-link.is-active{border-left-color:var(--accent);background:var(--accent-soft)}.lab-index{color:var(--ink-faint);font:12px/1.5 var(--font-mono)}.lab-link>span:last-child{gap:4px;min-width:0;display:grid}.lab-link strong{color:var(--ink);font-size:12px;line-height:1.4}.lab-link small{color:var(--ink-faint);font-size:12px;line-height:1.3}.question-group>header{color:var(--ink-soft);justify-content:space-between;align-items:center;padding:14px 13px 6px;font-size:12px;font-weight:680;display:flex}.question-group>header small{color:var(--ink-faint);font:12px/1.2 var(--font-mono)}.question-link{gap:5px;min-height:54px;padding:8px 12px 8px 13px;display:grid}.question-link.is-active{color:var(--accent)}.question-link-title{align-items:center;gap:8px;min-width:0;font-size:12px;font-weight:600;line-height:1.35;display:flex}.question-link-title>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.question-link-meta{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;padding-left:14px;font-size:12px;line-height:1.2;display:flex;overflow:hidden}.question-link-meta small{border:1px solid var(--border);background:var(--panel);font:inherit;border-radius:3px;margin-left:auto;padding:1px 4px}.phase-dot{background:var(--ink-faint);border-radius:50%;flex:none;width:6px;height:6px}.phase-dot.phase-p0{background:var(--run)}.phase-dot.phase-p1{background:var(--accent)}.phase-dot.phase-p2{background:#9a5a21}.empty-filter-state{color:var(--ink-faint);text-align:center;place-items:center;gap:7px;padding:40px 18px;display:grid}.empty-filter-state strong{color:var(--ink-soft);font-size:13px}.empty-filter-state span{font-size:12px;line-height:1.5}.navigator-footer{border-top:1px solid var(--border);min-height:37px;color:var(--ink-faint);background:var(--panel-muted);align-items:center;gap:7px;padding:0 13px;font-size:12px;display:flex}.workspace-main,.split-workspace,.reading-panel,.practice-panel-wrapper{min-width:0;height:100%;min-height:0}.reading-panel,.practice-panel-wrapper{background:var(--panel);overflow:hidden}.panel-resize-handle{z-index:5;border-right:1px solid var(--border);border-left:1px solid var(--border);background:var(--canvas);cursor:col-resize;justify-content:center;align-items:center;width:7px;transition:border-color .12s,background .12s;display:flex;position:relative}.panel-resize-handle:hover,.panel-resize-handle[data-resize-handle-active]{border-color:var(--accent);background:var(--accent-soft)}.panel-resize-handle>span{width:15px;height:31px;color:var(--ink-faint);place-items:center;display:grid}.question-reader,.lab-overview{background:var(--panel);grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.question-reader{container:reader/inline-size}.reader-heading{border-bottom:1px solid var(--border);background:var(--panel);padding:20px 24px 17px}.reader-breadcrumb{color:var(--ink-faint);margin:0 0 8px;font-size:12px;line-height:1.3}.reader-heading h1{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:clamp(22px,2vw,28px);font-weight:720;line-height:1.2}.reader-meta{flex-wrap:wrap;gap:6px;margin-top:13px;display:flex}.reader-meta>span{border:1px solid var(--border);min-height:22px;color:var(--ink-soft);background:var(--panel-muted);border-radius:3px;align-items:center;padding:0 7px;font-size:12px;font-weight:600;display:inline-flex}.reader-meta .difficulty-foundation{border-color:color-mix(in srgb, var(--run) 35%, var(--border));color:var(--run);background:var(--run-soft)}.reader-meta .difficulty-intermediate{border-color:color-mix(in srgb, var(--accent) 32%, var(--border));color:var(--accent);background:var(--accent-soft)}.reader-meta .difficulty-advanced{border-color:color-mix(in srgb, var(--red) 32%, var(--border));color:var(--red);background:var(--red-soft)}.reader-meta .language-badge{color:var(--ink-soft);background:var(--panel)}.reader-meta .progression-meta{border-color:color-mix(in srgb, var(--accent) 32%, var(--border));color:var(--accent);background:var(--accent-soft)}.reading-tabs,.practice-tabs{grid-template-rows:42px minmax(0,1fr);min-width:0;min-height:0;display:grid}.workspace-tabs{border-bottom:1px solid var(--border);background:var(--panel-muted);align-items:stretch;min-width:0;padding:0 8px;display:flex;overflow-x:auto}.workspace-tabs>button{min-width:max-content;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:650;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.workspace-tabs>button:hover{color:var(--ink);background:var(--panel-strong)}.workspace-tabs>button[data-state=active]{border-bottom-color:var(--accent);color:var(--ink);background:var(--panel)}.workspace-tabs>button>span{min-width:18px;color:var(--ink-faint);background:var(--panel-strong);font:12px/1.2 var(--font-mono);border-radius:8px;padding:2px 4px}.reader-scroll{min-height:0;overflow:auto}.reading-tab-content{outline:0;width:min(100%,76ch);margin:0 auto;padding:30px clamp(24px,4vw,48px) 64px}.content-section{border-bottom:1px solid var(--border);padding:0 0 28px}.content-section+.content-section,.content-section+.evidence-callout,.summary-card+.content-section,.explanation-section+.explanation-section{margin-top:28px}.content-section h2,.explanation-section h2,.summary-card h2{color:var(--ink);letter-spacing:-.01em;margin:0 0 12px;font-size:16px;line-height:1.35}.problem-statement{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.85}.progression-context{border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border);margin:28px 0;padding:18px 0}.progression-context>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.progression-context>header>div{gap:4px;display:grid}.progression-context>header span{color:var(--ink-faint);font:650 12px/1.3 var(--font-mono);letter-spacing:.06em}.progression-context>header strong{color:var(--ink);font-size:14px}.progression-context>header em{color:var(--accent);font:normal 650 12px/1 var(--font-mono)}.progression-stage-line{border-top:2px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;display:grid}.progression-stage-line span{color:var(--ink-faint);padding:9px 6px 0 0;font-size:12px;position:relative}.progression-stage-line span:before{border:1px solid var(--border-strong);background:var(--panel);content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:0}.progression-stage-line span.is-complete,.progression-stage-line span.is-current{color:var(--ink)}.progression-stage-line span.is-complete:before{border-color:var(--run);background:var(--run)}.progression-stage-line span.is-current:before{border-color:var(--accent);background:var(--accent)}.progression-context>p{color:var(--ink-soft);margin:16px 0 0;font-size:12px;line-height:1.55}.progression-context>nav{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.progression-context>nav button{border:1px solid var(--border);min-width:0;min-height:34px;color:var(--ink-soft);background:var(--panel);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:3px;padding:0 10px;font-size:12px;overflow:hidden}.progression-context>nav button:last-child{text-align:right}.progression-context>nav button:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.concept-list{flex-wrap:wrap;gap:7px;display:flex}.concept-list span{border:1px solid var(--border);color:var(--ink-soft);background:var(--panel-muted);border-radius:3px;padding:4px 7px;font-size:12px;line-height:1.2}.concept-list-roomy{gap:8px}.concept-list-roomy span{padding:6px 8px;font-size:12px}.evidence-callout{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:17px 0;display:flex}.evidence-callout>div{align-items:flex-start;gap:10px;min-width:0;display:flex}.callout-symbol{color:var(--accent);flex:none;margin-top:1px}.evidence-callout strong{color:var(--ink);font-size:12px}.evidence-callout p{color:var(--ink-soft);margin:4px 0 0;font-size:12px;line-height:1.55}.evidence-callout button{border:1px solid var(--border-strong);min-height:32px;color:var(--ink);background:var(--panel);cursor:pointer;border-radius:4px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:650;display:inline-flex}.evidence-callout button:hover{border-color:var(--accent);color:var(--accent)}.summary-card{border-bottom:1px solid var(--border);padding:0 0 22px}.summary-card p{color:var(--ink);margin:0;font-size:14px;font-weight:600;line-height:1.75}.answer-visualization{border:1px solid var(--border-strong);border-top:3px solid var(--accent);background:color-mix(in srgb, var(--accent-soft) 30%, var(--panel));border-radius:6px;margin:28px 0 32px;padding:20px}.answer-visualization-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.answer-visualization-header>div{align-items:flex-start;gap:11px;min-width:0;display:flex}.answer-visualization-symbol{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));width:34px;height:34px;color:var(--accent);background:var(--panel);border-radius:50%;flex:none;place-items:center;display:grid}.answer-visualization-kicker{color:var(--accent);font:700 12px/1.35 var(--font-mono);letter-spacing:.06em;margin:0 0 4px}.answer-visualization-header h2{color:var(--ink);letter-spacing:-.015em;margin:0;font-size:18px;line-height:1.35}.answer-visualization-count{border:1px solid var(--border);color:var(--ink-faint);background:var(--panel);font:600 12px/1.35 var(--font-mono);border-radius:4px;flex:none;padding:4px 7px}.answer-visualization>figcaption{max-width:68ch;color:var(--ink-soft);margin:13px 0 0;font-size:14px;line-height:1.7}.answer-visualization-items{gap:30px;margin:20px 0 0;padding:0;list-style:none;display:grid}.answer-visualization-items.has-2-items{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-visualization-items.has-3-items{grid-template-columns:repeat(3,minmax(0,1fr))}.answer-visualization-items>li{min-width:0;position:relative}.answer-visualization-item{border:1px solid var(--border);background:var(--panel);border-radius:5px;min-height:100%;padding:14px}.answer-visualization[data-kind=state] .answer-visualization-item{border-style:dashed}.answer-visualization-item>span{width:24px;height:24px;color:var(--panel);background:var(--accent);font:700 12px/1 var(--font-mono);border-radius:50%;place-items:center;margin-bottom:10px;display:grid}.answer-visualization[data-kind=comparison] .answer-visualization-item>span{color:var(--accent);background:var(--accent-soft)}.answer-visualization-item strong{overflow-wrap:anywhere;color:var(--ink);font-size:14px;line-height:1.5;display:block}.answer-visualization-item p{overflow-wrap:anywhere;color:var(--ink-soft);margin:7px 0 0;font-size:14px;line-height:1.65}.answer-visualization-connector{color:var(--accent);position:absolute;top:19px;right:-24px}.answer-visualization-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.answer-visualization-notes>section{border-left:3px solid var(--border-strong);background:var(--panel-muted);min-width:0;padding:13px 14px}.answer-visualization-notes>section[data-note-kind=risk]{border-left-color:var(--red)}.answer-visualization-notes>section[data-note-kind=tradeoff]{border-left-color:var(--run)}.answer-visualization-notes header{color:var(--ink);align-items:center;gap:7px;font-size:13px;line-height:1.4;display:flex}.answer-visualization-notes>section[data-note-kind=risk] header{color:var(--red)}.answer-visualization-notes>section[data-note-kind=tradeoff] header{color:var(--run)}.answer-visualization-notes p{overflow-wrap:anywhere;color:var(--ink-soft);margin:7px 0 0;font-size:13px;line-height:1.65}.answer-visualization-text-equivalent{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.answer-visualization-text-equivalent>strong{color:var(--ink);font-size:12px;line-height:1.4}.answer-visualization-text-equivalent p{overflow-wrap:anywhere;color:var(--ink-soft);margin:6px 0 0;font-size:14px;line-height:1.7}.explanation-section{display:block}.markdown-body{color:var(--ink-soft);font-size:13px;line-height:1.8}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p{margin:0 0 13px}.markdown-body ol,.markdown-body ul{margin:0;padding-left:22px}.markdown-body li+li{margin-top:7px}.markdown-body a{color:var(--accent);text-underline-offset:3px}.markdown-body code{border:1px solid var(--border);color:var(--accent);background:var(--panel-muted);font:.92em var(--font-mono);border-radius:3px;padding:2px 4px}.markdown-body pre{color:var(--console-ink);background:var(--console);border-radius:5px;padding:15px;overflow:auto}.markdown-body pre code{color:inherit;background:0 0;border:0;padding:0}.guidance-grid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:0;margin-top:30px;display:grid}.guidance-card{padding:17px 18px 17px 0}.guidance-card+.guidance-card{border-left:1px solid var(--border);padding-left:18px;padding-right:0}.guidance-card header{color:var(--ink);align-items:center;gap:7px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.guidance-card ul{color:var(--ink-soft);margin:0;padding-left:18px;font-size:12px;line-height:1.7}.guidance-card.is-warning header{color:var(--red)}.guidance-card.is-tradeoff header{color:var(--accent)}.section-intro{color:var(--ink-soft);margin:0 0 20px;font-size:12px;line-height:1.7}.followup-list{border-top:1px solid var(--border);gap:0;margin:0;padding:0;list-style:none;display:grid}.followup-list li{border-bottom:1px solid var(--border);grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding:14px 0;display:grid}.followup-list .followup-index{color:var(--accent);font:650 12px/1.6 var(--font-mono)}.followup-body{min-width:0}.followup-list .followup-question{color:var(--ink);margin:0;font-size:13px;font-weight:650;line-height:1.65}.followup-answer{border-left:2px solid var(--border);margin-top:11px}.followup-answer[open]{border-left-color:var(--accent)}.followup-answer summary{width:fit-content;color:var(--accent);cursor:pointer;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-weight:680;list-style:none;display:inline-flex}.followup-answer summary::-webkit-details-marker{display:none}.followup-answer summary:hover{color:var(--accent-strong);background:var(--accent-soft)}.followup-answer .markdown-body{color:var(--ink-soft);padding:13px 14px 3px;font-size:12px}.self-check-section{border-bottom:0}.answer-self-check{border-bottom:0;margin-top:28px}.check-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.check-list li{color:var(--ink-soft);align-items:flex-start;gap:8px;font-size:12px;line-height:1.55;display:flex}.check-list svg{color:var(--run);flex:none;margin-top:1px}.lab-summary{max-width:72ch;color:var(--ink-soft);margin:14px 0 0;font-size:12px;line-height:1.65}.lab-overview-scroll{min-height:0;padding-bottom:40px;overflow:auto}.practice-panel{background:var(--panel);grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid;container:practice/inline-size}.practice-head-stack{background:var(--panel);min-width:0}.practice-header{border-bottom:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:center;gap:16px;min-height:67px;padding:10px 14px;display:flex}.practice-header>div:first-child{min-width:0}.practice-header h2{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;line-height:1.35;overflow:hidden}.practice-context{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:12px;line-height:1.25;overflow:hidden}.practice-context-row{align-items:center;gap:8px;min-width:0;margin-top:4px;display:flex}.practice-context-row .practice-context{margin:0}.code-provenance{border:1px solid var(--border);min-width:max-content;color:var(--ink-faint);background:var(--panel-muted);font:650 12px/1.2 var(--font-mono);border-radius:3px;padding:2px 5px}.code-provenance.is-reference{border-color:color-mix(in srgb, var(--accent) 38%, var(--border));color:var(--accent);background:var(--accent-soft)}.code-provenance.is-draft{border-color:var(--border-strong);color:var(--ink-soft)}.lab-actions{flex:none;gap:7px;display:flex}.secondary-button,.reference-button,.run-button,.danger-button,.evaluation-button,.linked-lab-button{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 11px;font-size:12px;font-weight:680;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.secondary-button:hover,.reference-button:hover,.evaluation-button:hover,.linked-lab-button:hover{border-color:var(--border-strong);background:var(--panel-muted)}.reference-button{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--accent);background:var(--panel)}.reference-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.run-button{border-color:var(--run);color:#fff;background:var(--run)}.run-button:hover:not(:disabled){border-color:var(--run-strong);background:var(--run-strong)}.run-button:disabled,.reference-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.52}.runtime-blocker{border-bottom:1px solid color-mix(in srgb, var(--red) 35%, var(--border));min-height:48px;color:var(--red);background:var(--red-soft);align-items:flex-start;gap:9px;padding:9px 14px;display:flex}.runtime-blocker.is-checking{border-bottom-color:var(--border);color:var(--ink-faint);background:var(--panel-muted)}.runtime-blocker>svg{flex:none;margin-top:1px}.runtime-blocker strong{font-size:12px;line-height:1.35;display:block}.runtime-blocker p{color:var(--ink-soft);margin:3px 0 0;font-size:12px;line-height:1.45}:root[data-theme=dark] .run-button{color:#102218}.danger-button{border-color:var(--red);color:#fff;background:var(--red)}.practice-tab-list{padding-left:6px}.practice-tab-list .tab-score{min-width:23px}.practice-tab-list .tab-score.is-pass{color:var(--run);background:var(--run-soft)}.practice-tab-list .tab-score.is-fail{color:var(--red);background:var(--red-soft)}.practice-tab-content{outline:0;min-width:0;min-height:0}.code-tab-content,.editor-pane{height:100%;min-height:0}.editor-pane{background:var(--panel);grid-template-rows:38px minmax(0,1fr);display:grid}.file-tabs{border-bottom:1px solid var(--border);background:var(--panel-muted);align-items:stretch;min-width:0;display:flex;overflow-x:auto}.file-tab{border:0;border-right:1px solid var(--border);min-width:max-content;color:var(--ink-faint);cursor:pointer;font:12px/1 var(--font-mono);background:0 0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 11px;display:inline-flex}.file-tab:hover{color:var(--ink);background:var(--panel-strong)}.file-tab.is-active{border-bottom-color:var(--accent);color:var(--ink);background:var(--panel)}.file-dot{background:var(--ink-faint);border-radius:50%;flex:none;width:7px;height:7px}.file-dot.language-typescript{background:#3178c6}.file-dot.language-javascript{background:#b8910d}.file-dot.language-python{background:#3776ab}.file-dot.language-json{background:var(--run)}.file-dot.language-markdown{background:var(--ink-faint)}.readonly-mark{border:1px solid var(--border);color:var(--ink-faint);font:12px/1 var(--font-mono);border-radius:3px;padding:2px 4px}.monaco-frame{min-height:0;overflow:hidden}.editor-loading{height:100%;color:var(--ink-faint);place-items:center;font-size:12px;display:grid}.editor-loading-preview{background:var(--panel);width:100%;height:100%;color:var(--ink);text-align:left;position:relative;overflow:hidden}.editor-loading-status{z-index:1;border:1px solid var(--border);background:var(--panel-muted);color:var(--ink-faint);border-radius:4px;margin:0;padding:5px 8px;font-size:12px;line-height:1;position:absolute;top:8px;right:10px}.editor-loading-code{min-width:max-content;color:var(--ink-faint);font:14px/22px var(--font-mono);white-space:pre;margin:0;padding:18px 28px 18px 58px}.editor-loading-code li{padding-left:14px}.editor-loading-code li::marker{color:var(--ink-faint);font-variant-numeric:tabular-nums}.editor-loading-code code{color:var(--ink);font:inherit}.tests-tab-content,.results-tab-content{background:var(--panel);height:100%}.tests-scroll{height:100%;padding:8px 0 36px;overflow:auto}.inspector-section,.evaluation-card{border-bottom:1px solid var(--border);background:var(--panel);padding:20px}.inspector-section>header,.evaluation-card>header{color:var(--ink);justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;font-size:12px;font-weight:700;display:flex}.inspector-section>header small,.evaluation-card>header small{color:var(--ink-faint);font-size:12px;font-weight:500}.evaluation-card>header span{align-items:center;gap:6px;display:inline-flex}.instruction-list{counter-reset:instruction;gap:11px;margin:0;padding:0;list-style:none;display:grid}.instruction-list li{counter-increment:instruction;color:var(--ink-soft);grid-template-columns:22px minmax(0,1fr);gap:9px;font-size:12px;line-height:1.55;display:grid}.instruction-list li:before{content:counter(instruction);color:var(--accent);font:650 12px/1.8 var(--font-mono)}.lab-learning-mode{border-left:3px solid var(--accent);background:var(--accent-soft);gap:5px;padding:11px 12px;display:grid}.lab-learning-mode.is-implementation{border-left-color:var(--run);background:color-mix(in srgb, var(--run) 8%, var(--panel))}.lab-learning-mode strong{color:var(--ink);font-size:12px}.lab-learning-mode p,.lab-authority-intro,.lab-authority-list p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.6}.lab-authority-intro{margin-bottom:10px}.lab-authority-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lab-authority-list li{border:1px solid var(--border);background:var(--panel-muted);gap:3px;padding:9px 10px;display:grid}.lab-authority-list a,.lab-authority-list strong{color:var(--accent);font-size:12px;font-weight:700;line-height:1.45}.lab-authority-list span{color:var(--ink-faint);font-size:12px;line-height:1.45}.assertion-list{border-top:1px solid var(--border);display:grid}.assertion{border-bottom:1px solid var(--border);min-height:38px;color:var(--ink-faint);align-items:center;gap:8px;padding:9px 4px;font-size:12px;line-height:1.4;display:flex}.assertion.is-pass{color:var(--run)}.assertion.is-fail{color:var(--red)}.results-layout{background:var(--panel);grid-template-rows:minmax(280px,1fr) auto;height:100%;min-height:0;display:grid;overflow:auto}.console-pane{background:var(--console);grid-template-rows:37px minmax(0,1fr);min-height:280px;display:grid;overflow:hidden}.console-pane>header{color:#b4bab7;border-bottom:1px solid #34383b;justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-size:12px;font-weight:650;display:flex}.console-pane>header>span:first-child{align-items:center;gap:6px;display:inline-flex}.runtime-chip{color:#d89a70;max-width:56%;font:12px/1 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.terminal-host{background:var(--console);min-height:0;padding:10px 12px;overflow:hidden}.terminal-host .xterm{height:100%}.muted-copy{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.65}.score-band{align-items:flex-end;gap:8px;margin-bottom:13px;display:flex}.score-band strong{color:var(--accent);font:680 32px/.9 var(--font-mono)}.score-band span{color:var(--ink-faint);font-size:12px;line-height:1.35}.evaluation-button,.linked-lab-button{border-color:var(--accent);width:100%;color:var(--accent);background:0 0}.evaluation-result{border-top:1px solid var(--border);gap:9px;margin-top:15px;padding-top:15px;display:grid}.evaluation-score{grid-template-columns:1fr auto;align-items:center;display:grid}.evaluation-score span{color:var(--ink-faint);font-size:12px}.evaluation-score strong{color:var(--accent);font:680 30px/1 var(--font-mono);grid-row:span 2}.evaluation-score small{color:var(--ink-faint);font-size:12px}.dimension-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:7px 0;font-size:12px;display:flex}.dimension-row strong{font-family:var(--font-mono)}.evaluation-notes,.citation-list{gap:5px;margin-top:5px;display:grid}.evaluation-notes strong,.citation-list strong{font-size:12px}.evaluation-notes p,.citation-list span{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.5}.no-linked-lab{background:var(--panel);flex-direction:column;justify-content:center;align-items:flex-start;height:100%;padding:clamp(32px,7vw,72px);display:flex}.no-linked-lab h2{letter-spacing:-.015em;margin:0 0 9px;font-size:19px}.no-linked-lab>p{max-width:46ch;color:var(--ink-soft);margin:0 0 20px;font-size:12px;line-height:1.7}.no-linked-lab .run-button{width:auto}.mobile-editor-note{display:none}.compact-reader{min-height:100%}.empty-app{place-items:center;min-height:100vh;display:grid}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@container reader (max-width:480px){.guidance-grid{grid-template-columns:1fr}.guidance-card{padding-right:0}.guidance-card+.guidance-card{border-top:1px solid var(--border);border-left:0;padding-left:0}.evidence-callout{flex-direction:column;align-items:flex-start}.progression-context>nav{grid-template-columns:1fr}.progression-context>nav button:last-child{text-align:left}}@container practice (min-width:760px){.results-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 280px;overflow:hidden}.evaluation-card{border-bottom:0;border-left:1px solid var(--border);min-height:0;overflow:auto}}@media (max-width:1180px){:root{--navigator-width:250px}.topbar{grid-template-columns:var(--navigator-width) minmax(250px, 1fr) 64px}.service-cluster{display:none}.topbar-actions{justify-content:center;padding:0}.practice-header{flex-direction:column;align-items:flex-start;gap:9px}.lab-actions{width:100%}.lab-actions>button{flex:1}}@media (max-width:1000px){.reading-tab-content{padding-inline:22px}.evidence-callout{flex-direction:column;align-items:flex-start}}@media (max-width:900px){.app-shell{height:auto;min-height:100vh;overflow:visible}.topbar{grid-template-columns:1fr auto;position:sticky;top:0}.runtime-rail{display:none}.topbar-actions{min-width:56px}.mobile-editor-note{border-bottom:1px solid var(--border);color:var(--ink-soft);background:var(--panel-muted);gap:3px;padding:10px 14px;font-size:12px;display:grid}.mobile-editor-note strong{color:var(--accent)}.workspace-grid{height:auto;display:block}.navigator{border-right:0;border-bottom:1px solid var(--border);height:42vh;min-height:320px}.workspace-main,.compact-reader,.question-reader,.lab-overview{height:auto;min-height:58vh}.reading-tabs{min-height:520px}.reader-scroll,.lab-overview-scroll{overflow:visible}}@media (max-width:600px){.brand-lockup{gap:6px;padding-inline:13px}.brand-lockup strong{font-size:14px}.brand-lockup>span{font-size:12px}.navigator{height:48vh}.reader-heading{padding:18px 16px 15px}.reader-heading h1{font-size:23px}.workspace-tabs{padding-inline:4px}.workspace-tabs>button{flex:1;padding-inline:8px}.reading-tab-content{padding:24px 16px 48px}.answer-visualization{padding:16px}.answer-visualization-header{flex-direction:column;align-items:stretch;gap:12px}.answer-visualization-count{align-self:flex-start}.answer-visualization>figcaption,.answer-visualization-item p,.answer-visualization-text-equivalent p{font-size:16px}.answer-visualization-item strong{font-size:15px}.answer-visualization-items.has-2-items,.answer-visualization-items.has-3-items,.answer-visualization-notes{grid-template-columns:1fr}.answer-visualization-connector{top:auto;bottom:-24px;right:calc(50% - 9px);transform:rotate(90deg)}.answer-visualization-notes p{font-size:15px}.question-filters{padding:10px}}@media (max-width:420px){.brand-lockup>span{display:none}.filter-select-row{grid-template-columns:1fr 1fr}.language-filter button strong{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
:root{--site-header-height:58px;--workspace-status-height:40px;--content-max:1280px}.site-header{z-index:80;height:var(--site-header-height);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--panel) 96%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:250px minmax(0,1fr) 220px;align-items:stretch;display:grid;position:sticky;top:0}.site-brand{border-right:1px solid var(--border);min-width:0;color:var(--ink);align-items:center;gap:10px;padding:0 18px;text-decoration:none;display:flex}.site-brand-mark{border:1px solid var(--ink);background:var(--ink);width:30px;height:30px;color:var(--panel);font:700 12px/1 var(--font-mono);letter-spacing:-.08em;border-radius:4px;place-items:center;display:grid}.site-brand>span:last-child,.profile-link>span:last-child{gap:2px;min-width:0;display:grid}.site-brand strong{letter-spacing:-.02em;font-size:14px}.site-brand small,.profile-link small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.site-navigation{justify-content:center;align-items:stretch;gap:2px;min-width:0;padding:0 12px;display:flex}.site-navigation a{min-width:84px;color:var(--ink-soft);justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:650;text-decoration:none;display:flex;position:relative}.site-navigation a:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.site-navigation a:hover{color:var(--ink);background:var(--panel-muted)}.site-navigation a.is-active{color:var(--accent)}.site-navigation a.is-active:after{background:var(--accent)}.profile-link{border-left:1px solid var(--border);min-width:0;color:var(--ink);align-items:center;gap:9px;padding:0 16px;text-decoration:none;display:flex}.profile-link:hover,.profile-link.is-active{background:var(--panel-muted)}.profile-avatar{border:1px solid var(--border-strong);width:28px;height:28px;color:var(--accent);background:var(--panel);border-radius:50%;place-items:center;display:grid}.profile-link strong{font-size:12px}.catalogue-state{min-height:calc(100vh - var(--site-header-height));color:var(--ink-soft);text-align:center;place-content:center;justify-items:center;gap:9px;padding:32px;display:grid}.catalogue-state strong{color:var(--ink);font-size:16px}.catalogue-state span{max-width:560px;font-size:12px;line-height:1.6}.catalogue-page,.learning-page{width:min(100%, var(--content-max));min-height:calc(100vh - var(--site-header-height));margin:0 auto;padding:34px 32px 72px}.catalogue-heading,.learning-heading{border-bottom:1px solid var(--border-strong);justify-content:space-between;align-items:flex-end;gap:36px;padding-bottom:26px;display:flex}.catalogue-heading>div:first-child,.learning-heading>div:first-child{max-width:760px}.page-kicker{color:var(--accent);font:650 12px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 9px}.catalogue-heading h1,.learning-heading h1{color:var(--ink);letter-spacing:-.045em;margin:0;font-size:clamp(25px,3vw,38px);font-weight:720;line-height:1.08}.catalogue-heading .catalogue-description,.learning-heading>div:first-child>p:last-child{max-width:720px;color:var(--ink-soft);margin:14px 0 0;font-size:13px;line-height:1.75}.algorithm-library-link{border:1px solid var(--border);width:fit-content;min-height:44px;color:var(--ink);background:var(--panel);border-radius:4px;align-items:center;gap:10px;margin-top:16px;padding:7px 11px;text-decoration:none;display:inline-flex}.algorithm-library-link:hover{border-color:var(--border-strong);background:var(--panel-muted)}.algorithm-library-link>svg:first-child{color:var(--accent)}.algorithm-library-link>svg:last-child{color:var(--ink-faint)}.algorithm-library-link>span{gap:2px;display:grid}.algorithm-library-link strong{font-size:12px}.algorithm-library-link small{color:var(--ink-faint);font-size:12px}.catalogue-ledger{border-top:1px solid var(--border);border-left:1px solid var(--border);background:var(--panel);grid-template-columns:1fr 1fr;display:grid}.catalogue-ledger>span{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:110px;color:var(--ink-faint);align-items:baseline;gap:6px;padding:10px 12px;font-size:12px;display:flex}.catalogue-ledger strong{color:var(--ink);font:700 16px/1 var(--font-mono)}.catalogue-ledger .is-secure{color:var(--run);align-items:center;font-weight:650}.progression-section{border-bottom:1px solid var(--border-strong);background:var(--panel)}.progression-overview{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:28px;min-height:92px;padding:16px 0;display:flex}.progression-overview>div{min-width:0}.progression-kicker{color:var(--accent);font:650 12px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px}.progression-overview h2{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:17px;font-weight:720;line-height:1.35}.progression-overview p:last-child{color:var(--ink-faint);margin:5px 0 0;font-size:12px;line-height:1.55}.progression-overview button{border:1px solid var(--border);min-width:0;min-height:58px;color:var(--ink-soft);background:var(--panel-muted);text-align:left;cursor:pointer;flex:0 0 280px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.progression-overview button:hover{border-color:var(--border-strong);color:var(--ink);background:var(--panel-strong)}.progression-overview button.is-active{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));color:var(--ink);background:var(--accent-soft)}.progression-overview button>span:nth-child(2){gap:3px;min-width:0;display:grid}.progression-overview strong{font-size:13px;font-weight:700}.progression-overview small{color:var(--ink-faint);font-size:12px}.progression-overview em{color:var(--ink-faint);font:normal 12px/1 var(--font-mono);white-space:nowrap}.progression-route-icon{border:1px solid var(--border);width:30px;height:30px;color:var(--ink-faint);background:var(--panel);place-items:center;display:grid}.progression-overview button.is-active .progression-route-icon,.progression-overview button.is-active em{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--accent)}.progression-routes{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.progression-routes button{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;min-height:132px;color:var(--ink-soft);background:var(--panel);text-align:left;cursor:pointer;flex-direction:column;align-items:stretch;gap:9px;padding:18px;display:flex}.progression-routes button:hover{color:var(--ink);background:var(--panel-muted)}.progression-routes button.is-active{color:var(--ink);background:var(--accent-soft);box-shadow:inset 0 3px 0 var(--accent)}.progression-route-heading{justify-content:space-between;align-items:baseline;gap:16px;min-width:0;display:flex}.progression-route-heading strong{color:var(--ink);letter-spacing:-.015em;font-size:16px;font-weight:720;line-height:1.35}.progression-route-heading em{color:var(--ink-faint);font:normal 12px/1 var(--font-mono);white-space:nowrap;flex:none}.progression-routes button>small{color:var(--ink-soft);font-size:13px;line-height:1.55}.progression-route-stages{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:4px;margin-top:auto;font-size:12px;font-weight:620;line-height:1.45;display:flex}.progression-route-stages span{align-items:center;gap:4px;display:inline-flex}.progression-route-stages i{color:var(--border-strong);font-style:normal}.progression-routes button.is-active .progression-route-heading em,.progression-routes button.is-active .progression-route-stages{color:var(--accent)}.catalogue-controls{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:60px;display:flex}.catalogue-search{min-width:min(380px,45vw);color:var(--ink-faint);align-items:center;gap:8px;display:flex}.catalogue-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.catalogue-language-filter{align-items:center;display:flex}.catalogue-language-filter button{border:0;border-left:1px solid var(--border);min-height:30px;color:var(--ink-faint);cursor:pointer;background:0 0;padding:0 10px;font-size:12px}.catalogue-language-filter button:hover,.catalogue-language-filter button.is-active{color:var(--accent);background:var(--accent-soft)}.catalogue-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.catalogue-categories{top:calc(var(--site-header-height) + 20px);border-right:1px solid var(--border);padding:20px 18px 20px 0;display:grid;position:sticky}.catalogue-categories>p{color:var(--ink-faint);font:650 12px/1.4 var(--font-mono);letter-spacing:.08em;margin:0 0 9px}.catalogue-categories button{min-height:40px;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex}.catalogue-categories button small{color:var(--ink-faint);font:12px/1 var(--font-mono)}.catalogue-categories button:hover{background:var(--panel-muted)}.catalogue-categories button.is-active{border-left-color:var(--accent);color:var(--accent);background:var(--accent-soft);font-weight:680}.problem-table{background:var(--panel);min-width:0}.problem-table-header,.problem-row{grid-template-columns:76px minmax(260px,1fr) 190px 70px 82px;align-items:center;display:grid}.problem-table-header{border-bottom:1px solid var(--border);min-height:40px;color:var(--ink-faint);background:var(--panel-muted);font:650 12px/1 var(--font-mono);letter-spacing:.05em;padding:0 16px}.problem-row{border-bottom:1px solid var(--border);min-height:68px;color:var(--ink);padding:0 16px;text-decoration:none;transition:background .1s}.problem-row:hover{background:color-mix(in srgb, var(--accent-soft) 56%, var(--panel))}.problem-status{color:var(--ink-faint);justify-items:start;gap:4px;display:grid}.problem-status small{font-size:12px}.problem-status.is-attempted{color:var(--accent)}.problem-status.is-accepted{color:var(--run)}.problem-title-cell{gap:5px;min-width:0;padding-right:20px;display:grid}.problem-title-cell strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.problem-title-cell small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.problem-languages{flex-wrap:wrap;gap:4px;display:flex}.problem-languages small{border:1px solid var(--border);color:var(--ink-soft);border-radius:3px;padding:3px 5px;font-size:12px}.problem-difficulty{font-size:12px}.problem-difficulty.is-foundation{color:var(--run)}.problem-difficulty.is-intermediate{color:var(--accent)}.problem-difficulty.is-advanced{color:var(--red)}.problem-action{color:var(--ink-faint);justify-content:flex-end;align-items:center;gap:5px;font-size:12px;display:flex}.problem-row:hover .problem-action{color:var(--accent)}.problem-empty,.empty-direction{min-height:120px;color:var(--ink-faint);text-align:center;place-content:center;justify-items:center;gap:7px;padding:24px;font-size:12px;display:grid}.app-shell{height:calc(100vh - var(--site-header-height));position:relative}.workspace-statusbar{z-index:35;height:var(--workspace-status-height);border-bottom:1px solid var(--border);background:var(--panel-muted);grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:12px;padding:0 12px;display:grid;position:relative}.workspace-statusbar .runtime-rail{justify-self:start}.workspace-statusbar .service-cluster{justify-self:center}.workspace-status-actions{justify-self:end;align-items:center;gap:7px;display:flex}.agent-toggle{border:1px solid var(--border);background:var(--panel);min-height:30px;color:var(--ink-soft);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:650;display:inline-flex}.agent-toggle:hover,.agent-toggle.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--accent);background:var(--accent-soft)}.workspace-grid{height:calc(100vh - var(--site-header-height) - var(--workspace-status-height))}.workspace-action-notice{border-bottom:1px solid color-mix(in srgb, var(--run) 34%, var(--border));min-height:38px;color:var(--run);background:var(--run-soft);justify-content:space-between;align-items:center;gap:12px;padding:7px 12px;font-size:12px;line-height:1.45;display:flex}.workspace-action-notice.is-error{border-bottom-color:color-mix(in srgb, var(--red) 38%, var(--border));color:var(--red);background:var(--red-soft)}.workspace-action-notice button{min-height:28px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;flex:none;padding:0 9px;font-size:12px;font-weight:700}.workspace-action-notice button:disabled{cursor:wait;opacity:.58}.attempt-save-status{border-bottom:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));min-height:52px;color:var(--accent);background:var(--accent-soft);justify-content:space-between;align-items:center;gap:12px;padding:7px 12px;display:flex}.attempt-save-status.is-saved{border-bottom-color:color-mix(in srgb, var(--run) 34%, var(--border));color:var(--run);background:var(--run-soft)}.attempt-save-status.is-error{border-bottom-color:color-mix(in srgb, var(--red) 38%, var(--border));color:var(--red);background:var(--red-soft)}.attempt-save-status>span{align-items:center;gap:9px;min-width:0;display:flex}.attempt-save-status>span>svg{flex:none}.attempt-save-status>span>span{gap:2px;min-width:0;display:grid}.attempt-save-status strong,.attempt-save-status small{color:inherit;line-height:1.45;display:block}.attempt-save-status strong{font-size:12px}.attempt-save-status small{overflow-wrap:anywhere;opacity:.84;font-size:12px}.attempt-save-status button{min-height:var(--control-height,40px);color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;flex:none;padding:0 12px;font-size:12px;font-weight:700}.attempt-save-status button:hover{background:color-mix(in srgb, currentColor 9%, transparent)}.attempt-save-status button:focus-visible{outline-offset:2px;outline:2px solid}.answer-reveal-record{border:1px solid color-mix(in srgb, var(--run) 32%, var(--border));color:var(--run);background:var(--run-soft);align-items:center;gap:7px;margin:0 0 12px;padding:9px 11px;font-size:12px;line-height:1.55;display:flex}.answer-reveal-record svg{flex:none}.answer-gate{border:1px solid var(--border);background:repeating-linear-gradient(-45deg, transparent, transparent 10px, color-mix(in srgb, var(--panel-strong) 45%, transparent) 10px, color-mix(in srgb, var(--panel-strong) 45%, transparent) 11px), var(--panel-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100%,560px);min-height:350px;margin:28px auto;padding:42px;display:flex}.answer-gate>span{border:1px solid var(--border-strong);width:50px;height:50px;color:var(--accent);background:var(--panel);border-radius:50%;place-items:center;margin-bottom:16px;display:grid}.answer-gate h2{letter-spacing:-.025em;margin:0;font-size:20px}.answer-gate>p:not(.page-kicker){max-width:430px;color:var(--ink-soft);margin:12px 0 20px;font-size:12px;line-height:1.7}.answer-gate button,.followup-reveal-button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:4px;min-height:34px;font-size:12px;font-weight:680}.answer-gate button{padding:0 16px}.answer-gate small{color:var(--red);margin-top:12px;font-size:12px}.followup-reveal-button{color:var(--accent);background:var(--accent-soft);align-items:center;gap:6px;margin-top:8px;padding:0 11px;display:inline-flex}.answer-sources ul{gap:8px;padding:0;list-style:none;display:grid}.answer-sources li{border-left:2px solid var(--border-strong);background:var(--panel-muted);gap:4px;padding:10px 12px;display:grid}.answer-source-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.answer-source-heading em{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));color:var(--accent);background:var(--accent-soft);border-radius:3px;flex:none;padding:2px 5px;font-size:12px;font-style:normal;font-weight:700}.answer-sources a,.answer-sources strong{color:var(--accent);font-size:12px}.answer-sources .answer-source-meta{color:var(--ink-faint);font-size:12px;line-height:1.5}.answer-sources li>p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.6}.page-agent{z-index:70;top:calc(var(--site-header-height) + var(--workspace-status-height) + 8px);border:1px solid var(--border-strong);background:var(--panel);border-radius:6px;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;width:min(410px,100vw - 16px);display:grid;position:fixed;bottom:8px;right:8px;overflow:hidden;box-shadow:0 18px 55px #00000029}.page-agent>header{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:0 12px;display:grid}.agent-heading-mark{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));width:32px;height:32px;color:var(--accent);background:var(--accent-soft);border-radius:4px;place-items:center;display:grid}.page-agent>header>div:nth-child(2){gap:3px;min-width:0;display:grid}.page-agent>header strong{font-size:12px}.page-agent>header span{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.page-agent>header button{width:30px;height:30px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.agent-context-strip{border-bottom:1px solid var(--border);min-height:35px;color:var(--run);background:var(--run-soft);justify-content:space-between;align-items:center;gap:8px;padding:0 11px;font-size:12px;font-weight:650;display:flex}.agent-context-strip span{align-items:center;gap:4px;display:inline-flex}.agent-context-strip span:last-child{color:var(--accent)}.agent-context-strip span.is-revealed{color:var(--red)}.agent-messages{flex-direction:column;gap:12px;min-height:0;padding:14px;display:flex;overflow-y:auto}.agent-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:260px;display:flex}.agent-empty>svg{color:var(--accent);margin-bottom:12px}.agent-empty strong{font-size:13px}.agent-empty p{max-width:310px;color:var(--ink-soft);margin:9px 0 0;font-size:12px;line-height:1.7}.agent-message{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;display:grid}.agent-message>span{border:1px solid var(--border);width:24px;height:24px;color:var(--ink-faint);background:var(--panel-muted);border-radius:50%;place-items:center;font-size:12px;display:grid}.agent-message.is-assistant>span{color:var(--accent);background:var(--accent-soft)}.agent-message>div{border:1px solid var(--border);background:var(--panel-muted);min-width:0;color:var(--ink-soft);border-radius:4px;padding:9px 10px;font-size:12px;line-height:1.65}.agent-message.is-user>div{background:var(--panel)}.agent-message p{margin:0 0 7px}.agent-message p:last-child{margin-bottom:0}.agent-message pre{background:var(--console);color:var(--console-ink);padding:8px;overflow-x:auto}.agent-message small{color:var(--ink-faint);font:12px/1.4 var(--font-mono);margin-top:7px;display:block}.agent-thinking{color:var(--ink-faint);align-items:center;gap:4px;font-size:12px;display:flex}.agent-thinking span{background:var(--accent);border-radius:50%;width:4px;height:4px;animation:.9s ease-in-out infinite alternate agent-pulse}.agent-thinking span:nth-child(2){animation-delay:.15s}.agent-thinking span:nth-child(3){animation-delay:.3s}@keyframes agent-pulse{to{opacity:.25;transform:translateY(-2px)}}.agent-actions{border-top:1px solid var(--border);gap:6px;padding:8px 10px;display:flex;overflow-x:auto}.agent-actions button{border:1px solid var(--border);background:var(--panel);min-height:28px;color:var(--ink-soft);cursor:pointer;border-radius:4px;flex:none;padding:0 9px;font-size:12px}.agent-actions button:hover{border-color:var(--accent);color:var(--accent)}.agent-notice{border-top:1px solid var(--border);color:var(--run);background:var(--run-soft);align-items:center;gap:6px;margin:0;padding:8px 10px;font-size:12px;display:flex}.agent-composer{border-top:1px solid var(--border);background:var(--panel-muted)}.agent-composer textarea{resize:none;width:100%;min-height:70px;color:var(--ink);font:12px/1.6 var(--font-ui);background:0 0;border:0;outline:0;padding:10px 11px}.agent-composer footer{justify-content:space-between;align-items:center;padding:7px 9px;display:flex}.agent-composer button{cursor:pointer;border-radius:4px;align-items:center;gap:5px;min-height:29px;font-size:12px;font-weight:650;display:inline-flex}.agent-wrong-book{color:var(--ink-faint);background:0 0;border:0}.agent-send{border:1px solid var(--accent);background:var(--accent);color:#fff;padding:0 12px}.learning-heading-aside{flex:none}.text-action,.outline-action{border:1px solid var(--border);background:var(--panel);min-height:34px;color:var(--ink-soft);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex}.text-action:hover,.outline-action:hover{border-color:var(--accent);color:var(--accent)}.progress-ledger{border-top:1px solid var(--border);border-left:1px solid var(--border);background:var(--panel);grid-template-columns:minmax(300px,1.7fr) repeat(4,minmax(120px,.7fr));margin-top:24px;display:grid}.progress-ledger>div{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:120px}.progress-primary{align-items:center;gap:18px;padding:18px;display:flex}.progress-ring{--progress:0deg;background:conic-gradient(var(--accent) var(--progress), var(--panel-strong) 0);text-align:center;border-radius:50%;flex:none;place-content:center;width:78px;height:78px;display:grid;position:relative}.progress-ring:before{content:"";background:var(--panel);border-radius:50%;position:absolute;inset:7px}.progress-ring strong,.progress-ring small{z-index:1;position:relative}.progress-ring strong{font:700 16px/1 var(--font-mono)}.progress-ring small{color:var(--ink-faint);margin-top:4px;font-size:12px}.progress-primary>div{gap:4px;display:grid}.progress-primary>div strong{font:720 22px/1 var(--font-mono)}.progress-primary>div span{color:var(--ink-soft);font-size:12px}.progress-primary>div p{color:var(--ink-faint);margin:4px 0 0;font-size:12px;line-height:1.55}.ledger-metric{color:var(--ink-faint);place-content:center;justify-items:center;gap:6px;display:grid}.ledger-metric svg{color:var(--accent)}.ledger-metric strong{color:var(--ink);font:700 20px/1 var(--font-mono)}.ledger-metric span{font-size:12px}.ledger-metric.is-due svg,.ledger-metric.is-due strong{color:var(--red)}.learning-columns{grid-template-columns:1.35fr .65fr;gap:16px;margin-top:16px;display:grid}.learning-section{border:1px solid var(--border);background:var(--panel)}.learning-section>header,.import-preview>header{border-bottom:1px solid var(--border);background:var(--panel-muted);justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:0 14px;display:flex}.learning-section>header>div,.import-preview>header>div{align-items:center;gap:7px;display:flex}.learning-section>header strong,.import-preview>header strong{font-size:12px}.learning-section>header small{color:var(--ink-faint);font-size:12px}.mastery-rows{padding:4px 14px 10px}.mastery-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(120px,1fr) minmax(100px,1fr) 44px;align-items:center;gap:12px;min-height:52px;display:grid}.mastery-row:last-child{border-bottom:0}.mastery-row>div:first-child{gap:3px;min-width:0;display:grid}.mastery-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mastery-row span{color:var(--ink-faint);font-size:12px}.mastery-track{background:var(--panel-strong);height:4px;overflow:hidden}.mastery-track span{background:var(--run);height:100%;display:block}.mastery-row b{color:var(--ink-soft);font:650 12px/1 var(--font-mono);text-align:right}.evidence-timeline-section{margin-top:16px}.evidence-timeline{padding:8px 18px 16px}.evidence-timeline article{border-bottom:1px solid var(--border);grid-template-columns:16px 150px minmax(0,1fr) 70px;align-items:center;gap:12px;min-height:62px;display:grid;position:relative}.evidence-timeline article:before{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:7px}.timeline-verdict{z-index:1;border:2px solid var(--panel);background:var(--ink-faint);width:9px;height:9px;box-shadow:0 0 0 1px var(--border-strong);border-radius:50%;position:relative}.timeline-verdict.is-accepted{background:var(--run)}.timeline-verdict.is-failed{background:var(--red)}.timeline-verdict.is-unavailable{background:var(--ink-faint)}.evidence-timeline time{color:var(--ink-faint);font:12px/1.4 var(--font-mono)}.evidence-timeline article>div{gap:4px;min-width:0;display:grid}.evidence-timeline article strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.evidence-timeline article p{color:var(--ink-faint);margin:0;font-size:12px}.evidence-origin{border:1px solid color-mix(in srgb, var(--run) 36%, var(--border));color:var(--run);justify-self:end;padding:4px 6px;font-size:12px}.evidence-origin.is-assisted{border-color:color-mix(in srgb, var(--accent) 36%, var(--border));color:var(--accent)}.count-stamp{min-width:90px;color:var(--ink-faint);justify-items:center;gap:4px;font-size:12px;display:grid}.count-stamp strong{color:var(--red);font:720 26px/1 var(--font-mono)}.wrong-book-list{border-top:1px solid var(--border);margin-top:22px}.wrong-entry{border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:var(--panel);grid-template-columns:110px minmax(0,1fr);display:grid}.wrong-entry.is-mastered{opacity:.68}.wrong-entry-index{border-right:1px solid var(--border);color:var(--red);background:var(--red-soft);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.wrong-entry.is-mastered .wrong-entry-index{color:var(--run);background:var(--run-soft)}.wrong-entry-index small{font-size:12px}.wrong-entry-body{padding:16px 18px}.wrong-entry-body>header{justify-content:space-between;gap:16px;display:flex}.wrong-entry-body>header>div{gap:5px;display:grid}.wrong-entry-body strong{font-size:12px}.wrong-entry-body header span,.wrong-entry-body time{color:var(--ink-faint);font-size:12px}.wrong-entry-body>p{color:var(--ink-soft);margin:12px 0;font-size:12px;line-height:1.65}.wrong-entry-body blockquote{border-left:2px solid var(--accent);background:var(--accent-soft);color:var(--ink-soft);margin:10px 0;padding:8px 10px;font-size:12px}.wrong-entry-body footer{align-items:center;gap:8px;display:flex}.wrong-entry-body footer a,.wrong-entry-body footer button{border:1px solid var(--border);background:var(--panel);min-height:30px;color:var(--ink-soft);cursor:pointer;border-radius:4px;align-items:center;gap:5px;padding:0 9px;font-size:12px;text-decoration:none;display:inline-flex}.wrong-entry-body footer button{border-color:var(--run);color:var(--run)}.submission-table{border:1px solid var(--border);background:var(--panel);margin-top:22px}.submission-table>header,.submission-table>a{grid-template-columns:170px minmax(220px,1fr) 110px 100px 70px 70px;align-items:center;gap:12px;padding:0 14px;display:grid}.submission-table>header{border-bottom:1px solid var(--border);background:var(--panel-muted);min-height:40px;color:var(--ink-faint);font:650 12px/1 var(--font-mono)}.submission-table>a{border-bottom:1px solid var(--border);min-height:54px;color:var(--ink-soft);font-size:12px;text-decoration:none}.submission-table>a:hover{background:var(--accent-soft)}.submission-table time{color:var(--ink-faint);font:12px/1.4 var(--font-mono)}.submission-table strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.submission-verdict.is-accepted{color:var(--run)}.submission-verdict.is-failed{color:var(--red)}.submission-verdict.is-unavailable{color:var(--ink-faint)}.analysis-report{border:1px solid var(--border-strong);background:var(--panel);grid-template-columns:220px minmax(0,1fr);margin-top:22px;display:grid}.analysis-report>aside{border-right:1px solid var(--border);background:var(--panel-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:30px;display:flex}.analysis-seal{border:1px solid var(--accent);width:54px;height:54px;color:var(--accent);background:var(--accent-soft);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.analysis-report aside strong{font-size:12px}.analysis-report aside small{color:var(--ink-faint);font:12px/1.4 var(--font-mono)}.analysis-safe{color:var(--run);align-items:center;gap:4px;margin-top:8px;font-size:12px;display:inline-flex}.analysis-report>article{padding:28px 32px}.analysis-report>article>p{color:var(--ink);margin:0;font-size:15px;line-height:1.85}.analysis-report h2{margin:24px 0 10px;font-size:12px}.analysis-report ol{color:var(--ink-soft);gap:9px;margin:0;padding-left:22px;font-size:12px;line-height:1.6;display:grid}.fact-ledger{margin-top:16px}.fact-ledger dl{margin:0}.fact-ledger dl>div{border-bottom:1px solid var(--border);grid-template-columns:220px minmax(0,1fr);align-items:center;min-height:44px;display:grid}.fact-ledger dt,.fact-ledger dd{margin:0;padding:9px 14px;font-size:12px}.fact-ledger dt{color:var(--ink-faint);font-family:var(--font-mono)}.fact-ledger dd{overflow-wrap:anywhere;border-left:1px solid var(--border);color:var(--ink-soft)}.import-workbench{grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:16px;margin-top:22px;display:grid}.import-dropzone{border:1px dashed var(--border-strong);background:var(--panel);min-height:210px;color:var(--ink-faint);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:28px;display:flex}.import-dropzone:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.import-dropzone strong{color:var(--ink);font-size:12px}.import-dropzone span{max-width:480px;font-size:12px;line-height:1.6}.import-dropzone input{clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.import-rules{border:1px solid var(--border);background:var(--panel-muted);padding:22px}.import-rules h2{margin:0 0 14px;font-size:12px}.import-rules ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.import-rules li{color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;display:flex}.import-rules svg{color:var(--run)}.import-message{border-left:2px solid var(--accent);background:var(--accent-soft);color:var(--accent);margin:12px 0 0;padding:10px 12px;font-size:12px}.import-preview{border:1px solid var(--border-strong);background:var(--panel);margin-top:16px}.import-preview>header>span{border:1px solid var(--run);color:var(--run);padding:4px 7px;font-size:12px}.import-preview>header>span.is-blocked{border-color:var(--red);color:var(--red)}.import-plan{border-bottom:1px solid var(--border);grid-template-columns:1.4fr repeat(4,1fr);display:grid}.import-plan>span{border-right:1px solid var(--border);gap:6px;min-width:0;padding:14px;display:grid}.import-plan small{color:var(--ink-faint);font-size:12px}.import-plan strong{font:650 12px/1.2 var(--font-mono);text-overflow:ellipsis;overflow:hidden}.import-issues{gap:0;margin:0;padding:0;list-style:none;display:grid}.import-issues li{border-bottom:1px solid var(--border);min-height:38px;color:var(--ink-soft);align-items:center;gap:9px;padding:8px 14px;font-size:12px;display:flex}.import-issues li span{min-width:50px;font:650 12px/1 var(--font-mono);text-transform:uppercase}.import-issues li.is-error span{color:var(--red)}.import-issues li.is-warning span{color:var(--accent)}.import-issues li.is-info span{color:var(--run)}.import-preview>footer{background:var(--panel-muted);justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.import-preview>footer button{border:1px solid var(--border);background:var(--panel);min-height:32px;color:var(--ink-soft);cursor:pointer;border-radius:4px;padding:0 12px;font-size:12px}.import-preview>footer .primary-commit{border-color:var(--run);background:var(--run);color:#fff}.import-preview>footer .secondary-commit{border-color:var(--accent);color:var(--accent)}.import-history{margin-top:16px}.import-history article{border-bottom:1px solid var(--border);min-height:42px;color:var(--ink-soft);grid-template-columns:170px minmax(160px,1fr) 170px 180px 90px;align-items:center;gap:12px;padding:0 14px;font-size:12px;display:grid}.import-history time{color:var(--ink-faint);font:12px/1.4 var(--font-mono)}.import-history b{color:var(--accent);font:650 12px/1 var(--font-mono)}.profile-sheet{border:1px solid var(--border-strong);background:var(--panel);grid-template-columns:260px minmax(0,1fr);margin-top:22px;display:grid}.profile-sheet>aside{border-right:1px solid var(--border);background:var(--panel-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:360px;display:flex}.profile-sheet>aside>span{border:1px solid var(--border-strong);width:72px;height:72px;color:var(--accent);background:var(--panel);border-radius:50%;place-items:center;margin-bottom:8px;font-size:22px;font-weight:720;display:grid}.profile-sheet aside strong{font-size:13px}.profile-sheet aside small{color:var(--ink-faint);font:12px/1.4 var(--font-mono)}.profile-sheet>article{padding:24px 30px}.profile-sheet dl{margin:0}.profile-sheet dl>div{border-bottom:1px solid var(--border);grid-template-columns:130px 1fr;align-items:center;min-height:48px;display:grid}.profile-sheet dt,.profile-sheet dd{margin:0;font-size:12px}.profile-sheet dt{color:var(--ink-faint)}.profile-sheet dd{color:var(--ink-soft)}.profile-sheet nav{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:1fr 1fr;margin-top:24px;display:grid}.profile-sheet nav a{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:58px;color:var(--ink-soft);align-items:center;gap:8px;padding:0 14px;font-size:12px;text-decoration:none;display:flex}.profile-sheet nav a svg:last-child{margin-left:auto}.profile-sheet nav a:hover{color:var(--accent);background:var(--accent-soft)}@media (max-width:1100px){.site-header{grid-template-columns:190px minmax(0,1fr) 54px}.profile-link{justify-content:center;padding:0}.profile-link>span:last-child{display:none}.site-navigation a{min-width:68px;padding:0 7px}.progress-ledger{grid-template-columns:1.5fr repeat(2,1fr)}.progression-routes{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-table-header,.problem-row{grid-template-columns:70px minmax(240px,1fr) 120px 65px}.problem-table-header span:nth-child(3),.problem-row>span:nth-child(3){display:none}.learning-columns{grid-template-columns:1fr}}@media (max-width:820px){:root{--site-header-height:104px}.site-header{height:var(--site-header-height);grid-template-rows:52px 52px;grid-template-columns:1fr 52px}.site-brand{border-bottom:1px solid var(--border)}.profile-link{border-bottom:1px solid var(--border);grid-area:1/2}.site-navigation{grid-area:2/1/auto/-1;justify-content:flex-start;padding:0 6px;overflow-x:auto}.site-navigation a{min-width:82px}.catalogue-page,.learning-page{padding:24px 16px 56px}.catalogue-heading,.learning-heading{flex-direction:column;align-items:flex-start;gap:18px}.catalogue-ledger{width:100%}.progression-overview{flex-direction:column;align-items:stretch;gap:14px}.progression-overview button{flex-basis:auto;width:100%}.catalogue-controls{flex-direction:column;align-items:stretch;padding:12px 0}.catalogue-search{min-width:0}.catalogue-language-filter{overflow-x:auto}.catalogue-language-filter button{border:1px solid var(--border);flex:none}.catalogue-layout{grid-template-columns:1fr}.catalogue-categories{border-right:0;border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;padding:10px 0;position:static}.catalogue-categories>p{grid-column:1/-1}.problem-table-header,.problem-row{grid-template-columns:54px minmax(180px,1fr) 60px}.problem-table-header span:nth-child(3),.problem-table-header span:nth-child(4),.problem-row>span:nth-child(3),.problem-row>span:nth-child(4){display:none}.workspace-statusbar{grid-template-columns:minmax(0,1fr) auto}.workspace-statusbar .service-cluster{display:none}.workspace-status-actions{grid-column:2}.progress-ledger,.learning-columns,.analysis-report,.import-workbench,.profile-sheet{grid-template-columns:1fr}.progress-primary{grid-column:1/-1}.evidence-timeline article{grid-template-columns:16px minmax(0,1fr) 60px}.evidence-timeline time{display:none}.wrong-entry{grid-template-columns:54px minmax(0,1fr)}.wrong-entry-index small{display:none}.submission-table{overflow-x:auto}.submission-table>header,.submission-table>a{min-width:760px}.analysis-report>aside,.profile-sheet>aside{border-right:0;border-bottom:1px solid var(--border);min-height:180px}.import-plan{grid-template-columns:1fr 1fr}.import-history{overflow-x:auto}.import-history article{min-width:820px}}@media (max-width:600px){.progression-routes{grid-template-columns:1fr}.progression-routes button{min-height:122px;padding:16px}.progression-route-heading{gap:10px}.progression-route-heading strong{font-size:15px}}@media (prefers-reduced-motion:reduce){.agent-thinking span{animation:none}.problem-row,.site-navigation a{transition:none}}
