/* Sextant — generated from tokens.json (aliases resolved per theme) */
@font-face { font-family: "Onest"; src: url("fonts/Onest-Variable.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("fonts/JetBrainsMono-Variable.woff2") format("woff2"); font-weight: 100 800; font-style: normal; font-display: swap; }
:root {
  --font-sans: "Onest", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --space-0: 0px; --space-half: 2px; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px;
  --radius-none: 0px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-full: 9999px;
  --control-sm: 24px; --control-md: 28px; --control-lg: 32px; --control-xl: 40px; --row-compact: 28px; --row-default: 36px; --row-spacious: 44px;
  --icon-sm: 14px; --icon-md: 16px; --icon-lg: 20px; --target-min: 24px; --target-touch: 44px;
  --sidebar-width: 240px; --sidebar-width-collapsed: 52px; --content-max: 1200px; --reading-max: 720px;
  --dialog-sm: 400px; --dialog-md: 560px; --dialog-lg: 760px; --drawer-width: 480px;
  --border-hairline: 1px; --border-thick: 2px;
  --z-base: 0; --z-sticky: 100; --z-sidebar: 200; --z-dropdown: 1000; --z-overlay: 1100; --z-modal: 1200; --z-toast: 1300; --z-tooltip: 1400;
  --duration-instant: 0ms; --duration-fast: 100ms; --duration-standard: 160ms; --duration-complex: 240ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1); --ease-enter: cubic-bezier(0, 0, 0.2, 1); --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --opacity-disabled-media: 0.5;
}
:root, [data-theme="light"] {
  --surface-base: #f5f7fa; --surface-default: #ffffff; --surface-subtle: #f5f7fa; --surface-raised: #ffffff; --surface-inverse: #1e2026; --surface-hover: rgba(18, 20, 28, 0.04); --surface-active: rgba(18, 20, 28, 0.07); --surface-selected: #f1f6ff; --surface-disabled: #eff0f5; --overlay-scrim: rgba(10, 13, 18, 0.40);
  --text-primary: #14161b; --text-secondary: #55575b; --text-tertiary: #6e7075; --text-disabled: #aeafb3; --text-inverse: #fafbfd; --text-on-accent: #ffffff; --text-on-danger: #ffffff;
  --border-subtle: #e8e9ee; --border-default: #e0e2e6; --border-strong: #d0d1d6; --border-control: #82858a; --border-control-hover: #6e7075; --border-focus: #2768e8;
  --accent: #2768e8; --accent-hover: #1850c0; --accent-active: #153e90; --accent-text: #2768e8; --accent-subtle: #f1f6ff; --accent-border: #a2c3fe;
  --success-solid: #008a45; --success-text: #046d36; --success-subtle: #ebfaef; --success-border: #b8eac4;
  --warning-solid: #a96801; --warning-text: #875301; --warning-subtle: #fef4e9; --warning-border: #ffd2a4;
  --danger-solid: #d02526; --danger-text: #aa0e15; --danger-subtle: #fef3f1; --danger-border: #ffcec8; --danger-hover: #aa0e15;
  --info-solid: #098099; --info-text: #05667a; --info-subtle: #e9f9fe; --info-border: #afe6f6;
  --progress-solid: #864fcf; --progress-text: #6c3baa; --progress-subtle: #f7f4fe; --progress-border: #e1d3ff;
  --text-link: #2768e8; --control-bg: #ffffff; --control-bg-hover: #ffffff; --button-secondary-bg: #ffffff; --switch-track-off: #82858a; --switch-thumb: #ffffff; --nav-item-active-bg: rgba(18, 20, 28, 0.07); --tooltip-bg: #1e2026; --tooltip-text: #fafbfd; --kbd-bg: #f5f7fa; --kbd-text: #55575b; --table-header-bg: #f5f7fa; --table-row-selected: #f1f6ff; --skeleton-bg: #eff0f5; --avatar-bg: #e8e9ee;
  --shadow-none: none; --shadow-sm: 0 1px 2px rgba(17, 20, 28, 0.06); --shadow-md: 0 4px 12px -2px rgba(17, 20, 28, 0.10), 0 1px 3px rgba(17, 20, 28, 0.06); --shadow-lg: 0 16px 40px -8px rgba(17, 20, 28, 0.18), 0 2px 6px rgba(17, 20, 28, 0.06); --shadow-focus: 0 0 0 2px #ffffff, 0 0 0 4px #2768e8;
}
[data-theme="dark"] {
  --surface-base: #0f1117; --surface-default: #14161b; --surface-subtle: #191b20; --surface-raised: #1e2026; --surface-inverse: #eff0f5; --surface-hover: rgba(255, 255, 255, 0.05); --surface-active: rgba(255, 255, 255, 0.08); --surface-selected: #0f1f3d; --surface-disabled: #1e2026; --overlay-scrim: rgba(0, 0, 0, 0.64);
  --text-primary: #f5f7fa; --text-secondary: #d0d1d6; --text-tertiary: #aeafb3; --text-disabled: #55575b; --text-inverse: #14161b; --text-on-accent: #ffffff; --text-on-danger: #ffffff;
  --border-subtle: #282a30; --border-default: #35373b; --border-strong: #44464b; --border-control: #6e7075; --border-control-hover: #82858a; --border-focus: #75a5fe;
  --accent: #2768e8; --accent-hover: #1850c0; --accent-active: #153e90; --accent-text: #a2c3fe; --accent-subtle: #0f1f3d; --accent-border: #153e90;
  --success-solid: #1aa557; --success-text: #89d89f; --success-subtle: #0c2715; --success-border: #015428;
  --warning-solid: #eb9725; --warning-text: #f5b46a; --warning-subtle: #352005; --warning-border: #694002;
  --danger-solid: #d02526; --danger-text: #ffa99e; --danger-subtle: #391310; --danger-border: #811314; --danger-hover: #aa0e15;
  --info-solid: #019bb8; --info-text: #7ad1ea; --info-subtle: #05252d; --info-border: #034e5d;
  --progress-solid: #9e69eb; --progress-text: #cdb3ff; --progress-subtle: #251937; --progress-border: #512e80;
  --text-link: #a2c3fe; --control-bg: #191b20; --control-bg-hover: #1e2026; --button-secondary-bg: #1e2026; --switch-track-off: #6e7075; --switch-thumb: #ffffff; --nav-item-active-bg: rgba(255, 255, 255, 0.08); --tooltip-bg: #eff0f5; --tooltip-text: #14161b; --kbd-bg: #282a30; --kbd-text: #d0d1d6; --table-header-bg: #191b20; --table-row-selected: #0f1f3d; --skeleton-bg: #282a30; --avatar-bg: #35373b;
  --shadow-none: none; --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4); --shadow-md: 0 4px 16px -2px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.04); --shadow-lg: 0 20px 48px -8px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.05); --shadow-focus: 0 0 0 2px #14161b, 0 0 0 4px #75a5fe;
}
