/* Application foundation: shared tokens, layout and component primitives. */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("./fonts/InterVariable-latin.7dd2afdcf143.woff2") format("woff2");
  unicode-range: U+0000-024F, U+0300-036F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F, U+2190-2199, U+2212;
}
/* Share combining accents so extended-script clusters keep their original shaping. */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("./fonts/InterVariable-extended.6ba9e7bcdfad.woff2") format("woff2");
  unicode-range: U+0250-1DFF, U+1F00-1FFF, U+2070-209F, U+20D0-20FF, U+2150-218F, U+219A-2211, U+2213-10FFFF;
}
:root {
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --mobile-topbar-height: calc(64px + var(--safe-top));
  color-scheme: light;
  /* Horizon design tokens. Feature styles consume these aliases instead of
     introducing page-specific colours, radii or control measurements. */
  --ui-canvas: #f7f7f5;
  --ui-panel: #ffffff;
  --ui-surface-soft: #f5f5f5;
  --ui-surface-hover: #f5f5f5;
  --ui-ink: #171717;
  --ui-copy: #262626;
  --ui-muted: #6b6b6b;
  --ui-line: #e5e5e5;
  --ui-line-strong: #d4d4d4;
  --ui-forest: #176b50;
  --ui-forest-strong: #115440;
  --ui-forest-soft: #e7f1ed;
  --ui-danger: #a43f37;
  --ui-danger-soft: #fff0ee;
  --ui-warning: #8a5a12;
  --ui-warning-soft: #fff3d9;
  --ui-info: #365f84;
  --ui-info-soft: #edf4fa;
  --ui-font-sans: Inter, "Segoe UI Variable", "Segoe UI", "Microsoft YaHei UI", system-ui, -apple-system, sans-serif;
  --ui-font-mono: "Geist Mono", "Cascadia Code", "SFMono-Regular", Consolas, monospace;
  --wa-font-family-body: var(--ui-font-sans);
  --wa-font-family-heading: var(--ui-font-sans);
  --wa-font-family-code: var(--ui-font-mono);
  --ui-text-micro: 11px;
  --ui-text-caption: 12px;
  --ui-text-body: 14px;
  --ui-text-body-lg: 16px;
  --ui-text-subheading: 20px;
  --ui-text-heading-sm: 24px;
  --ui-text-heading: 30px;
  --ui-text-heading-lg: 36px;
  --ui-text-display: 48px;
  --ui-radius-input: 6px;
  --ui-radius-button: 8px;
  --ui-radius-card: 12px;
  --ui-radius-large: 16px;
  --ui-radius-pill: 9999px;
  /* Compatibility aliases. New work uses the semantic radius tokens above. */
  --ui-radius-xs: var(--ui-radius-input);
  --ui-radius-sm: var(--ui-radius-input);
  --ui-radius-md: var(--ui-radius-button);
  --ui-radius-lg: var(--ui-radius-card);
  --ui-control-compact: 32px;
  --ui-control-default: 40px;
  --ui-control-large: 44px;
  --ui-space-1: 4px;
  --ui-space-2: 8px;
  --ui-space-3: 12px;
  --ui-space-4: 16px;
  --ui-space-5: 20px;
  --ui-space-6: 24px;
  --ui-space-8: 32px;
  --ui-space-10: 40px;
  --ui-space-12: 48px;
  --ui-space-16: 64px;
  --ui-space-20: 80px;
  --ui-space-24: 96px;
  --ui-shadow-subtle: 0 1px 2px rgba(0,0,0,.05);
  --ui-shadow-overlay: 0 22px 64px rgba(18,31,47,.20);
  --ui-focus-ring: 0 0 0 3px rgba(23,107,80,.14);
  --ui-content-max: 1480px;
  --forest-950: #082d24;
  --forest-900: #0b3b2e;
  --forest-800: #115440;
  --forest-700: #176b50;
  --forest-100: #dcece6;
  --sage-50: #f4f7f5;
  --sage-100: #e9efec;
  --line: var(--ui-line);
  --border: var(--line);
  --ink: var(--ui-ink);
  --muted: var(--ui-muted);
  --surface: var(--ui-panel);
  --canvas: var(--ui-canvas);
  --danger: var(--ui-danger);
  --warning: var(--ui-warning);
  --sidebar: 196px;
  font-family: var(--ui-font-sans);
  color: var(--ink);
  background: var(--canvas);
}
