/* GENERATED FILE — do not edit by hand.
   Source: design/tokens/*.tokens.json
   Regenerate: node tools/design/compile.mjs
   The token graph is the single source of truth; this stylesheet, the Swift
   constants and the Compose constants are all emitted from it. A hand edit here
   is reverted by the next compile and fails the design guard in CI. */

:root {
  color-scheme: dark;
  --mg-font-family-display: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --mg-font-family-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --mg-font-family-mono: 'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, Menlo, monospace;
  --mg-font-size-100: 10px;
  --mg-font-size-200: 11px;
  --mg-font-size-300: 12px;
  --mg-font-size-400: 13px;
  --mg-font-size-500: 14px;
  --mg-font-size-600: 15px;
  --mg-font-size-700: 16px;
  --mg-font-size-800: 18px;
  --mg-font-size-900: 21px;
  --mg-font-size-1000: 24px;
  --mg-font-size-1100: 26px;
  --mg-font-size-1200: 30px;
  --mg-font-size-1300: 34px;
  --mg-font-size-1400: 50px;
  --mg-font-size-1500: 76px;
  --mg-font-weight-400: 400;
  --mg-font-weight-500: 500;
  --mg-font-weight-600: 600;
  --mg-font-tracking-tight: -0.01em;
  --mg-font-tracking-normal: 0em;
  --mg-font-tracking-wide: 0.06em;
  --mg-font-tracking-wider: 0.1em;
  --mg-font-tracking-widest: 0.18em;
  --mg-font-leading-display: 1.05;
  --mg-font-leading-heading: 1.15;
  --mg-font-leading-body: 1.6;
  --mg-font-leading-prose: 1.7;
  --mg-space-0: 0px;
  --mg-space-25: 2px;
  --mg-space-50: 4px;
  --mg-space-75: 6px;
  --mg-space-100: 8px;
  --mg-space-125: 10px;
  --mg-space-150: 12px;
  --mg-space-175: 14px;
  --mg-space-200: 16px;
  --mg-space-250: 20px;
  --mg-space-300: 24px;
  --mg-space-400: 32px;
  --mg-space-500: 40px;
  --mg-space-600: 48px;
  --mg-space-800: 64px;
  --mg-space-1000: 80px;
  --mg-space-1200: 96px;
  --mg-radius-none: 0px;
  --mg-radius-bar: 2px;
  --mg-radius-control: 4px;
  --mg-radius-card: 10px;
  --mg-radius-pill: 9999px;
  --mg-border-width-hairline: 1px;
  --mg-border-width-rail: 2px;
  --mg-border-width-spine: 3px;
  --mg-size-sidebar: 236px;
  --mg-size-sidebar-collapsed: 64px;
  --mg-size-shell-max: 1180px;
  --mg-size-app-max: 1680px;
  --mg-size-measure: 62ch;
  --mg-size-ledger-min: 700px;
  --mg-size-evidence-max: 640px;
  --mg-size-notice-max: 720px;
  --mg-size-tile-min: 260px;
  --mg-size-input-max: 260px;
  --mg-size-donut: 240px;
  --mg-size-donut-compact: 200px;
  --mg-size-bar-evidence: 22px;
  --mg-size-bar-chart: 15px;
  --mg-breakpoint-compact: 720px;
  --mg-breakpoint-dense: 560px;
  --mg-surface-canvas: #0A0A0A;
  --mg-surface-raised: #111111;
  --mg-surface-card: #1A1A1A;
  --mg-surface-card-hover: #1F1F1F;
  --mg-overlay-scrim: #000000B3;
  --mg-border-hairline: #2A2A2A;
  --mg-border-strong: #3A3A3A;
  --mg-text-primary: #FAFAFA;
  --mg-text-body: #E8E6E3;
  --mg-text-meta: #9E9E9E;
  --mg-text-faint: #8A8A8A;
  --mg-text-on-accent: #0A0A0A;
  --mg-text-on-danger: #FAFAFA;
  --mg-verdict-profit: #00C853;
  --mg-verdict-profit-text: #00C853;
  --mg-verdict-profit-hover: #33D375;
  --mg-verdict-profit-soft: #00C8531F;
  --mg-verdict-loss: #FF3D00;
  --mg-verdict-loss-soft: #FF3D001F;
  --mg-verdict-watch: #FFB300;
  --mg-verdict-watch-soft: #FFB3001F;
  --mg-state-focus: var(--mg-verdict-profit);
  --mg-state-disabled-opacity: 0.4;
  --mg-dataviz-cost-revenue: #FAFAFA;
  --mg-dataviz-cost-deduction-1: #8A8A8A;
  --mg-dataviz-cost-deduction-2: #9E9E9E;
  --mg-dataviz-donut-1: #E8E6E3;
  --mg-dataviz-donut-2: #ABABAB;
  --mg-dataviz-donut-3: #575757;
  --mg-dataviz-donut-track: #2A2A2A;
  --mg-dataviz-share-cogs: #8A8A8A;
  --mg-dataviz-share-fees: #9E9E9E;
  --mg-dataviz-share-ad: #E8E6E3;
  --mg-dataviz-grid: var(--mg-border-hairline);
  --mg-dataviz-axis: var(--mg-border-strong);
  --mg-type-screen-title-family: var(--mg-font-family-display);
  --mg-type-screen-title-size: clamp(var(--mg-font-size-1300), 4.4vw, var(--mg-font-size-1400));
  --mg-type-screen-title-weight: var(--mg-font-weight-400);
  --mg-type-screen-title-leading: var(--mg-font-leading-display);
  --mg-type-screen-title-tracking: var(--mg-font-tracking-tight);
  --mg-type-section-title-family: var(--mg-font-family-display);
  --mg-type-section-title-size: clamp(var(--mg-font-size-1000), 3vw, var(--mg-font-size-1300));
  --mg-type-section-title-weight: var(--mg-font-weight-400);
  --mg-type-section-title-leading: var(--mg-font-leading-display);
  --mg-type-section-title-tracking: var(--mg-font-tracking-tight);
  --mg-type-panel-title-family: var(--mg-font-family-display);
  --mg-type-panel-title-size: var(--mg-font-size-900);
  --mg-type-panel-title-weight: var(--mg-font-weight-400);
  --mg-type-panel-title-leading: var(--mg-font-leading-heading);
  --mg-type-panel-title-tracking: var(--mg-font-tracking-normal);
  --mg-type-headline-number-family: var(--mg-font-family-mono);
  --mg-type-headline-number-size: var(--mg-font-size-1200);
  --mg-type-headline-number-weight: var(--mg-font-weight-500);
  --mg-type-headline-number-leading: var(--mg-font-leading-display);
  --mg-type-headline-number-tracking: var(--mg-font-tracking-tight);
  --mg-type-headline-number-features: "tnum";
  --mg-type-figure-number-family: var(--mg-font-family-mono);
  --mg-type-figure-number-size: var(--mg-font-size-1100);
  --mg-type-figure-number-weight: var(--mg-font-weight-400);
  --mg-type-figure-number-leading: var(--mg-font-leading-heading);
  --mg-type-figure-number-tracking: var(--mg-font-tracking-normal);
  --mg-type-figure-number-features: "tnum";
  --mg-type-ledger-number-family: var(--mg-font-family-mono);
  --mg-type-ledger-number-size: var(--mg-font-size-400);
  --mg-type-ledger-number-weight: var(--mg-font-weight-400);
  --mg-type-ledger-number-leading: var(--mg-font-leading-body);
  --mg-type-ledger-number-tracking: var(--mg-font-tracking-normal);
  --mg-type-ledger-number-features: "tnum";
  --mg-type-column-head-family: var(--mg-font-family-mono);
  --mg-type-column-head-size: var(--mg-font-size-200);
  --mg-type-column-head-weight: var(--mg-font-weight-500);
  --mg-type-column-head-leading: var(--mg-font-leading-heading);
  --mg-type-column-head-tracking: var(--mg-font-tracking-wider);
  --mg-type-column-head-transform: uppercase;
  --mg-type-label-family: var(--mg-font-family-mono);
  --mg-type-label-size: var(--mg-font-size-200);
  --mg-type-label-weight: var(--mg-font-weight-400);
  --mg-type-label-leading: var(--mg-font-leading-heading);
  --mg-type-label-tracking: var(--mg-font-tracking-wider);
  --mg-type-label-transform: uppercase;
  --mg-type-eyebrow-family: var(--mg-font-family-mono);
  --mg-type-eyebrow-size: var(--mg-font-size-200);
  --mg-type-eyebrow-weight: var(--mg-font-weight-400);
  --mg-type-eyebrow-leading: var(--mg-font-leading-heading);
  --mg-type-eyebrow-tracking: var(--mg-font-tracking-widest);
  --mg-type-eyebrow-transform: uppercase;
  --mg-type-basis-family: var(--mg-font-family-mono);
  --mg-type-basis-size: var(--mg-font-size-200);
  --mg-type-basis-weight: var(--mg-font-weight-400);
  --mg-type-basis-leading: var(--mg-font-leading-body);
  --mg-type-basis-tracking: var(--mg-font-tracking-wide);
  --mg-type-lede-family: var(--mg-font-family-body);
  --mg-type-lede-size: var(--mg-font-size-700);
  --mg-type-lede-weight: var(--mg-font-weight-400);
  --mg-type-lede-leading: var(--mg-font-leading-body);
  --mg-type-lede-tracking: var(--mg-font-tracking-normal);
  --mg-type-body-family: var(--mg-font-family-body);
  --mg-type-body-size: var(--mg-font-size-600);
  --mg-type-body-weight: var(--mg-font-weight-400);
  --mg-type-body-leading: var(--mg-font-leading-body);
  --mg-type-body-tracking: var(--mg-font-tracking-normal);
  --mg-type-body-sm-family: var(--mg-font-family-body);
  --mg-type-body-sm-size: var(--mg-font-size-500);
  --mg-type-body-sm-weight: var(--mg-font-weight-400);
  --mg-type-body-sm-leading: var(--mg-font-leading-body);
  --mg-type-body-sm-tracking: var(--mg-font-tracking-normal);
  --mg-type-control-family: var(--mg-font-family-body);
  --mg-type-control-size: var(--mg-font-size-500);
  --mg-type-control-weight: var(--mg-font-weight-500);
  --mg-type-control-leading: var(--mg-font-leading-heading);
  --mg-type-control-tracking: var(--mg-font-tracking-normal);
  --mg-ledger-row-padding-y: var(--mg-space-150);
  --mg-ledger-cell-padding-x: var(--mg-space-150);
  --mg-ledger-head-padding-bottom: var(--mg-space-150);
  --mg-ledger-rule: var(--mg-border-hairline);
  --mg-ledger-row-hover: var(--mg-surface-raised);
  --mg-ledger-cell: var(--mg-text-body);
  --mg-ledger-verdict-cell: var(--mg-text-primary);
  --mg-ledger-identity: var(--mg-text-body);
  --mg-ledger-identity-sub: var(--mg-text-faint);
  --mg-ledger-loss-spine: var(--mg-border-width-rail);
  --mg-ledger-min-width: var(--mg-size-ledger-min);
  --mg-evidence-surface: var(--mg-surface-raised);
  --mg-evidence-padding-y: var(--mg-space-250);
  --mg-evidence-padding-x: var(--mg-space-300);
  --mg-evidence-stack-gap: var(--mg-space-25);
  --mg-evidence-stack-row-gap: var(--mg-space-200);
  --mg-evidence-bar-height: var(--mg-size-bar-evidence);
  --mg-evidence-bar-radius: var(--mg-radius-bar);
  --mg-evidence-total-rule: var(--mg-border-strong);
  --mg-evidence-max-width: var(--mg-size-evidence-max);
  --mg-pill-padding-y: var(--mg-space-50);
  --mg-pill-padding-x: var(--mg-space-125);
  --mg-pill-radius: var(--mg-radius-pill);
  --mg-pill-dot-size: var(--mg-space-75);
  --mg-rail-padding-y: var(--mg-space-150);
  --mg-rail-padding-x: var(--mg-space-175);
  --mg-rail-gap: var(--mg-space-150);
  --mg-rail-radius: var(--mg-radius-control);
  --mg-rail-border: var(--mg-border-hairline);
  --mg-rail-icon-ok: var(--mg-verdict-profit);
  --mg-rail-icon-watch: var(--mg-verdict-watch);
  --mg-rail-icon-blocked: var(--mg-verdict-loss);
  --mg-rail-blocked-fill: var(--mg-verdict-loss-soft);
  --mg-rail-blocked-border: var(--mg-verdict-loss);
  --mg-danger-banner-fill: var(--mg-verdict-loss);
  --mg-danger-banner-text: var(--mg-text-on-danger);
  --mg-danger-banner-padding-y: var(--mg-space-200);
  --mg-danger-banner-padding-x: var(--mg-space-300);
  --mg-danger-banner-radius: var(--mg-radius-control);
  --mg-danger-banner-border-width: var(--mg-border-width-rail);
  --mg-basis-color: var(--mg-text-faint);
  --mg-basis-gap: var(--mg-space-100);
  --mg-basis-margin-top: var(--mg-space-150);
  --mg-basis-stale-color: var(--mg-verdict-watch);
  --mg-tile-padding-y: var(--mg-space-300);
  --mg-tile-padding-x: var(--mg-space-300);
  --mg-tile-radius: var(--mg-radius-card);
  --mg-tile-fill: var(--mg-surface-canvas);
  --mg-tile-border: var(--mg-border-hairline);
  --mg-tile-gap: var(--mg-space-200);
  --mg-tile-min-width: var(--mg-size-tile-min);
  --mg-tile-label-margin-bottom: var(--mg-space-150);
  --mg-tile-delta-margin-top: var(--mg-space-150);
  --mg-panel-padding-y: var(--mg-space-300);
  --mg-panel-padding-x: var(--mg-space-300);
  --mg-panel-radius: var(--mg-radius-card);
  --mg-panel-fill: var(--mg-surface-canvas);
  --mg-panel-border: var(--mg-border-hairline);
  --mg-panel-head-margin-bottom: var(--mg-space-175);
  --mg-panel-gap: var(--mg-space-200);
  --mg-notice-padding-y: var(--mg-space-300);
  --mg-notice-padding-x: var(--mg-space-300);
  --mg-notice-radius: var(--mg-radius-card);
  --mg-notice-border: var(--mg-border-hairline);
  --mg-notice-error-border: var(--mg-verdict-loss);
  --mg-notice-max-width: var(--mg-size-notice-max);
  --mg-notice-tag-color: var(--mg-text-meta);
  --mg-notice-actions-gap: var(--mg-space-125);
  --mg-notice-actions-margin-top: var(--mg-space-200);
  --mg-button-padding-y: var(--mg-space-125);
  --mg-button-padding-x: var(--mg-space-200);
  --mg-button-radius: var(--mg-radius-control);
  --mg-button-border: var(--mg-border-strong);
  --mg-button-fill: var(--mg-surface-card);
  --mg-button-text: var(--mg-text-primary);
  --mg-button-hover-fill: var(--mg-surface-card-hover);
  --mg-button-hover-border: var(--mg-verdict-profit);
  --mg-button-primary-fill: var(--mg-verdict-profit);
  --mg-button-primary-text: var(--mg-text-on-accent);
  --mg-button-primary-hover-fill: var(--mg-verdict-profit-hover);
  --mg-button-danger-border: var(--mg-verdict-loss);
  --mg-button-danger-text: var(--mg-verdict-loss);
  --mg-button-danger-hover-fill: var(--mg-verdict-loss-soft);
  --mg-control-padding-y: var(--mg-space-75);
  --mg-control-padding-x: var(--mg-space-150);
  --mg-control-radius: var(--mg-radius-control);
  --mg-control-fill: var(--mg-surface-card);
  --mg-control-border: var(--mg-border-hairline);
  --mg-control-text: var(--mg-text-meta);
  --mg-control-active-border: var(--mg-verdict-profit);
  --mg-control-active-text: var(--mg-text-primary);
  --mg-control-active-fill: var(--mg-surface-card-hover);
  --mg-control-focus-border: var(--mg-state-focus);
  --mg-control-gap: var(--mg-space-100);
  --mg-editable-fill: var(--mg-surface-card);
  --mg-editable-border: var(--mg-border-strong);
  --mg-editable-text: var(--mg-text-primary);
  --mg-editable-focus-border: var(--mg-state-focus);
  --mg-editable-padding-y: var(--mg-space-75);
  --mg-editable-padding-x: var(--mg-space-125);
  --mg-editable-radius: var(--mg-radius-control);
  --mg-editable-derived-color: var(--mg-text-body);
  --mg-editable-unsaved-marker: var(--mg-verdict-watch);
  --mg-nav-width: var(--mg-size-sidebar);
  --mg-nav-collapsed-width: var(--mg-size-sidebar-collapsed);
  --mg-nav-padding-y: var(--mg-space-250);
  --mg-nav-padding-x: var(--mg-space-200);
  --mg-nav-item-padding-y: var(--mg-space-125);
  --mg-nav-item-padding-x: var(--mg-space-125);
  --mg-nav-item-gap: var(--mg-space-50);
  --mg-nav-item-radius: var(--mg-radius-control);
  --mg-nav-item-text: var(--mg-text-meta);
  --mg-nav-item-active-text: var(--mg-text-primary);
  --mg-nav-item-active-fill: var(--mg-surface-card);
  --mg-nav-item-hover-text: var(--mg-text-primary);
  --mg-nav-border: var(--mg-border-hairline);
  --mg-nav-group-label: var(--mg-text-faint);
  --mg-chart-bar-height: var(--mg-size-bar-chart);
  --mg-chart-bar-radius: var(--mg-radius-bar);
  --mg-chart-bar-gap: var(--mg-space-25);
  --mg-chart-positive: var(--mg-verdict-profit);
  --mg-chart-watch: var(--mg-verdict-watch);
  --mg-chart-negative: var(--mg-verdict-loss);
  --mg-chart-zero-line: var(--mg-border-strong);
  --mg-chart-grid: var(--mg-dataviz-grid);
  --mg-chart-axis: var(--mg-dataviz-axis);
  --mg-chart-label: var(--mg-text-meta);
  --mg-chart-donut-size: var(--mg-size-donut);
  --mg-chart-donut-size-compact: var(--mg-size-donut-compact);
  --mg-chart-foot-padding-top: var(--mg-space-150);
  --mg-progress-track: var(--mg-border-hairline);
  --mg-progress-fill: var(--mg-verdict-profit);
  --mg-progress-height: var(--mg-space-50);
  --mg-progress-radius: var(--mg-radius-bar);
  --mg-progress-done: var(--mg-verdict-profit);
  --mg-progress-active: var(--mg-verdict-watch);
  --mg-progress-waiting: var(--mg-text-faint);
  --mg-progress-gap: var(--mg-space-125);
  --mg-shell-bar-padding-y: var(--mg-space-250);
  --mg-shell-bar-padding-x: var(--mg-space-400);
  --mg-shell-bar-fill: var(--mg-surface-canvas);
  --mg-shell-bar-border: var(--mg-border-hairline);
  --mg-shell-main-padding-x: var(--mg-space-400);
  --mg-shell-main-padding-bottom: var(--mg-space-1200);
  --mg-shell-head-padding-top: var(--mg-space-500);
  --mg-shell-head-gap: var(--mg-space-300);
  --mg-shell-section-gap: var(--mg-space-300);
  --mg-shell-max-width: var(--mg-size-app-max);
  --mg-shell-narrow-max-width: var(--mg-size-shell-max);
  --mg-shell-breakpoint-compact: var(--mg-breakpoint-compact);
  --mg-shell-breakpoint-dense: var(--mg-breakpoint-dense);
  --mg-duration-instant: 0ms;
  --mg-duration-control: 120ms;
  --mg-duration-state: 150ms;
  --mg-duration-layout: 160ms;
  --mg-duration-reveal: 200ms;
  --mg-easing-standard: cubic-bezier(0.25, 0.1, 0.25, 1);
  --mg-easing-reveal: cubic-bezier(0.2, 0, 0, 1);
  --mg-transition-control: var(--mg-duration-control) var(--mg-easing-standard) var(--mg-duration-instant);
  --mg-transition-state: var(--mg-duration-state) var(--mg-easing-standard) var(--mg-duration-instant);
  --mg-transition-layout: var(--mg-duration-layout) var(--mg-easing-standard) var(--mg-duration-instant);
  --mg-transition-reveal: var(--mg-duration-reveal) var(--mg-easing-reveal) var(--mg-duration-instant);
  --mg-ink: var(--mg-surface-canvas);
  --mg-surface: var(--mg-surface-raised);
  --mg-card: var(--mg-surface-card);
  --mg-card-hover: var(--mg-surface-card-hover);
  --mg-border: var(--mg-border-hairline);
  --mg-chalk: var(--mg-text-primary);
  --mg-warm: var(--mg-text-body);
  --mg-muted: var(--mg-text-meta);
  --mg-subtle: var(--mg-text-faint);
  --mg-on-accent: var(--mg-text-on-accent);
  --mg-on-danger: var(--mg-text-on-danger);
  --mg-green: var(--mg-verdict-profit);
  --mg-green-hover: var(--mg-verdict-profit-hover);
  --mg-green-soft: var(--mg-verdict-profit-soft);
  --mg-red: var(--mg-verdict-loss);
  --mg-red-soft: var(--mg-verdict-loss-soft);
  --mg-amber: var(--mg-verdict-watch);
  --mg-amber-soft: var(--mg-verdict-watch-soft);
  --mg-focus: var(--mg-state-focus);
  --mg-disabled-opacity: var(--mg-state-disabled-opacity);
  --dv-cost-rev: var(--mg-dataviz-cost-revenue);
  --dv-cost-ded1: var(--mg-dataviz-cost-deduction-1);
  --dv-cost-ded2: var(--mg-dataviz-cost-deduction-2);
  --dv-donut-1: var(--mg-dataviz-donut-1);
  --dv-donut-2: var(--mg-dataviz-donut-2);
  --dv-donut-3: var(--mg-dataviz-donut-3);
  --dv-donut-track: var(--mg-dataviz-donut-track);
  --dv-share-cogs: var(--mg-dataviz-share-cogs);
  --dv-share-fees: var(--mg-dataviz-share-fees);
  --dv-share-ad: var(--mg-dataviz-share-ad);
  --dv-grid: var(--mg-dataviz-grid);
  --dv-axis: var(--mg-dataviz-axis);
  --font-display: var(--mg-font-family-display);
  --font-body: var(--mg-font-family-body);
  --font-mono: var(--mg-font-family-mono);
  --fg: var(--mg-text-primary);
  --bg: var(--mg-surface-canvas);
  --muted: var(--mg-text-meta);
  --border: var(--mg-border-hairline);
}

