:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#fff8e8e6;background-color:#141210;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#8a8278;text-decoration:inherit}a:hover{color:#a09a90}html,body{margin:0;background-color:#141210}body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-tap-highlight-color:transparent}h1{font-size:3.2em;line-height:1.1}#app{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;width:100%;max-width:100vw;padding:0}.game-layout{position:relative;display:flex;flex-direction:row;align-items:flex-start;gap:12px;flex-wrap:wrap;justify-content:center;transition:opacity .4s ease}@media(max-width:500px){.game-layout{flex-direction:column;align-items:center}}.game-board{position:relative;width:360px;height:640px;min-width:360px;flex-shrink:0;overflow:hidden;background:#252220;border-radius:0;box-shadow:0 2px 12px #0006;touch-action:none}.reset-control{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:8px;font-size:13px;color:#fff8e8cc;z-index:5}.reset-btn{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;outline:none}.reset-btn:focus{outline:none}.reset-btn:hover:not(:disabled){color:#fff8e8}.reset-btn:disabled{opacity:.5;cursor:not-allowed}.reset-counter{font-variant-numeric:tabular-nums}.dev-level-name{position:absolute;bottom:8px;left:8px;font-size:12px;color:#fff8e880;pointer-events:none;z-index:5}.game-canvas-wrapper{width:360px;height:640px;position:relative}.game-toolbar{width:72px;flex-shrink:0;background:#252220;border-radius:0;box-shadow:0 2px 12px #0006;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:12px 8px;gap:8px}.toolbar-item{width:44px;height:44px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#28262499;border:1px solid rgba(72,68,62,.6);border-radius:0;color:#fff8e8;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;touch-action:manipulation}.toolbar-item:hover{background:#373430cc;border-color:#64605acc;box-shadow:0 0 0 1px #64605a4d}.toolbar-item:active{background:#48443e80}.game-canvas{display:block;position:absolute;inset:0;width:100%;height:100%}.game-controls{position:fixed;top:env(safe-area-inset-top,12px);left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;justify-content:center;gap:8px;z-index:10;padding:10px 16px;background:#252220f2;border-radius:0;box-shadow:0 2px 12px #0006}.mode-btn{padding:8px 16px;font-size:14px;background:#28262499;color:#fff8e8;border:1px solid rgba(72,68,62,.6);border-radius:0;cursor:pointer;transition:background .15s,border-color .15s}.mode-btn:hover{background:#373430cc;border-color:#64605acc}.mode-toggle{font-weight:600;min-width:64px}.level-complete-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#252220f2;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:10}.level-complete-overlay.visible{opacity:1;pointer-events:auto}.context-lost-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#252220f2;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:20}.context-lost-overlay.visible{opacity:1;pointer-events:auto}.level-complete-content{display:flex;flex-direction:column;align-items:center;gap:16px}.level-complete-message{font-size:1.5rem;font-weight:600;color:#fff8e8;text-shadow:0 2px 8px rgba(0,0,0,.5)}.level-complete-submessage{font-size:1rem;color:#fff8e8cc;text-align:center}.level-complete-btn{padding:12px 24px;font-size:1rem;font-weight:600;background:#504c48cc;color:#fff8e8;border:1px solid rgba(100,96,90,.9);border-radius:0;cursor:pointer;transition:background .2s,border-color .2s}.level-complete-btn:hover{background:#64605ae6;border-color:#78786e}.game-layout.fade-out{opacity:0;transition:opacity .4s ease}.game-layout.fade-in{opacity:0;animation:fadeInLevel .4s ease forwards}@keyframes fadeInLevel{to{opacity:1}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#252220;border-radius:0;padding:24px;min-width:280px;max-width:min(360px,90vw);max-height:80vh;overflow:auto;box-shadow:0 4px 24px #00000080}.modal h2{margin:0 0 16px;font-size:1.25rem;color:#fff8e8}.modal h3{color:#fff8e8b3}.level-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-height:320px;overflow-y:auto}.level-list-empty{color:#fff8e8b3;font-size:14px;padding:16px;text-align:center}.level-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#28262499;border-radius:0}.level-info{display:flex;flex-direction:column;gap:2px}.level-name{font-weight:500;color:#fff8e8}.level-date{font-size:12px;color:#fff8e899}.level-actions{display:flex;gap:8px}.level-btn{padding:6px 12px;font-size:13px;border-radius:0;cursor:pointer;border:1px solid rgba(72,68,62,.6);background:#28262499;color:#fff8e8;transition:background .15s,border-color .15s}.level-btn:hover,.level-btn.load{background:#373430cc;border-color:#64605acc}.level-btn.load:hover{background:#413e3ae6}.level-btn.rename:hover{background:#373430cc}.level-btn.delete:hover{background:#3c3434e6;color:#fff8e8;border-color:#5a5050cc}.modal-new-btn{width:100%;padding:10px 16px;font-size:14px;background:#28262499;color:#fff8e8;border:1px solid rgba(72,68,62,.6);border-radius:0;cursor:pointer;transition:background .15s,border-color .15s}.modal-new-btn:hover{background:#373430cc;border-color:#64605acc}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.vanilla:hover{filter:drop-shadow(0 0 2em #3178c6aa)}.card{padding:2em}.read-the-docs{color:#fff8e8}button{border-radius:0;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1e1d1b;color:#fff8e8;cursor:pointer;transition:border-color .25s,background-color .2s}button:hover{border-color:#6b665e;background-color:#2d2b28}button:focus,button:focus-visible{outline:2px solid #6b665e;outline-offset:2px}
