:root {
    --bg-primary: #ffffff;
    --bg-secondary: #f6f8fa;
    --bg-tertiary: #eaeef2;
    --bg-elevated: #ffffff;
    --text-primary: #1f2328;
    --text-secondary: #656d76;
    --accent-blue: #0969da;
    --accent-blue-hover: #79c0ff;
    --accent-blue-muted: rgba(88, 166, 255, 0.15);
    --accent-green: #1a7f37;
    --accent-green-hover: #3fb950;
    --accent-green-muted: rgba(46, 164, 79, 0.15);
    --accent-red: #cf222e;
    --accent-red-hover: #ff6b6b;
    --accent-red-muted: rgba(248, 81, 73, 0.15);
    --accent-yellow: #9a6700;
    --accent-yellow-hover: #e3b341;
    --accent-yellow-muted: rgba(210, 153, 34, 0.15);
    --accent-purple: #8250df;
    --accent-purple-hover: #bc8cff;
    --accent-purple-muted: rgba(163, 113, 247, 0.15);
    --border-primary: #d0d7de;
    --border-secondary: #eaeef2;
}
html { color-scheme: dark; }
:root {
    --color-primary: var(--accent-blue);
    --color-primary-hover: var(--accent-blue-hover);
    --color-primary-muted: var(--accent-blue-muted);
    --accent-color: var(--accent-blue);
    --color-success: var(--accent-green);
    --color-success-hover: var(--accent-green-hover);
    --color-success-muted: var(--accent-green-muted);
    --color-danger: var(--accent-red);
    --color-danger-hover: var(--accent-red-hover);
    --color-danger-muted: var(--accent-red-muted);
    --color-warning: var(--accent-yellow);
    --color-warning-hover: var(--accent-yellow-hover);
    --color-warning-muted: var(--accent-yellow-muted);
    --color-info: var(--accent-purple);
    --color-info-hover: var(--accent-purple-hover);
    --color-info-muted: var(--accent-purple-muted);
    --color-surface: var(--bg-secondary);
    --color-surface-alt: var(--bg-primary);
    --color-surface-hover: var(--bg-tertiary);
    --color-surface-raised: var(--bg-elevated);
    --color-text: var(--text-primary);
    --color-text-muted: var(--text-secondary);
    --color-border: var(--border-primary);
    --focus-ring-color: var(--accent-blue-muted);
    color-scheme: dark;
    /* UX 3.5 chrome aliases — solid surfaces (no glass/blur in this shell) */
    --ux35-bg: var(--bg-primary);
    --ux35-sidebar-bg: var(--bg-secondary);
    --ux35-card-bg: var(--bg-secondary);
    --ux35-border: var(--border-primary);
    --ux35-border-light: var(--border-secondary);
    --ux35-text: var(--text-primary);
    --ux35-muted: var(--text-secondary);
    --ux35-hover: var(--bg-hover);
    --ux35-primary: var(--accent-blue);
    --ux35-focus-ring: var(--accent-blue);
    --ux35-active-bg: var(--accent-blue-muted);
    --ux35-glass-blur: 0px;
    --ux35-glass-saturate: 1;
    /* UX 3.5 topbar chrome — theme-invariant (always dark) */
    --ux35-topbar-bg: #161b22;
    --ux35-topbar-fg: #e6edf3;
    --ux35-topbar-fg-muted: #8b949e;
    --ux35-topbar-border: #30363d;
}
:root {
    --surface-glass-blur: 16px;
    --surface-glass-saturate: 1.2;
    --surface-glass-bg-secondary: rgba(249, 241, 241, 0.55);
    --surface-glass-bg-tertiary: rgba(249, 241, 241, 0.63);
    --surface-glass-bg-elevated: rgba(249, 241, 241, 0.70);
    --surface-glass-border: rgba(249, 241, 241, 0.90);
    --card-bg: var(--surface-glass-bg-secondary);
    --sidebar-glass-bg-rail: rgba(249, 241, 241, 0.48);
    --sidebar-glass-bg-flyout: rgba(249, 241, 241, 0.58);
}
body.login-page::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -2;
    background: url("/uploads/bg-88a4350eb3327d9d.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
body.login-page { background-color: transparent; }
