:root{--background:#f7f5ef;--foreground:#171717;--panel:#fff;--panel-soft:#f0eee7;--line:#d8d2c5;--muted:#605b52;--accent:#0f766e;--accent-2:#9a3412;--ink:#111827;--code-bg:#161616;--card-shadow:0 12px 30px #1118270f;--card-shadow-strong:0 16px 36px #0f766e1f;--sidebar-width:280px;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);margin:0}a{color:inherit;text-decoration:none}button,textarea{font:inherit}.page-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fbfaf6;height:100vh;padding:28px 22px;position:sticky;top:0;overflow-y:auto}.brand{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:14px;display:grid}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:44px;min-height:44px;display:inline-flex;box-shadow:0 10px 22px #0f766e33}.brand-copy{gap:4px;min-width:0;display:grid}.brand strong{font-size:18px;line-height:1.2}.brand-copy span,.sidebar-meta span,.sidebar-label,.meta,.muted{color:var(--muted)}.sidebar-meta{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;margin-bottom:20px;padding:10px;display:grid}.sidebar-meta span{text-transform:uppercase;font-size:11px;font-weight:800}.sidebar-meta strong{color:var(--accent);font-family:var(--font-mono);font-size:14px}.nav-list{gap:8px;display:grid}.nav-list .sidebar-label{text-transform:uppercase;margin:14px 0 2px;font-size:11px;font-weight:800}.nav-list .sidebar-label:first-child{margin-top:0}.nav-link{min-height:40px;color:var(--ink);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;line-height:1.25;display:flex}.nav-link:hover,.nav-link:focus-visible,.sidebar-meta:hover,.sidebar-meta:focus-visible{background:var(--panel-soft)}.nav-link:focus-visible,.sidebar-meta:focus-visible,.button:focus-visible,.study-path-card:focus-visible,.batch-card:focus-visible,.route-step:focus-visible,.current-batch-list a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 34%, transparent);outline-offset:2px}.start-panel,.topic-guide{border:1px solid var(--line);box-shadow:var(--card-shadow);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:28px;padding:20px;display:grid;position:relative;overflow:hidden}.start-panel:before,.topic-guide:before,.continue-panel:before,.learning-route:before,.current-batch-preview:before,.reader-progress-overview:before{content:"";background:color-mix(in srgb, var(--accent) 64%, #fff);height:4px;position:absolute;inset:0 0 auto}.start-copy h2,.topic-guide h2{margin:6px 0 8px;font-size:26px}.start-copy p{color:var(--muted);margin:0}.start-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.study-path-grid,.batch-grid{grid-template-columns:repeat(auto-fit,minmax(min(245px,100%),1fr));gap:14px;display:grid}.study-path-card,.batch-card{border:1px solid var(--line);min-height:196px;box-shadow:var(--card-shadow);background:#fff;border-radius:8px;align-content:start;gap:12px;padding:18px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative;overflow:hidden}.study-path-card:before,.batch-card:before,.topic-card:before,.question-link:before{content:"";background:0 0;width:4px;position:absolute;inset:0 auto 0 0}.study-path-card.highlighted,.batch-card:hover,.study-path-card:hover{border-color:var(--accent);box-shadow:var(--card-shadow-strong);transform:translateY(-2px)}.study-path-card:hover:before,.study-path-card.highlighted:before,.batch-card:hover:before{background:var(--accent)}.study-path-card.highlighted{background:linear-gradient(#fff 0%,#f4fbf8 100%)}.card-topline{min-width:0;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.card-topline>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.study-path-card h3,.batch-card h3{margin:0;line-height:1.25}.study-path-card p,.batch-card p{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;line-height:1.65;display:-webkit-box;overflow:hidden}.batch-card .meta{border-top:1px solid var(--line);-webkit-line-clamp:3;-webkit-box-orient:vertical;align-self:end;padding-top:10px;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.batch-card:hover .meta,.batch-card:focus-visible .meta{color:var(--ink)}.content{width:min(1180px,100%);margin:0 auto;padding:34px}.hero{gap:20px;padding:44px 0 30px;display:grid}.eyebrow{color:var(--accent-2);text-transform:uppercase;letter-spacing:0;font-size:13px;font-weight:700}h1,h2,h3{letter-spacing:0}h1{max-width:920px;margin:0;font-size:clamp(38px,5.4vw,72px);line-height:.95}h2{margin:42px 0 14px;font-size:30px}h3{margin:28px 0 10px;font-size:21px}p{line-height:1.75}.hero p{color:#3f3a34;max-width:820px;font-size:18px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.topic-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;position:relative}.topic-card{min-height:170px;box-shadow:var(--card-shadow);align-content:start;gap:12px;padding:18px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;overflow:hidden}.topic-card:hover{border-color:var(--accent);box-shadow:var(--card-shadow-strong);transform:translateY(-2px)}.topic-card:hover:before{background:var(--accent)}.topic-card header{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.topic-card h3{margin:0;font-size:19px}.badge{border:1px solid color-mix(in srgb, var(--accent) 26%, var(--line));width:fit-content;max-width:100%;color:var(--accent);text-align:center;overflow-wrap:anywhere;background:#f4fbf8;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:12px;font-weight:800;line-height:1.25;display:inline-flex}.study-path-card>.badge,.batch-card>.badge{justify-self:start;min-height:28px}.topic-card header .badge{justify-self:end;max-width:min(220px,100%)}.topic-card p{color:var(--muted);margin:0}.question-list{gap:10px;margin-top:14px;display:grid}.question-link{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 20px #1118270a}.question-link:hover{border-color:var(--accent);box-shadow:var(--card-shadow);transform:translateY(-1px)}.question-link:hover:before,.question-link.is-complete:before{background:var(--accent)}.question-link.progress-aware{grid-template-columns:auto minmax(0,1fr) auto}.question-link.is-complete{border-color:color-mix(in srgb, var(--accent) 50%, var(--line));background:#f4fbf8}.question-progress-status{color:var(--muted);white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;font-size:13px;display:inline-flex}.question-link.is-complete .question-progress-status{color:var(--accent);font-weight:700}.question-id{background:var(--panel-soft);width:52px;min-height:34px;color:var(--accent-2);font-family:var(--font-mono);border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.question-copy{gap:4px;min-width:0;display:grid}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 28px;display:grid}.stat-card{border:1px solid var(--line);min-height:96px;box-shadow:var(--card-shadow);background:#fff;border-radius:8px;gap:6px;padding:16px;display:grid;position:relative;overflow:hidden}.stat-card:before{content:"";background:color-mix(in srgb, var(--accent) 72%, #fff);height:4px;position:absolute;inset:0 0 auto}.stat-card span,.reader-nav-link small{color:var(--muted);font-size:12px}.stat-card strong{align-self:end;font-size:22px;line-height:1.15}.continue-panel{border:1px solid var(--line);box-shadow:var(--card-shadow);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 28px;padding:18px;display:flex;position:relative;overflow:hidden}.continue-panel h2{margin:6px 0 8px;font-size:24px}.continue-panel p{margin:0}.cluster-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:28px;display:grid}.cluster-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;min-height:132px;padding:16px;display:grid}.cluster-card p{color:var(--muted);margin:0;line-height:1.65}.focus-strip{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(210px,.35fr) minmax(0,1fr);gap:18px;margin-bottom:28px;padding:18px;display:grid}.focus-strip h2{margin:6px 0 0;font-size:24px}.focus-strip ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.focus-strip li{border:1px solid var(--line);min-height:38px;color:var(--muted);background:#fbfaf6;border-radius:8px;padding:9px 12px}.learning-route{border:1px solid var(--line);box-shadow:var(--card-shadow);background:#fff;border-radius:8px;grid-template-columns:minmax(240px,.34fr) minmax(0,1fr);align-items:start;gap:18px;margin:0 0 28px;padding:18px;display:grid;position:relative;overflow:hidden}.route-intro h2{margin:6px 0 8px;font-size:24px}.route-intro p{margin:0}.route-steps{gap:10px;display:grid}.route-step{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:12px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative;box-shadow:0 8px 20px #1118270a}.route-step:hover,.route-step.is-current{border-color:var(--accent);box-shadow:var(--card-shadow)}.route-step.is-current{background:#f1fbf7}.route-step-index{background:var(--panel-soft);width:42px;min-height:42px;color:var(--accent-2);font-family:var(--font-mono);border-radius:8px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.route-step-copy{gap:4px;min-width:0;display:grid}.route-step-copy strong{line-height:1.3}.route-step-copy span,.route-step-status{color:var(--muted);font-size:13px}.route-step-status{white-space:nowrap;justify-self:end}.route-step.is-current .route-step-status{color:var(--accent);font-weight:800}.current-batch-preview{border:1px solid var(--line);box-shadow:var(--card-shadow);background:#fff;border-radius:8px;grid-template-columns:minmax(220px,.32fr) minmax(0,1fr) auto;align-items:center;gap:18px;margin:0 0 28px;padding:18px;display:grid;position:relative;overflow:hidden}.current-batch-preview h2{margin:6px 0 8px;font-size:24px}.current-batch-preview p{margin:0}.current-batch-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.current-batch-list a{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:10px;transition:border-color .16s,box-shadow .16s;display:grid;position:relative;box-shadow:0 8px 20px #1118270a}.current-batch-list a:hover{border-color:var(--accent);box-shadow:var(--card-shadow)}.current-batch-list span{color:var(--accent-2);font-family:var(--font-mono);font-size:13px;font-weight:800}.current-batch-list strong{min-width:0;line-height:1.3}.prep-checkpoints{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px;display:grid}.prep-checkpoints div{border:1px solid var(--line);min-height:132px;box-shadow:var(--card-shadow);background:#fff;border-radius:8px;gap:8px;padding:16px;display:grid}.prep-checkpoints strong{font-size:22px;line-height:1.2}.prep-checkpoints p{color:var(--muted);margin:0;line-height:1.6}.reader-progress-overview{border:1px solid var(--line);box-shadow:var(--card-shadow);background:#fff;border-radius:8px;grid-template-columns:minmax(260px,1fr) minmax(320px,.9fr) auto;align-items:center;gap:18px;margin-bottom:28px;padding:20px;display:grid;position:relative;overflow:hidden}.reader-progress-overview h2{margin:6px 0 8px;font-size:28px}.reader-progress-overview p{color:var(--muted);margin:0}.reader-progress-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.reader-progress-stats div{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;gap:6px;min-height:82px;padding:12px;display:grid}.reader-progress-stats span{color:var(--muted);font-size:12px}.reader-progress-stats strong{align-self:end;font-size:20px}.reader-progress-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.reading-progress-card{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;gap:16px;margin:0 0 28px;padding:16px;display:grid}.reading-progress-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.reading-progress-header div{gap:6px;display:grid}.reading-progress-header strong{font-size:18px}.reading-progress-header svg{color:var(--accent);flex:none}.reading-progress-bars{grid-template-columns:1fr 1fr;gap:12px;display:grid}.reading-progress-bars>div{gap:8px;min-width:0;display:grid}.reading-progress-bars span{color:var(--muted);font-size:12px}.reading-progress-bars strong{font-family:var(--font-mono);font-size:13px}.progress-meter{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.progress-meter span{border-radius:inherit;background:var(--accent);height:100%;display:block}.latest-strip{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);align-items:start;gap:18px;margin-bottom:28px;padding:18px;display:grid}.latest-strip h2{margin:6px 0 0;font-size:24px}.latest-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.latest-list a{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;gap:8px;min-height:96px;padding:12px;display:grid}.latest-list a:hover{border-color:var(--accent)}.latest-list span{color:var(--accent-2);font-family:var(--font-mono);font-size:13px;font-weight:700}.latest-list strong{line-height:1.35}.cheat-hero{padding-bottom:18px}.cheat-toolbar{z-index:2;background:var(--background);flex-wrap:wrap;gap:8px;margin-bottom:18px;padding:10px 0;display:flex;position:sticky;top:0}.cheat-toolbar a{border:1px solid var(--line);min-width:44px;min-height:34px;color:var(--accent-2);font-family:var(--font-mono);background:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.cheat-toolbar a:hover{border-color:var(--accent)}.cheat-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px;display:grid}.cheat-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:14px;padding:16px;display:grid}.cheat-card header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.cheat-card h2{margin:0;font-size:20px}.cheat-card header p,.cheat-section p{color:var(--muted);margin:4px 0 0;line-height:1.6}.cheat-section{border-top:1px solid var(--line);padding-top:12px}.cheat-section strong{font-size:13px}.cheat-section.warning strong{color:var(--accent-2)}.cheat-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.cheat-footer span{color:var(--muted);font-size:13px}.cheat-footer a{color:var(--accent);font-weight:700}.docs-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.doc-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;min-height:190px;padding:18px;display:grid}.doc-card h2{margin:0;font-size:22px}.doc-card p{color:var(--muted);margin:0}.doc-card-action{color:var(--accent);align-self:end;font-weight:700}.doc-card:hover{border-color:var(--accent)}.docs-reader{max-width:860px}.reader{max-width:900px;margin:0 auto}.reader article{border:1px solid var(--line);background:#fff;border-radius:8px;padding:34px}.reader-meta{flex-wrap:wrap;gap:8px;margin:18px 0 28px;display:flex}.reader-meta span{border:1px solid var(--line);color:var(--muted);background:#fbfaf6;border-radius:999px;padding:6px 10px;font-size:13px}.reader-nav{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:14px;margin-top:42px;padding-top:22px;display:grid}.reader-nav-link{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;align-items:center;gap:12px;min-height:74px;padding:14px;display:flex}.reader-nav-link.next{text-align:right;justify-content:flex-end}.reader-nav-link span{gap:4px;line-height:1.35;display:grid}.reader-nav-link:hover{border-color:var(--accent)}.reader p,.reader li{color:#2b2925;font-size:17px;line-height:1.8}.reader pre,.console,.editor{font-family:var(--font-mono);background:var(--code-bg);color:#f4f4f0;border-radius:8px}.reader pre{padding:18px;overflow-x:auto}.reader code{font-family:var(--font-mono)}.reader :not(pre)>code{background:#efede6;border-radius:5px;padding:2px 5px}.reader blockquote{border-left:4px solid var(--accent);color:#3c3832;margin:24px 0;padding:4px 0 4px 18px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;margin:22px 0}th,td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}th{background:var(--panel-soft)}@media print{.sidebar{display:none}.page-shell{display:block}.content{padding:0}.reader article{border:0;padding:0}}.mermaid-placeholder{white-space:pre-wrap;border:1px solid var(--line);font-family:var(--font-mono);background:#f0eee7;border-radius:8px;padding:16px}.panel{padding:18px}.panel h2,.panel h3{margin-top:0}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 13px;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.button:hover{border-color:var(--accent);background:var(--accent);transform:translateY(-1px);box-shadow:0 10px 24px #0f766e2e}.button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.button.secondary{color:var(--ink);background:#fff}.button.secondary:hover{color:#fff}.button.compact{width:fit-content;min-height:34px;padding:6px 10px;font-size:13px}.practice-lab{gap:14px;display:grid}.practice-shortcuts{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-height:42px;padding:10px;display:flex}.practice-shortcuts span,.practice-shortcuts strong{border:1px solid var(--line);min-height:28px;color:var(--muted);border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;display:inline-flex}.practice-shortcuts strong{color:var(--accent);background:#f4fbf8}.practice-grid{grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);align-items:stretch;gap:16px;display:grid}.practice-panel{flex-direction:column;gap:12px;display:flex}.practice-panel-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.practice-panel-header h2{margin:4px 0 0;font-size:24px}.editor{resize:vertical;tab-size:2;border:0;flex:1;width:100%;min-height:560px;padding:16px;line-height:1.6}.console{flex:1;min-height:560px;padding:14px;overflow:auto}.console-line{white-space:pre-wrap;border-bottom:1px solid #2d2d2d;padding:4px 0}.console-line.error{color:#fca5a5}@media (max-width:1180px){:root{--sidebar-width:248px}.sidebar{padding:22px 16px}.content{padding:28px}.hero{padding-top:34px}.learning-route{grid-template-columns:minmax(210px,.38fr) minmax(0,1fr)}.current-batch-preview{grid-template-columns:minmax(200px,.36fr) minmax(0,1fr)}.current-batch-preview>.button{grid-column:1/-1;width:fit-content}}@media (max-width:860px){.page-shell{grid-template-columns:1fr}.sidebar{z-index:20;border-right:0;border-bottom:1px solid var(--line);height:auto;max-height:46vh;padding:16px;position:sticky;box-shadow:0 10px 24px #11182714}.brand{margin-bottom:10px}.brand strong{font-size:16px}.sidebar-meta{display:none}.nav-list{scroll-snap-type:x proximity;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.nav-list .sidebar-label{display:none}.nav-link{border:1px solid var(--line);scroll-snap-align:start;white-space:nowrap;background:#fff;flex:none;min-height:38px;padding:8px 11px}.content{padding:22px}.hero{gap:14px;padding:26px 0 22px}.hero p{font-size:16px;line-height:1.7}.reader article{padding:22px}.practice-grid,.stat-grid,.cluster-grid,.focus-strip,.prep-checkpoints,.latest-strip,.learning-route,.current-batch-preview,.start-panel,.topic-guide,.reader-progress-overview,.reader-progress-stats,.reading-progress-bars,.reader-nav{grid-template-columns:1fr}.question-link.progress-aware{grid-template-columns:auto minmax(0,1fr)}.question-progress-status{grid-column:2;justify-content:flex-start}.route-step{grid-template-columns:auto minmax(0,1fr)}.route-step-status{grid-column:2;justify-self:start}.current-batch-preview>.button{width:fit-content}.continue-panel{flex-direction:column;align-items:flex-start}.start-actions,.reader-progress-actions{justify-content:flex-start}}@media (max-width:560px){.sidebar{max-height:38vh;padding:12px}.content{padding:16px}h1{font-size:38px;line-height:1}h2{margin-top:30px;font-size:24px}.start-panel,.topic-guide,.learning-route,.current-batch-preview,.reader-progress-overview,.continue-panel{padding:16px}.study-path-card,.batch-card{min-height:0;padding:16px}.card-topline{flex-direction:column;align-items:flex-start}.card-topline>span:last-child{white-space:normal}.route-step{gap:10px;min-height:0;padding:10px}.route-step-index{width:36px;min-height:36px}.current-batch-list{grid-template-columns:1fr}.button{justify-content:center;width:100%}.start-actions,.reader-progress-actions{width:100%}.start-actions .button,.reader-progress-actions .button{flex:100%}}
