/* 留白蓝 / 墨色金：共用视觉基础，主题存储与各页业务布局保持。 */
:root {
  --bg:#fafbfc; --card:#fff; --ink:#202932; --muted:#6a7480; --line:#e7ebef;
  --accent:#337bb2; --accent-soft:#edf4f9; --radius:16px;
  --shadow:0 8px 26px #20354908;
  --highlight-border:#cbb16d; --highlight-ink:#87672f; --highlight-soft:#faf5e8;
  --action-ink:#fff;
}
html[data-theme=dark] {
  --bg:#101113; --card:#17191c; --ink:#ececee; --muted:#a0a3a8; --line:#303236;
  --accent:#cfb989; --accent-soft:#26241f; --shadow:0 8px 26px #0002;
  --highlight-border:#b69d6e; --highlight-ink:#cfb989; --highlight-soft:#26241f;
  --action-ink:#151515;
}
body::before, html[data-theme=dark] body::before { opacity:0; }
.site-header, .site-header.is-collapsed, .site-footer { background:var(--card); }
.brand-mark { background:var(--accent); border-radius:10px; box-shadow:none; }
.brand-text { letter-spacing:-.025em; }
.mode-student { background:var(--accent-soft); color:var(--accent); border-color:var(--line); }
.mode-banner { font-size:12px; letter-spacing:.015em; }
.site-theme-toggle { border-color:transparent; background:transparent; }
.site-header-handle { background:var(--line); }
.footer-disclaimer { color:var(--muted); }
#page-loader { background:var(--accent); }
.ask-btn-inline { background:var(--accent-soft); color:var(--accent); border-color:var(--line); box-shadow:none; }
html[data-theme=dark] :is(.site-header,.site-header.is-collapsed,.site-footer) { background:var(--card); }
html[data-theme=dark] .brand-mark { background:var(--accent-soft); color:var(--accent); border:1px solid var(--line); }
html[data-theme=dark] .site-header-handle { background:var(--line); }
html[data-theme=dark] .mode-student { background:var(--bg); color:var(--muted); border-color:var(--line); }
html[data-theme=dark] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea) { background:var(--bg); color:var(--ink); border-color:var(--line); }
html[data-theme=dark] :is(input,textarea)::placeholder { color:var(--muted); }
html[data-theme=dark] .btn:not(.btn-outline):not(.btn-danger) { background:var(--accent); color:var(--action-ink); }
html[data-theme=dark] :is(.tag,.tag-subject,.tag-year,.tag-paper,.tag-session) { background:var(--accent-soft); color:var(--muted); border-color:var(--line); }
html[data-theme=dark] :is(.tag-cloud-item.active,.admin-tool-btn.active,.admin-tool-btn.is-primary) { background:var(--accent-soft); color:var(--accent); }
html[data-theme=dark] .data-table th { background:var(--card); }
html[data-theme=dark] .data-table tr:hover { background:var(--accent-soft); }
@media(max-width:640px) { .mode-banner { font-size:11px; } }
