.theme-toggle{position:fixed;top:var(--space-lg);right:var(--space-lg);background:var(--theme-bg-elevated);border:2px solid var(--theme-border);border-radius:0;padding:var(--space-md);cursor:pointer;z-index:1000;width:52px;height:52px;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast)var(--ease-out);box-shadow:var(--elevation-1);overflow:hidden;}.theme-toggle::before{content:'';position:absolute;top:0;right:0;width:12px;height:12px;background:var(--color-accent-hot);clip-path:polygon(100% 0,100% 100%,0 0);transition:all var(--duration-fast)var(--ease-out);}.theme-toggle:hover{transform:translateY(-2px)translateX(2px);box-shadow:-4px 4px 0 var(--color-accent-cool);border-color:var(--color-accent-cool);}.theme-toggle:hover::before{width:16px;height:16px;}.theme-toggle:active{transform:translateY(0)translateX(0);box-shadow:none;}.theme-toggle .icon{width:24px;height:24px;color:var(--theme-text-primary);transition:all var(--duration-normal)var(--ease-out);position:relative;z-index:1;}[data-theme="light"] .theme-toggle .moon-icon{display:block;}[data-theme="light"] .theme-toggle .sun-icon{display:none;}[data-theme="dark"] .theme-toggle .sun-icon{display:block;}[data-theme="dark"] .theme-toggle .moon-icon{display:none;}[data-theme="dark"] .theme-toggle .icon{color:var(--color-accent-cool);}.theme-toggle.changing .icon{transform:rotate(360deg)scale(1.2);}.theme-toggle.changing{animation:glitch-toggle 0.3s;}@keyframes glitch-toggle{0%,100%{transform:translate(0);}25%{transform:translate(-2px,2px);}50%{transform:translate(2px,-2px);}75%{transform:translate(-2px,-2px);}}.theme-toggle{animation:pulse-in 0.6s var(--ease-out)1.5s backwards;}@keyframes pulse-in{0%{transform:scale(0);opacity:0;}50%{transform:scale(1.1);}100%{transform:scale(1);opacity:1;}}@media(max-width:960px){.theme-toggle{top:var(--space-md);right:var(--space-md);width:48px;height:48px;}.theme-toggle .icon{width:20px;height:20px;}}@media(prefers-reduced-motion:reduce){.theme-toggle{animation:none;}.theme-toggle.changing .icon{transform:none;}.theme-toggle.changing{animation:none;}}