*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Arial,sans-serif;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;padding:20px}
.container{background:#fff;border-radius:20px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,0.3);max-width:900px;margin:0 auto}
h1{text-align:center;color:#667eea;margin-bottom:20px}
h2{color:#667eea;margin-top:25px;margin-bottom:15px;font-size:1.5em;border-bottom:2px solid #667eea;padding-bottom:8px}
h3{color:#764ba2;margin-top:20px;margin-bottom:10px;font-size:1.2em}
.controls{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;justify-content:center}
button{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;touch-action:manipulation}
button:hover{background:#5568d3;transform:translateY(-2px)}
button:active{transform:translateY(0)}
.game-wrapper{display:flex;justify-content:center;margin:20px 0;overflow-x:auto}
.hints-row{display:flex;margin-bottom:5px}
.hints-corner{width:80px}
.hints-top{display:flex}
.hint-col{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-height:80px;padding:3px}
.hint-number{font-weight:bold;color:#333;font-size:13px;margin:1px 0}
.game-row{display:flex}
.hints-left{display:flex;align-items:center;justify-content:flex-end;min-width:80px;padding:3px;gap:4px}
.grid{display:inline-block;border:3px solid #333}
.row{display:flex}
.cell{width:40px;height:40px;border:1px solid #ccc;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:bold;color:#999;user-select:none;touch-action:none;transition:background 0.15s}
.cell:hover{background:#f0f0f0}
.cell:active{background:#e0e0e0}
.cell.filled{background:#333;color:#333}
.cell.marked{background:#fff;color:#666}
.cell:nth-child(5n){border-right:2px solid #666}
.row:nth-child(5n) .cell{border-bottom:2px solid #666}
.message{text-align:center;margin-top:20px;font-size:1.3em;font-weight:bold;min-height:30px;padding:15px;border-radius:10px}
.message.success{color:#27ae60;background:#d5f4e6;animation:celebrate 0.5s ease}
.message.error{color:#e74c3c;background:#fadbd8}
@keyframes celebrate{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.instructions{background:#f8f9fa;padding:20px;border-radius:10px;margin-bottom:25px;font-size:15px;line-height:1.8}
.instructions strong{color:#667eea}
.quick-guide{background:#e8f4f8;padding:15px;border-radius:8px;margin-bottom:20px;border-left:4px solid #667eea}
.example-box{background:#fff3cd;padding:15px;border-radius:8px;margin:15px 0;border-left:4px solid #ffc107}
.example-box strong{color:#856404}
.tip-box{background:#d1ecf1;padding:12px;border-radius:8px;margin:10px 0;border-left:4px solid #0c5460}
.tip-box strong{color:#0c5460}
.strategy-list{margin-left:20px}
.strategy-list li{margin-bottom:12px;line-height:1.6}
.toggle-btn{background:#764ba2;margin-bottom:15px}
.toggle-btn:hover{background:#5d3a7f}
.tutorial-content{display:none;margin-top:15px}
.tutorial-content.active{display:block}
@media (max-width:768px){
    .container{padding:15px}
    h1{font-size:1.8em}
    h2{font-size:1.3em}
    h3{font-size:1.1em}
    .cell{width:32px;height:32px;font-size:20px}
    .hints-corner{width:60px}
    .hints-left{min-width:60px}
    .hint-col{min-height:60px}
    .hint-number{font-size:11px}
    button{padding:10px 16px;font-size:14px}
    .instructions{font-size:14px;padding:15px}
}

.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,0.6);justify-content:center;align-items:center}
.modal-content{background:#fff;padding:30px;border-radius:15px;max-width:500px;width:90%;box-shadow:0 10px 40px rgba(0,0,0,0.3)}
.modal-content h2{color:#667eea;margin-bottom:20px;text-align:center}
.modal-option{margin:20px 0}
.modal-option label{display:block;font-weight:bold;color:#333;margin-bottom:8px}
.modal-option select{width:100%;padding:10px;border:2px solid #ddd;border-radius:8px;font-size:16px;cursor:pointer}
.modal-option select:focus{outline:none;border-color:#667eea}
.modal-info{background:#e8f4f8;padding:15px;border-radius:8px;margin:20px 0;border-left:4px solid #667eea;font-size:14px;line-height:1.6}
.modal-buttons{display:flex;gap:10px;margin-top:25px}
.modal-buttons button{flex:1}
