/* Polar tokens. Generated by snowplow-brand/tokens/build.mjs from src/*.tokens.json. Do not edit by hand.
   Layers: core (raw values, on :root) > sys (what a color is for, per theme) > comp (component measurements).
   Themes: set data-theme="night" or data-theme="day" on <html>, <body> or any section. Night is the default.
   Components read sys and comp tokens. They never use a raw value, and never a --pn-color-* primitive directly.
   Breakpoints (min-width, no others): 640px (md), 1024px (lg), 1280px (xl). */

/* ---------- core ---------- */
:root {
  --pn-color-ink-50: #F7F6F9;
  --pn-color-ink-100: #F3F0F8;
  --pn-color-ink-300: #B3ACC1;
  --pn-color-ink-400: #9F98B0;
  --pn-color-ink-500: #847D94;
  --pn-color-ink-600: #5E5786;
  --pn-color-ink-750: #3A3152;
  --pn-color-ink-800: #2B2440;
  --pn-color-ink-850: #221B37;
  --pn-color-ink-900: #19132A;
  --pn-color-ink-950: #0F0A1A;
  --pn-color-navy-50: #FAF9FD;
  --pn-color-navy-100: #F4F3FA;
  --pn-color-navy-120: #EEEDF4;
  --pn-color-navy-140: #ECEAF5;
  --pn-color-navy-160: #E9E8F1;
  --pn-color-navy-200: #E2DFEE;
  --pn-color-navy-250: #CFCBDD;
  --pn-color-navy-300: #B9B5CF;
  --pn-color-navy-500: #626084;
  --pn-color-navy-700: #45457A;
  --pn-color-navy-900: #202060;
  --pn-color-white: #FFFFFF;
  --pn-color-violet-100: #E4D6FF;
  --pn-color-violet-300: #B794F0;
  --pn-color-violet-400: #9E62DD;
  --pn-color-violet-450: #7B45C8;
  --pn-color-violet-500: #7A45D6;
  --pn-color-violet-550: #7A4ACD;
  --pn-color-violet-600: #6738B8;
  --pn-color-violet-700: #5A2FA3;
  --pn-color-violet-950: #3B2390;
  --pn-color-rose-300: #F2B8DC;
  --pn-color-rose-400: #F49AD8;
  --pn-color-rose-700: #A3326F;
  --pn-color-aurora-1: #FFD9F2;
  --pn-color-aurora-2: #B587F5;
  --pn-color-aurora-3: #7C4FE0;
  --pn-color-aurora-4: #4C2DB0;
  --pn-color-sky-top: #2E2456;
  --pn-color-sky-mid: #1B1636;
  --pn-color-sky-horizon-1: #201F3E;
  --pn-color-sky-horizon-2: #4D4374;
  --pn-color-sky-horizon-3: #8370A7;
  --pn-color-family-foundation-edge: #5CC795;
  --pn-color-family-foundation-ray: #9EE2B8;
  --pn-color-family-foundation-glow: #173A2C;
  --pn-color-family-analytics-edge: #8C98FC;
  --pn-color-family-analytics-ray: #C08CF6;
  --pn-color-family-analytics-glow: #2C2456;
  --pn-color-family-realtime-edge: #FF9F86;
  --pn-color-family-realtime-ray: #F29BE6;
  --pn-color-family-realtime-glow: #43283F;
  --pn-color-family-general-edge: #F2F6FF;
  --pn-color-family-general-ray: #B9CBEF;
  --pn-color-family-general-glow: #26304F;
  --pn-color-green-100: #DDF0DE;
  --pn-color-green-900: #1F4D22;
  --pn-color-red-100: #FBE1E5;
  --pn-color-red-300: #FF8FA3;
  --pn-color-red-900: #8A1F33;
  --pn-color-chart-day-1: #692fcb;
  --pn-color-chart-day-2: #ed5c9e;
  --pn-color-chart-day-3: #4346b4;
  --pn-color-chart-day-4: #c889d7;
  --pn-color-chart-day-5: #a8229d;
  --pn-color-chart-day-6: #5ab6e9;
  --pn-color-chart-night-1: #7945df;
  --pn-color-chart-night-2: #e65598;
  --pn-color-chart-night-3: #4c4fbe;
  --pn-color-chart-night-4: #b176c4;
  --pn-color-chart-night-5: #a11996;
  --pn-color-chart-night-6: #3d9bcd;
  --pn-color-alpha-snow-07: rgba(243, 240, 248, 0.07);
  --pn-color-alpha-snow-08: rgba(243, 240, 248, 0.08);
  --pn-color-alpha-snow-10: rgba(243, 240, 248, 0.10);
  --pn-color-alpha-snow-17: rgba(243, 240, 248, 0.17);
  --pn-color-alpha-snow-20: rgba(243, 240, 248, 0.20);
  --pn-color-alpha-snow-22: rgba(243, 240, 248, 0.22);
  --pn-color-alpha-snow-24: rgba(243, 240, 248, 0.24);
  --pn-color-alpha-snow-38: rgba(243, 240, 248, 0.38);
  --pn-color-alpha-snow-45: rgba(243, 240, 248, 0.45);
  --pn-color-alpha-snow-60: rgba(243, 240, 248, 0.60);
  --pn-color-alpha-snow-85: rgba(243, 240, 248, 0.85);
  --pn-color-alpha-white-05: rgba(255, 255, 255, 0.05);
  --pn-color-alpha-white-07: rgba(255, 255, 255, 0.07);
  --pn-color-alpha-white-08: rgba(255, 255, 255, 0.08);
  --pn-color-alpha-white-10: rgba(255, 255, 255, 0.10);
  --pn-color-alpha-white-12: rgba(255, 255, 255, 0.12);
  --pn-color-alpha-white-16: rgba(255, 255, 255, 0.16);
  --pn-color-alpha-white-24: rgba(255, 255, 255, 0.24);
  --pn-color-alpha-white-30: rgba(255, 255, 255, 0.30);
  --pn-color-alpha-white-35: rgba(255, 255, 255, 0.35);
  --pn-color-alpha-white-45: rgba(255, 255, 255, 0.45);
  --pn-color-alpha-white-55: rgba(255, 255, 255, 0.55);
  --pn-color-alpha-white-60: rgba(255, 255, 255, 0.60);
  --pn-color-alpha-white-70: rgba(255, 255, 255, 0.70);
  --pn-color-alpha-white-78: rgba(255, 255, 255, 0.78);
  --pn-color-alpha-white-90: rgba(255, 255, 255, 0.90);
  --pn-color-alpha-navy-05: rgba(32, 32, 96, 0.05);
  --pn-color-alpha-navy-06: rgba(32, 32, 96, 0.06);
  --pn-color-alpha-navy-10: rgba(32, 32, 96, 0.10);
  --pn-color-alpha-navy-12: rgba(32, 32, 96, 0.12);
  --pn-color-alpha-navy-16: rgba(32, 32, 96, 0.16);
  --pn-color-alpha-navy-24: rgba(32, 32, 96, 0.24);
  --pn-color-alpha-navy-30: rgba(32, 32, 96, 0.30);
  --pn-color-alpha-navy-35: rgba(32, 32, 96, 0.35);
  --pn-color-alpha-navy-38: rgba(32, 32, 96, 0.38);
  --pn-color-alpha-navy-55: rgba(32, 32, 96, 0.55);
  --pn-color-alpha-night-05: rgba(15, 10, 26, 0.05);
  --pn-color-alpha-night-10: rgba(15, 10, 26, 0.10);
  --pn-color-alpha-night-16: rgba(15, 10, 26, 0.16);
  --pn-color-alpha-night-20: rgba(15, 10, 26, 0.20);
  --pn-color-alpha-night-30: rgba(15, 10, 26, 0.30);
  --pn-color-alpha-night-35: rgba(15, 10, 26, 0.35);
  --pn-color-alpha-night-45: rgba(15, 10, 26, 0.45);
  --pn-color-alpha-night-55: rgba(15, 10, 26, 0.55);
  --pn-color-alpha-night-60: rgba(15, 10, 26, 0.60);
  --pn-color-alpha-night-70: rgba(15, 10, 26, 0.70);
  --pn-color-alpha-night-78: rgba(15, 10, 26, 0.78);
  --pn-color-alpha-night-85: rgba(15, 10, 26, 0.85);
  --pn-color-alpha-panel-62: rgba(25, 19, 42, 0.62);
  --pn-color-alpha-panel-72: rgba(25, 19, 42, 0.72);
  --pn-color-alpha-panel-78: rgba(25, 19, 42, 0.78);
  --pn-color-alpha-panel-92: rgba(25, 19, 42, 0.92);
  --pn-color-alpha-shade-10: rgba(5, 2, 14, 0.10);
  --pn-color-alpha-shade-30: rgba(5, 2, 14, 0.30);
  --pn-color-alpha-shade-35: rgba(5, 2, 14, 0.35);
  --pn-color-alpha-shade-45: rgba(5, 2, 14, 0.45);
  --pn-color-alpha-shade-55: rgba(5, 2, 14, 0.55);
  --pn-color-alpha-shade-70: rgba(5, 2, 14, 0.70);
  --pn-color-alpha-shade-78: rgba(5, 2, 14, 0.78);
  --pn-color-alpha-shade-85: rgba(5, 2, 14, 0.85);
  --pn-color-alpha-shade-92: rgba(5, 2, 14, 0.92);
  --pn-color-alpha-black-35: rgba(0, 0, 0, 0.35);
  --pn-color-alpha-black-60: rgba(0, 0, 0, 0.60);
  --pn-color-alpha-violet-10: rgba(122, 69, 214, 0.10);
  --pn-color-alpha-violet-16: rgba(122, 69, 214, 0.16);
  --pn-color-alpha-violet-24: rgba(122, 69, 214, 0.24);
  --pn-color-alpha-violet-35: rgba(122, 69, 214, 0.35);
  --pn-color-alpha-violet-45: rgba(122, 69, 214, 0.45);
  --pn-color-alpha-violet-78: rgba(122, 69, 214, 0.78);
  --pn-color-alpha-lilac-70: rgba(183, 148, 240, 0.70);
  --pn-color-alpha-red-30: rgba(138, 31, 51, 0.30);
  --pn-font-family-sans: "Source Sans 3", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
  --pn-font-family-mono: "Source Code Pro", ui-monospace, "SF Mono", Menlo, monospace;
  --pn-font-family-editorial: "Source Serif 4", Georgia, serif;
  --pn-font-weight-regular: 400;
  --pn-font-weight-medium: 500;
  --pn-font-weight-semibold: 600;
  --pn-type-display-family: var(--pn-font-family-sans);
  --pn-type-display-weight: var(--pn-font-weight-medium);
  --pn-type-display-size: clamp(3rem, 2.3427rem + 2.6966vw, 4.5rem);
  --pn-type-display-line: 0.98;
  --pn-type-display-tracking: -0.036em;
  --pn-type-display-measure: 17em;
  --pn-type-numeral-family: var(--pn-font-family-sans);
  --pn-type-numeral-weight: var(--pn-font-weight-medium);
  --pn-type-numeral-size: clamp(10.625rem, 8.1601rem + 10.1124vw, 16.25rem);
  --pn-type-numeral-line: 1;
  --pn-type-numeral-tracking: -0.06em;
  --pn-type-stat-family: var(--pn-font-family-sans);
  --pn-type-stat-weight: var(--pn-font-weight-medium);
  --pn-type-stat-size: clamp(3rem, 2.3427rem + 2.6966vw, 4.5rem);
  --pn-type-stat-line: 0.9;
  --pn-type-stat-tracking: -0.04em;
  --pn-type-title-family: var(--pn-font-family-sans);
  --pn-type-title-weight: var(--pn-font-weight-medium);
  --pn-type-title-size: clamp(2.5rem, 2.0618rem + 1.7978vw, 3.5rem);
  --pn-type-title-line: 1.05;
  --pn-type-title-tracking: -0.032em;
  --pn-type-title-measure: 20em;
  --pn-type-heading-family: var(--pn-font-family-sans);
  --pn-type-heading-weight: var(--pn-font-weight-medium);
  --pn-type-heading-size: clamp(1.875rem, 1.6011rem + 1.1236vw, 2.5rem);
  --pn-type-heading-line: 1.1;
  --pn-type-heading-tracking: -0.025em;
  --pn-type-heading-measure: 22em;
  --pn-type-h3-family: var(--pn-font-family-sans);
  --pn-type-h3-weight: var(--pn-font-weight-medium);
  --pn-type-h3-size: clamp(1.375rem, 1.2654rem + 0.4494vw, 1.625rem);
  --pn-type-h3-line: 1.2;
  --pn-type-h3-tracking: -0.015em;
  --pn-type-h3-measure: 32em;
  --pn-type-article-h2-family: var(--pn-font-family-sans);
  --pn-type-article-h2-weight: var(--pn-font-weight-medium);
  --pn-type-article-h2-size: clamp(1.75rem, 1.6404rem + 0.4494vw, 2rem);
  --pn-type-article-h2-line: 1.2;
  --pn-type-article-h2-tracking: -0.015em;
  --pn-type-article-h2-measure: var(--pn-layout-measure-prose);
  --pn-type-h4-family: var(--pn-font-family-sans);
  --pn-type-h4-weight: var(--pn-font-weight-medium);
  --pn-type-h4-size: clamp(1.125rem, 1.0702rem + 0.2247vw, 1.25rem);
  --pn-type-h4-line: 1.35;
  --pn-type-h4-tracking: -0.01em;
  --pn-type-h4-measure: 36em;
  --pn-type-lede-family: var(--pn-font-family-sans);
  --pn-type-lede-weight: var(--pn-font-weight-regular);
  --pn-type-lede-size: 1.25rem;
  --pn-type-lede-line: 1.5;
  --pn-type-lede-tracking: 0em;
  --pn-type-lede-measure: 36em;
  --pn-type-prose-family: var(--pn-font-family-sans);
  --pn-type-prose-weight: var(--pn-font-weight-regular);
  --pn-type-prose-size: 1.125rem;
  --pn-type-prose-line: 1.5556;
  --pn-type-prose-tracking: 0em;
  --pn-type-prose-measure: var(--pn-layout-measure-prose);
  --pn-type-body-family: var(--pn-font-family-sans);
  --pn-type-body-weight: var(--pn-font-weight-regular);
  --pn-type-body-size: clamp(1rem, 0.9726rem + 0.1124vw, 1.0625rem);
  --pn-type-body-line: 1.55;
  --pn-type-body-tracking: 0em;
  --pn-type-body-measure: 36em;
  --pn-type-small-family: var(--pn-font-family-sans);
  --pn-type-small-weight: var(--pn-font-weight-regular);
  --pn-type-small-size: 0.875rem;
  --pn-type-small-line: 1.5;
  --pn-type-small-tracking: 0em;
  --pn-type-ui-family: var(--pn-font-family-sans);
  --pn-type-ui-weight: var(--pn-font-weight-regular);
  --pn-type-ui-size: 0.9375rem;
  --pn-type-ui-line: 1.4;
  --pn-type-ui-tracking: 0em;
  --pn-type-label-family: var(--pn-font-family-mono);
  --pn-type-label-weight: var(--pn-font-weight-medium);
  --pn-type-label-size: 0.75rem;
  --pn-type-label-line: 1.2;
  --pn-type-label-tracking: 0.08em;
  --pn-type-label-transform: uppercase;
  --pn-type-caption-family: var(--pn-font-family-sans);
  --pn-type-caption-weight: var(--pn-font-weight-regular);
  --pn-type-caption-size: 0.75rem;
  --pn-type-caption-line: 1.4;
  --pn-type-caption-tracking: 0em;
  --pn-type-record-family: var(--pn-font-family-mono);
  --pn-type-record-weight: var(--pn-font-weight-medium);
  --pn-type-record-size: 0.875rem;
  --pn-type-record-line: 1.3;
  --pn-type-record-tracking: 0em;
  --pn-type-code-family: var(--pn-font-family-mono);
  --pn-type-code-weight: var(--pn-font-weight-regular);
  --pn-type-code-size: 0.875rem;
  --pn-type-code-line: 1.7;
  --pn-type-code-tracking: 0em;
  --pn-space-0: 0px;
  --pn-space-1: 4px;
  --pn-space-2: 8px;
  --pn-space-3: 12px;
  --pn-space-4: 16px;
  --pn-space-5: 20px;
  --pn-space-6: 24px;
  --pn-space-8: 32px;
  --pn-space-10: 40px;
  --pn-space-12: 48px;
  --pn-space-16: 64px;
  --pn-space-20: 80px;
  --pn-space-24: 96px;
  --pn-space-32: 128px;
  --pn-space-40: 160px;
  --pn-radius-xs: 7px;
  --pn-radius-sm: 12px;
  --pn-radius-md: 14px;
  --pn-radius-lg: 16px;
  --pn-radius-xl: 18px;
  --pn-radius-2xl: 24px;
  --pn-radius-3xl: 32px;
  --pn-radius-4xl: 64px;
  --pn-radius-pill: 999px;
  --pn-radius-round: 50%;
  --pn-blur-sm: 14px;
  --pn-blur-md: 20px;
  --pn-blur-lg: 24px;
  --pn-duration-press: 120ms;
  --pn-duration-hover: 180ms;
  --pn-duration-move: 240ms;
  --pn-duration-reveal: 400ms;
  --pn-duration-story: 600ms;
  --pn-duration-pose: 450ms;
  --pn-duration-arc: 640ms;
  --pn-duration-fade: 900ms;
  --pn-easing-out: cubic-bezier(0.16, 1, 0.3, 1);
  --pn-easing-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --pn-easing-spring: cubic-bezier(0.34, 1.4, 0.64, 1);
  --pn-opacity-disabled: 0.38;
  --pn-opacity-chart-muted: 0.45;
  --pn-z-base: 0;
  --pn-z-scene-back: 1;
  --pn-z-scene: 2;
  --pn-z-scene-front: 3;
  --pn-z-raised: 10;
  --pn-z-nav: 30;
  --pn-z-menu: 40;
  --pn-z-banner: 50;
  --pn-z-toast: 60;
  --pn-z-modal: 70;
  --pn-z-effects: 80;
  --pn-ratio-hero: 16 / 10;
  --pn-ratio-card: 16 / 9;
  --pn-ratio-share: 1200 / 630;
  --pn-ratio-headshot: 1 / 1;
  --pn-layout-container: 1200px;
  --pn-layout-wide: 960px;
  --pn-layout-visual: 1080px;
  --pn-layout-measure-head: 760px;
  --pn-layout-measure-prose: 700px;
  --pn-layout-measure-form: 540px;
  --pn-layout-gutter: 16px;
  --pn-layout-columns: 4;
  --pn-breakpoint-md: 640px;
  --pn-breakpoint-lg: 1024px;
  --pn-breakpoint-xl: 1280px;
}
@media (min-width: 640px) {
  :root {
    --pn-layout-gutter: 24px;
    --pn-layout-columns: 8;
  }
}
@media (min-width: 1024px) {
  :root {
    --pn-layout-gutter: 32px;
    --pn-layout-columns: 12;
  }
}

