/* Palette and typography only. Page geometry remains in the existing layout files. */
:root,[data-theme=light]{
 color-scheme:light;
 --ink:#30394f;--muted:#606c83;--border:#dfe3ed;--blue:#5266b8;--blue-light:#edf0fc;--teal:#27725e;--red:#ad3e58;
 --bg:#f7f8fc;--surface:#ffffff;--surface-soft:#f3f5fa;--hover:#eceff7;--input-border:#8793a7;--on-accent:#fff;--accent-fill:#5365af;--accent-hover:#455594;
 --nav:#f0f2fa;--nav-ink:#4d5874;--nav-active:#e4e9fc;--nav-active-ink:#425399;--nav-border:#d9dfed;
 --success-bg:#eaf5ef;--success-ink:#21664e;--warning-bg:#fbf2df;--warning-ink:#805d1c;--error-bg:#fbeef1;--error-ink:#a43b52;
 --info-bg:#edf1fb;--info-ink:#445a92;--shadow:0 8px 28px #394b7808;--overlay:#11172480;--top-surface:#fffffff2;
 --glow-blue:#dce7fa70;--glow-pink:#f8e4ee65;--brand-accent:#98537d;
 font-family:"Poppins","Noto Sans SC","PingFang SC","Microsoft YaHei UI","Microsoft YaHei","Segoe UI",sans-serif;
}
[data-theme=dark]{
 color-scheme:dark;
 --ink:#e0e5f2;--muted:#a5aec5;--border:#343d53;--blue:#a6b8ff;--blue-light:#282f4b;--teal:#8bd4b8;--red:#f29eaf;
 --bg:#141722;--surface:#1c2230;--surface-soft:#232a3b;--hover:#2c354a;--input-border:#667590;--on-accent:#141d36;--accent-fill:#a6b8ff;--accent-hover:#bccaff;
 --nav:#191e2d;--nav-ink:#bcc5dc;--nav-active:#303954;--nav-active-ink:#d4ddff;--nav-border:#353e55;
 --success-bg:#223d35;--success-ink:#9bdfc0;--warning-bg:#403725;--warning-ink:#edd29b;--error-bg:#452b37;--error-ink:#f4b0bd;
 --info-bg:#28334e;--info-ink:#bcccf5;--shadow:0 8px 28px #05071020;--overlay:#070a14b8;--top-surface:#1c2230f5;
 --glow-blue:#32467530;--glow-pink:#633c6220;--brand-accent:#e6a3c6;
}
[data-theme=eye]{
 color-scheme:light;
 --ink:#344536;--muted:#5c6b55;--border:#cdd7c3;--blue:#416b51;--blue-light:#e1ead8;--teal:#3b7054;--red:#9f4750;
 --bg:#eaf0e4;--surface:#f4f6eb;--surface-soft:#e8eddf;--hover:#dce7d2;--input-border:#74856a;--on-accent:#fff;--accent-fill:#4b6b50;--accent-hover:#3c5740;
 --nav:#e2ead8;--nav-ink:#485e46;--nav-active:#cedec2;--nav-active-ink:#2e5235;--nav-border:#c4d2b7;
 --success-bg:#dfeadb;--success-ink:#355e3b;--warning-bg:#efe7d0;--warning-ink:#735728;--error-bg:#f0dfdb;--error-ink:#8e4248;
 --info-bg:#e0e9d7;--info-ink:#3e6045;--shadow:0 8px 28px #485f3808;--overlay:#25302180;--top-surface:#f4f6ebf5;
 --glow-blue:#d4e1c950;--glow-pink:#e9e6ce45;--brand-accent:#526448;
}
:root{--workspace-background:radial-gradient(ellipse at 25% 0,var(--glow-blue),transparent 48%),radial-gradient(ellipse at 95% 0,var(--glow-pink),transparent 40%)}
html,body{color:var(--ink);background-color:var(--bg)}
body{background-image:var(--workspace-background);background-attachment:fixed}
::selection{background:var(--nav-active);color:var(--nav-active-ink)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--blue)}
input,select,textarea{color:var(--ink);background:var(--surface);border-color:var(--input-border)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--blue-light)}
input[type=file]{background:var(--surface-soft)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent-fill)}
input:autofill{box-shadow:0 0 0 100px var(--surface) inset;color:var(--ink)}
.card,.questions-list,.modal,.modal-head{background:var(--surface);color:var(--ink)}
.subtle-panel,.source-text,.score-overview,.answer-comparison,.workflow-item,.upload-file-progress,.source-weight-panel,.practice-advanced,.question-scope-actions{background:var(--surface-soft);color:var(--ink);border-color:var(--border)}
.btn{background:var(--surface);border-color:var(--border);color:var(--ink)}
.btn:hover{background:var(--hover);border-color:var(--input-border)}
.btn.primary,.main-shortcut{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}
.btn.primary:hover,.main-shortcut:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn.soft{background:var(--blue-light);color:var(--blue);border-color:transparent}
.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--hover)}
.btn.danger{color:var(--red);border-color:var(--red)}
.badge,.collection-count{background:var(--surface-soft);color:var(--muted)}
.badge.green{background:var(--success-bg);color:var(--success-ink)}
.badge.blue,.source-badge{background:var(--info-bg);color:var(--info-ink)}
.badge.amber{background:var(--warning-bg);color:var(--warning-ink)}
.badge.red{background:var(--error-bg);color:var(--error-ink)}
.notice,.job-panel,.upload-batch-summary,.file-hint,.bank-review-panel,.bank-approval-count{background:var(--info-bg);color:var(--info-ink);border-color:var(--border)}
.notice.amber{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--border)}
.notice.error{background:var(--error-bg);color:var(--error-ink);border-color:var(--red)}
.empty svg,.eyebrow,.metric .metric-note,.table-sub,.toolbar .search svg,.question-filter-primary .search>svg,.paper-card .created,.option-letter,.footer-note,.collection-nav-item,.file-hint svg{color:var(--muted)}
.sidebar{background:var(--nav);color:var(--nav-ink);box-shadow:inset -1px 0 var(--nav-border)}
.sidebar-nav{scrollbar-color:var(--input-border) transparent}
.brand,.brand-home:hover{color:var(--ink)}.brand strong{letter-spacing:.3px}.brand-mark{background:var(--blue-light);color:var(--blue)}
.brand small,.nav-label,.sidebar-foot,.site-home-link{color:var(--muted)}
.sidebar-foot,.nav-group{border-color:var(--nav-border)}
.nav-item,.nav-item svg,.nav-group>summary{color:var(--nav-ink)}
.nav-item:hover,.nav-group>summary:hover{background:var(--hover);color:var(--ink)}
.nav-item.active,.nav-item.active svg{background:var(--nav-active);color:var(--nav-active-ink)}
.nav-item.active::after{background:var(--brand-accent)}
.nav-group>summary{font-weight:600}.nav-item.active{font-weight:650}
.mobile-bottom-nav{background:var(--top-surface);border-color:var(--border)}
/* Share the viewport-aligned canvas, including when the bar sticks on scroll. */
.topbar{background-color:var(--bg);background-image:var(--workspace-background);background-attachment:fixed;border-bottom-color:transparent;box-shadow:none;backdrop-filter:none}
.breadcrumb,.logout,.mobile-close{color:var(--muted)}
.avatar,.shortcut-icon,.bank-symbol,.paper-card .paper-symbol,.source-document-icon,.metric-icon,.workflow-item .step{background:var(--blue-light);color:var(--blue)}
.metric:nth-child(3) .metric-icon{background:var(--success-bg);color:var(--success-ink)}
.dashboard-shortcut:hover{background:var(--hover);border-color:var(--input-border)}
.main-shortcut:hover{background:var(--accent-hover)}
.main-shortcut .shortcut-copy small,.main-shortcut .shortcut-icon{color:var(--on-accent)}
.main-shortcut .shortcut-icon{background:#ffffff18}
.resume-card{background:var(--info-bg);border-color:var(--border)}
.bar,.composition,.progress-track,.learning-progress-track{background:var(--surface-soft)}
.job-item,td,.source-weight-row{border-color:var(--border)}
th{background:var(--surface-soft);color:var(--muted)}
.bulk-bar,.question-management-page #question-bulk .bulk-bar{background:var(--info-bg)}
.question-management-page #question-bulk:not(:empty){border-color:var(--border);box-shadow:var(--shadow)}
.source-check:has(input:checked),.option:has(input:checked){background:var(--blue-light);border-color:var(--blue)}
.option:hover{background:var(--hover);border-color:var(--input-border)}
.option:has(input:checked):hover{background:var(--blue-light)}
.source-text,.evidence{color:var(--muted)}.evidence{background:var(--surface);border-color:var(--input-border)}
.feedback{background:var(--success-bg);border-color:var(--teal)}
.feedback.wrong{background:var(--error-bg);border-color:var(--red)}
.feedback.manual{background:var(--info-bg);border-color:var(--blue)}
.question-map button{color:var(--muted);background:var(--surface);border-color:var(--input-border)}
.question-map button.answered{background:var(--success-bg);color:var(--success-ink);border-color:var(--teal)}
.question-map button.wrong{background:var(--error-bg);color:var(--error-ink);border-color:var(--red)}
.question-map button.saved{background:var(--info-bg);color:var(--info-ink);border-color:var(--blue)}
.question-map button.current{background:var(--accent-fill);color:var(--on-accent);border-color:var(--accent-fill)}
.favorite-toggle.is-favorite{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-ink)}
.collection-nav-item:hover{background:var(--hover)}
.collection-nav-item.active,.collection-nav-item.active .collection-count{background:var(--blue-light);color:var(--blue);border-color:var(--border)}
.source-selector-count{border-color:var(--border)}
.upload-batch-summary strong{color:var(--info-ink)}
.source-weight-status{background:var(--success-bg);border-color:var(--teal)}
.source-weight-status strong,.source-weight-status span{color:var(--success-ink)}
.source-weight-status.invalid{background:var(--warning-bg);border-color:var(--warning-ink)}
.source-weight-status.invalid strong,.source-weight-status.invalid span{color:var(--warning-ink)}
.compose-summary-bar{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}
.compose-progress button>span{background:var(--surface-soft)}
.compose-progress button[aria-current=step]>span{background:var(--accent-fill);color:var(--on-accent);box-shadow:0 0 0 4px var(--blue-light)}
.compose-progress button.complete>span{background:var(--success-bg);color:var(--success-ink)}
.compose-modes button,.compose-workspace .rules-table tr{background:var(--surface-soft)}
.compose-modes button.active{background:var(--blue-light)}
.modal-backdrop,.nav-backdrop.open{background:var(--overlay)}
.modal{box-shadow:0 20px 80px #0005}
.toast{background:var(--ink);color:var(--surface);border-color:var(--muted)}
.toast.error{background:var(--error-bg);color:var(--error-ink);border-color:var(--red)}
.trash-purge-count{background:var(--error-bg);border-color:var(--red)}
.trash-purge-count>span,.trash-purge-count>strong{color:var(--error-ink)}
.mobile-bottom-nav button{color:var(--muted)}
.mobile-bottom-nav button.active{background:var(--blue-light);color:var(--blue)}
.learning-session .learning-answer-bar{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}
.login-scene{background:radial-gradient(ellipse at 4% 4%,var(--glow-blue),transparent 43%),radial-gradient(ellipse at 100% 100%,var(--glow-pink),transparent 42%),var(--bg)}
.login-scene::before{background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);opacity:.15}
.login-scene .login{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}
.login-scene .login-panel{background:var(--surface)}
.login-scene .login-story{background:linear-gradient(145deg,var(--nav),var(--blue-light));color:var(--ink)}
.login-scene .login-story::before{background:radial-gradient(circle at 93% 2%,var(--glow-pink),transparent 38%)}
.login-scene .login-story::after{border-color:var(--border);box-shadow:0 0 0 44px var(--glow-blue),0 0 0 88px var(--glow-pink)}
.login-scene .login-story .brand-mark{background:var(--surface);color:var(--blue);border-color:var(--border)}
.login-scene .login-story .brand strong,.login-scene .login-copy h1,.login-flow strong,.login-scene .login-form h2{color:var(--ink)}
.login-scene .login-story .brand small,.login-scene .login-copy p,.login-flow small,.login-scene .login-story-foot{color:var(--muted)}
.login-scene .login-copy .eyebrow,.login-flow li>span{color:var(--brand-accent)}
.login-flow li{background:var(--surface);border-color:var(--border)}
.login-home-link{background:var(--surface-soft);color:var(--blue);border-color:var(--border)}
.login-home-link:hover{background:var(--hover);color:var(--blue)}
.login-story-dots i{background:var(--border)}.login-story-dots i:first-child{background:var(--brand-accent)}
.login-access-tag{background:var(--blue-light);color:var(--blue)}
.login-scene .login-form .intro,.login-scene .login-form label,.login-scene .password-field button,.login-field-icon,.login-account-help,.login-account-help>svg,.login-account-help p>span,.login-panel-foot,.login-scene-foot,.login-scene-foot>span{color:var(--muted)}
.login-account-help{border-color:var(--border)}
.login-scene .login-input-wrap input{background:var(--surface-soft);color:var(--ink);border-color:var(--input-border)}
.login-scene .login-input-wrap input::placeholder{color:var(--muted)}
.login-scene .login-input-wrap input:hover{border-color:var(--blue)}
.login-scene .login-input-wrap input:focus{background:var(--surface);box-shadow:0 0 0 3px var(--blue-light)}
.login-scene .password-field button:hover{background:var(--hover)}
.login-scene .password-field button:focus-visible{outline-color:var(--blue)}
.login-scene .login-submit{background:var(--accent-fill);color:var(--on-accent);box-shadow:var(--shadow)}
.login-scene .login-submit:hover{background:var(--accent-hover);box-shadow:var(--shadow)}
/* The new selector uses existing toolbar space; content panels keep their layout. */
.appearance-control{flex:none}
.appearance-control select{width:85px;min-height:34px;padding:5px 8px;font-size:12px;font-weight:500;background:var(--surface-soft);color:var(--ink);border-color:var(--border);cursor:pointer}
.login-scene>.appearance-control{position:absolute;top:16px;right:20px;z-index:4}
@media(max-width:760px){.appearance-control select{width:72px;min-height:44px;font-size:11px;padding:5px}.login-scene>.appearance-control{top:10px;right:15px}}
