/* @weimean/tty-css — tokens + base, no components. Generated by scripts/build.mjs; edit src/ instead. */
/* @weimean/tty-tokens — generated by scripts/build.mjs. Do not edit. */

:root {
  --tty-font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace;
  --tty-font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --tty-weight-regular: 400;
  --tty-weight-medium: 500;
  --tty-weight-semibold: 600;
  --tty-weight-bold: 700;
  --tty-text-xs: 0.75rem;
  --tty-text-sm: 0.875rem;
  --tty-text-base: 1rem;
  --tty-text-lg: 1.125rem;
  --tty-text-xl: 1.25rem;
  --tty-text-2xl: 1.5rem;
  --tty-text-3xl: 1.875rem;
  --tty-text-4xl: 2.25rem;
  --tty-text-5xl: 3rem;
  --tty-text-6xl: 3.75rem;
  --tty-leading-none: 1;
  --tty-leading-tight: 1.2;
  --tty-leading-snug: 1.4;
  --tty-leading-normal: 1.6;
  --tty-leading-relaxed: 1.75;
  --tty-tracking-tight: -0.02em;
  --tty-tracking-normal: 0em;
  --tty-tracking-wide: 0.04em;
  --tty-tracking-caps: 0.08em;
  --tty-space-0: 0rem;
  --tty-space-1: 0.25rem;
  --tty-space-2: 0.5rem;
  --tty-space-3: 0.75rem;
  --tty-space-4: 1rem;
  --tty-space-5: 1.25rem;
  --tty-space-6: 1.5rem;
  --tty-space-8: 2rem;
  --tty-space-10: 2.5rem;
  --tty-space-12: 3rem;
  --tty-space-16: 4rem;
  --tty-space-20: 5rem;
  --tty-space-24: 6rem;
  --tty-space-32: 8rem;
  --tty-space-px: 1px;
  --tty-radius-none: 0px;
  --tty-radius-sm: 4px;
  --tty-radius-md: 6px;
  --tty-radius-lg: 8px;
  --tty-radius-xl: 12px;
  --tty-radius-full: 9999px;
  --tty-duration-instant: 80ms;
  --tty-duration-fast: 180ms;
  --tty-duration-base: 250ms;
  --tty-duration-slow: 450ms;
  --tty-ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --tty-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --tty-ease-in: cubic-bezier(0.5, 0, 0.75, 0);
  --tty-z-base: 0;
  --tty-z-dropdown: 1000;
  --tty-z-sticky: 1100;
  --tty-z-overlay: 1300;
  --tty-z-modal: 1400;
  --tty-z-popover: 1500;
  --tty-z-toast: 1700;
  --tty-z-tooltip: 1800;
  --tty-breakpoint-sm: 640px;
  --tty-breakpoint-md: 768px;
  --tty-breakpoint-lg: 1024px;
  --tty-breakpoint-xl: 1280px;
  --tty-breakpoint-2xl: 1536px;
  --tty-measure-prose: 68ch;
  --tty-measure-content: 940px;
  --tty-measure-wide: 1200px;
  --tty-control-h-sm: 2rem;
  --tty-control-h-md: 2.5rem;
  --tty-control-h-lg: 3rem;
  --tty-control-px-sm: 0.625rem;
  --tty-control-px-md: 0.875rem;
  --tty-control-px-lg: 1.125rem;
  --tty-control-text: 0.9375rem;
  --tty-control-gap: 0.5rem;
  --tty-layout-row-h: 3rem;
  --tty-layout-cell-px: 1rem;
  --tty-layout-pad: 1.5rem;
  --tty-layout-stack: 1.25rem;
  --tty-layout-section: 6.5rem;
  color-scheme: dark;
  --tty-bg-canvas: #0a0a0a;
  --tty-bg-surface: #101312;
  --tty-bg-raised: #161a19;
  --tty-bg-sunken: #070807;
  --tty-bg-overlay: #101312;
  --tty-bg-hover: #1c201f;
  --tty-bg-active: #232826;
  --tty-bg-backdrop: #000000b3;
  --tty-border-subtle: #1c201f;
  --tty-border: #232826;
  --tty-border-strong: #5c6560;
  --tty-fg: #e8ece9;
  --tty-fg-muted: #9aa39d;
  --tty-fg-subtle: #828b86;
  --tty-fg-disabled: #3f4743;
  --tty-fg-on-accent: #0a0a0a;
  --tty-accent: #22d3ee;
  --tty-accent-hover: #67e8f9;
  --tty-accent-muted: #06b6d4;
  --tty-accent-fg: #22d3ee;
  --tty-accent-subtle: #22d3ee1f;
  --tty-accent-border: #22d3ee59;
  --tty-focus: #22d3ee;
  --tty-selection-bg: #22d3ee;
  --tty-selection-fg: #0a0a0a;
  --tty-success-fg: #4ade80;
  --tty-success-solid: #22c55e;
  --tty-success-on-solid: #0a0a0a;
  --tty-success-subtle: #4ade801a;
  --tty-success-border: #4ade8047;
  --tty-warning-fg: #fbbf24;
  --tty-warning-solid: #f59e0b;
  --tty-warning-on-solid: #0a0a0a;
  --tty-warning-subtle: #fbbf241a;
  --tty-warning-border: #fbbf2447;
  --tty-danger-fg: #f87171;
  --tty-danger-solid: #ef4444;
  --tty-danger-on-solid: #0a0a0a;
  --tty-danger-subtle: #f871711a;
  --tty-danger-border: #f8717147;
  --tty-info-fg: #60a5fa;
  --tty-info-solid: #60a5fa;
  --tty-info-on-solid: #0a0a0a;
  --tty-info-subtle: #60a5fa1a;
  --tty-info-border: #60a5fa47;
  --tty-chrome-red: #ff5f57;
  --tty-chrome-yellow: #febc2e;
  --tty-chrome-green: #28c840;
  --tty-chart-1: #0891b2;
  --tty-chart-2: #d95926;
  --tty-chart-3: #199e70;
  --tty-chart-4: #c98500;
  --tty-chart-5: #d55181;
  --tty-chart-6: #008300;
  --tty-chart-7: #9085e9;
  --tty-chart-8: #e66767;
  --tty-chart-seq-1: #164e63;
  --tty-chart-seq-2: #155e75;
  --tty-chart-seq-3: #0e7490;
  --tty-chart-seq-4: #0891b2;
  --tty-chart-seq-5: #06b6d4;
  --tty-chart-seq-6: #22d3ee;
  --tty-chart-seq-7: #a5f3fc;
  --tty-chart-div-neg-3: #fb923c;
  --tty-chart-div-neg-2: #c2410c;
  --tty-chart-div-neg-1: #7c2d12;
  --tty-chart-div-mid: #2e3431;
  --tty-chart-div-pos-1: #164e63;
  --tty-chart-div-pos-2: #0891b2;
  --tty-chart-div-pos-3: #22d3ee;
  --tty-chart-grid: #1c201f;
  --tty-chart-axis: #828b86;
  --tty-shadow-sm: 0 1px 2px #00000066;
  --tty-shadow-md: 0 8px 24px -8px #00000099;
  --tty-shadow-lg: 0 24px 48px -12px #000000b3;
  --tty-shadow-glow: 0 8px 22px #22d3ee29;
  --tty-ansi-background: #0a0a0a;
  --tty-ansi-foreground: #e8ece9;
  --tty-ansi-cursor: #22d3ee;
  --tty-ansi-selection: #2e3431;
  --tty-ansi-black: #232826;
  --tty-ansi-red: #ff5f57;
  --tty-ansi-green: #28c840;
  --tty-ansi-yellow: #febc2e;
  --tty-ansi-blue: #60a5fa;
  --tty-ansi-magenta: #c084fc;
  --tty-ansi-cyan: #22d3ee;
  --tty-ansi-white: #d9dedb;
  --tty-ansi-bright-black: #5c6560;
  --tty-ansi-bright-red: #ff8a84;
  --tty-ansi-bright-green: #5ee07a;
  --tty-ansi-bright-yellow: #ffd166;
  --tty-ansi-bright-blue: #93c5fd;
  --tty-ansi-bright-magenta: #d8b4fe;
  --tty-ansi-bright-cyan: #67e8f9;
  --tty-ansi-bright-white: #ffffff;
}

