:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;padding:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{margin-top:0;line-height:1.2}button{border-radius:4px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#4a90e2;color:#fff;cursor:pointer;transition:background-color .25s}button:hover{background-color:#357abd}button:focus,button:focus-visible{outline:2px solid #4a90e2;outline-offset:2px}button:disabled{background-color:#ccc;cursor:not-allowed}.cell{width:40px;height:40px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;background-size:cover;background-position:center;position:relative}.empty{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAVElEQVQokWPM2mfAgApMxNgZGBjOvPrJgA0wYRXFA1gwTcU0G1mWXBswTcK0EyJCmQ34XQ8B5NqAbAbEVExx2oQSpjjpNuBKOdROS8imYoYSRfEAAEwKOKAC4ZWTAAAAAElFTkSuQmCC)}.wall{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAAA8SURBVDjLY1y6dOl/BgoAEyWaGRgYGBg9PT3/MzAwMNjZ2ZGkUU5OjjouGDVg1IDBYQALjHHo0KGBcQEAfF8IQ2zQXLQAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjUtMDktMjlUMTA6MTY6MDMrMDA6MDDwZsaaAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDI1LTA5LTI5VDEwOjE2OjAzKzAwOjAwgTt+JgAAACh0RVh0ZGF0ZTp0aW1lc3RhbXAAMjAyNS0wOS0yOVQxMDoxNjowMyswMDowMNYuX/kAAAAASUVORK5CYII=)}.player,.player-on-target{display:flex;justify-content:center;align-items:center}.player .player-sprite-sheet,.player-on-target .player-sprite-sheet{width:16px;height:16px;transform:scale(2.5);image-rendering:pixelated}.box{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAACDSURBVDjLY+yL1vrPQAFgokQzAwMDA8uNZ18YGBgYGGbue8jAwMDAoC7KhVfDzdffGBgYGBj6Y7Sp4wK4AeqiXAzqolwMGe6KDBnuijg1wNRRLwzQBWbsvM/AwMAAdwWMT9ALVHMBqS6hnQuIdQn1XABLYbhSIsxmqqdERh8DsYHNjQAQgygUHgE9xAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNS0wOS0yOVQwOTo0MjoyMyswMDowMNBlJkEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjUtMDktMjlUMDk6NDI6MjMrMDA6MDChOJ79AAAAKHRFWHRkYXRlOnRpbWVzdGFtcAAyMDI1LTA5LTI5VDA5OjQyOjIzKzAwOjAw9i2/IgAAAABJRU5ErkJggg==)}.target{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAiElEQVQokWPM2mfAgApMxNgZGBjOvPrJgA0wYRXFA1gwTcU0G1mWXBsgQNXvHlZFZzYpwe0h14aPFtcZGBjk2Niwq4LYfEKTHBsYCzi4GBgYbLm4CCp99OsXOTbQXgOL3hldBgaGwyaXGXD75PC3bwwMDL+2qZFlA4SC6D7sdQurIogsBJBsAwCHiSW84NBRNwAAAABJRU5ErkJggg==)}.box-on-target{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAZ0lEQVQ4jWP87+P/n4ECwESJZgYGBgbGtaLi/xkYGBiCXr1gYGBgYCjk5Marof/7VwjDN4DKLjj8+TPEBhdXiEv27MbvEqg6il3Agi4As5lYl1DfBaS6hHYuINYlwyEl9vPwDWxuBABXWSrmQezalQAAAABJRU5ErkJggg==)}.player-sprite-sheet{width:16px;height:16px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAACACAIAAADCqn2lAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFfWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDg4LCAyMDIwLzA3LzEwLTIyOjA2OjUzICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjIuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDI1LTA5LTI2VDE0OjMwOjMyKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1LTA5LTI2VDE0OjMwOjMyKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNS0wOS0yNlQxNDozMDozMiswODowMCIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6YzEwYTM1OTgtNWZhMS03NTQ2LWJhMTItMjg4MDVkZjE4ODIyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOmMxMGEzNTk4LTVmYTEtNzU0Ni1iYTEyLTI4ODA1ZGYxODgyMiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmMxMGEzNTk4LTVmYTEtNzU0Ni1iYTEyLTI4ODA1ZGYxODgyMiI+IDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDxyZGY6QmFnPiA8cmRmOmxpPnhtcC5kaWQ6ZGMyNWUyYTctYmM2YS00ZTRkLTg5NzctY2E0MzNlZTEyYWMxPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YzEwYTM1OTgtNWZhMS03NTQ2LWJhMTItMjg4MDVkZjE4ODIyIiBzdEV2dDp3aGVuPSIyMDI1LTA5LTI2VDE0OjMwOjMyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjIuMCAoV2luZG93cykiLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+YHeNawAAAndJREFUeNrtmkFKBEEMRWujyCjuXcwd3A14BkFcunQrCN7EG3gUT+F9tCHDkDZd5U+ngk33H7KQqp/k2zM9/ahJefm8/RUfX4ch7Hot+urLQg2J6Pv+YQi9LSu2RLtoTY/UDxnK0Be90Q6dZhvUVrz1ZxrK02/PEKLUUbwJ2ZFuCL+i7rvM3q4Z+uUZko/e4flmCNmQv/XK4+t+CPt9gzSQXKS+rBRvQrZ+ZEiXsOu2AaLX70BbP/GWIQnZ+kIewgzZG9XetBEewuvPNJSnDz1cLSHVdleDH/LSOrXSwRBQP2YI0Nd2aytT+KFf7csANPDWjxkC9BNvcUXfDz+aDchD5CHyEHkodj7UPu+Jnw9ZfchQhr7z+VCtzYp5qK8hoH7MUFf9ET+OCTBseBt46881lKCP4QfcgDz0VwO8/hE/vAnZegd+ePmGPLRFHqodlPTiIaR+Z0NxfYiHcEJa8c9Tfc+HgPq9DbXPhxBD+IELdG1UA/xa6vq9DRk9/m9k4ofXEM+H9nj94k3I1jvOh2yDFPwgD3F+iPNDpsH71fUpOD/E+aENzA+9XeyGQJRyWxRvQrZ+eYbko3d3dj6EbDztLk8hK7Ib4SGk/ujnKTwhWz/iIdmwUfu9DNFr/GjrJ3gIScjWk4c4P/Sv80OahCwVcX6I80MrnR+aeNpX9P3wo9mAPEQeIg+Rhzg/9P/zQ5aHOD+0rfmh48MPho3RwxLI8tafayhBH8MPuAF5CJsfcuCHNyFb78APL9+Qhzg/xPmhOA/VToY4P8T5oek0/SlBGkB6U7+3IaOHnvbaUApOeA3xfGiP1y/ehGy943zIzg+l4MfSeOgH+09F+sXGSBIAAAAASUVORK5CYII=);background-repeat:no-repeat;image-rendering:pixelated}.player-up-1,.player-up-2,.player-up-3{background-position:0 0}.player-up-4{background-position:-16px 0}.player-up-5{background-position:-32px 0}.player-down-1,.player-down-2,.player-down-3{background-position:0 -16px}.player-down-4{background-position:-16px -16px}.player-down-5{background-position:-32px -16px}.player-left-1,.player-left-2,.player-left-3{background-position:0 -32px}.player-left-4{background-position:-16px -32px}.player-left-5{background-position:-32px -32px}.player-right-1,.player-right-2,.player-right-3{background-position:0 -48px}.player-right-4{background-position:-16px -48px}.player-right-5{background-position:-32px -48px}.player-on-target-up-1,.player-on-target-up-2,.player-on-target-up-3{background-position:0 -64px}.player-on-target-up-4{background-position:-16px -64px}.player-on-target-up-5{background-position:-32px -64px}.player-on-target-down-1,.player-on-target-down-2,.player-on-target-down-3{background-position:0 -80px}.player-on-target-down-4{background-position:-16px -80px}.player-on-target-down-5{background-position:-32px -80px}.player-on-target-left-1,.player-on-target-left-2,.player-on-target-left-3{background-position:0 -96px}.player-on-target-left-4{background-position:-16px -96px}.player-on-target-left-5{background-position:-32px -96px}.player-on-target-right-1,.player-on-target-right-2,.player-on-target-right-3{background-position:0 -112px}.player-on-target-right-4{background-position:-16px -112px}.player-on-target-right-5{background-position:-32px -112px}.board{display:flex;flex-direction:column;margin:20px auto;width:fit-content;position:relative}.board-row{display:flex}.boom-sprite-sheet{width:16px;height:16px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAQBAMAAABzZ+XyAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAewgAAHsIBbtB1PgAAABVQTFRFAAAA/0xPrRUX/6MN/+4N////jwwOvuUsiQAAAAd0Uk5TAP///////6V/pvsAAACMSURBVHicpdJdDcUgDAXgMwm1gIVZmIWam4VawMIszMKxcNtmWdjPA+zyQAn9klJggggAEiXjjtl3yA23MXVD8eGOTYRpSuEnWBoQRxAxB8qa6bQ5DcCjCSmZ2YtFJmBbWfgHrAyhhms3A/DZjIuFVXi6WPTDlws3xfGGTe0BiCwJrRmXdc748ik64Q/9NZQR376kNAAAAABJRU5ErkJggg==);background-repeat:no-repeat;image-rendering:pixelated;transform-origin:0 0;transform:scale(2.5)}.boom-1{background-position:0 0}.boom-2{background-position:-16px 0}.boom-3{background-position:-32px 0}.boom-4{background-position:-48px 0}.boom-5{background-position:-64px 0}.collapse-sprite-sheet{width:16px;height:16px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAQBAMAAABzZ+XyAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAewgAAHsIBbtB1PgAAABJQTFRFpaWlAAAAh4eHSUlJPz8/W1tbxsAvpAAAAAZ0Uk5T/wD/////VNmMvgAAAIJJREFUeJytktENwCAIRK8jsAIruIIrOKUruAIruAIrFKlJa/ujpheSC/KSg8QDXaStQFdTCS8d02BQ9xpryGzOtcGk/4EJ5TFW2gfBMNJztV82rLAOckvNKRPUnTHesw7GksTCcXu052L5pAGyA5L4NR+XNo66APZlP7+gS4IXpsETAWp9h3+/Aj8AAAAASUVORK5CYII=);background-repeat:no-repeat;image-rendering:pixelated;transform-origin:0 0;transform:scale(2.5)}.collapse-1{background-position:0 0}.collapse-2{background-position:-16px 0}.collapse-3{background-position:-32px 0}.collapse-4{background-position:-48px 0}.collapse-5{background-position:-64px 0}.controls{display:flex;flex-direction:column;align-items:center;margin:20px 0}.control-info{margin-bottom:15px;text-align:center;padding:8px;background-color:#f0f8ff;border-radius:4px;border:1px solid #d0e3ff}.control-info p{margin:0;font-size:14px;color:#333}.moves-counter{font-size:18px;margin-bottom:10px}.control-buttons{display:flex;gap:10px}.control-buttons button{padding:8px 16px;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .3s}.control-buttons button:hover{background-color:#357abd}.control-buttons button.disabled{background-color:#ccc;cursor:not-allowed}.control-buttons button.reset-all-btn{background-color:#e74c3c;margin-left:10px}.control-buttons button.reset-all-btn:hover{background-color:#c0392b}.achievement-notification{position:fixed;top:20px;right:20px;background-color:#4caf50;color:#fff;padding:15px;border-radius:5px;box-shadow:0 4px 8px #0003;z-index:1000;animation:fadeInOut 3s ease-in-out}.game-header{text-align:center;position:relative}.game-board{position:relative}.level-desc{white-space:pre-wrap}.level-msg{color:#ff5722;font-weight:700}@keyframes fadeInOut{0%{opacity:0;transform:translate(100px)}10%{opacity:1;transform:translate(0)}90%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}.level-selector{max-width:800px;margin:0 auto;padding:20px}.level-selector h2,.level-selector .instructions{text-align:center;margin-bottom:20px}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px}.level-item{position:relative;background-color:#f0f0f0;border:2px solid #ccc;border-radius:8px;padding:15px;text-align:center;cursor:pointer;transition:all .3s}.level-item.unlocked:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.level-item.completed{border-color:#4caf50;background-color:#e8f5e9}.level-item.locked{opacity:.7;cursor:not-allowed}.level-number{font-size:24px;font-weight:700;margin-bottom:5px}.level-name{font-size:16px}.completed-mark{position:absolute;top:10px;right:10px;color:#4caf50;font-size:20px;font-weight:700}.locked-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#0000004d;border-radius:6px;line-height:1.5}.lock-emoji{font-size:30px}.world-map-container{max-width:1000px;margin:0 auto;padding:20px;display:flex;flex-direction:column;align-items:center}.world-map-container h2{text-align:center;margin-bottom:10px}.instructions{margin-bottom:20px;text-align:center;color:#555}.world-map{display:flex;flex-direction:column;background-color:#f0f0f0}.world-map-row{display:flex}.world-map-cell{width:40px;height:40px;display:flex;justify-content:center;align-items:center;background-size:cover;background-position:center;position:relative;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAVElEQVQokWPM2mfAgApMxNgZGBjOvPrJgA0wYRXFA1gwTcU0G1mWXBswTcK0EyJCmQ34XQ8B5NqAbAbEVExx2oQSpjjpNuBKOdROS8imYoYSRfEAAEwKOKAC4ZWTAAAAAElFTkSuQmCC)}.world-map-cell.wall{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAAA8SURBVDjLY1y6dOl/BgoAEyWaGRgYGBg9PT3/MzAwMNjZ2ZGkUU5OjjouGDVg1IDBYQALjHHo0KGBcQEAfF8IQ2zQXLQAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjUtMDktMjlUMTA6MTY6MDMrMDA6MDDwZsaaAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDI1LTA5LTI5VDEwOjE2OjAzKzAwOjAwgTt+JgAAACh0RVh0ZGF0ZTp0aW1lc3RhbXAAMjAyNS0wOS0yOVQxMDoxNjowMyswMDowMNYuX/kAAAAASUVORK5CYII=)!important}.world-map-cell.level-node{background-image:none;z-index:9}.world-map-cell.level-node.unlocked{background-color:#55f}.world-map-cell.level-node.locked{background-color:#faa}.world-map-cell.level-node.completed{background-color:#4caf50}.world-map-player{width:40px;height:40px;z-index:10;display:flex;justify-content:center;align-items:center}.world-map-player .player-sprite-sheet{width:16px;height:16px;transform:scale(2.2);image-rendering:pixelated}.level-number{font-size:26px;line-height:100%;font-weight:700;color:#333}.level-info{margin-top:20px;padding:15px;border:1px solid #ccc;border-radius:5px;background-color:#f9f9f9;text-align:center;min-width:300px}.level-info h3{margin-top:0;margin-bottom:10px}@media (max-width: 768px){.world-map-cell{width:20px;height:20px;font-size:12px}.world-map-player .player-sprite-sheet{width:16px;height:16px;transform:scale(1.2);image-rendering:pixelated}.level-number{font-size:10px}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,sans-serif;line-height:1.6;background-color:#f5f5f5}.app{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%;position:relative}.selector-controls{position:absolute;top:10px;right:10px;display:flex;gap:10px;z-index:100}.selector-switch-btn{padding:8px 16px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s}.selector-switch-btn:hover{background-color:#388e3c}.reset-progress-btn{padding:8px 16px;background-color:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s}.reset-progress-btn:hover{background-color:#d32f2f}@media (max-width: 768px){.app-content{padding:1rem}}
