
:root {
  --cs-bg: #FAFAFA;
  --cs-surface: #FFFFFF;
  --cs-surface-2: #F3F4F6;
  --bg-nav-blur: rgba(250, 250, 250, 0.88);
  --cs-bg-clear: rgba(250, 250, 250, 0);
  --cs-surface-blur: rgba(255, 255, 255, 0.92);
  --cs-border: #E5E7EB;
  --cs-border-strong: #D1D5DB;
  --cs-ink: #0F172A;
  --cs-ink-2: #4B5563;
  --cs-ink-3: #6B7280;
  --cs-ink-secondary: var(--cs-ink-2);
  --cs-ink-muted: var(--cs-ink-3);
  --cs-ink-hover: rgba(15, 23, 42, 0.30);
  --cs-ink-focus: rgba(15, 23, 42, 0.20);
  --cs-ink-spinner: rgba(15, 23, 42, 0.15);
  --cs-white-spinner: rgba(255, 255, 255, 0.35);
  --cs-white-border: rgba(255, 255, 255, 0.25);
  --cs-white-subtle: rgba(255, 255, 255, 0.14);
  --cs-white-muted: rgba(255, 255, 255, 0.60);
  --cs-white-dim: rgba(255, 255, 255, 0.45);
  --ink-inverse: #FFFFFF;
  --cs-ink-inverse: var(--ink-inverse);
  --cs-accent: #0F5338;
  --cs-accent-hover: #0B3E2A;
  --cs-accent-soft: #ECFDF5;
  --cs-accent-border: #A7F3D0;
  --cs-pending-border: rgba(15, 83, 56, 0.30);
  --brand-teal-rgb: 15, 83, 56;
  --brand-dot: #15803D;
  --cs-amber: #B45309;
  --cs-amber-soft: #FFFBEB;
  --cs-amber-border: #FDE68A;
  --cs-danger: #B91C1C;
  --cs-danger-soft: #FEF2F2;
  --cs-danger-border: #FCA5A5;
  --scrim: rgba(15, 23, 42, 0.40);
  --scrim-strong: rgba(15, 23, 42, 0.88);
  --cs-scrim-count: rgba(15, 23, 42, 0.72);
  --cs-scrim-nav: rgba(15, 23, 42, 0.60);
  --cs-lightbox-stage: #334155;
  --cs-lightbox-thumb: #1E293B;
  --tone-action-bg: #FFFBEB;
  --tone-action-border: #FDE68A;
  --tone-action-badge: #FEF3C7;
  --tone-action-dot: #D97706;
  --tone-action-text: #B45309;
  --tone-action-ink: #92400E;
  --tone-advice-bg: #F0F9FF;
  --tone-advice-border: #BAE6FD;
  --tone-advice-badge: #E0F2FE;
  --tone-advice-ink: #0369A1;
  --tone-advice-ink-strong: #075985;
  --tone-positive-bg: #ECFDF5;
  --tone-positive-border: #A7F3D0;
  --tone-positive-badge: #D1FAE5;
  --tone-positive-fill: #059669;
  --tone-positive-text: #047857;
  --tone-positive-ink: #065F46;
  --tone-danger-bg: #FEF2F2;
  --tone-danger-border: #FECACA;
  --tone-danger-ink: #B91C1C;
  --tone-band-bg: #F9FAFB;
  --tone-chrome-bg: var(--cs-surface);
  --tone-bg: var(--cs-surface);
  --tone-border: var(--cs-border);
  --tone-ink: var(--cs-ink);
  --bg-canvas: var(--cs-bg);
  --bg-surface: var(--cs-surface);
  --bg-subtle: var(--cs-surface-2);
  --bg-elevated: var(--cs-surface);
  --page-bg: var(--cs-bg);
  --surface: var(--cs-surface);
  --border: var(--cs-border);
  --border-hairline: 1px solid var(--cs-border);
  --border-strong: 1px solid var(--cs-border-strong);
  --border-focus: 1px solid var(--brand);
  --focus-ring: 0 0 0 3px var(--cs-accent-soft);
  --ink-primary: var(--cs-ink);
  --ink-secondary: var(--cs-ink-2);
  --ink-muted: var(--cs-ink-3);
  --text: var(--cs-ink);
  --text-secondary: var(--cs-ink-2);
  --text-muted: var(--cs-ink-3);
  --brand: var(--cs-accent);
  --brand-hover: var(--cs-accent-hover);
  --brand-soft: var(--cs-accent-soft);
  --primary: var(--cs-accent);
  --primary-dark: var(--cs-accent-hover);
  --primary-soft: var(--cs-accent-soft);
  --amber: var(--cs-amber);
  --danger: var(--cs-danger);
  --shadow-ambient: 0 2px 12px rgba(15, 23, 42, 0.04);
  --shadow-float: 0 12px 40px -12px rgba(15, 23, 42, 0.12);
  --shadow-modal: 0 24px 64px -16px rgba(15, 23, 42, 0.22);
  --shadow-thumb: 0 1px 2px rgba(15, 23, 42, 0.20);
  --cs-map-bg: #EEF2F3;
  --cs-map-water: #DCE6EC;
  --cs-map-land: #F6F7F8;
  --cs-map-park: #E6EFE9;
  --cs-map-road: #FFFFFF;
  --cs-map-stroke: #D5DCE2;
  --cs-map-block: #ECEEF0;
  --cs-pin-halo: rgba(15, 83, 56, 0.18);
  --cs-heat-1: rgba(15, 83, 56, 0.08);
  --cs-heat-2: rgba(15, 83, 56, 0.16);
  --cs-heat-3: rgba(15, 83, 56, 0.28);
  --cs-heat-4: rgba(15, 83, 56, 0.42);
  --r-xs: 6px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-sheet: 20px;
  --r-pill: 999px;
  --font: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600;
  --fs-12: 12.5px; --fs-13: 13.5px; --fs-14: 14.5px; --fs-15: 15px; --fs-17: 17px; --fs-20: 20px; --fs-24: 24px; --fs-28: 28px; --fs-32: 32px; --fs-36: 36px; --fs-46: 46px; --fs-60: 60px;
  --lh-tight: 1.1; --lh-snug: 1.2; --lh-body: 1.55;
  --ls-display: -.03em; --ls-h1: -.025em; --ls-h2: -.02em; --ls-h3: -.015em; --ls-eyebrow: .06em;
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px; --sp-6: 24px; --sp-7: 28px; --sp-8: 32px; --sp-10: 40px; --sp-11: 44px; --sp-14: 56px; --sp-16: 64px;
  --space-lg: var(--sp-6);
  --control-h: 44px; --control-h-sm: 36px; --control-h-lg: 50px; --control-h-console: 36px; --control-h-console-sm: 30px;
  --hit-min: 44px;
  --cs-nav-h: 60px; --cs-console-nav-h: 52px; --cs-scroll-offset: 84px;
  --page-narrow: 760px; --page-wide: 1120px; --page-console: 1440px; --gutter: 44px; --gutter-m: 20px; --gutter-content: 24px;
  --drawer-w: 560px; --drawer-w-console: 640px; --modal-w: 560px; --modal-w-sm: 440px;
  --z-base: 1; --z-elevated: 2; --z-top: 3; --z-local: 5; --z-raised: 10; --z-float: 20;
  --z-drawer-backdrop: 40; --z-drawer: 41; --z-popover: 50; --z-sticky: 100; --z-header: 200;
  --z-dropdown: 1000; --z-modal-backdrop: 9000; --z-modal: 9100; --z-cmd: 11000;
  --z-sheet: 99999; --z-confirm: 100010; --z-toast: 100020;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --dur-fast: 150ms; --dur-base: 200ms; --dur-slow: 300ms;
  --bp-phone: 480px; --bp-tablet: 760px; --bp-nav: 1040px; --bp-console-collapse: 1180px;
}
[data-tone="action"]   { --tone-bg: var(--tone-action-bg);   --tone-border: var(--tone-action-border);   --tone-ink: var(--tone-action-ink); }
[data-tone="advice"]   { --tone-bg: var(--tone-advice-bg);   --tone-border: var(--tone-advice-border);   --tone-ink: var(--tone-advice-ink); }
[data-tone="positive"] { --tone-bg: var(--tone-positive-bg); --tone-border: var(--tone-positive-border); --tone-ink: var(--tone-positive-ink); }
[data-tone="danger"]   { --tone-bg: var(--tone-danger-bg);   --tone-border: var(--tone-danger-border);   --tone-ink: var(--tone-danger-ink); }
[data-tone="none"]     { --tone-bg: var(--cs-surface);       --tone-border: var(--cs-border);            --tone-ink: var(--cs-ink); }