/* No explicit theme: follow the OS. */
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    color-scheme: light;
    --tty-bg-canvas: #f7f8f7;
    --tty-bg-surface: #ffffff;
    --tty-bg-raised: #f4f6f5;
    --tty-bg-sunken: #f4f6f5;
    --tty-bg-overlay: #ffffff;
    --tty-bg-hover: #f4f6f5;
    --tty-bg-active: #e4e7e5;
    --tty-bg-backdrop: #0d111066;
    --tty-border-subtle: #e4e7e5;
    --tty-border: #d9dedb;
    --tty-border-strong: #848d88;
    --tty-fg: #0d1110;
    --tty-fg-muted: #464e4a;
    --tty-fg-subtle: #5f6863;
    --tty-fg-disabled: #bcc3be;
    --tty-fg-on-accent: #ffffff;
    --tty-accent: #0e7490;
    --tty-accent-hover: #155e75;
    --tty-accent-muted: #155e75;
    --tty-accent-fg: #0e7490;
    --tty-accent-subtle: #0e749014;
    --tty-accent-border: #0e749059;
    --tty-focus: #0e7490;
    --tty-selection-bg: #a5f3fc;
    --tty-selection-fg: #0d1110;
    --tty-success-fg: #15803d;
    --tty-success-solid: #15803d;
    --tty-success-on-solid: #ffffff;
    --tty-success-subtle: #15803d12;
    --tty-success-border: #15803d4d;
    --tty-warning-fg: #b45309;
    --tty-warning-solid: #f59e0b;
    --tty-warning-on-solid: #0d1110;
    --tty-warning-subtle: #b4530912;
    --tty-warning-border: #b453094d;
    --tty-danger-fg: #b91c1c;
    --tty-danger-solid: #dc2626;
    --tty-danger-on-solid: #ffffff;
    --tty-danger-subtle: #b91c1c12;
    --tty-danger-border: #b91c1c4d;
    --tty-info-fg: #1d4ed8;
    --tty-info-solid: #2563eb;
    --tty-info-on-solid: #ffffff;
    --tty-info-subtle: #1d4ed812;
    --tty-info-border: #1d4ed84d;
    --tty-chrome-red: #ff5f57;
    --tty-chrome-yellow: #febc2e;
    --tty-chrome-green: #28c840;
    --tty-chart-1: #0891b2;
    --tty-chart-2: #eb6834;
    --tty-chart-3: #1baf7a;
    --tty-chart-4: #eda100;
    --tty-chart-5: #e87ba4;
    --tty-chart-6: #008300;
    --tty-chart-7: #6250d6;
    --tty-chart-8: #e34948;
    --tty-chart-seq-1: #cffafe;
    --tty-chart-seq-2: #a5f3fc;
    --tty-chart-seq-3: #67e8f9;
    --tty-chart-seq-4: #06b6d4;
    --tty-chart-seq-5: #0891b2;
    --tty-chart-seq-6: #0e7490;
    --tty-chart-seq-7: #164e63;
    --tty-chart-div-neg-3: #9a3412;
    --tty-chart-div-neg-2: #ea580c;
    --tty-chart-div-neg-1: #fdba74;
    --tty-chart-div-mid: #e4e7e5;
    --tty-chart-div-pos-1: #67e8f9;
    --tty-chart-div-pos-2: #0891b2;
    --tty-chart-div-pos-3: #155e75;
    --tty-chart-grid: #e4e7e5;
    --tty-chart-axis: #5f6863;
    --tty-shadow-sm: 0 1px 2px #0d11100f;
    --tty-shadow-md: 0 8px 24px -8px #0d111024;
    --tty-shadow-lg: 0 24px 48px -12px #0d111033;
    --tty-shadow-glow: 0 8px 22px #0e749029;
    --tty-ansi-background: #f7f8f7;
    --tty-ansi-foreground: #0d1110;
    --tty-ansi-cursor: #0e7490;
    --tty-ansi-selection: #a5f3fc;
    --tty-ansi-black: #0d1110;
    --tty-ansi-red: #b91c1c;
    --tty-ansi-green: #15803d;
    --tty-ansi-yellow: #a16207;
    --tty-ansi-blue: #1d4ed8;
    --tty-ansi-magenta: #9333ea;
    --tty-ansi-cyan: #0e7490;
    --tty-ansi-white: #d9dedb;
    --tty-ansi-bright-black: #5f6863;
    --tty-ansi-bright-red: #dc2626;
    --tty-ansi-bright-green: #16a34a;
    --tty-ansi-bright-yellow: #ca8a04;
    --tty-ansi-bright-blue: #2563eb;
    --tty-ansi-bright-magenta: #a855f7;
    --tty-ansi-bright-cyan: #0891b2;
    --tty-ansi-bright-white: #ffffff;
  }
}

