/* Soft Pulse — generated from tokens.json */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@500;700;800&family=Instrument+Sans:wght@400;500;600&display=swap');

:root, [data-theme="light"] {
  --canvas: #fbf6ec;
  --surface: #ffffff;
  --surface-sunken: #f2e9d8;
  --ink: #231f1a;
  --ink-muted: #5e564b;
  --line: #e2d6bf;
  --brand: #123d2e;
  --on-brand: #fbf6ec;
  --sun: #ffc83d;
  --coral: #ff7a59;
  --lilac: #cfc3ff;
  --mint: #bfe8cf;
  --on-accent: #231f1a;
  --ring-move: #d6471f;
  --ring-sleep: #5b3fc4;
  --ring-recovery: #1b6b45;
  --ring-mind: #8f6100;
  --success: #1f7a4d;
  --warning: #8f5500;
  --danger: #c2352b;
  --info: #2563a8;
  --focus: #0b57d0;
  color-scheme: light;
}

[data-theme="dark"] {
  --canvas: #17130f;
  --surface: #221d17;
  --surface-sunken: #100d0a;
  --ink: #f6efe3;
  --ink-muted: #b9ad9b;
  --line: #3b3329;
  --brand: #7fd6a5;
  --on-brand: #0f2a1f;
  --sun: #ffc83d;
  --coral: #ff8f72;
  --lilac: #b7a8ff;
  --mint: #2c5a44;
  --on-accent: #17130f;
  --ring-move: #ff8f72;
  --ring-sleep: #b7a8ff;
  --ring-recovery: #6fd6a0;
  --ring-mind: #ffc83d;
  --success: #5fd199;
  --warning: #ffc24a;
  --danger: #ff7a6e;
  --info: #7db8ff;
  --focus: #8ec1ff;
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --canvas: #17130f;
    --surface: #221d17;
    --surface-sunken: #100d0a;
    --ink: #f6efe3;
    --ink-muted: #b9ad9b;
    --line: #3b3329;
    --brand: #7fd6a5;
    --on-brand: #0f2a1f;
    --sun: #ffc83d;
    --coral: #ff8f72;
    --lilac: #b7a8ff;
    --mint: #2c5a44;
    --on-accent: #17130f;
    --ring-move: #ff8f72;
    --ring-sleep: #b7a8ff;
    --ring-recovery: #6fd6a0;
    --ring-mind: #ffc83d;
    --success: #5fd199;
    --warning: #ffc24a;
    --danger: #ff7a6e;
    --info: #7db8ff;
    --focus: #8ec1ff;
    color-scheme: dark;
  }
}

:root {
  --font-display: "Bricolage Grotesque", "Instrument Sans", system-ui, sans-serif;
  --font-sans: "Instrument Sans", system-ui, sans-serif;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 28px;
  --radius-pill: 999px;
  --radius-round: 50%;
}

.display-xl { font-family: var(--font-display); font-size: 64px; line-height: 60px; font-weight: 700; letter-spacing: -0.02em; }
.display-lg { font-family: var(--font-display); font-size: 44px; line-height: 46px; font-weight: 700; letter-spacing: -0.015em; }
.display-md { font-family: var(--font-display); font-size: 32px; line-height: 36px; font-weight: 700; letter-spacing: -0.01em; }
.score-xl { font-family: var(--font-display); font-size: 96px; line-height: 88px; font-weight: 800; letter-spacing: -0.03em; }
.score-md { font-family: var(--font-display); font-size: 48px; line-height: 48px; font-weight: 800; letter-spacing: -0.02em; }
.title { font-family: var(--font-sans); font-size: 22px; line-height: 28px; font-weight: 600; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }
.body-sm { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 14px; line-height: 16px; font-weight: 600; }
.caption { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: 0.04em; }

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