/* Generated from src/nova/design-tokens.json — do not edit */
/* Authoritative Nova OS design tokens (dark default, .light override) */

:root {
  --accent-amber: #fbbf24;
  --accent-cyan: #22d3ee;
  --accent-dim: #c084fc;
  --accent-green: #4ade80;
  --accent-indigo: #818cf8;
  --accent-purple-bg: rgba(139, 92, 246, 0.12);
  --accent-purple-glow: rgba(139, 92, 246, 0.3);
  --accent-purple: #8b5cf6;
  --accent-red: #f87171;
  --badge-error-bg: rgba(239, 68, 68, 0.08);
  --badge-error-text: #f87171;
  --badge-info-bg: rgba(99, 102, 241, 0.12);
  --badge-info-text: #818cf8;
  --badge-neutral-bg: rgba(255, 255, 255, 0.05);
  --badge-neutral-text: #a1a1aa;
  --badge-success-bg: rgba(74, 222, 128, 0.12);
  --badge-success-text: #4ade80;
  --badge-warning-bg: rgba(251, 191, 36, 0.12);
  --badge-warning-text: #fbbf24;
  --bg-active-item: #090909;
  --bg-base: #090909;
  --bg-card: #111115;
  --bg-hover: #18181c;
  --bg-input: #0d0d11;
  --bg-overlay: #0d0d11;
  --bg-tab-bar: #18181c;
  --border-default: rgba(255, 255, 255, 0.07);
  --border-strong: rgba(255, 255, 255, 0.12);
  --button-danger-bg: rgba(248, 113, 113, 0.08);
  --button-danger-border: rgba(248, 113, 113, 0.2);
  --button-danger-hover-bg: rgba(248, 113, 113, 0.14);
  --button-danger-hover-border: rgba(248, 113, 113, 0.3);
  --button-danger-icon-weight: regular;
  --button-danger-text: #f87171;
  --button-ghost-bg: transparent;
  --button-ghost-hover-bg: rgba(255, 255, 255, 0.06);
  --button-ghost-icon-weight: regular;
  --button-ghost-text: #a1a1aa;
  --button-primary-active-bg: #6d28d9;
  --button-primary-bg: #8b5cf6;
  --button-primary-border: none;
  --button-primary-hover-bg: #7c3aed;
  --button-primary-icon-weight: bold;
  --button-primary-shadow: 0 0 0 1px rgba(139, 92, 246, 0.4), 0 2px 8px rgba(139, 92, 246, 0.3);
  --button-primary-text: #ffffff;
  --button-secondary-active-bg: rgba(255, 255, 255, 0.12);
  --button-secondary-bg: rgba(255, 255, 255, 0.04);
  --button-secondary-border: rgba(255, 255, 255, 0.07);
  --button-secondary-hover-bg: rgba(255, 255, 255, 0.08);
  --button-secondary-hover-border: rgba(255, 255, 255, 0.12);
  --button-secondary-icon-weight: regular;
  --button-secondary-text: #a1a1aa;
  --fontFamily-console: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --fontFamily-shell: 'Geist', system-ui, sans-serif;
  --fontSize-2xl: 24px;
  --fontSize-2xs: 11px;
  --fontSize-3xl: 28px;
  --fontSize-base: 14px;
  --fontSize-lg: 18px;
  --fontSize-md: 16px;
  --fontSize-sm: 13px;
  --fontSize-xl: 20px;
  --fontSize-xs: 12px;
  --fontWeight-bold: 700;
  --fontWeight-medium: 500;
  --fontWeight-regular: 400;
  --fontWeight-semibold: 600;
  --fs-2xl-line-height: 32px;
  --fs-2xl: 24px;
  --fs-2xs-line-height: 16px;
  --fs-2xs: 11px;
  --fs-3xl-line-height: 36px;
  --fs-3xl: 28px;
  --fs-base-line-height: 20px;
  --fs-base: 14px;
  --fs-lg-line-height: 24px;
  --fs-lg: 18px;
  --fs-md-line-height: 24px;
  --fs-md: 16px;
  --fs-sm-line-height: 20px;
  --fs-sm: 13px;
  --fs-xl-line-height: 28px;
  --fs-xl: 20px;
  --fs-xs-line-height: 18px;
  --fs-xs: 12px;
  --glass-bg-ai-bar: rgba(255, 255, 255, 0.08);
  --glass-bg-card-hi: linear-gradient(145deg, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.07) 100%);
  --glass-bg-card: linear-gradient(145deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.04) 100%);
  --glass-bg-dock: rgba(51, 51, 51, 0.5);
  --glass-border-hi: rgba(255, 255, 255, 0.17);
  --glass-border: rgba(255, 255, 255, 0.09);
  --glass-crit-bg: rgba(255, 77, 106, 0.1);
  --glass-crit-br: rgba(255, 77, 106, 0.2);
  --glass-crit: #ff4d6a;
  --glass-deg-bg: rgba(249, 115, 22, 0.1);
  --glass-deg-br: rgba(249, 115, 22, 0.2);
  --glass-deg: #f97316;
  --glass-divider: rgba(255, 255, 255, 0.055);
  --glass-pos-bg: rgba(36, 255, 149, 0.1);
  --glass-pos-br: rgba(36, 255, 149, 0.2);
  --glass-pos: #24ff95;
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.11);
  --glass-text-action-sub: rgba(255, 255, 255, 0.55);
  --glass-text-action-title: #ffffff;
  --glass-text-alert: #ff4d6a;
  --glass-text-count: #ffffff;
  --glass-text-error-soft: #ffc6c8;
  --glass-text-label: #ffffff;
  --glass-text-live: #24ff95;
  --glass-text-primary: #ffffff;
  --glass-text-secondary: rgba(255, 255, 255, 0.55);
  --glass-text-warn: #f97316;
  --glass-warn-bg: rgba(250, 204, 105, 0.1);
  --glass-warn-br: rgba(250, 204, 105, 0.2);
  --glass-warn: #facc69;
  --radius-badge: 6px;
  --radius-btn: 8px;
  --radius-canvas: 24px;
  --radius-card: 12px;
  --radius-frame: 16px;
  --radius-pill: 9999px;
  --shadow-accent-glow: 0 0 0 1px rgba(139, 92, 246, 0.4), 0 2px 8px rgba(139, 92, 246, 0.3);
  --shadow-card-low: 0 1px 3px rgba(0, 0, 0, 0.25);
  --shadow-card-mid: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-focus: 0 0 0 2px rgba(139, 92, 246, 0.35);
  --space-10: 40px;
  --space-12: 48px;
  --space-15: 60px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --spacing-10: 40px;
  --spacing-12: 48px;
  --spacing-15: 60px;
  --spacing-1: 4px;
  --spacing-2: 8px;
  --spacing-3: 12px;
  --spacing-4: 16px;
  --spacing-5: 20px;
  --spacing-6: 24px;
  --spacing-8: 32px;
  --text-disabled: #939399;
  --text-muted: #52525a;
  --text-primary: #ffffff;
  --text-secondary: #a1a1aa;
}

.light {
  --accent-amber: #92400e;
  --accent-cyan: #0891b2;
  --accent-dim: #7c3aed;
  --accent-green: #16a34a;
  --accent-indigo: #3730a3;
  --accent-purple-bg: rgba(139, 92, 246, 0.08);
  --accent-purple-glow: rgba(139, 92, 246, 0.15);
  --accent-purple: #8b5cf6;
  --accent-red: #be123c;
  --badge-error-bg: rgba(255, 228, 230, 0.8);
  --badge-error-text: #be123c;
  --badge-info-bg: rgba(199, 210, 254, 0.8);
  --badge-info-text: #3730a3;
  --badge-neutral-bg: rgba(0, 0, 0, 0.06);
  --badge-neutral-text: #52525a;
  --badge-success-bg: rgba(209, 250, 229, 0.8);
  --badge-success-text: #047857;
  --badge-warning-bg: rgba(254, 243, 199, 0.8);
  --badge-warning-text: #92400e;
  --bg-active-item: #ffffff;
  --bg-base: #ffffff;
  --bg-card: #f4f4f6;
  --bg-hover: #e0e0e3;
  --bg-input: #f4f4f6;
  --bg-overlay: #ebebed;
  --bg-tab-bar: #e8e8eb;
  --border-default: rgba(0, 0, 0, 0.08);
  --border-strong: rgba(0, 0, 0, 0.15);
  --button-danger-bg: rgba(220, 38, 38, 0.06);
  --button-danger-border: rgba(220, 38, 38, 0.2);
  --button-danger-hover-bg: rgba(220, 38, 38, 0.1);
  --button-danger-hover-border: rgba(220, 38, 38, 0.3);
  --button-danger-icon-weight: regular;
  --button-danger-text: #be123c;
  --button-ghost-bg: transparent;
  --button-ghost-hover-bg: rgba(0, 0, 0, 0.04);
  --button-ghost-icon-weight: regular;
  --button-ghost-text: #52525a;
  --button-primary-active-bg: #6d28d9;
  --button-primary-bg: #8b5cf6;
  --button-primary-border: none;
  --button-primary-hover-bg: #7c3aed;
  --button-primary-icon-weight: bold;
  --button-primary-shadow: 0 0 0 1px rgba(139, 92, 246, 0.25), 0 2px 6px rgba(139, 92, 246, 0.2);
  --button-primary-text: #ffffff;
  --button-secondary-active-bg: #e8e8eb;
  --button-secondary-bg: #ffffff;
  --button-secondary-border: rgba(0, 0, 0, 0.12);
  --button-secondary-hover-bg: #f4f4f6;
  --button-secondary-hover-border: rgba(0, 0, 0, 0.18);
  --button-secondary-icon-weight: regular;
  --button-secondary-text: #090909;
  --fontFamily-console: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --fontFamily-shell: 'Geist', system-ui, sans-serif;
  --fontSize-2xl: 24px;
  --fontSize-2xs: 11px;
  --fontSize-3xl: 28px;
  --fontSize-base: 14px;
  --fontSize-lg: 18px;
  --fontSize-md: 16px;
  --fontSize-sm: 13px;
  --fontSize-xl: 20px;
  --fontSize-xs: 12px;
  --fontWeight-bold: 700;
  --fontWeight-medium: 500;
  --fontWeight-regular: 400;
  --fontWeight-semibold: 600;
  --fs-2xl-line-height: 32px;
  --fs-2xl: 24px;
  --fs-2xs-line-height: 16px;
  --fs-2xs: 11px;
  --fs-3xl-line-height: 36px;
  --fs-3xl: 28px;
  --fs-base-line-height: 20px;
  --fs-base: 14px;
  --fs-lg-line-height: 24px;
  --fs-lg: 18px;
  --fs-md-line-height: 24px;
  --fs-md: 16px;
  --fs-sm-line-height: 20px;
  --fs-sm: 13px;
  --fs-xl-line-height: 28px;
  --fs-xl: 20px;
  --fs-xs-line-height: 18px;
  --fs-xs: 12px;
  --glass-bg-ai-bar: rgba(255, 255, 255, 0.8);
  --glass-bg-card-hi: linear-gradient(145deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.65) 100%);
  --glass-bg-card: linear-gradient(145deg, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0.48) 100%);
  --glass-bg-dock: rgba(255, 255, 255, 0.3);
  --glass-border-hi: rgba(180, 155, 230, 0.45);
  --glass-border: rgba(200, 185, 240, 0.28);
  --glass-crit-bg: rgba(220, 38, 38, 0.09);
  --glass-crit-br: rgba(220, 38, 38, 0.2);
  --glass-crit: #dc2626;
  --glass-deg-bg: rgba(234, 88, 12, 0.09);
  --glass-deg-br: rgba(234, 88, 12, 0.2);
  --glass-deg: #ea580c;
  --glass-divider: rgba(120, 100, 200, 0.08);
  --glass-pos-bg: rgba(22, 163, 74, 0.1);
  --glass-pos-br: rgba(22, 163, 74, 0.22);
  --glass-pos: #16a34a;
  --glass-shadow: 0 4px 28px rgba(100, 70, 200, 0.1), 0 1px 4px rgba(0, 0, 0, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.95);
  --glass-text-action-sub: #2a2a3a;
  --glass-text-action-title: #1a1a26;
  --glass-text-alert: #be123c;
  --glass-text-count: #090909;
  --glass-text-error-soft: #9f1239;
  --glass-text-label: #090909;
  --glass-text-live: #047857;
  --glass-text-primary: #090909;
  --glass-text-secondary: #2a2a3a;
  --glass-text-warn: #92400e;
  --glass-warn-bg: rgba(180, 83, 9, 0.09);
  --glass-warn-br: rgba(180, 83, 9, 0.2);
  --glass-warn: #b45309;
  --radius-badge: 6px;
  --radius-btn: 8px;
  --radius-canvas: 24px;
  --radius-card: 12px;
  --radius-frame: 16px;
  --radius-pill: 9999px;
  --shadow-accent-glow: 0 0 0 1px rgba(139, 92, 246, 0.4), 0 2px 8px rgba(139, 92, 246, 0.3);
  --shadow-card-low: 0 1px 3px rgba(0, 0, 0, 0.25);
  --shadow-card-mid: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-focus: 0 0 0 2px rgba(139, 92, 246, 0.35);
  --space-10: 40px;
  --space-12: 48px;
  --space-15: 60px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --spacing-10: 40px;
  --spacing-12: 48px;
  --spacing-15: 60px;
  --spacing-1: 4px;
  --spacing-2: 8px;
  --spacing-3: 12px;
  --spacing-4: 16px;
  --spacing-5: 20px;
  --spacing-6: 24px;
  --spacing-8: 32px;
  --text-disabled: #717179;
  --text-muted: #3f3f47;
  --text-primary: #090909;
  --text-secondary: #52525a;
}