/* Explicit themes — work on <html> or on any subtree. */
[data-theme="dark"] {
  color-scheme: dark;
  --tty-bg-canvas: #0a0a0a;
  --tty-bg-surface: #101312;
  --tty-bg-raised: #161a19;
  --tty-bg-sunken: #070807;
  --tty-bg-overlay: #101312;
  --tty-bg-hover: #1c201f;
  --tty-bg-active: #232826;
  --tty-bg-backdrop: #000000b3;
  --tty-border-subtle: #1c201f;
  --tty-border: #232826;
  --tty-border-strong: #5c6560;
  --tty-fg: #e8ece9;
  --tty-fg-muted: #9aa39d;
  --tty-fg-subtle: #828b86;
  --tty-fg-disabled: #3f4743;
  --tty-fg-on-accent: #0a0a0a;
  --tty-accent: #22d3ee;
  --tty-accent-hover: #67e8f9;
  --tty-accent-muted: #06b6d4;
  --tty-accent-fg: #22d3ee;
  --tty-accent-subtle: #22d3ee1f;
  --tty-accent-border: #22d3ee59;
  --tty-focus: #22d3ee;
  --tty-selection-bg: #22d3ee;
  --tty-selection-fg: #0a0a0a;
  --tty-success-fg: #4ade80;
  --tty-success-solid: #22c55e;
  --tty-success-on-solid: #0a0a0a;
  --tty-success-subtle: #4ade801a;
  --tty-success-border: #4ade8047;
  --tty-warning-fg: #fbbf24;
  --tty-warning-solid: #f59e0b;
  --tty-warning-on-solid: #0a0a0a;
  --tty-warning-subtle: #fbbf241a;
  --tty-warning-border: #fbbf2447;
  --tty-danger-fg: #f87171;
  --tty-danger-solid: #ef4444;
  --tty-danger-on-solid: #0a0a0a;
  --tty-danger-subtle: #f871711a;
  --tty-danger-border: #f8717147;
  --tty-info-fg: #60a5fa;
  --tty-info-solid: #60a5fa;
  --tty-info-on-solid: #0a0a0a;
  --tty-info-subtle: #60a5fa1a;
  --tty-info-border: #60a5fa47;
  --tty-chrome-red: #ff5f57;
  --tty-chrome-yellow: #febc2e;
  --tty-chrome-green: #28c840;
  --tty-chart-1: #0891b2;
  --tty-chart-2: #d95926;
  --tty-chart-3: #199e70;
  --tty-chart-4: #c98500;
  --tty-chart-5: #d55181;
  --tty-chart-6: #008300;
  --tty-chart-7: #9085e9;
  --tty-chart-8: #e66767;
  --tty-chart-seq-1: #164e63;
  --tty-chart-seq-2: #155e75;
  --tty-chart-seq-3: #0e7490;
  --tty-chart-seq-4: #0891b2;
  --tty-chart-seq-5: #06b6d4;
  --tty-chart-seq-6: #22d3ee;
  --tty-chart-seq-7: #a5f3fc;
  --tty-chart-div-neg-3: #fb923c;
  --tty-chart-div-neg-2: #c2410c;
  --tty-chart-div-neg-1: #7c2d12;
  --tty-chart-div-mid: #2e3431;
  --tty-chart-div-pos-1: #164e63;
  --tty-chart-div-pos-2: #0891b2;
  --tty-chart-div-pos-3: #22d3ee;
  --tty-chart-grid: #1c201f;
  --tty-chart-axis: #828b86;
  --tty-shadow-sm: 0 1px 2px #00000066;
  --tty-shadow-md: 0 8px 24px -8px #00000099;
  --tty-shadow-lg: 0 24px 48px -12px #000000b3;
  --tty-shadow-glow: 0 8px 22px #22d3ee29;
  --tty-ansi-background: #0a0a0a;
  --tty-ansi-foreground: #e8ece9;
  --tty-ansi-cursor: #22d3ee;
  --tty-ansi-selection: #2e3431;
  --tty-ansi-black: #232826;
  --tty-ansi-red: #ff5f57;
  --tty-ansi-green: #28c840;
  --tty-ansi-yellow: #febc2e;
  --tty-ansi-blue: #60a5fa;
  --tty-ansi-magenta: #c084fc;
  --tty-ansi-cyan: #22d3ee;
  --tty-ansi-white: #d9dedb;
  --tty-ansi-bright-black: #5c6560;
  --tty-ansi-bright-red: #ff8a84;
  --tty-ansi-bright-green: #5ee07a;
  --tty-ansi-bright-yellow: #ffd166;
  --tty-ansi-bright-blue: #93c5fd;
  --tty-ansi-bright-magenta: #d8b4fe;
  --tty-ansi-bright-cyan: #67e8f9;
  --tty-ansi-bright-white: #ffffff;
}

