.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:space-around;flex:0 0 72px;width:72px;height:36px;padding:4px;border:1px solid #465046;border-radius:999px;background:#242c27;cursor:pointer;isolation:isolate;transition:background .2s,border-color .2s}
.theme-toggle .theme-toggle-thumb{position:absolute;inset:3px auto 3px 3px;width:calc(50% - 3px);border-radius:50%;background:#d4dfc7;box-shadow:0 2px 5px #0003;transform:translateX(100%);transition:transform .24s ease,background .2s;z-index:-1}
.theme-toggle svg{width:17px;height:17px;stroke-width:1.8;flex-shrink:0;transition:color .2s}
.theme-toggle-sun{color:#96a292}.theme-toggle-moon{color:#2a3b2b}
.theme-toggle:hover{border-color:#8c9c80}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.theme-toggle[aria-checked="true"]{background:#e8ece2;border-color:#c9d1bf}
.theme-toggle[aria-checked="true"] .theme-toggle-thumb{transform:translateX(0);background:#fffaf0}
.theme-toggle[aria-checked="true"] .theme-toggle-sun{color:#95652a}
.theme-toggle[aria-checked="true"] .theme-toggle-moon{color:#7a8675}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle *{transition:none}}
:root[data-theme="light"] .sidebar,:root[data-theme="light"] .topbar{background:#fafbf6}
:root[data-theme="light"] .player{background:#f0f3e9}
:root[data-theme="light"] .nav-item.active{background:#e1e9d6;color:#293c2b}
:root[data-theme="light"] .brand{color:#27392c}
:root[data-theme="light"] .primary{background:#f3a087;color:#302a21}
:root[data-theme="light"] .hero{box-shadow:0 6px 24px #35482c09}
@media(max-width:540px){.top-right{gap:8px}.top-right .theme-toggle{flex-basis:64px;width:64px}}
:root[data-theme="light"] .sudoku-pro .sudoku-cell.selected{background:#d2e4bf;color:#233820;box-shadow:inset 0 0 0 2px #527047}:root[data-theme="light"] .sudoku-pro .sudoku-cell.conflict{background:#f5d9d2;color:#973b2d}
@media(max-width:700px){.top-right .theme-toggle{position:fixed;top:13px;right:14px;z-index:25;width:60px;height:36px;flex-basis:60px}.sidebar{padding-right:84px}.sidebar nav{min-width:0;overflow-x:auto;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.sidebar>.brand{flex-shrink:0;margin-right:8px}.sidebar .nav-item{flex-shrink:0}}
