.theme-controls {
    position: fixed;
    top: 0.5rem;
    right: 0.5rem;
    display: flex;
    flex-direction: row-reverse;
    gap: 0.5rem;
    align-items: center;
    z-index: 100;
}

.theme-toggle {
    border: none;
    cursor: pointer;
    font-size: 1.25rem;
    padding: 0.4rem;
    border-radius: 50%;
    background-color: rgba(200, 200, 200, 0.3);
    transition: background-color 0.3s ease;
}

[data-theme="dark"] .theme-toggle {
    background-color: rgba(50, 50, 50, 0.5);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) .theme-toggle {
        background-color: rgba(50, 50, 50, 0.5);
    }
}

.theme-select {
    font-size: 0.9rem;
    padding: 0.25rem 0.4rem;
}

.theme-status {
    font-size: 0.85rem;
    color: var(--color-text-light);
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none; /* purely informative */
}

.theme-status.show {
    opacity: 1;
}

.visually-hidden {
    position: absolute !important;
    height: 1px; width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap; /* added line */
}
