.theme-switcher{display:inline-block;position:relative}.theme-switcher-trigger{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);cursor:pointer;transition:all .3s var(--animation-easing,ease);-webkit-user-select:none;user-select:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.theme-switcher-trigger:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-accent-primary)}.theme-switcher-trigger:focus{outline:2px solid var(--color-accent-primary);outline-offset:2px}.theme-switcher-current{white-space:nowrap}.theme-switcher-icon{transition:transform .3s var(--animation-easing,ease);color:var(--color-text-secondary)}.theme-switcher-icon.open{transform:rotate(180deg)}.theme-switcher-dropdown{z-index:1000;min-width:16rem;max-width:20rem;animation:dropdown-enter .2s var(--animation-easing,ease);border-radius:.5rem;margin:0;padding:.5rem;list-style:none;position:absolute;top:calc(100% + .5rem);right:0}@keyframes dropdown-enter{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.theme-option{cursor:pointer;transition:all .2s var(--animation-easing,ease);border-radius:.375rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.theme-option:hover,.theme-option.focused{background-color:var(--color-bg-tertiary)}.theme-option.active{background-color:var(--color-accent-primary);color:var(--color-bg-primary)}.theme-option.active .theme-option-description{color:var(--color-bg-secondary)}.theme-option-content{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.theme-option-name{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.theme-option-description{color:var(--color-text-secondary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.3;display:-webkit-box;overflow:hidden}.theme-option-check{color:currentColor;flex-shrink:0}.theme-switcher-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.theme-button{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);cursor:pointer;transition:all .3s var(--animation-easing,ease);-webkit-user-select:none;user-select:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.theme-button:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-accent-primary);transform:translateY(-1px)}.theme-button:focus{outline:2px solid var(--color-accent-primary);outline-offset:2px}.theme-button.active{background-color:var(--color-accent-primary);color:var(--color-bg-primary);border-color:var(--color-accent-primary)}.theme-button-name{white-space:nowrap}@media (max-width:640px){.theme-switcher-dropdown{min-width:auto;left:0;right:0}.theme-switcher-trigger{justify-content:space-between;width:100%}.theme-switcher-buttons{width:100%}.theme-button{flex:1;min-width:0}}@media (prefers-reduced-motion:reduce){.theme-switcher-trigger,.theme-switcher-icon,.theme-option,.theme-button{transition:none}.theme-switcher-dropdown{animation:none}.theme-button:hover{transform:none}}@media (prefers-contrast:high){.theme-switcher-trigger,.theme-button{border-width:2px}.theme-option.active{outline-offset:-2px;outline:2px solid}}