/* Command Center short variable names (style guide §21) */
:root, .dark {
  --border-hi: rgba(255, 255, 255, 0.17);
  --border: rgba(255, 255, 255, 0.09);
  --divider: rgba(255, 255, 255, 0.055);
  --glass-hi: linear-gradient(145deg, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.07) 100%);
  --glass: linear-gradient(145deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.04) 100%);
  --shadow: 0 8px 32px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.11);
  --txt-dim: rgba(255, 255, 255, 0.55);
  --txt: #ffffff;
  --pos: var(--glass-pos);
  --pos-bg: var(--glass-pos-bg);
  --pos-br: var(--glass-pos-br);
  --crit: var(--glass-crit);
  --crit-bg: var(--glass-crit-bg);
  --crit-br: var(--glass-crit-br);
  --deg: var(--glass-deg);
  --deg-bg: var(--glass-deg-bg);
  --deg-br: var(--glass-deg-br);
  --warn: var(--glass-warn);
  --warn-bg: var(--glass-warn-bg);
  --warn-br: var(--glass-warn-br);
  --accent-bg: var(--accent-purple-bg);
}

.light, .lm {
  --border-hi: rgba(180, 155, 230, 0.45);
  --border: rgba(200, 185, 240, 0.28);
  --divider: rgba(120, 100, 200, 0.08);
  --glass-hi: linear-gradient(145deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.65) 100%);
  --glass: linear-gradient(145deg, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0.48) 100%);
  --shadow: 0 4px 28px rgba(100, 70, 200, 0.1), 0 1px 4px rgba(0, 0, 0, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.95);
  --txt-dim: #2a2a3a;
  --txt: #090909;
  --pos: var(--glass-pos);
  --pos-bg: var(--glass-pos-bg);
  --pos-br: var(--glass-pos-br);
  --crit: var(--glass-crit);
  --crit-bg: var(--glass-crit-bg);
  --crit-br: var(--glass-crit-br);
  --deg: var(--glass-deg);
  --deg-bg: var(--glass-deg-bg);
  --deg-br: var(--glass-deg-br);
  --warn: var(--glass-warn);
  --warn-bg: var(--glass-warn-bg);
  --warn-br: var(--glass-warn-br);
  --accent-bg: var(--accent-purple-bg);
}

/* Glass backdrop — constant across themes */
.glass-surface {
  backdrop-filter: blur(32px) saturate(180%);
  -webkit-backdrop-filter: blur(32px) saturate(180%);
}

