/* RemodelSet tokens: the ONE token file (brand.md colors + design system v2 type, space, radii, motion, shadows).
   Loaded on every page before /style.css. Gate: site/remodelset/check_tokens.py (WCAG AA, light + dark, dark blocks
   must match), run by tools/build_site.sh --check. Display face: Cantarell (SIL OFL 1.1, fonts/OFL-Cantarell.txt),
   self-hosted from /assets/fonts/, no CDN. */
@font-face { font-family: "RS Display"; src: url("fonts/Cantarell-ExtraBold.woff2") format("woff2");
  font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "RS Display"; src: url("fonts/Cantarell-Bold.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap; }

:root {
  color-scheme: light dark;
  /* type: modular scale 1.2, fluid */
  --rs-font: Inter, "Helvetica Neue", Arial, "DejaVu Sans", sans-serif;
  --rs-font-display: "RS Display", Inter, "Helvetica Neue", Arial, sans-serif;
  --rs-font-mono: "Source Code Pro", ui-monospace, "DejaVu Sans Mono", monospace;
  --rs-step--1: clamp(0.83rem, 0.8rem + 0.1vw, 0.88rem);
  --rs-step-0: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);
  --rs-step-1: clamp(1.2rem, 1.12rem + 0.35vw, 1.35rem);
  --rs-step-2: clamp(1.44rem, 1.3rem + 0.65vw, 1.75rem);
  --rs-step-3: clamp(1.73rem, 1.5rem + 1.1vw, 2.35rem);
  --rs-step-4: clamp(2.07rem, 1.7rem + 1.9vw, 3.2rem);
  --rs-step-5: clamp(2.5rem, 1.9rem + 3vw, 4.25rem);
  --rs-leading-tight: 1.08;
  --rs-leading: 1.6;
  --rs-tracking-display: -0.022em;
  /* space: 4px base */
  --rs-space-1: 4px;  --rs-space-2: 8px;  --rs-space-3: 12px; --rs-space-4: 16px;
  --rs-space-5: 24px; --rs-space-6: 32px; --rs-space-7: 48px; --rs-space-8: 64px; --rs-space-9: 96px;
  --rs-gutter: clamp(16px, 4vw, 40px);
  --rs-measure: 64ch;
  --rs-max: 1160px;
  /* radii */
  --rs-radius-sm: 4px; --rs-radius: 8px; --rs-radius-lg: 14px; --rs-radius-pill: 999px;
  /* motion */
  --rs-ease: cubic-bezier(.2, .7, .2, 1); --rs-dur: 160ms;

  /* color, light (brand.md values) */
  --rs-bg: #FFFFFF;
  --rs-surface: #F4F6F9;
  --rs-surface-2: #FFFFFF;
  --rs-text: #14202E;
  --rs-text-muted: #4A5868;
  --rs-primary: #1E5BC6;
  --rs-primary-hover: #174A9F;
  --rs-primary-soft: #E7EFFC;
  --rs-on-primary: #FFFFFF;
  --rs-accent: #B4501A;
  --rs-accent-soft: #FCEEE4;
  --rs-accent-bright: #F08A4B;
  --rs-ink: #0F2340;
  --rs-on-ink: #FFFFFF;
  --rs-on-ink-muted: #B8C6DA;
  --rs-border: #C9D2DE;
  --rs-border-strong: #7A8797;
  --rs-focus: #1E5BC6;
  --rs-success: #1E7A45;
  --rs-danger: #B42318;
  --rs-grid: rgba(30, 91, 198, 0.07);
  --rs-shadow-1: 0 1px 2px rgba(15, 35, 64, 0.08), 0 1px 1px rgba(15, 35, 64, 0.04);
  --rs-shadow-2: 0 6px 16px -4px rgba(15, 35, 64, 0.14), 0 2px 4px rgba(15, 35, 64, 0.06);
  --rs-shadow-3: 0 18px 40px -12px rgba(15, 35, 64, 0.28), 0 4px 10px rgba(15, 35, 64, 0.08);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --rs-bg: #0F1720;
    --rs-surface: #17212D;
    --rs-surface-2: #1C2836;
    --rs-text: #E8EEF5;
    --rs-text-muted: #A3B1C2;
    --rs-primary: #7FAEFF;
    --rs-primary-hover: #A6C7FF;
    --rs-primary-soft: #1A2B45;
    --rs-on-primary: #0F1720;
    --rs-accent: #F4A26E;
    --rs-accent-soft: #2E2117;
    --rs-accent-bright: #F08A4B;
    --rs-ink: #0A1A30;
    --rs-on-ink: #E8EEF5;
    --rs-on-ink-muted: #A9BBD3;
    --rs-border: #2C3A4A;
    --rs-border-strong: #6B7B8F;
    --rs-focus: #7FAEFF;
    --rs-success: #5FCB8B;
    --rs-danger: #FF8A80;
    --rs-grid: rgba(127, 174, 255, 0.07);
    --rs-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.5);
    --rs-shadow-2: 0 6px 16px -4px rgba(0, 0, 0, 0.55);
    --rs-shadow-3: 0 18px 40px -12px rgba(0, 0, 0, 0.7);
  }
}
:root[data-theme="dark"] {
    --rs-bg: #0F1720;
    --rs-surface: #17212D;
    --rs-surface-2: #1C2836;
    --rs-text: #E8EEF5;
    --rs-text-muted: #A3B1C2;
    --rs-primary: #7FAEFF;
    --rs-primary-hover: #A6C7FF;
    --rs-primary-soft: #1A2B45;
    --rs-on-primary: #0F1720;
    --rs-accent: #F4A26E;
    --rs-accent-soft: #2E2117;
    --rs-accent-bright: #F08A4B;
    --rs-ink: #0A1A30;
    --rs-on-ink: #E8EEF5;
    --rs-on-ink-muted: #A9BBD3;
    --rs-border: #2C3A4A;
    --rs-border-strong: #6B7B8F;
    --rs-focus: #7FAEFF;
    --rs-success: #5FCB8B;
    --rs-danger: #FF8A80;
    --rs-grid: rgba(127, 174, 255, 0.07);
    --rs-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.5);
    --rs-shadow-2: 0 6px 16px -4px rgba(0, 0, 0, 0.55);
    --rs-shadow-3: 0 18px 40px -12px rgba(0, 0, 0, 0.7);
}
