/* =============================================
   THEME SWITCHER
   ============================================= */
.theme-switcher {
    position: fixed;
    top: 80px;
    right: 0;
    z-index: 200;
    flex-direction: column;
    gap: 4px;
    padding: 10px 8px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-right: none;
    border-radius: var(--radius-md) 0 0 var(--radius-md);
    box-shadow: var(--shadow-card);
}

.theme-switcher__label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--color-muted);
    text-transform: uppercase;
    margin-bottom: 4px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    align-self: center;
    padding: 6px 0;
}

.theme-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 3px solid transparent;
    cursor: pointer;
    transition: transform var(--transition-fast), border-color var(--transition-fast);
    position: relative;
}
.theme-btn:hover { transform: scale(1.15); }
.theme-btn:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; }
.theme-btn.active { border-color: var(--color-text); }
.theme-btn--red { background: linear-gradient(135deg, #611116 60%, #CFA65A 100%); }
.theme-btn--blue { background: linear-gradient(135deg, #032650 60%, #2B7EAD 100%); }
.theme-btn--green { background: linear-gradient(135deg, #2F5D50 60%, #6D9B7B 100%); }
.theme-btn--accessible { background: linear-gradient(135deg, #000 60%, #FFD500 100%); border-color: #555; }
