/* NoteRec uses body.dark. Explicit colors keep brand artwork and media intact. */
body.dark {
  --nr-bg: #101521;
  --nr-surface: #171e2d;
  --nr-surface-raised: #20293b;
  --nr-line: #344057;
  --nr-ink: #eef2fb;
  --nr-muted: #a7b3c9;
  --nr-accent: #a7baff;
  --nr-accent-soft: #28365b;
  --nr-primary: #3c5fe1;
  color-scheme: dark;
  background: var(--nr-bg);
  color: var(--nr-ink);
  filter: none;
}

body.dark img {
  filter: none;
}

body.dark :focus-visible {
  outline-color: var(--nr-accent);
}

body.dark ::selection {
  background: #465eaa;
  color: #fff;
}

body.dark :is(.sidebar, .header, .stat, .note, .panel, .dialog, .day) {
  background: var(--nr-surface);
  border-color: var(--nr-line);
  color: var(--nr-ink);
}

body.dark :is(.workspace, .search input, .weekday) {
  background: var(--nr-surface-raised);
}

body.dark :is(.muted, .note p, .note-footer, .footer, .eyebrow,
  .ai-promo p, .login-art p, .taskrow.done .tasktitle, .editor label) {
  color: var(--nr-muted);
}

body.dark .avatar {
  background: var(--nr-accent-soft);
  color: var(--nr-accent);
}

body.dark .nav button {
  color: var(--nr-muted);
}

body.dark .nav button:hover {
  background: var(--nr-surface-raised);
  color: var(--nr-ink);
}

body.dark :is(.nav button.active, .iconbtn:hover, .tag,
  .stat .glyph, .day .ev, .bubble.user) {
  background: var(--nr-accent-soft);
  color: var(--nr-accent);
}

body.dark :is(.ai-promo, .hero-ai) {
  background: #1c2742;
  border-color: #354973;
}

body.dark .ai-promo > svg {
  color: var(--nr-accent) !important;
}

body.dark .hero-ai .orb {
  background: #8ea8ff;
}

body.dark :is(.btn, .iconbtn) {
  color: var(--nr-ink);
}

body.dark .btn {
  background: var(--nr-surface-raised);
  border-color: var(--nr-line);
}

body.dark .btn:hover {
  border-color: #8294bc;
}

body.dark .btn.primary {
  background: var(--nr-primary);
  border-color: var(--nr-primary);
  color: #fff;
}

body.dark .btn.primary:hover {
  background: #4a6def;
  border-color: #4a6def;
}

body.dark .btn.danger,
body.dark .error {
  color: #ff9fb1;
}

body.dark .filters button.active {
  background: #dce5fc;
  border-color: #dce5fc;
  color: #17213b;
}

body.dark .badge {
  background: #203e35;
  color: #93ddbf;
}

body.dark .note:hover {
  border-color: #8299dc;
}

body.dark .note-top {
  color: var(--nr-accent);
}

body.dark .note.purple .note-top {
  color: #cbb1f5;
}

body.dark .note.green .note-top {
  color: #91d4be;
}

body.dark .note.orange .note-top {
  color: #e9c18c;
}

body.dark :is(.taskrow, .dialoghead, .dialogfoot, .chatform, .calendar) {
  border-color: var(--nr-line);
}

body.dark .empty {
  background: #141b2a;
  border-color: #45516b;
  color: var(--nr-muted);
}

body.dark .day.today {
  background: var(--nr-accent-soft);
  color: var(--nr-ink);
}

body.dark .day.dim {
  background: #121927;
  color: #8d9bb4;
}

body.dark :is(input, textarea, select),
body.dark .editor :is(input, textarea, select) {
  background: var(--nr-surface-raised);
  border-color: var(--nr-line);
  color: var(--nr-ink);
  accent-color: #8fa9ff;
}

body.dark :is(input, textarea)::placeholder {
  color: #98a6bf;
  opacity: 1;
}

body.dark .editor :is(.titleinput, .bodyinput) {
  background: transparent;
}

body.dark input:-webkit-autofill {
  -webkit-text-fill-color: var(--nr-ink);
  -webkit-box-shadow: 0 0 0 1000px var(--nr-surface-raised) inset;
  caret-color: var(--nr-ink);
}

body.dark .overlay {
  background: #050913b8;
}

body.dark .dialog {
  box-shadow: 0 24px 90px #0008;
}

body.dark .dirty {
  color: #f1cc88;
}

body.dark .bubble {
  background: var(--nr-surface-raised);
  color: var(--nr-ink);
}

body.dark .actionpreview {
  background: #1c2742;
  border-color: #536da7;
}

body.dark .login-art {
  background: #1b2644;
}

body.dark .login-art .mini-card {
  background: var(--nr-surface);
  border-color: #40537d;
  box-shadow: 20px 20px 0 #222f52;
}

body.dark #toast {
  background: #e0e8fb;
  color: #17213b;
}
