/* 学生端视觉精修：只调整呈现，工具定位、拖拽、缩放和事件仍由原模块负责。 */
body { color:var(--on-surface); }
.topbar { border-bottom-color:var(--border); }
.nav-tab { border-radius:10px; gap:6px; }
.nav-tab.active,.nav-tab.active:hover,[data-theme="dark"] .nav-tab.active,[data-theme="dark"] .nav-tab.active:hover {
  background:var(--primary-container); color:var(--primary); box-shadow:none;
}
.nav-tab svg,.tool-btn svg,.bookmark-btn svg,.analysis-toggle-btn svg { stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.nav-tab > svg { width:18px; height:18px; }
.toolbar-inner:not(:empty) { background:var(--surface-subtle); border:1px solid var(--border); border-radius:11px; padding:3px 5px; }
.tool-btn { border-radius:7px; position:relative; }
.tool-btn:focus-visible,.option-letter-btn:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.option-mark,.grade-result-icon { display:inline-flex; align-items:center; justify-content:center; }
.tool-btn.active { color:var(--primary); background:var(--white); box-shadow:0 1px 3px #20263813; }
.tool-btn.active::before { content:''; position:absolute; width:3px; height:3px; border-radius:50%; bottom:2px; left:calc(50% - 1.5px); background:var(--primary); }
.subject-header { border-radius:10px; }
.subject-header.active { box-shadow:none; }
.subject-header.active .subject-char,.subject-header.active:hover .subject-char,
[data-theme="dark"] .subject-header.active .subject-char,[data-theme="dark"] .subject-header.active:hover .subject-char { color:var(--primary); background:transparent; }
.file-item.active .file-icon { color:var(--primary); background:var(--primary-container); }
.question-list { gap:24px; }
html:not([data-view^="simple"]) .question-card:not(.sub-question-card):not(.subjective-card) { border-radius:18px; padding:0 28px 20px; box-shadow:var(--shadow-card); }
html:not([data-view^="simple"]) .question-card:not(.sub-question-card):not(.subjective-card) > .question-card-header { margin:0 -28px 20px; padding:12px 22px; border-bottom:1px solid var(--border); background:var(--alpha-03); border-radius:18px 18px 0 0; gap:9px; }
.question-num { border-radius:6px; padding:4px 9px; color:var(--primary); }
.question-type-tag { background:transparent; padding:0 2px; }
.bookmark-btn,.analysis-toggle-btn { border-radius:7px; }
html:not([data-view^="simple"]) .option-item { border:1px solid transparent; background:var(--surface-subtle); border-radius:10px; padding:9px 13px; gap:14px; }
.option-letter-btn { border:1px solid var(--border); background:var(--white); color:var(--on-surface-variant); font-weight:500; }
.option-item.selected { background:var(--primary-container); border-color:var(--alpha-35); }
html:not([data-view^="simple"]) .option-item.selected { background:var(--primary-container); border-color:var(--alpha-35); }
.option-item.selected .option-letter-btn { background:var(--action-fill); border-color:var(--primary); color:var(--on-action); }
.option-letter-btn:hover { background:var(--action-fill); color:var(--on-action); }
html .option-item.correct,html[data-theme="dark"] .option-item.correct,html:not([data-view^="simple"]) .option-item.correct { background:var(--success-bg); border-color:var(--success); color:var(--success); }
html .option-item.wrong,html[data-theme="dark"] .option-item.wrong,html:not([data-view^="simple"]) .option-item.wrong { background:var(--error-bg); border-color:var(--error); color:var(--error); }
html .option-item.correct .option-letter-btn,html[data-theme="dark"] .option-item.correct .option-letter-btn { background:var(--white); border-color:var(--success); color:var(--success); }
html .option-item.wrong .option-letter-btn,html[data-theme="dark"] .option-item.wrong .option-letter-btn { background:var(--white); border-color:var(--error); color:var(--error); }
html .option-item.correct .option-text,html .option-item.wrong .option-text { color:var(--on-surface); }
.grade-result.grade-correct { background:var(--success-bg); color:var(--success); border-color:var(--success); }
.grade-result.grade-wrong { background:var(--error-bg); color:var(--error); border-color:var(--error); }
.practice-nav-back,[data-theme="dark"] .practice-nav-back { background:var(--bg); backdrop-filter:none; }
.practice-nav-back:hover { background:var(--hover-bg); }
.chapter-card,.review-item { border-radius:14px; border-width:1px; }
.chapter-meta .done { color:var(--success); }
.scratch-pad textarea { border:1px solid var(--border); border-radius:14px; padding:16px; box-shadow:none; background-color:var(--white); background-image:repeating-linear-gradient(transparent 0,transparent 27px,var(--border) 28px,transparent 29px); background-origin:content-box; line-height:29px; color:var(--on-surface); }
.scratch-pad textarea:focus { background-color:var(--white); }
.selection-popup { background:var(--white); }
mark.ann-hl { color:inherit; }
mark.ann-hl.hl-yellow { background:var(--highlight-yellow); border-bottom-color:var(--warning); }
mark.ann-hl.hl-purple { background:var(--highlight-purple); border-bottom-color:var(--annotation-purple); }
mark.ann-hl.hl-green { background:var(--highlight-green); border-bottom-color:var(--annotation-green); }
.popup-btn.tag:hover { color:var(--annotation-green); }
.ann-sticky { border-radius:12px; box-shadow:var(--shadow-card); background:var(--note-surface); border-color:color-mix(in srgb,var(--warning) 45%,var(--note-surface)); }
.sticky-hl-text { color:var(--warning); }
.calc-popup,.timer-popup,.answer-pdf-panel,.ai-chat-panel { border-radius:14px; box-shadow:var(--shadow-popover); }
.calc-display,.calc-btn { background:var(--surface-subtle); }
.calc-btn:hover { background:var(--hover-bg); }
.calc-btn.eq { background:var(--action-fill); color:var(--on-action); }
.study-load-state { padding:16px; color:var(--on-surface-variant); font-size:13px; }
@media(prefers-reduced-motion:reduce) {
  body,.nav-tab,.question-card,.option-item,.tool-btn,.chapter-card { transition:none; }
}
@media(max-width:620px) {
  .question-list { gap:18px; }
  html:not([data-view^="simple"]) .question-card:not(.sub-question-card):not(.subjective-card) { padding:0 16px 16px; border-radius:14px; }
  html:not([data-view^="simple"]) .question-card:not(.sub-question-card):not(.subjective-card) > .question-card-header { margin:0 -16px 16px; padding:10px 14px; border-radius:14px 14px 0 0; flex-wrap:wrap; }
  .toolbar-inner:not(:empty) { padding:2px; }
}
