*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;color:#333}.container{max-width:600px;width:100%;background:white;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);padding:30px}header{text-align:center;margin-bottom:20px}header h1{font-size:2.5em;color:#4a5568;font-weight:300;letter-spacing:2px}.game-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px}.difficulty-selector{display:flex;align-items:center;gap:10px}.difficulty-selector label{font-weight:500;color:#4a5568}.difficulty-selector select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;background:white;cursor:pointer;transition:border-color .2s}.difficulty-selector select:disabled{background:#f7fafc;cursor:not-allowed;color:#718096}.difficulty-selector select:not(:disabled):hover{border-color:#cbd5e0}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#4299e1;color:white}.btn-primary:hover{background:#3182ce;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover{background:#cbd5e0}.stats-bar{display:flex;justify-content:space-around;background:#f7fafc;padding:15px;border-radius:8px;margin-bottom:20px;flex-wrap:wrap;gap:10px}.stat{display:flex;flex-direction:column;align-items:center;gap:5px}.stat-label{font-size:12px;color:#718096;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:20px;font-weight:600;color:#2d3748}.github-link-container{display:flex;margin-top:30px;margin-bottom:5px}.github-link,.github-link-container{justify-content:center;align-items:center}.github-link{display:inline-flex;color:#333;transition:color .2s,transform .2s;text-decoration:none}.github-link:hover{color:#000;transform:scale(1.1)}.github-link svg{display:block}.number-pad{display:flex;justify-content:center;margin:20px 0;padding:0 20px}.number-pad-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;max-width:300px;width:100%}.number-pad-button{padding:15px;font-size:20px;font-weight:600;border:2px solid #4299e1;border-radius:8px;background:white;color:#4299e1;cursor:pointer;transition:all .2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.number-pad-button:active{background:#4299e1;color:white;transform:scale(.95)}.number-pad-button:hover{background:#bee3f8;transform:translateY(-2px);box-shadow:0 4px 8px rgba(66,153,225,.2)}.number-pad-clear{grid-column:span 3;background:#e2e8f0;color:#4a5568;border-color:#cbd5e0}.number-pad-clear:hover{background:#cbd5e0;box-shadow:0 4px 8px rgba(0,0,0,.1)}.number-pad-clear:active{background:#a0aec0;color:white}.mobile-number-input{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;border:none;padding:0;margin:0;font-size:1px;z-index:-1}.game-board-container{display:flex;justify-content:center;margin-bottom:20px}.game-board{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);grid-gap:0;gap:0;border:2px solid #2d3748;background:#2d3748;width:100%;max-width:450px;aspect-ratio:1}.cell{background:white;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:500;color:#2d3748;cursor:pointer;transition:background-color .15s;position:relative}.cell:hover:not(.cell-prefilled):not(.cell-locked){background:#edf2f7}.cell-prefilled{background:#f7fafc;color:#4a5568;cursor:default;font-weight:600}.cell-locked{cursor:default;font-weight:500}.cell-selected{background:#bee3f8!important}.cell-error{animation:redFlash .3s}@keyframes redFlash{0%,to{background-color:white}50%{background-color:#fc8181}}.cell-completed-box,.cell-completed-column,.cell-completed-row{background:#e6f3ff!important;transition:background .2s}.cell-selected.cell-completed-box,.cell-selected.cell-completed-column,.cell-selected.cell-completed-row{background:#e6f3ff!important}.cell:nth-child(3n){border-right:2px solid #2d3748}.cell:nth-child(n+19):nth-child(-n+27),.cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #2d3748}.score-popup{position:absolute;font-size:16px;font-weight:600;color:#48bb78;pointer-events:none;z-index:10;opacity:.8;animation:scorePop .3s ease-out forwards}@keyframes scorePop{0%{transform:translateY(0);opacity:.8}to{transform:translateY(-15px);opacity:0}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:1000;justify-content:center;align-items:center;animation:fadeIn .2s}.modal.show{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:white;padding:30px;border-radius:12px;max-width:400px;width:90%;box-shadow:0 10px 25px rgba(0,0,0,.2);animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{margin-bottom:20px;color:#2d3748;text-align:center}.modal-content p{margin-bottom:10px;color:#4a5568;font-size:16px;text-align:center}.win-message{text-align:center;color:#48bb78;font-size:18px;font-weight:500;margin-bottom:20px}.modal-stats{margin-bottom:25px}.modal-stats p{margin-bottom:10px;font-size:16px;color:#4a5568;text-align:left}.modal-stats strong{color:#2d3748}.modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:0}.modal-actions .btn{min-width:140px}@media (max-width:600px){.container{padding:20px}header h1{font-size:2em}.game-controls{flex-direction:column;align-items:stretch}.difficulty-selector{justify-content:space-between}.stats-bar{gap:15px}.cell{font-size:16px}.modal-content{padding:20px}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}.number-pad{margin:15px 0;padding:0 10px}.number-pad-grid{max-width:100%;gap:8px}.number-pad-button{padding:18px;font-size:22px}}