/* ---------- sys: Polar Night (default) ---------- */
:root, [data-theme="night"], .pn-night {
  --pn-surface-page: var(--pn-color-ink-950);
  --pn-surface-panel: var(--pn-color-ink-900);
  --pn-surface-raised: var(--pn-color-ink-850);
  --pn-surface-glass: var(--pn-color-alpha-panel-62);
  --pn-surface-control: var(--pn-color-alpha-snow-10);
  --pn-surface-control-hover: var(--pn-color-alpha-snow-17);
  --pn-surface-control-pressed: var(--pn-color-alpha-snow-24);
  --pn-surface-rail: var(--pn-color-alpha-snow-07);
  --pn-surface-selected: var(--pn-color-alpha-snow-20);
  --pn-surface-hover: var(--pn-color-alpha-snow-10);
  --pn-surface-nav: var(--pn-color-alpha-night-60);
  --pn-surface-menu: var(--pn-color-alpha-panel-72);
  --pn-surface-screen: var(--pn-color-ink-50);
  --pn-surface-disabled: var(--pn-color-ink-850);
  --pn-text-head: var(--pn-color-ink-100);
  --pn-text-body: var(--pn-color-ink-300);
  --pn-text-subtle: var(--pn-color-ink-400);
  --pn-text-caption: var(--pn-color-ink-500);
  --pn-text-link: var(--pn-color-violet-300);
  --pn-text-on-action: var(--pn-color-white);
  --pn-text-on-screen: var(--pn-color-ink-900);
  --pn-text-disabled: var(--pn-color-alpha-snow-38);
  --pn-border-hairline: var(--pn-color-ink-800);
  --pn-border-strong: var(--pn-color-ink-750);
  --pn-border-underline: var(--pn-color-alpha-white-35);
  --pn-action-bg: var(--pn-color-violet-600);
  --pn-action-bg-hover: var(--pn-color-violet-550);
  --pn-action-bg-pressed: var(--pn-color-violet-700);
  --pn-action-fg: var(--pn-color-white);
  --pn-mark: var(--pn-color-violet-400);
  --pn-bloom: var(--pn-color-violet-500);
  --pn-focus: var(--pn-color-ink-100);
  --pn-status-valid-bg: var(--pn-color-green-100);
  --pn-status-valid-fg: var(--pn-color-green-900);
  --pn-status-failed-bg: var(--pn-color-red-100);
  --pn-status-failed-fg: var(--pn-color-red-900);
  --pn-chart-1: var(--pn-color-chart-night-1);
  --pn-chart-2: var(--pn-color-chart-night-2);
  --pn-chart-3: var(--pn-color-chart-night-3);
  --pn-chart-4: var(--pn-color-chart-night-4);
  --pn-chart-5: var(--pn-color-chart-night-5);
  --pn-chart-6: var(--pn-color-chart-night-6);
  --pn-chart-baseline: var(--pn-color-alpha-snow-22);
  --pn-code-keyword: var(--pn-color-violet-300);
  --pn-code-string: var(--pn-color-rose-300);
  --pn-code-comment: var(--pn-color-ink-500);
  --pn-code-function: var(--pn-color-ink-100);
  --pn-diagram-connector: var(--pn-color-ink-600);
  --pn-shadow-panel: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 0 0 1px rgba(255, 255, 255, 0.14), 0 24px 56px -22px rgba(5, 2, 14, 0.75);
  --pn-shadow-control: inset 0 1px 0 rgba(255, 255, 255, 0.30), inset 0 0 0 1px rgba(255, 255, 255, 0.14), 0 10px 24px -12px rgba(4, 2, 12, 0.8);
  --pn-shadow-field: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 0 0 1px rgba(255, 255, 255, 0.12);
  --pn-shadow-rail: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 0 0 1px rgba(255, 255, 255, 0.12);
  --pn-shadow-selected: inset 0 1px 0 rgba(255, 255, 255, 0.34);
  --pn-shadow-action: inset 0 0 0 1px rgba(255, 255, 255, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 10px 28px -8px rgba(103, 56, 184, 0.75);
  --pn-shadow-screen: 0 0 0 1px rgba(255, 255, 255, 0.35), 0 4px 10px rgba(5, 2, 14, 0.45), 0 30px 70px -10px rgba(5, 2, 14, 0.65);
  --pn-shadow-nav: inset 0 -1px 0 rgba(255, 255, 255, 0.08);
  --pn-shadow-numeral-halo: 0 0 1px rgba(15, 10, 26, 0.85), 0 0 16px rgba(15, 10, 26, 0.6), 0 0 60px rgba(158, 98, 221, 0.35);
  --pn-gradient-highlight: linear-gradient(115deg, #9E62DD 10%, #F49AD8 90%);
  --pn-gradient-polar-sky: linear-gradient(180deg, #2E2456 0%, #1B1636 38%, #0F0A1A 100%);
  --pn-gradient-horizon: linear-gradient(180deg, #0F0A1A 0%, #201F3E 48%, #4D4374 80%, #8370A7 100%);
  color-scheme: dark;
}

/* ---------- sys: Polar Day ---------- */
[data-theme="day"], .pn-day {
  --pn-surface-page: var(--pn-color-white);
  --pn-surface-panel: var(--pn-color-navy-100);
  --pn-surface-raised: var(--pn-color-navy-140);
  --pn-surface-glass: var(--pn-color-alpha-white-90);
  --pn-surface-control: var(--pn-color-white);
  --pn-surface-control-hover: var(--pn-color-navy-50);
  --pn-surface-control-pressed: var(--pn-color-navy-160);
  --pn-surface-rail: var(--pn-color-alpha-navy-05);
  --pn-surface-selected: var(--pn-color-white);
  --pn-surface-hover: var(--pn-color-alpha-navy-06);
  --pn-surface-nav: var(--pn-color-alpha-white-90);
  --pn-surface-menu: var(--pn-color-white);
  --pn-surface-screen: var(--pn-color-ink-50);
  --pn-surface-disabled: var(--pn-color-navy-120);
  --pn-text-head: var(--pn-color-navy-900);
  --pn-text-body: var(--pn-color-navy-700);
  --pn-text-subtle: var(--pn-color-navy-500);
  --pn-text-caption: var(--pn-color-navy-500);
  --pn-text-link: var(--pn-color-violet-450);
  --pn-text-on-action: var(--pn-color-white);
  --pn-text-on-screen: var(--pn-color-ink-900);
  --pn-text-disabled: var(--pn-color-alpha-navy-38);
  --pn-border-hairline: var(--pn-color-navy-200);
  --pn-border-strong: var(--pn-color-navy-250);
  --pn-border-underline: var(--pn-color-alpha-navy-35);
  --pn-action-bg: var(--pn-color-violet-600);
  --pn-action-bg-hover: var(--pn-color-violet-550);
  --pn-action-bg-pressed: var(--pn-color-violet-700);
  --pn-action-fg: var(--pn-color-white);
  --pn-mark: var(--pn-color-violet-400);
  --pn-bloom: var(--pn-color-violet-500);
  --pn-focus: var(--pn-color-navy-900);
  --pn-status-valid-bg: var(--pn-color-green-100);
  --pn-status-valid-fg: var(--pn-color-green-900);
  --pn-status-failed-bg: var(--pn-color-red-100);
  --pn-status-failed-fg: var(--pn-color-red-900);
  --pn-chart-1: var(--pn-color-chart-day-1);
  --pn-chart-2: var(--pn-color-chart-day-2);
  --pn-chart-3: var(--pn-color-chart-day-3);
  --pn-chart-4: var(--pn-color-chart-day-4);
  --pn-chart-5: var(--pn-color-chart-day-5);
  --pn-chart-6: var(--pn-color-chart-day-6);
  --pn-chart-baseline: var(--pn-color-navy-250);
  --pn-code-keyword: var(--pn-color-violet-450);
  --pn-code-string: var(--pn-color-rose-700);
  --pn-code-comment: var(--pn-color-navy-500);
  --pn-code-function: var(--pn-color-navy-900);
  --pn-diagram-connector: var(--pn-color-navy-300);
  --pn-shadow-panel: 0 0 0 1px rgba(32, 32, 96, 0.08), 0 8px 18px -12px rgba(32, 32, 96, 0.3);
  --pn-shadow-control: 0 0 0 1px rgba(32, 32, 96, 0.10), 0 1px 2px rgba(32, 32, 96, 0.10), 0 8px 18px -10px rgba(32, 32, 96, 0.32);
  --pn-shadow-field: 0 0 0 1px rgba(32, 32, 96, 0.12), 0 1px 2px rgba(32, 32, 96, 0.08), 0 6px 14px -10px rgba(32, 32, 96, 0.3);
  --pn-shadow-rail: inset 0 0 0 1px rgba(32, 32, 96, 0.05);
  --pn-shadow-selected: 0 0 0 1px rgba(32, 32, 96, 0.08), 0 2px 6px -2px rgba(32, 32, 96, 0.24);
  --pn-shadow-action: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 8px 18px -10px rgba(103, 56, 184, 0.7);
  --pn-shadow-screen: 0 0 0 1px rgba(255, 255, 255, 0.35), 0 4px 10px rgba(5, 2, 14, 0.45), 0 30px 70px -10px rgba(5, 2, 14, 0.65);
  --pn-shadow-nav: inset 0 -1px 0 #E2DFEE;
  --pn-shadow-numeral-halo: 0 0 1px rgba(255, 255, 255, 0.9), 0 0 16px rgba(255, 255, 255, 0.6), 0 0 60px rgba(158, 98, 221, 0.25);
  --pn-gradient-highlight: linear-gradient(115deg, #9E62DD 10%, #F49AD8 90%);
  --pn-gradient-polar-sky: linear-gradient(180deg, #2E2456 0%, #1B1636 38%, #0F0A1A 100%);
  --pn-gradient-horizon: linear-gradient(180deg, #0F0A1A 0%, #201F3E 48%, #4D4374 80%, #8370A7 100%);
  color-scheme: light;
}

/* ---------- comp: declared at every theme boundary so references to sys re-resolve inside nested themes ---------- */
:root, [data-theme], .pn-night, .pn-day {
  --pn-button-height-sm: 40px;
  --pn-button-height-md: 42px;
  --pn-button-height-lg: 50px;
  --pn-button-padding-x-md: 20px;
  --pn-button-padding-x-lg: 26px;
  --pn-button-font-size-md: 15px;
  --pn-button-font-size-lg: 16px;
  --pn-button-gap: 10px;
  --pn-button-icon: 18px;
  --pn-button-radius: var(--pn-radius-pill);
  --pn-button-press-shift: 1px;
  --pn-button-disc-size-md: 30px;
  --pn-button-disc-size-lg: 38px;
  --pn-button-disc-bg: var(--pn-color-alpha-white-16);
  --pn-button-disc-shift: 3px;
  --pn-rail-padding: 4px;
  --pn-rail-gap: 2px;
  --pn-rail-item-height: 36px;
  --pn-rail-item-padding-x: 15px;
  --pn-rail-font-size: 14.5px;
  --pn-rail-radius-tabs: var(--pn-radius-lg);
  --pn-rail-radius-toggle: var(--pn-radius-pill);
  --pn-field-height: 44px;
  --pn-field-radius: var(--pn-radius-sm);
  --pn-field-padding-x: 14px;
  --pn-field-label-gap: var(--pn-space-2);
  --pn-field-help-gap: var(--pn-space-1);
  --pn-field-font-size: 15.5px;
  --pn-field-label-size: 14.5px;
  --pn-field-help-size: 13.5px;
  --pn-field-error-width: 1.5px;
  --pn-field-error-color: var(--pn-status-failed-fg);
  --pn-form-head-gap: var(--pn-space-2);
  --pn-form-field-gap: var(--pn-space-6);
  --pn-form-section-gap: var(--pn-space-8);
  --pn-form-consent-gap: var(--pn-space-3);
  --pn-form-action-gap: var(--pn-space-2);
  --pn-focus-width: 2px;
  --pn-focus-offset: 2px;
  --pn-nav-height: 72px;
  --pn-nav-lockup: 140px;
  --pn-nav-link-size: 15px;
  --pn-nav-blur: var(--pn-blur-sm);
  --pn-nav-fold: var(--pn-breakpoint-xl);
  --pn-nav-anchor-offset: 96px;
  --pn-nav-lockup-sm: 104px;
  --pn-menu-radius: var(--pn-radius-xl);
  --pn-menu-blur: var(--pn-blur-lg);
  --pn-menu-icon: 36px;
  --pn-menu-card-width: 270px;
  --pn-menu-card-height: 230px;
  --pn-card-radius: var(--pn-radius-lg);
  --pn-card-padding: var(--pn-space-6);
  --pn-card-gap: var(--pn-space-4);
  --pn-panel-radius: var(--pn-radius-2xl);
  --pn-panel-blur: var(--pn-blur-lg);
  --pn-section-panel-radius: var(--pn-radius-3xl);
  --pn-section-panel-rise-radius: var(--pn-radius-4xl);
  --pn-chip-radius: var(--pn-radius-xs);
  --pn-chip-font-size: 12px;
  --pn-chip-padding-y: 5px;
  --pn-chip-padding-x: 7px;
  --pn-chip-glyph: 11px;
  --pn-record-radius: var(--pn-radius-md);
  --pn-record-padding-y: 9px;
  --pn-record-padding-x: 11px;
  --pn-record-blur: var(--pn-blur-sm);
  --pn-record-bg: var(--pn-color-alpha-panel-78);
  --pn-code-radius: var(--pn-radius-md);
  --pn-code-file-size: 13px;
  --pn-table-head-size: 13px;
  --pn-table-cell-size: 14.5px;
  --pn-table-min-width: 620px;
  --pn-toast-max-width: 360px;
  --pn-toast-disc: 26px;
  --pn-toast-blur: var(--pn-blur-md);
  --pn-cookie-max-width: 430px;
  --pn-diagram-node-width: 158px;
  --pn-diagram-node-height: 74px;
  --pn-diagram-node-radius: var(--pn-radius-md);
  --pn-diagram-icon: 30px;
  --pn-diagram-connector-width: 1.25px;
  --pn-diagram-highlight-width: 1.6px;
  --pn-diagram-min-width: 720px;
  --pn-icon-xs: 16px;
  --pn-icon-sm: 18px;
  --pn-icon-md: 22px;
  --pn-icon-ui: 24px;
  --pn-icon-concept: 48px;
  --pn-person-photo: 72px;
  --pn-person-radius: var(--pn-radius-xl);
  --pn-person-padding: var(--pn-space-4);
  --pn-article-h2-gap-before: var(--pn-space-12);
  --pn-article-h2-gap-after: var(--pn-space-4);
  --pn-article-h3-gap-before: var(--pn-space-8);
  --pn-article-h3-gap-after: var(--pn-space-3);
  --pn-section-pad-compact: var(--pn-space-12);
  --pn-section-pad-default: var(--pn-space-16);
  --pn-section-pad-spacious: var(--pn-space-20);
  --pn-section-eyebrow-gap: var(--pn-space-4);
  --pn-section-lede-gap: var(--pn-space-4);
  --pn-section-head-gap: var(--pn-space-12);
  --pn-section-cta-gap: var(--pn-space-12);
  --pn-avatar-sm: 40px;
  --pn-avatar-md: 48px;
  --pn-avatar-lg: 64px;
  --pn-counter-size: 28px;
  --pn-search-width: 320px;
  --pn-chart-spark-width: 320px;
  --pn-cover-width: 380px;
  --pn-hero-title-size: clamp(3.75rem, 5.5vw, 5.5rem);
  --pn-hero-copy-width: clamp(460px, 33vw, 560px);
}
@media (min-width: 640px) {
  :root, [data-theme], .pn-night, .pn-day {
    --pn-person-padding: 24px;
  }
}
@media (min-width: 1024px) {
  :root, [data-theme], .pn-night, .pn-day {
    --pn-card-padding: 32px;
    --pn-card-gap: 24px;
    --pn-person-photo: 96px;
    --pn-section-pad-compact: 64px;
    --pn-section-pad-default: 96px;
    --pn-section-pad-spacious: 128px;
    --pn-section-lede-gap: 24px;
  }
}

/* ---------- accessibility ---------- */
@media (prefers-reduced-transparency: reduce) {
  :root {
    --pn-blur-sm: 0px;
    --pn-blur-md: 0px;
    --pn-blur-lg: 0px;
  }
  :root, [data-theme="night"], .pn-night {
    --pn-surface-glass: var(--pn-color-ink-900);
    --pn-surface-control: var(--pn-color-ink-800);
    --pn-surface-nav: var(--pn-color-ink-950);
    --pn-surface-menu: var(--pn-color-ink-900);
    --pn-record-bg: var(--pn-color-ink-900);
  }
  [data-theme="day"], .pn-day {
    --pn-surface-glass: var(--pn-color-white);
    --pn-surface-nav: var(--pn-color-white);
  }
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --pn-duration-press: 0ms;
    --pn-duration-hover: 0ms;
    --pn-duration-move: 0ms;
    --pn-duration-reveal: 0ms;
    --pn-duration-story: 0ms;
    --pn-duration-pose: 0ms;
    --pn-duration-arc: 0ms;
    --pn-duration-fade: 0ms;
  }
}

/* ---------- legacy aliases: names the current sections.css uses, scoped to Polar pages (.pn). Remove each once nothing references it (the checker lists them). ---------- */
.pn, .pn-night, .pn-day {
  --pn-sans: var(--pn-font-family-sans);
  --pn-mono: var(--pn-font-family-mono);
  --pn-ease: var(--pn-easing-out);
  --pn-container: var(--pn-layout-container);
  --pn-wide: var(--pn-layout-wide);
  --pn-measure-head: var(--pn-layout-measure-head);
  --pn-measure-prose: var(--pn-layout-measure-prose);
  --pn-form: var(--pn-layout-measure-form);
  --pn-gut: var(--pn-layout-gutter);
  --pn-pad-c: var(--pn-section-pad-compact);
  --pn-pad-d: var(--pn-section-pad-default);
  --pn-pad-s: var(--pn-section-pad-spacious);
  --pn-display: var(--pn-type-display-size);
  --pn-title: var(--pn-type-title-size);
  --pn-heading: var(--pn-type-heading-size);
  --pn-h3: var(--pn-type-h3-size);
  --pn-h4: var(--pn-type-h4-size);
  --k-night: var(--pn-color-ink-950);
  --k-panel: var(--pn-color-ink-900);
  --k-line: var(--pn-color-ink-800);
  --k-line-2: var(--pn-color-ink-750);
  --k-head: var(--pn-color-ink-100);
  --k-body: var(--pn-color-ink-300);
  --k-cap: var(--pn-color-ink-500);
  --k-violet: var(--pn-color-violet-600);
  --k-lilac: var(--pn-color-violet-400);
  --k-lilac-t: var(--pn-color-violet-300);
  --k-screen: var(--pn-color-ink-50);
  --k-screen-ink: var(--pn-color-ink-900);
  --k-ok-bg: var(--pn-color-green-100);
  --k-ok-fg: var(--pn-color-green-900);
  --k-no-bg: var(--pn-color-red-100);
  --k-no-fg: var(--pn-color-red-900);
  --k-paper: var(--pn-color-white);
  --k-mist: var(--pn-color-navy-100);
  --k-navy: var(--pn-color-navy-900);
  --k-dbody: var(--pn-color-navy-700);
  --k-dcap: var(--pn-color-navy-500);
  --k-dline: var(--pn-color-navy-200);
  --k-lilac-ink: var(--pn-color-violet-450);
  --k-glass: var(--pn-shadow-panel);
  --k-screen-sh: var(--pn-shadow-screen);
  --bg: var(--pn-surface-page);
  --bg-2: var(--pn-surface-panel);
  --bg-3: var(--pn-surface-raised);
  --ink: var(--pn-text-head);
  --ink-2: var(--pn-text-body);
  --ink-3: var(--pn-text-subtle);
  --line: var(--pn-border-hairline);
  --link: var(--pn-text-link);
  --focus: var(--pn-focus);
  --mark: var(--pn-mark);
}