[data-theme="light"] {
  color-scheme: light;
  --tty-bg-canvas: #f7f8f7;
  --tty-bg-surface: #ffffff;
  --tty-bg-raised: #f4f6f5;
  --tty-bg-sunken: #f4f6f5;
  --tty-bg-overlay: #ffffff;
  --tty-bg-hover: #f4f6f5;
  --tty-bg-active: #e4e7e5;
  --tty-bg-backdrop: #0d111066;
  --tty-border-subtle: #e4e7e5;
  --tty-border: #d9dedb;
  --tty-border-strong: #848d88;
  --tty-fg: #0d1110;
  --tty-fg-muted: #464e4a;
  --tty-fg-subtle: #5f6863;
  --tty-fg-disabled: #bcc3be;
  --tty-fg-on-accent: #ffffff;
  --tty-accent: #0e7490;
  --tty-accent-hover: #155e75;
  --tty-accent-muted: #155e75;
  --tty-accent-fg: #0e7490;
  --tty-accent-subtle: #0e749014;
  --tty-accent-border: #0e749059;
  --tty-focus: #0e7490;
  --tty-selection-bg: #a5f3fc;
  --tty-selection-fg: #0d1110;
  --tty-success-fg: #15803d;
  --tty-success-solid: #15803d;
  --tty-success-on-solid: #ffffff;
  --tty-success-subtle: #15803d12;
  --tty-success-border: #15803d4d;
  --tty-warning-fg: #b45309;
  --tty-warning-solid: #f59e0b;
  --tty-warning-on-solid: #0d1110;
  --tty-warning-subtle: #b4530912;
  --tty-warning-border: #b453094d;
  --tty-danger-fg: #b91c1c;
  --tty-danger-solid: #dc2626;
  --tty-danger-on-solid: #ffffff;
  --tty-danger-subtle: #b91c1c12;
  --tty-danger-border: #b91c1c4d;
  --tty-info-fg: #1d4ed8;
  --tty-info-solid: #2563eb;
  --tty-info-on-solid: #ffffff;
  --tty-info-subtle: #1d4ed812;
  --tty-info-border: #1d4ed84d;
  --tty-chrome-red: #ff5f57;
  --tty-chrome-yellow: #febc2e;
  --tty-chrome-green: #28c840;
  --tty-chart-1: #0891b2;
  --tty-chart-2: #eb6834;
  --tty-chart-3: #1baf7a;
  --tty-chart-4: #eda100;
  --tty-chart-5: #e87ba4;
  --tty-chart-6: #008300;
  --tty-chart-7: #6250d6;
  --tty-chart-8: #e34948;
  --tty-chart-seq-1: #cffafe;
  --tty-chart-seq-2: #a5f3fc;
  --tty-chart-seq-3: #67e8f9;
  --tty-chart-seq-4: #06b6d4;
  --tty-chart-seq-5: #0891b2;
  --tty-chart-seq-6: #0e7490;
  --tty-chart-seq-7: #164e63;
  --tty-chart-div-neg-3: #9a3412;
  --tty-chart-div-neg-2: #ea580c;
  --tty-chart-div-neg-1: #fdba74;
  --tty-chart-div-mid: #e4e7e5;
  --tty-chart-div-pos-1: #67e8f9;
  --tty-chart-div-pos-2: #0891b2;
  --tty-chart-div-pos-3: #155e75;
  --tty-chart-grid: #e4e7e5;
  --tty-chart-axis: #5f6863;
  --tty-shadow-sm: 0 1px 2px #0d11100f;
  --tty-shadow-md: 0 8px 24px -8px #0d111024;
  --tty-shadow-lg: 0 24px 48px -12px #0d111033;
  --tty-shadow-glow: 0 8px 22px #0e749029;
  --tty-ansi-background: #f7f8f7;
  --tty-ansi-foreground: #0d1110;
  --tty-ansi-cursor: #0e7490;
  --tty-ansi-selection: #a5f3fc;
  --tty-ansi-black: #0d1110;
  --tty-ansi-red: #b91c1c;
  --tty-ansi-green: #15803d;
  --tty-ansi-yellow: #a16207;
  --tty-ansi-blue: #1d4ed8;
  --tty-ansi-magenta: #9333ea;
  --tty-ansi-cyan: #0e7490;
  --tty-ansi-white: #d9dedb;
  --tty-ansi-bright-black: #5f6863;
  --tty-ansi-bright-red: #dc2626;
  --tty-ansi-bright-green: #16a34a;
  --tty-ansi-bright-yellow: #ca8a04;
  --tty-ansi-bright-blue: #2563eb;
  --tty-ansi-bright-magenta: #a855f7;
  --tty-ansi-bright-cyan: #0891b2;
  --tty-ansi-bright-white: #ffffff;
}