:root[data-theme="light"]:not(.mg-landing) {
  color-scheme: light;
  --mg-surface-canvas: #FBFBF9;
  --mg-surface-raised: #FFFFFF;
  --mg-surface-card: #F3F3EF;
  --mg-surface-card-hover: #EAEAE3;
  --mg-border-hairline: #E5E4DF;
  --mg-border-strong: #CBCAC3;
  --mg-text-primary: #16181A;
  --mg-text-body: #33312E;
  --mg-text-meta: #5E5E58;
  --mg-text-faint: #686862;
  --mg-text-on-accent: #FBFBF9;
  --mg-verdict-profit: #00863A;
  --mg-verdict-profit-text: #006E2E;
  --mg-verdict-profit-hover: #0A7433;
  --mg-verdict-profit-soft: #00863A1F;
  --mg-verdict-loss: #D3300A;
  --mg-verdict-loss-soft: #D3300A1A;
  --mg-verdict-watch: #B45309;
  --mg-verdict-watch-soft: #B453091F;
  --mg-dataviz-cost-revenue: #86857D;
  --mg-dataviz-cost-deduction-1: #ABAAA1;
  --mg-dataviz-cost-deduction-2: #CFCEC6;
  --mg-dataviz-donut-1: #86857D;
  --mg-dataviz-donut-2: #ABAAA1;
  --mg-dataviz-donut-3: #CFCEC6;
  --mg-dataviz-donut-track: #E5E4DF;
  --mg-dataviz-share-cogs: #575757;
  --mg-dataviz-share-fees: #8E8D84;
  --mg-dataviz-share-ad: #CFCEC6;
  --mg-ink: var(--mg-surface-canvas);
  --mg-surface: var(--mg-surface-raised);
  --mg-card: var(--mg-surface-card);
  --mg-card-hover: var(--mg-surface-card-hover);
  --mg-border: var(--mg-border-hairline);
  --mg-chalk: var(--mg-text-primary);
  --mg-warm: var(--mg-text-body);
  --mg-muted: var(--mg-text-meta);
  --mg-subtle: var(--mg-text-faint);
  --mg-on-accent: var(--mg-text-on-accent);
  --mg-green: var(--mg-verdict-profit);
  --mg-green-hover: var(--mg-verdict-profit-hover);
  --mg-green-soft: var(--mg-verdict-profit-soft);
  --mg-red: var(--mg-verdict-loss);
  --mg-red-soft: var(--mg-verdict-loss-soft);
  --mg-amber: var(--mg-verdict-watch);
  --mg-amber-soft: var(--mg-verdict-watch-soft);
  --mg-focus: var(--mg-state-focus);
  --dv-cost-rev: var(--mg-dataviz-cost-revenue);
  --dv-cost-ded1: var(--mg-dataviz-cost-deduction-1);
  --dv-cost-ded2: var(--mg-dataviz-cost-deduction-2);
  --dv-donut-1: var(--mg-dataviz-donut-1);
  --dv-donut-2: var(--mg-dataviz-donut-2);
  --dv-donut-3: var(--mg-dataviz-donut-3);
  --dv-donut-track: var(--mg-dataviz-donut-track);
  --dv-share-cogs: var(--mg-dataviz-share-cogs);
  --dv-share-fees: var(--mg-dataviz-share-fees);
  --dv-share-ad: var(--mg-dataviz-share-ad);
  --dv-grid: var(--mg-dataviz-grid);
  --dv-axis: var(--mg-dataviz-axis);
  --fg: var(--mg-text-primary);
  --bg: var(--mg-surface-canvas);
  --muted: var(--mg-text-meta);
  --border: var(--mg-border-hairline);
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme]):not(.mg-landing) {
    color-scheme: light;
    --mg-surface-canvas: #FBFBF9;
    --mg-surface-raised: #FFFFFF;
    --mg-surface-card: #F3F3EF;
    --mg-surface-card-hover: #EAEAE3;
    --mg-border-hairline: #E5E4DF;
    --mg-border-strong: #CBCAC3;
    --mg-text-primary: #16181A;
    --mg-text-body: #33312E;
    --mg-text-meta: #5E5E58;
    --mg-text-faint: #686862;
    --mg-text-on-accent: #FBFBF9;
    --mg-verdict-profit: #00863A;
    --mg-verdict-profit-text: #006E2E;
    --mg-verdict-profit-hover: #0A7433;
    --mg-verdict-profit-soft: #00863A1F;
    --mg-verdict-loss: #D3300A;
    --mg-verdict-loss-soft: #D3300A1A;
    --mg-verdict-watch: #B45309;
    --mg-verdict-watch-soft: #B453091F;
    --mg-dataviz-cost-revenue: #86857D;
    --mg-dataviz-cost-deduction-1: #ABAAA1;
    --mg-dataviz-cost-deduction-2: #CFCEC6;
    --mg-dataviz-donut-1: #86857D;
    --mg-dataviz-donut-2: #ABAAA1;
    --mg-dataviz-donut-3: #CFCEC6;
    --mg-dataviz-donut-track: #E5E4DF;
    --mg-dataviz-share-cogs: #575757;
    --mg-dataviz-share-fees: #8E8D84;
    --mg-dataviz-share-ad: #CFCEC6;
    --mg-ink: var(--mg-surface-canvas);
    --mg-surface: var(--mg-surface-raised);
    --mg-card: var(--mg-surface-card);
    --mg-card-hover: var(--mg-surface-card-hover);
    --mg-border: var(--mg-border-hairline);
    --mg-chalk: var(--mg-text-primary);
    --mg-warm: var(--mg-text-body);
    --mg-muted: var(--mg-text-meta);
    --mg-subtle: var(--mg-text-faint);
    --mg-on-accent: var(--mg-text-on-accent);
    --mg-green: var(--mg-verdict-profit);
    --mg-green-hover: var(--mg-verdict-profit-hover);
    --mg-green-soft: var(--mg-verdict-profit-soft);
    --mg-red: var(--mg-verdict-loss);
    --mg-red-soft: var(--mg-verdict-loss-soft);
    --mg-amber: var(--mg-verdict-watch);
    --mg-amber-soft: var(--mg-verdict-watch-soft);
    --mg-focus: var(--mg-state-focus);
    --dv-cost-rev: var(--mg-dataviz-cost-revenue);
    --dv-cost-ded1: var(--mg-dataviz-cost-deduction-1);
    --dv-cost-ded2: var(--mg-dataviz-cost-deduction-2);
    --dv-donut-1: var(--mg-dataviz-donut-1);
    --dv-donut-2: var(--mg-dataviz-donut-2);
    --dv-donut-3: var(--mg-dataviz-donut-3);
    --dv-donut-track: var(--mg-dataviz-donut-track);
    --dv-share-cogs: var(--mg-dataviz-share-cogs);
    --dv-share-fees: var(--mg-dataviz-share-fees);
    --dv-share-ad: var(--mg-dataviz-share-ad);
    --dv-grid: var(--mg-dataviz-grid);
    --dv-axis: var(--mg-dataviz-axis);
    --fg: var(--mg-text-primary);
    --bg: var(--mg-surface-canvas);
    --muted: var(--mg-text-meta);
    --border: var(--mg-border-hairline);
  }
}

/* Reduced motion is the same experience without the tween: every duration
   collapses to zero, so a transition written with a --mg-transition-* token is
   reduced-motion-correct by construction. Nothing is hidden or made unreachable. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --mg-duration-control: 0ms;
    --mg-duration-state: 0ms;
    --mg-duration-layout: 0ms;
    --mg-duration-reveal: 0ms;
  }
}
