.theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    background: transparent;
    color: var(--color-text-muted);
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    cursor: pointer;
    flex: none;
}
.theme-toggle:hover {
    color: var(--color-text);
    background: var(--color-accent-soft);
}
.theme-toggle:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}
.theme-toggle svg {
    width: 18px;
    height: 18px;
    display: block;
}
.l-header-right .theme-toggle {
    margin-right: var(--space-2);
}
.l-mobile-menu-theme {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) 0;
}
.l-mobile-menu-theme .theme-toggle {
    width: 44px;
    height: 44px;
}
.l-mobile-theme-label {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

@media (max-width: 640px) {
    .public-header .theme-toggle {
        width: 44px;
        height: 44px;
    }
}
