#new-puzzle-options{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);border-radius:10px;flex-direction:column;justify-content:center;align-self:center;gap:10px;padding:10px;display:flex}#main{justify-content:center;overflow-y:hidden}.difficulty-btn:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-radius:.375rem}#difficulty-dropdown{color:#333;cursor:pointer;background-color:#fff;border:2px solid #667eea;border-radius:5px;outline:none;padding:10px;font-size:.9em;font-weight:700;transition:all .3s;display:none}#difficulty-dropdown:hover{background-color:#f8f9fa;border-color:#5568d3}#difficulty-dropdown:focus{border-color:#764ba2;box-shadow:0 0 0 3px #667eea33}#controls{flex-direction:column;gap:10px;display:flex}@media (width>=768px){#controls{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}}.achievement-share{color:#0f172a;background:#f0fdfaf0;border:1px solid #0f766e47;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;width:min(100%,980px);margin:8px auto 0;padding:18px;display:grid;box-shadow:0 14px 34px #0f172a29}.achievement-share[hidden]{display:none}.achievement-share-label{color:#0f766e;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.75rem;font-weight:800}.achievement-share h2{color:#0f172a;margin:0;font-size:1.35rem;line-height:1.15}.achievement-share p{color:#475569;margin:6px 0 0}.achievement-share-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.achievement-share-actions a,.achievement-share-actions button{color:#0f766e;cursor:pointer;background:#fff;border:1px solid #99f6e4;border-radius:6px;justify-content:center;align-items:center;min-height:40px;padding:9px 12px;font-size:.9rem;font-weight:800;line-height:1.2;text-decoration:none;display:inline-flex}@media (width<=760px){.achievement-share{grid-template-columns:1fr}.achievement-share-actions{justify-content:flex-start}}.sudoku-grid{aspect-ratio:1;border:3px solid #333;flex-shrink:0;grid-template-columns:repeat(9,1fr);gap:0;width:100%;max-height:70vh;margin-bottom:8px;display:grid}.sudoku-cell{aspect-ratio:1;cursor:pointer;background:#fff;border:1px solid #999;justify-content:center;align-items:center;width:100%;padding:0;font-size:1.1em;font-weight:700;transition:background-color .2s,color .2s;display:flex;position:relative}.sudoku-cell:hover{background-color:#f0f0f0}.sudoku-cell:focus-within{outline-offset:-2px;z-index:3;outline:2px solid #667eea}.sudoku-cell.focus-peer input{box-shadow:inset 0 0 0 999px #ffdd5747}.sudoku-cell input{text-align:center;z-index:2;background:0 0;border:none;outline:none;width:100%;height:100%;padding:0;font-size:1.1em;font-weight:700}body.pencil-mode .sudoku-cell input{cursor:crosshair}body.pencil-mode .sudoku-cell.show-candidates:not(.has-value) input{color:#0000;caret-color:#0000}body.pencil-mode .sudoku-cell:not(.has-value):focus-within{outline-offset:-2px;outline:2px solid #27ae60}.candidates{pointer-events:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:2px;display:none;position:absolute;top:0;left:0}.sudoku-cell.show-candidates:not(.has-value) .candidates{display:grid}.sudoku-cell.has-value .candidates{display:none!important}.candidate{color:#ddd;pointer-events:auto;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:2px;justify-content:center;align-items:center;font-size:.55em;font-weight:400;line-height:1;transition:all .2s;display:flex}.candidate.active{color:#667eea;background-color:#667eea1a;font-weight:700}.candidate:hover{color:#999;background-color:#667eea26}.controls-group{flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:8px;margin-bottom:8px;display:flex}.toggle-container{cursor:pointer;color:#444;align-items:center;gap:8px;font-size:.85em;display:flex}.toggle-container input{cursor:pointer}.sudoku-cell input::placeholder{color:#ccc}.sudoku-cell:nth-child(3n):not(:nth-child(9n)){border-right:3px solid #333}.sudoku-cell:nth-child(n+19):nth-child(-n+27):not(:nth-child(n+73)),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:3px solid #333}.sudoku-cell.original input{color:#2c3e50;background-color:#e8f4f8;font-weight:700}.sudoku-cell.given input{color:#2c3e50;cursor:not-allowed;background-color:#e8f4f8;font-weight:700}.sudoku-cell.solved input{color:#27ae60;background-color:#ecf7ed}.sudoku-cell.error input{color:#e74c3c;background-color:#fadbd8}.sudoku-cell.highlight-primary{animation:.5s ease-in-out pulse-primary;background-color:#fff3cd!important}.sudoku-cell.highlight-secondary{animation:.5s ease-in-out pulse-secondary;background-color:#d1ecf1!important}.sudoku-cell.highlight-elimination{animation:.5s ease-in-out pulse-elimination;background-color:#f8d7da!important}@keyframes pulse-primary{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulse-secondary{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes pulse-elimination{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.btn-solve{color:#fff;background-color:#27ae60}.btn-solve:hover{background-color:#229954}.btn-solve:active{transform:scale(.95)}.btn-clear{color:#fff;background-color:#e74c3c}.btn-clear:hover{background-color:#c0392b}.btn-clear:active{transform:scale(.95)}.btn-example{color:#fff;background-color:#3498db}.btn-example:hover{background-color:#2980b9}.btn-example:active{transform:scale(.95)}.puzzle-and-steps-wrapper{flex-wrap:wrap;gap:12px;margin-bottom:8px;display:flex}.puzzle-and-steps-wrapper>section{flex:none}.steps-and-stats-column{flex-direction:column;flex:1;gap:12px;display:flex}.steps-container{background-color:#f8f9fa;border-radius:5px;flex-shrink:0;max-height:200px;padding:12px;font-size:.75em;display:none;overflow-y:auto}@media (width>=1024px){.steps-container{flex:1;max-width:400px;max-height:none}.steps-and-stats-column{max-width:400px;max-height:70vh}}.steps-container.visible{display:block}.step-controls{border-top:2px solid #e0e0e0;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.step-controls button{flex:0 auto;min-width:auto;padding:6px 12px;font-size:.85em}.step-info{color:#667eea;padding:4px 8px;font-size:.9em;font-weight:700}.solving-stats{background-color:#e7f3ff;border-radius:5px;flex-shrink:0;padding:10px;font-size:.85em;display:none}.solving-stats.visible{display:block}.solving-stats h4{color:#667eea;margin:0 0 8px}.stat-item{justify-content:space-between;margin:4px 0;display:flex}.stat-label{font-weight:700}.stat-value{color:#27ae60}.steps-container h3{color:#667eea;background-color:#f8f9fa;margin-bottom:8px;padding-bottom:4px;font-size:1.1em;position:sticky;top:0}.step{background-color:#fff;border-left:3px solid #667eea;border-radius:3px;margin-bottom:4px;padding:6px 8px;line-height:1.5}.step .step-number{color:#667eea;font-weight:700}.step .technique{color:#27ae60;font-weight:700}.step .cell-ref{color:#e74c3c;font-family:monospace}.btn-human-solve{color:#fff;background-color:#9b59b6}.btn-human-solve:hover{background-color:#8e44ad}.btn-human-solve:active{transform:scale(.95)}.btn-candidates-toggle{color:#fff;background-color:#f39c12;min-width:auto;padding:8px 12px;font-size:.75em}.btn-candidates-toggle:hover{background-color:#e67e22}.btn-candidates-toggle:active{transform:scale(.95)}.btn-candidates-clear{color:#fff;background-color:#95a5a6;min-width:auto;padding:8px 12px;font-size:.75em}.btn-candidates-clear:hover{background-color:#7f8c8d}.btn-candidates-clear:active{transform:scale(.95)}.btn-pencil-toggle{color:#fff;background-color:#16a085;align-items:center;gap:6px;min-width:auto;padding:8px 12px;font-size:.75em;display:flex}.btn-pencil-toggle:hover{background-color:#138d75}.btn-pencil-toggle:active{transform:scale(.95)}.btn-pencil-toggle.active{background-color:#27ae60;box-shadow:0 0 0 3px #27ae604d}.btn-pencil-toggle.active:hover{background-color:#229954}.btn-dark-mode{color:#fff;background-color:#34495e;align-items:center;gap:6px;min-width:auto;padding:8px 12px;font-size:.75em;display:flex}.btn-dark-mode:hover{background-color:#2c3e50}.btn-dark-mode:active{transform:scale(.95)}.btn-dark-mode.active{background-color:#f39c12;box-shadow:0 0 0 3px #f39c124d}.btn-dark-mode.active:hover{background-color:#e67e22}.btn-help{color:#fff;background-color:#3498db}.btn-help:hover{background-color:#2980b9}.btn-help:active{transform:scale(.95)}.btn-share{color:#fff;background-color:#667eea}.btn-share:hover{background-color:#5568d3}.btn-share:active{transform:scale(.95)}#helpDialog,#customPuzzleDialog{background:#fff;border:none;border-radius:12px;width:90%;max-width:700px;max-height:85vh;margin:0;padding:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0006}#customPuzzleDialog{max-width:500px}#helpDialog::backdrop,#customPuzzleDialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.custom-puzzle-form{flex-direction:column;gap:16px;margin-top:16px;display:flex}.custom-puzzle-form label{flex-direction:column;gap:8px;font-size:1em;display:flex}.clues-hint{color:#666;font-size:.85em;font-weight:400}.custom-puzzle-form input[type=number]{text-align:center;border:2px solid #667eea;border-radius:5px;outline:none;padding:12px;font-size:1.1em;font-weight:700;transition:all .3s}.custom-puzzle-form input[type=number]:focus{border-color:#764ba2;box-shadow:0 0 0 3px #667eea33}.difficulty-guide{background-color:#f8f9fa;border-radius:5px;padding:12px;font-size:.9em;line-height:1.6}.difficulty-guide>div{margin-bottom:4px}.difficulty-guide>div:first-child{margin-bottom:8px}.btn-generate-custom{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background-color:#667eea;border:none;border-radius:5px;padding:12px 20px;font-size:.95em;font-weight:700;transition:all .3s}.btn-generate-custom:hover{background-color:#5568d3}
