/* Shared foundation. Legacy component names resolve to this single token source. */
  @font-face {
    font-family: Inter;
    src: url('/fonts/InterVariable.woff2?v=1') format('woff2');
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    unicode-range: U+0374-0376,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03D7,U+03DC-03DD,U+03F0-03F6,U+03F9-03FA,U+03FC-0479,U+0480-049D,U+04A0-04FF,U+052F,U+0E3F,U+1DC0-1DF5,U+1DFC-1DFF,U+1F00-1F15,U+1F18-1F1D,U+1F20-1F45,U+1F48-1F4D,U+1F50-1F57,U+1F59,U+1F5B,U+1F5D,U+1F5F-1F7D,U+1F80-1FB4,U+1FB6-1FC4,U+1FC6-1FD3,U+1FD6-1FDB,U+1FDD-1FEF,U+1FF2-1FF4,U+1FF6-1FFE,U+2070-2071,U+2074-208E,U+2090-209C,U+20DB-20DE,U+20E8,U+20F0,U+2DFF,U+2E18,U+A69F,U+A92E,U+E000,U+E002-E05E,U+E06A-E0BD,U+E0C8-E0CC,U+E0DC-E0E6,U+E0F3-E0F5,U+E106,U+E109-E10A,U+E10C-E10F,U+E111-E113,U+E117-E118,U+E121-E122,U+E124,U+E12A-E15E,U+E163,U+E1C3,U+E1D2-E1DF,U+E1E1-E2DC,U+EE01-EE07,U+EE09-EE0A,U+EE0C-EE12,U+EE14,U+EE17,U+EE1D-EE45,U+EE47-EE84,U+EE87-EED6,U+EED8-EEE1,U+F6C3,U+1F12F-1F149,U+1F16A-1F16B,U+1F850,U+1F852;
  }
  @font-face {
    font-family: Inter;
    src: url('/fonts/InterVariable-latin-ext.woff2?v=1') format('woff2');
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    unicode-range: U+0100-0130,U+0132-0151,U+0154-02BA,U+02BD-02C5,U+02C7-02D9,U+02DB,U+02DD-0303,U+0305-0307,U+0309-0328,U+032A-036F,U+1D00-1DBF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF;
  }
  @font-face {
    font-family: Inter;
    src: url('/fonts/InterVariable-latin-ui-v1.woff2') format('woff2');
    font-style: normal;
    font-weight: 100 900;
    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+2100-2101,U+2103,U+2105-2106,U+2109,U+2113,U+2116-2117,U+211E-2122,U+2126,U+212A-212B,U+212E,U+2132,U+213B,U+214D,U+2150-217F,U+2183-2186,U+2189,U+2190-2199,U+21A9-21AA,U+21B0-21B1,U+21B3-21B5,U+21BA-21BB,U+21D0,U+21D2,U+21D4,U+21DE-21DF,U+21E4-21E5,U+21E7,U+21EA,U+2202,U+2205-2206,U+220F,U+2211-2212,U+2215,U+221A,U+221E,U+222B,U+2236,U+2248,U+2260,U+2264-2265,U+2295-2298,U+2303-2305,U+2318,U+2325-2327,U+232B,U+2380,U+2387,U+238B,U+23CE-23CF,U+2423,U+2460-2468,U+24B6-24CF,U+24EA,U+25A0-25A2,U+25AA,U+25B2-25B3,U+25B6-25B7,U+25BA-25BD,U+25C0-25C1,U+25C4-25C7,U+25CA-25CB,U+25CF,U+25E6,U+25EF,U+2600,U+2605-2606,U+263C,U+2661,U+2665,U+266A-266B,U+26A0,U+2713,U+2717,U+2756,U+2764,U+2780-2788,U+27EF,U+27F5-27FA,U+2913,U+2A38,U+2B06,U+2B12-2B13,U+2B1C,U+2B24,U+FEFF,U+FFFD;
  }

  :root {
    color-scheme: dark;
    /* Use Inter's default text optics consistently across every script face. */
    font-optical-sizing: none;
    --bg: #050d19;
    --surface: #0b1a2a;
    --surface-2: #10263a;
    --text: #f2f8fc;
    --text-muted: #b0c0ce;
    --brand: #16d7e8;
    --accent: #23e5b4;
    --brand-ink: #03121e;
    --brand-strong: #066daa;
    --brand-hover: #50e6ec;
    --brand-text: #68e5ef;
    --brand-gradient: linear-gradient(135deg, #12cbe9, #21e6ae);
    --live: #ff5d6c;
    --status-online: #65e3a7;
    --brand-soft: #16d7e81f;
    --border: #91b8d91f;
    --border-strong: #91b8d938;
    --focus-ring: #68e5ef;
    --overlay: #0009;
    --shadow: 0 16px 48px #0005;
    --shadow-modal: 0 24px 80px #0009;

    --font-ui: Inter, -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', sans-serif;
    --font-hero-size: 36px;
    --font-hero-weight: 800;
    --font-row-size: 18px;
    --font-row-weight: 600;
    --font-body-size: 14px;
    --font-body-weight: 400;
    --font-caption-size: 12px;
    --radius-poster: 8px;
    --radius-card: 12px;
    --radius-pill: 999px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --motion-fast: 150ms;
    --motion-normal: 200ms;
    --motion-slow: 250ms;
    --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
    --hero-ratio-mobile: 4 / 5;
    --hero-ratio-tablet: 4 / 3;
    --hero-ratio-desktop: 12 / 5;
    --hero-ratio-tv: 16 / 9;

    --panel: var(--surface);
    --line: var(--border);
    --muted: var(--text-muted);
    --ui-bg: var(--bg);
    --ui-surface: var(--surface);
    --ui-raised: var(--surface-2);
    --ui-field: var(--surface);
    --ui-border: var(--border-strong);
    --ui-border-soft: var(--border);
    --ui-text: var(--text);
    --ui-muted: var(--text-muted);
    --ui-accent: var(--brand);
    --ui-accent-fill: var(--brand-strong);
    --ui-font: var(--font-ui);
    --ui-xs: var(--font-caption-size);
    --ui-sm: var(--font-body-size);
    --ui-base: var(--font-body-size);
    --ui-lg: var(--font-row-size);
    --ui-title: var(--font-hero-size);
    --ui-1: var(--space-1);
    --ui-2: var(--space-2);
    --ui-3: var(--space-3);
    --ui-4: var(--space-4);
    --ui-5: var(--space-5);
    --ui-6: var(--space-6);
    --ui-radius-sm: var(--radius-poster);
    --ui-radius: var(--radius-card);
    --ui-radius-lg: var(--radius-card);
    --ui-pill: var(--radius-pill);
    --ui-shadow: var(--shadow);
    --ui-shadow-modal: var(--shadow-modal);
    --ui-fast: var(--motion-fast);
    --ui-motion: var(--motion-normal);
    --ui-ease: var(--ease-out);
    --zc-bg: var(--bg);
    --zc-panel: var(--surface);
    --zc-panel-2: var(--surface-2);
    --zc-field: var(--surface);
    --zc-hover: var(--surface-2);
    --zc-line: var(--border);
    --zc-line-2: var(--border-strong);
    --zc-text: var(--text);
    --zc-muted: var(--text-muted);
    --zc-blue: var(--brand);
    --zc-purple: var(--accent);
    --zc-gradient: var(--brand-gradient);
    --studio-bg: var(--bg);
    --studio-panel: var(--surface);
    --studio-panel-raised: var(--surface-2);
    --studio-line: var(--border);
    --studio-text: var(--text);
    --studio-muted: var(--text-muted);
    --studio-accent: var(--brand);
    --catalog-bg: var(--bg);
    --catalog-surface: var(--surface);
    --catalog-text: var(--text);
    --catalog-muted: var(--text-muted);
    --catalog-accent: var(--brand);
    --catalog-radius: var(--radius-poster);
    --catalog-motion: var(--motion-normal) var(--ease-out);
    --catalog-title: var(--font-hero-size);
    --catalog-body: var(--font-body-size);
    --catalog-card-title: var(--font-caption-size);
    --catalog-meta: var(--font-caption-size);
  }
