:root{--surface-base: #f3f0e8;--surface-raised: #fcfbf7;--surface-ink: #18202b;--text-primary: #18202b;--text-muted: #5c6572;--accent-primary: #304d8b;--accent-progress: #bd3d30;--accent-action: #d6a14b;--line: #d8d3c7;--radius: 3px;--motion: .18s ease-out;color:var(--text-primary);background:var(--surface-base);font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}@media(min-width:1025px){.app-shell{padding-left:32px!important}.lesson-layout{display:grid!important;grid-template-columns:236px minmax(0,1fr)!important;gap:28px!important;align-items:start!important}.series-dock,.series-dock.open{position:sticky!important;top:24px!important;left:auto!important;bottom:auto!important;width:236px!important;max-height:calc(100dvh - 48px)!important;transform:none!important;display:block!important;overflow:auto!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:var(--surface-raised)!important;box-shadow:none!important}.series-dock-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:4px 4px 12px!important;border-bottom:1px solid var(--line)!important}.series-dock-title{display:grid!important;color:var(--surface-ink)!important;font-weight:800!important}.series-dock-title small{display:block!important;color:var(--text-muted)!important;font-size:11px!important}.series-dock-toggle{width:32px!important;min-width:32px!important;min-height:32px!important;margin:0!important;padding:0!important;border:1px solid var(--line)!important;border-radius:50%!important;background:transparent!important;color:var(--accent-primary)!important}.series-dock-list{display:grid!important;gap:3px!important;max-height:none!important;margin-top:10px!important;overflow:visible!important}.series-dock-list button{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;width:100%!important;min-height:38px!important;padding:8px!important;border:0!important;border-left:2px solid transparent!important;border-radius:0!important;background:transparent!important;color:var(--text-muted)!important;text-align:left!important}.series-dock-list button.active{border-left-color:var(--accent-progress)!important;background:#f8eee0!important;color:var(--surface-ink)!important}.series-dock-list button span,.series-dock-list button small{display:block!important;color:inherit!important}.series-dock:not(.open){width:48px!important;overflow:hidden!important}.series-dock:not(.open) .series-dock-title,.series-dock:not(.open) .series-dock-list{display:none!important}.series-dock:not(.open) .series-dock-head{border:0!important;padding:0!important}.series-dock:not(.open) .series-dock-toggle{margin:0 auto!important}.lesson-layout:has(.series-dock:not(.open)){grid-template-columns:48px minmax(0,1fr)!important}.series-panel{display:none!important}}.lesson-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}.lesson-content{min-width:0}.series-dock{position:sticky;top:24px;left:auto!important;bottom:auto!important;width:220px!important;max-height:calc(100dvh - 48px);transform:none!important;display:block;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:none}.series-dock-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 12px;border-bottom:1px solid var(--line)}.series-dock-title{display:grid;gap:2px;color:var(--surface-ink);font-weight:800}.series-dock-title small{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.series-dock-toggle{width:32px;min-height:32px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--accent-primary);font-size:24px;line-height:1}.series-dock-list{display:grid;gap:3px;max-height:none;margin-top:10px;overflow:visible}.series-dock-list button{display:grid;grid-template-columns:46px minmax(0,1fr);width:100%;min-height:38px;padding:8px;border:0;border-left:2px solid transparent;border-radius:0;background:transparent;color:var(--text-muted);text-align:left;box-shadow:none}.series-dock-list button:hover{background:#ece8df;color:var(--surface-ink)}.series-dock-list button.active{border-left-color:var(--accent-progress);background:#f8eee0;color:var(--surface-ink)}.series-dock-list button span{color:inherit;font-size:11px;font-weight:800}.series-dock-list button small{display:block;min-width:0;color:inherit;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.series-dock-list button[data-depth="1"]{padding-left:24px}.series-dock:not(.open){width:48px!important;overflow:hidden}.series-dock:not(.open) .series-dock-title,.series-dock:not(.open) .series-dock-list{display:none}.series-dock:not(.open) .series-dock-head{border:0;padding:0}.series-dock:not(.open) .series-dock-toggle{margin:0 auto}.lesson-layout:has(.series-dock:not(.open)){grid-template-columns:48px minmax(0,1fr)}@media(max-width:1024px){.lesson-layout{display:block}.series-dock{position:fixed;left:50%!important;top:auto;bottom:12px!important;z-index:30;width:auto!important;max-width:calc(100vw - 24px);transform:translate(-50%)!important;padding:8px;background:var(--surface-ink);border-color:#344052;box-shadow:0 14px 32px #18202b3d}.series-dock-title{display:none}.series-dock-head{border:0;padding:0}.series-dock-toggle{width:auto;min-width:120px;padding:8px 12px;border-radius:var(--radius);color:#f7f5ef;border-color:#ffffff40;font-size:14px}.series-dock-toggle:after{content:"课程目录";margin-left:8px;font-size:13px}.series-dock.open{width:min(560px,calc(100vw - 24px))!important}.series-dock.open .series-dock-list{display:flex;max-height:76px;margin-top:8px;overflow-x:auto}.series-dock.open .series-dock-list button{flex:0 0 86px;display:grid;min-height:52px;padding:7px;border:0;border-radius:var(--radius);background:#232c3b;color:#f7f5ef}.series-dock.open .series-dock-list button.active{background:var(--accent-progress)}.series-dock:not(.open){width:auto!important}}@media(min-width:1025px){.series-dock{left:18px!important;top:50%;bottom:auto!important;transform:translateY(-50%)!important}}.series-dock:not(.open){width:max-content!important}.series-dock:not(.open) .series-dock-list{display:none}@media(min-width:1025px){.series-dock.open{width:196px!important}}@media(max-width:1024px){.series-dock.open{width:min(560px,calc(100vw - 20px))!important}}.directory-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.directory-toggle,.series-dock-toggle{min-height:44px;padding:10px 14px;border:1px solid currentColor;border-radius:var(--radius);background:transparent;color:var(--accent-primary);font-weight:800}.series-grid.collapsed{display:none}@media(min-width:1025px){.app-shell{padding-left:236px}.series-dock{position:fixed;left:18px;top:50%;bottom:auto;z-index:30;width:auto;max-height:calc(100dvh - 44px);transform:translateY(-50%);display:block;overflow:hidden;padding:10px;border-radius:var(--radius);box-shadow:0 18px 42px #18202b2e}.series-dock.open{width:196px}.series-dock-list{display:grid;gap:6px;max-height:0;overflow-y:auto;transition:max-height var(--motion)}.series-dock.open .series-dock-list{max-height:calc(100dvh - 132px);margin-top:10px}.series-dock button:not(.series-dock-toggle){width:100%;min-height:42px;flex:initial;text-align:left}.series-dock small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media(max-width:1024px){.series-dock{display:block;width:auto;padding:8px}.series-dock.open{width:min(560px,calc(100vw - 20px))}.series-dock-toggle{width:auto;color:#f7f5ef;border-color:#ffffff47}.series-dock.open .series-dock-toggle{width:100%}.series-dock-list{display:flex;gap:6px;max-height:0;overflow:hidden;transition:max-height var(--motion)}.series-dock.open .series-dock-list{max-height:74px;margin-top:8px;overflow-x:auto}.series-dock-list button{flex:0 0 88px}}.skip-link{position:fixed;left:16px;top:-60px;z-index:100;padding:12px 16px;border-radius:10px;background:var(--accent-progress);color:#07130f;font-weight:800;transition:top var(--motion)}.skip-link:focus{top:16px}button:focus-visible,a:focus-visible{outline:3px solid var(--accent-action);outline-offset:3px}.hero,.series-panel,.section-panel,.quiz-panel,.review-panel,.concept-card{border-radius:var(--radius);border-color:var(--line)}.route-step.active,.series-dock button.active{background:var(--accent-progress);color:#07130f}.section-title-row button,.concept-copy span{background:var(--accent-action);color:#291902}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--surface-base)}a{color:inherit;text-decoration:none}button{border:0;border-radius:8px;color:inherit;font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{width:min(1280px,100%);margin:0 auto;padding:32px 32px 112px}.section-anchor{scroll-margin-top:24px}.hero{min-height:360px;align-items:center;padding:56px;border:1px solid var(--surface-ink);border-radius:var(--radius);background:linear-gradient(120deg,#fcfbf7 0 65%,#e7e0d4 65%)}.eyebrow,.section-heading p,.concept-copy>p:first-child{margin:0 0 12px;color:var(--accent-progress);font-size:13px;font-weight:800;letter-spacing:0;text-transform:uppercase}.hero h1{max-width:760px;margin:0;color:var(--surface-ink);font-size:clamp(38px,5.4vw,76px);line-height:.98;letter-spacing:0}.hero-copy>p:last-child{max-width:830px;margin:24px 0 0;color:var(--text-muted);font-size:20px;line-height:1.7}.hero-meter{display:grid;justify-items:center;gap:20px;padding:28px;border-radius:8px;background:#070a109e;border:1px solid rgba(255,255,255,.12)}.hero-meter p{margin:0;color:#b8c2d4;line-height:1.6}.meter-ring{--progress: 0%;display:grid;place-items:center;width:190px;aspect-ratio:1;border-radius:50%;background:conic-gradient(#ffbf69 var(--progress),rgba(255,255,255,.12) 0);position:relative}.meter-ring:before{content:"";position:absolute;inset:14px;border-radius:50%;background:#10131a}.meter-ring strong,.meter-ring span{position:relative}.meter-ring strong{font-size:42px}.meter-ring span{color:#9da9bb}.route-strip{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0;padding:10px 0;background:#f3f0e8f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.route-toggle{display:none}.route-step{display:grid;place-items:center;min-height:58px;padding:10px;text-align:center;color:var(--text-primary);background:transparent;border:1px solid var(--line);transition:transform .16s ease,border-color .16s ease,background .16s ease}.route-step:hover{border-color:var(--accent-primary);background:#e7e0d4}.route-step.active{color:#fff;background:var(--accent-primary)}.series-panel,.section-panel,.quiz-panel,.review-panel,.concept-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:0 10px 30px #18202b0f}.series-panel,.section-panel{margin-top:18px;padding:28px}.series-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.series-card{display:grid;width:100%;min-height:150px;gap:10px;padding:18px;text-align:left;color:inherit;border-radius:var(--radius);background:#f7f5ef;border:1px solid var(--line);transition:transform .16s ease,border-color .16s ease,background .16s ease}.series-card.current{border-color:var(--accent-primary);background:#e8edf6}.series-card:hover{transform:translateY(-2px);border-color:var(--accent-primary)}.series-card span,.series-card small{color:var(--accent-progress);font-weight:800}.series-card strong{color:var(--surface-ink);font-size:18px}.series-card p{margin:0;color:var(--text-muted);line-height:1.6}.series-dock{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;position:fixed;left:50%;bottom:18px;z-index:20;width:min(760px,calc(100vw - 28px));transform:translate(-50%);padding:8px;gap:8px;border-radius:8px;background:#070a10e6;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 16px 42px #00000059}.series-dock button{flex:0 0 112px;display:grid;gap:2px;min-height:48px;padding:8px;color:#dbe5f2;background:#ffffff0f;border:1px solid transparent}.series-dock button.active{color:#10131a;background:#92e6a7}.series-dock span{font-weight:900}.series-dock small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:26px}.section-title-row button{flex:0 0 auto;padding:12px 16px;color:#10131a;background:#ffbf69;font-weight:900}.section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.concept-card{display:grid;grid-template-rows:auto auto 1fr;gap:18px;padding:22px}.concept-copy h2,.section-heading h2,.quiz-panel h3,.concept-detail h3{margin:0;color:#fff;letter-spacing:0}.concept-copy h2{font-size:26px;line-height:1.25}.concept-copy span{display:inline-block;margin-top:12px;padding:5px 9px;border-radius:8px;color:#10131a;background:#ffbf69;font-size:13px;font-weight:800}.concept-copy p:last-child,.concept-detail p,.concept-detail li{color:#bcc8d8;line-height:1.68}.visual{display:grid;min-height:155px;padding:18px;border-radius:8px;background:#111827;border:1px solid rgba(255,255,255,.1)}.machine-visual{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;text-align:center}.machine-visual div,.schema-visual code,.tools-visual span,.workbench-visual span{padding:10px;border-radius:8px;background:#ffffff14}.machine-visual strong{grid-column:1 / -1;color:#ffbf69}.budget-visual{grid-template-columns:repeat(3,1fr);align-items:end;gap:12px}.budget-visual span{display:block;border-radius:8px 8px 0 0;background:linear-gradient(#92e6a7,#4dabf7)}.budget-visual b{grid-column:1 / -1;color:#d7dfeb}.workbench-visual{grid-template-columns:repeat(3,1fr);gap:10px;align-content:center}.workbench-visual i{grid-column:1 / -1;color:#ffbf69;font-style:normal}.dial-visual{place-items:center}.dial{width:110px;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 210deg,#92e6a7,#ffbf69,#ff6b6b,transparent 72%);position:relative}.dial:after{content:"";position:absolute;left:50%;bottom:50%;width:4px;height:46px;border-radius:99px;background:#fff;transform:rotate(38deg);transform-origin:bottom}.schema-visual,.tools-visual{gap:10px;place-content:center}.schema-visual span,.tools-visual b{color:#10131a;padding:8px 12px;border-radius:8px;background:#92e6a7}.tools-visual small{color:#ffbf69}.concept-detail{display:grid;gap:12px}.concept-detail h3{margin-top:4px;color:#92e6a7;font-size:15px}.concept-detail p,.concept-detail ul{margin:0}.concept-detail ul{display:grid;gap:8px;padding:0;list-style:none}.concept-detail li{padding-left:18px;position:relative}.concept-detail li:before{content:"";position:absolute;left:0;top:.75em;width:7px;height:7px;border-radius:50%;background:#92e6a7}.practice-prompt{padding:14px;border-radius:8px;background:#ffbf691a;border:1px solid rgba(255,191,105,.22)}.practice-prompt strong,.source-link{color:#ffbf69;font-weight:900}.source-link{width:fit-content;border-bottom:1px solid rgba(255,191,105,.55)}.section-heading{margin-bottom:20px}.section-heading h2{font-size:32px}.section-heading.compact h2{font-size:24px}.decision-intro{max-width:980px;margin-bottom:20px;color:#c6d2e1;font-size:18px;line-height:1.75}.architecture-diagram{display:grid;gap:18px;margin:22px 0;padding:20px;border-radius:8px;background:linear-gradient(135deg,#4dabf724,#92e6a714);border:1px solid rgba(146,230,167,.2)}.diagram-heading{display:flex;justify-content:space-between;gap:16px;color:#bcc8d8}.diagram-heading span{color:#92e6a7;font-weight:900}.architecture-svg{width:100%;min-height:340px;border-radius:8px;background:radial-gradient(circle at 18% 20%,rgba(146,230,167,.13),transparent 28%),radial-gradient(circle at 82% 72%,rgba(255,191,105,.1),transparent 30%),#070a10b8}.architecture-svg text{font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.plane{fill:#ffffff09;stroke:#ffffff24}.model-plane{stroke:#4dabf770}.system-plane{stroke:#92e6a770}.plane-title,.lane-title{fill:#92e6a7;font-size:20px;font-weight:900}.lane-line{stroke:#ffffff1f;stroke-width:2}.arch-card rect,.service-box rect{fill:#10131af2;stroke:#fff3;stroke-width:2}.arch-card.accent rect{fill:#92e6a724;stroke:#92e6a77a}.arch-card.system rect{fill:#4dabf721;stroke:#4dabf775}.arch-card text,.service-box text,.ops-bar text{fill:#fff;font-size:18px;font-weight:900}.card-sub,.service-box text:nth-of-type(2){fill:#c6d2e1;font-size:13px;font-weight:700}.arch-flow{fill:none;stroke:#92e6a7ad;stroke-width:4;stroke-linecap:round;marker-end:url(#arch-arrow)}.arch-flow.strong{stroke:#ffbf69c7;stroke-width:5}.arch-flow.feedback{stroke:#4dabf7ad;stroke-dasharray:10 12}.edge-label{fill:#ffbf69;font-size:14px;font-weight:800}.loop-ring{fill:none;stroke:#ffbf694d;stroke-width:18;stroke-dasharray:24 18}.approval-gate path{fill:#ffbf6929;stroke:#ffbf69b8;stroke-width:2}.approval-gate text{fill:#fff;font-size:15px;font-weight:900;text-anchor:middle}.service-box rect{fill:#ffffff0e}.service-box text{text-anchor:middle}.ops-bar rect{fill:#92e6a71c;stroke:#92e6a75c;stroke-width:2}.field-example{margin-top:18px;padding:16px;border-radius:8px;color:#dce5f2;background:#ffbf691a;border:1px solid rgba(255,191,105,.25)}.field-example h3{margin:0 0 8px;color:#ffbf69}.field-example p{margin:0;line-height:1.7}.layer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.layer-card{padding:18px;border-radius:8px;background:#ffffff0e;border:1px solid rgba(255,255,255,.1)}.solution-top{display:grid;gap:8px}.solution-top span{color:#ffbf69;font-size:20px;font-weight:900}.solution-top small,.choice-card p,.choice-card small{color:#bcc8d8}.choice-list{display:grid;gap:12px;margin:18px 0 0}.choice-card{padding:14px;border-radius:8px;background:#ffffff0e}.choice-card strong{color:#92e6a7}.choice-card p,.choice-card small{display:block;margin:6px 0 0;line-height:1.55}.learning-workbench{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:18px;margin-top:18px;align-items:start}.quiz-panel,.review-panel{padding:28px}.question-meta{display:flex;justify-content:space-between;gap:12px;color:#92e6a7;font-weight:800}.scenario{margin:18px 0;padding:16px;border-left:4px solid #ffbf69;color:#dce5f2;background:#ffbf6914}.quiz-panel h3{margin-top:18px;font-size:26px;line-height:1.35}.option-list{display:grid;gap:12px;margin-top:22px}.option-button{width:100%;padding:16px;text-align:left;color:#e8eef7;background:#ffffff12;border:1px solid rgba(255,255,255,.1);transition:transform .16s ease,border-color .16s ease,background .16s ease}.option-button:hover{transform:translateY(-1px);border-color:#92e6a78c}.option-button.selected{border-color:#ffbf69}.option-button.correct{background:#92e6a729;border-color:#92e6a7}.option-button.wrong{background:#ff6b6b26;border-color:#ff6b6b}.feedback{margin-top:18px;padding:16px;border-radius:8px;line-height:1.6}.feedback p{margin:8px 0 0}.feedback.correct{background:#92e6a71f}.feedback.wrong{background:#ff6b6b1f}.quiz-actions,.review-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.quiz-actions button,.review-actions button,.history-item button,.clear-button{padding:10px 14px;color:#10131a;background:#f5f7fb;font-weight:800}.review-actions button:first-child{background:#92e6a7}.score-card{padding:20px;border-radius:8px;background:linear-gradient(135deg,#4dabf733,#92e6a71f);border:1px solid rgba(255,255,255,.12)}.score-card span{color:#bcc8d8}.score-card strong{display:block;margin-top:6px;font-size:48px}.score-card p,.recommendation-list p{margin:8px 0 0;color:#dbe4ef;line-height:1.6}.recommendation-list{display:grid;gap:10px;margin-top:16px}.recommendation-list p{padding:12px;border-radius:8px;background:#ffffff0f}.history-head{display:flex;justify-content:space-between;margin-top:24px;color:#ffbf69;font-weight:900}.history-list{display:grid;gap:10px;margin-top:12px}.history-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px;border-radius:8px;background:#ffffff0e}.history-item div{display:grid;gap:4px}.history-item span,.history-item small,.empty{color:#aeb9c9}.clear-button{width:100%;margin-top:12px;background:#ffbf69}@media(max-width:1080px){.learning-workbench{grid-template-columns:1fr}.series-grid,.section-grid,.layer-grid,.architecture-node-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-shell{padding:14px 14px 106px}.hero,.series-panel,.section-panel,.quiz-panel,.review-panel{padding:20px}.route-strip{grid-template-columns:1fr;gap:8px;padding:8px;border-radius:8px}.route-toggle{display:block;min-height:42px;color:#10131a;background:#92e6a7;font-weight:900}.route-step{display:none;min-height:44px}.route-strip.open .route-step{display:grid}.series-grid,.section-grid,.layer-grid,.architecture-node-list{grid-template-columns:1fr}.architecture-map svg{min-height:250px}.hero h1{font-size:38px}.section-title-row{display:grid}.learning-workbench{grid-template-columns:1fr}.series-dock{bottom:10px;grid-template-columns:repeat(4,minmax(0,1fr));width:calc(100vw - 20px);gap:4px;padding:6px}.series-dock button{min-height:44px;padding:6px 4px}.series-dock small{display:none}}@media(max-width:1024px){.lesson-layout{display:block!important}.series-dock,.series-dock.open{position:static!important;left:auto!important;top:auto!important;bottom:auto!important;z-index:auto!important;width:100%!important;max-width:none!important;transform:none!important;margin:0 0 16px!important;padding:8px!important;overflow:visible!important;background:var(--surface-raised)!important;border:1px solid var(--line)!important;box-shadow:none!important}.series-dock-head{justify-content:flex-start!important;padding:0!important;border:0!important}.series-dock-title{display:none!important}.series-dock-toggle,.series-dock:not(.open) .series-dock-toggle{display:inline-grid!important;place-items:center;flex:0 0 32px!important;width:32px!important;min-width:32px!important;min-height:32px!important;margin:0!important;padding:3px!important;border:1px solid var(--line)!important;border-radius:6px!important;background:transparent!important;color:var(--accent-primary)!important}.series-dock-toggle:after{content:none!important}.series-dock:not(.open){width:44px!important;margin-bottom:16px!important;padding:6px!important;overflow:hidden!important}.series-dock:not(.open) .series-dock-list{display:none!important}.series-dock.open .series-dock-list{display:flex!important;gap:6px!important;max-height:none!important;margin-top:8px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;-ms-overflow-style:none}.series-dock.open .series-dock-list::-webkit-scrollbar{display:none}.series-dock.open .series-dock-list button{flex:0 0 96px!important;min-height:52px!important}}@media(min-width:1025px){.series-dock-toggle,.series-dock:not(.open) .series-dock-toggle{flex:0 0 32px!important;margin:0!important}}.series-dock-chevron{width:24px;height:24px;flex:0 0 24px;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;fill:none}@media(min-width:1025px){.app-shell{padding-left:32px!important}.lesson-layout{grid-template-columns:220px minmax(0,1fr)!important;gap:28px!important;align-items:start!important}.lesson-layout:has(.series-dock:not(.open)){grid-template-columns:44px minmax(0,1fr)!important}.series-dock,.series-dock.open{position:sticky!important;top:24px!important;left:auto!important;bottom:auto!important;z-index:auto!important;width:auto!important;max-height:calc(100dvh - 48px)!important;transform:none!important;overflow:auto!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:var(--surface-raised)!important;box-shadow:none!important}.series-dock-head{padding:4px 4px 12px!important;border-bottom:1px solid var(--line)!important}.series-dock-toggle{display:inline-grid!important;place-items:center;width:32px!important;min-width:32px!important;min-height:32px!important;padding:3px!important;border:1px solid var(--line)!important;border-radius:6px!important;background:transparent!important;color:var(--accent-primary)!important}.series-dock-list{display:grid!important;max-height:none!important;margin-top:10px!important;overflow:visible!important}.series-dock-list button{background:transparent!important;color:var(--text-muted)!important}.series-dock-list button.active{background:#f8eee0!important;color:var(--surface-ink)!important}.series-dock:not(.open){width:auto!important;padding:6px!important;overflow:hidden!important}.series-dock:not(.open) .series-dock-title,.series-dock:not(.open) .series-dock-list{display:none!important}.series-dock:not(.open) .series-dock-head{justify-content:center;padding:0!important;border:0!important}}.series-dock-menu-icon{width:24px;height:24px;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;fill:none}@media(min-width:1025px){.app-shell{padding-left:32px!important}.app-shell:has(.series-dock.open){padding-left:252px!important}.lesson-layout{display:block!important}.series-dock,.series-dock.open{position:fixed!important;inset:0 auto 0 0!important;z-index:30!important;width:220px!important;max-height:none!important;margin:0!important;padding:16px 12px!important;border-width:0 1px 0 0!important;border-radius:0!important;overflow-y:auto!important;transform:none!important}.series-dock:not(.open){inset:auto auto 16px 16px!important;width:44px!important;height:44px!important;max-height:44px!important;padding:6px!important;border-width:1px!important;border-radius:6px!important;overflow:hidden!important}.series-dock.open .series-dock-toggle{position:absolute!important;left:12px!important;bottom:16px!important}}@media(max-width:1024px){.app-shell:has(.series-dock.open){padding-bottom:148px!important}.series-dock,.series-dock.open{position:fixed!important;inset:auto auto 12px 12px!important;z-index:30!important;width:44px!important;max-width:none!important;margin:0!important;padding:6px!important;overflow:hidden!important;transform:none!important}.series-dock.open{width:calc(100vw - 24px)!important;padding:8px!important}.series-dock.open .series-dock-list{overflow-x:auto!important;scrollbar-width:none}.series-dock.open .series-dock-list::-webkit-scrollbar{display:none}.series-dock.open .series-dock-list button{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto;text-align:left!important}.series-dock.open .series-dock-list button span,.series-dock.open .series-dock-list button small{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.series-dock-menu-icon{display:none}.series-dock:not(.open) .series-dock-menu-icon{display:block}.series-dock:not(.open) .series-dock-chevron{display:none}.series-dock:not(.open) .series-dock-toggle:hover .series-dock-menu-icon,.series-dock:not(.open) .series-dock-toggle:focus-visible .series-dock-menu-icon{display:none}.series-dock:not(.open) .series-dock-toggle:hover .series-dock-chevron,.series-dock:not(.open) .series-dock-toggle:focus-visible .series-dock-chevron{display:block}.section-heading h2,.concept-copy h2,.quiz-panel h3,.concept-detail h3,.field-example h3{color:var(--surface-ink)}.concept-copy p:last-child,.concept-detail p,.concept-detail li,.decision-intro,.choice-card p,.choice-card small,.solution-top small,.field-example,.field-example p,.scenario,.feedback p,.recommendation-list p,.empty{color:var(--text-muted)}.concept-detail h3{color:var(--accent-progress)}.concept-copy span{color:#fff;background:var(--accent-primary)}.visual,.architecture-svg{background:#ece8df;border-color:var(--line)}.machine-visual div,.schema-visual code,.tools-visual span,.workbench-visual span,.choice-card,.layer-card,.option-button,.history-item{background:#f7f5ef;border-color:var(--line);color:var(--text-primary)}.concept-detail li:before{background:var(--accent-progress)}.practice-prompt,.field-example{background:#f8eee0;border-color:#e4c48d}.practice-prompt strong,.source-link,.solution-top span,.choice-card strong{color:var(--accent-primary)}.architecture-diagram{background:#edf0f5;border-color:#cbd4e5}.diagram-heading,.diagram-heading span{color:var(--text-muted)}.diagram-heading span,.plane-title,.lane-title{color:var(--accent-primary);fill:var(--accent-primary)}.architecture-svg .arch-card rect,.architecture-svg .service-box rect{fill:#fcfbf7;stroke:#8e9ab0}.architecture-svg .arch-card text,.architecture-svg .service-box text,.architecture-svg .ops-bar text{fill:var(--surface-ink)}.architecture-svg .card-sub,.architecture-svg .service-box text:nth-of-type(2){fill:var(--text-muted)}.architecture-svg .arch-card.accent rect{fill:#e4eaf6;stroke:var(--accent-primary)}.architecture-svg .arch-card.system rect,.architecture-svg .ops-bar rect{fill:#eaf2ec;stroke:#7b9c84}.architecture-svg .edge-label{fill:var(--accent-progress)}.series-dock{background:var(--surface-ink);border-color:#344052}.series-dock button{background:#232c3b;color:#f7f5ef}.series-dock button.active{background:var(--accent-progress);color:#fff}.score-card,.feedback.correct{background:#eaf2ec;border-color:#a8c7ae;color:var(--surface-ink)}.feedback.wrong{background:#f8e7e3;border-color:#db9c93;color:var(--surface-ink)}
