:root{--header-height:56px;--radius:8px;--radius-lg:12px;--board-max-width:400px;--transition-fast:0.15s}[data-theme=dark]{--color-bg:#121220;--color-surface:#1c1c30;--color-text:#e0e0ec;--color-text-muted:#8888a0;--color-primary:#5a7aff;--color-primary-hover:#4a6aef;--color-border:#3a3a58;--color-success:#2ecc71;--color-queen:#ffffff;--color-cell-border:rgba(255, 255, 255, 0.22);--color-board-border:#3a3a55;--color-overlay:rgba(0, 0, 0, 0.4)}[data-theme=light]{--color-bg:#f8f9fa;--color-surface:#ffffff;--color-text:#1a1a2e;--color-text-muted:#6c757d;--color-primary:#4361ee;--color-primary-hover:#3a56d4;--color-border:#dee2e6;--color-success:#2ecc71;--color-queen:#1a1a2e;--color-cell-border:rgba(0, 0, 0, 0.25);--color-board-border:#1a1a2e;--color-overlay:rgba(0, 0, 0, 0.4)}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100vh;display:flex;flex-direction:column}main{flex:1;display:flex;align-items:center;justify-content:center;padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;transition:background var(--transition-fast),opacity var(--transition-fast)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg)}.btn-icon{width:42px;height:42px;padding:0;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);color:var(--color-text)}.btn-icon svg{width:22px;height:22px}.btn-icon:hover{background:var(--color-bg)}.btn.disabled{opacity:.3;cursor:default;pointer-events:none}.overlay{position:fixed;inset:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s}.overlay.active{opacity:1;pointer-events:auto}.difficulty-easy{background:#d4edda;color:#155724}.difficulty-medium{background:#fff3cd;color:#856404}.difficulty-hard{background:#f8d7da;color:#721c24}.site-header{height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center}.header-inner{width:100%;max-width:800px;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between}.site-title{font-size:1.15rem;font-weight:700;color:var(--color-text);text-decoration:none;display:flex;align-items:center;gap:6px}.site-logo{flex-shrink:0}.header-right{display:flex;align-items:center;gap:12px}.lang-toggle,.theme-toggle{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);cursor:pointer;color:var(--color-text);transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);text-decoration:none}.lang-toggle:hover,.theme-toggle:hover{border-color:var(--color-text-muted);background:var(--color-bg)}.lang-toggle{width:56px;gap:3px;font-size:.75rem;font-weight:700;letter-spacing:.5px;font-family:inherit}.lang-flag{font-size:1rem;line-height:1}.lang-code{line-height:1;color:var(--color-text)}.theme-toggle .icon-sun,.theme-toggle .icon-moon{display:none}[data-theme=dark] .theme-toggle .icon-moon{display:block}[data-theme=light] .theme-toggle .icon-sun{display:block}.site-footer{padding:12px 16px;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--color-border);background:var(--color-surface)}.footer-inner{width:100%;max-width:800px;display:flex;align-items:center;justify-content:space-between;gap:12px}.footer-text p{font-size:.8rem;color:var(--color-text-muted);line-height:1.5}.footer-inner a{color:var(--color-primary);text-decoration:none;font-weight:500}.footer-inner a:hover{text-decoration:underline}.footer-github{flex-shrink:0;color:var(--color-text)}.footer-github:hover{text-decoration:none}.level-selector{text-align:center;width:100%;max-width:600px}.level-selector h2{margin-bottom:20px;font-size:1.4rem}.tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:4px}.tab{flex:1;padding:8px 16px;border:none;border-radius:6px;background:0 0;color:var(--color-text-muted);font-size:.875rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);font-family:inherit}.tab:hover{color:var(--color-text)}.tab.active{background:var(--color-primary);color:#fff}.tab-content{display:none}.tab-content.active{display:block}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.level-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:var(--color-text);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.level-card:hover{box-shadow:0 4px 12px rgba(0,0,0,8%);transform:translateY(-2px)}.level-number{font-size:1.6rem;font-weight:700}.level-name{font-size:1rem;font-weight:600}.level-difficulty,.game-difficulty{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:10px}.level-size{font-size:.8rem;color:var(--color-text-muted)}.game-container{width:100%;max-width:var(--board-max-width);display:flex;flex-direction:column;gap:16px}.game-row-info{display:flex;align-items:center;justify-content:space-between}.game-info-center{display:flex;align-items:center;gap:8px}.game-level{font-weight:700;font-size:1rem}.game-row-controls{display:flex;align-items:center;justify-content:space-between}.game-nav,.game-controls{display:flex;gap:6px}.game-stats{display:flex;align-items:center;gap:6px}.game-timer,.game-moves{font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.game-separator{color:var(--color-border);font-size:1rem}.game-stats .hidden{display:none}.game-stats .hidden+.game-separator{display:none}.game-board{display:grid;gap:0;background:var(--color-board-border);border:2px solid var(--color-board-border);border-radius:var(--radius);overflow:hidden;aspect-ratio:1}.cell{position:relative;overflow:hidden;cursor:pointer;transition:filter .1s;border:.5px solid var(--color-cell-border);user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.cell:hover{filter:brightness(.92)}.cell.has-queen{filter:brightness(.92)}.cell.has-mark{filter:brightness(.96)}.cell .queen,.cell .mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;user-select:none;pointer-events:none}.cell .queen{color:var(--color-queen)}.cell .queen svg{width:65%;height:65%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.cell .mark{font-size:calc(min(var(--board-max-width),80vw)/var(--grid-size) * .5);color:var(--color-queen);font-weight:700}.cell.cell-error::before,.cell.cell-error::after{content:"";position:absolute;top:50%;left:50%;width:110%;height:5px;background:#c82828;border-radius:2px;pointer-events:none;z-index:2;box-shadow:0 1px 3px rgba(0,0,0,.4)}.cell.cell-error::before{transform:translate(-50%,-50%)rotate(45deg)}.cell.cell-error::after{transform:translate(-50%,-50%)rotate(-45deg)}.cell.border-top{border-top:2px solid var(--color-board-border)}.cell.border-right{border-right:2px solid var(--color-board-border)}.cell.border-bottom{border-bottom:2px solid var(--color-board-border)}.cell.border-left{border-left:2px solid var(--color-board-border)}.game-bottom-bar{display:flex;align-items:center;justify-content:space-between}.controls-hint{font-size:.75rem;color:var(--color-text);text-align:center;line-height:1.4;opacity:.7}@media(pointer:coarse){.controls-hint{display:none}}.modal{background:var(--color-surface);padding:28px;border-radius:var(--radius-lg);max-width:400px;width:90%;box-shadow:0 8px 32px rgba(0,0,0,.15)}.modal h3{margin-bottom:16px;font-size:1.2rem}.modal ul{list-style:none;margin-bottom:20px}.modal ul li{padding:6px 0;padding-left:20px;position:relative;font-size:.9rem;line-height:1.5}.modal ul li::before{content:"\2022";position:absolute;left:4px;color:var(--color-primary);font-weight:700}.modal .btn{width:100%}.settings-list{margin-bottom:20px}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--color-border);font-size:.9rem;cursor:pointer}.settings-item:last-child{border-bottom:none}.settings-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.settings-hint{font-size:.75rem;color:var(--color-text-muted);text-align:center;margin-bottom:16px}.win-modal{background:var(--color-surface);padding:32px;border-radius:var(--radius-lg);max-width:360px;width:90%;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.15)}.win-modal h2{font-size:1.6rem;color:var(--color-success);margin-bottom:8px}.win-modal p{margin-bottom:20px;color:var(--color-text-muted)}.win-modal .btn{width:100%;margin-bottom:8px}.win-modal .btn:last-child{margin-bottom:0}@media(max-width:480px){.game-container{max-width:100%}.cell .mark{font-size:calc(80vw/var(--grid-size) * .5)}}