:root {
    --px-bg-primary: #0a0e1a;
    --px-bg-secondary: #111827;
    --px-surface: #141922;
    --px-surface-soft: #1a2230;
    --px-border: rgba(255, 255, 255, 0.08);
    --px-border-strong: rgba(255, 255, 255, 0.16);
    --px-text-primary: #e2e8f0;
    --px-text-secondary: #94a3b8;
    --px-text-muted: #64748b;
    --px-accent: #60a5fa;
    --px-accent-soft: rgba(96, 165, 250, 0.14);
    --px-cyan: #06b6d4;
    --px-purple: #8b5cf6;
    --px-success: #4ade80;
    --px-warning: #f59e0b;
    --px-danger: #f87171;
    --px-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
    --px-shadow-lg: 0 28px 64px rgba(0, 0, 0, 0.28);
}

[data-theme="light"] {
    --px-bg-primary: #0a0e1a;
    --px-bg-secondary: #111827;
    --px-surface: #141922;
    --px-surface-soft: #1a2230;
    --px-border: rgba(255, 255, 255, 0.08);
    --px-border-strong: rgba(255, 255, 255, 0.16);
    --px-text-primary: #e2e8f0;
    --px-text-secondary: #94a3b8;
    --px-text-muted: #64748b;
    --px-accent: #60a5fa;
    --px-accent-soft: rgba(96, 165, 250, 0.14);
    --px-cyan: #06b6d4;
    --px-purple: #8b5cf6;
    --px-success: #4ade80;
    --px-warning: #f59e0b;
    --px-danger: #f87171;
    --px-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
    --px-shadow-lg: 0 28px 64px rgba(0, 0, 0, 0.28);
}

html {
    color-scheme: dark;
}

[data-theme="light"] {
    color-scheme: dark;
}

.theme-toggle {
    display: none !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    border: 1px solid var(--px-border);
    background: var(--px-surface);
    color: var(--px-text-secondary);
    box-shadow: var(--px-shadow);
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, color .2s ease, background .2s ease, box-shadow .2s ease;
}

.theme-toggle:hover {
    transform: translateY(-1px);
    border-color: var(--px-border-strong);
    color: var(--px-text-primary);
}

[data-theme="dark"] .theme-toggle .fa-sun,
[data-theme="light"] .theme-toggle .fa-moon {
    display: none;
}

[data-theme="dark"] .theme-toggle .fa-moon,
[data-theme="light"] .theme-toggle .fa-sun {
    display: inline-block;
}

.topbar-utility-links {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}

.topbar-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 10px;
    border-radius: 10px;
    color: var(--px-text-secondary);
    border: 1px solid transparent;
    text-decoration: none;
    font-size: 12px;
    transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.topbar-link:hover {
    color: var(--px-text-primary);
    border-color: var(--px-border);
    background: var(--px-accent-soft);
}