[data-theme="solarized"] {
  color-scheme: light;
  --tty-bg-canvas: #fdf6e3;
  --tty-bg-surface: #f6efda;
  --tty-bg-raised: #eee8d5;
  --tty-bg-sunken: #eee8d5;
  --tty-bg-overlay: #fdf6e3;
  --tty-bg-hover: #eee8d5;
  --tty-bg-active: #e6dfca;
  --tty-bg-backdrop: #002b3666;
  --tty-border-subtle: #eee8d5;
  --tty-border: #e3dcc6;
  --tty-border-strong: #738587;
  --tty-fg: #073642;
  --tty-fg-muted: #4b5d64;
  --tty-fg-subtle: #566870;
  --tty-fg-disabled: #93a1a1;
  --tty-fg-on-accent: #fdf6e3;
  --tty-accent: #0b6a84;
  --tty-accent-hover: #155e75;
  --tty-accent-muted: #155e75;
  --tty-accent-fg: #0b6a84;
  --tty-accent-subtle: #0e74900f;
  --tty-accent-border: #0e749059;
  --tty-focus: #0b6a84;
  --tty-selection-bg: #b9e6e9;
  --tty-selection-fg: #073642;
  --tty-success-fg: #5b6a00;
  --tty-success-solid: #5b6a00;
  --tty-success-on-solid: #fdf6e3;
  --tty-success-subtle: #85990014;
  --tty-success-border: #8599004d;
  --tty-warning-fg: #7f6000;
  --tty-warning-solid: #b58900;
  --tty-warning-on-solid: #002b36;
  --tty-warning-subtle: #b5890014;
  --tty-warning-border: #b589004d;
  --tty-danger-fg: #b02826;
  --tty-danger-solid: #b02826;
  --tty-danger-on-solid: #fdf6e3;
  --tty-danger-subtle: #dc322f12;
  --tty-danger-border: #dc322f4d;
  --tty-info-fg: #1b65a0;
  --tty-info-solid: #1b65a0;
  --tty-info-on-solid: #fdf6e3;
  --tty-info-subtle: #268bd212;
  --tty-info-border: #268bd24d;
  --tty-chrome-red: #dc322f;
  --tty-chrome-yellow: #b58900;
  --tty-chrome-green: #859900;
  --tty-chart-1: #0891b2;
  --tty-chart-2: #eb6834;
  --tty-chart-3: #1baf7a;
  --tty-chart-4: #eda100;
  --tty-chart-5: #e87ba4;
  --tty-chart-6: #008300;
  --tty-chart-7: #6250d6;
  --tty-chart-8: #e34948;
  --tty-chart-seq-1: #cffafe;
  --tty-chart-seq-2: #a5f3fc;
  --tty-chart-seq-3: #67e8f9;
  --tty-chart-seq-4: #06b6d4;
  --tty-chart-seq-5: #0891b2;
  --tty-chart-seq-6: #0e7490;
  --tty-chart-seq-7: #164e63;
  --tty-chart-div-neg-3: #9a3412;
  --tty-chart-div-neg-2: #ea580c;
  --tty-chart-div-neg-1: #fdba74;
  --tty-chart-div-mid: #e6dfca;
  --tty-chart-div-pos-1: #67e8f9;
  --tty-chart-div-pos-2: #0891b2;
  --tty-chart-div-pos-3: #155e75;
  --tty-chart-grid: #eee8d5;
  --tty-chart-axis: #566870;
  --tty-shadow-sm: 0 1px 2px #07364214;
  --tty-shadow-md: 0 8px 24px -8px #07364229;
  --tty-shadow-lg: 0 24px 48px -12px #07364238;
  --tty-shadow-glow: 0 8px 22px #0e749029;
  --tty-ansi-background: #fdf6e3;
  --tty-ansi-foreground: #657b83;
  --tty-ansi-cursor: #586e75;
  --tty-ansi-selection: #eee8d5;
  --tty-ansi-black: #073642;
  --tty-ansi-red: #dc322f;
  --tty-ansi-green: #859900;
  --tty-ansi-yellow: #b58900;
  --tty-ansi-blue: #268bd2;
  --tty-ansi-magenta: #d33682;
  --tty-ansi-cyan: #2aa198;
  --tty-ansi-white: #eee8d5;
  --tty-ansi-bright-black: #002b36;
  --tty-ansi-bright-red: #cb4b16;
  --tty-ansi-bright-green: #586e75;
  --tty-ansi-bright-yellow: #657b83;
  --tty-ansi-bright-blue: #839496;
  --tty-ansi-bright-magenta: #6c71c4;
  --tty-ansi-bright-cyan: #93a1a1;
  --tty-ansi-bright-white: #fdf6e3;
}

