/* TopoRush VI 2.0 | v1 block below preserved byte-for-byte. */
:root{
 --brand-amber:#f2a24a;--brand-ink:#131719;--brand-paper:#f4f3ec;
 --ink-primary:#203029;--ink-secondary:#536457;--ink-on-dark:#f4f3ec;--muted-on-dark:#b1beb8;
 --accent-sage:#718d79;--accent-blue:#648c9b;--line-light:#ccd4c7;--line-dark:#ffffff25;
 --font-ui:"Segoe UI","Microsoft YaHei",sans-serif;
 --text-note:12px;--text-body:15px;--text-lead:17px;--text-card:24px;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;
 --radius-control:8px;--radius-panel:14px;
}

/* Primitives: raw palette is not a foreground role. Never use amber as body text on paper. */
:root {
  --font-system: "Segoe UI", "Microsoft YaHei", "PingFang SC", "PingFang", sans-serif;
  --neutral-100: #fafbf7;
  --neutral-200: #f0f3ed;
  --neutral-300: #e2e8dd;
  --neutral-400: #c7d0c1;
  --neutral-500: #a6b39e;
  --neutral-600: #7c8b74;
  --neutral-700: #59694f;
  --neutral-800: #3d5036;
  --neutral-900: #283b24;
  --neutral-1000: #152318;
  --font-size-12: 12px;
  --font-size-13: 13px;
  --font-size-15: 15px;
  --font-size-17: 17px;
  --font-size-20: 20px;
  --font-size-24: 24px;
  --font-size-32: 32px;
  --font-size-44: 44px;
  --line-height-12: 20px;
  --line-height-13: 20px;
  --line-height-15: 24px;
  --line-height-17: 28px;
  --line-height-20: 28px;
  --line-height-24: 32px;
  --line-height-32: 40px;
  --line-height-44: 56px;
  --space-5: 20px;
  --space-7: 28px;
  --space-9: 36px;
  --space-10: 40px;
  --space-11: 44px;
  --space-14: 56px;
  --space-18: 72px;
  --space-20: 80px;
  --space-24: 96px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-round: 999px;
  --focus-width: 3px;
  --focus-offset: 3px;
  --focus-ring: var(--focus-width) solid var(--focus);
  --z-base: 0;
  --z-sticky: 10;
  --z-dropdown: 20;
  --z-overlay: 30;
  --z-dialog: 40;
  --z-toast: 50;
  --z-skip: 60;
  --motion-fast: 160ms;
  --motion-state: 240ms;
  --ease-enter: cubic-bezier(0.2, 0, 0, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --breakpoint-xs: 390px;
  --breakpoint-sm: 768px;
  --breakpoint-md: 1024px;
  --breakpoint-lg: 1280px;
  --breakpoint-xl: 1440px;
}
/* THEME light: all --fg-* × --bg-* are body-safe; icon/focus roles use 3:1. */
:root, [data-theme="light"] {
  color-scheme: light;
  --bg-canvas: #f4f3ec;
  --bg-surface: #ffffff;
  --bg-subtle: #edf0e9;
  --bg-hover: #e7ebe2;
  --bg-active: #dce3d7;
  --bg-success: #e6f2e9;
  --bg-warning: #fff0d7;
  --bg-danger: #fbe9e5;
  --bg-pending: #f0ebf7;
  --bg-info: #e5eff6;
  --fg-primary: #203029;
  --fg-secondary: #485649;
  --fg-disabled: #4b594d;
  --fg-success: #205c38;
  --fg-warning: #724309;
  --fg-danger: #8b3029;
  --fg-pending: #614082;
  --fg-info: #215574;
  --fg-link: #215574;
  --icon-primary: #485649;
  --border: #c7d0c1;
  --border-control: #75816f;
  --focus: #80500d;
  --action-primary: #f2a24a;
  --action-primary-hover: #f8b76f;
  --action-primary-pressed: #dd9038;
  --on-primary: #131719;
  --action-danger: #943b33;
  --action-danger-hover: #7f302a;
  --action-danger-pressed: #6b2924;
  --on-danger: #ffffff;
  --action-dark: #263a31;
  --action-dark-hover: #304b3d;
  --action-dark-pressed: #1d2d25;
  --on-dark: #f4f3ec;
  --inverse-bg: #1b241f;
  --inverse-fg: #f4f3ec;
  --inverse-muted: #bcc9bf;
  --shadow-1: 0 2px 4px #1422190a;
  --shadow-2: 0 8px 24px #14221914;
  --shadow-3: 0 20px 56px #1422192e;
  --overlay: #13171999;
  --logo-light: inline-block;
  --logo-dark: none;
}
/* THEME dark: explicit preference wins over the OS. */
[data-theme="dark"] {
  color-scheme: dark;
  --bg-canvas: #131719;
  --bg-surface: #1b2420;
  --bg-subtle: #242e27;
  --bg-hover: #2b372e;
  --bg-active: #344236;
  --bg-success: #193c29;
  --bg-warning: #42321b;
  --bg-danger: #442825;
  --bg-pending: #342b44;
  --bg-info: #213644;
  --fg-primary: #f4f3ec;
  --fg-secondary: #c1cec4;
  --fg-disabled: #bac9bf;
  --fg-success: #a6e4b8;
  --fg-warning: #f6cc84;
  --fg-danger: #ffc0b4;
  --fg-pending: #dcc0f7;
  --fg-info: #b5dcf5;
  --fg-link: #b5dcf5;
  --icon-primary: #c1cec4;
  --border: #47594c;
  --border-control: #93a68f;
  --focus: #f2a24a;
  --action-primary: #f2a24a;
  --action-primary-hover: #f8b76f;
  --action-primary-pressed: #dd9038;
  --on-primary: #131719;
  --action-danger: #ffb4a6;
  --action-danger-hover: #ffc3b8;
  --action-danger-pressed: #f69b8b;
  --on-danger: #351713;
  --action-dark: #c3d5c6;
  --action-dark-hover: #d2e2d4;
  --action-dark-pressed: #b1c7b5;
  --on-dark: #18251c;
  --inverse-bg: #e9eee5;
  --inverse-fg: #203029;
  --inverse-muted: #485649;
  --shadow-1: 0 2px 4px #00000033;
  --shadow-2: 0 8px 24px #0000004d;
  --shadow-3: 0 20px 56px #00000066;
  --overlay: #080c0dcc;
  --logo-light: none;
  --logo-dark: inline-block;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]), [data-theme="system"] {
    color-scheme: dark;
  --bg-canvas: #131719;
  --bg-surface: #1b2420;
  --bg-subtle: #242e27;
  --bg-hover: #2b372e;
  --bg-active: #344236;
  --bg-success: #193c29;
  --bg-warning: #42321b;
  --bg-danger: #442825;
  --bg-pending: #342b44;
  --bg-info: #213644;
  --fg-primary: #f4f3ec;
  --fg-secondary: #c1cec4;
  --fg-disabled: #bac9bf;
  --fg-success: #a6e4b8;
  --fg-warning: #f6cc84;
  --fg-danger: #ffc0b4;
  --fg-pending: #dcc0f7;
  --fg-info: #b5dcf5;
  --fg-link: #b5dcf5;
  --icon-primary: #c1cec4;
  --border: #47594c;
  --border-control: #93a68f;
  --focus: #f2a24a;
  --action-primary: #f2a24a;
  --action-primary-hover: #f8b76f;
  --action-primary-pressed: #dd9038;
  --on-primary: #131719;
  --action-danger: #ffb4a6;
  --action-danger-hover: #ffc3b8;
  --action-danger-pressed: #f69b8b;
  --on-danger: #351713;
  --action-dark: #c3d5c6;
  --action-dark-hover: #d2e2d4;
  --action-dark-pressed: #b1c7b5;
  --on-dark: #18251c;
  --inverse-bg: #e9eee5;
  --inverse-fg: #203029;
  --inverse-muted: #485649;
  --shadow-1: 0 2px 4px #00000033;
  --shadow-2: 0 8px 24px #0000004d;
  --shadow-3: 0 20px 56px #00000066;
  --overlay: #080c0dcc;
  --logo-light: none;
  --logo-dark: inline-block;
  }
}
