/* Founder Cockpit design tokens, shared by the sign-in page and the portal (public: it holds no project content).
   Identity: an instrument panel. Calm graphite on cool paper; blue for actions; amber is the one signal colour and
   appears only where something needs the founder. Sizes are rem so browser text scaling works.
   Measured contrast (light / dark): ink on surface 17.8 / 14.3; muted on surface 6.3 / 6.9, on canvas 5.4 / 7.7;
   accent on surface 6.1 / 6.3; button text 6.1 / 6.7; signal-ink on signal-wash 6.2 / 8.5; positive 5.4 / 8.4;
   danger on danger-wash 5.7 / 5.9. --quiet is for non-text marks only (3.1 / 3.6, above the 3:1 minimum). */
:root {
  color-scheme: light dark;
}
/* Appearance: Auto follows the system; Light or Dark (the header switch, appearance.js) pins color-scheme, and every
   colour below resolves through light-dark(), so one attribute switches the whole palette. */
:root[data-appearance="light"] { color-scheme: light; }
:root[data-appearance="dark"] { color-scheme: dark; }
:root {
  /* colour: light-dark(light value, dark value) */
  --canvas: light-dark(#eceff2, #121417);
  --surface: light-dark(#ffffff, #1c1f23);
  --surface-sunk: light-dark(#f4f6f8, #171a1d);
  --ink: light-dark(#15181c, #eceff2);
  --muted: light-dark(#59616a, #a0a8b0);
  --line: light-dark(#d9dee3, #2d3238);
  --line-strong: light-dark(#b9c0c7, #444b53);
  --accent: light-dark(#0a5fc2, #4da3ff);
  --accent-hover: light-dark(#084fa2, #7bbaff);
  --accent-ink: light-dark(#ffffff, #0b1a2b);
  --signal: light-dark(#e08a00, #ffb340);
  --signal-ink: light-dark(#8a4b00, #ffc970);
  --signal-wash: light-dark(#fff3df, rgb(255 179 64 / 12%));
  --positive: light-dark(#1d7a3e, #5ccf7d);
  --quiet: light-dark(#8b939b, #6f7780);
  --danger: light-dark(#b3261e, #ff8a80);
  --danger-wash: light-dark(#fdecea, rgb(255 138 128 / 12%));
  --ring: light-dark(rgb(10 95 194 / 40%), rgb(77 163 255 / 45%));
  --skeleton: light-dark(#e3e7eb, #262a2f);
  --shadow: 0 0 0 1px light-dark(transparent, rgb(255 255 255 / 4%)), 0 1px 2px light-dark(rgb(21 24 28 / 6%), transparent), 0 4px 16px light-dark(rgb(21 24 28 / 5%), transparent);

  /* type: the platform's system face; figures are tabular wherever they are compared */
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --text-xs: 0.8125rem;   /* 13 */
  --text-s: 0.9375rem;    /* 15 */
  --text-m: 1.0625rem;    /* 17 body */
  --text-l: 1.3125rem;    /* 21 */
  --text-xl: 1.75rem;     /* 28 */
  --leading: 1.47;
  --leading-tight: 1.2;

  /* space (4-point) and shape */
  --s1: 0.25rem; --s2: 0.5rem; --s3: 0.75rem; --s4: 1rem; --s5: 1.5rem; --s6: 2rem; --s7: 3rem;
  --radius-s: 0.5rem; --radius-m: 0.75rem; --radius-l: 1.125rem;
  --tap: 2.75rem;         /* 44 pt minimum target */
  --page: 72rem;
  --measure: 40rem;       /* comfortable line length for prose */

  /* motion: only in answer to an action */
  --dur: 160ms;
  --ease: cubic-bezier(0.2, 0, 0, 1);
}
@media (prefers-contrast: more) {
  :root { --muted: var(--ink); --line: var(--line-strong); --quiet: var(--muted); }
}

/* shared base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--canvas); color: var(--ink); font: var(--text-m)/var(--leading) var(--font); -webkit-font-smoothing: antialiased; }
:focus-visible { outline: 3px solid var(--ring); outline-offset: 2px; border-radius: var(--radius-s); }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }
