/* Conan design tokens (from tokens.json). Light by default; data-theme="dark" on any element switches its subtree. */
@font-face { font-family: 'Atkinson Hyperlegible Next'; src: url('fonts/AtkinsonHyperlegibleNext-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Atkinson Hyperlegible Next'; src: url('fonts/AtkinsonHyperlegibleNext-500.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Atkinson Hyperlegible Next'; src: url('fonts/AtkinsonHyperlegibleNext-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Atkinson Hyperlegible Next'; src: url('fonts/AtkinsonHyperlegibleNext-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Atkinson Hyperlegible Mono'; src: url('fonts/AtkinsonHyperlegibleMono-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Atkinson Hyperlegible Mono'; src: url('fonts/AtkinsonHyperlegibleMono-500.woff2') format('woff2'); font-weight: 500; font-display: swap; }

:root, [data-theme="light"] {
  --paper: #f2f5f4; --surface: #ffffff; --surface-sunken: #eef2f1; --field: #f7f9f8;
  --line: #e1e7e5; --line-strong: #82908c;
  --ink: #1b2a27; --ink-muted: #50605c; --ink-subtle: #63716d;
  --teal: #03af98; --teal-ink: #0b7a68; --teal-soft: #e2f4ef; --on-teal: #06201b; --teal-data: #0e9c87;
  --primary: #0b7a68; --on-primary: #ffffff;
  --indigo: #484fa2; --indigo-soft: #eceefa; --on-indigo: #ffffff;
  --sky: #2e86c8; --sky-ink: #1d6299; --sky-soft: #e3f0fa;
  --moss: #4a943d; --moss-ink: #336d2a; --moss-soft: #e6f3e2;
  --coral: #e0643c; --coral-ink: #a8401f; --coral-soft: #fdeae3;
  --berry: #c2417a; --berry-ink: #9c2c5e; --berry-soft: #f9e6ef;
  --slate: #6b7c8e; --slate-ink: #4c5b6a; --slate-soft: #e8edf2;
  --review: #8a5300; --review-soft: #fbf1de; --danger: #b3261e; --danger-soft: #fcebe8;
  --focus: #484fa2; --focus-halo: rgba(72, 79, 162, 0.18);
  --shadow-soft: 0 1px 2px rgba(27, 42, 39, 0.04), 0 4px 16px rgba(27, 42, 39, 0.05);
  --shadow-raised: 0 1px 2px rgba(27, 42, 39, 0.06), 0 2px 6px rgba(27, 42, 39, 0.06);
  --shadow-overlay: 0 12px 32px rgba(27, 42, 39, 0.14), 0 0 0 1px rgba(27, 42, 39, 0.06);
  color-scheme: light;
}
[data-theme="dark"] {
  --paper: #151c1b; --surface: #1c2423; --surface-sunken: #182020; --field: #212a29;
  --line: #2d3836; --line-strong: #6b7a76;
  --ink: #dce5e2; --ink-muted: #a3b0ac; --ink-subtle: #8b9894;
  --teal: #03af98; --teal-ink: #5fd3bf; --teal-soft: #173430; --on-teal: #06201b; --teal-data: #03af98;
  --primary: #3cc4ad; --on-primary: #0c2420;
  --indigo: #aeb3f2; --indigo-soft: #262a4d; --on-indigo: #141733;
  --sky: #5aa8e6; --sky-ink: #8cc4f0; --sky-soft: #16283a;
  --moss: #6dbb5e; --moss-ink: #93d486; --moss-soft: #1a2d1a;
  --coral: #f08a63; --coral-ink: #f5a98b; --coral-soft: #3a1f16;
  --berry: #e46c9f; --berry-ink: #f09cc0; --berry-soft: #3a1828;
  --slate: #8a9bac; --slate-ink: #b1bfcc; --slate-soft: #222b34;
  --review: #e3b366; --review-soft: #382b14; --danger: #f29a90; --danger-soft: #3b1c1a;
  --focus: #aeb3f2; --focus-halo: rgba(174, 179, 242, 0.22);
  --shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.25), 0 4px 16px rgba(0, 0, 0, 0.2);
  --shadow-raised: 0 1px 2px rgba(0, 0, 0, 0.35), 0 2px 6px rgba(0, 0, 0, 0.25);
  --shadow-overlay: 0 12px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(220, 229, 226, 0.08);
  color-scheme: dark;
}
:root {
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-8: 32px;
  --radius-xs: 6px; --radius-sm: 10px; --radius-md: 14px; --radius-lg: 20px; --radius-pill: 999px; --radius-round: 50%;
  --font-sans: "Atkinson Hyperlegible Next", "Segoe UI", system-ui, sans-serif;
  --font-mono: "Atkinson Hyperlegible Mono", Consolas, ui-monospace, monospace;
}
