*{box-sizing:border-box}body{margin:0;background:#f6f7f2;color:#233c32;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.65}button,input,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none!important;color:inherit}button:focus-visible,a:focus-visible,input:focus,textarea:focus{outline:3px solid #adc9b8;outline-offset:3px}header{max-width:1240px;margin:auto;padding:26px 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe6dd}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:700;letter-spacing:-1px}.mark{font-family:Georgia,serif;display:grid;place-items:center;width:34px;height:34px;background:#234f41;color:#fff;border-radius:10px;font-size:30px;font-style:italic}.version{font-size:9px;letter-spacing:1px;margin-left:12px;color:#758478;font-weight:500}#identity{color:#728174;font-size:12px}main{max-width:1152px;margin:auto;padding:0 0 24px}.hero{display:flex;align-items:center;justify-content:space-between;padding:48px 0 32px}.eyebrow{font-size:10px;letter-spacing:2px;color:#78917c;font-weight:700;margin:0 0 13px}h1{font-size:48px;line-height:1.35;letter-spacing:-2px;margin:0 0 20px;font-weight:650}h1 em{font-style:normal;color:#558269}.intro{color:#7b857c;font-size:14px;line-height:1.9;margin:0}.hero-art{width:320px;text-align:center;margin-right:55px}.hero-art .math-orb{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;user-select:none}.hero-art span{color:#889689;font-size:11px;letter-spacing:2px}.notice{background:#eaf0e7;border:1px solid #dbe5d8;border-radius:9px;padding:12px 17px;display:flex;align-items:center;gap:12px;font-size:11px;color:#667a67}.dot{width:6px;height:6px;background:#699177;border-radius:100%;flex-shrink:0}.notice strong{font-size:11px;white-space:nowrap}.tabs{display:flex;gap:26px;padding:28px 0 18px;border-bottom:1px solid #dde4d9;margin-bottom:28px}.tabs button{background:transparent;border:0;color:#839083;font-size:11px;padding:8px 15px;border-radius:6px}.tabs span{font-size:14px;font-weight:600;margin-left:10px}.tabs button.active{background:#244f40;color:white}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px}h2{font-size:23px;margin:0;font-weight:600;letter-spacing:-.5px}h3{font-size:18px;font-weight:600}.muted{color:#829082;font-size:12px}.small{font-size:11px}.domain-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.domain{display:flex;align-items:center;gap:17px;text-align:left;border:1px solid #e0e6da;background:#fff;padding:18px 22px;border-radius:12px;color:#54705c}.domain.active{border-color:#527f63;background:#eef4eb;box-shadow:0 2px 8px #264a3210}.symbol{font-family:Georgia,serif;font-size:29px;min-width:32px}.domain strong{display:block;font-size:15px}.domain small{color:#899686;font-size:11px}.arrow{margin-left:auto;color:#97a591}.panel{background:#fff;border:1px solid #e4e9df;border-radius:14px;padding:30px}.question{max-width:100%;margin:0 auto}.question-top{display:flex;justify-content:space-between;font-size:10px;color:#93a08f;padding-bottom:19px;border-bottom:1px solid #edf0e8;margin-bottom:25px}.math-content{font-size:17px;line-height:2;color:#293c30;overflow-wrap:anywhere}.math-content p{margin:12px 0}.katex-display{overflow-x:auto;overflow-y:hidden;padding:5px 0}#figures svg{display:block;width:min(100%,640px);margin:24px auto}label{display:block;font-size:12px;color:#7a8975;margin:24px 0 8px}textarea,input{background:#fbfcf8;border:1px solid #dde5d6;border-radius:8px;padding:12px 14px;width:100%;color:#344837}textarea{resize:vertical;min-height:104px;font-size:14px}textarea::placeholder,input::placeholder{color:#a6afa0}.actions{display:flex;gap:12px;margin-top:18px;align-items:center}.primary{border:0;border-radius:7px;color:#fff;background:#2b5947;padding:12px 24px;font-size:12px;min-height:44px}.primary:hover{background:#1f4435}.secondary{border:1px solid #e0e6d9;background:#fff;border-radius:7px;color:#788771;padding:11px 20px;font-size:12px;min-height:44px}button:disabled{opacity:.5;cursor:wait}.divider{height:1px;background:#e3e9dc;margin:30px 0}.login{max-width:430px;margin:35px auto}.login p{color:#85917c;font-size:12px}.login button{width:100%;margin-top:24px}.graph-layout{display:grid;grid-template-columns:300px 1fr;gap:20px}.graph-layout aside{padding:18px}#nodeList{max-height:550px;overflow:auto;margin-top:14px}.node{background:transparent;border:0;border-radius:6px;text-align:left;display:block;width:100%;padding:10px 12px;color:#516a55;font-size:12px}.node:hover,.node.selected{background:#edf3e9}.node small{display:block;color:#9aa892;font-size:10px}.graph-layout article{min-width:0}#nodeDetail h3{margin:0 0 8px}#nodeDetail p{font-size:12px;color:#7c8e76}#network{width:100%;max-height:380px}.relation{font-size:11px;color:#68805f;padding:7px 0;border-top:1px solid #edf0e9}.scenario-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.scenario-list button{border:1px solid #dde5d6;background:#fff;padding:13px;border-radius:8px;color:#65805b;text-align:left;font-size:12px}.scenario-list button.active{background:#eaf2e5;border-color:#739568}.pill{font-size:10px;background:#edece2;color:#918666;border-radius:30px;padding:6px 12px}.decision-mode{font-size:31px;color:#376144;margin:12px 0}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.metric strong{font-size:24px;font-weight:500;display:block}.metric span{font-size:11px;color:#8c9b81}.bar{height:5px;background:#edf1e6;border-radius:5px;margin-top:10px}.bar i{display:block;height:100%;background:#719361;border-radius:5px}.reason{background:#f4f7ef;padding:18px 22px;border-radius:8px;color:#698060;font-size:13px}.error{background:#fff0e9;color:#964e35;border:1px solid #edd4c6;padding:16px;border-radius:8px}footer{display:flex;justify-content:space-between;margin:45px 0 0;padding-top:24px;border-top:1px solid #dfe5d9;font-size:10px;color:#96a08d}footer span:first-child{font-weight:700;font-size:15px;letter-spacing:-.5px}li{margin:10px 0}[hidden]{display:none!important}@media(max-width:1200px){main{padding:0 30px 24px}header{padding:22px 30px}}@media(max-width:650px){header{padding:18px 20px}.brand{font-size:22px}.version{display:none}main{padding:0 20px 20px}.hero{padding:32px 0 25px}h1{font-size:35px}.hero-art{display:none}.intro{font-size:12px}.notice{align-items:flex-start;font-size:10px;gap:7px;padding:11px}.dot{margin-top:6px}.notice strong{font-size:10px}.tabs{gap:4px;padding:20px 0 16px;margin-bottom:22px}.tabs button{padding:8px 10px}.tabs span{font-size:12px;margin-left:4px}.section-heading{align-items:flex-start;gap:8px;flex-direction:column}h2{font-size:21px}.domain-list{gap:7px}.domain{padding:12px 9px;gap:5px;flex-direction:column;align-items:flex-start}.domain small{display:none}.domain strong{font-size:13px}.symbol{font-size:23px}.arrow{display:none}.panel{padding:20px}.math-content{font-size:15px}.question-top{font-size:9px}.graph-layout{grid-template-columns:1fr}#nodeList{max-height:170px}.scenario-list{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}footer{gap:12px;flex-wrap:wrap}footer span:nth-child(2){display:none}.pill{font-size:9px}}

/* Existing Mathbility jade assets and palette, preserved without redrawing. */
:root{--brand-primary:#1D6D46;--brand-hover:#145436;--brand-ink:#173B2B;--brand-muted:#52675A;--brand-bg:#F5FAF6;--brand-tint:#EAF4EC;--brand-line:#D5E7DA}body{background:var(--brand-bg);color:var(--brand-ink)}.brand-icon{display:block;width:44px;height:44px;object-fit:contain}.brand-wordmark{display:block;width:120px;height:auto;align-self:center}.primary,.tabs button.active{background:var(--brand-primary)}.primary:hover{background:var(--brand-hover)}.domain.active,.notice{background:var(--brand-tint);border-color:var(--brand-line)}.muted,.intro,.domain small,#identity{color:var(--brand-muted)}h1 em{color:var(--brand-primary)}@media(max-width:650px){.brand-icon{width:38px;height:38px}.brand-wordmark{width:100px}}

/* Shared original four-palette controls and account UI. */
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.theme-label{margin:0;font-size:11px;color:var(--brand-muted)}select{font:inherit;background:var(--brand-surface,#fff);color:var(--brand-ink);border:1px solid var(--brand-line);border-radius:8px;padding:10px 12px;max-width:100%}#themeSelect{font-size:12px;min-height:40px}.header-actions .secondary{padding:8px 12px;min-height:40px}.auth-tabs{display:flex;gap:8px;margin-bottom:24px}.auth-tabs button{width:auto;margin:0;padding:10px 15px;border:0;border-radius:7px;background:var(--brand-tint);color:var(--brand-primary);font-size:12px}.auth-tabs button.active{background:var(--brand-primary);color:#fff}.login small{display:block;margin-top:6px;color:var(--brand-muted);font-size:11px}#previewButton{margin-top:12px}.tabs{gap:10px;flex-wrap:wrap}.tabs button{padding:8px 12px}.theme-label{display:none}.account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.account-form button{align-self:end;justify-self:start;margin-top:24px}.account-form select{width:100%}.account-balance strong{font-size:26px}.child-card{display:grid;grid-template-columns:1fr auto;padding:15px 0;border-bottom:1px solid var(--brand-line)}.child-card small{grid-column:1/-1;color:var(--brand-muted)}#familyPanel{margin-top:20px}summary{cursor:pointer;color:var(--brand-primary);padding:20px 0 0}dialog{max-width:440px;width:calc(100% - 40px);border:1px solid var(--brand-line);border-radius:16px;padding:28px;background:var(--brand-surface,#fff);color:var(--brand-ink)}dialog::backdrop{background:#15202a66}dialog p{font-size:13px}dialog .actions{justify-content:flex-end}
header,.tabs,footer,.question-top,.relation{border-color:var(--brand-line)}.panel,.domain,.secondary,.scenario-list button{background:var(--brand-surface,#fff);border-color:var(--brand-line);color:var(--brand-ink)}.question-top,.eyebrow,.version,footer,.hero-art span,.domain small,.arrow,label,.node small,#nodeDetail p,.metric span,.small{color:var(--brand-muted)}h1,h2,h3,.math-content,.brand,.metric strong{color:var(--brand-ink)}h1 em,.symbol,.decision-mode{color:var(--brand-primary)}.domain.active,.scenario-list button.active{background:var(--brand-tint);border-color:var(--brand-primary)}.notice,.node:hover,.node.selected,.reason{background:var(--brand-tint);color:var(--brand-ink);border-color:var(--brand-line)}.node,.relation{color:var(--brand-muted)}input,textarea{background:var(--brand-background);border-color:var(--brand-line);color:var(--brand-ink)}.bar,.divider{background:var(--brand-line)}.bar i,.dot{background:var(--brand-primary)}.pill{background:var(--brand-soft);color:var(--brand-secondary)}#network line{stroke:var(--brand-line)}#network circle,#figures svg circle{fill:var(--brand-primary)}#network text{fill:var(--brand-ink)}button:focus-visible,a:focus-visible,input:focus,textarea:focus,select:focus-visible,summary:focus-visible{outline:3px solid var(--brand-secondary);outline-offset:3px}
@media(max-width:650px){header{align-items:flex-start;gap:12px}.header-actions{gap:6px}.header-actions #identity{display:none}.header-actions .secondary{font-size:11px;padding:7px 9px}#themeSelect{font-size:11px;padding:7px 9px}.tabs{gap:5px}.tabs button{padding:8px}.tabs span{font-size:11px;margin-left:4px}.account-form{grid-template-columns:1fr}.child-card{grid-template-columns:1fr}footer .icp{flex-basis:100%;font-size:11px}}

.handwriting-panel{margin-top:18px}.ink-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.ink-toolbar label{display:flex;align-items:center;gap:6px;margin:0 0 0 auto}.ink-toolbar input{width:auto}.ink-toolbar .active{background:var(--brand-tint);border-color:var(--brand-primary)}#handwriting{display:block;width:100%;height:auto;aspect-ratio:2;border:1px solid var(--brand-line);border-radius:8px;background-color:#fff;touch-action:none;cursor:crosshair}#handwriting.ruled{background-image:linear-gradient(to bottom,transparent calc(100% - 1px),#cbd5df 1px);background-size:100% 8%}.work-upload{margin-top:18px}.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--brand-line);font-size:12px}.attachment-row span{overflow-wrap:anywhere}.input-error{color:#B23C36;font-size:12px}.saved-work{border-top:1px solid var(--brand-line);padding:12px 0;overflow-wrap:anywhere}.saved-work p{white-space:pre-wrap;font-size:13px}.saved-work a{display:inline-block;margin:4px 8px 4px 0}footer{align-items:center}footer .icp{margin-left:auto}.hero-art{color:var(--brand-muted)}@media(max-width:650px){.ink-toolbar .secondary{padding:8px 12px}footer .icp{margin-left:0}}

.domain-list{grid-template-columns:repeat(4,minmax(0,1fr))}.domain{padding:16px 12px;gap:9px}.domain strong{font-size:14px}.source-filters{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:22px}.source-filters label{margin:0;min-width:170px}.source-filters select{display:block;width:100%;margin-top:8px}.source-filters p{flex:1;min-width:200px}.source-text{white-space:pre-wrap}.source-figure{display:block;max-width:100%;max-height:400px;margin:20px auto;object-fit:contain}@media(max-width:800px){.domain-list{grid-template-columns:repeat(2,minmax(0,1fr))}.source-filters{gap:10px}.source-filters label{min-width:130px;flex:1}.source-filters p{flex-basis:100%}}

/* One consistent input surface and theme-aware controls across all four palettes. */
.hero-art span,.intro,.eyebrow,.muted,.question-top,label,.domain small,.arrow,footer,.secondary{color:var(--brand-muted)}
.tabs button{color:var(--brand-muted)}.tabs button.active{color:#fff}.domain.active{box-shadow:0 3px 12px color-mix(in srgb,var(--brand-primary) 9%,transparent)}
textarea::placeholder,input::placeholder{color:color-mix(in srgb,var(--brand-muted) 65%,var(--brand-surface))}
input,textarea,select{background:var(--brand-surface);border-color:var(--brand-line)}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 12%,transparent)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}
#answerForm{margin-top:28px;background:var(--brand-surface);border:1px solid var(--brand-line);border-radius:14px;padding:18px 20px}
#answerForm>label{margin:0 0 9px;font-weight:600;color:var(--brand-ink)}
#answer{border:0;border-radius:0;background:transparent;padding:4px 0 10px;min-height:130px;box-shadow:none;outline:none;line-height:1.85}
#answerForm:has(#answer:focus){border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 8%,transparent)}
.handwriting-panel{margin-top:8px;border-top:1px solid var(--brand-line)}.handwriting-panel summary{padding-top:14px;font-size:13px}
#handwriting{background-color:#fff;border-color:var(--brand-line)}.ink-toolbar .secondary{font-size:12px}
.work-upload{margin-top:14px}.file-input-native{position:absolute;width:1px;height:1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.upload-trigger{display:inline-flex;align-items:center;gap:8px;margin:0!important;padding:9px 14px;border:1px solid var(--brand-line);border-radius:9px;background:var(--brand-tint);color:var(--brand-primary)!important;cursor:pointer;font-size:12px;font-weight:600}
.upload-trigger:hover{border-color:var(--brand-primary)}.upload-trigger span{font-size:20px;line-height:1}.file-input-native:focus-visible+.upload-trigger{outline:2px solid var(--brand-primary);outline-offset:3px}
.work-upload>.small{margin:9px 0 0;font-size:11px}.input-error:empty{display:none}.attachment-row{background:var(--brand-tint);border:0;border-radius:9px;padding:8px 12px;margin-top:8px}.attachment-row .secondary{background:transparent;border:0;padding:4px 8px;min-height:32px}
#answerForm .actions{border-top:1px solid var(--brand-line);padding-top:16px;margin-top:16px}.primary{background:var(--brand-primary)}.primary:hover{background:var(--brand-hover)}
.login{padding:30px 34px}.login h2{margin-bottom:24px}.login input{min-height:46px}.login .guest-entry{margin-top:12px;background:var(--brand-tint);color:var(--brand-primary);border-color:var(--brand-line)}
@media(max-width:650px){#answerForm{padding:14px}.login{padding:24px}.domain-list{gap:10px}.domain{flex-direction:row;align-items:center;gap:12px;padding:16px}.domain small{display:block;font-size:10px}.question{padding:18px}.actions .primary,.actions .secondary{padding:10px 16px}}

#network{display:block;width:100%;height:auto;max-height:none;aspect-ratio:900/620;touch-action:none;cursor:grab;border-radius:12px}#network:active{cursor:grabbing}.globe-tools{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.globe-tools .secondary{padding:7px 12px;min-height:38px}.globe-position{padding:10px 14px;border-radius:9px;background:var(--brand-tint);color:var(--brand-primary);font-weight:600;font-size:13px}.globe-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--brand-muted)}

/* Expanded ink workspace keeps a stable coordinate system and export size. */
#handwriting{aspect-ratio:3/2}#handwriting.ruled{background-size:100% 6%}.ink-toolbar label{margin:0}.ink-toolbar select{width:auto;padding:6px}.ink-toolbar button:disabled{opacity:.45;cursor:default}.ink-expanded{position:fixed;inset:12px;z-index:1000;margin:0;padding:18px;background:var(--brand-bg,#fff);border:1px solid var(--brand-line);border-radius:14px;overflow:auto;box-shadow:0 12px 80px #0004}.ink-expanded #handwriting{width:auto;max-width:100%;height:min(72dvh,800px);margin:auto}.ink-expanded summary{padding:0}#handwriting:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}

/* Reviewed teaching content, 2026-09-30 */
.teaching-updates{margin:22px 0}.teaching-updates h3{margin:0}.teaching-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.teaching-card{text-align:left;white-space:normal;padding:16px!important}.teaching-card span{display:block;font-size:12px;margin-top:8px;font-weight:400}.teaching-panel{margin:28px 0;padding:20px;border:1px solid var(--line,#d9e1ea);border-radius:12px;background:var(--paper,#fafbfc)}.teaching-heading{display:flex;justify-content:space-between;gap:12px}.teaching-heading h3{margin:0}.teaching-actions{display:flex;flex-wrap:wrap;gap:8px}.teaching-detail{padding:14px 0;border-top:1px solid var(--line,#d9e1ea);margin-top:12px}.teaching-detail h4{margin:0 0 8px}.teaching-detail li{margin-bottom:14px}.teaching-detail li p{margin:4px 0}.teaching-detail p{overflow-wrap:anywhere}.teaching-panel [hidden]{display:none!important}@media(max-width:650px){.teaching-cards{grid-template-columns:1fr}.teaching-heading{display:block}.teaching-panel{padding:15px}.teaching-actions .secondary{flex:1 1 42%}}

/* Reviewed question atoms, integrated in the four subjects. */
.question-picker{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0}.question-picker>span{margin-right:auto;color:var(--brand-muted,#687c70)}
.question-picker button{min-width:40px}.secondary.selected,.report-options button.selected{background:var(--brand-primary,#1d6d46);color:#fff;border-color:var(--brand-primary,#1d6d46)}
.question-picker{display:block;padding:14px 0;border:0;border-radius:0;background:transparent}
.practice-course-controls{display:grid;gap:16px;padding:20px 22px;margin:0 0 20px;border:1px solid var(--brand-line,#d5e7da);border-radius:14px;background:var(--brand-surface,#fff)}
.practice-course-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.practice-course-heading>strong{font-size:14px;font-weight:600;color:var(--brand-ink,#173b2b)}
.practice-course-options{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.practice-course-button{min-width:0;min-height:46px;padding:10px 6px;border:1px solid var(--brand-line,#d5e7da);border-radius:9px;background:var(--brand-bg,#f5faf6);color:var(--brand-ink,#173b2b);font-size:13px;font-weight:600;line-height:1.5;transition:background .15s,border-color .15s}
.practice-course-button:hover{background:var(--brand-tint,#eaf4ec);border-color:var(--brand-primary,#1d6d46)}.practice-course-button[aria-pressed=true]{background:var(--brand-primary,#1d6d46);border-color:var(--brand-primary,#1d6d46);color:#fff}.practice-course-button[aria-busy=true]{outline:2px dashed var(--brand-primary,#1d6d46);outline-offset:2px}.practice-course-button:focus-visible{outline:3px solid var(--brand-primary,#1d6d46);outline-offset:3px}.practice-course-button:disabled{cursor:wait;opacity:.55}
.practice-course-aux{display:flex;gap:8px}.practice-course-aux .practice-course-button{min-height:36px;padding:6px 12px;font-size:12px;font-weight:500;background:transparent}.practice-course-aux .practice-course-button[aria-pressed=true]{background:var(--brand-tint,#eaf4ec);color:var(--brand-primary,#1d6d46)}
.practice-course-summary{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;min-width:0}.practice-course-summary strong{font-size:13px;font-weight:600;color:var(--brand-ink,#173b2b)}.practice-course-summary p{margin:0;color:var(--brand-muted,#52675a);font-size:12px}
.practice-course-status{margin:0;font-size:12px;color:var(--brand-primary,#1d6d46)}.practice-course-status:empty{display:none}.practice-empty{padding:14px 0}
@media(max-width:1100px){.practice-course-options{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.practice-course-controls{padding:16px;gap:14px}.practice-course-options{gap:7px}.practice-course-button{font-size:12px;padding:10px 4px}.practice-course-summary{display:block}.practice-course-summary p{margin-top:5px}}
@media(max-width:380px){.practice-course-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
.difficulty-heading,.difficulty-track,.difficulty-ends{display:flex;align-items:center;justify-content:space-between;gap:16px}.difficulty-heading{flex-wrap:wrap}.difficulty-heading label{font-weight:600}.difficulty-heading output{font-size:13px;font-variant-numeric:tabular-nums;color:var(--brand-primary,#1d6d46)}
.difficulty-track{margin-top:12px}.difficulty-track button{width:40px;padding:8px;flex-shrink:0}.difficulty-track input[type=range]{--axis-fill:0%;appearance:none;-webkit-appearance:none;width:100%;height:38px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;accent-color:var(--brand-primary,#1d6d46)}
.difficulty-track input::-webkit-slider-runnable-track{height:6px;border-radius:9px;background:linear-gradient(to right,var(--brand-primary,#1d6d46) var(--axis-fill),var(--line,#d9e5dd) var(--axis-fill))}.difficulty-track input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:var(--brand-primary,#1d6d46);border:3px solid white;box-shadow:0 0 0 1px var(--brand-primary,#1d6d46)}
.difficulty-track input::-moz-range-track{height:6px;border-radius:9px;background:var(--line,#d9e5dd)}.difficulty-track input::-moz-range-progress{height:6px;background:var(--brand-primary,#1d6d46)}.difficulty-track input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;border:3px solid white;background:var(--brand-primary,#1d6d46)}
.difficulty-track input:focus-visible{outline:2px solid var(--brand-primary,#1d6d46);outline-offset:4px;border-radius:8px}.difficulty-track input:disabled{opacity:.5;cursor:wait}.difficulty-ends{margin:0 56px;font-size:12px;color:var(--brand-muted,#687c70)}#difficultyNote{margin:12px 0 0}.difficulty-track button:disabled{opacity:.4}
@media(max-width:620px){.question-picker{padding:12px 0}.difficulty-heading{gap:6px}.difficulty-heading output{width:100%}.difficulty-track{gap:10px}.difficulty-ends{margin:0 50px}}
.teaching-panel{margin:28px 0;padding:24px;background:var(--brand-bg,#f6f8f5);border:1px solid var(--brand-line,#dae4db);border-radius:18px}
.coordinate-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.coordinate-metrics>div{display:flex;flex-direction:column;gap:6px}.coordinate-metrics strong{font-size:26px}.coordinate-metrics small{font-size:13px;font-weight:400}.coordinate-metrics span{font-size:12px;color:var(--brand-muted,#687c70)}
.coordinate-tags{display:flex;flex-wrap:wrap;gap:8px}.knowledge-link{border:1px solid var(--brand-line,#dae4db);background:var(--brand-surface,#fff);color:inherit;border-radius:9px;padding:9px 12px;font-size:13px;text-align:left}.knowledge-link span{font-size:10px;display:block;color:var(--brand-muted,#687c70);margin-bottom:4px}.profile-details{margin:18px 0;line-height:1.8;font-size:13px}.profile-details summary,.node-reflection summary{cursor:pointer}
.self-report{padding-top:16px;border-top:1px solid var(--brand-line,#dae4db)}.self-report h4{margin:6px 0}.self-report fieldset{border:0;padding:0;margin:12px 0}.self-report legend{font-size:12px;color:var(--brand-muted,#687c70);margin-bottom:8px}.report-options{display:flex;flex-wrap:wrap;gap:8px}.report-options button{padding:8px 11px;font-size:12px}.hint-step{border-left:3px solid var(--brand-primary,#1d6d46);padding:4px 16px;margin:16px 0;background:var(--brand-surface,#fff);border-radius:0 10px 10px 0}.hint-step>span{font-size:11px;color:var(--brand-muted,#687c70)}
.teaching-actions{gap:9px;align-items:center}.teaching-actions #hintButton,.teaching-actions #unlockNotice{flex-basis:100%}.teaching-actions #hintButton{text-align:left;background:var(--brand-surface,#fff)}.teaching-actions button:disabled{opacity:.48;cursor:not-allowed}.teaching-detail{line-height:1.9}.teaching-detail li{padding:9px 0}.node-reflection{margin-top:20px}.node-review{margin-top:14px}.node-review>strong{display:block;font-size:13px;margin-bottom:8px}.node-questions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
@media(max-width:620px){.teaching-panel{padding:15px}.coordinate-metrics{grid-template-columns:repeat(2,1fr)}.report-options button{flex:1 1 44%}.teaching-actions button{flex:1 1 100%}.knowledge-link{max-width:100%}.question-picker>span{flex-basis:100%}.teaching-detail ol{padding-left:22px}}
.method-card{margin:22px 0;padding:18px 20px;border-radius:14px;background:#edf3fc;border:1px solid #ccdbee;color:#244c78}.method-card h4{margin:0 0 12px}.method-tags{display:flex;flex-wrap:wrap;gap:8px}.method-tags>span{padding:6px 12px;background:#fff;border-radius:8px;font-size:13px;line-height:1.7}
.solution-section{margin:24px 0}.solution-section>h4{margin:0 0 14px}.solution-steps{list-style:none;padding:0;margin:0;display:grid;gap:14px}.solution-step{min-width:0;padding:18px 20px;border:1px solid var(--brand-line,#dae4db);border-radius:14px;background:var(--brand-surface,#fff)}.step-label{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:var(--brand-muted,#687c70)}.step-label>span{display:grid;place-items:center;width:30px;height:30px;background:var(--brand-bg,#f5faf6);color:var(--brand-primary,#1d6d46);border-radius:9px;font-variant-numeric:tabular-nums}.step-content{line-height:1.95;overflow-wrap:anywhere}.step-content>p{margin:12px 0}.step-reason{padding:12px 14px;border-radius:9px;background:#f7f4ec;color:#695329;font-size:13px;line-height:1.8}.step-reason strong{font-size:12px}.step-reason p{margin:5px 0 0}.solution-conclusion{padding:16px 20px;margin-top:14px;border:1px solid #c5dfd2;border-radius:14px;background:#eef7f1;color:#23563d;line-height:1.9}.solution-conclusion p{margin:6px 0 0}
.rubric-section{margin:24px 0}.rubric-heading,.rubric-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.rubric-heading h4,.rubric-card-heading h5{margin:0}.rubric-heading>span{font-size:13px;color:var(--brand-muted,#687c70)}.rubric-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;align-items:start}.rubric-card{--score-ink:#285782;--score-bg:#eff5fd;--score-line:#cedef0;min-width:0;border:1px solid var(--score-line);border-radius:14px;padding:18px;background:var(--brand-surface,#fff)}.rubric-card[data-score-tone=green]{--score-ink:#286047;--score-bg:#eff8f2;--score-line:#cce3d6}.rubric-card[data-score-tone=gold]{--score-ink:#79541a;--score-bg:#fcf6e9;--score-line:#ead9b8}.rubric-card[data-score-tone=rose]{--score-ink:#943e50;--score-bg:#fcf0f2;--score-line:#ebccd3}.rubric-card-heading{color:var(--score-ink)}.rubric-card-heading h5{font-size:14px}.points-badge{padding:5px 12px;border-radius:8px;background:var(--score-bg);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.rubric-criterion{line-height:1.9;overflow-wrap:anywhere}.rubric-criterion p{margin:14px 0}.rubric-rules{font-size:12px;line-height:1.85;color:var(--brand-muted,#687c70)}.rubric-rules summary{cursor:pointer;color:var(--score-ink);padding:8px 0}.rubric-rules>div{margin-top:8px;padding:12px;border-radius:8px;background:var(--score-bg);color:var(--score-ink);overflow-wrap:anywhere}.rubric-rules p{margin:4px 0 0}#teachingBody .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 0}#teachingBody details>summary:focus-visible{outline:2px solid var(--brand-primary,#1d6d46);outline-offset:3px;border-radius:4px}
@media(max-width:700px){.rubric-cards{grid-template-columns:1fr}.solution-step,.method-card,.rubric-card,.solution-conclusion{padding:15px}.step-content{font-size:14px}.method-tags>span{max-width:100%;overflow-wrap:anywhere}}
.hero-art .math-orb{aspect-ratio:600/520;background-image:url('/v2-demo/static/math-orb/orb-four-transparent-v2.webp');background-size:241.333333% 208.846154%;background-repeat:no-repeat;background-position:10.613208% 0%;pointer-events:none}.hero-art .math-orb[data-color=bronze]{background-position:89.622642% 0%}.hero-art .math-orb[data-color=blue]{background-position:10.613208% 91.872792%}.hero-art .math-orb[data-color=rose]{background-position:89.622642% 91.872792%}

/* One authenticated workspace frame keeps every view at the same content origin. */
body[data-session="active"]{--workspace-gutter:clamp(16px,2vw,32px);overflow-anchor:none}
body[data-session="active"] #workspace,body[data-session="active"] .view{overflow-anchor:none}
body[data-session="active"]>header{width:100%;max-width:1760px;margin-inline:auto;padding:18px var(--workspace-gutter)}
body[data-session="active"]>main{width:100%;max-width:1760px;margin-inline:auto;padding:0 var(--workspace-gutter) 20px}
body[data-session="active"] .hero{display:none}
body[data-session="active"] .tabs{gap:8px;padding:16px 0;margin:0 0 16px;flex-wrap:wrap}
.workspace-content-start{height:0;width:100%;scroll-margin-top:16px}
#workspace,.view{min-width:0;max-width:100%}
.atlas-frame{display:block;width:100%;height:max(780px,calc(100dvh - 190px));border:1px solid var(--brand-line,#dce3e1);border-radius:14px;background:#fff}
#atlas.view{padding:0;min-width:0}
body[data-session="active"] .question{width:100%;max-width:1152px;margin-inline:auto}
body[data-session="active"] .graph-layout{grid-template-columns:280px minmax(0,1fr)}
body[data-session="active"] .domain-list{grid-template-columns:repeat(4,minmax(0,1fr))}
body[data-session="active"] .domain{min-width:0}
body[data-session="active"] .domain strong{overflow-wrap:anywhere}
.practice-domain-summary{grid-column:1/-1;margin:0;font-size:12px;color:var(--brand-muted)}
.node-item-group{margin:18px 0}.node-item-group h4{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin:0 0 8px}.node-item-group h4>span{font-size:11px;font-weight:400;color:var(--brand-muted)}.node-item-grid{display:grid;grid-template-columns:repeat(var(--item-columns,2),minmax(0,1fr));gap:8px}.node-item-group .compact-item{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;margin:0;padding:10px 12px;min-width:0;max-width:100%;border-radius:8px;line-height:1.5}.item-code{font-size:12px;font-weight:600;overflow-wrap:anywhere}.node-item-group small{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11px;color:var(--brand-muted)}.compact-item em{font-size:9px;font-style:normal;padding:0 4px;border:1px solid var(--brand-line);border-radius:4px}.item-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:10px;font-size:11px;color:var(--brand-muted)}.item-pagination button{border:1px solid var(--brand-line);background:var(--brand-surface,#fff);color:var(--brand-ink);border-radius:6px;width:30px;height:28px;padding:0;font-size:20px;line-height:1}.item-pagination button:disabled{cursor:default;opacity:.35}
#nodeDetail .node-definition-text{font-size:15px;line-height:1.9;overflow-wrap:break-word;line-break:strict}
.globe-legend span{display:inline-flex;align-items:center;gap:6px}.globe-legend span::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--domain-color)}
.mapping-notice{padding:14px 18px;margin:16px 0;background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:10px;font-size:13px}.mapping-notice p{margin:0 0 10px}.mapping-notice button{margin:0 8px 8px 0}
@media(max-width:800px){body[data-session="active"] .graph-layout{grid-template-columns:1fr}}
@media(max-width:1000px){body[data-session="active"] .domain-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body[data-session="active"] .domain-list{grid-template-columns:1fr}body[data-session="active"] .domain{flex-direction:row;align-items:center;gap:12px;padding:13px 16px}body[data-session="active"] .domain small{display:block}body[data-session="active"] .domain .arrow{display:block}}
@media(max-width:680px){body[data-session="active"]>header{padding:14px 16px}body[data-session="active"] .tabs{gap:6px;padding:12px 0;margin-bottom:12px}.atlas-frame{height:calc(100dvh - 150px);min-height:720px;border-radius:10px}}

/* Exam identity, capability references and contribution-based scoring. */
.exam-context{padding:24px;border:1px solid var(--brand-line);border-radius:16px;background:var(--brand-tint);margin:0 0 26px}.exam-eyebrow{font-size:11px;letter-spacing:.12em;color:var(--brand-muted);margin:0 0 10px}.exam-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.exam-title-row h4{font-size:21px;line-height:1.5;margin:0}.exam-relation{flex-shrink:0;font-size:11px;border:1px solid var(--brand-line);border-radius:20px;padding:4px 10px;background:white;color:var(--brand-primary)}.exam-position{font-size:14px;font-weight:600;margin:8px 0}.exam-placement>p{line-height:1.8}.secondary-placement{padding-top:18px;margin-top:18px;border-top:1px solid var(--brand-line)}.exam-provenance{display:flex;gap:16px;align-items:baseline;border-top:1px solid var(--brand-line);padding-top:14px;margin-top:18px;font-size:12px}.exam-provenance span{color:var(--brand-muted);flex-shrink:0}.exam-provenance strong{font-weight:500;line-height:1.7}.exam-sources{list-style:none;margin:12px 0 0;padding:0;font-size:12px}.exam-sources li{margin:8px 0}.exam-sources span{display:block;color:var(--brand-muted);margin-top:3px}.exam-sources a{color:var(--brand-primary);text-decoration:none;overflow-wrap:anywhere}.exam-sources a:hover{color:var(--brand-hover);text-decoration:none}.exam-sources a:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}.score-overview{display:flex;align-items:center;justify-content:space-between;gap:18px}.score-overview h4{font-size:21px;margin:0}.score-total{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.score-total strong{font-size:42px;font-weight:500;line-height:1.1;color:var(--brand-primary)}.score-total span{font-size:12px;color:var(--brand-muted)}.score-rationale{font-size:14px;line-height:1.8;margin:18px 0}.score-weight-bar{height:6px;display:flex;gap:4px;margin:24px 0}.score-weight-bar span{min-width:3px;background:var(--brand-primary);border-radius:4px;opacity:.65}.score-weight-bar span:nth-child(2n){opacity:1}.score-weight-bar span:nth-child(3n){opacity:.4}.score-milestones{list-style:none;padding:0;margin:0}.score-milestone{padding:22px 0;border-bottom:1px solid var(--brand-line);min-width:0}.score-milestone:first-child{padding-top:0}.score-milestone-head{display:flex;gap:12px;align-items:baseline}.score-index{font-size:12px;color:var(--brand-muted);font-variant-numeric:tabular-nums}.score-milestone-head h5{flex:1;font-size:16px;line-height:1.6;margin:0}.score-milestone-head>strong{color:var(--brand-primary);font-size:24px;font-weight:600;white-space:nowrap}.score-milestone-head small{font-size:12px;font-weight:400}.score-milestone .rubric-criterion{padding-left:29px;font-size:15px;line-height:1.9}.score-weight-reason{margin:8px 0 14px 29px;font-size:13px;color:var(--brand-muted);line-height:1.8}.score-milestone .rubric-rules{margin-left:29px}.score-equivalent{border-radius:12px;padding:18px 20px;background:var(--brand-tint);margin:24px 0;font-size:14px;line-height:1.8}.score-equivalent>strong{font-size:13px}.score-notice{line-height:1.8}.rubric-v2{margin-bottom:28px}
@media(max-width:600px){.exam-context{padding:18px}.exam-title-row{align-items:flex-start;flex-wrap:wrap;gap:8px}.exam-title-row h4,.score-overview h4{font-size:18px}.score-total strong{font-size:34px}.exam-provenance{flex-direction:column;gap:4px}.score-milestone .rubric-criterion,.score-weight-reason,.score-milestone .rubric-rules{padding-left:0;margin-left:0}.score-milestone-head{gap:8px}.score-milestone{padding:18px 0}.score-milestone-head h5{font-size:15px}}

/* Keep an inline mathematical expression together; wide expressions scroll locally. */
.math-content :not(.katex-display) > .katex {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  padding-block: 2px;
  vertical-align: middle;
}
.math-content .katex-display,
.math-content :not(.katex-display) > .katex {
  scrollbar-width: thin;
  scrollbar-color: #819b91 transparent;
}
.math-content .katex-display::-webkit-scrollbar,
.math-content :not(.katex-display) > .katex::-webkit-scrollbar { height: 5px; }
.math-content .katex-display::-webkit-scrollbar-thumb,
.math-content :not(.katex-display) > .katex::-webkit-scrollbar-thumb {
  background: #819b91;
  border-radius: 3px;
}

/* Leave room for italic overhang, nested subscripts and the local scrollbar. */
.math-content :not(.katex-display) > .katex {
  padding: .25em .2em .4em;
}

/* Question display math shares a reading edge with its subquestion number. */
#stem .question-text-flow, #stem.question-text-flow {
  display: flex;
  flex-direction: column;
  gap: 16px;
  white-space: normal;
  line-height: 1.8;
}
#stem .question-prose { white-space: pre-wrap; }
#stem .question-equation {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  min-width: 0;
}
#stem .question-equation-numbered { grid-template-columns: auto minmax(0, 1fr); gap: 12px; }
#stem .question-equation-number { padding-top: .1em; white-space: nowrap; font-variant-numeric: tabular-nums; }
#stem .question-equation-math { min-width: 0; }
#stem .question-equation .katex-display {
  margin: 0;
  padding: .15em .1em .25em;
  text-align: left;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}
#stem .question-equation .katex-display > .katex { text-align: left; }

.desktop-use-note{margin:8px auto 12px;padding:0 24px;text-align:center;color:var(--brand-muted,#647b6c);font-size:12px;line-height:1.6}

#stem .question-equation-arithmetic .katex-html {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  row-gap: 10px;
}
#stem .question-equation-arithmetic .katex-html > .base { flex-shrink: 0; }

/* Bashu palette: keep the existing orb artwork and shift its blue layer to violet. */
html[data-theme=cobalt] .hero-art .math-orb[data-color=blue]{filter:hue-rotate(65deg)}
