/* Foos App tokens — docs/design/NORTH_STAR.md §11.1. Every layout loads this first.
   Font URLs start with "/" so Propshaft resolves them from app/assets/fonts. */

@font-face {
  font-family: "Archivo";
  src: url("/assets/archivo-latin-30e425c7.woff2") format("woff2");
  font-weight: 100 900; font-stretch: 62% 125%; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308,
    U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Archivo";
  src: url("/assets/archivo-latin-ext-dec1720b.woff2") format("woff2");
  font-weight: 100 900; font-stretch: 62% 125%; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}

:root {
  color-scheme: light dark;
  --font: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --wdth-live: 62%; --wdth-name: 75%; --wdth-read: 100%; --wdth-plate: 125%;
  --fs-call: 72px; --fs-score: 48px; --fs-display: 34px; --fs-stat: 28px;
  --fs-headline: 24px; --fs-figure: 20px; --fs-name: 17px; --fs-body: 16px;
  --fs-meta: 14px; --fs-plate: 12px; --track-plate: 0.12em;

  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --radius-plate: 3px; --radius-control: 8px; --radius-card: 12px;
  --radius-sheet: 20px; --radius-full: 999px;
  --tap: 44px; --btn-h: 48px; --btn-h-lg: 56px; --row-h: 56px;
  --header-h: 56px; --tabbar-h: 64px; --playbar-h: 56px; --strip-h: 40px;
  --rail-nav: 240px; --rail-tonight: 320px; --rail-desk: 360px; --content-max: 720px; --page-max: 1320px;

  /* materials: identical in both themes */
  --field: #1B5537; --field-deep: #154429; --field-ink: #F4F2EA; --field-ink-2: #BCD2C3;
  --field-line: rgb(244 242 234 / 0.12); --field-live: #FF8574; --field-alert: #FFB36B; --field-gold: #E8BE5A;
  --gold-fill: #D9A93E; --on-highlight: #171610;

  --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-snap: cubic-bezier(0.2, 0, 0, 1);     --ease-roll: cubic-bezier(0.34, 1.25, 0.64, 1);
  --ease-fall: cubic-bezier(0.3, 0, 0.7, 1);
  --dur-press: 80ms; --dur-slot: 180ms; --dur-sheet-in: 240ms; --dur-sheet-out: 180ms;
  --dur-call: 280ms; --dur-roll: 320ms; --dur-advance: 400ms;
  --dur-crown: 1600ms; --dur-pulse: 2000ms;

  /* Day */
  --surface-0: #F3F1EB; --surface-1: #FFFFFF; --surface-2: #EEEBE3;
  --line: #E3E0D7; --line-strong: #857F75;
  --ink: #161512; --ink-2: #5E5A52; --on-ink: #FFFFFF;
  --live: #C8281B; --win: #12753F; --gold: #8A6100; --alert: #AD4700;
  --highlight: #F7E53E; --scrim: rgb(22 21 18 / 0.4);
  --shadow-1: 0 1px 2px rgb(22 21 18 / 0.08);
  --shadow-2: 0 -8px 32px rgb(22 21 18 / 0.14);
}

/* Night — the same declarations in both blocks. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="day"]) {
    color-scheme: dark;
    --surface-0: #11100E; --surface-1: #1A1917; --surface-2: #232220;
    --line: #302E2A; --line-strong: #78736A;
    --ink: #F2EFE8; --ink-2: #ABA69C; --on-ink: #11100E;
    --live: #FF5A47; --win: #6FD699; --gold: #E8BE5A; --alert: #FF9A4D;
    --highlight: #F2E14C; --scrim: rgb(0 0 0 / 0.6);
    --shadow-1: none; --shadow-2: 0 -8px 32px rgb(0 0 0 / 0.5);
  }
}
:root[data-theme="night"], .tv {
  color-scheme: dark;
  --surface-0: #11100E; --surface-1: #1A1917; --surface-2: #232220;
  --line: #302E2A; --line-strong: #78736A;
  --ink: #F2EFE8; --ink-2: #ABA69C; --on-ink: #11100E;
  --live: #FF5A47; --win: #6FD699; --gold: #E8BE5A; --alert: #FF9A4D;
  --highlight: #F2E14C; --scrim: rgb(0 0 0 / 0.6);
  --shadow-1: none; --shadow-2: 0 -8px 32px rgb(0 0 0 / 0.5);
}

@media (min-width: 1024px) {
  :root { --fs-call: 112px; --fs-score: 72px; --fs-display: 52px; --fs-stat: 36px;
          --fs-headline: 30px; --fs-name: 18px; --fs-plate: 13px; --row-h: 48px; }
}
.tv { --fs-call: 200px; --fs-score: 120px; --fs-display: 72px; --fs-stat: 56px;
      --fs-headline: 44px; --fs-figure: 32px; --fs-name: 36px; --fs-meta: 24px; --fs-plate: 20px; }

@media (prefers-reduced-motion: reduce) {
  :root { --dur-slot: 120ms; --dur-sheet-in: 120ms; --dur-sheet-out: 120ms; --dur-call: 120ms;
          --dur-advance: 120ms; --dur-roll: 0ms; --dur-crown: 0ms; }
}
