.level-workspace-theme{--lecture-primary: #009874;--lecture-primary-dark: #08755e;--lecture-ink: #202927;--lecture-muted: #60706c;--lecture-border: rgba(0, 152, 116, .2);--lecture-soft: rgba(0, 152, 116, .07);--lecture-paper: #fff;min-height:100vh;color:var(--lecture-ink);background:#f7faf8;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Microsoft YaHei,Segoe UI Symbol,Arial Unicode MS,DejaVu Sans,"Noto Sans Symbols 2",DejaVu Sans Mono,Arial,sans-serif;font-size:16px;line-height:1.75}.level-workspace-theme .workspace-header{position:static;border-bottom-color:var(--lecture-border);background:#fffffff5;box-shadow:0 2px 8px #005c460d}.level-workspace-theme .brand-mark,.level-workspace-theme .workspace-header>.text-button,.level-workspace-theme .account-area .text-button{color:var(--lecture-primary-dark)}.level-workspace-theme .brand-mark:hover,.level-workspace-theme .workspace-header>.text-button:hover,.level-workspace-theme .account-area .text-button:hover{color:var(--lecture-primary)}.level-workspace-theme .workspace-shell{width:min(1120px,calc(100% - 48px));padding:38px 0 80px}.level-workspace-theme .workspace-title{align-items:center;margin-bottom:30px}.level-workspace-theme .workspace-title h1{display:table;margin:8px 0 0;border-bottom:2px solid var(--lecture-primary);padding:0 .8em .18em;color:var(--lecture-ink);font-size:clamp(26px,4vw,38px);font-weight:700;line-height:1.25}.level-workspace-theme .workspace-title .eyebrow{margin:0;color:var(--lecture-primary);letter-spacing:.08em}.level-workspace-theme .status-badge{border-radius:4px;font-size:12px}.level-workspace-theme .workspace-layout-inline .lesson-column{min-width:0;border:1px solid var(--lecture-border);background:var(--lecture-paper);box-shadow:0 8px 24px #005c460a}.level-workspace-theme .lesson-column{padding:30px clamp(20px,4vw,48px) 42px}.level-workspace-theme .lesson-column section+section{margin-top:38px;border-top-color:#00987424;padding-top:28px}.level-workspace-theme .lesson-column>section>h2{display:table;margin:0 auto 24px;border-radius:8px 24px;padding:.3em 1.2em;color:#fff;background:var(--lecture-primary);font-size:20.8px;font-weight:700;box-shadow:0 2px 6px #0000000f;text-align:center}.level-workspace-theme .lesson-reading,.level-workspace-theme .markdown-content,.level-workspace-theme .question-stem,.level-workspace-theme .question-card,.level-workspace-theme .code-question-card{color:var(--lecture-ink)}.level-workspace-theme .lesson-reading,.level-workspace-theme .markdown-content{font-size:16px;line-height:1.75}.level-workspace-theme .markdown-content>:first-child,.level-workspace-theme .lesson-reading>:first-child,.level-workspace-theme .question-stem-markdown>:first-child{margin-top:0!important}.level-workspace-theme .markdown-content>:last-child,.level-workspace-theme .lesson-reading>:last-child,.level-workspace-theme .question-stem-markdown>:last-child{margin-bottom:0!important}.level-workspace-theme .markdown-content h1,.level-workspace-theme .lesson-reading h1{display:table;margin:2em auto 1em;border-bottom:2px solid var(--lecture-primary);padding:0 .9em .18em;color:var(--lecture-ink);font-size:20px;line-height:1.4;text-align:center}.level-workspace-theme .markdown-content h2,.level-workspace-theme .lesson-reading h2{display:table;margin:3em auto 1.4em;border-radius:8px 24px;padding:.3em 1.2em;color:#fff;background:var(--lecture-primary);font-size:20.8px;box-shadow:0 2px 6px #0000000f;text-align:center}.level-workspace-theme .markdown-content h3,.level-workspace-theme .lesson-reading h3{margin:2em 0 .75em;border:1px solid var(--lecture-border);border-left:4px solid var(--lecture-primary);border-radius:4px;padding:.35em .65em;color:var(--lecture-ink);background:var(--lecture-soft);font-size:18px;line-height:1.45}.level-workspace-theme .markdown-content h4,.level-workspace-theme .markdown-content h5,.level-workspace-theme .markdown-content h6,.level-workspace-theme .lesson-reading h4,.level-workspace-theme .lesson-reading h5,.level-workspace-theme .lesson-reading h6{margin:1.6em 0 .55em;color:var(--lecture-primary-dark);font-size:16px;line-height:1.5}.level-workspace-theme .markdown-content p,.level-workspace-theme .lesson-reading p{margin:1em 0}.level-workspace-theme .markdown-content strong,.level-workspace-theme .lesson-reading strong{color:var(--lecture-primary-dark)}.level-workspace-theme .markdown-content blockquote,.level-workspace-theme .lesson-reading blockquote{margin:1em 0;border:1px solid rgba(0,152,116,.08);border-left:4px solid var(--lecture-primary);border-radius:6px;padding:.8em 1em;color:var(--lecture-muted);background:#f7f7f7}.level-workspace-theme .markdown-content blockquote>p,.level-workspace-theme .lesson-reading blockquote>p{margin:0}.level-workspace-theme .markdown-content ul,.level-workspace-theme .markdown-content ol,.level-workspace-theme .lesson-reading ul,.level-workspace-theme .lesson-reading ol{margin:1em 0;padding-left:1.5em}.level-workspace-theme .markdown-content ul,.level-workspace-theme .lesson-reading ul{list-style:circle}.level-workspace-theme .markdown-content li,.level-workspace-theme .lesson-reading li{margin:.25em 0}.level-workspace-theme .markdown-content li::marker,.level-workspace-theme .lesson-reading li::marker{color:var(--lecture-primary)}.level-workspace-theme .markdown-content a,.level-workspace-theme .lesson-reading a{color:var(--lecture-primary-dark);text-decoration:underline;text-decoration-color:#00987473;text-underline-offset:3px}.level-workspace-theme .markdown-content code,.level-workspace-theme .lesson-reading code,.level-workspace-theme .choice-option-markdown code,.level-workspace-theme .question-stem-markdown code{border:1px solid rgba(0,152,116,.2);border-radius:4px;padding:2px 5px;color:var(--lecture-primary-dark);background:var(--lecture-soft);font-family:Cascadia Code,Consolas,monospace;font-size:.92em}.level-workspace-theme .markdown-content pre,.level-workspace-theme .lesson-reading pre,.level-workspace-theme .question-stem-markdown pre,.level-workspace-theme .choice-option-markdown pre{position:relative;overflow:auto;margin:14px 0;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:34px 14px 12px;color:#c9d1d9;background:#0d1117;line-height:1.5}.level-workspace-theme .markdown-content pre:before,.level-workspace-theme .lesson-reading pre:before,.level-workspace-theme .question-stem-markdown pre:before,.level-workspace-theme .choice-option-markdown pre:before{position:absolute;top:13px;left:14px;width:9px;height:9px;border-radius:50%;background:#ed6c60;box-shadow:16px 0 #f7c151,32px 0 #64c856;content:""}.level-workspace-theme .markdown-content pre code,.level-workspace-theme .lesson-reading pre code,.level-workspace-theme .question-stem-markdown pre code,.level-workspace-theme .choice-option-markdown pre code{border:0;padding:0;color:inherit;background:transparent}.level-workspace-theme .markdown-content pre code .hljs-comment,.level-workspace-theme .lesson-reading pre code .hljs-comment,.level-workspace-theme .question-stem-markdown pre code .hljs-comment,.level-workspace-theme .choice-option-markdown pre code .hljs-comment,.level-workspace-theme .markdown-content pre code .hljs-quote,.level-workspace-theme .lesson-reading pre code .hljs-quote{color:#8b949e}.level-workspace-theme .markdown-content pre code .hljs-keyword,.level-workspace-theme .lesson-reading pre code .hljs-keyword,.level-workspace-theme .question-stem-markdown pre code .hljs-keyword,.level-workspace-theme .choice-option-markdown pre code .hljs-keyword,.level-workspace-theme .markdown-content pre code .hljs-selector-tag,.level-workspace-theme .lesson-reading pre code .hljs-selector-tag,.level-workspace-theme .markdown-content pre code .hljs-literal,.level-workspace-theme .lesson-reading pre code .hljs-literal{color:#ff7b72}.level-workspace-theme .markdown-content pre code .hljs-title,.level-workspace-theme .lesson-reading pre code .hljs-title,.level-workspace-theme .question-stem-markdown pre code .hljs-title,.level-workspace-theme .choice-option-markdown pre code .hljs-title,.level-workspace-theme .markdown-content pre code .hljs-title.function_,.level-workspace-theme .lesson-reading pre code .hljs-title.function_{color:#d2a8ff}.level-workspace-theme .markdown-content pre code .hljs-string,.level-workspace-theme .lesson-reading pre code .hljs-string,.level-workspace-theme .question-stem-markdown pre code .hljs-string,.level-workspace-theme .choice-option-markdown pre code .hljs-string,.level-workspace-theme .markdown-content pre code .hljs-regexp,.level-workspace-theme .lesson-reading pre code .hljs-regexp{color:#a5d6ff}.level-workspace-theme .markdown-content pre code .hljs-number,.level-workspace-theme .lesson-reading pre code .hljs-number,.level-workspace-theme .question-stem-markdown pre code .hljs-number,.level-workspace-theme .choice-option-markdown pre code .hljs-number,.level-workspace-theme .markdown-content pre code .hljs-attr,.level-workspace-theme .lesson-reading pre code .hljs-attr,.level-workspace-theme .markdown-content pre code .hljs-variable,.level-workspace-theme .lesson-reading pre code .hljs-variable{color:#79c0ff}.level-workspace-theme .markdown-content pre code .hljs-built_in,.level-workspace-theme .lesson-reading pre code .hljs-built_in,.level-workspace-theme .question-stem-markdown pre code .hljs-built_in,.level-workspace-theme .choice-option-markdown pre code .hljs-built_in{color:#ffa657}.level-workspace-theme .markdown-content pre code .hljs-name,.level-workspace-theme .lesson-reading pre code .hljs-name,.level-workspace-theme .question-stem-markdown pre code .hljs-name,.level-workspace-theme .choice-option-markdown pre code .hljs-name,.level-workspace-theme .markdown-content pre code .hljs-tag,.level-workspace-theme .lesson-reading pre code .hljs-tag{color:#7ee787}.level-workspace-theme .markdown-content table,.level-workspace-theme .lesson-reading table{width:100%;margin:14px 0;border-collapse:collapse;font-size:14px}.level-workspace-theme .markdown-content th,.level-workspace-theme .markdown-content td,.level-workspace-theme .lesson-reading th,.level-workspace-theme .lesson-reading td{border:1px solid rgba(0,0,0,.14);padding:.45em .65em;color:var(--lecture-ink);text-align:left;vertical-align:top;overflow-wrap:anywhere}.level-workspace-theme .markdown-content th,.level-workspace-theme .lesson-reading th{color:var(--lecture-primary-dark);background:var(--lecture-soft)}.level-workspace-theme .markdown-content img,.level-workspace-theme .lesson-reading img,.level-workspace-theme .lesson-image{display:block;max-width:100%;height:auto;margin:.5em auto 1em;border:1px solid rgba(0,0,0,.08);border-radius:8px}.level-workspace-theme .markdown-content hr,.level-workspace-theme .lesson-reading hr{height:1px;margin:2em 0;border:0;background:#0000001f}.level-workspace-theme .objective-list{color:var(--lecture-ink);line-height:1.75}.level-workspace-theme .objective-list li::marker{color:var(--lecture-primary)}.level-workspace-theme .lesson-images{margin-top:22px}.level-workspace-theme .question-progress{color:var(--lecture-muted)}.level-workspace-theme .question-card,.level-workspace-theme .answer-question-card,.level-workspace-theme .code-question-card{border-color:var(--lecture-border);border-radius:6px;background:#fff;box-shadow:0 4px 14px #005c4609}.level-workspace-theme .question-number,.level-workspace-theme .editor-language{color:var(--lecture-primary-dark)}.level-workspace-theme .question-stem{line-height:1.75}.level-workspace-theme .choice-option,.level-workspace-theme .judge-button{border-color:#00000026;border-radius:6px}.level-workspace-theme .choice-option:hover,.level-workspace-theme .judge-button:hover:not(:disabled){border-color:var(--lecture-primary);background:var(--lecture-soft)}.level-workspace-theme .choice-option-selected,.level-workspace-theme .judge-button-selected{border-color:var(--lecture-primary);background:#0098741a;box-shadow:0 0 0 2px #0098741f}.level-workspace-theme .choice-option-key,.level-workspace-theme .answer-status{color:var(--lecture-primary-dark)}.level-workspace-theme .question-ai-answer-button,.level-workspace-theme .reference-answer{border-color:var(--lecture-border);color:var(--lecture-primary-dark);background:var(--lecture-soft)}.level-workspace-theme .text-button,.level-workspace-theme .check-answer,.level-workspace-theme .reference-answer-link{color:var(--lecture-primary-dark)}.level-workspace-theme .text-button:hover,.level-workspace-theme .check-answer:hover,.level-workspace-theme .reference-answer-link:hover{color:var(--lecture-primary)}.level-workspace-theme .code-question-card{border-color:#0098744d;background:#fbfefd}.level-workspace-theme .code-question-heading h3,.level-workspace-theme .output-heading h4{color:var(--lecture-primary-dark)}.level-workspace-theme .code-template-note,.level-workspace-theme .save-state,.level-workspace-theme .answer-pending,.level-workspace-theme .judge-keyboard-note{color:var(--lecture-muted)}.level-workspace-theme .code-editor-shell,.level-workspace-theme .interactive-console{color:#c9d1d9;background:#0d1117}.level-workspace-theme .code-editor-toolbar,.level-workspace-theme .code-editor-shell .cm-gutters,.level-workspace-theme .code-editor-resize-handle{border-color:#30363d;background:#161b22}.level-workspace-theme .code-editor-shell{border-color:#30363d}.level-workspace-theme .code-editor-shell:focus-within{border-color:#586069;box-shadow:none}.level-workspace-theme .editor-language-select{color:#8b949e}.level-workspace-theme .editor-language-select select{border-color:#30363d;color:#c9d1d9;background:#0d1117}.level-workspace-theme .editor-fullscreen-button{color:#c9d1d9}.level-workspace-theme .code-editor-toolbar .run-button{border:0;border-radius:0;padding:0;color:#c9d1d9;background:transparent;box-shadow:none}.level-workspace-theme .code-editor-toolbar .run-button:hover:not(:disabled){color:#fff;background:transparent}.level-workspace-theme .code-editor-resize-handle:hover,.level-workspace-theme .code-editor-resize-handle:focus-visible{background:#21262d}.level-workspace-theme .workspace-submit-bar{border-top:1px solid var(--lecture-border);padding-top:18px}.level-workspace-theme .submit-button,.level-workspace-theme .primary-button{border-color:var(--lecture-primary);color:#fff;background:var(--lecture-primary)}.level-workspace-theme .submit-button:hover:not(:disabled),.level-workspace-theme .primary-button:hover:not(:disabled){background:var(--lecture-primary-dark)}.level-workspace-theme .verification-summary,.level-workspace-theme .submit-success,.level-workspace-theme .submit-error{border-left-width:4px;border-radius:4px}.level-workspace-theme .level-complete-panel{border-color:var(--lecture-border);border-radius:6px;background:var(--lecture-soft)}.level-workspace-theme .level-complete-panel h2{color:var(--lecture-primary-dark)}.level-workspace-theme .completion-secondary-button{border-color:var(--lecture-primary);color:var(--lecture-primary-dark)}.level-workspace-theme .completion-secondary-button:hover{color:var(--lecture-primary-dark);background:var(--lecture-soft)}.level-workspace-theme .ai-review-drawer,.level-workspace-theme .ai-floating-window{font-family:inherit}.level-workspace-theme .ai-review-drawer h2,.level-workspace-theme .ai-review-drawer h3{color:var(--lecture-primary-dark)}@media (max-width: 820px){.level-workspace-theme .workspace-shell{width:min(100% - 32px,720px);padding-top:28px}.level-workspace-theme .workspace-title{align-items:flex-start}}@media (max-width: 520px){.level-workspace-theme .workspace-shell{width:min(100% - 24px,720px);padding-bottom:52px}.level-workspace-theme .workspace-title{display:block}.level-workspace-theme .workspace-title>.status-badge{display:inline-flex;margin-top:12px}.level-workspace-theme .lesson-column{padding:22px 16px 30px}.level-workspace-theme .lesson-column>section>h2{font-size:18px}.level-workspace-theme .workspace-submit-bar{display:block}.level-workspace-theme .workspace-submit-controls{flex-wrap:wrap}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1e293b;background:#f6f7f9;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f6f7f9}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.boot-screen,.loading-state{min-height:100vh;display:grid;place-items:center;color:#64748b}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);background:#f6f7f9}.auth-intro{display:flex;flex-direction:column;justify-content:center;padding:8vw;background:#173f5f;color:#f8fafc}.auth-intro .eyebrow{color:#9ed8d2}.auth-intro h1{max-width:620px;margin:18px 0;font-size:clamp(36px,5vw,68px);line-height:1.05;letter-spacing:-.03em}.intro-copy{max-width:470px;margin:0;color:#cbdbe7;font-size:18px;line-height:1.7}.intro-rule{width:72px;height:3px;margin:48px 0 20px;background:#f4b942}.intro-note{max-width:380px;margin:0;color:#9bb4c5;line-height:1.6}.auth-panel{width:min(100%,480px);align-self:center;justify-self:center;padding:48px}.eyebrow{margin:0 0 10px;color:#25736f;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.auth-heading h2{margin:0 0 36px;color:#172033;font-size:32px;letter-spacing:-.02em}form{display:grid;gap:10px}label{margin-top:8px;color:#334155;font-size:13px;font-weight:700}input{width:100%;border:1px solid #cbd5e1;border-radius:5px;padding:13px 14px;outline:0;color:#1e293b;background:#fff}input:focus{border-color:#25736f;box-shadow:0 0 0 3px #25736f21}.password-field{position:relative}.password-field input{padding-right:68px}.password-toggle{position:absolute;top:50%;right:10px;min-width:44px;transform:translateY(-50%);border:0;padding:4px;color:#25736f;background:transparent;font-size:12px;font-weight:800}.password-toggle:hover{color:#173f5f}.password-toggle:focus-visible{outline:2px solid #f4b942;outline-offset:2px;border-radius:3px}.primary-button{border:0;border-radius:5px;padding:13px 18px;color:#fff;background:#25736f;font-weight:800}.primary-button:hover:not(:disabled){background:#1d5b58}form .primary-button{margin-top:18px}.text-button{border:0;padding:0;color:#25736f;background:transparent;font-weight:700}.text-button:hover{color:#173f5f;text-decoration:underline}.auth-panel>.text-button{margin-top:22px}.auth-forgot-password{margin-top:14px}.password-reset-form{gap:10px}.verification-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.verification-code-row>div{min-width:0}.verification-code-row .text-button{padding-bottom:13px;white-space:nowrap}.password-reset-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:14px}.form-error,.page-error{border-left:3px solid #c2413b;padding:11px 13px;color:#9f2f2a;background:#fff0ee;font-size:13px;line-height:1.5}.app-shell{min-height:100vh}.topbar{min-height:68px;display:flex;align-items:center;gap:36px;padding:0 5%;border-bottom:1px solid #e2e8f0;background:#ffffffe6}.brand-mark{display:flex;align-items:center;gap:9px;color:#173f5f;font-size:17px;font-weight:900;white-space:nowrap}.brand-dot{width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#fff url(/assets/python_mascot-Dp-hHkiT.jpg) center / cover no-repeat}nav{display:flex;align-self:stretch;gap:26px}.nav-item{display:grid;place-items:center;color:#64748b;font-size:14px;font-weight:700}.nav-active{color:#173f5f;border-bottom:3px solid #f4b942}.nav-button{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;border-radius:0;box-shadow:none;padding:0;background:transparent;cursor:pointer;font:inherit}.nav-button:hover{color:#173f5f}.nav-button:focus-visible{outline:2px solid #f4b942;outline-offset:-4px}.nav-button:disabled{color:#cbd5e1;cursor:not-allowed;opacity:1}.account-area{display:flex;align-items:center;gap:18px;margin-left:auto}.user-email{max-width:230px;overflow:hidden;color:#475569;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.streak-chip{border:1px solid #f4d78f;border-radius:99px;padding:7px 10px;color:#8b5e08;background:#fff8e4;font-size:12px;font-weight:800;white-space:nowrap}.compact{font-size:13px}.map-main{width:min(1320px,calc(100% - 64px));margin:0 auto;padding:56px 0 80px}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:30px}.map-heading h1{margin:0;color:#172033;font-size:32px;line-height:1.15}.map-heading-meta{display:flex;align-items:center;justify-content:flex-end;gap:32px;min-width:0}.map-current-book{display:grid;gap:3px;min-width:0}.map-current-book span{color:#64748b;font-size:11px;font-weight:800}.map-current-book strong{max-width:300px;overflow:hidden;color:#173f5f;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.muted{margin:0;color:#64748b;line-height:1.65}.progress-summary{min-width:190px;padding-bottom:4px}.progress-summary strong{display:block;color:#173f5f;font-size:38px;line-height:1}.progress-summary strong small{color:#94a3b8;font-size:19px}.progress-summary span{display:block;margin:8px 0 12px;color:#64748b;font-size:12px;font-weight:700}.progress-track{height:7px;overflow:hidden;background:#e2e8f0}.progress-track i{display:block;height:100%;background:#25736f}.page-error{display:flex;align-items:center;gap:16px;margin-bottom:24px}.map-layout{display:block}.map-board{border:1px solid #e2e8f0;background:#fff}.map-board{padding:20px}.phase-block+.phase-block{margin-top:26px}.phase-heading{display:flex;align-items:center;gap:12px;color:#173f5f;font-size:13px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.phase-heading>span:first-child{font-weight:900}.phase-line{height:1px;flex:1;background:#e2e8f0}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,262px));gap:10px;margin-top:12px}.level-node{min-height:114px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;border:1px solid #dbe4ec;border-radius:4px;padding:12px;color:#1e293b;background:#fff;text-align:left;transition:border-color .15s,transform .15s,box-shadow .15s}.level-node:hover:not(.node-locked),.level-node:focus-visible:not(.node-locked){border-color:#25736f;box-shadow:0 5px 16px #173f5f1a;transform:translateY(-2px);outline:0}.map-board,.level-node{border-radius:8px}.node-index{color:#94a3b8;font-size:12px;font-weight:800}.level-node strong{color:#173f5f;font-size:14px;font-weight:400;line-height:1.35}.node-locked{color:#94a3b8;background:#f8fafc}.node-locked strong{color:#94a3b8}.status-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:800;line-height:1.25}.status-badge-icon{font-size:12px;line-height:1}.status-locked{border-color:#d8e0e8;color:#64748b;background:#eef2f6}.status-unlocked{border-color:#bad7f4;color:#175f9c;background:#eaf4ff}.status-active{border-color:#f3c28b;color:#a54516;background:#fff0df}.status-completed{border-color:#a8d8b2;color:#216143;background:#e4f6e7}.prerequisite{margin:26px 0;padding:10px 12px;border-left:3px solid #f4b942;color:#70510b;background:#fff8e4;font-size:13px;line-height:1.5}.preview-button{width:100%;margin-top:28px}.empty-preview{padding-top:45px}.preview-symbol{display:block;margin-bottom:15px;color:#f4b942;font-size:40px}.empty-preview h2{margin:0 0 8px;font-size:22px}.dashboard-shell{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:42px 0 76px}.dashboard-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.dashboard-heading h1{margin:0;color:#173f5f;font-size:clamp(30px,4vw,48px)}.admin-heading-actions{display:flex;align-items:center;gap:10px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric-card,.dashboard-panel{border:1px solid #e2e8f0;background:#fff;padding:22px}.metric-card,.dashboard-panel,.book-shelf-card{border-radius:8px}.metric-card strong{display:block;color:#173f5f;font-size:30px}.metric-card strong small{color:#94a3b8;font-size:16px}.metric-card span{display:block;margin-top:8px;color:#64748b;font-size:13px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.ai-admin-grid{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:start}.ai-admin-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.ai-admin-title h1{margin:0;color:#173f5f;font-size:clamp(30px,4vw,48px)}.ai-admin-toolbar-actions{display:flex;align-items:end;gap:16px}.assistant-picker{display:grid;gap:6px;min-width:min(360px,42vw);color:#475569;font-size:13px;font-weight:700}.assistant-picker select{min-height:42px;border:1px solid #cbd5e1;border-radius:4px;padding:9px 11px;color:#334155;background:#fff;font-size:14px}.assistant-picker select:focus{border-color:#25736f;box-shadow:0 0 0 3px #25736f1f;outline:0}.ai-admin-workspace-full{width:100%;box-sizing:border-box}.ai-assistant-list-item{padding:14px 10px;border:1px solid transparent;border-radius:5px}.ai-assistant-list-item>div{display:block}.ai-assistant-list-item strong,.ai-assistant-list-item span,.ai-assistant-list-item small{display:block}.ai-assistant-list-item span{margin-top:5px;color:#475569;overflow-wrap:anywhere}.ai-assistant-list-item small{margin-top:5px;color:#94a3b8}.ai-assistant-selected{border-color:#8fc5be;background:#effaf7}.ai-admin-item-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px}.ai-admin-workspace-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.ai-admin-workspace-heading h2,.knowledge-form h3,.ai-yaml-heading h3{margin-bottom:0}.ai-admin-workspace-heading small,.ai-yaml-heading span{color:#64748b;font-size:12px}.ai-yaml-form{margin-top:26px;border-top:1px solid #e2e8f0;padding-top:20px}.ai-yaml-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}.ai-yaml-editor{overflow:hidden;border:1px solid #cbd5e1}.ai-yaml-editor .cm-editor{min-height:520px;font-size:13px}.ai-yaml-editor .cm-scroller{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.ai-yaml-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:16px}.ai-config-errors{display:grid;gap:6px;margin-top:16px;border-left:3px solid #c2413b;padding:12px 14px;color:#9f2f2a;background:#fff0ee;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.ai-config-errors strong{color:#7f2723}.ai-config-history{margin-top:26px;border-top:1px solid #e2e8f0;padding-top:20px}.ai-history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #edf2f7;padding:12px 0}.ai-history-row>div:first-child{min-width:0}.ai-history-row strong,.ai-history-row span,.ai-history-row small{display:block}.ai-history-row span,.ai-history-row small{margin-top:4px;color:#64748b;font-size:12px;overflow-wrap:anywhere}.ai-history-view{margin-top:16px;border:1px solid #cbd5e1;padding:12px}.ai-history-view textarea{width:100%;box-sizing:border-box;margin-top:10px;min-height:360px;resize:vertical;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.ai-admin-empty{display:grid;gap:8px;padding:28px 10px;color:#64748b;line-height:1.5}.ai-admin-empty strong{color:#173f5f}@media (max-width: 820px){.ai-admin-grid{grid-template-columns:1fr}}.dashboard-panel h2{margin:0 0 18px;color:#173f5f;font-size:18px}.dashboard-panel.wide{grid-column:1 / -1}.books-shell{width:min(1280px,calc(100% - 64px));margin:0 auto;padding:42px 0 76px}.books-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.books-heading h1{margin:0;color:#173f5f;font-size:clamp(30px,4vw,48px)}.books-heading-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.books-toolbar{display:flex;align-items:end;gap:12px;margin-bottom:16px;border:1px solid #e2e8f0;padding:12px;background:#fff}.books-toolbar label{display:grid;gap:6px;margin:0;color:#64748b;font-size:12px}.books-search{display:grid;flex:1;gap:6px;min-width:180px}.books-toolbar input,.books-toolbar select{min-height:42px}.books-toolbar select{border:1px solid #cbd5e1;border-radius:5px;padding:10px 11px;color:#334155;background:#fff}.books-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;background:#fff}.books-table{width:100%;min-width:880px;border-collapse:collapse}.books-table th,.books-table td{border-bottom:1px solid #edf1f5;padding:14px 16px;color:#475569;font-size:13px;text-align:left;vertical-align:middle}.books-table th{color:#64748b;background:#f8fafc;font-size:12px;font-weight:800}.books-table tr:last-child td{border-bottom:0}.books-table td:first-child{max-width:280px}.books-table td:first-child strong{display:block;overflow-wrap:anywhere;color:#173f5f;font-size:14px;line-height:1.4}.books-table td:first-child small{display:block;margin-top:5px;color:#94a3b8;font-size:11px}.book-status{display:inline-flex;border-radius:99px;padding:5px 8px;font-size:11px;font-weight:800}.book-status-active{color:#216143;background:#dff4ef}.book-status-deleted{color:#9f2f2a;background:#fff0ee}.books-row-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.danger-text{color:#a33732}.danger-text:hover{color:#7f2723}.books-empty{display:grid;justify-items:center;gap:10px;min-height:260px;border:1px solid #e2e8f0;padding:56px 24px;color:#64748b;background:#fff;text-align:center}.books-empty strong{color:#173f5f;font-size:20px}.books-empty span{max-width:420px;line-height:1.6}.books-empty .primary-button{margin-top:10px}.books-loading{min-height:260px;border:1px solid #e2e8f0;background:#fff}.book-context-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;border:1px solid #b8d9d5;padding:14px 16px;color:#216143;background:#effaf7}.book-context-banner strong{display:block;margin-top:4px;color:#173f5f;font-size:18px;overflow-wrap:anywhere}.book-context-banner>span{color:#64748b;font-size:12px}.shelf-context-banner{margin-bottom:28px}.book-context-bar{display:flex;align-items:center;gap:16px;margin-bottom:22px;border-bottom:1px solid #dbe4ec;padding:0 0 14px}.book-context-bar>div{display:grid;gap:3px;min-width:0;margin-right:auto}.book-context-bar>div span{color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase}.book-context-bar strong{color:#173f5f;font-size:16px;overflow-wrap:anywhere}.book-context-id{color:#94a3b8;font-size:12px}.current-book-label{color:#216143!important;font-weight:800}.book-shelf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.book-shelf-card{min-width:0;border:1px solid #e2e8f0;padding:22px;background:#fff}.book-shelf-card-current{border-color:#8fc5be;box-shadow:inset 0 3px #25736f}.book-shelf-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:72px}.book-shelf-card h2{margin:5px 0 0;color:#173f5f;font-size:22px;line-height:1.25;overflow-wrap:anywhere}.book-current-badge{flex:0 0 auto;border:1px solid #b8d9d5;padding:5px 7px;color:#216143;background:#effaf7;font-size:10px;font-weight:800}.book-progress-summary{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:26px}.book-progress-summary strong{color:#25736f;font-size:30px}.book-progress-summary span{color:#64748b;font-size:12px}.book-shelf-card .progress-track{margin-top:8px}.book-shelf-stats{display:flex;justify-content:space-between;gap:10px;margin-top:12px;color:#64748b;font-size:12px;line-height:1.45}.book-shelf-stats span:last-child{flex:0 0 auto;color:#216143;font-weight:800}.book-shelf-action{width:100%;margin-top:22px}.book-context-required{min-height:300px}.book-import-dialog{width:min(680px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto}.book-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.book-dialog-heading h2{margin-bottom:0}.light-icon{border-color:#cbd5e1;color:#64748b}.book-file-picker{display:flex;align-items:center;gap:12px;min-height:44px;margin:22px 0 0;border:1px dashed #8fc5be;border-radius:5px;padding:10px 13px;color:#216143;background:#effaf7;cursor:pointer}.book-file-picker input{width:auto;min-width:0;border:0;padding:0;background:transparent}.book-file-name{margin:8px 0 0;color:#475569;font-size:13px;overflow-wrap:anywhere}.loading-inline{margin-top:14px;color:#25736f;font-size:13px}.book-import-preview{margin-top:20px;border-top:1px solid #e2e8f0;padding-top:18px}.book-import-target,.book-import-action{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}.book-import-action{grid-template-columns:92px minmax(0,1fr);margin-top:10px}.book-import-target span,.book-import-action span{color:#64748b;font-size:12px}.book-import-target strong,.book-import-action strong{min-width:0;color:#173f5f;overflow-wrap:anywhere}.book-import-target em{color:#64748b;font-size:12px;font-style:normal}.book-import-summary{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 10px;color:#475569;font-size:12px;font-weight:700}.book-import-failed{color:#a33732}.book-import-results{display:grid;max-height:270px;overflow:auto;border:1px solid #e2e8f0}.book-import-result{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0;border-bottom:1px solid #edf1f5;padding:11px 12px}.book-import-result:last-child{border-bottom:0}.book-import-result>div{min-width:0}.book-import-result strong,.book-import-result small{display:block;overflow-wrap:anywhere}.book-import-result strong{color:#173f5f;font-size:12px}.book-import-result small{margin-top:4px;color:#64748b;line-height:1.45}.book-import-result>span{flex:0 0 auto;color:#216143;font-size:11px;font-weight:800}.book-import-result-failed{background:#fff8f7}.book-import-result-failed>span,.book-import-error-detail{color:#a33732!important}.book-import-result-ignored>span{color:#64748b}.book-restore-check{display:flex;align-items:flex-start;gap:8px;margin-top:16px;color:#70510b;line-height:1.5}.book-restore-check input{width:16px;height:16px;flex:0 0 auto;margin:2px 0 0;accent-color:#25736f}.book-import-warning{margin:14px 0 0;border-left:3px solid #b7791f;padding:9px 11px;color:#70510b;background:#fff8e4;font-size:12px;line-height:1.5}.knowledge-shell{width:min(1240px,calc(100% - 64px));margin:0 auto;padding:42px 0 76px}.knowledge-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.knowledge-heading-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.visually-hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.batch-strategy-select{min-height:42px;border:1px solid #cbd5e1;border-radius:4px;padding:9px 10px;color:#334155;background:#fff}.knowledge-heading h1{margin:0;color:#173f5f;font-size:clamp(30px,4vw,48px)}.knowledge-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;border:1px solid #e2e8f0;padding:12px;background:#fff}.knowledge-search{display:flex;flex:1;align-items:center;gap:12px}.knowledge-search input{min-width:0;flex:1}.knowledge-toolbar select{min-height:42px;border:1px solid #cbd5e1;border-radius:4px;padding:9px 10px;color:#334155;background:#fff}.knowledge-total{margin-left:auto;color:#64748b;font-size:13px;white-space:nowrap}.page-notice{margin-bottom:16px;border-left:3px solid #25736f;padding:11px 13px;color:#216143;background:#effaf7;font-size:13px}.self-test-admin-shell{width:min(1240px,calc(100% - 64px));margin:0 auto;padding:42px 0 76px}.self-test-admin-heading,.self-test-panel-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.self-test-admin-heading h1{margin:0;color:#173f5f;font-size:clamp(30px,4vw,48px)}.self-test-admin-actions{display:flex;align-items:center;gap:14px}.self-test-file-button{position:relative;overflow:hidden;cursor:pointer}.self-test-file-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.self-test-overview-panel,.self-test-import-panel{margin-top:28px;border-top:1px solid #d9e2e8;padding-top:22px}.self-test-panel-heading h2{margin:0;color:#173f5f}.self-test-panel-heading>span{color:#64748b;font-size:12px}.self-test-table-wrap{margin-top:18px;overflow-x:auto;border:1px solid #dfe7ec}.self-test-table{width:100%;border-collapse:collapse;min-width:720px}.self-test-table th,.self-test-table td{padding:12px 14px;border-bottom:1px solid #edf1f5;text-align:left;vertical-align:top}.self-test-table th{color:#64748b;background:#f8fafb;font-size:12px;font-weight:800}.self-test-table td{color:#334155;font-size:13px}.self-test-table td strong,.self-test-table td small{display:block}.self-test-table td small{margin-top:4px;color:#64748b;overflow-wrap:anywhere}.self-test-table-empty{text-align:center!important;color:#64748b!important;padding:32px!important}.self-test-status{display:inline-block;padding:3px 7px;color:#216143;background:#effaf7;font-size:11px;font-weight:800}.self-test-status-failed{color:#a33732;background:#fff1ef}.self-test-status-deleted{color:#70510b;background:#fff8e4}.self-test-error{color:#a33732!important}.self-test-import-note{margin:14px 0;border-left:3px solid #b7791f;padding:9px 11px;color:#70510b;background:#fff8e4;font-size:12px;line-height:1.5}.self-test-delete-check{display:flex;gap:9px;align-items:flex-start;margin:14px 0;color:#334155;font-size:13px}.self-test-result-summary{display:flex;flex-wrap:wrap;gap:20px;margin-top:18px;color:#216143;font-size:13px;font-weight:800}.self-test-empty-hint{margin-top:16px}.phase-block>.level-grid{grid-column:1 / -1;grid-row:2}.phase-block{display:block}.phase-heading{display:flex;padding-right:0}.phase-heading>span:first-child{grid-column:auto;grid-row:auto;padding-right:0}.phase-heading>.phase-line{grid-column:auto;grid-row:auto}.phase-self-test-node{position:relative;width:128px;height:108px;min-height:108px;justify-self:start;align-items:center;padding:4px;border-color:#9fcfc7;background:#effaf7;overflow:hidden}.phase-self-test-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;border-radius:4px;background:#fff}.phase-self-test-unlocked .phase-self-test-image,.phase-self-test-completed .phase-self-test-image{flex:1 1 auto;height:auto;min-height:0}.phase-self-test-node>.status-badge{flex:0 0 auto;margin-top:4px;white-space:nowrap}.phase-self-test-node strong{color:#216143;font-weight:700}.phase-self-test-node:hover:not(.node-locked),.phase-self-test-node:focus-visible:not(.node-locked){border-color:#25736f;background:#e2f5f0}.phase-self-test-node{border-color:#c6dfe0;background:#fff}.phase-self-test-node strong{color:#173f5f;font-weight:400}.phase-self-test-node:hover:not(.node-locked),.phase-self-test-node:focus-visible:not(.node-locked){border-color:#25736f;background:#fff}.phase-self-test-node .status-badge-icon{font-size:12px}@media (max-width: 520px){.phase-self-test-node{width:110px;height:92px;min-height:92px}}@media (max-width: 760px){.ai-admin-toolbar{align-items:stretch;flex-direction:column;gap:16px}.ai-admin-toolbar-actions{align-items:stretch;flex-direction:column}.assistant-picker{min-width:0}.ai-admin-toolbar-actions .primary-button{align-self:flex-start}}.self-test-shell{width:min(980px,calc(100% - 64px));margin:0 auto;padding:22px 0 42px}.self-test-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.self-test-header h1{margin:0;color:#173f5f;font-size:20px}.self-test-progress-panel,.self-test-question-panel,.self-test-rating-panel,.self-test-complete-panel{border-top:1px solid #d9e2e8;padding:14px 0}.self-test-progress-panel>div:first-child{display:flex;justify-content:space-between;gap:18px;color:#334155;font-size:14px}.self-test-progress-panel .progress-track{margin-top:12px}.self-test-question-meta{display:flex;justify-content:space-between;gap:18px;color:#64748b;font-size:13px;font-weight:800}.self-test-question-content{margin-top:0;color:#1e293b;font-size:16px;line-height:1.65}.self-test-answer-area{margin-top:8px}.self-test-reveal-area{border-top:1px solid #d9e2e8;padding-top:9px}.self-test-answer-content{margin-top:14px;border-left:3px solid #25736f;padding:14px 16px;color:#334155;background:#f6fbfa;line-height:1.7}.self-test-rating-panel{margin:0 0 8px;border-top:0;padding:0}.self-test-rating-line{display:flex;align-items:center;gap:5px;color:#64748b;font-size:13px}.self-test-rating-label{color:#475569;font-size:12px}.self-test-stars{display:inline-flex;gap:1px;margin:0 2px}.self-test-star{position:relative;width:25px;height:28px;border:0;padding:0;color:#cbd5e1;background:transparent;cursor:pointer;font-size:23px;line-height:1;transition:color .12s ease,transform .12s ease}.self-test-star-outline,.self-test-star-fill{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.self-test-star-fill{display:none}.self-test-star:hover,.self-test-star:focus-visible,.self-test-star-active{color:#b7791f}.self-test-star-active .self-test-star-outline{display:none}.self-test-star-active .self-test-star-fill{display:grid}@media (hover: hover) and (pointer: fine){.self-test-stars:has(.self-test-star:nth-child(1):hover) .self-test-star:nth-child(-n+1) .self-test-star-outline,.self-test-stars:has(.self-test-star:nth-child(2):hover) .self-test-star:nth-child(-n+2) .self-test-star-outline,.self-test-stars:has(.self-test-star:nth-child(3):hover) .self-test-star:nth-child(-n+3) .self-test-star-outline{display:none}.self-test-stars:has(.self-test-star:nth-child(1):hover) .self-test-star:nth-child(-n+1) .self-test-star-fill,.self-test-stars:has(.self-test-star:nth-child(2):hover) .self-test-star:nth-child(-n+2) .self-test-star-fill,.self-test-stars:has(.self-test-star:nth-child(3):hover) .self-test-star:nth-child(-n+3) .self-test-star-fill{display:grid}.self-test-stars:has(.self-test-star:nth-child(1):hover) .self-test-star:nth-child(-n+1),.self-test-stars:has(.self-test-star:nth-child(2):hover) .self-test-star:nth-child(-n+2),.self-test-stars:has(.self-test-star:nth-child(3):hover) .self-test-star:nth-child(-n+3){color:#b7791f}}.self-test-star:hover,.self-test-star:focus-visible{transform:scale(1.08)}.self-test-star:focus-visible{outline:2px solid #25736f;outline-offset:2px}.self-test-footer{display:flex;align-items:center;gap:18px;margin-top:12px;color:#94a3b8;font-size:11px}.self-test-footer-phase{margin-right:auto;color:#64748b}.self-test-complete-panel{text-align:center;padding:80px 20px}.self-test-complete-panel h2{color:#173f5f;font-size:28px}.self-test-complete-panel button{margin-top:14px}.self-test-result-panel,.self-test-skip-panel{border-top:1px solid #d9e2e8;padding:28px 0}.self-test-result-panel h2{margin:8px 0;color:#173f5f;font-size:clamp(44px,8vw,76px);line-height:1}.self-test-skip-panel h2{margin:0 0 10px;color:#173f5f;font-size:22px}.self-test-skip-panel button{margin-top:16px}.self-test-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0f212d6b}.self-test-confirm-dialog{width:min(480px,100%);border:1px solid #d9e2e8;padding:28px;background:#fff;box-shadow:0 18px 48px #0f212d33}.self-test-confirm-dialog h2{margin:0 0 12px;color:#173f5f}.self-test-confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.compact-loading{min-height:180px}.knowledge-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;background:#fff}.knowledge-table{width:100%;border-collapse:collapse;min-width:760px}.knowledge-table th,.knowledge-table td{border-bottom:1px solid #edf1f5;padding:14px 16px;color:#475569;font-size:13px;text-align:left;vertical-align:middle}.knowledge-table .selection-column{width:42px;padding-right:4px;padding-left:12px;text-align:center}.knowledge-table .selection-column input{width:16px;height:16px;margin:0;accent-color:#25736f}.knowledge-table th{color:#64748b;background:#f8fafc;font-size:12px;font-weight:800}.knowledge-table tr:last-child td{border-bottom:0}.knowledge-table td:first-child strong{display:block;color:#173f5f;font-size:14px}.knowledge-table td:first-child small{display:block;margin-top:4px;color:#94a3b8}.knowledge-status{display:inline-block;border-radius:99px;padding:5px 8px;font-size:11px;font-weight:800}.knowledge-status-draft{color:#70510b;background:#fff4cc}.knowledge-status-published{color:#216143;background:#dff4ef}.knowledge-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.editor-status-line{display:flex;align-items:center;gap:12px}.parse-status{display:inline-flex;align-items:center;min-height:28px;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:800}.parse-valid{color:#216143;background:#def4df}.parse-invalid{color:#9f2f2a;background:#fff0ee}.parse-waiting{color:#70510b;background:#fff4cc}.parse-idle{color:#64748b;background:#eef2f6}.markdown-meta-grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(110px,1fr));gap:14px;margin-top:20px}.markdown-meta-grid label{display:block;color:#475569;font-size:13px;font-weight:700}.markdown-meta-grid input,.markdown-meta-grid select{display:block;width:100%;margin-top:7px;border:1px solid #cbd5e1;border-radius:4px;padding:10px 11px;color:#334155;background:#fff}.markdown-meta-grid input:focus,.markdown-meta-grid select:focus{border-color:#25736f;box-shadow:0 0 0 3px #25736f1f;outline:0}.markdown-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;border-bottom:1px solid #e2e8f0;padding-bottom:10px}.mode-tabs{display:flex;gap:4px}.mode-tab{border:1px solid #cbd5e1;border-radius:4px;padding:7px 12px;color:#64748b;background:#fff;font-size:12px;font-weight:800}.mode-tab:hover,.mode-tab.active{border-color:#25736f;color:#216143;background:#effaf7}.markdown-count{color:#64748b;font-size:12px}.markdown-errors{margin-top:14px;border-left:3px solid #c2413b;padding:10px 13px;color:#9f2f2a;background:#fff0ee;font-size:12px;line-height:1.55}.markdown-errors strong{display:block}.markdown-errors ul{margin:6px 0 0;padding-left:18px}.markdown-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:14px;min-width:0}.markdown-source-pane,.markdown-preview-pane{min-width:0;overflow:hidden;border:1px solid #dbe4ec;background:#f8fafc}.pane-heading{display:flex;align-items:center;justify-content:space-between;min-height:42px;border-bottom:1px solid #dbe4ec;padding:9px 12px;color:#173f5f;font-size:13px;font-weight:800}.pane-heading small{color:#64748b;font-size:11px;font-weight:600}.markdown-editor-shell{overflow:hidden;background:#102c45}.markdown-editor-shell .cm-editor{min-height:560px;font-size:13px}.markdown-editor-shell .cm-scroller{overflow:auto;font-family:Cascadia Code,Consolas,monospace}.markdown-editor-shell .cm-content{min-height:560px;padding:14px 0}.markdown-preview-pane{overflow:auto;background:#fff}.static-preview-content{min-height:560px;padding:18px;color:#334155;line-height:1.65}.static-preview-label{display:inline-block;margin-bottom:12px;border:1px solid #b8d9d5;border-radius:99px;padding:4px 8px;color:#216143;background:#effaf7;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.static-preview-content h1{margin:0 0 22px;color:#173f5f;font-size:25px;line-height:1.2}.static-preview-content h2{margin:24px 0 10px;color:#173f5f;font-size:18px}.static-preview-content h3,.static-preview-content h4{margin:18px 0 8px;color:#173f5f;font-size:15px}.static-preview-content p{margin:9px 0}.static-preview-content ul,.static-preview-content ol{margin:9px 0;padding-left:24px}.preview-table{width:100%;margin:12px 0;border-collapse:collapse;font-size:12px}.preview-table th,.preview-table td{border:1px solid #dbe4ec;padding:7px 8px;text-align:left}.preview-table th{color:#173f5f;background:#f8fafc}.preview-code{overflow:auto;margin:12px 0;border:1px solid #294b67;border-radius:4px;padding:12px;color:#dbeafe;background:#102c45;font-size:12px;line-height:1.55}.preview-questions{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:4px}.preview-question-card{margin-top:12px;border:1px solid #dbe4ec;border-radius:4px;padding:13px;background:#fbfefd}.preview-question-card .question-stem{margin:8px 0;color:#334155}.preview-options{display:grid;gap:7px;border:0;margin:0;padding:0}.preview-options label{display:block;margin:0;border:1px solid #e2e8f0;border-radius:3px;padding:7px 9px;color:#64748b;background:#fff;font-size:12px;font-weight:600}.preview-options input{width:auto;margin-right:7px}.preview-judge{display:flex;gap:8px}.preview-judge button{border:1px solid #cbd5e1;border-radius:4px;padding:7px 12px;color:#64748b;background:#f8fafc;font-size:12px}.preview-disabled-note{color:#64748b;font-size:11px}.preview-placeholder{display:grid;place-items:center;min-height:560px;padding:24px;text-align:center}.preview-placeholder h3{margin:12px 0 4px;color:#173f5f}.import-conflict-list{margin:14px 0 0;padding-left:20px;color:#475569;font-size:13px;line-height:1.7}.import-result-panel{margin-top:20px;border:1px solid #b8d9d5;padding:20px;background:#fff;box-shadow:0 12px 30px #173f5f14}.import-result-heading{display:flex;align-items:start;justify-content:space-between;gap:18px;border-bottom:1px solid #e2e8f0;padding-bottom:14px}.import-result-heading h2{margin:0;color:#173f5f;font-size:18px;overflow-wrap:anywhere}.import-result-summary{display:flex;flex-wrap:wrap;gap:8px 18px;margin:16px 0;color:#216143;font-size:13px;font-weight:800}.import-result-failed{color:#b33a35}.import-result-list{max-height:340px;overflow:auto;border-top:1px solid #edf1f5}.import-result-item{display:flex;align-items:start;justify-content:space-between;gap:18px;border-bottom:1px solid #edf1f5;padding:11px 0;color:#475569}.import-result-item strong{display:block;color:#173f5f;font-size:13px;overflow-wrap:anywhere}.import-result-item small{display:block;margin-top:4px;color:#64748b;font-size:12px}.import-result-item>span{flex-shrink:0;color:#216143;font-size:12px;font-weight:800}.import-result-failed>span{color:#b33a35}.import-result-ignored>span{color:#64748b}.import-result-item ul{margin:6px 0 0;padding-left:18px;color:#9f2f2a;font-size:11px;line-height:1.5}.import-failure-panel{margin-top:20px;border:1px solid #e4aaa5;padding:20px;background:#fff;box-shadow:0 12px 30px #173f5f14}.import-failure-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:16px 0;color:#9f2f2a;font-size:14px;line-height:1.5}.import-failure-summary code,.import-result-code{border:1px solid #e4aaa5;border-radius:3px;padding:3px 6px;color:#8f2723;background:#fff0ee;font:11px Cascadia Code,Consolas,monospace}.import-failure-details{border-top:1px solid #f1d0cc;padding-top:14px;color:#475569}.import-failure-details h3{margin:0 0 8px;color:#173f5f;font-size:14px}.import-failure-details ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.import-failure-details li{display:grid;grid-template-columns:minmax(100px,180px) minmax(0,1fr);gap:10px;border-left:3px solid #c2413b;padding:8px 10px;background:#fff7f5;font-size:12px;line-height:1.5}.import-failure-details li span{white-space:pre-line;overflow-wrap:anywhere}.import-failure-details li strong{color:#8f2723}.import-failure-no-details{margin:0;color:#64748b;font-size:12px;line-height:1.5}.import-result-code{display:inline-block;margin-right:6px}@media (max-width: 520px){.verification-code-row{grid-template-columns:1fr;gap:4px}.verification-code-row .text-button{justify-self:start;padding-bottom:0}.import-failure-details li{grid-template-columns:1fr;gap:3px}}.markdown-mode-edit .markdown-source-pane{grid-column:1 / -1}.markdown-mode-edit .markdown-preview-pane,.markdown-mode-preview .markdown-source-pane{display:none}.markdown-mode-preview .markdown-preview-pane{grid-column:1 / -1}.danger-text{color:#b33a35}.danger-text:hover{color:#8f2723}.knowledge-empty{border:1px dashed #b8d9d5;padding:58px 24px;color:#334155;background:#fbfefd;text-align:center}.knowledge-empty h2{margin:0 0 8px;color:#173f5f;font-size:22px}.knowledge-empty .primary-button{margin-top:20px}.knowledge-editor-panel{margin-top:20px;border:1px solid #b8d9d5;padding:24px;background:#fff;box-shadow:0 12px 30px #173f5f14}.knowledge-editor-heading,.section-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.knowledge-editor-heading{border-bottom:1px solid #e2e8f0;padding-bottom:18px}.knowledge-editor-heading h2,.section-heading h3{margin:0;color:#173f5f}.section-heading h3 small{color:#94a3b8;font-size:13px}.light-icon{border-color:#cbd5e1;color:#64748b;background:#fff}.light-icon:hover,.light-icon:focus-visible{border-color:#25736f;color:#25736f}.knowledge-form{margin-top:20px}.knowledge-form label,.question-editor label{display:block;color:#475569;font-size:13px;font-weight:700}.knowledge-form input,.knowledge-form select,.knowledge-form textarea,.question-editor input,.question-editor select,.question-editor textarea{display:block;width:100%;margin-top:7px;border:1px solid #cbd5e1;border-radius:4px;padding:10px 11px;color:#334155;background:#fff;line-height:1.5}.knowledge-form input:focus,.knowledge-form select:focus,.knowledge-form textarea:focus,.question-editor input:focus,.question-editor select:focus,.question-editor textarea:focus{border-color:#25736f;box-shadow:0 0 0 3px #25736f1f;outline:0}.knowledge-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.knowledge-json-editor{min-height:190px;resize:vertical;color:#dbeafe!important;background:#102c45!important;font-family:Cascadia Code,Consolas,monospace;font-size:13px}.compact-json{min-height:130px;resize:vertical;color:#dbeafe!important;background:#102c45!important;font-family:Cascadia Code,Consolas,monospace;font-size:12px}.form-help{margin:8px 0 0;color:#64748b;font-size:12px;line-height:1.5}.knowledge-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:18px}.question-maintenance{margin-top:28px;border-top:1px solid #e2e8f0;padding-top:22px}.question-admin-list{margin-top:14px;border-top:1px solid #edf1f5}.question-admin-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf1f5;padding:14px 0}.question-admin-row strong{color:#173f5f;font-size:13px}.question-admin-row p{margin:5px 0 0;color:#64748b;font-size:13px}.question-editor{margin-top:22px;border-top:1px solid #b8d9d5;padding-top:20px}.question-editor>label{margin-top:14px}.danger-button{border:0;border-radius:4px;padding:11px 15px;color:#fff;background:#b33a35;font-weight:800}.danger-button:hover:not(:disabled){background:#8f2723}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#0f23346b}.confirm-dialog{width:min(440px,100%);border:1px solid #b8d9d5;padding:24px;background:#fff;box-shadow:0 20px 50px #173f5f3d}.confirm-dialog h2{margin:0 0 12px;color:#173f5f;font-size:22px}.confirm-dialog p:not(.eyebrow){color:#64748b;font-size:13px;line-height:1.6}.reset-dialog{width:min(520px,100%)}.reset-dialog form{margin-top:18px}.phase-stat+.phase-stat{margin-top:17px}.phase-stat>div:first-child,.submission-list>div,.activity-list li{display:flex;justify-content:space-between;gap:14px}.phase-stat span,.activity-list{color:#64748b;font-size:13px}.phase-stat .progress-track{margin-top:8px}.activity-list{margin:0;padding:0;list-style:none}.activity-list li+li{margin-top:12px}.activity-list strong{color:#173f5f}.submission-list>div{align-items:center;border-top:1px solid #edf1f5;padding:12px 0;color:#475569;font-size:13px}.ai-panel{border:1px solid #dbe4ec;padding:18px;background:#f8fbfc}.workspace-ai{display:none}.ai-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.ai-heading h2{margin:0}.ai-heading select{border:1px solid #cbd5e1;border-radius:4px;padding:8px;color:#334155;background:#fff}.ai-messages{max-height:260px;overflow:auto;margin:14px 0}.ai-message{max-width:86%;margin-top:9px;border-radius:4px;padding:10px 12px;white-space:pre-wrap;font-size:13px;line-height:1.6}.ai-markdown-content{overflow-wrap:anywhere;white-space:normal}.ai-markdown-content>:first-child{margin-top:0}.ai-markdown-content>:last-child{margin-bottom:0}.ai-markdown-content p{margin:0 0 10px}.ai-markdown-content ul,.ai-markdown-content ol{margin:0 0 10px;padding-left:20px}.ai-markdown-content li+li{margin-top:4px}.ai-markdown-content pre{overflow:auto;margin:10px 0;border-radius:4px;padding:10px;color:#dbeafe;background:#102c45;font-size:12px;line-height:1.5}.ai-markdown-content pre code{color:inherit;background:transparent;font-family:Cascadia Code,Consolas,monospace}.ai-markdown-content code{border-radius:3px;padding:1px 4px;color:#173f5f;background:#e7f3f1;font-family:Cascadia Code,Consolas,monospace;font-size:.92em}.ai-markdown-content blockquote{margin:10px 0;border-left:3px solid #b8d9d5;padding-left:10px;color:#52706f}.ai-markdown-content table{width:100%;margin:10px 0;border-collapse:collapse;font-size:12px}.ai-markdown-content th,.ai-markdown-content td{border:1px solid #dbe4ec;padding:6px 8px;text-align:left;vertical-align:top}.ai-markdown-content th{background:#f8fafc;font-weight:800}.ai-user{margin-left:auto;color:#173f5f;background:#dff4ef}.ai-assistant{color:#334155;background:#fff}.ai-error{color:#9f2f2a;background:#fff0ee}.ai-form{display:flex;gap:8px}.ai-form input{flex:1}.workspace-shell{width:min(1320px,calc(100% - 64px));margin:0 auto;padding:34px 0 72px}.workspace-header{position:sticky;top:0;z-index:2}.workspace-header>.text-button{margin-right:8px}.workspace-title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.workspace-title h1{margin:0;color:#173f5f;font-size:clamp(30px,4vw,48px);line-height:1.1}.workspace-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:start}.lesson-column,.editor-column{border:1px solid #e2e8f0;background:#fff}.lesson-column{padding:28px}.lesson-column section+section{margin-top:30px;border-top:1px solid #edf1f5;padding-top:26px}.lesson-column h2,.editor-column h2{margin:0 0 12px;color:#173f5f;font-size:19px}.lesson-reading{margin:0;color:#475569;line-height:1.8}.markdown-content{overflow-wrap:anywhere}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:#173f5f;line-height:1.3}.markdown-content h1{margin:24px 0 12px;font-size:28px}.markdown-content h2{margin:22px 0 10px;font-size:22px}.markdown-content h3{margin:18px 0 8px;font-size:18px}.markdown-content h4,.markdown-content h5,.markdown-content h6{margin:16px 0 7px;font-size:16px}.markdown-content p{margin:0 0 12px}.markdown-content ul,.markdown-content ol{margin:0 0 14px;padding-left:24px}.markdown-content li+li{margin-top:5px}.markdown-content blockquote{margin:14px 0;border-left:3px solid #b8d9d5;padding:8px 14px;color:#52706f;background:#f4fbf9}.markdown-content code{border-radius:3px;padding:2px 5px;color:#173f5f;background:#e7f3f1;font-family:Cascadia Code,Consolas,monospace;font-size:.92em}.markdown-content pre{overflow:auto;margin:14px 0;border:1px solid #294b67;border-radius:4px;padding:14px;color:#dbeafe;background:#102c45;line-height:1.55}.markdown-content pre code{padding:0;color:inherit;background:transparent;font-size:13px}.markdown-content pre code .hljs-comment,.question-stem-markdown pre code .hljs-comment,.choice-option-markdown pre code .hljs-comment,.ai-markdown-content pre code .hljs-comment,.self-test-answer-content pre code .hljs-comment{color:#8b949e}.markdown-content pre code .hljs-keyword,.question-stem-markdown pre code .hljs-keyword,.choice-option-markdown pre code .hljs-keyword,.ai-markdown-content pre code .hljs-keyword,.self-test-answer-content pre code .hljs-keyword{color:#ff7b72}.markdown-content pre code .hljs-title,.question-stem-markdown pre code .hljs-title,.choice-option-markdown pre code .hljs-title,.ai-markdown-content pre code .hljs-title,.self-test-answer-content pre code .hljs-title{color:#d2a8ff}.markdown-content pre code .hljs-string,.question-stem-markdown pre code .hljs-string,.choice-option-markdown pre code .hljs-string,.ai-markdown-content pre code .hljs-string,.self-test-answer-content pre code .hljs-string{color:#a5d6ff}.markdown-content pre code .hljs-number,.question-stem-markdown pre code .hljs-number,.choice-option-markdown pre code .hljs-number,.ai-markdown-content pre code .hljs-number,.self-test-answer-content pre code .hljs-number{color:#79c0ff}.markdown-content pre code .hljs-built_in,.question-stem-markdown pre code .hljs-built_in,.choice-option-markdown pre code .hljs-built_in,.ai-markdown-content pre code .hljs-built_in,.self-test-answer-content pre code .hljs-built_in{color:#ffa657}.markdown-content pre code .hljs-name,.question-stem-markdown pre code .hljs-name,.choice-option-markdown pre code .hljs-name,.ai-markdown-content pre code .hljs-name,.self-test-answer-content pre code .hljs-name{color:#7ee787}.markdown-content table{width:100%;margin:14px 0;border-collapse:collapse;font-size:13px}.markdown-content th,.markdown-content td{border:1px solid #dbe4ec;padding:8px 10px;text-align:left;vertical-align:top}.markdown-content th{color:#173f5f;background:#f8fafc;font-weight:800}.markdown-content img{display:block;max-width:100%;height:auto;margin:14px 0}.markdown-content a{color:#25736f;text-decoration:underline}.markdown-mermaid{overflow:hidden;margin:16px 0;border:1px solid #dbe4ec;border-radius:4px;padding:4px;background:#fff;text-align:center}.markdown-mermaid svg{display:block;width:auto;min-width:0;max-width:none;height:auto;margin:0 auto}.markdown-mermaid .nodeLabel,.markdown-mermaid .edgeLabel,.markdown-mermaid .label{max-width:100px;font-size:18px!important;line-height:1.25!important;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.ai-markdown-content .markdown-mermaid{margin:8px -2px;padding:2px}.markdown-mermaid-loading,.markdown-mermaid-error{color:#64748b;font-size:13px}.markdown-mermaid-error{margin:0;color:#9f2f2a}.markdown-mermaid-source{max-height:260px;margin:10px 0 0;text-align:left}.markdown-cards{container-type:inline-size;width:100%;min-width:0;margin:16px 0;border:1px solid #dbe4ec;border-radius:4px;padding:5px;background:#fff;box-sizing:border-box}.markdown-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0}.markdown-card{min-width:0;border:var(--markdown-card-stroke-width, 1px) solid var(--markdown-card-stroke, #2573bc);border-radius:var(--markdown-card-radius, 8px);padding:9px 10px;color:#173f5f;background:var(--markdown-card-fill, #edf7ff);box-sizing:border-box;font-size:14px;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.markdown-card-title,.markdown-card-text{display:block;min-width:0;white-space:normal}.markdown-card-line{display:block;min-width:0}.markdown-card-title{margin-bottom:3px;font-size:13px}.markdown-card-text{color:#334155}.markdown-cards-error{text-align:left}@container (min-width: 480px){.markdown-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (max-width: 339px){.markdown-cards-grid{grid-template-columns:minmax(0,1fr)}}.ai-markdown-content .markdown-cards{margin:8px -2px;padding:4px;width:calc(100% + 4px)}.ai-markdown-content .markdown-card{padding:8px 9px;font-size:13px}.ai-markdown-content .markdown-card-title{font-size:12px}.markdown-render-fallback{overflow:auto;white-space:pre-wrap;margin:0;border:1px solid #e2e8f0;padding:12px;color:#334155;background:#f8fafc}.objective-list{margin:0;padding-left:20px;color:#475569;line-height:1.9}.example-card{margin-top:14px;border-left:3px solid #9ed8d2;padding:14px;background:#f7fbfb}.example-card p{margin:7px 0 10px;color:#64748b;font-size:13px}.example-card pre,.editor,.output-panel pre{font-family:Cascadia Code,Consolas,monospace}.example-card pre{overflow-x:auto;margin:0 0 12px;padding:12px;color:#e2e8f0;background:#173f5f;line-height:1.55}.editor-column{padding:24px}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.editor-heading h2{margin-bottom:0}.editor-actions{display:flex;align-items:center;gap:9px}.run-button{white-space:nowrap}.submit-button{border:1px solid #f4b942;border-radius:5px;padding:12px 15px;color:#70510b;background:#fff8e4;font-weight:800}.submit-button:hover:not(:disabled){background:#fff1c9}.editor{width:100%;min-height:360px;resize:vertical;border:1px solid #cbd5e1;border-radius:4px;padding:16px;outline:0;color:#e2e8f0;background:#102c45;font-size:14px;line-height:1.65;-moz-tab-size:4;tab-size:4}.editor:focus{border-color:#25736f;box-shadow:0 0 0 3px #25736f21}.save-state{color:#64748b;font-size:12px}.output-panel{margin-top:18px;border:1px solid #dbe4ec;background:#f8fafc}.output-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dbe4ec;padding:13px 15px}.output-heading h2{margin:0;font-size:15px}.output-heading span{color:#64748b;font-size:12px}.output-panel>p,.output-panel>pre{margin:0;padding:15px}.output-panel pre{min-height:76px;overflow:auto;white-space:pre-wrap;line-height:1.55}.interactive-console{margin-top:18px;border:1px solid #294b67;background:#102c45;color:#dbeafe;font-family:Cascadia Code,Consolas,monospace}.interactive-console-header{display:flex;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid #294b67;padding:8px 12px;font-family:inherit}.interactive-console-header strong{color:#f8fafc;font-size:13px}.interactive-console-header>span{flex:1;color:#9ebdd7;font-size:12px}.interactive-console-header>div{display:flex;align-items:center;gap:8px}.interactive-console .text-button{color:#b8e2df}.interactive-console-transcript{height:210px;overflow-y:auto;padding:12px}.interactive-console-transcript pre{min-height:100%;margin:0;color:inherit;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.55}.interactive-console-input{display:flex;align-items:center;gap:8px;border-top:1px solid #294b67;padding:8px 12px}.interactive-console-input>span{color:#7dd3c7;font-weight:800}.interactive-console-input input{min-width:0;flex:1;border:0;padding:6px 0;outline:0;color:#f8fafc;background:transparent;font:inherit}.interactive-console-input input:disabled{color:#94a3b8;cursor:not-allowed}.output-success{color:#216143}.output-error{color:#9f2f2a;background:#fff7f5}.timeout-note{border-top:1px solid #f4d78f;color:#8b5e08;background:#fff8e4;font-size:13px}.executor-error{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;border-bottom:1px solid #f0c5c1;padding:12px 15px;color:#8f2925;background:#fff7f5;font-size:13px}.executor-error strong{flex-basis:100%;color:#76231f}.executor-error span{flex:1 1 220px}.executor-error .text-button{color:#8f2925}.syntax-note{border-top:1px solid #f0c5c1;color:#8f2925;background:#fff7f5;font-size:13px}.execution-metrics{display:flex;flex-wrap:wrap;gap:7px 14px;border-top:1px solid #dbe4ec;padding:10px 15px;color:#64748b;font-size:12px}.question-progress{margin:-4px 0 14px;color:#64748b;font-size:13px}.question-card{margin-top:12px;border:1px solid #dbe4ec;padding:15px;color:#334155}.question-card,.answer-question-card,.code-question-card{border-radius:8px}.question-number{color:#25736f;font-size:11px;font-weight:800;text-transform:uppercase}.question-card p{line-height:1.55}.option-list{display:grid;gap:8px;margin:12px 0}.option-list label{display:flex;align-items:center;gap:8px;margin:0;font-weight:500}.question-card select,.question-card input{margin:8px 0 12px;padding:9px 10px}.check-answer{display:block;margin-top:10px}.answer-success,.submit-success{color:#216143}.answer-error,.submit-error{color:#9f2f2a}.answer-feedback{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.answer-feedback>p{margin:8px 0 0}.reference-answer-link{margin-top:8px;font-size:13px}.reference-answer{flex-basis:100%;margin-top:2px;padding:9px 11px;border-left:3px solid #25736f;background:#eef8f5;color:#24544e}.submit-success,.submit-error{margin-top:18px;border-left:3px solid #25736f;padding:12px 14px;background:#f1faf7}.submit-error{border-left-color:#c2413b;background:#fff7f5}.submit-success p,.submit-error p{margin:6px 0 0;font-size:13px;line-height:1.5}.verification-summary{flex:1;border-left:3px solid #25736f;padding:13px 15px;background:#f1faf7;color:#26454a}.verification-summary-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.verification-summary-heading strong{color:#173f5f}.verification-summary-heading span{color:#5d7375;font:600 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.verification-summary p{margin:6px 0 0;font-size:13px;line-height:1.5}.verification-summary.verification-failed{border-left-color:#c2413b;background:#fff7f5;color:#713a36}.verification-summary.verification-failed .verification-summary-heading strong{color:#8f2925}.verification-summary.verification-passed{border-left-color:#27856f;background:#f1faf7;color:#245c50}.verification-summary.verification-passed .verification-summary-heading strong{color:#17614f}.verification-summary.verification-forced{border-left-color:#b7791f;background:#fffaf0;color:#694d1f}.verification-summary.verification-forced .verification-summary-heading strong{color:#855b12}.verification-summary.verification-unverified{border-left-color:#b7791f;background:#fffaf0;color:#694d1f}.verification-summary.verification-unverified .verification-summary-heading strong{color:#855b12}.verification-metrics{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:10px;color:#3e6264;font-size:12px}.verification-failed .verification-metrics{color:#8f514b}.verification-unverified .verification-metrics{color:#876627}.verification-admin-note{color:#216143;font-weight:600}.verification-summary .syntax-note{color:#8f2925}.verification-summary .text-button{margin-top:8px;color:#855b12}.verification-rule-summary{display:grid;gap:4px;margin-top:10px;color:inherit;font-size:12px}.rule-failure-details{display:grid;gap:8px;margin-top:10px}.rule-failure-detail{border-left:3px solid #c2413b;padding:9px 11px;color:#475569;background:#fff7f5e6;font-size:12px;line-height:1.5}.rule-failure-detail>strong{display:block;color:#8f2723}.submission-question-failure{margin-top:16px;border-top:1px solid #e5c7c3;padding-top:14px}.submission-question-failure:first-child{margin-top:12px;border-top:0;padding-top:0}.submission-question-failure h3{margin:0;color:#8f2925;font-size:14px;line-height:1.45}.submission-question-failure ul{margin-bottom:0}.rule-failure-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}.rule-failure-values>div{min-width:0}.rule-failure-values span,.rule-failure-input span{color:#64748b;font-weight:700}.rule-failure-values pre{max-height:180px;overflow:auto;margin:3px 0 0;padding:6px 8px;color:#334155;background:#fff;border:1px solid #ead8d5;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.45 Cascadia Code,Consolas,monospace}.rule-failure-input{margin-top:5px;overflow-wrap:anywhere}.rule-failure-input code{color:#334155;white-space:pre-wrap}.rule-failure-detail p{margin:6px 0 0;color:#9f2f2a}.answer-question-card{padding:16px}.answer-question-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.question-heading-actions{display:flex;align-items:center;gap:8px}.question-ai-answer-button{border:1px solid #b8d9d5;border-radius:4px;padding:5px 9px;color:#216143;background:#effaf7;font-size:12px;font-weight:800;cursor:pointer}.question-ai-answer-button:hover{border-color:#216143;background:#dff4ed}.answer-status{color:#216143;font-size:12px;font-weight:800}.question-stem{margin:10px 0 12px}.choice-fieldset{min-width:0;margin:0;padding:0;border:0}.choice-options{display:grid;gap:16px;width:100%}.choice-options-four{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-options-two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-options-single{grid-template-columns:minmax(0,1fr)}.choice-option{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:10px;min-width:0;min-height:52px;margin:0;border:1px solid #cbd5e1;border-radius:5px;padding:10px 12px;color:#334155;background:#fff;cursor:pointer}.choice-option,.judge-button{border-radius:8px}.choice-option:hover{border-color:#25736f;background:#f7fbfb}.choice-option-selected{border-color:#25736f;box-shadow:0 0 0 2px #25736f1f;background:#effaf7}.choice-option input{width:17px;height:17px;margin:0;padding:0;accent-color:#25736f}.choice-option-key{color:#25736f;font-weight:800}.choice-option-label{min-width:0;overflow-wrap:anywhere;line-height:1.45}.choice-option-markdown>:first-child{margin-top:0}.choice-option-markdown>:last-child{margin-bottom:0}.choice-option-markdown p{margin:0 0 8px}.choice-option-markdown pre{max-width:100%;margin:8px 0;padding:9px;font-size:12px}.choice-option-markdown ul,.choice-option-markdown ol{margin:0 0 8px;padding-left:20px}.question-stem-markdown>:first-child{margin-top:0}.question-stem-markdown>:last-child{margin-bottom:0}.question-stem-markdown pre{max-width:100%;margin:10px 0;overflow:auto}.preview-options label{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:7px}.preview-options .choice-option-label{font-weight:400}.choice-fieldset:disabled .choice-option{cursor:not-allowed;opacity:.72}.answer-action-row{display:flex;align-items:center;gap:12px;min-height:34px}.answer-action-row .check-answer{margin-top:8px}.answer-pending,.judge-keyboard-note{color:#64748b;font-size:12px}.judge-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0 8px}.judge-button{min-height:48px;border:1px solid #cbd5e1;border-radius:5px;padding:10px 16px;color:#334155;background:#fff;font-size:16px;font-weight:800;cursor:pointer}.judge-button:hover:not(:disabled){border-color:#25736f;background:#f7fbfb}.judge-button-selected{border-color:#25736f;color:#216143;box-shadow:0 0 0 2px #25736f1f;background:#effaf7}.judge-button:focus-visible,.choice-option:has(input:focus-visible){outline:3px solid rgba(37,115,111,.28);outline-offset:2px}.judge-button:disabled{cursor:not-allowed;opacity:.72}.judge-keyboard-note{margin:0 0 8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.workspace-layout-inline{grid-template-columns:minmax(0,1fr)}.workspace-layout-inline .lesson-column{min-width:0}.lesson-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px}.lesson-image{display:block;width:100%;max-height:260px;border:1px solid #cbd5e1;border-radius:4px;object-fit:contain;background:#f8fafc}.code-question-card{margin-top:18px;border:1px solid #b8d9d5;padding:18px;background:#fbfefd}.code-question-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.code-question-heading h3{margin:5px 0 0;color:#173f5f;font-size:17px}.question-stem{margin:12px 0 10px;color:#334155;line-height:1.65}.code-template-note{margin:0 0 12px;color:#64748b;font-size:13px}.inline-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.editor-language{color:#25736f;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.inline-editor{min-height:280px;display:block}.code-editor-shell{overflow:hidden;border:1px solid #30363d;border-radius:4px;background:#0d1117}.code-editor-shell:focus-within{border-color:#586069;box-shadow:none}.code-editor-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:14px;min-height:48px;border-bottom:1px solid #30363d;padding:7px 14px;color:#c9d1d9;background:#161b22}.code-editor-toolbar:before{flex:0 0 9px;width:9px;height:9px;margin-right:32px;border-radius:50%;background:#ed6c60;box-shadow:16px 0 #f7c151,32px 0 #64c856;content:""}.code-editor-toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.editor-language-select{display:inline-flex;align-items:center;gap:7px;color:#8b949e;font-size:12px}.editor-language-select select{border:1px solid #30363d;border-radius:3px;padding:5px 8px;color:#c9d1d9;background:#0d1117}.editor-language-select select:disabled{cursor:not-allowed;opacity:.9}.editor-fullscreen-button{color:#c9d1d9}.code-editor-shell .cm-editor{min-height:300px;font-size:14px}.code-editor-shell .cm-editor,.code-editor-shell .cm-scroller,.code-editor-shell .cm-content{background:#0d1117}.code-editor-shell .cm-scroller{overflow:auto;font-family:Cascadia Code,Consolas,monospace}.code-editor-shell .cm-content{min-height:300px;padding:14px 0}.code-editor-shell .cm-selectionBackground,.code-editor-shell .cm-focused .cm-selectionBackground{background-color:#264f78!important}.code-editor-shell .cm-selectionMatch{background-color:#3b4f63!important;outline:1px solid #6b8fb3}.code-editor-shell .cm-content ::selection,.code-editor-shell .cm-line ::selection{color:#fff!important;background:#264f78!important}.code-editor-shell .cm-gutters{border-right:1px solid #30363d;background:#161b22}.code-editor-shell .cm-activeLine,.code-editor-shell .cm-activeLineGutter{background:#161b22}.code-editor-workbench-fullscreen{flex:1 1 auto;height:auto;min-height:0;display:flex;flex-direction:column}.code-editor-workbench-split{display:grid;grid-template-columns:minmax(0,1fr);min-height:0}.code-editor-pane,.code-editor-console{min-width:0;min-height:0}.code-editor-pane{display:flex;flex:1 1 0;flex-direction:column}.code-editor-workbench-fullscreen .code-editor-pane{overflow:hidden}.code-editor-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;min-height:0;border-radius:0}.code-editor-fullscreen .code-editor-toolbar{flex:0 0 auto}.code-editor-fullscreen .code-editor-pane>div{display:flex;flex:1 1 0;flex-direction:column;min-height:0}.code-editor-fullscreen .code-editor-pane .cm-editor{width:100%;height:100%!important;flex:1 1 auto;min-height:0}.code-editor-fullscreen .cm-content{min-height:0}.code-editor-workbench-fullscreen .code-editor-console{height:100%;overflow:hidden;display:flex;flex-direction:column}.code-editor-workbench-fullscreen .interactive-console{height:auto;min-height:0;margin-top:0;flex:1 1 auto;display:flex;flex-direction:column}.code-editor-workbench-fullscreen .interactive-console-header{flex:0 0 auto}.code-editor-workbench-fullscreen .interactive-console-transcript{height:auto;min-height:0;flex:1 1 auto}.code-editor-workbench-fullscreen .interactive-console-input{flex:0 0 auto}.code-editor-resize-handle{flex:0 0 10px;border-top:1px solid #30363d;border-bottom:1px solid #30363d;background:#161b22;cursor:row-resize;touch-action:none}.code-editor-resize-handle:after{display:block;width:42px;height:4px;margin:2px auto 0;border-top:1px solid #8b949e;border-bottom:1px solid #8b949e;content:""}.code-editor-resize-handle:hover,.code-editor-resize-handle:focus-visible{background:#21262d;outline:0}.inline-output{margin-top:12px}.output-heading h4{margin:0;font-size:14px}.workspace-submit-bar{display:flex;align-items:flex-start;gap:16px;margin-top:18px}.workspace-submit-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.force-pass-control{display:inline-flex;align-items:center;gap:6px;color:#70510b;font-size:13px;font-weight:700;white-space:nowrap}.force-pass-control input{accent-color:#b7791f}.workspace-submit-bar .submit-success,.workspace-submit-bar .submit-error{flex:1;margin-top:0}.workspace-submit-bar .verification-summary{margin-top:0}.level-complete-panel{margin-top:24px;border:1px solid #b8d9d5;padding:42px 24px;background:#f1faf7;text-align:center}.level-complete-panel h2{margin:0;color:#173f5f;font-size:clamp(48px,8vw,84px);line-height:1}.level-complete-actions{display:flex;justify-content:center;gap:12px;margin-top:28px}.level-complete-actions button{min-width:120px}.completion-secondary-button{border:1px solid #25736f;border-radius:5px;padding:12px 18px;color:#25736f;background:#fff;font-weight:800}.completion-secondary-button:hover{color:#173f5f;background:#e7f3f1}body.ai-sidebar-open{overflow:hidden;overscroll-behavior:none}body.ai-sidebar-open .app-shell{position:fixed;inset:0 var(--ai-sidebar-width, 380px) 0 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.ai-floating-trigger{position:fixed;right:18px;bottom:24px;z-index:40;display:grid;place-items:center;width:54px;height:54px;overflow:hidden;border:2px solid #fff;border-radius:50%;padding:0;background:#fff;box-shadow:0 6px 18px #173f5f3d}.ai-floating-trigger img{display:block;width:100%;height:100%;object-fit:cover}.ai-floating-trigger:hover,.ai-floating-trigger:focus-visible{box-shadow:0 0 0 3px #f4b94280,0 6px 18px #173f5f3d;outline:0}.ai-floating-window{position:fixed;top:0;right:0;bottom:0;z-index:39;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;overscroll-behavior:contain;border-left:1px solid #b8d9d5;color:#334155;background:#fff;box-shadow:-8px 0 24px #173f5f24}.ai-floating-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding:13px 14px;color:#f8fafc;background:#173f5f}.ai-floating-header .eyebrow{margin-bottom:3px;color:#9ed8d2}.ai-floating-header h2{margin:0;color:#fff;font-size:18px}.ai-floating-header-actions{display:flex;align-items:center;gap:10px}.ai-current-context{max-width:105px;overflow:hidden;color:#cbdbe7;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.icon-button{display:grid;place-items:center;width:32px;height:32px;border:1px solid #5e7d92;border-radius:4px;color:#fff;background:transparent;font-size:22px;line-height:1}.icon-button:hover,.icon-button:focus-visible{border-color:#f4b942;color:#f4b942;outline:0}.ai-floating-controls{display:flex;align-items:center;gap:8px;min-height:48px;border-bottom:1px solid #e2e8f0;padding:8px 14px;background:#f8fafc}.ai-floating-controls label{margin:0;color:#64748b;font-size:12px}.ai-floating-controls select{border:1px solid #cbd5e1;border-radius:4px;padding:5px 8px;color:#334155;background:#fff}.ai-context-note{border-bottom:1px solid #b8d9d5;padding:8px 14px;color:#216143;background:#effaf7;font-size:12px}.ai-selection-pending{border-bottom:1px solid #b8d9d5;padding:9px 12px;color:#216143;background:#effaf7;font-size:12px}.ai-selection-pending-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.ai-selection-pending .icon-button.light{width:24px;height:24px;border-color:#8fc5be;color:#216143;background:transparent;font-size:17px}.ai-selection-pending textarea{display:block;width:100%;min-height:58px;margin-top:7px;resize:vertical;border:1px solid #b8d9d5;border-radius:4px;padding:7px;color:#334155;background:#fff;font:inherit;font-size:12px;line-height:1.45}.ai-selection-pending p{margin:6px 0 0;color:#64748b;font-size:11px;line-height:1.4}.ai-selection-quote{margin-top:7px;border-left:2px solid #8fc5be;padding-left:7px;color:#52706f;font-size:11px;line-height:1.4;white-space:pre-wrap}.ai-floating-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;contain:layout paint;padding:14px}.ai-floating-message{max-width:92%;margin-bottom:10px;border-radius:5px;padding:10px 11px;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.ai-common-questions{margin:-2px 0 14px;border-bottom:1px solid #e2e8f0;padding-bottom:10px}.ai-common-questions>span,.ai-recommendations>span{display:block;margin-bottom:6px;color:#64748b;font-size:11px;font-weight:800}.ai-common-questions button,.ai-recommendations button{display:block;width:100%;margin-top:5px;border:1px solid #b8d9d5;border-radius:4px;padding:6px 8px;color:#216143;background:#f4fbf9;text-align:left;font:inherit;font-size:11px;line-height:1.4;cursor:pointer}.ai-common-questions button:hover,.ai-common-questions button:focus-visible,.ai-recommendations button:hover,.ai-recommendations button:focus-visible{background:#e7f3f1;outline:0}.ai-message-meta{display:block;margin-top:7px;color:#64748b;font-size:10px}.ai-recommendations{margin-top:9px;border-top:1px solid #e2e8f0;padding-top:8px}.ai-floating-user{margin-left:auto;color:#173f5f;background:#e7f3f1}.ai-floating-assistant{position:relative;isolation:isolate;margin-right:auto;border:1px solid #e2e8f0;color:#334155;background:#f8fafc}.ai-markdown-content pre{position:relative;overflow-x:auto;overflow-y:hidden;contain:paint;isolation:isolate;background-clip:padding-box}.ai-floating-error{border-left:3px solid #c2413b;padding:10px 11px;color:#9f2f2a;background:#fff0ee;font-size:12px;line-height:1.5}.ai-floating-error .text-button{margin-left:8px;color:inherit;font-size:12px}.ai-message-status{display:block;margin-top:5px;color:#64748b;font-size:11px}.ai-retry-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;color:#9f2f2a;font-size:11px}.ai-retry-row .text-button{flex:0 0 auto;font-size:12px}.ai-floating-form{display:flex;align-items:flex-end;gap:8px;border-top:1px solid #e2e8f0;padding:10px;background:#fff}.ai-floating-form input{min-width:0;padding:10px 11px}.ai-floating-form .primary-button{flex:0 0 auto;padding:10px 13px}.ai-resize-handle{position:absolute;top:0;bottom:0;left:-8px;z-index:2;width:16px;cursor:col-resize;touch-action:none}.ai-resize-handle:after{position:absolute;top:50%;left:9px;width:8px;height:42px;background:linear-gradient(to right,#8fc5be 0 2px,transparent 2px 5px,#8fc5be 5px 7px,transparent 7px);content:"";transform:translateY(-50%)}.ai-resize-handle:hover:after{background:linear-gradient(to right,#25736f 0 2px,transparent 2px 5px,#25736f 5px 7px,transparent 7px)}.ai-resize-handle:focus-visible{outline:3px solid rgba(37,115,111,.28);outline-offset:-3px}.selection-context-layer{position:relative;min-width:0}.selection-context-menu{position:fixed;z-index:70;display:grid;min-width:196px;overflow:hidden;border:1px solid #b8d9d5;border-radius:5px;padding:4px;background:#fff;box-shadow:0 12px 30px #173f5f33}.selection-context-menu button{min-height:36px;border:0;border-radius:3px;padding:8px 10px;color:#334155;background:#fff;text-align:left;font:inherit;font-size:13px;cursor:pointer}.selection-context-menu button:hover,.selection-context-menu button:focus-visible{color:#173f5f;background:#e7f3f1;outline:0}.selection-context-menu button:last-child{margin-top:3px;border-top:1px solid #e2e8f0;color:#64748b}@media (hover: none) and (pointer: coarse){.selection-context-menu{width:min(236px,calc(100vw - 16px));max-width:calc(100vw - 16px)}.selection-context-menu button{min-height:44px;padding:10px 12px}}@media (max-width: 520px){body.ai-sidebar-open{overflow:hidden;overscroll-behavior:none}body.ai-sidebar-open .app-shell{position:fixed;top:0;right:0;bottom:0;left:0;overflow-x:hidden;overflow-y:auto}.ai-floating-window{width:var(--ai-sidebar-width, 380px)}}@media (max-width: 520px){.code-question-heading,.inline-editor-toolbar,.workspace-submit-bar,.workspace-submit-controls{align-items:stretch;flex-direction:column}.inline-editor-toolbar .run-button,.workspace-submit-bar .submit-button{width:100%}}@media (max-width: 820px){.auth-shell{grid-template-columns:1fr}.auth-intro{min-height:39vh;padding:42px 8vw}.auth-intro h1{font-size:39px}.intro-rule{margin:24px 0 12px}.auth-panel{width:min(100%,560px);padding:42px 8vw 60px}.topbar{flex-wrap:wrap;gap:0 18px;padding:16px 5%}nav{order:3;width:100%;height:38px}.account-area{gap:10px}.user-email{display:none}.map-main{width:calc(100% - 40px);padding-top:38px}.map-heading{align-items:flex-start;flex-direction:column;margin-bottom:24px}.map-heading-meta{width:100%;justify-content:space-between;gap:20px}.progress-summary{width:min(190px,48%)}.workspace-layout{grid-template-columns:1fr}.workspace-shell{padding-top:30px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.dashboard-panel.wide{grid-column:auto}.knowledge-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-heading{align-items:flex-start;flex-direction:column}.knowledge-heading-actions{width:100%}.knowledge-heading-actions .batch-strategy-select{min-width:0;flex:1}.knowledge-heading-actions .primary-button,.knowledge-heading-actions .text-button{flex:1}.markdown-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.markdown-workspace{grid-template-columns:1fr}.markdown-mode-edit .markdown-source-pane,.markdown-mode-preview .markdown-preview-pane{grid-column:auto}.books-heading{align-items:flex-start;flex-direction:column}.books-heading-actions{width:100%;justify-content:space-between}.books-toolbar{align-items:stretch;flex-wrap:wrap}.books-search{flex-basis:100%}.books-toolbar>label{flex:1}.book-context-banner{align-items:flex-start;flex-direction:column}.book-context-banner .primary-button{width:100%}.book-context-bar{align-items:flex-start;flex-wrap:wrap}.book-context-bar>div{flex-basis:100%}.book-context-bar .text-button{margin-left:auto}}@media (max-width: 520px){.account-area{margin-left:auto}.streak-chip{display:none}.map-board{padding:18px}.level-grid{grid-template-columns:1fr}.level-node{min-height:92px}.workspace-title,.editor-heading{align-items:flex-start;flex-direction:column}.editor-actions,.admin-heading-actions{width:100%;flex-wrap:wrap}.admin-heading-actions button{flex:1}.editor-column,.lesson-column{padding:18px}.editor{min-height:280px}.dashboard-heading{align-items:flex-start;flex-direction:column}.books-heading-actions{align-items:stretch;flex-direction:column-reverse}.books-heading-actions .primary-button,.books-heading-actions .text-button{width:100%}.books-toolbar>label{flex-basis:100%}.books-toolbar>.text-button{min-height:38px}.book-import-target{grid-template-columns:1fr;align-items:flex-start;gap:4px}.book-import-action{grid-template-columns:1fr;gap:4px}.book-shelf-grid{grid-template-columns:1fr}.book-shelf-card{padding:18px}.book-shelf-stats{align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.ai-form{align-items:stretch;flex-direction:column}.knowledge-toolbar{align-items:stretch;flex-wrap:wrap}.knowledge-search{flex-basis:100%}.knowledge-total{margin-left:0}.knowledge-form-grid{grid-template-columns:1fr}.knowledge-editor-panel{padding:18px}.question-admin-row{align-items:flex-start;flex-direction:column}.markdown-meta-grid{grid-template-columns:1fr}.markdown-toolbar{align-items:flex-start;flex-direction:column}.mode-tabs{width:100%}.mode-tab{flex:1}}@media (max-width: 820px){.choice-options-four,.choice-options-two{grid-template-columns:minmax(0,1fr)}.judge-options{gap:10px}}.rules-shell{width:min(1440px,calc(100% - 64px));margin:0 auto;padding:46px 0 72px}.rules-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.5fr);gap:18px;margin-top:24px;align-items:start}.rules-list-panel,.rule-detail-panel{border:1px solid #dbe4ec;background:#fff}.rules-list-panel{position:sticky;top:20px;max-height:calc(100vh - 110px);overflow:auto}.rules-filter{display:grid;gap:9px;border-bottom:1px solid #e2e8f0;padding:14px;background:#f8fafc}.rules-filter select,.rule-editor-toolbar select{border:1px solid #cbd5e1;border-radius:4px;padding:10px 11px;color:#334155;background:#fff}.rules-list{display:grid}.rule-list-item{display:grid;gap:7px;border:0;border-bottom:1px solid #eef2f5;padding:15px;color:#334155;background:#fff;text-align:left}.rule-list-item:hover,.rule-list-item.selected{background:#effaf7}.rule-list-item strong{line-height:1.45}.rule-list-meta{color:#64748b;font-size:11px}.rule-status{display:inline-flex;width:fit-content;border-radius:3px;padding:3px 7px;font-size:11px;font-weight:800}.rule-status-enabled,.rule-status-passed{color:#216143;background:#e5f5ec}.rule-status-candidate,.rule-status-not_tested{color:#8b5e08;background:#fff5d9}.rule-status-queued,.rule-status-running{color:#155e75;background:#e6f7fb}.rule-status-retryable{color:#8b5e08;background:#fff5d9}.rule-status-disabled,.rule-status-not_configured{color:#64748b;background:#eef2f5}.rule-status-failed,.rule-status-rejected,.rule-status-unavailable{color:#9f2f2a;background:#fff0ee}.rule-detail-panel{min-width:0;padding:26px}.rule-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #e2e8f0;padding-bottom:18px}.rule-detail-heading h2{max-width:780px;margin:0;color:#173f5f;font-size:22px;line-height:1.35}.rule-editor{margin-top:20px}.rule-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:9px}.rule-editor-toolbar label{display:flex;align-items:center;gap:8px;margin:0}.rule-editor textarea{display:block;width:100%;min-height:300px;resize:vertical;border:1px solid #cbd5e1;border-radius:4px;padding:14px;color:#d9e7ef;background:#102c45;font:13px/1.55 Cascadia Code,Consolas,monospace}.rule-editor .primary-button{margin-top:12px}.rule-editor-feedback{margin-top:10px;border-left:3px solid #25736f;padding:10px 12px;color:#216143;background:#effaf7;font-size:13px;line-height:1.5}.rule-editor-feedback-error{border-color:#c2413b;color:#9f2f2a;background:#fff0ee}.rule-version-section{margin-top:30px}.rule-version-section h3{margin:0 0 10px;color:#173f5f}.rule-version-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #e2e8f0;padding:13px 0}.rule-version-row>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.rule-version-actions{display:flex;gap:12px;flex:0 0 auto}.rule-test-result{display:grid;gap:6px;margin-top:18px;border-left:3px solid #25736f;padding:12px 14px;color:#216143;background:#effaf7}.rule-test-failed{border-color:#c2413b;color:#9f2f2a;background:#fff0ee}.rule-test-result pre{max-width:100%;overflow:auto;margin:5px 0 0;color:#334155;font-size:12px;white-space:pre-wrap}@media (max-width: 680px){.rule-failure-values{grid-template-columns:1fr}}.rule-generation-drawer{position:fixed;z-index:40;inset:0 0 0 auto;width:min(520px,100vw);overflow-y:auto;border-left:1px solid #cbd5e1;padding:24px;background:#fff;box-shadow:-18px 0 40px #0f172a2e}.drawer-heading,.drawer-actions,.generation-task-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.drawer-heading{border-bottom:1px solid #e2e8f0;padding-bottom:15px}.drawer-heading h2{margin:2px 0 0;color:#173f5f;font-size:22px}.drawer-actions{align-items:center;margin:18px 0 14px}.generation-selection{display:grid;border:1px solid #e2e8f0}.generation-selection-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:10px;border-bottom:1px solid #eef2f5;padding:12px;cursor:pointer}.generation-selection-row:last-child{border-bottom:0}.generation-selection-row input{margin-top:3px}.generation-selection-row>span:nth-child(2),.generation-task-row>div:first-child{display:grid;gap:5px;min-width:0}.generation-selection-row small,.generation-task-row small{overflow-wrap:anywhere;color:#64748b;line-height:1.4}.generation-summary{display:grid;gap:9px;margin-top:22px;border-top:1px solid #e2e8f0;padding-top:18px}.generation-task-row{align-items:center;border:1px solid #e2e8f0;padding:12px}@media (max-width: 820px){.rules-layout{grid-template-columns:1fr}.rules-list-panel{position:static;max-height:none}.rule-generation-drawer{padding:18px}.generation-selection-row{grid-template-columns:18px minmax(0,1fr)}.generation-selection-row>.rule-status{grid-column:2}}.migration-shell{width:min(1120px,calc(100% - 64px));margin:0 auto;padding:46px 0 72px}.migration-title{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.migration-title h1{margin:0 0 9px;color:#173f5f;font-size:clamp(28px,4vw,42px);line-height:1.15}.migration-title p:not(.eyebrow){max-width:680px;margin:0;color:#64748b;line-height:1.6}.migration-state{display:inline-flex;flex:0 0 auto;border-radius:4px;padding:8px 12px;font-size:13px;font-weight:800}.migration-state-pending{color:#8b5e08;background:#fff5d9}.migration-state-running{color:#155e75;background:#e6f7fb}.migration-state-completed{color:#216143;background:#e5f5ec}.migration-state-failed,.migration-state-blocked,.migration-state-verification_failed,.migration-state-unsupported{color:#9f2f2a;background:#fff0ee}.migration-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;border-left:4px solid #d6a83b;padding:15px 18px;background:#fffaf0}.migration-banner>div{display:grid;gap:5px}.migration-banner span{color:#64748b;font-size:13px;line-height:1.5}.migration-banner-failed,.migration-banner-blocked,.migration-banner-verification_failed,.migration-banner-unsupported{border-color:#c2413b;background:#fff5f3}.migration-band{margin-top:16px;border:1px solid #dbe4ec;padding:22px;background:#fff}.migration-band-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px;border-bottom:1px solid #e2e8f0;padding-bottom:12px}.migration-band-heading h2{margin:0;color:#173f5f;font-size:18px}.migration-band-heading span{color:#64748b;font-size:12px;overflow-wrap:anywhere}.migration-protection{display:flex;flex-wrap:wrap;gap:12px 22px;color:#64748b;font-size:13px}.migration-protection .passed{color:#216143}.migration-protection .pending{color:#8b5e08}.migration-protection small{flex-basis:100%;color:#64748b;overflow-wrap:anywhere}.migration-count-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.migration-count-grid div{display:grid;gap:5px;border-left:3px solid #dbe4ec;padding:8px 10px}.migration-count-grid strong{color:#173f5f;font-size:22px}.migration-count-grid span{color:#64748b;font-size:12px}.migration-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.migration-step{display:flex;align-items:flex-start;gap:9px;min-width:0;border-top:3px solid #dbe4ec;padding-top:11px}.migration-step>span{flex:0 0 auto;color:#94a3b8;font-weight:800}.migration-step>div{display:grid;gap:4px;min-width:0}.migration-step small{color:#64748b}.migration-step-passed{border-color:#25736f}.migration-step-passed>span{color:#25736f}.migration-step-running{border-color:#2a7c96}.migration-step-running>span{color:#2a7c96}.migration-step-failed,.migration-step-blocked{border-color:#c2413b}.migration-step-failed>span{color:#c2413b}.migration-differences{margin-top:16px;border-left:4px solid #c2413b;padding:16px 18px;color:#9f2f2a;background:#fff0ee}.migration-differences h2{margin:0 0 11px;font-size:17px}.migration-differences div{display:grid;gap:4px;border-top:1px solid rgb(194 65 59 / 20%);padding:9px 0}.migration-differences span{color:#7f3732;font:12px/1.5 Cascadia Code,Consolas,monospace;overflow-wrap:anywhere}.migration-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:22px}.migration-disclaimer{margin:18px 0 0;color:#64748b;font-size:12px;line-height:1.6}@media (max-width: 820px){.interactive-console-header{align-items:flex-start;flex-wrap:wrap}.interactive-console-header>span{flex-basis:100%;order:3}.interactive-console-transcript{height:180px}.migration-title,.migration-banner{align-items:flex-start;flex-direction:column}.migration-banner .primary-button{width:100%}.migration-count-grid,.migration-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.migration-actions{justify-content:flex-start;flex-wrap:wrap}}:root{font-family:Microsoft YaHei UI,Microsoft YaHei,Segoe UI Symbol,Arial Unicode MS,DejaVu Sans,"Noto Sans Symbols 2",DejaVu Sans Mono,Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.5}.eyebrow{margin-bottom:7px;color:#4b7774;font-size:11px;letter-spacing:.1em}.primary-button,.danger-button{min-height:42px;padding:10px 16px;white-space:nowrap}.text-button{min-height:32px;padding:6px 2px;white-space:nowrap}.compact.text-button{min-height:28px;padding:4px 2px}.admin-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px 14px}.admin-heading-actions .primary-button:not(:first-child){min-height:34px;border:1px solid #b8d9d5;padding:7px 11px;color:#216143;background:#effaf7;font-size:13px}.admin-heading-actions .primary-button:not(:first-child):hover:not(:disabled){border-color:#25736f;background:#dff4ed}.dashboard-heading,.books-heading,.knowledge-heading,.self-test-admin-heading{margin-bottom:24px}.metric-grid{gap:14px}.metric-card,.dashboard-panel{padding:20px}.metric-card strong{font-size:28px;line-height:1.1}.dashboard-grid{gap:14px;margin-top:14px}.dashboard-panel h2{margin-bottom:14px;font-size:17px}.level-node{min-height:108px;padding:11px}.node-completed{border-color:#e3eceb;background:#fbfdfd}.node-completed strong{color:#52706f}.node-active{border-color:#8fc5be;box-shadow:none}.node-unlocked{border-color:#c6dfe0}.node-locked .status-badge{opacity:.78}.knowledge-heading-actions,.books-heading-actions,.self-test-admin-actions{gap:8px 12px}.knowledge-heading-actions .text-button,.books-heading-actions .text-button,.self-test-admin-actions .text-button{min-height:34px;padding:7px 2px;font-size:13px}.knowledge-heading-actions .primary-button,.books-heading-actions .primary-button,.self-test-admin-actions .primary-button{min-height:40px}.knowledge-toolbar,.books-toolbar{margin-bottom:14px;padding:10px}.knowledge-table th,.knowledge-table td,.books-table th,.books-table td{padding-top:12px;padding-bottom:12px}.markdown-workspace{gap:12px}.markdown-meta-grid{gap:12px;margin-top:16px}.workspace-title,.editor-heading{margin-bottom:22px}.editor-actions{gap:8px}.submit-button{min-height:42px;padding:10px 15px}.self-test-result-panel h2{margin-top:6px}@media (max-width: 820px){.topbar{gap:0 14px}nav{gap:18px}.admin-heading-actions,.knowledge-heading-actions,.books-heading-actions,.self-test-admin-actions{justify-content:flex-start}}@media (max-width: 520px){.admin-heading-actions,.knowledge-heading-actions,.books-heading-actions,.self-test-admin-actions{gap:8px 12px}.admin-heading-actions .primary-button,.knowledge-heading-actions .primary-button,.books-heading-actions .primary-button,.self-test-admin-actions .primary-button{flex:0 1 auto;width:auto}.admin-heading-actions .primary-button:not(:first-child){flex:1 1 auto}}html{scroll-behavior:smooth}h1,h2,h3{text-wrap:balance}.metric-card strong,.progress-summary strong,.book-progress-summary strong,.self-test-result-panel h2,.level-complete-panel h2{font-variant-numeric:tabular-nums}button,input,select,textarea{transition:border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}button:not(:disabled):active{transform:translateY(1px) scale(.985)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #25736f;outline-offset:2px}.level-node:focus-visible{outline:2px solid #25736f;outline-offset:3px}.primary-button:hover:not(:disabled),.danger-button:hover:not(:disabled),.submit-button:hover:not(:disabled),.completion-secondary-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button:active:not(:disabled),.danger-button:active:not(:disabled),.submit-button:active:not(:disabled),.completion-secondary-button:active:not(:disabled){transform:translateY(1px) scale(.985)}.muted,.intro-copy,.intro-note,.lesson-reading{max-width:65ch}.phase-heading{letter-spacing:.03em}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:not(:disabled):active,.primary-button:hover:not(:disabled),.danger-button:hover:not(:disabled),.submit-button:hover:not(:disabled),.completion-secondary-button:hover:not(:disabled){transform:none}}.learner-books-shell{width:min(1160px,calc(100% - 64px));padding-top:46px}.learner-books-shell .books-heading{align-items:flex-end;margin-bottom:26px}.learner-books-shell .books-heading h1{font-size:clamp(34px,4vw,44px);line-height:1.08;letter-spacing:-.025em}.learner-books-shell .books-heading .muted{max-width:42ch;margin-top:10px;font-size:14px;line-height:1.7}.learner-books-shell .books-heading-actions .text-button{border-bottom:1px solid #b8d9d5;color:#216143}.learner-books-shell .books-heading-actions .text-button:hover:not(:disabled){border-color:#25736f;text-decoration:none}.learner-books-shell .shelf-context-banner{align-items:center;margin-bottom:24px;border-color:#9fcfc7;padding:16px 18px;box-shadow:0 8px 22px #173f5f0f}.learner-books-shell .shelf-context-banner .eyebrow{margin-bottom:4px}.learner-books-shell .shelf-context-banner strong{margin-top:0;font-size:17px}.learner-books-shell .shelf-context-banner .primary-button{min-width:112px}.learner-books-shell .book-shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.learner-books-shell .book-shelf-card{display:flex;flex-direction:column;min-height:310px;padding:22px;border-color:#dbe7e6;box-shadow:0 5px 16px #173f5f09;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.learner-books-shell .book-shelf-card:hover{border-color:#9fcfc7;box-shadow:0 12px 26px #173f5f14;transform:translateY(-2px)}.learner-books-shell .book-shelf-card-current{border-color:#75b7ad;box-shadow:inset 0 3px #25736f,0 8px 22px #25736f14}.learner-books-shell .book-shelf-card-heading{min-height:78px}.learner-books-shell .book-shelf-card-heading .eyebrow{display:none}.learner-books-shell .book-shelf-card h2{margin-top:0;font-size:21px;line-height:1.3;text-wrap:balance}.learner-books-shell .book-current-badge{border-radius:4px;padding:5px 8px;white-space:nowrap}.learner-books-shell .book-progress-summary{margin-top:22px}.learner-books-shell .book-progress-summary strong{font-size:34px;letter-spacing:-.025em}.learner-books-shell .book-shelf-card .progress-track{height:6px;margin-top:9px;border-radius:999px}.learner-books-shell .book-shelf-card .progress-track i{border-radius:inherit}.learner-books-shell .book-shelf-stats{align-items:baseline;min-height:38px;margin-top:14px}.learner-books-shell .book-shelf-action{margin-top:auto;min-height:42px}.learner-books-shell .books-empty,.learner-books-shell .books-loading{border-color:#dbe7e6;box-shadow:0 5px 16px #173f5f09}@media (max-width: 1040px) and (min-width: 521px){.learner-books-shell .book-shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 820px){.learner-books-shell{width:calc(100% - 40px);padding-top:36px}.learner-books-shell .books-heading{margin-bottom:22px}.learner-books-shell .shelf-context-banner{padding:15px 16px}.learner-books-shell .book-shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.learner-books-shell .books-heading h1{font-size:34px}.learner-books-shell .book-shelf-grid{grid-template-columns:1fr;gap:14px}.learner-books-shell .book-shelf-card{min-height:286px;padding:20px}.learner-books-shell .book-shelf-card:hover{transform:none}}:root{--type-body: 15px;--type-small: 13px;--type-meta: 12px;--type-section: 18px;--type-page: clamp(30px, 3.2vw, 42px)}body{font-size:var(--type-body);line-height:1.55}.topbar,.nav-item,.user-email,.account-area,.books-heading .muted,.map-current-book strong,.book-shelf-stats,.metric-card span,.dashboard-panel,.books-table,.knowledge-table,.self-test-table,.migration-protection,.migration-banner span,.rule-list-item,.rule-detail-panel{font-size:var(--type-body)}.form-error,.page-error,.page-notice,.muted,.intro-note,.map-current-book span,.progress-summary span,.book-progress-summary span,.book-file-name,.book-import-summary,.knowledge-total,.self-test-result-summary,.migration-title p:not(.eyebrow),.migration-disclaimer{font-size:var(--type-small)}.eyebrow,.status-badge,.book-status,.knowledge-status,.self-test-status,.rule-status,.parse-status,.migration-state,.streak-chip,.book-current-badge{font-size:var(--type-meta)}.map-heading h1,.dashboard-heading h1,.books-heading h1,.knowledge-heading h1,.self-test-admin-heading h1,.workspace-title h1,.migration-title h1{font-size:var(--type-page);line-height:1.15;text-wrap:balance}.dashboard-panel h2,.lesson-column h2,.editor-column h2,.self-test-panel-heading h2,.self-test-skip-panel h2,.migration-band-heading h2,.rule-detail-heading h2,.drawer-heading h2,.confirm-dialog h2{font-size:var(--type-section);line-height:1.3}.auth-heading h2{font-size:clamp(28px,3vw,32px);line-height:1.2}.self-test-header h1{font-size:24px;line-height:1.3}.self-test-question-content,.lesson-reading,.markdown-content,.static-preview-content{font-size:var(--type-body)}.self-test-footer,.self-test-question-meta,.self-test-rating-line,.question-progress,.question-number,.execution-metrics,.save-state,.output-heading span,.interactive-console-header>span,.migration-band-heading>span,.migration-count-grid span,.rule-list-meta,.form-help{font-size:var(--type-meta)}.books-table th,.knowledge-table th,.self-test-table th{font-size:var(--type-meta)}.metric-card strong,.progress-summary strong,.book-progress-summary strong,.migration-count-grid strong{font-variant-numeric:tabular-nums}@media (max-width: 520px){:root{--type-body: 15px;--type-small: 13px;--type-meta: 12px}.map-heading h1,.dashboard-heading h1,.books-heading h1,.knowledge-heading h1,.self-test-admin-heading h1,.workspace-title h1,.migration-title h1{font-size:30px}.self-test-header h1{font-size:21px}}:root{--text-primary: #26384a;--text-heading: #173f5f;--text-secondary: #526579;--text-muted: #667788;--text-subtle: #8090a0;--text-accent: #216143;--text-danger: #9f2f2a;--text-warning: #70510b}body{color:var(--text-primary);font-weight:400}h1,h2,h3,h4,.brand-mark,.metric-card strong,.progress-summary strong,.book-progress-summary strong,.migration-count-grid strong,.self-test-result-panel h2,.level-complete-panel h2{font-weight:700}.map-heading h1,.dashboard-heading h1,.books-heading h1,.knowledge-heading h1,.self-test-admin-heading h1,.workspace-title h1,.migration-title h1,.auth-heading h2,.self-test-header h1,.dashboard-panel h2,.lesson-column h2,.editor-column h2,.self-test-panel-heading h2,.self-test-skip-panel h2,.migration-band-heading h2,.rule-detail-heading h2,.drawer-heading h2,.confirm-dialog h2,.book-shelf-card h2,.books-empty strong,.book-context-banner strong,.book-import-target strong,.book-import-action strong,.book-import-result strong,.knowledge-table td:first-child strong,.books-table td:first-child strong{color:var(--text-heading)}.muted,.user-email,.metric-card span,.book-shelf-stats,.books-table,.knowledge-table,.knowledge-total,.self-test-table,.self-test-panel-heading>span,.self-test-question-meta,.self-test-rating-line,.rule-list-meta,.form-help,.book-file-name,.book-import-result small,.books-empty,.map-current-book span,.progress-summary span,.book-progress-summary span{color:var(--text-secondary)}.books-table th,.knowledge-table th,.self-test-table th,.books-toolbar label,.map-current-book span,.book-context-bar>div span,.book-context-id,.book-context-banner>span,.book-import-target span,.book-import-action span,.book-import-target em,.markdown-count,.pane-heading small,.preview-disabled-note,.self-test-footer{color:var(--text-muted)}.books-table td:first-child small,.knowledge-table td:first-child small,.metric-card strong small,.progress-summary strong small,.book-context-id{color:var(--text-subtle)}.nav-item{color:var(--text-secondary);font-weight:600}.nav-active,.nav-button:hover,.nav-button:focus-visible{color:var(--text-heading)}.eyebrow,.phase-heading,.pane-heading,.current-book-label,.password-toggle,.text-button,.mode-tab,.book-current-badge,.streak-chip,.status-badge,.book-status,.knowledge-status,.self-test-status,.rule-status,.parse-status,.migration-state{font-weight:700}.label,label,.markdown-meta-grid label{font-weight:600}.primary-button,.danger-button,.submit-button,.completion-secondary-button,.admin-heading-actions .primary-button:not(:first-child){font-weight:700}.form-error,.page-error,.markdown-errors,.self-test-error,.book-import-result-failed>span,.book-import-error-detail,.danger-text{color:var(--text-danger)}.prerequisite,.book-restore-check,.book-import-warning,.self-test-import-note,.status-active,.status-deleted,.knowledge-status-draft,.parse-waiting,.migration-state-warning{color:var(--text-warning)}.markdown-content,.lesson-reading,.static-preview-content,.self-test-question-content,.self-test-answer-content,.rule-detail-panel,.migration-protection,.migration-banner span{color:var(--text-primary)}.node-index,.node-locked,.node-locked strong{color:var(--text-subtle)}@media (max-width: 520px){.map-heading h1,.dashboard-heading h1,.books-heading h1,.knowledge-heading h1,.self-test-admin-heading h1,.workspace-title h1,.migration-title h1{font-weight:700}}:root{--surface-page: #f4f6f3;--surface-raised: #ffffff;--ink: #172e2b;--ink-muted: #5d716c;--line: #d9e2dd;--brand: #1f6b62;--brand-deep: #17544d;--accent: #c9902f;--shadow-soft: 0 12px 28px rgb(23 46 43 / 7%);font-family:Microsoft YaHei UI,Microsoft YaHei,Noto Sans CJK SC,system-ui,sans-serif;color:var(--ink);background:var(--surface-page)}body{background:var(--surface-page);color:var(--ink)}.app-shell{min-height:100dvh}.boot-screen,.loading-state{min-height:100dvh;color:var(--ink-muted)}.auth-shell{min-height:100dvh;background:var(--surface-page)}.auth-intro{position:relative;overflow:hidden;background:#173d38}.auth-intro:after{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(rgb(255 255 255 / 9%) .7px,transparent .7px);background-size:13px 13px;content:"";opacity:.28}.auth-intro>*{position:relative;z-index:1}.topbar{border-color:#d9e2ddd9;background:#ffffffd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-board,.metric-card,.dashboard-panel,.book-shelf-card,.books-toolbar,.books-table-wrap,.knowledge-table-wrap,.knowledge-editor-panel,.import-result-panel,.books-empty,.knowledge-empty{border-color:var(--line);box-shadow:var(--shadow-soft)}.map-board,.metric-card,.dashboard-panel,.book-shelf-card,.books-toolbar,.books-table-wrap,.knowledge-table-wrap,.books-empty,.knowledge-empty{background:var(--surface-raised)}.metric-card,.dashboard-panel,.book-shelf-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.metric-card:hover,.dashboard-panel:hover,.book-shelf-card:hover{border-color:#bdd0c8;box-shadow:0 16px 34px #172e2b1a;transform:translateY(-2px)}input,select,textarea{border-color:#cbd8d1;background:#fff}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1f6b6226}.primary-button{background:var(--brand);box-shadow:0 4px 10px #1f6b6229;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.primary-button:hover:not(:disabled){background:var(--brand-deep);box-shadow:0 7px 16px #1f6b6238}.text-button{color:var(--brand);text-underline-offset:3px}.text-button:hover{color:var(--brand-deep)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--accent)}.map-heading h1,.dashboard-heading h1,.books-heading h1,.knowledge-heading h1,.self-test-admin-heading h1,.workspace-title h1,.migration-title h1{color:var(--ink);font-weight:800;letter-spacing:0;line-height:1.16;text-wrap:balance}.eyebrow{color:#4d756f;font-weight:700;letter-spacing:.08em}.muted,.intro-copy,.intro-note{color:var(--ink-muted)}.workspace-shell .lesson-reading{max-width:none;width:100%}.workspace-shell .lesson-column{min-width:0}.workspace-shell .lesson-column section{min-width:0}.workspace-shell .lesson-reading,.workspace-shell .lesson-column p,.workspace-shell .lesson-column li{overflow-wrap:anywhere}.level-node{border-color:var(--line);background:#fff}.level-node:hover:not(.node-locked),.level-node:focus-visible:not(.node-locked){border-color:#8eb8ae;box-shadow:0 10px 20px #172e2b17}.status-unlocked{border-color:#f3c28b;color:#a54516;background:#fff0df}.phase-heading{color:#365f59}.progress-track{background:#e3ebe6}.progress-track i{background:var(--brand)}.books-table th,.knowledge-table th,.self-test-table th{background:#f3f6f3}.books-table tbody tr,.knowledge-table tbody tr,.self-test-table tbody tr{transition:background-color .18s ease}.books-table tbody tr:hover,.knowledge-table tbody tr:hover,.self-test-table tbody tr:hover{background:#f7faf8}.loading-state.books-loading,.loading-state.compact-loading{position:relative;overflow:hidden;color:transparent;background:linear-gradient(105deg,#fff 20%,#eef3ef,#fff 50%);background-size:200% 100%;animation:loading-shimmer 1.5s ease-in-out infinite}@keyframes loading-shimmer{to{background-position:-200% 0}}@media (max-width: 820px){.topbar{min-height:60px;padding:0 20px}.map-main,.dashboard-shell,.books-shell,.knowledge-shell{width:min(100% - 32px,1320px);padding-top:32px}.map-heading,.dashboard-heading,.books-heading,.knowledge-heading,.self-test-admin-heading{align-items:flex-start;flex-direction:column}.map-heading-meta,.books-heading-actions,.knowledge-heading-actions{justify-content:flex-start;flex-wrap:wrap}}@media (max-width: 520px){.auth-intro{min-height:34dvh;padding:42px 24px}.auth-panel{padding:34px 24px 42px}.brand-mark{max-width:52vw;overflow:hidden;text-overflow:ellipsis}nav{gap:12px}.nav-item{font-size:13px}.books-toolbar,.knowledge-toolbar{align-items:stretch;flex-wrap:wrap}}.map-page-header{position:sticky;top:0;z-index:20;background:#f4f6f3f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-page{background:#f7faf8}.map-page .topbar{position:static}.map-sticky-header{display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(190px,1fr);gap:8px 18px;align-items:center;width:100%;box-sizing:border-box;margin:0 0 18px;border:1px solid var(--line, #d9e2dd);border-right:0;border-left:0;border-radius:0;padding:10px 5% 14px;background:var(--surface-raised, #fff);box-shadow:var(--shadow-soft, 0 12px 28px rgb(23 46 43 / 7%))}.map-sticky-header>.map-heading,.map-sticky-header>.learning-map-navigation,.map-sticky-header>.map-header-progress{width:auto;box-sizing:border-box;margin-right:0;margin-left:0}.map-sticky-header .map-heading{grid-column:1;grid-row:1;margin-bottom:0;padding-top:0}.map-sticky-header .map-heading{display:flex;align-items:center;justify-content:flex-start;gap:10px}.map-header-progress{grid-column:3;grid-row:1;justify-self:end;width:min(190px,100%);min-width:0}.map-page-header .map-heading h1{font-size:23px}.map-page-header .map-current-book strong{max-width:240px;font-size:14px}.map-page-header .map-heading-meta{gap:16px}.map-page-header .progress-summary{min-width:155px}.map-page-header .progress-summary strong{font-size:27px}.map-page-header .progress-summary strong small{font-size:14px}.map-page-header .progress-summary span{margin:4px 0 7px;font-size:11px}.map-page-header .progress-track{height:5px}.learning-map-navigation{display:grid;gap:14px;border:1px solid var(--line, #d9e2dd);border-radius:14px;padding:12px 16px 14px;background:var(--surface-raised, #fff);box-shadow:var(--shadow-soft, 0 12px 28px rgb(23 46 43 / 7%))}.map-sticky-header>.learning-map-navigation{display:contents}.learning-map-level-nav{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;border:1px solid var(--line, #d9e2dd);border-radius:14px;padding:8px 12px;background:var(--surface-raised, #fff);box-shadow:var(--shadow-soft, 0 12px 28px rgb(23 46 43 / 7%))}.learning-map-adjacent{min-width:92px;border:0;padding:7px 4px;color:var(--brand, #1f6b62);background:transparent;cursor:pointer;font:inherit;font-size:13px;font-weight:800;white-space:nowrap}.learning-map-adjacent:hover:not(:disabled){color:var(--brand-deep, #17544d)}.learning-map-adjacent:disabled{color:var(--ink-muted, #5d716c);cursor:not-allowed;opacity:.45}.learning-map-adjacent-label-narrow{display:none}.learning-map-current{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;max-width:min(680px,65vw);overflow:hidden;border:1px solid #8eb8ae;border-radius:999px;padding:7px 16px;color:var(--ink, #172e2b);background:#f1faf7;cursor:pointer;font:inherit;font-size:13px;white-space:nowrap;text-overflow:ellipsis}.learning-map-current:hover,.learning-map-current:focus-visible{border-color:var(--brand, #1f6b62);background:#e8f7f2;outline:0}.learning-map-current span,.learning-map-current strong{overflow:hidden;text-overflow:ellipsis}.learning-map-current span{color:var(--ink-muted, #5d716c)}.learning-map-current b{color:var(--brand, #1f6b62);font-size:17px;line-height:1}.learning-map-current strong{color:var(--brand-deep, #17544d);font-weight:800}.learning-map-phase-nav{position:relative;grid-column:1 / -1;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:0 4px}.learning-map-phase-nav:before{position:absolute;top:50%;right:17px;left:17px;height:2px;background:var(--line, #d9e2dd);content:"";transform:translateY(-50%)}.learning-map-phase-dot{position:relative;z-index:1;display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border:2px solid #b8ccc5;border-radius:50%;padding:0;color:var(--ink-muted, #5d716c);background:var(--surface-raised, #fff);cursor:pointer;font:inherit;font-size:11px;font-weight:800;transition:border-color .18s ease,color .18s ease,background-color .18s ease,transform .18s ease}.learning-map-phase-dot:hover,.learning-map-phase-dot:focus-visible{border-color:var(--brand, #1f6b62);color:var(--brand-deep, #17544d);transform:scale(1.08)}.learning-map-phase-dot.active{border-color:var(--brand, #1f6b62);color:#fff;background:var(--brand, #1f6b62);box-shadow:0 0 0 4px #1f6b6224}.phase-block{scroll-margin-top:210px}@media (max-width: 820px){.map-page-header{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:none;backdrop-filter:none}.map-sticky-header{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;row-gap:8px;width:100%;margin:0 0 18px;border:0;border-radius:0;padding-right:50px;padding-left:16px;background:var(--surface-raised, #fff);box-shadow:0 8px 18px #172e2b12}.map-sticky-header>.map-heading{display:contents;width:auto;margin-left:0}.map-sticky-header .map-heading h1{display:none}.map-sticky-header .map-heading{align-items:flex-start;flex-direction:column;gap:8px;padding-top:0}.map-sticky-header .map-current-book{grid-column:1;grid-row:1;align-self:start}.map-sticky-header>.learning-map-navigation{display:contents;width:auto}.map-sticky-header>.map-header-progress{grid-column:2;grid-row:1;width:100%;min-width:0;max-width:100%;margin:0;justify-self:end}.map-header-progress{margin-top:0}.map-header-progress .progress-summary{width:100%;min-width:0;max-width:100%;text-align:right}.map-header-progress .progress-summary strong{font-size:22px}.map-header-progress .progress-summary strong small{font-size:12px}.map-header-progress .progress-summary span{margin:3px 0 5px;font-size:10px}.map-header-progress .progress-track{height:4px}.learning-map-navigation{position:static;top:auto;right:auto;bottom:auto;z-index:auto;display:contents;align-items:initial;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.learning-map-level-nav{grid-column:1 / -1;grid-row:2;display:flex;width:100%;min-width:0;gap:8px;padding:6px 8px}.learning-map-phase-nav{position:fixed;top:76px;right:7px;bottom:12px;z-index:18;display:flex;width:26px;max-height:calc(100dvh - 88px);flex-direction:column;justify-content:flex-start;gap:12px;overflow-y:auto;padding:2px 0;scrollbar-width:none}.learning-map-phase-nav::-webkit-scrollbar{display:none}.learning-map-phase-nav:before{top:14px;right:auto;bottom:14px;left:12px;width:2px;height:auto;transform:none}.learning-map-phase-dot{width:24px;height:24px;flex-basis:24px}.learning-map-adjacent{min-width:36px;padding:7px 4px}.learning-map-current{flex:1;max-width:none;padding:7px 8px;font-size:12px}.learning-map-adjacent-label-wide{display:none}.learning-map-adjacent-label-narrow{display:inline}.map-main{padding-right:34px}.phase-block{scroll-margin-top:190px}}@media (max-width: 520px){.map-sticky-header>.map-heading{width:auto;margin-left:0}.map-sticky-header{padding-right:46px}.map-main{padding-right:30px}.learning-map-navigation{right:4px}.learning-map-phase-nav{width:22px;gap:9px}.learning-map-phase-dot{width:20px;height:20px;flex-basis:20px;font-size:9px}.learning-map-phase-nav:before{top:12px;bottom:12px;left:10px}.learning-map-adjacent-label{display:none}.learning-map-adjacent{min-width:28px;padding-right:2px;padding-left:2px}.map-header-progress .progress-summary strong{font-size:20px}}@media (prefers-reduced-motion: reduce){.learning-map-phase-dot{transition:none}}
