/* MOEOCC: palette values live here; shared components use the --ui-* tokens. */
:root {
  color-scheme: dark;
  --ui-bg: #08090b;
  --ui-sidebar: #0b0d11;
  --ui-surface: #101216;
  --ui-surface-muted: #16181d;
  --ui-surface-hover: #1d2027;
  --ui-text: #f3f5f7;
  --ui-muted: #a0a7b2;
  --ui-subtle: #9199a6;
  --ui-border: rgba(255, 255, 255, .08);
  --ui-border-strong: rgba(255, 255, 255, .18);
  --ui-accent: #6ea2ff;
  --ui-primary: #3d7dff;
  --ui-primary-hover: #6194ff;
  --ui-primary-bg: linear-gradient(180deg, #8eb6ff, #3d7dff);
  --ui-primary-hover-bg: linear-gradient(180deg, #a7c6ff, #558eff);
  --ui-on-primary: #07101c;
  --ui-panel-bg: linear-gradient(180deg, rgba(255, 255, 255, .03), rgba(255, 255, 255, .012)), #101216;
  --ui-card-bg: linear-gradient(160deg, rgba(110, 162, 255, .045), transparent 55%), #101216;
  --ui-accent-soft: rgba(110, 162, 255, .10);
  --ui-overlay: rgba(3, 5, 9, .78);
  --ui-success: #3ddc97;
  --ui-success-soft: rgba(61, 220, 151, .10);
  --ui-warning: #f0c36a;
  --ui-warning-soft: rgba(240, 195, 106, .10);
  --ui-danger: #ff6b6b;
  --ui-danger-soft: rgba(255, 107, 107, .10);
  --ui-shadow: 0 16px 48px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .025);
  --ui-shadow-lg: 0 30px 100px rgba(0, 0, 0, .45);
  --ui-radius: 16px;
  --ui-focus: 0 0 0 3px rgba(96, 156, 255, .28);
  --ui-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ui-mono: 'JetBrains Mono', 'Consolas', monospace;
  --ui-sidebar-width: 244px;
  --touch-target: 44px;
  --accent: var(--ui-accent);
  --accent-2: var(--ui-accent);
  --accent-3: var(--ui-success);
  --accent-rose: var(--ui-danger);
  --accent-grad: var(--ui-primary-bg);
  --accent-grad-soft: linear-gradient(135deg, var(--ui-accent-soft), var(--ui-surface));
  --focus-ring: var(--ui-focus);
  --primary-color: var(--ui-accent);
  --primary-dark: var(--ui-primary-hover);
  --primary-gradient: var(--accent-grad);
  --bg-root: var(--ui-sidebar);
  --bg-0: var(--ui-bg);
  --bg-1: var(--ui-surface);
  --bg-2: var(--ui-surface-muted);
  --bg-3: var(--ui-surface-hover);
  --bg-page: var(--ui-bg);
  --bg-primary: var(--ui-surface);
  --bg-secondary: var(--ui-surface-muted);
  --bg-tertiary: var(--ui-surface-hover);
  --bg-overlay: var(--ui-overlay);
  --bg-glass: var(--ui-surface);
  --bg-glass-strong: var(--ui-surface);
  --secondary-color: var(--ui-surface-muted);
  --text-0: var(--ui-text);
  --text-1: var(--ui-text);
  --text-2: var(--ui-muted);
  --text-3: var(--ui-subtle);
  --text-inv: #fff;
  --text-primary: var(--ui-text);
  --text-secondary: var(--ui-muted);
  --text-tertiary: var(--ui-subtle);
  --text-inverse: #fff;
  --border: var(--ui-border);
  --border-strong: var(--ui-border-strong);
  --border-accent: var(--ui-accent);
  --border-color: var(--ui-border);
  --border-radius-sm: 8px;
  --border-radius: var(--ui-radius);
  --border-radius-lg: 16px;
  --radius-sm: 8px;
  --radius: var(--ui-radius);
  --radius-lg: 16px;
  --radius-xl: 20px;
  --success: var(--ui-success);
  --success-soft: var(--ui-success-soft);
  --warning: var(--ui-warning);
  --warning-soft: var(--ui-warning-soft);
  --danger: var(--ui-danger);
  --danger-soft: var(--ui-danger-soft);
  --info: var(--ui-accent);
  --info-soft: var(--ui-accent-soft);
  --success-color: var(--ui-success);
  --warning-color: var(--ui-warning);
  --error-color: var(--ui-danger);
  --info-color: var(--ui-accent);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);
  --shadow-md: var(--ui-shadow);
  --shadow-lg: var(--ui-shadow-lg);
  --shadow-xl: var(--ui-shadow-lg);
  --shadow-glow: none;
  --font: var(--ui-font);
  --font-display: var(--ui-font);
  --transition-fast: .15s ease;
  --transition-base: .2s ease;
  --transition-slow: .3s ease;
  --transition: var(--transition-base);
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --ds-bg-page: var(--ui-bg);
  --ds-surface-1: var(--ui-surface);
  --ds-surface-2: var(--ui-surface-muted);
  --ds-surface-3: var(--ui-surface-hover);
  --ds-sidebar: var(--ui-sidebar);
  --ds-text: var(--ui-text);
  --ds-text-muted: var(--ui-muted);
  --ds-text-dim: var(--ui-subtle);
  --ds-border: var(--ui-border);
  --ds-border-light: var(--ui-border-strong);
  --ds-accent-from: var(--ui-primary);
  --ds-accent-to: #3975ef;
  --ds-accent-cyan: var(--ui-accent);
  --ds-accent-green: var(--ui-success);
  --ds-accent-amber: var(--ui-warning);
  --ds-accent-rose: var(--ui-danger);
  --ds-radius-sm: 8px;
  --ds-radius-btn: 8px;
  --ds-radius-card: var(--ui-radius);
  --ds-radius-modal: 20px;
  --ds-shadow-sm: var(--shadow-sm);
  --ds-shadow-card: var(--ui-shadow);
  --ds-shadow: var(--ui-shadow-lg);
  --ds-shadow-lg: var(--ui-shadow-lg);
}
:root[data-theme="light"] {
  color-scheme: light;
  --ui-bg: #f5f7fb;
  --ui-sidebar: #fff;
  --ui-surface: #fff;
  --ui-surface-muted: #f0f4f9;
  --ui-surface-hover: #e7edf6;
  --ui-text: #17263c;
  --ui-muted: #53657e;
  --ui-subtle: #61738b;
  --ui-border: #dbe2ec;
  --ui-border-strong: #becbdd;
  --ui-accent: #245edb;
  --ui-primary: #2563eb;
  --ui-primary-hover: #1d4ed8;
  --ui-primary-bg: linear-gradient(180deg, #306be3, #2563eb);
  --ui-primary-hover-bg: linear-gradient(180deg, #2f69e4, #1d4ed8);
  --ui-on-primary: #fff;
  --ui-panel-bg: linear-gradient(180deg, #fff, #fdfdff);
  --ui-card-bg: linear-gradient(155deg, #fff, #fafcff);
  --ui-accent-soft: #eaf1ff;
  --ui-overlay: rgba(17, 32, 56, .45);
  --ui-success: #08785d;
  --ui-success-soft: #e4f5ee;
  --ui-warning: #946000;
  --ui-warning-soft: #fff3d9;
  --ui-danger: #c52f50;
  --ui-danger-soft: #fff0f3;
  --ui-shadow: 0 3px 16px rgba(30, 52, 88, .045);
  --ui-shadow-lg: 0 20px 64px rgba(24, 42, 74, .16);
}

:root {
  --ui-header-glass: rgba(10,12,16,.78);
  --ui-shell-soft: rgba(255,255,255,.025);
  --ui-shell-hover: rgba(255,255,255,.06);
  --ui-field-bg: #0c0e12;
  --ui-grid-line: rgba(255,255,255,.018);
}
:root[data-theme="light"] {
  --ui-header-glass: rgba(255,255,255,.92);
  --ui-shell-soft: #f2f5fa;
  --ui-shell-hover: #eaf0f9;
  --ui-field-bg: #fbfcfe;
  --ui-grid-line: rgba(35,65,105,.025);
  --ui-focus: 0 0 0 3px rgba(37,99,235,.17);
}
