/* GENERATED FILE — do not edit. Source: design/tokens.json, tools/gen_tokens.py. */
/* The Ledger Deck, for the portal. Same tokens as the phone, same source. */

/* Our own cuts, served from /static/fonts/ — the same seven binaries the
   app bundles, at the same coordinates, under the same family names. */
@font-face {
  font-family: 'Fraunces Display';
  src: url('/static/fonts/Fraunces-Display.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Fraunces Headline';
  src: url('/static/fonts/Fraunces-Headline.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Fraunces Wordmark';
  src: url('/static/fonts/Fraunces-Wordmark.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Inter Tight';
  src: url('/static/fonts/InterTight-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter Tight';
  src: url('/static/fonts/InterTight-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter Tight';
  src: url('/static/fonts/InterTight-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter Tight';
  src: url('/static/fonts/InterTight-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/static/fonts/JetBrainsMono-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('/static/fonts/Manrope-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('/static/fonts/Manrope-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('/static/fonts/Manrope-ExtraBold.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* The system faces the first paint uses, adjusted to occupy exactly the
   space the cut above will — so the swap changes the letters and nothing
   else. Numbers measured from the binaries, not chosen. */
@font-face {
  font-family: 'Fraunces Display Fallback';
  src: local('Georgia');
  size-adjust: 100.3%;
  ascent-override: 97.5%;
  descent-override: 25.4%;
  line-gap-override: 0.0%;
}
@font-face {
  font-family: 'Fraunces Headline Fallback';
  src: local('Georgia');
  size-adjust: 106.1%;
  ascent-override: 92.1%;
  descent-override: 24.0%;
  line-gap-override: 0.0%;
}
@font-face {
  font-family: 'Fraunces Wordmark Fallback';
  src: local('Georgia Italic');
  size-adjust: 100.7%;
  ascent-override: 97.1%;
  descent-override: 25.3%;
  line-gap-override: 0.0%;
}
@font-face {
  font-family: 'Inter Tight Fallback';
  src: local('Helvetica Neue');
  size-adjust: 95.8%;
  ascent-override: 101.1%;
  descent-override: 25.2%;
  line-gap-override: 0.0%;
}
@font-face {
  font-family: 'JetBrains Mono Fallback';
  src: local('Menlo');
  size-adjust: 99.7%;
  ascent-override: 102.3%;
  descent-override: 30.1%;
  line-gap-override: 0.0%;
}
@font-face {
  font-family: 'Manrope Fallback';
  src: local('Helvetica Neue');
  size-adjust: 102.4%;
  ascent-override: 104.1%;
  descent-override: 29.3%;
  line-gap-override: 0.0%;
}

:root {
  color-scheme: light;
  --ds-bg-canvas: #F6F4EE;
  --ds-bg-surface: #FCFBF8;
  --ds-bg-surface-raised: #FFFFFF;
  --ds-bg-inverse: #151312;
  --ds-scrim: #151312;
  --ds-border-subtle: #E1DDD3;
  --ds-border-strong: #C9C4B8;
  --ds-border-input: #726C61;
  --ds-text-primary: #151312;
  --ds-text-secondary: #5C5851;
  --ds-text-tertiary: #726C61;
  --ds-text-inverse: #F6F4EE;
  --ds-accent: #7A1E2B;
  --ds-accent-on-inverse: #FFB020;
  --ds-accent-soft: #F1E3E1;
  --ds-urgent: #B0431A;
  --ds-urgent-soft: #F7E6DA;
  --ds-good: #2E6B49;
  --ds-good-soft: #E2ECE4;
  --ds-info: #3F5C7A;
  --ds-provenance-stated: #2E6B49;
  --ds-provenance-verified: #007880;
  --ds-provenance-estimate: #8A857B;
  --ds-provenance-research: #3F5C7A;
  --ds-provenance-seed: #B0431A;
  --ds-provenance-stale: #8E3F82;
  --ds-family-dot: #151312;
  --ds-widget-bg: #F6F4EE;
  --ds-widget-fg: #151312;
  --ds-standby-bg: #000000;
  --ds-standby-fg: #FFB020;
  --ds-opacity-family-dot: 0.7;
  --ds-opacity-tab-bar: 0.98;
  --ds-opacity-celebration-bloom: 0.12;
  --ds-opacity-pressed: 0.55;
  --ds-opacity-disabled: 0.4;
  --ds-opacity-scrim: 0.55;
  --uc-ink: #15150E;
  --uc-ink-dim: rgba(21, 21, 14, 0.68);
  --uc-ink-faint: rgba(21, 21, 14, 0.6);
  --uc-accent: #E79B18;
  --uc-accent-text: #96600C;
  --uc-accent-ink: #1A1206;
  --uc-positive: #0B7A50;
  --uc-warning: #C0402A;
  --uc-track: rgba(21, 21, 14, 0.13);
  --uc-ring-bg: #F4F3EF;
  --uc-ground: #F4F3EF;
  --uc-monogram-ink: #FFFFFF;
  --uc-ground-fill: radial-gradient(118% 62% at 50% 112%, rgba(255, 186, 86, 0.42), transparent 66%), radial-gradient(76% 48% at 100% -12%, rgba(126, 146, 255, 0.2), transparent 66%), #F4F3EF;
  --uc-vignette: radial-gradient(130% 100% at 50% 48%, transparent 66%, rgba(66, 50, 20, 0.1));
  --uc-grain-opacity: 0.05;
  --uc-grain-blend: multiply;
  --uc-glass-elevated: linear-gradient(152deg, rgba(255, 243, 222, 1), rgba(255, 255, 255, 0.96) 44%, rgba(238, 242, 255, 0.98));
  --uc-glass-raised: linear-gradient(152deg, rgba(255, 243, 222, 0.96), rgba(255, 255, 255, 0.9) 44%, rgba(238, 242, 255, 0.94));
  --uc-glass-chip: linear-gradient(152deg, rgba(255, 243, 222, 0.8), rgba(255, 255, 255, 0.7) 44%, rgba(238, 242, 255, 0.76));
  --uc-glass-quiet: linear-gradient(152deg, rgba(255, 243, 222, 0.62), rgba(255, 255, 255, 0.52) 44%, rgba(238, 242, 255, 0.58));
  --uc-hairline: rgba(21, 21, 14, 0.09);
  --uc-edge-raised: 0.5px solid #FFFFFF;
  --uc-edge-quiet: 0.5px solid rgba(255, 255, 255, 0.9);
  --uc-edge-accent: 0.5px solid rgba(231, 155, 24, 0.42);
  --uc-sh-grouped: inset 0 0.5px 0 #FFFFFF, 0 1px 2px rgba(64, 48, 18, 0.07), 0 4px 10px rgba(64, 48, 18, 0.07), 0 14px 30px rgba(64, 48, 18, 0.1);
  --uc-sh-floating: inset 0 0.5px 0 #FFFFFF, 0 1px 2px rgba(64, 48, 18, 0.09), 0 5px 12px rgba(64, 48, 18, 0.08), 0 24px 48px rgba(64, 48, 18, 0.15);
  --uc-sh-overlay: inset 0 0.5px 0 #FFFFFF, 0 1px 2px rgba(64, 48, 18, 0.1), 0 5px 12px rgba(64, 48, 18, 0.09), 0 28px 56px rgba(64, 48, 18, 0.17);
  --uc-sh-window: 0 2px 6px rgba(64, 48, 18, 0.1), 0 16px 36px rgba(64, 48, 18, 0.12), 0 50px 100px rgba(64, 48, 18, 0.18);
  --uc-blur: blur(24px) saturate(160%);
  --uc-r-card-phone: 30px;
  --uc-r-card-portal: 28px;
  --uc-r-group: 26px;
  --uc-r-tile: 19px;
  --uc-r-control: 15px;
  --uc-r-chip: 11px;
  --uc-r-tab-item: 17px;
  --uc-r-tab-bar: 28px;
  --uc-r-segment-track: 18px;
  --uc-r-pill: 999px;
  --uc-phone-safe-top: 56px;
  --uc-phone-side-pad: 13px;
  --uc-phone-column-gap: 10px;
  --uc-phone-card-pad-v: 18px;
  --uc-phone-card-pad-h: 19px;
  --uc-phone-row-pad-v: 13px;
  --uc-phone-row-pad-h: 16px;
  --uc-phone-tab-bar-bottom: 22px;
  --uc-phone-tab-bar-pad-v: 5px;
  --uc-phone-tab-bar-pad-h: 7px;
  --uc-phone-tab-item: 60px;
  --uc-phone-tab-glyph: 22px;
  --uc-phone-tab-glyph-stroke: 1.8px;
  --uc-phone-avatar: 34px;
  --uc-phone-back-button: 36px;
  --uc-phone-dictation: 26px;
  --uc-phone-remind-width: 96px;
  --uc-phone-segment-pad: 4px;
  --uc-phone-route-arc-height: 64px;
  --uc-phone-hairline-inset-wide: 57px;
  --uc-phone-hairline-inset-compact: 43px;
  --uc-portal-rail: 84px;
  --uc-portal-rail-edge: 0.5px;
  --uc-portal-rail-button: 44px;
  --uc-portal-rail-mark: 25px;
  --uc-portal-rail-avatar: 32px;
  --uc-portal-rail-glyph: 22px;
  --uc-portal-rail-glyph-stroke: 1.8px;
  --uc-portal-content-pad-v: 24px;
  --uc-portal-content-pad-h: 30px;
  --uc-portal-grid-gap: 16px;
  --uc-portal-grid-columns: 1.32fr 1fr 0.84fr;
  --uc-portal-grid-rows: auto 1fr;
  --uc-portal-ask-pill-width: 360px;
  --uc-portal-sparkline-width: 272px;
  --uc-component-hairline: 1px;
  --uc-component-chip-pad-top: 4px;
  --uc-component-chip-pad-right: 9px;
  --uc-component-chip-pad-bottom: 4px;
  --uc-component-chip-pad-left: 7px;
  --uc-component-state-dot: 6px;
  --uc-component-state-dot-glow: 8px;
  --uc-component-rail-track: 3px;
  --uc-component-rail-endpoint: 7px;
  --uc-component-rail-marker: 9px;
  --uc-component-rail-marker-ring: 3px;
  --uc-component-rail-marker-glow: 14px;
  --uc-component-allocation-bar: 6px;
  --uc-component-allocation-gap: 3px;
  --uc-component-sparkline-stroke: 2.2px;
  --uc-component-sparkline-fill-opacity: 0.1;
  --uc-component-sparkline-head: 4px;
  --uc-component-sparkline-points: 12px;
  --uc-component-arc-origin-dot: 4.5px;
  --uc-component-arc-current-dot: 5px;
  --uc-component-monogram: 32px;
  --uc-component-monogram-compact: 28px;
  --uc-component-monogram-tile: 24px;
  --uc-component-ask-glyph-stroke: 1.9px;
  --uc-component-ask-glyph-bars: 5px;
  --uc-mono-ai: linear-gradient(140deg, #D3423F, #8A1F1D);
  --uc-mono-mb: linear-gradient(140deg, #8C1B3A, #4A0E20);
  --uc-mono-ek: linear-gradient(140deg, #D8203A, #8A0F22);
  --uc-mono-al: linear-gradient(140deg, #4A6C8C, #22364A);
  --uc-mono-ax: linear-gradient(140deg, #A0296A, #5A1040);
  --uc-mono-hd: linear-gradient(140deg, #3F86F0, #1F4CA8);
  --uc-mono-ae: linear-gradient(140deg, #6E7B8C, #3A4453);

  --ds-font-display: 'Fraunces Display', 'Fraunces Display Fallback', Georgia, 'Times New Roman', serif;
  --ds-font-headline: 'Fraunces Headline', 'Fraunces Headline Fallback', Georgia, 'Times New Roman', serif;
  --ds-font-wordmark: 'Fraunces Wordmark', 'Fraunces Wordmark Fallback', Georgia, 'Times New Roman', serif;
  --ds-font-text: 'Inter Tight', 'Inter Tight Fallback', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ds-font-mono: 'JetBrains Mono', 'JetBrains Mono Fallback', ui-monospace, Menlo, monospace;
  --ds-font-ui: 'Manrope', 'Manrope Fallback', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --ds-radius-xs: 4px;
  --ds-radius-sm: 8px;
  --ds-radius-md: 12px;
  --ds-radius-lg: 16px;
  --ds-radius-pill: 999px;
  --ds-space-0: 0px;
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-5: 20px;
  --ds-space-6: 24px;
  --ds-space-7: 32px;
  --ds-space-8: 40px;
  --ds-page-margin: 20px;
  --ds-reading-width: 720px;
  --ds-row-two-line: 56px;
  --ds-row-one-line: 44px;
  --ds-hairline: 1px;
  --ds-tap-target: 44px;
  --ds-ask-pill: 44px;
  --ds-ask-pill-gap: 12px;
  --ds-tab-bar-top-rule: 1px;
  --ds-icon-grid: 24px;
  --ds-icon-stroke: 1.5px;
  --ds-tab-glyph: 22px;
  --ds-tab-active-dot: 4px;
  --ds-masthead-dot: 4px;
  --ds-pill-height: 20px;
  --ds-pill-dot: 6px;
  --ds-tab-bar-height: 56px;
  --ds-button-height: 48px;
  --ds-empty-min-height: 120px;
  --ds-selection-bar: 3px;
  --ds-hero-cap: 56px;
  --ds-tab-label-cap: 12px;
  --ds-keypad-numeral-cap: 28px;
  --ds-gauge-tick: 12px;
  --ds-gauge-dot: 10px;
  --ds-gauge-track: 44px;
  --ds-celebration-underline: 1.5px;
  --ds-ring-feed: 40px;
  --ds-ring-row: 28px;
  --ds-ring-detail-hero: 64px;
  --ds-ring-stroke: 2.5px;
  --ds-ring-numeral-cap-feed: 20px;
  --ds-ring-numeral-cap-hero: 32px;
  --ds-motion-state: 160ms;
  --ds-motion-navigation: 320ms;
  --ds-motion-tab-crossfade: 120ms;
  --ds-motion-hero-roll: 600ms;
  --ds-motion-hero-glyph: 240ms;
  --ds-motion-hero-stagger: 40ms;
  --ds-motion-ring-sweep: 500ms;
  --ds-motion-celebration-underline: 350ms;
  --ds-motion-celebration-bloom: 600ms;
  --ds-motion-tier-pulse: 500ms;
  --ds-motion-loading-timeout: 8000ms;
  --ds-motion-longest: 900ms;
  --ds-motion-sheet-spring-response: 0.4;
  --ds-motion-sheet-spring-damping: 0.85;
}

/* Night, by system appearance — unless Settings has pinned Day. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='day']) {
    color-scheme: dark;
    --ds-bg-canvas: #0B0D10;
    --ds-bg-surface: #14171C;
    --ds-bg-surface-raised: #1B1F26;
    --ds-bg-inverse: #F3F0E8;
    --ds-scrim: #000000;
    --ds-border-subtle: #262B33;
    --ds-border-strong: #3A414B;
    --ds-border-input: #838C99;
    --ds-text-primary: #F3F0E8;
    --ds-text-secondary: #9AA3AF;
    --ds-text-tertiary: #838C99;
    --ds-text-inverse: #0B0D10;
    --ds-accent: #FFB020;
    --ds-accent-on-inverse: #FFB020;
    --ds-accent-soft: #2A2410;
    --ds-urgent: #FF5A3C;
    --ds-urgent-soft: #2E1712;
    --ds-good: #3DDC97;
    --ds-good-soft: #10281E;
    --ds-info: #5AC8FA;
    --ds-provenance-stated: #3DDC97;
    --ds-provenance-verified: #00B2A8;
    --ds-provenance-estimate: #9AA3AF;
    --ds-provenance-research: #5AC8FA;
    --ds-provenance-seed: #FF5A3C;
    --ds-provenance-stale: #E86FC0;
    --ds-family-dot: #F3F0E8;
    --ds-widget-bg: #0B0D10;
    --ds-widget-fg: #F3F0E8;
    --ds-standby-bg: #000000;
    --ds-standby-fg: #FFB020;
    --uc-ink: #FFFFFF;
    --uc-ink-dim: rgba(255, 255, 255, 0.66);
    --uc-ink-faint: rgba(255, 255, 255, 0.51);
    --uc-accent: #FFA93A;
    --uc-accent-text: #FFB44F;
    --uc-accent-ink: #1A1206;
    --uc-positive: #49DD9B;
    --uc-warning: #FF7A66;
    --uc-track: rgba(255, 255, 255, 0.14);
    --uc-ring-bg: #07080B;
    --uc-ground: #07080B;
    --uc-monogram-ink: #FFFFFF;
    --uc-ground-fill: radial-gradient(118% 62% at 50% 112%, rgba(255, 170, 58, 0.3), rgba(214, 110, 30, 0.1) 42%, transparent 68%), radial-gradient(76% 48% at 100% -12%, rgba(96, 126, 255, 0.2), transparent 66%), radial-gradient(40% 28% at 0% 8%, rgba(255, 214, 150, 0.07), transparent 70%), #07080B;
    --uc-vignette: radial-gradient(130% 100% at 50% 48%, transparent 60%, rgba(0, 0, 0, 0.45));
    --uc-grain-opacity: 0.12;
    --uc-grain-blend: overlay;
    --uc-glass-elevated: linear-gradient(152deg, rgba(255, 216, 158, 0.19), rgba(255, 255, 255, 0.105) 44%, rgba(152, 178, 255, 0.115));
    --uc-glass-raised: linear-gradient(152deg, rgba(255, 216, 158, 0.135), rgba(255, 255, 255, 0.072) 44%, rgba(152, 178, 255, 0.085));
    --uc-glass-chip: linear-gradient(152deg, rgba(255, 216, 158, 0.108), rgba(255, 255, 255, 0.058) 44%, rgba(152, 178, 255, 0.068));
    --uc-glass-quiet: linear-gradient(152deg, rgba(255, 216, 158, 0.062), rgba(255, 255, 255, 0.032) 44%, rgba(152, 178, 255, 0.038));
    --uc-hairline: linear-gradient(152deg, rgba(255, 216, 158, 0.115), rgba(255, 255, 255, 0.062) 44%, rgba(152, 178, 255, 0.072));
    --uc-edge-raised: 0.5px solid rgba(255, 255, 255, 0.15);
    --uc-edge-quiet: 0.5px solid rgba(255, 255, 255, 0.1);
    --uc-edge-accent: 0.5px solid rgba(255, 169, 58, 0.3);
    --uc-sh-grouped: inset 0 0.5px 0 rgba(255, 255, 255, 0.22), 0 1px 2px rgba(0, 0, 0, 0.26), 0 10px 26px rgba(0, 0, 0, 0.3);
    --uc-sh-floating: inset 0 0.5px 0 rgba(255, 255, 255, 0.26), 0 1px 2px rgba(0, 0, 0, 0.32), 0 4px 10px rgba(0, 0, 0, 0.28), 0 22px 50px rgba(0, 0, 0, 0.46);
    --uc-sh-overlay: inset 0 0.5px 0 rgba(255, 255, 255, 0.26), 0 1px 2px rgba(0, 0, 0, 0.34), 0 4px 10px rgba(0, 0, 0, 0.3), 0 26px 60px rgba(0, 0, 0, 0.52);
    --uc-sh-window: 0 2px 6px rgba(0, 0, 0, 0.28), 0 18px 40px rgba(0, 0, 0, 0.3), 0 54px 110px rgba(0, 0, 0, 0.44);
  }
}

/* Night and Day pinned in Settings. Both are repeated after the media query
   so the manual override wins in BOTH directions: a dark-only override
   leaves someone who picked Day on a dark phone in the dark. */
:root[data-theme='night'] {
  color-scheme: dark;
  --ds-bg-canvas: #0B0D10;
  --ds-bg-surface: #14171C;
  --ds-bg-surface-raised: #1B1F26;
  --ds-bg-inverse: #F3F0E8;
  --ds-scrim: #000000;
  --ds-border-subtle: #262B33;
  --ds-border-strong: #3A414B;
  --ds-border-input: #838C99;
  --ds-text-primary: #F3F0E8;
  --ds-text-secondary: #9AA3AF;
  --ds-text-tertiary: #838C99;
  --ds-text-inverse: #0B0D10;
  --ds-accent: #FFB020;
  --ds-accent-on-inverse: #FFB020;
  --ds-accent-soft: #2A2410;
  --ds-urgent: #FF5A3C;
  --ds-urgent-soft: #2E1712;
  --ds-good: #3DDC97;
  --ds-good-soft: #10281E;
  --ds-info: #5AC8FA;
  --ds-provenance-stated: #3DDC97;
  --ds-provenance-verified: #00B2A8;
  --ds-provenance-estimate: #9AA3AF;
  --ds-provenance-research: #5AC8FA;
  --ds-provenance-seed: #FF5A3C;
  --ds-provenance-stale: #E86FC0;
  --ds-family-dot: #F3F0E8;
  --ds-widget-bg: #0B0D10;
  --ds-widget-fg: #F3F0E8;
  --ds-standby-bg: #000000;
  --ds-standby-fg: #FFB020;
  --uc-ink: #FFFFFF;
  --uc-ink-dim: rgba(255, 255, 255, 0.66);
  --uc-ink-faint: rgba(255, 255, 255, 0.51);
  --uc-accent: #FFA93A;
  --uc-accent-text: #FFB44F;
  --uc-accent-ink: #1A1206;
  --uc-positive: #49DD9B;
  --uc-warning: #FF7A66;
  --uc-track: rgba(255, 255, 255, 0.14);
  --uc-ring-bg: #07080B;
  --uc-ground: #07080B;
  --uc-monogram-ink: #FFFFFF;
  --uc-ground-fill: radial-gradient(118% 62% at 50% 112%, rgba(255, 170, 58, 0.3), rgba(214, 110, 30, 0.1) 42%, transparent 68%), radial-gradient(76% 48% at 100% -12%, rgba(96, 126, 255, 0.2), transparent 66%), radial-gradient(40% 28% at 0% 8%, rgba(255, 214, 150, 0.07), transparent 70%), #07080B;
  --uc-vignette: radial-gradient(130% 100% at 50% 48%, transparent 60%, rgba(0, 0, 0, 0.45));
  --uc-grain-opacity: 0.12;
  --uc-grain-blend: overlay;
  --uc-glass-elevated: linear-gradient(152deg, rgba(255, 216, 158, 0.19), rgba(255, 255, 255, 0.105) 44%, rgba(152, 178, 255, 0.115));
  --uc-glass-raised: linear-gradient(152deg, rgba(255, 216, 158, 0.135), rgba(255, 255, 255, 0.072) 44%, rgba(152, 178, 255, 0.085));
  --uc-glass-chip: linear-gradient(152deg, rgba(255, 216, 158, 0.108), rgba(255, 255, 255, 0.058) 44%, rgba(152, 178, 255, 0.068));
  --uc-glass-quiet: linear-gradient(152deg, rgba(255, 216, 158, 0.062), rgba(255, 255, 255, 0.032) 44%, rgba(152, 178, 255, 0.038));
  --uc-hairline: linear-gradient(152deg, rgba(255, 216, 158, 0.115), rgba(255, 255, 255, 0.062) 44%, rgba(152, 178, 255, 0.072));
  --uc-edge-raised: 0.5px solid rgba(255, 255, 255, 0.15);
  --uc-edge-quiet: 0.5px solid rgba(255, 255, 255, 0.1);
  --uc-edge-accent: 0.5px solid rgba(255, 169, 58, 0.3);
  --uc-sh-grouped: inset 0 0.5px 0 rgba(255, 255, 255, 0.22), 0 1px 2px rgba(0, 0, 0, 0.26), 0 10px 26px rgba(0, 0, 0, 0.3);
  --uc-sh-floating: inset 0 0.5px 0 rgba(255, 255, 255, 0.26), 0 1px 2px rgba(0, 0, 0, 0.32), 0 4px 10px rgba(0, 0, 0, 0.28), 0 22px 50px rgba(0, 0, 0, 0.46);
  --uc-sh-overlay: inset 0 0.5px 0 rgba(255, 255, 255, 0.26), 0 1px 2px rgba(0, 0, 0, 0.34), 0 4px 10px rgba(0, 0, 0, 0.3), 0 26px 60px rgba(0, 0, 0, 0.52);
  --uc-sh-window: 0 2px 6px rgba(0, 0, 0, 0.28), 0 18px 40px rgba(0, 0, 0, 0.3), 0 54px 110px rgba(0, 0, 0, 0.44);
}

:root[data-theme='day'] {
  color-scheme: light;
  --ds-bg-canvas: #F6F4EE;
  --ds-bg-surface: #FCFBF8;
  --ds-bg-surface-raised: #FFFFFF;
  --ds-bg-inverse: #151312;
  --ds-scrim: #151312;
  --ds-border-subtle: #E1DDD3;
  --ds-border-strong: #C9C4B8;
  --ds-border-input: #726C61;
  --ds-text-primary: #151312;
  --ds-text-secondary: #5C5851;
  --ds-text-tertiary: #726C61;
  --ds-text-inverse: #F6F4EE;
  --ds-accent: #7A1E2B;
  --ds-accent-on-inverse: #FFB020;
  --ds-accent-soft: #F1E3E1;
  --ds-urgent: #B0431A;
  --ds-urgent-soft: #F7E6DA;
  --ds-good: #2E6B49;
  --ds-good-soft: #E2ECE4;
  --ds-info: #3F5C7A;
  --ds-provenance-stated: #2E6B49;
  --ds-provenance-verified: #007880;
  --ds-provenance-estimate: #8A857B;
  --ds-provenance-research: #3F5C7A;
  --ds-provenance-seed: #B0431A;
  --ds-provenance-stale: #8E3F82;
  --ds-family-dot: #151312;
  --ds-widget-bg: #F6F4EE;
  --ds-widget-fg: #151312;
  --ds-standby-bg: #000000;
  --ds-standby-fg: #FFB020;
  --uc-ink: #15150E;
  --uc-ink-dim: rgba(21, 21, 14, 0.68);
  --uc-ink-faint: rgba(21, 21, 14, 0.6);
  --uc-accent: #E79B18;
  --uc-accent-text: #96600C;
  --uc-accent-ink: #1A1206;
  --uc-positive: #0B7A50;
  --uc-warning: #C0402A;
  --uc-track: rgba(21, 21, 14, 0.13);
  --uc-ring-bg: #F4F3EF;
  --uc-ground: #F4F3EF;
  --uc-monogram-ink: #FFFFFF;
  --uc-ground-fill: radial-gradient(118% 62% at 50% 112%, rgba(255, 186, 86, 0.42), transparent 66%), radial-gradient(76% 48% at 100% -12%, rgba(126, 146, 255, 0.2), transparent 66%), #F4F3EF;
  --uc-vignette: radial-gradient(130% 100% at 50% 48%, transparent 66%, rgba(66, 50, 20, 0.1));
  --uc-grain-opacity: 0.05;
  --uc-grain-blend: multiply;
  --uc-glass-elevated: linear-gradient(152deg, rgba(255, 243, 222, 1), rgba(255, 255, 255, 0.96) 44%, rgba(238, 242, 255, 0.98));
  --uc-glass-raised: linear-gradient(152deg, rgba(255, 243, 222, 0.96), rgba(255, 255, 255, 0.9) 44%, rgba(238, 242, 255, 0.94));
  --uc-glass-chip: linear-gradient(152deg, rgba(255, 243, 222, 0.8), rgba(255, 255, 255, 0.7) 44%, rgba(238, 242, 255, 0.76));
  --uc-glass-quiet: linear-gradient(152deg, rgba(255, 243, 222, 0.62), rgba(255, 255, 255, 0.52) 44%, rgba(238, 242, 255, 0.58));
  --uc-hairline: rgba(21, 21, 14, 0.09);
  --uc-edge-raised: 0.5px solid #FFFFFF;
  --uc-edge-quiet: 0.5px solid rgba(255, 255, 255, 0.9);
  --uc-edge-accent: 0.5px solid rgba(231, 155, 24, 0.42);
  --uc-sh-grouped: inset 0 0.5px 0 #FFFFFF, 0 1px 2px rgba(64, 48, 18, 0.07), 0 4px 10px rgba(64, 48, 18, 0.07), 0 14px 30px rgba(64, 48, 18, 0.1);
  --uc-sh-floating: inset 0 0.5px 0 #FFFFFF, 0 1px 2px rgba(64, 48, 18, 0.09), 0 5px 12px rgba(64, 48, 18, 0.08), 0 24px 48px rgba(64, 48, 18, 0.15);
  --uc-sh-overlay: inset 0 0.5px 0 #FFFFFF, 0 1px 2px rgba(64, 48, 18, 0.1), 0 5px 12px rgba(64, 48, 18, 0.09), 0 28px 56px rgba(64, 48, 18, 0.17);
  --uc-sh-window: 0 2px 6px rgba(64, 48, 18, 0.1), 0 16px 36px rgba(64, 48, 18, 0.12), 0 50px 100px rgba(64, 48, 18, 0.18);
}

/* The type scale. */
.ds-display-xl {
  font-family: var(--ds-font-display);
  font-size: 46px;
  line-height: 50px;
  font-weight: 500;
  letter-spacing: -0.02em;
  font-variant-numeric: lining-nums;
}
.ds-widget-hero {
  font-family: var(--ds-font-display);
  font-size: 26px;
  line-height: 30px;
  font-weight: 500;
  font-variant-numeric: lining-nums;
}
.ds-display {
  font-family: var(--ds-font-headline);
  font-size: 34px;
  line-height: 38px;
  font-weight: 500;
  font-variant-numeric: lining-nums;
}
.ds-wordmark {
  font-family: var(--ds-font-wordmark);
  font-size: 28px;
  line-height: 32px;
  font-weight: 500;
  font-style: italic;
  font-variant-numeric: lining-nums;
}
.ds-title-1 {
  font-family: var(--ds-font-headline);
  font-size: 24px;
  line-height: 28px;
  font-weight: 500;
  font-variant-numeric: lining-nums;
}
.ds-title-3 {
  font-family: var(--ds-font-headline);
  font-size: 20px;
  line-height: 24px;
  font-weight: 500;
  font-variant-numeric: lining-nums;
}
.ds-title-2 {
  font-family: var(--ds-font-text);
  font-size: 20px;
  line-height: 24px;
  font-weight: 600;
  font-variant-numeric: lining-nums;
}
.ds-headline {
  font-family: var(--ds-font-text);
  font-size: 17px;
  line-height: 22px;
  font-weight: 600;
  font-variant-numeric: lining-nums;
}
.ds-body {
  font-family: var(--ds-font-text);
  font-size: 15px;
  line-height: 20px;
  font-weight: 400;
  font-variant-numeric: lining-nums;
}
.ds-body-strong {
  font-family: var(--ds-font-text);
  font-size: 15px;
  line-height: 20px;
  font-weight: 600;
  font-variant-numeric: lining-nums;
}
.ds-callout {
  font-family: var(--ds-font-text);
  font-size: 14px;
  line-height: 18px;
  font-weight: 400;
  font-variant-numeric: lining-nums;
}
.ds-footnote {
  font-family: var(--ds-font-text);
  font-size: 13px;
  line-height: 17px;
  font-weight: 400;
  font-variant-numeric: lining-nums;
}
.ds-caption {
  font-family: var(--ds-font-text);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
  font-variant-numeric: lining-nums;
}
.ds-label {
  font-family: var(--ds-font-mono);
  font-size: 11px;
  line-height: 14px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-variant-numeric: lining-nums;
}
.ds-pill {
  font-family: var(--ds-font-mono);
  font-size: 10px;
  line-height: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-variant-numeric: lining-nums;
}
.ds-numeral-l {
  font-family: var(--ds-font-text);
  font-size: 24px;
  line-height: 28px;
  font-weight: 500;
  font-variant-numeric: tabular-nums lining-nums;
}
.ds-numeral-m {
  font-family: var(--ds-font-text);
  font-size: 17px;
  line-height: 22px;
  font-weight: 500;
  font-variant-numeric: tabular-nums lining-nums;
}
.ds-numeral-s {
  font-family: var(--ds-font-text);
  font-size: 14px;
  line-height: 18px;
  font-weight: 500;
  font-variant-numeric: tabular-nums lining-nums;
}

/* Fraunces has no `tnum`: `.ds-tabular` is a no-op on it, and the hero is the
   one figure in the product whose digits are not fixed-width (plan §12.6). */
.ds-tabular { font-variant-numeric: tabular-nums lining-nums; }

/* Ultraclear III type roles (SPEC §5). Manrope; every figure tabular. */
.uc-screen-title {
  font-family: var(--ds-font-ui);
  font-size: 32px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.045em;
  font-variant-numeric: lining-nums;
}
.uc-portal-screen-title {
  font-family: var(--ds-font-ui);
  font-size: 28px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.045em;
  font-variant-numeric: lining-nums;
}
.uc-hero {
  font-family: var(--ds-font-ui);
  font-size: 50px;
  line-height: 0.9;
  font-weight: 800;
  letter-spacing: -0.06em;
  font-variant-numeric: tabular-nums lining-nums;
}
.uc-portal-hero {
  font-family: var(--ds-font-ui);
  font-size: 52px;
  line-height: 0.9;
  font-weight: 800;
  letter-spacing: -0.06em;
  font-variant-numeric: tabular-nums lining-nums;
}
.uc-section-numeral {
  font-family: var(--ds-font-ui);
  font-size: 30px;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.055em;
  font-variant-numeric: tabular-nums lining-nums;
}
.uc-card-title {
  font-family: var(--ds-font-ui);
  font-size: 16px;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.028em;
  font-variant-numeric: lining-nums;
}
.uc-row-title {
  font-family: var(--ds-font-ui);
  font-size: 15px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-variant-numeric: lining-nums;
}
.uc-countdown {
  font-family: var(--ds-font-ui);
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.045em;
  font-variant-numeric: tabular-nums lining-nums;
}
.uc-countdown-unit {
  font-family: var(--ds-font-ui);
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-variant-numeric: lining-nums;
}
.uc-eyebrow {
  font-family: var(--ds-font-ui);
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  font-variant-numeric: lining-nums;
}
.uc-meta {
  font-family: var(--ds-font-ui);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: -0.005em;
  font-variant-numeric: lining-nums;
}
.uc-micro {
  font-family: var(--ds-font-ui);
  font-size: 11px;
  line-height: 1.3;
  font-weight: 600;
  font-variant-numeric: lining-nums;
}
.uc-button-primary {
  font-family: var(--ds-font-ui);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -0.015em;
  font-variant-numeric: lining-nums;
}
.uc-button-secondary {
  font-family: var(--ds-font-ui);
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: lining-nums;
}
.uc-tab-label {
  font-family: var(--ds-font-ui);
  font-size: 10px;
  font-weight: 600;
  font-variant-numeric: lining-nums;
}
.uc-tab-label-active {
  font-family: var(--ds-font-ui);
  font-size: 10px;
  font-weight: 800;
  font-variant-numeric: lining-nums;
}
.uc-state-chip {
  font-family: var(--ds-font-ui);
  font-size: 11px;
  font-weight: 700;
  font-variant-numeric: lining-nums;
}
.uc-delta {
  font-family: var(--ds-font-ui);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums lining-nums;
}
.uc-split-figure {
  font-family: var(--ds-font-ui);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums lining-nums;
}
.uc-portal-split-figure {
  font-family: var(--ds-font-ui);
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums lining-nums;
}
.uc-program-points {
  font-family: var(--ds-font-ui);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums lining-nums;
}
.uc-program-value {
  font-family: var(--ds-font-ui);
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
.uc-card-tile-name {
  font-family: var(--ds-font-ui);
  font-size: 11px;
  font-weight: 700;
  font-variant-numeric: lining-nums;
}
.uc-ask-placeholder {
  font-family: var(--ds-font-ui);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.02em;
  font-variant-numeric: lining-nums;
}
.uc-monogram {
  font-family: var(--ds-font-ui);
  font-size: 11px;
  font-weight: 800;
  font-variant-numeric: lining-nums;
}
.uc-question {
  font-family: var(--ds-font-ui);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.025em;
  font-variant-numeric: lining-nums;
}
.uc-route {
  font-family: var(--ds-font-ui);
  font-size: 26px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.045em;
  font-variant-numeric: lining-nums;
}
.uc-answer-figure {
  font-family: var(--ds-font-ui);
  font-size: 58px;
  line-height: 0.9;
  font-weight: 800;
  letter-spacing: -0.06em;
  font-variant-numeric: tabular-nums lining-nums;
}
.uc-wallet-total {
  font-family: var(--ds-font-ui);
  font-size: 40px;
  line-height: 0.9;
  font-weight: 800;
  letter-spacing: -0.06em;
  font-variant-numeric: tabular-nums lining-nums;
}

/* Surfaces (SPEC §2-§3). The grouped shadow goes on the container once. */
.uc-raised { background: var(--uc-glass-raised); border: var(--uc-edge-raised); box-shadow: var(--uc-sh-grouped); backdrop-filter: var(--uc-blur); -webkit-backdrop-filter: var(--uc-blur); border-radius: var(--uc-r-card-portal); }
.uc-quiet { background: var(--uc-glass-quiet); border: var(--uc-edge-quiet); box-shadow: var(--uc-sh-grouped); backdrop-filter: var(--uc-blur); -webkit-backdrop-filter: var(--uc-blur); border-radius: var(--uc-r-group); overflow: hidden; }
.uc-chip { background: var(--uc-glass-chip); border-radius: var(--uc-r-pill); }
.uc-hair { height: var(--uc-component-hairline); background: var(--uc-hairline); }
.uc-recommend { border: var(--uc-edge-accent); }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 1ms !important; transition-duration: 1ms !important; }
}