[data-density="comfortable"] {
  --tty-control-h-sm: 2rem;
  --tty-control-h-md: 2.5rem;
  --tty-control-h-lg: 3rem;
  --tty-control-px-sm: 0.625rem;
  --tty-control-px-md: 0.875rem;
  --tty-control-px-lg: 1.125rem;
  --tty-control-text: 0.9375rem;
  --tty-control-gap: 0.5rem;
  --tty-layout-row-h: 3rem;
  --tty-layout-cell-px: 1rem;
  --tty-layout-pad: 1.5rem;
  --tty-layout-stack: 1.25rem;
  --tty-layout-section: 6.5rem;
}

[data-density="compact"] {
  --tty-control-h-sm: 1.625rem;
  --tty-control-h-md: 2rem;
  --tty-control-h-lg: 2.5rem;
  --tty-control-px-sm: 0.5rem;
  --tty-control-px-md: 0.625rem;
  --tty-control-px-lg: 0.875rem;
  --tty-control-text: 0.8125rem;
  --tty-control-gap: 0.375rem;
  --tty-layout-row-h: 2rem;
  --tty-layout-cell-px: 0.625rem;
  --tty-layout-pad: 1rem;
  --tty-layout-stack: 0.75rem;
  --tty-layout-section: 4rem;
}

