/* Kept's themes. The page (html) and each preview tile in Settings carry data-theme="…"; your own accent colour,
   card size and density are set on top by theme.js. Light themes: clean, snow, lavender, cosy. Dark: midnight, neon,
   forest, ocean. auto = clean by day, midnight by night. */
:root, [data-theme] {
  --accent-soft: color-mix(in srgb, var(--accent) 16%, var(--surface));
  --accent-ink: color-mix(in srgb, var(--accent) 80%, var(--ink));
  --head: 'Inter', 'Segoe UI', system-ui, sans-serif;
  --sans: 'Inter', 'Segoe UI', system-ui, -apple-system, Roboto, sans-serif;
  --bad: #d23c3c; --good: #2f9a5b; --warn: #c98a12;
  --r: 14px; --r-sm: 10px;
  --head-weight: 700; --head-spacing: -.025em;
}

/* ---- light */
:root, [data-theme="clean"], [data-theme="auto"] {
  --bg: #f5f6f8; --bg-soft: #eceef2; --side: #fbfbfc; --surface: #ffffff; --ink: #15171c; --ink-soft: #3b414b; --muted: #6b7180;
  --line: #e2e5ea; --hover: #eff1f5; --accent: #2f6bff; --on-accent: #ffffff;
  --shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 6px 20px rgba(16, 24, 40, .06);
  --shadow-up: 0 2px 4px rgba(16, 24, 40, .06), 0 16px 36px rgba(16, 24, 40, .12);
  color-scheme: light;
}
[data-theme="snow"] {
  --bg: #ffffff; --bg-soft: #f4f4f5; --side: #fafafa; --surface: #ffffff; --ink: #0a0a0a; --ink-soft: #3f3f46; --muted: #71717a;
  --line: #e4e4e7; --hover: #f4f4f5; --accent: #18181b; --on-accent: #ffffff;
  --shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 14px rgba(0, 0, 0, .05);
  --shadow-up: 0 2px 4px rgba(0, 0, 0, .06), 0 14px 30px rgba(0, 0, 0, .1);
  --r: 10px; --r-sm: 8px;
  color-scheme: light;
}
[data-theme="lavender"] {
  --bg: #f6f4fd; --bg-soft: #ece8fa; --side: #faf9ff; --surface: #ffffff; --ink: #1d1832; --ink-soft: #443d5e; --muted: #77708f;
  --line: #e4dff5; --hover: #f0ecfc; --accent: #7c4dff; --on-accent: #ffffff;
  --shadow: 0 1px 2px rgba(60, 40, 120, .05), 0 8px 24px rgba(60, 40, 120, .08);
  --shadow-up: 0 2px 4px rgba(60, 40, 120, .06), 0 16px 40px rgba(60, 40, 120, .14);
  --r: 18px; --r-sm: 12px;
  color-scheme: light;
}
[data-theme="cosy"] {
  --bg: #fbf8f3; --bg-soft: #f3ede3; --side: #f6f0e6; --surface: #ffffff; --ink: #221d17; --ink-soft: #4a433a; --muted: #776e62;
  --line: #e8e0d3; --hover: #f1e9dc; --accent: #d9622b; --on-accent: #ffffff;
  --shadow: 0 1px 2px rgba(60, 40, 20, .05), 0 8px 28px rgba(60, 40, 20, .07);
  --shadow-up: 0 2px 4px rgba(60, 40, 20, .06), 0 16px 40px rgba(60, 40, 20, .12);
  --head: 'Fraunces', Georgia, serif; --head-weight: 600; --head-spacing: -.015em;
  --r: 16px; --r-sm: 11px;
  color-scheme: light;
}

/* ---- dark */
[data-theme="midnight"] {
  --bg: #0e1016; --bg-soft: #161925; --side: #11131b; --surface: #181b26; --ink: #e9ebf3; --ink-soft: #c2c6d3; --muted: #8a90a3;
  --line: #262a38; --hover: #1f2331; --accent: #8b7cff; --on-accent: #ffffff;
  --shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 10px 30px rgba(0, 0, 0, .3);
  --shadow-up: 0 2px 6px rgba(0, 0, 0, .4), 0 18px 44px rgba(0, 0, 0, .45);
  --bad: #ff7a7a; --good: #5fd38d; --warn: #f2c25b;
  color-scheme: dark;
}
[data-theme="neon"] {
  --bg: #0b0a0e; --bg-soft: #14121a; --side: #0f0d13; --surface: #17151d; --ink: #f3f1f6; --ink-soft: #cfcad8; --muted: #8f889b;
  --line: #2a2533; --hover: #201c27; --accent: #ff2d55; --on-accent: #ffffff;
  --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 30px rgba(0, 0, 0, .35);
  --shadow-up: 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent), 0 14px 40px color-mix(in srgb, var(--accent) 22%, transparent);
  --bad: #ff6b81; --good: #4ade80; --warn: #facc15;
  --r: 8px; --r-sm: 6px; --head-weight: 800; --head-spacing: -.01em;
  color-scheme: dark;
}
[data-theme="forest"] {
  --bg: #0e1411; --bg-soft: #141c18; --side: #101713; --surface: #17201b; --ink: #e6efe9; --ink-soft: #c3d2c8; --muted: #8aa093;
  --line: #24302a; --hover: #1c2822; --accent: #3ddc97; --on-accent: #062014;
  --shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 10px 30px rgba(0, 0, 0, .3);
  --shadow-up: 0 2px 6px rgba(0, 0, 0, .4), 0 18px 44px rgba(0, 0, 0, .45);
  --bad: #ff8a7a; --good: #3ddc97; --warn: #f2c25b;
  color-scheme: dark;
}
[data-theme="ocean"] {
  --bg: #0a1419; --bg-soft: #0f1d24; --side: #0c171d; --surface: #112129; --ink: #e4f1f6; --ink-soft: #bcd3dc; --muted: #7f9ca8;
  --line: #1d323c; --hover: #162a33; --accent: #22c3e6; --on-accent: #04202a;
  --shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 10px 30px rgba(0, 0, 0, .3);
  --shadow-up: 0 2px 6px rgba(0, 0, 0, .4), 0 18px 44px rgba(0, 0, 0, .45);
  --bad: #ff8a7a; --good: #4ade80; --warn: #f2c25b;
  --r: 16px; --r-sm: 11px;
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  [data-theme="auto"] {
    --bg: #0e1016; --bg-soft: #161925; --side: #11131b; --surface: #181b26; --ink: #e9ebf3; --ink-soft: #c2c6d3; --muted: #8a90a3;
    --line: #262a38; --hover: #1f2331; --accent: #8b7cff; --on-accent: #ffffff;
    --shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 10px 30px rgba(0, 0, 0, .3);
    --shadow-up: 0 2px 6px rgba(0, 0, 0, .4), 0 18px 44px rgba(0, 0, 0, .45);
    --bad: #ff7a7a; --good: #5fd38d; --warn: #f2c25b;
    color-scheme: dark;
  }
}

/* card size and density */
:root { --card: 232px; --thumb: 16 / 9; --gap: 20px; --row-pad: 10px; }
[data-cards="s"] { --card: 180px; --gap: 14px; }
[data-cards="l"] { --card: 300px; --gap: 24px; }
[data-density="compact"] { --row-pad: 6px; --gap: 12px; }
[data-density="compact"] .card .cbody { padding: 9px 11px 10px; }
[data-density="compact"] .row { min-height: 46px; }
