*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}h1,h2,h3{font-family:Comic Sans MS,Chalkboard,Marker Felt,cursive}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(145deg,#667eea,#764ba2);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(145deg,#5a67d8,#6b46c1)}::selection{background:#667eea;color:#fff}:focus-visible{outline:3px solid #667eea;outline-offset:2px}.cell{width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative;font-weight:700}.cell-light{background-color:#f5e6d3}.cell-dark{background-color:#b58863}.cell-knight{background:linear-gradient(145deg,gold,#fa0)!important;box-shadow:inset 0 0 15px #ffffff80;animation:pulse 1s ease-in-out infinite}.knight{font-size:2rem;color:#333;text-shadow:2px 2px 4px rgba(0,0,0,.3);filter:drop-shadow(0 0 5px rgba(255,215,0,.5))}.cell-valid{background:linear-gradient(145deg,#90ee90,#32cd32)!important;box-shadow:inset 0 0 10px #fff6;animation:glow 1.5s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:inset 0 0 10px #fff6}50%{box-shadow:inset 0 0 20px #fffc,0 0 10px #32cd3280}}.valid-indicator{font-size:1.5rem;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.8);animation:bounce .5s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.cell-invalid{background:linear-gradient(145deg,#ff6b6b,#ee5a5a)!important;animation:shake .3s ease-in-out;box-shadow:inset 0 0 15px #ff000080}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.cell-visited{background:linear-gradient(145deg,#a0c4e8,#7eb3e0)!important;position:relative}.cell-number{font-size:.9rem;color:#2c5282;font-weight:700;text-shadow:1px 1px 2px rgba(255,255,255,.8)}.cell-available:hover{background:linear-gradient(145deg,#98fb98,#7cfc00)!important;transform:scale(1.1);z-index:1;box-shadow:0 0 15px #7cfc0099}.cell:hover:not(.cell-visited):not(.cell-knight){transform:scale(1.05);z-index:1}.cell-valid:hover{transform:scale(1.15)!important;box-shadow:0 0 20px #32cd32cc}@media(max-width:600px){.cell{width:40px;height:40px}.knight{font-size:1.6rem}.cell-number{font-size:.75rem}.valid-indicator{font-size:1.1rem}}@media(max-width:550px){.cell{width:calc((100vw - 36px)*.1);height:calc((100vw - 36px)*.1)}.knight{font-size:calc((100vw - 36px)*.06)}.cell-number{font-size:calc((100vw - 36px) / 10 * .28)}.valid-indicator{font-size:calc((100vw - 36px) / 10 * .4)}}@media(min-width:551px)and (max-width:600px){.cell{width:45px;height:45px}}.board{display:flex;flex-direction:column;border:4px solid #4a4a4a;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 10px #0003}.board-row{display:flex}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:linear-gradient(145deg,#fff,#f5f5f5);border-radius:25px;padding:30px;max-width:450px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.ranking-modal h2{text-align:center;color:#667eea;margin-bottom:25px;font-size:1.8rem}.no-rankings{text-align:center;color:#888;font-size:1.2rem;padding:30px}.ranking-list{display:flex;flex-direction:column;gap:10px;margin-bottom:25px}.ranking-entry{display:flex;align-items:center;padding:12px 15px;background:linear-gradient(to right,#f0f0f0,#fff);border-radius:12px;transition:transform .2s ease}.ranking-entry:hover{transform:translate(5px)}.ranking-entry.top-three{background:linear-gradient(to right,#fff9e6,#fff);border:2px solid #ffd700}.ranking-position{font-size:1.5rem;min-width:50px;text-align:center}.ranking-name{flex:1;font-weight:700;color:#333;font-size:1.1rem}.ranking-score{color:#667eea;font-weight:700;font-size:1rem}.modal-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.btn-primary{background:linear-gradient(145deg,#667eea,#5a67d8);color:#fff;padding:12px 30px;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn-danger{background:linear-gradient(145deg,#ff6b6b,#ee5a5a);color:#fff;padding:12px 20px;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 5px 20px #ee5a5a66}.game-over-modal{text-align:center}.game-over-modal h2{color:#667eea;font-size:2rem;margin-bottom:20px;animation:celebrate 1s ease-in-out infinite}@keyframes celebrate{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.score-display{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-bottom:15px}.score-label{font-size:1.3rem;color:#555}.score-value{font-size:4rem;font-weight:700;background:linear-gradient(145deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}.score-max{font-size:1.5rem;color:#999}.score-message{font-size:1.4rem;color:#444;margin-bottom:25px;padding:10px;background:linear-gradient(to right,#f0f0f0,#fff,#f0f0f0);border-radius:10px}.top-player-section{background:linear-gradient(145deg,#fff9e6,#fff5d6);border:3px solid #ffd700;border-radius:20px;padding:20px;margin-bottom:25px;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{box-shadow:0 0 20px #ffd7004d}50%{box-shadow:0 0 40px #ffd70099}}.congrats{font-size:1.3rem;color:#b8860b;font-weight:700;margin-bottom:15px}.position-text{display:block;margin-top:5px;font-size:1.1rem;color:#666}.name-input-container{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.name-input{padding:12px 20px;font-size:1.1rem;border:3px solid #ddd;border-radius:12px;outline:none;transition:all .3s ease;min-width:200px}.name-input:focus{border-color:#667eea;box-shadow:0 0 15px #667eea4d}.btn-save{background:linear-gradient(145deg,#4caf50,#45a049);color:#fff;padding:12px 25px;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #4caf5066}.btn-save:disabled{opacity:.5;cursor:not-allowed}.saved-message{font-size:1.3rem;color:#4caf50;font-weight:700;margin-bottom:20px;animation:fadeIn .5s ease}.modal-buttons{display:flex;gap:15px;justify-content:center;margin-top:20px}.btn-restart-modal{background:linear-gradient(145deg,#42a5f5,#1e88e5);color:#fff;padding:15px 30px;border:none;border-radius:15px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-restart-modal:hover{transform:translateY(-3px);box-shadow:0 6px 25px #1e88e566}.btn-close{background:linear-gradient(145deg,#9e9e9e,#757575);color:#fff;padding:15px 30px;border:none;border-radius:15px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-close:hover{transform:translateY(-3px);box-shadow:0 6px 25px #75757566}@media(max-width:500px){.score-value{font-size:3rem}.score-message{font-size:1.2rem}.congrats{font-size:1.1rem}.name-input{min-width:150px}.btn-restart-modal,.btn-close{padding:12px 20px;font-size:1rem}}.help-modal{max-width:500px}.help-modal h2{text-align:center;color:#667eea;margin-bottom:20px;font-size:1.8rem}.help-content{max-height:60vh;overflow-y:auto;padding-right:10px}.help-section{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.help-section:last-child{border-bottom:none;margin-bottom:10px}.help-section h3{color:#333;font-size:1.2rem;margin-bottom:10px}.help-section p{color:#555;line-height:1.6;margin-bottom:8px}.help-section ul{color:#555;padding-left:20px;line-height:1.8}.knight-diagram{display:flex;justify-content:center;margin:15px 0}.diagram-grid{display:grid;grid-template-columns:repeat(5,35px);grid-template-rows:repeat(5,35px);gap:2px;background:#333;padding:2px;border-radius:5px}.diagram-cell{background:#f5e6d3;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.diagram-cell:nth-child(2n){background:#b58863}.diagram-cell.knight{background:linear-gradient(145deg,gold,#fa0)!important;font-size:1.5rem}.diagram-cell.valid{background:linear-gradient(145deg,#90ee90,#32cd32)!important;color:#fff}.color-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px}.legend-item{display:flex;align-items:center;gap:10px}.legend-color{width:25px;height:25px;border-radius:5px;flex-shrink:0}.legend-color.green{background:linear-gradient(145deg,#90ee90,#32cd32)}.legend-color.red{background:linear-gradient(145deg,#ff6b6b,#ee5a5a)}.legend-color.blue{background:linear-gradient(145deg,#a0c4e8,#7eb3e0)}.legend-color.gold{background:linear-gradient(145deg,gold,#fa0)}.help-modal .btn-primary{display:block;width:100%;margin-top:15px}@media(max-width:500px){.help-modal{padding:20px}.help-modal h2{font-size:1.5rem}.color-legend{grid-template-columns:1fr}.diagram-grid{grid-template-columns:repeat(5,30px);grid-template-rows:repeat(5,30px)}}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:10px;background:linear-gradient(135deg,#667eea,#764ba2);box-sizing:border-box}.header{width:100%;max-width:600px;margin-bottom:8px}.header-content{display:flex;align-items:center;justify-content:center;position:relative}.header h1{font-size:1.8rem;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3);margin:0;text-align:center}.header-buttons{display:flex;gap:8px;position:absolute;right:0}.btn-small{padding:8px 12px!important;font-size:1.2rem!important;min-width:auto!important}.menu-toggle{position:absolute;right:0;background:#fff3;border:none;color:#fff;font-size:1.5rem;padding:8px 12px;border-radius:10px;cursor:pointer;transition:background .3s}.menu-toggle:hover{background:#ffffff4d}.mobile-menu{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:15px;background:#fffffff2;border-radius:15px;box-shadow:0 5px 20px #0003}.mobile-menu button{padding:12px 20px;font-size:1rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;background:linear-gradient(145deg,#667eea,#764ba2);color:#fff;transition:transform .2s,opacity .2s}.mobile-menu button:hover:not(:disabled){transform:scale(1.02)}.mobile-menu button:disabled{opacity:.5;cursor:not-allowed}.desktop-only{display:flex}.mobile-only{display:none}.game-info{background:#fff;border-radius:15px;padding:10px 20px;margin-bottom:8px;box-shadow:0 4px 15px #0003;text-align:center}.turn-counter{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:5px}.turn-label{font-size:1.1rem;color:#555;font-weight:700}.turn-number{font-size:2rem;font-weight:700;color:#667eea}.max-score{font-size:1rem;color:#999}.message{font-size:.95rem;color:#444;font-weight:500;padding:5px 10px;background:linear-gradient(to right,#f0f0f0,#fff,#f0f0f0);border-radius:8px}.game-container{background:#fff;border-radius:15px;padding:10px;box-shadow:0 8px 30px #0000004d}.controls{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;justify-content:center}.btn{padding:10px 18px;font-size:.95rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 3px 10px #0003;display:flex;align-items:center;gap:6px;color:#fff}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #0000004d}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-undo{background:linear-gradient(145deg,#ffa726,#fb8c00)}.btn-restart{background:linear-gradient(145deg,#42a5f5,#1e88e5)}.btn-help{background:linear-gradient(145deg,#66bb6a,#43a047)}.btn-ranking{background:linear-gradient(145deg,#ab47bc,#8e24aa)}@media(max-width:700px){.header h1{font-size:1.5rem}.controls{gap:8px}.btn{padding:8px 14px;font-size:.9rem}}@media(max-width:550px){.app{padding:8px}.desktop-only{display:none!important}.mobile-only{display:flex}.header{margin-bottom:6px}.header h1{font-size:1.3rem}.game-info{padding:8px 15px;margin-bottom:6px;width:calc(100% - 16px)}.turn-number{font-size:1.6rem}.turn-label{font-size:1rem}.message{font-size:.85rem}.game-container{padding:10px;width:calc(100vw - 16px);box-sizing:border-box}}@media(max-width:400px){.header h1{font-size:1.1rem}.game-info{padding:6px 12px}.turn-number{font-size:1.4rem}.message{font-size:.8rem;padding:4px 8px}}@media(max-height:750px){.app{padding:5px}.header{margin-bottom:5px}.game-info{padding:6px 15px;margin-bottom:5px}.turn-counter{margin-bottom:3px}.game-container{padding:8px}.controls{margin-top:8px}.btn{padding:8px 14px}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}
