/* Doppia — generated from tokens.json */
@font-face { font-family: Manrope; font-weight: 400; font-display: swap; src: url("fonts/manrope-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: Manrope; font-weight: 500; font-display: swap; src: url("fonts/manrope-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: Manrope; font-weight: 600; font-display: swap; src: url("fonts/manrope-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "DM Mono"; font-weight: 400; font-display: swap; src: url("fonts/dm-mono-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "DM Mono"; font-weight: 500; font-display: swap; src: url("fonts/dm-mono-latin-500-normal.woff2") format("woff2"); }

:root {
  --ink: #173f37; --mint: #c9f05a; --paper: #f4f1e8; --cobalt: #4359ee; --white: #ffffff;
  --surface: var(--paper); --surface-raised: var(--white); --surface-inverse: var(--ink);
  --on-inverse: var(--paper); --on-inverse-muted: #f4f1e8a6; --accent: var(--mint); --on-accent: var(--ink);
  --signal: var(--cobalt); --on-signal: var(--white); --line: var(--border-strong);
  --surface-sunken: #e5e5dc; --surface-hover: #f9f7f2;
  --text: var(--ink); --text-muted: #48665e; --text-disabled: #a0ada5;
  --border: #c8cdc5; --border-strong: var(--ink);
  --primary: var(--ink); --on-primary: var(--paper); --primary-hover: #0f2e28; --primary-soft: #eaf9c0;
  --link: var(--cobalt); --focus: var(--cobalt);
  --success: #0e6b4e; --success-soft: #e1f2ea; --warning: #7a4f00; --warning-soft: #fcefcf;
  --danger: #b3261e; --danger-soft: #fce8e6; --info: var(--cobalt); --info-soft: #eceefd;
  --scrim: #173f372e;
  --space-4: 4px; --space-8: 8px; --space-12: 12px; --space-16: 16px; --space-20: 20px; --space-24: 24px;
  --space-28: 28px; --space-32: 32px; --space-40: 40px; --space-48: 48px; --space-64: 64px; --space-80: 80px; --space-112: 112px;
  --radius-sm: 3px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-device: 17.6px; --radius-pill: 9999px;
  --border-hairline: 1px;
  --control: 40px; --nav-height: 88px; --sidebar-width: 220px; --page-width: 1280px; --content-width: 1152px;
  --field-height: 36px; --row-compact: 32px; --row-default: 40px; --row-comfortable: 52px;
  --panel-width: 440px; --sidebar-app: 240px; --rail-width: 56px; --jobbar-height: 36px;
  --shadow-device: 0 30px 80px #173f3724; --shadow-overlay: 0 8px 24px #173f3729;
  --font-sans: Manrope, ui-sans-serif, system-ui, sans-serif;
  --font-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --surface: #0d211d; --surface-raised: #12312b; --signal: #a3b4ff; --on-signal: var(--ink);
    --surface-sunken: #0a1a17; --surface-hover: #173a33;
    --text: var(--paper); --text-muted: #b5bbb3; --text-disabled: #61746d;
    --border: #365049; --border-strong: #86a39a;
    --primary: var(--mint); --on-primary: var(--ink); --primary-hover: #dbf68c; --primary-soft: #2f5033;
    --link: #a3b4ff; --focus: #a3b4ff;
    --success: #5fcb9b; --success-soft: #10291f; --warning: #f0b955; --warning-soft: #2d2410;
    --danger: #ff8f85; --danger-soft: #331816; --info: #a3b4ff; --info-soft: #161f45;
    --scrim: #000000b3; --shadow-overlay: 0 8px 24px #00000099;
  }
}

.display { font-family: var(--font-sans); font-size: 128px; line-height: 0.79; font-weight: 600; letter-spacing: -0.075em; }
.heading-1 { font-family: var(--font-sans); font-size: 60px; line-height: 1.03; font-weight: 500; letter-spacing: -0.045em; }
.heading-2 { font-family: var(--font-sans); font-size: 48px; line-height: 1; font-weight: 500; letter-spacing: -0.045em; }
.statement { font-family: var(--font-sans); font-size: 36px; line-height: 1.25; font-weight: 500; letter-spacing: -0.04em; }
.statement-sm { font-family: var(--font-sans); font-size: 30px; line-height: 1.2; font-weight: 500; letter-spacing: -0.045em; }
.heading-3 { font-family: var(--font-sans); font-size: 24px; line-height: 1.333; font-weight: 500; letter-spacing: -0.03em; }
.stat { font-family: var(--font-sans); font-size: 24px; line-height: 1.333; font-weight: 600; letter-spacing: -0.04em; }
.wordmark { font-family: var(--font-sans); font-size: 26.4px; line-height: 1.5; font-weight: 600; letter-spacing: -0.055em; }
.lead { font-family: var(--font-sans); font-size: 18px; line-height: 1.625; font-weight: 400; }
.body-lg { font-family: var(--font-sans); font-size: 16px; line-height: 1.625; font-weight: 400; }
.heading-sm { font-family: var(--font-sans); font-size: 16px; line-height: 1.5; font-weight: 500; }
.body { font-family: var(--font-sans); font-size: 14px; line-height: 1.625; font-weight: 400; }
.nav { font-family: var(--font-sans); font-size: 14px; line-height: 1.4286; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 12px; line-height: 1.333; font-weight: 400; }
.label-strong { font-family: var(--font-sans); font-size: 12px; line-height: 1.333; font-weight: 600; }
.caption { font-family: var(--font-sans); font-size: 10.4px; line-height: 1.5; font-weight: 400; }
.ui { font-family: var(--font-sans); font-size: 14px; line-height: 1.4286; font-weight: 400; }
.ui-medium { font-family: var(--font-sans); font-size: 14px; line-height: 1.4286; font-weight: 500; }
.field-label { font-family: var(--font-sans); font-size: 13px; line-height: 1.2308; font-weight: 500; }
.hint { font-family: var(--font-sans); font-size: 13px; line-height: 1.3846; font-weight: 400; }
.figure { font-family: var(--font-sans); font-size: 14px; line-height: 1.4286; font-weight: 500; }
.figure-strong { font-family: var(--font-sans); font-size: 16px; line-height: 1.5; font-weight: 600; }
.figure-display { font-family: var(--font-sans); font-size: 32px; line-height: 1.25; font-weight: 600; letter-spacing: -0.04em; }
.eyebrow { font-family: var(--font-mono); font-size: 10.4px; line-height: 1.5; font-weight: 400; letter-spacing: 0.18em; }
.mono-md { font-family: var(--font-mono); font-size: 12px; line-height: 1.333; font-weight: 500; letter-spacing: 0.14em; }
.mono-note { font-family: var(--font-mono); font-size: 10.88px; line-height: 1.625; font-weight: 400; letter-spacing: 0.13em; }
.mono-sm { font-family: var(--font-mono); font-size: 9.92px; line-height: 1.5; font-weight: 400; letter-spacing: 0.12em; }
.mono-xs { font-family: var(--font-mono); font-size: 9.6px; line-height: 1.5; font-weight: 400; letter-spacing: 0.12em; }
.mono-date { font-family: var(--font-mono); font-size: 9.92px; line-height: 1.5; font-weight: 400; letter-spacing: 0.14em; }
.mono-value { font-family: var(--font-mono); font-size: 12px; line-height: 1.333; font-weight: 400; }
.mono-delta { font-family: var(--font-mono); font-size: 9.92px; line-height: 1.5; font-weight: 400; }
.code { font-family: var(--font-mono); font-size: 13px; line-height: 1.5385; font-weight: 400; }
