/* Night palette: graphite surfaces, mist-blue actions, semantic feedback colors. */
.dark {
  --bg:#101318;
  --card:#191e27;
  --ink:#e6edf5;
  --muted:#a0acbd;
  --line:#2b3442;
  --brand:#a5beff;
  --soft:#252f45;
  --orange:#e7b782;
  --shadow:0 8px 28px #00000026;
  --surface-raised:#222a36;
  --surface-inset:#141921;
  --on-accent:#172039;
  --success:#85d5b1;
  --success-bg:#1c322d;
  --error:#efada4;
  --error-bg:#37272a;
  --heat-0:#252d3a;
  --heat-1:#334663;
  --heat-2:#506b98;
  --heat-3:#7699d3;
  --heat-4:#a5beff;
  color-scheme:dark;
  scrollbar-color:#485366 var(--bg);
}
@media(prefers-color-scheme:dark) {
  :root:not([data-resolved-theme]) { color-scheme:dark; --bg:#101318; --card:#191e27; --ink:#e6edf5; }
}
.dark :is(button,a,input,textarea,select):focus-visible { outline-color:var(--brand); }
.dark :is(input,textarea)::placeholder { color:#909caf; opacity:1; }
.dark .sidebar,.dark .topbar { background:#141820; }
.dark .nav a { color:var(--muted); }
.dark .nav a.active,.dark .nav a:hover { background:var(--soft); color:var(--brand); }
.dark .nav a.active:before { background:var(--brand); }
.dark .nav-title,.dark .breadcrumb span,.dark .page-footer { color:var(--muted); }
.dark .brand-mark,.dark .ag-logo,.dark .ag-header h2 span { background:var(--brand); color:var(--on-accent); }
.dark .avatar { background:var(--soft); color:var(--brand); }
.dark .card { box-shadow:0 2px 8px #0000000d; }
.dark .hero,.dark .exam-banner,.dark .login-art {
  background:radial-gradient(ellipse at 100% 0,#35456555,transparent 65%),linear-gradient(125deg,#20293a,#1b202e);
  border-color:#354259;
  color:var(--ink);
}
.dark .hero-label { color:#b3c5ed; }
.dark .hero p,.dark .hero .foot,.dark .login-art p { color:#b3bfd2; }
.dark .arch-svg { filter:grayscale(1) sepia(.3) hue-rotate(175deg) saturate(1.8); }
.dark .hero-art { opacity:.45; }
.dark .side-note,.dark .review-callout,.dark .notice { background:var(--surface-raised); border-color:var(--line); color:var(--muted); }
.dark .side-note strong,.dark .review-callout h3 { color:var(--ink); }
.dark .goal-ring { background:conic-gradient(var(--brand) calc(var(--p)*1%),#303a4c 0); }
.dark .goal-ring:before { background:var(--card); }
.dark .goal-copy .streak,.dark .orange { color:var(--orange); }
.dark .green,.dark .dot { color:var(--success); }
.dark .dot { background:var(--success); }
.dark .metric-label,.dark .metric-foot,.dark .type-name small,.dark .type-percent,.dark .type-count,.dark .chart-labels { color:var(--muted); }
.dark .metric-icon { color:var(--brand); }
.dark .type-icon { color:color-mix(in srgb,var(--color),white 48%); background:color-mix(in srgb,var(--color),var(--card) 83%); }
.dark .progress { background:#2b3544; }
.dark .progress>i { background:color-mix(in srgb,var(--color,var(--brand)),white 20%); }
.dark .chart-bar { background:#435777; }
.dark .chart-bar:nth-child(2n) { background:#657fa7; }
.dark .chart-bar:last-child { background:var(--brand); }
.dark .chart-bar:hover,.dark .chart-bar:focus-visible { background:#c0d0f7; }
.dark .heatmap button { background:var(--heat-0); }
.dark .heatmap button[data-level="1"] { background:var(--heat-1); }
.dark .heatmap button[data-level="2"] { background:var(--heat-2); }
.dark .heatmap button[data-level="3"] { background:var(--heat-3); }
.dark .heatmap button[data-level="4"] { background:var(--heat-4); }
.dark .btn.primary,.dark .ag-send,.dark .chip.active {
  background:var(--brand); border-color:var(--brand); color:var(--on-accent); font-weight:650;
}
.dark .btn.primary:not(:disabled):hover,.dark .ag-send:not(:disabled):hover { background:#bdd0ff; border-color:#bdd0ff; }
.dark .btn.primary:disabled { background:#2d374b; border-color:#354159; color:#9ba9c2; opacity:1; }
.dark .btn.light,.dark .question-ask { background:var(--soft); border-color:#3b4b68; color:var(--brand); }
.dark .btn.danger { color:var(--error); }
.dark .mode-switch { background:var(--surface-inset); }
.dark .tag-orange,.dark .nav .badge { background:#352d25; color:var(--orange); }
.dark .option { background:var(--surface-inset); border-color:#384455; }
.dark .option .letter { background:var(--surface-raised); border-color:#3c485b; color:#b5c1d4; }
.dark .option:not(:disabled):hover { border-color:#7389b4; }
.dark .option.selected { background:#252f46; border-color:#9db8ff; color:var(--ink); }
.dark .option.selected .letter { background:var(--brand); border-color:var(--brand); color:var(--on-accent); }
.dark .option:disabled { opacity:1; }
.dark .option.correct { background:var(--success-bg); border-color:#589e82; color:var(--ink); }
.dark .option.correct .letter { background:#315d4e; border-color:#589e82; color:#b5f0d8; }
.dark .option.wrong { background:var(--error-bg); border-color:#b17b74; color:var(--ink); }
.dark .option.wrong .letter { background:#653f3b; border-color:#b17b74; color:#ffcec6; }
.dark .answer-feedback { background:var(--success-bg); border:1px solid #335a4b; }
.dark .answer-feedback strong { color:var(--success); }
.dark .answer-feedback.wrong { background:var(--error-bg); border-color:#674743; }
.dark .answer-feedback.wrong strong { color:var(--error); }
.dark .question-grid button.incorrect { background:var(--error-bg); color:var(--error); }
.dark .question-grid button.current { border-color:var(--brand); }
.dark .note,.dark .search-input,.dark .login-form input,.dark .settings-item input { background:var(--surface-inset); border-color:#384455; }
.dark #toast { background:#28354d; color:var(--ink); border:1px solid #4b6085; }
.dark dialog { box-shadow:0 24px 100px #00000080; }
.dark dialog::backdrop { background:#05080db3; }
.dark .theme-choice { background:var(--surface-inset); }
.theme-preview-dark { background:#191e27; border-color:#566883; }
.theme-preview-system { background:linear-gradient(90deg,#f5f7f5 50%,#191e27 50%); }
.theme-preview-dark i { background:#a5beff; }
.dark .skip { background:var(--card); }
.dark .ag-launcher { background:linear-gradient(120deg,#334668,#26344d); border-color:#5d769f; box-shadow:0 8px 30px #00000040; color:#d8e4ff; }
.dark .ag-panel { box-shadow:0 14px 65px #00000040; }
.dark .ag-header { background:linear-gradient(120deg,#242f43,var(--card)); }
.dark .ag-context,.dark .ag-fields input,.dark .ag-fields select { background:var(--surface-inset); border-color:#384455; }
.dark .ag-live { color:var(--success); }
.dark .ag-content { scrollbar-color:#485366 var(--card); }
.dark .ag-welcome .eyebrow { color:var(--muted); }
.dark .ag-orbit,.dark .ag-orbit:before { border-color:#4e6386; }
.dark .ag-orbit i { background:var(--brand); box-shadow:0 0 12px #94b5ff55; }
.dark .ag-suggestions button:hover { border-color:#667fa9; }
.dark .ag-composer { background:var(--surface-inset); border-color:#455673; }
.dark .ag-composer:focus-within { border-color:#9ab7f9; }
.dark .ag-message { background:var(--surface-raised); }
.dark .ag-message.user { background:#25334a; border-color:#374a68; }
.dark .ag-message.tool { background:var(--surface-inset); }
.dark .ag-note { background:var(--surface-inset); }
.dark .ag-proposal { background:#222d40; border-color:#536b93; }
.dark .ag-diff { border-color:#425572; }
.dark .ag-before,.dark .ag-diff del { color:var(--error); }
.dark .ag-after,.dark .ag-diff ins { color:var(--success); }
.dark .ag-timeline article:before { background:var(--brand); box-shadow:0 0 0 1px #647da8; }
.dark .ag-error { background:#362c24; border-color:#70573f; color:#f0c9a1; }
@media(max-width:700px) {
  .dark .hero-art { opacity:.3; }
  .dark .mobile-tabs { background:#151b24f5; border-color:#344052; box-shadow:0 -6px 28px #00000030; backdrop-filter:blur(18px); }
  .dark .mobile-tabs .active { background:#26334b; color:#b4caff; }
  .dark .question-actions { background:#191f29f5; border-color:#38465a; box-shadow:0 -6px 25px #00000033; backdrop-filter:blur(18px); }
  .dark.menu-open .nav-backdrop { background:#05080da6; }
  .dark .ag-panel { box-shadow:none; }
}
