.theme-switcher{z-index:50;position:fixed;bottom:24px;right:24px}.theme-fab{border:1px solid var(--border);background:var(--bg-secondary);width:54px;height:54px;color:var(--text-primary);box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;transition:transform .35s cubic-bezier(.2,.7,.2,1),color .2s,border-color .2s;display:flex}.theme-fab:hover{border-color:var(--accent);color:var(--accent);transform:rotate(-15deg)scale(1.06)}.theme-fab.open{border-color:var(--accent);color:var(--accent);transform:rotate(-30deg)scale(1.06)}.theme-menu{border:1px solid var(--border);background:var(--bg-primary);min-width:260px;box-shadow:var(--shadow-lg);transform-origin:100% 100%;border-radius:18px;flex-direction:column;gap:.35rem;padding:.5rem;animation:.22s cubic-bezier(.2,.7,.2,1) both themeMenuIn;display:flex;position:absolute;bottom:68px;right:0}@keyframes themeMenuIn{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:none}}.theme-menu-title{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;padding:.5rem .65rem .35rem;font-size:.8rem;font-weight:700}.theme-option{width:100%;color:var(--text-primary);text-align:left;border:1px solid #0000;border-radius:12px;align-items:center;gap:.75rem;padding:.55rem .65rem;transition:background-color .2s,border-color .2s;display:flex}.theme-option:hover{background:var(--bg-secondary)}.theme-option.active{border-color:var(--accent);background:var(--accent-soft)}.theme-preview{border:2px solid;border-radius:9px;flex-shrink:0;justify-content:center;align-items:flex-end;width:46px;height:36px;padding:6px 6px 0;display:flex;overflow:hidden}.theme-preview-card{border-radius:4px 4px 0 0;flex-direction:column;gap:3px;width:100%;height:100%;padding:4px 5px;display:flex}.theme-preview-card span{border-radius:2px;height:4px;display:block}.theme-preview-card span:first-child{opacity:.8;width:80%}.theme-preview-card span:last-child{width:50%}.theme-option-text{flex-direction:column;flex:1;min-width:0;display:flex}.theme-option-text strong{font-size:.95rem}.theme-option-text small{color:var(--text-secondary);font-size:.78rem}.theme-check{color:var(--accent);flex-shrink:0}@media (max-width:768px){.theme-switcher{right:16px;bottom:calc(96px + env(safe-area-inset-bottom))}body:not(:has(.bottom-nav)) .theme-switcher{bottom:calc(16px + env(safe-area-inset-bottom))}.theme-fab{width:46px;height:46px}body:has(.bottom-nav) .theme-switcher{display:none}}
