:root,
html[data-theme='dark'] {
    --bg-primary: #080808;
    --bg-secondary: #121214;
    --bg-elevated: #1a1a1e;
    --bg-glass: rgba(14, 14, 18, 0.72);
    --bg-glass-strong: rgba(18, 18, 22, 0.88);
    --text-primary: #f5f5f5;
    --text-secondary: #a1a1aa;
    --accent: #9ca3af;
    --accent-hover: #d4d4d8;
    --accent-soft: rgba(156, 163, 175, 0.16);
    --border-color: rgba(255, 255, 255, 0.1);
    --border-strong: rgba(255, 255, 255, 0.16);
    --shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
    --shadow-soft: 0 4px 16px rgba(0, 0, 0, 0.28);
    --overlay: rgba(0, 0, 0, 0.68);
    --success: #4ade80;
    --warning: #facc15;
    --danger: #f87171;
    --bg-base: var(--bg-primary);
    --glass-bg: var(--bg-glass);
    --glass-bg-strong: var(--bg-glass-strong);
    --glass-border: var(--border-color);
    --glass-highlight: rgba(255, 255, 255, 0.06);
    --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    --glass-blur: 20px;
    --text: var(--text-primary);
    --text-muted: var(--text-secondary);
    --accent-dark: #6b7280;
    --accent-rgb: 156, 163, 175;
    --input-bg: rgba(255, 255, 255, 0.06);
    --btn-gradient: linear-gradient(135deg, #a3a3a3 0%, #737373 100%);
    --btn-gradient-hover: linear-gradient(135deg, #d4d4d8 0%, #9ca3af 100%);
    --orb-1: rgba(156, 163, 175, 0.22);
    --orb-2: rgba(113, 113, 122, 0.18);
    --radius-sm: 12px;
    --radius-md: 16px;
    --radius-lg: 22px;
    --radius-pill: 999px;
    --font-display: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
}

html[data-theme='light'] {
    --bg-primary: #f4f4ef;
    --bg-secondary: #ffffff;
    --bg-elevated: #ecece6;
    --bg-glass: rgba(255, 255, 255, 0.78);
    --bg-glass-strong: rgba(255, 255, 255, 0.92);
    --text-primary: #18181b;
    --text-secondary: #52525b;
    --accent: #556b2f;
    --accent-hover: #6b8e23;
    --accent-soft: rgba(85, 107, 47, 0.12);
    --border-color: rgba(0, 0, 0, 0.08);
    --border-strong: rgba(0, 0, 0, 0.14);
    --shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
    --shadow-soft: 0 4px 16px rgba(0, 0, 0, 0.05);
    --overlay: rgba(244, 244, 239, 0.82);
    --success: #15803d;
    --warning: #a16207;
    --danger: #b91c1c;
    --bg-base: var(--bg-primary);
    --glass-bg: var(--bg-glass);
    --glass-bg-strong: var(--bg-glass-strong);
    --glass-border: var(--border-color);
    --glass-highlight: rgba(255, 255, 255, 0.65);
    --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.85);
    --glass-blur: 20px;
    --text: var(--text-primary);
    --text-muted: var(--text-secondary);
    --accent-dark: #3d4f21;
    --accent-rgb: 85, 107, 47;
    --input-bg: rgba(255, 255, 255, 0.9);
    --btn-gradient: linear-gradient(135deg, #6b8e23 0%, #556b2f 100%);
    --btn-gradient-hover: linear-gradient(135deg, #7aa028 0%, #4a5f24 100%);
    --orb-1: rgba(85, 107, 47, 0.18);
    --orb-2: rgba(107, 142, 35, 0.12);
    --radius-sm: 12px;
    --radius-md: 16px;
    --radius-lg: 22px;
    --radius-pill: 999px;
    --font-display: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

::selection {
    background: var(--accent-soft);
    color: var(--text-primary);
}

:focus-visible {
    outline: 2px solid var(--accent-hover);
    outline-offset: 2px;
}

.glass-panel {
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur)) saturate(1.35);
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(1.35);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
}

.glass-panel-strong {
    background: var(--glass-bg-strong);
    backdrop-filter: blur(calc(var(--glass-blur) + 4px)) saturate(1.4);
    -webkit-backdrop-filter: blur(calc(var(--glass-blur) + 4px)) saturate(1.4);
    border: 1px solid var(--border-strong);
    box-shadow: var(--glass-shadow);
}
