/* Smith design system tokens — copied verbatim from the Claude Design handoff bundle (_ds/tokens/*). */

/* ===== fonts.css ===== */
/* Smith — Webfonts (Google Fonts substitutions) */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..600&family=Newsreader:ital,opsz,wght@0,6..72,400..600;1,6..72,400..500&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* ===== colors.css ===== */
:root {
  --ink-950:#0d0f13; --ink-900:#14171d; --ink-800:#1d212a; --ink-700:#2b303b; --ink-600:#3d434f;
  --ink-500:#5a616d; --ink-400:#808892; --ink-300:#a9afb9; --ink-200:#d0d4da; --ink-100:#e7e9ed;
  --ink-50:#f4f5f7; --white:#ffffff;
  --teal-800:#084c53; --teal-700:#0b636b; --teal-600:#0e7c86; --teal-500:#159aa6; --teal-300:#7fccd3; --teal-100:#d5eef0; --teal-50:#eef8f9;
  --green-600:#16833f; --green-500:#1ea34e; --green-100:#d8f2df; --green-50:#edfaf0;
  --amber-600:#b45c09; --amber-500:#d97706; --amber-100:#fcefcf; --amber-50:#fdf8ec;
  --red-600:#c22b2b; --red-500:#dc2626; --red-100:#fbdcdc; --red-50:#fdefef;
  --blue-600:#2158cf; --blue-500:#2f6fe0; --blue-100:#dbe6fb; --blue-50:#eef3fd;
  --surface-app:#f6f7f9; --surface-card:var(--white); --surface-sunken:var(--ink-50); --surface-inset:#eff1f4;
  --surface-rail:var(--ink-950); --surface-rail-2:var(--ink-900); --surface-overlay:rgba(13,15,19,0.48);
  --text-strong:var(--ink-900); --text-body:var(--ink-700); --text-muted:var(--ink-500); --text-subtle:var(--ink-400);
  --text-inverse:var(--white); --text-on-rail:#c4cad3; --text-on-rail-strong:#f4f6f8; --text-link:var(--teal-700);
  --border-subtle:var(--ink-100); --border-default:var(--ink-200); --border-strong:var(--ink-300); --border-rail:rgba(255,255,255,0.08); --border-focus:var(--teal-500);
  --primary:var(--teal-600); --primary-hover:var(--teal-700); --primary-press:var(--teal-800); --primary-tint:var(--teal-50); --primary-tint-strong:var(--teal-100); --on-primary:var(--white);
  --success:var(--green-500); --success-fg:var(--green-600); --success-tint:var(--green-50); --success-line:var(--green-100);
  --warning:var(--amber-500); --warning-fg:var(--amber-600); --warning-tint:var(--amber-50); --warning-line:var(--amber-100);
  --danger:var(--red-500); --danger-fg:var(--red-600); --danger-tint:var(--red-50); --danger-line:var(--red-100);
  --info:var(--blue-500); --info-fg:var(--blue-600); --info-tint:var(--blue-50); --info-line:var(--blue-100);
  --conf-high:var(--green-500); --conf-med:var(--amber-500); --conf-low:var(--red-500);
  --ring:0 0 0 3px rgba(21,154,166,0.32);
}

/* ===== typography.css ===== */
:root {
  --font-sans:'Instrument Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-serif:'Newsreader',Georgia,'Times New Roman',serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --text-2xs:0.6875rem; --text-xs:0.75rem; --text-sm:0.8125rem; --text-md:0.875rem; --text-base:0.9375rem;
  --text-lg:1.0625rem; --text-xl:1.3125rem; --text-2xl:1.625rem; --text-3xl:2.125rem; --text-4xl:2.875rem;
  --weight-regular:400; --weight-medium:500; --weight-semibold:600; --weight-bold:700;
  --leading-tight:1.15; --leading-snug:1.3; --leading-normal:1.5; --leading-relaxed:1.65;
  --tracking-tight:-0.02em; --tracking-snug:-0.01em; --tracking-normal:0; --tracking-wide:0.02em; --tracking-caps:0.08em;
}

/* ===== spacing.css ===== */
:root {
  --space-0:0; --space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem; --space-4:1rem; --space-5:1.25rem;
  --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem; --space-12:3rem; --space-16:4rem;
  --rail-width:244px; --rail-width-collapsed:68px; --topbar-height:60px; --content-max:1200px;
  --control-sm:30px; --control-md:36px; --control-lg:42px;
}

/* ===== effects.css ===== */
:root {
  --radius-xs:4px; --radius-sm:6px; --radius-md:8px; --radius-lg:12px; --radius-xl:16px; --radius-pill:999px;
  --border-width:1px; --border-width-strong:1.5px;
  --shadow-xs:0 1px 2px rgba(16,20,28,0.06);
  --shadow-sm:0 1px 2px rgba(16,20,28,0.06),0 1px 3px rgba(16,20,28,0.08);
  --shadow-md:0 2px 4px rgba(16,20,28,0.06),0 6px 16px rgba(16,20,28,0.08);
  --shadow-lg:0 8px 24px rgba(16,20,28,0.10),0 2px 6px rgba(16,20,28,0.06);
  --shadow-xl:0 24px 60px rgba(13,15,19,0.22);
  --shadow-inset:inset 0 1px 2px rgba(16,20,28,0.06);
  --ease-standard:cubic-bezier(0.2,0,0,1); --ease-out:cubic-bezier(0.16,1,0.3,1);
  --dur-fast:120ms; --dur-base:180ms; --dur-slow:260ms;
  --z-base:1; --z-rail:100; --z-topbar:200; --z-dropdown:400; --z-overlay:800; --z-modal:900; --z-toast:1000; --z-tooltip:1100;
}

/* ===== base.css ===== */
:root { color-scheme:light; }
body { margin:0; font-family:var(--font-sans); font-size:var(--text-md); line-height:var(--leading-normal); color:var(--text-body); background:var(--surface-app); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
*,*::before,*::after { box-sizing:border-box; }
h1,h2,h3,h4,h5,h6 { color:var(--text-strong); margin:0; font-weight:var(--weight-semibold); line-height:var(--leading-snug); }
p { margin:0; }
a { color:var(--text-link); text-decoration:none; transition:color var(--dur-fast) var(--ease-standard); }
a:hover { color:var(--primary-press); text-decoration:underline; text-underline-offset:2px; }
code,kbd,samp { font-family:var(--font-mono); font-size:0.92em; }
::selection { background:var(--teal-100); color:var(--ink-900); }
