/* BookieRules tokens, generated from tokens.json. Light by default, dark via prefers-color-scheme or data-theme="dark". */

@font-face { font-family: 'Source Serif 4'; src: url('/fonts/SourceSerif4-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }

@font-face { font-family: 'IBM Plex Sans'; src: url('/fonts/IBMPlexSans-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }

@font-face { font-family: 'IBM Plex Sans'; src: url('/fonts/IBMPlexSans-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }

@font-face { font-family: 'IBM Plex Sans'; src: url('/fonts/IBMPlexSans-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }

@font-face { font-family: 'IBM Plex Mono'; src: url('/fonts/IBMPlexMono-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }

:root, [data-theme="light"] {
  --paper: #f6f4ee;
  --paper-raised: #fffefb;
  --paper-sunk: #ece8de;
  --rule: #dcd7cb;
  --rule-strong: #8a8476;
  --brand-rule: #a3b5f4;
  --ink: #151b27;
  --ink-muted: #4b5361;
  --accent: #2743a6;
  --accent-soft: #e3e8f7;
  --on-accent: #ffffff;
  --highlight: #fbeeab;
  --state-offered: #0b6668;
  --state-offered-soft: #dcefec;
  --state-conditions: #855000;
  --state-conditions-soft: #f6e9cf;
  --state-house: #384763;
  --state-house-soft: #e4e8ef;
  --state-none: #a3321b;
  --state-none-soft: #f7e2db;
  --state-unconfirmed: #565d6a;
  --link: var(--accent);
  --focus: var(--accent);
  --shadow-float: 0 1px 2px #151b2714, 0 6px 16px #151b2714;
  --focus-ring: 0 0 0 2px #f6f4ee, 0 0 0 4px #2743a6;
}

[data-theme="dark"] {
  --paper: #11151d;
  --paper-raised: #191e28;
  --paper-sunk: #0b0e14;
  --rule: #2a313d;
  --rule-strong: #6c7585;
  --brand-rule: #3b56b8;
  --ink: #ebe9e2;
  --ink-muted: #a7aebb;
  --accent: #a3b5f4;
  --accent-soft: #1e2848;
  --on-accent: #11151d;
  --highlight: #3b3512;
  --state-offered: #6fcfbf;
  --state-offered-soft: #112f2a;
  --state-conditions: #e8b55a;
  --state-conditions-soft: #36270b;
  --state-house: #b6c1d8;
  --state-house-soft: #222a39;
  --state-none: #f2917a;
  --state-none-soft: #3b1c14;
  --state-unconfirmed: #a7aebb;
  --link: var(--accent);
  --focus: var(--accent);
  --shadow-float: 0 1px 2px #00000099, 0 6px 16px #00000080;
  --focus-ring: 0 0 0 2px #11151d, 0 0 0 4px #a3b5f4;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
  --paper: #11151d;
  --paper-raised: #191e28;
  --paper-sunk: #0b0e14;
  --rule: #2a313d;
  --rule-strong: #6c7585;
  --brand-rule: #3b56b8;
  --ink: #ebe9e2;
  --ink-muted: #a7aebb;
  --accent: #a3b5f4;
  --accent-soft: #1e2848;
  --on-accent: #11151d;
  --highlight: #3b3512;
  --state-offered: #6fcfbf;
  --state-offered-soft: #112f2a;
  --state-conditions: #e8b55a;
  --state-conditions-soft: #36270b;
  --state-house: #b6c1d8;
  --state-house-soft: #222a39;
  --state-none: #f2917a;
  --state-none-soft: #3b1c14;
  --state-unconfirmed: #a7aebb;
  --link: var(--accent);
  --focus: var(--accent);
  --shadow-float: 0 1px 2px #00000099, 0 6px 16px #00000080;
  --focus-ring: 0 0 0 2px #11151d, 0 0 0 4px #a3b5f4;
  }
}

:root {
  --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-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-full: 9999px;
  --size-tap: 44px;
  --size-control: 48px;
  --size-row: 56px;
  --size-page: 1200px;
  --size-prose: 680px;
  --font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
}

.display-xl { font-family: var(--font-serif); font-size: 44px; line-height: 50px; font-weight: 600; letter-spacing: -0.01em; }

.display { font-family: var(--font-serif); font-size: 32px; line-height: 38px; font-weight: 600; letter-spacing: -0.005em; }

.heading { font-family: var(--font-serif); font-size: 24px; line-height: 30px; font-weight: 600; }

.heading-sm { font-family: var(--font-serif); font-size: 20px; line-height: 26px; font-weight: 600; }

.standfirst { font-family: var(--font-sans); font-size: 18px; line-height: 28px; font-weight: 400; }

.body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }

.title { font-family: var(--font-sans); font-size: 16px; line-height: 22px; font-weight: 600; }

.value { font-family: var(--font-sans); font-size: 15px; line-height: 20px; font-weight: 500; }

.label { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 500; }

.small { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }

.stamp { font-family: var(--font-mono); font-size: 14px; line-height: 20px; font-weight: 400; }