@layer base, components;

/* ---- base.css ---- */
/* Base: element defaults built from tokens. Lives in the `base` layer so any
   unlayered app CSS (and Tailwind utilities) win without !important. */
@layer base {
  *, *::before, *::after { box-sizing: border-box; }

  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    accent-color: var(--tty-accent);
  }

  body {
    margin: 0;
    background: var(--tty-bg-canvas);
    color: var(--tty-fg);
    font-family: var(--tty-font-sans);
    font-size: var(--tty-text-base);
    line-height: var(--tty-leading-normal);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: background-color var(--tty-duration-base) var(--tty-ease-out), color var(--tty-duration-base) var(--tty-ease-out);
  }

  ::selection { background: var(--tty-selection-bg); color: var(--tty-selection-fg); }

  h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-family: var(--tty-font-mono);
    font-weight: var(--tty-weight-semibold);
    line-height: var(--tty-leading-tight);
    letter-spacing: var(--tty-tracking-tight);
    text-wrap: balance;
  }
  h1 { font-size: var(--tty-text-4xl); }
  h2 { font-size: var(--tty-text-2xl); }
  h3 { font-size: var(--tty-text-xl); font-weight: var(--tty-weight-medium); }
  h4 { font-size: var(--tty-text-lg); font-weight: var(--tty-weight-medium); }
  h5, h6 { font-size: var(--tty-text-base); font-weight: var(--tty-weight-medium); letter-spacing: 0; }

  p { margin: 0; text-wrap: pretty; }

  a { color: var(--tty-accent-fg); text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
  a:hover { color: var(--tty-accent-hover); }

  code, kbd, samp, pre { font-family: var(--tty-font-mono); font-size: 0.9em; }
  pre { margin: 0; }

  hr { border: 0; border-top: 1px solid var(--tty-border); margin: 0; }

  img, svg, video, canvas { display: block; max-width: 100%; }
  img, video { height: auto; }

  button, input, select, textarea { font: inherit; color: inherit; }
  input, textarea, select { caret-color: var(--tty-accent); }

  :focus-visible { outline: 2px solid var(--tty-focus); outline-offset: 2px; }
  :focus:not(:focus-visible) { outline: none; }

  table { border-collapse: collapse; }

  [hidden] { display: none !important; }

  /* Set for one frame while switching theme or density, so colours flip at once
     instead of every control easing through its own transition. */
  :root[data-tty-switching] *,
  :root[data-tty-switching] *::before,
  :root[data-tty-switching] *::after { transition: none !important; }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }
}
