/* Generated by scripts/design-tokens.mjs from design/ — edit there, never here. */

/* Generated from tokens.json — edit there. Light is :root; dark applies via OS or [data-theme="dark"]. */
:root {
  color-scheme: light dark;
  --bg-base: #FFFFFF;
  --bg-grouped: #F2F2F2;
  --bg-elevated: #FFFFFF;
  --bg-elevated-2: #F7F7F7;
  --fill: #E8E8E8;
  --fill-pressed: #DADADA;
  --separator: #DCDCDC;
  --separator-strong: #8C8C8C;
  --label: #111111;
  --label-secondary: #5C5C5C;
  --label-tertiary: #6E6E6E;
  --label-disabled: #A6A6A6;
  --label-on-accent: #FFFFFF;
  --accent: #2F5FD0;
  --accent-text: #2F5FD0;
  --accent-pressed: #244CAD;
  --accent-soft: #E8EEFB;
  --matched: #2F5FD0;
  --gap: #9A5B00;
  --gap-fill: #F2A93B;
  --gap-soft: #FDF3E1;
  --paid: #1E7A46;
  --paid-soft: #E5F3EA;
  --indicative: #5C5C5C;
  --destructive: #C62F2F;
  --destructive-soft: #FBEAEA;
  --focus: #2F5FD0;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg-base: #000000;
    --bg-grouped: #000000;
    --bg-elevated: #1C1C1C;
    --bg-elevated-2: #2A2A2A;
    --fill: #2E2E2E;
    --fill-pressed: #3A3A3A;
    --separator: #333333;
    --separator-strong: #737373;
    --label: #F5F5F5;
    --label-secondary: #ABABAB;
    --label-tertiary: #919191;
    --label-disabled: #5C5C5C;
    --label-on-accent: #FFFFFF;
    --accent: #3D6FE8;
    --accent-text: #86A8FF;
    --accent-pressed: #2F5FD0;
    --accent-soft: #16223F;
    --matched: #86A8FF;
    --gap: #F0B449;
    --gap-fill: #F0B449;
    --gap-soft: #33260F;
    --paid: #4CC68A;
    --paid-soft: #0F2B1C;
    --indicative: #ABABAB;
    --destructive: #FF6B61;
    --destructive-soft: #3A1513;
    --focus: #86A8FF;
  }
}
[data-theme="dark"] {
  color-scheme: dark;
  --bg-base: #000000;
  --bg-grouped: #000000;
  --bg-elevated: #1C1C1C;
  --bg-elevated-2: #2A2A2A;
  --fill: #2E2E2E;
  --fill-pressed: #3A3A3A;
  --separator: #333333;
  --separator-strong: #737373;
  --label: #F5F5F5;
  --label-secondary: #ABABAB;
  --label-tertiary: #919191;
  --label-disabled: #5C5C5C;
  --label-on-accent: #FFFFFF;
  --accent: #3D6FE8;
  --accent-text: #86A8FF;
  --accent-pressed: #2F5FD0;
  --accent-soft: #16223F;
  --matched: #86A8FF;
  --gap: #F0B449;
  --gap-fill: #F0B449;
  --gap-soft: #33260F;
  --paid: #4CC68A;
  --paid-soft: #0F2B1C;
  --indicative: #ABABAB;
  --destructive: #FF6B61;
  --destructive-soft: #3A1513;
  --focus: #86A8FF;
}
[data-theme="light"] {
  color-scheme: light;
  --bg-base: #FFFFFF;
  --bg-grouped: #F2F2F2;
  --bg-elevated: #FFFFFF;
  --bg-elevated-2: #F7F7F7;
  --fill: #E8E8E8;
  --fill-pressed: #DADADA;
  --separator: #DCDCDC;
  --separator-strong: #8C8C8C;
  --label: #111111;
  --label-secondary: #5C5C5C;
  --label-tertiary: #6E6E6E;
  --label-disabled: #A6A6A6;
  --label-on-accent: #FFFFFF;
  --accent: #2F5FD0;
  --accent-text: #2F5FD0;
  --accent-pressed: #244CAD;
  --accent-soft: #E8EEFB;
  --matched: #2F5FD0;
  --gap: #9A5B00;
  --gap-fill: #F2A93B;
  --gap-soft: #FDF3E1;
  --paid: #1E7A46;
  --paid-soft: #E5F3EA;
  --indicative: #5C5C5C;
  --destructive: #C62F2F;
  --destructive-soft: #FBEAEA;
  --focus: #2F5FD0;
}

/* Generated from tokens.json. Apple text styles at Dynamic Type "Large". On Apple platforms use Font.TextStyle, never fixed sizes. */
:root {
  --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, monospace;
  --large-title-size: 34px; --large-title-lh: 41px; --large-title-weight: 700;
  --title-1-size: 28px; --title-1-lh: 34px; --title-1-weight: 700;
  --title-2-size: 22px; --title-2-lh: 28px; --title-2-weight: 700;
  --title-3-size: 20px; --title-3-lh: 25px; --title-3-weight: 600;
  --headline-size: 17px; --headline-lh: 22px; --headline-weight: 600;
  --body-size: 17px; --body-lh: 22px; --body-weight: 400;
  --callout-size: 16px; --callout-lh: 21px; --callout-weight: 400;
  --subheadline-size: 15px; --subheadline-lh: 20px; --subheadline-weight: 400;
  --footnote-size: 13px; --footnote-lh: 18px; --footnote-weight: 400;
  --caption-1-size: 12px; --caption-1-lh: 16px; --caption-1-weight: 400;
  --caption-2-size: 11px; --caption-2-lh: 13px; --caption-2-weight: 400;
  --total-size: 40px; --total-lh: 46px; --total-weight: 600;
  --track-tight: -0.02em;
  --numeric: tabular-nums;
}

:root {
  --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;
  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 22px;
  --radius-sheet: 38px;
  --radius-full: 999px;
  --hit-min: 44px;
  --row-min: 60px;
  --thumb: 44px;
  --tabbar: 83px;
  --navbar: 44px;
  --web-control-font: 16px;
  --shadow-popover: 0 8px 28px rgb(0 0 0 / 0.14), 0 1px 3px rgb(0 0 0 / 0.08);
  --shadow-sheet: 0 -6px 32px rgb(0 0 0 / 0.16);
  --material-bar: color-mix(in srgb, var(--bg-elevated) 82%, transparent);
}

:root {
  --dur-fast: 150ms;
  --dur-base: 250ms;
  --dur-slow: 350ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(0.3, 0, 0, 1.15);
}
@media (prefers-reduced-motion: reduce) { :root { --dur-fast: 0ms; --dur-base: 0ms; --dur-slow: 0ms; } }

