/* The light cards follow the user's three reference screenshots.
   Dark surfaces retain their blue / mint / warm material color roles. */
:root[data-theme="dark"]{
  color-scheme:dark;
  --ink:#dce3ef;
  --ink-strong:#f0f4fc;
  --muted:#a8b5ca;
  --muted-light:#93a3bb;
  --canvas:#10151f;
  --surface:#181f2d;
  --surface-soft:#202a3a;
  --line:#2c384c;
  --line-strong:#3e4c63;
  --orange-soft:#33271d;
  --orange-ink:#ffb46b;
}
:root[data-theme="dark"] .theme-moon{display:none}
:root[data-theme="dark"] .theme-sun{display:block}
:root[data-theme="dark"] .nav-link{color:#afbed4}
:root[data-theme="dark"] .nav-link:hover{background:var(--surface-soft);color:var(--ink-strong)}
:root[data-theme="dark"] .nav-link[aria-current=page]{background:var(--orange-soft);color:#ffb46b}
:root[data-theme="dark"] .teacher-initials{background:#34281e;color:#ffc185}
:root[data-theme="dark"] .brand-logo,:root[data-theme="dark"] .mobile-brand img{border-radius:9px;background:#f7f5ef}
:root[data-theme="dark"] .hero{border-color:#ffffff18;box-shadow:0 20px 36px -12px #0009,0 6px 16px #0005}
:root[data-theme="dark"] .quick-books{--quick-border:#253c5d;--quick-background:linear-gradient(110deg,#192a42,#1b3452)}
:root[data-theme="dark"] .quick-links{--quick-border:#21453f;--quick-background:linear-gradient(110deg,#172f2e,#183d38)}
:root[data-theme="dark"] .quick-documents{--quick-border:#4c3b2d;--quick-background:linear-gradient(110deg,#30281f,#3e3024)}
:root[data-theme="dark"] .quick-card p{color:#becde0}
:root[data-theme="dark"] .quick-art{filter:drop-shadow(0 10px 9px #0003)}
:root[data-theme="dark"] .quick-next{color:#10151f}
:root[data-theme="dark"] .section-kicker{color:#ffb46b}
:root[data-theme="dark"] .filter-chip{color:var(--ink)}
:root[data-theme="dark"] .filter-chip[aria-pressed=true]{color:#18120d}
:root[data-theme="dark"] .book-cover,:root[data-theme="dark"] .modal-cover{background:#202a3a}
:root[data-theme="dark"] .cover-fallback{background:linear-gradient(145deg,#253146,#1c2636);color:var(--muted)}
:root[data-theme="dark"] .book-meta strong{color:#c3cfe1}
:root[data-theme="dark"] .book-tag{background:#1b2736e8;color:#d9e6f7;border-color:#60718a}
:root[data-theme="dark"] .book-tag.pdf{background:#38291e;color:#ffc18b;border-color:#785236}
:root[data-theme="dark"] .book-open{background:var(--surface-soft);border-color:#795131;color:#ffc18b}
:root[data-theme="dark"] .book-open:hover{background:#35281f;border-color:#ffa051}
:root[data-theme="dark"] .resource-open{color:#ffc18b}
:root[data-theme="dark"] .empty-state{background:var(--surface)}
:root[data-theme="dark"] .site-footer{color:var(--muted)}
:root[data-theme="dark"] .modal-dialog{background:var(--surface);border-color:var(--line-strong)}
:root[data-theme="dark"] .modal-close{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] .modal-kicker{background:var(--orange-soft);color:#ffc18b;border-color:#795131}
:root[data-theme="dark"] .modal-secondary{background:var(--surface-soft);color:var(--ink);border-color:var(--line-strong)}
:root[data-theme="dark"] .modal-secondary:hover{background:#2a374c}
:root[data-theme="dark"] .pi-logbox,:root[data-theme="dark"] .pi-head,:root[data-theme="dark"] .pi.open .pi-card{background:var(--surface);border-color:var(--line)}
:root[data-theme="dark"] .pi.open .pi-card:focus-within{border-color:#647895;box-shadow:0 0 0 3px #a4b9d618,0 10px 30px #0005}
:root[data-theme="dark"] .pi-log{background:#111a27}
:root[data-theme="dark"] .pi-ava,:root[data-theme="dark"] .pi-chip{background:var(--surface-soft);color:#c5d3e7}
:root[data-theme="dark"] .pi-x:hover{background:var(--surface-soft);color:var(--ink-strong)}
:root[data-theme="dark"] .pi-fade.t{background:linear-gradient(var(--surface) 25%,transparent)}
:root[data-theme="dark"] .pi-fade.b{background:linear-gradient(0deg,var(--surface) 25%,transparent)}
:root[data-theme="dark"] .pi-hint{color:#a6b4ca}
:root[data-theme="dark"] .pi-go{background:#ecf1f9;color:#152033}
:root[data-theme="dark"] .pi-go:hover{background:#fff}
:root[data-theme="dark"] .pi-go:disabled{background:#2b3647;color:#96a5ba}
:root[data-theme="dark"] .pi-go:focus-visible{outline-color:#c4d3e8}
:root[data-theme="dark"] .pi-voice{color:#c4d3e8}
:root[data-theme="dark"] .pi-voice:hover{background:var(--surface-soft)}
:root[data-theme="dark"] .pi-voice[aria-pressed=true]{background:#543327;color:#ffbd96}
:root[data-theme="dark"] .msg.bot{background:var(--surface);border-color:var(--line)}
:root[data-theme="dark"] .msg.user{background:#dce7fa;color:#14213a}
:root[data-theme="dark"] .msg code{background:#2b374b}
:root[data-theme="dark"] .msg pre{background:#0c111a;color:#e7e9ee}
:root[data-theme="dark"] .msg pre code{background:none}
:root[data-theme="dark"] .msg.err{background:#39291f;border-color:#80583c;color:#ffcea8}
:root[data-theme="dark"] .pi-retry{background:var(--surface);color:#ffc18b;border-color:#bc783d}
:root[data-theme="dark"] .pi-retry:hover{background:#3d2b1e}
:root[data-theme="dark"] .msg.notice{background:var(--surface-soft);color:var(--muted)}
:root[data-theme="dark"] .dots i{background:#b4c4da}
@media(max-width:1100px) and (min-width:761px){
  .quick-card{grid-template-columns:28px minmax(0,1fr) 56px;gap:10px;min-height:160px;padding:14px 12px}
  .quick-icon,.quick-icon svg{width:28px;height:28px}
  .quick-art{width:56px;height:72px}
  .quick-card h2{font-size:13px}
  .quick-card p{font-size:11.5px}
}
@media(max-width:760px){
  .quick-grid{grid-template-columns:1fr}
  .quick-card{min-height:132px;grid-template-columns:36px minmax(0,1fr) 88px;gap:14px;padding:16px}
  .quick-card h2{font-size:15px}
  .quick-card p{font-size:12px}
  .quick-art{width:88px;height:88px}
  .sidebar:not(.is-open) .theme-toggle{justify-content:flex-start;padding:0 13px}
  .sidebar:not(.is-open) .theme-label{display:block}
  :root[data-theme="dark"] .mobile-bar{background:#181f2df5;border-color:var(--line)}
  :root[data-theme="dark"] .mobile-menu{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
}
@media(max-width:380px){
  .quick-card{grid-template-columns:30px minmax(0,1fr) 64px;gap:10px;padding:14px 12px}
  .quick-icon,.quick-icon svg{width:30px;height:30px}
  .quick-art{width:64px;height:76px}
}
@media(prefers-reduced-motion:reduce){
  .quick-card:hover,.quick-card:hover .quick-art,.quick-card:hover .quick-next{transform:none}
}
