/* Suffrago brand tokens, pack version 1792758742-b05d (https://claude.ai/artifact/MtF8WpbgrU2PfgoGe39mYn).
   Written by web/make_tokens.py from web/brand/tokens.json – do not edit by hand. */
@font-face { font-family: "Libertinus Serif"; src: url("fonts/LibertinusSerif-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Libertinus Serif"; src: url("fonts/LibertinusSerif-Semibold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Schibsted Grotesk"; src: url("fonts/SchibstedGrotesk-Variable.woff2") format("woff2"); font-weight: 400 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Geist"; src: url("fonts/Geist-Variable.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
:root {
  color-scheme: light;
  --bg-top: #f8f6fa;
  --bg-bottom: #ffffff;
  --grid-line: rgba(59, 7, 100, 0.05);
  --map: rgba(59, 7, 100, 0.07);
  --card: rgba(255, 255, 255, 0.95);
  --card-solid: #ffffff;
  --card-border: rgba(0, 0, 0, 0.06);
  --notice-bg: rgba(0, 0, 0, 0.03);
  --notice-text: #4b5563;
  --notice-border: rgba(0, 0, 0, 0.05);
  --field: #ffffff;
  --field-border: rgba(17, 24, 39, 0.16);
  --heading: #111827;
  --text: #4b5563;
  --muted: #6b7280;
  --brand-ink: #4d0b52;
  --wordmark-ink: #000000;
  --accent: #8b5cf6;
  --accent-ring: rgba(139, 92, 246, 0.3);
  --accent-soft: rgba(139, 92, 246, 0.10);
  --accent-pulse: rgba(139, 92, 246, 0.55);
  --accent-text: #6d28d9;
  --switch-on: #4d0b52;
  --on-accent: #ffffff;
  --draft-bg: rgba(139, 92, 246, 0.08);
  --mint: #0e9f78;
  --mint-text: #047857;
  --mint-soft: rgba(14, 159, 120, 0.08);
  --mint-line: rgba(14, 159, 120, 0.35);
  --s1: #7c3aed;
  --s2: #e6007e;
  --s3: #0e9f78;
  --s4: #eda100;
  --s5: #2a78d6;
  --s6: #eb6834;
  --s7: #e34948;
  --s8: #64748b;
  --other: #a3a29b;
  --area: #e6007e;
  --area-fill-top: rgba(230, 0, 126, 0.22);
  --area-fill-bottom: rgba(230, 0, 126, 0.02);
  --chart-dot: #7c3aed;
  --dot-ring: #ffffff;
  --chart-grid: rgba(17, 24, 39, 0.07);
  --bar-edge: rgba(17, 24, 39, 0.18);
  --party-labour: #d50000;
  --party-conservative: #0063ba;
  --party-libdem: #fc7d0b;
  --party-snp: #fff685;
  --party-sinn-fein: #02665f;
  --party-reform: #12b6cf;
  --party-dup: #d46a4c;
  --party-green: #78b82a;
  --party-plaid: #348837;
  --party-sdlp: #4ea268;
  --party-alliance: #cdaf2d;
  --party-uup: #a1cdf0;
  --party-tuv: #0c3a6a;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --pad: 1.5rem;
  --grid-pitch: 32px;
  --radius-swatch: 3px;
  --radius-bar: 4px;
  --radius-sm: 0.5rem;
  --radius: 0.75rem;
  --radius-pill: 999px;
  --card-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  --active-ring: 0 0 0 1px rgba(139, 92, 246, 0.3);
  --field-focus: 0 0 0 3px rgba(139, 92, 246, 0.3);
  --card-blur: blur(8px);
  --page-max: 1168px;
  --gutter: 16px;
  --gutter-wide: 24px;
  --measure: 84ch;
  --tile-min: 300px;
  --light-bg-top: #f8f6fa;
  --light-bg-bottom: #ffffff;
  --light-grid-line: rgba(59, 7, 100, 0.05);
  --light-map: rgba(59, 7, 100, 0.07);
  --light-card: rgba(255, 255, 255, 0.95);
  --light-card-solid: #ffffff;
  --light-card-border: rgba(0, 0, 0, 0.06);
  --light-notice-bg: rgba(0, 0, 0, 0.03);
  --light-notice-text: #4b5563;
  --light-notice-border: rgba(0, 0, 0, 0.05);
  --light-field: #ffffff;
  --light-field-border: rgba(17, 24, 39, 0.16);
  --light-heading: #111827;
  --light-text: #4b5563;
  --light-muted: #6b7280;
  --light-brand-ink: #4d0b52;
  --light-wordmark-ink: #000000;
  --light-accent-soft: rgba(139, 92, 246, 0.10);
  --light-accent-pulse: rgba(139, 92, 246, 0.55);
  --light-accent-text: #6d28d9;
  --light-switch-on: #4d0b52;
  --light-draft-bg: rgba(139, 92, 246, 0.08);
  --light-mint: #0e9f78;
  --light-mint-text: #047857;
  --light-mint-soft: rgba(14, 159, 120, 0.08);
  --light-mint-line: rgba(14, 159, 120, 0.35);
  --light-s1: #7c3aed;
  --light-s2: #e6007e;
  --light-s3: #0e9f78;
  --light-s4: #eda100;
  --light-s5: #2a78d6;
  --light-s6: #eb6834;
  --light-s7: #e34948;
  --light-s8: #64748b;
  --light-other: #a3a29b;
  --light-area: #e6007e;
  --light-area-fill-top: rgba(230, 0, 126, 0.22);
  --light-area-fill-bottom: rgba(230, 0, 126, 0.02);
  --light-chart-dot: #7c3aed;
  --light-dot-ring: #ffffff;
  --light-chart-grid: rgba(17, 24, 39, 0.07);
  --light-bar-edge: rgba(17, 24, 39, 0.18);
  --font-display: "Libertinus Serif", Georgia, "Times New Roman", serif;
  --font-title: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
  --font-text: "Geist", "Segoe UI", system-ui, -apple-system, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --bg-top: #090014;
    --bg-bottom: #150525;
    --grid-line: rgba(196, 181, 253, 0.05);
    --map: rgba(196, 181, 253, 0.07);
    --card: rgba(22, 12, 36, 0.95);
    --card-solid: #160c24;
    --card-border: rgba(255, 255, 255, 0.08);
    --notice-bg: rgba(255, 255, 255, 0.05);
    --notice-text: #d1cadb;
    --notice-border: rgba(255, 255, 255, 0.1);
    --field: rgba(255, 255, 255, 0.04);
    --field-border: rgba(255, 255, 255, 0.16);
    --heading: #ffffff;
    --text: #9ca3af;
    --muted: #8f88a0;
    --brand-ink: #724198;
    --wordmark-ink: #ffffff;
    --accent-soft: rgba(167, 139, 250, 0.14);
    --accent-pulse: rgba(167, 139, 250, 0.6);
    --accent-text: #a78bfa;
    --switch-on: #724198;
    --draft-bg: rgba(167, 139, 250, 0.10);
    --mint: #6ee7b7;
    --mint-text: #6ee7b7;
    --mint-soft: rgba(110, 231, 183, 0.10);
    --mint-line: rgba(110, 231, 183, 0.45);
    --s1: #a78bfa;
    --s2: #ff4fb0;
    --s3: #6ee7b7;
    --s4: #c98500;
    --s5: #3987e5;
    --s6: #d95926;
    --s7: #e66767;
    --s8: #94a3b8;
    --other: #6b6a64;
    --area: #ff4fb0;
    --area-fill-top: rgba(255, 79, 176, 0.42);
    --area-fill-bottom: rgba(255, 79, 176, 0.02);
    --chart-dot: #a78bfa;
    --dot-ring: #160c24;
    --chart-grid: rgba(255, 255, 255, 0.07);
    --bar-edge: rgba(255, 255, 255, 0.22);
    --card-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg-top: #090014;
  --bg-bottom: #150525;
  --grid-line: rgba(196, 181, 253, 0.05);
  --map: rgba(196, 181, 253, 0.07);
  --card: rgba(22, 12, 36, 0.95);
  --card-solid: #160c24;
  --card-border: rgba(255, 255, 255, 0.08);
  --notice-bg: rgba(255, 255, 255, 0.05);
  --notice-text: #d1cadb;
  --notice-border: rgba(255, 255, 255, 0.1);
  --field: rgba(255, 255, 255, 0.04);
  --field-border: rgba(255, 255, 255, 0.16);
  --heading: #ffffff;
  --text: #9ca3af;
  --muted: #8f88a0;
  --brand-ink: #724198;
  --wordmark-ink: #ffffff;
  --accent-soft: rgba(167, 139, 250, 0.14);
  --accent-pulse: rgba(167, 139, 250, 0.6);
  --accent-text: #a78bfa;
  --switch-on: #724198;
  --draft-bg: rgba(167, 139, 250, 0.10);
  --mint: #6ee7b7;
  --mint-text: #6ee7b7;
  --mint-soft: rgba(110, 231, 183, 0.10);
  --mint-line: rgba(110, 231, 183, 0.45);
  --s1: #a78bfa;
  --s2: #ff4fb0;
  --s3: #6ee7b7;
  --s4: #c98500;
  --s5: #3987e5;
  --s6: #d95926;
  --s7: #e66767;
  --s8: #94a3b8;
  --other: #6b6a64;
  --area: #ff4fb0;
  --area-fill-top: rgba(255, 79, 176, 0.42);
  --area-fill-bottom: rgba(255, 79, 176, 0.02);
  --chart-dot: #a78bfa;
  --dot-ring: #160c24;
  --chart-grid: rgba(255, 255, 255, 0.07);
  --bar-edge: rgba(255, 255, 255, 0.22);
  --card-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}
