.maze-game{color:#2d3748;max-width:900px;margin:0 auto;padding:1rem 1.5rem 3rem}.game-heading{justify-content:space-between;gap:1rem;margin:1rem 0;display:flex}.eyebrow{color:#4299e1;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .25rem;font-size:.95rem;font-weight:700}h1{margin:0;font-size:clamp(1.7rem,5vw,2.7rem)}.score{color:#718096;text-align:right;line-height:1.7}.difficulty-tabs,.character-picker,.actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.difficulty-tabs button,.character-picker button,.actions button,.win-actions button{color:#4a5568;font:inherit;cursor:pointer;background:#edf2f7;border:0;border-radius:12px;padding:.65rem 1rem;font-weight:700;transition:transform .15s,background .15s}.difficulty-tabs button:hover,.actions button:hover,.win-actions button:hover{background:#e2e8f0;transform:translateY(-2px)}.difficulty-tabs button.active{color:#fff;background:#4299e1}.character-picker{color:#718096;align-items:center;margin:1rem 0}.character-picker button{padding:.35rem .5rem;font-size:1.5rem;line-height:1}.character-picker button.selected{background:#bee3f8;box-shadow:0 0 0 3px #4299e1}.maze-board{grid-template-columns:repeat(var(--grid-size), minmax(0, 1fr));grid-template-rows:repeat(var(--grid-size), minmax(0, 1fr));aspect-ratio:1;touch-action:none;background:#fff;border:4px solid #334155;border-radius:10px;width:min(70vw,520px);margin:1rem auto;animation:.4s ease-out fadeIn;display:grid;overflow:hidden}.maze-cell{box-sizing:border-box;background:#fff;border-style:solid;border-width:3px;place-items:center;min-width:0;min-height:0;transition:background .2s;display:grid;position:relative;overflow:hidden}.maze-cell.hint-cell{background:#c6f6d5}.maze-cell.player-cell{background:#ebf8ff}.player,.finish{z-index:1;font-size:clamp(1.25rem,6vw,3rem);line-height:1;position:relative}.player.bump-player{animation:.3s ease-in-out bump}.maze-board.small-grid .player{font-size:clamp(1rem,4vw,2rem)}.maze-board.small-grid .finish{font-size:clamp(.65rem,2vw,1rem)}.finish{font-size:clamp(.8rem,3vw,1.5rem);position:absolute;bottom:5%;right:5%}.controls{flex-direction:column;align-items:center;gap:.35rem;margin:1rem auto;display:flex}.controls>button,.controls div{gap:.35rem;display:flex}.controls button{color:#fff;cursor:pointer;background:#4299e1;border:0;border-radius:14px;justify-content:center;align-items:center;width:64px;height:58px;padding:0;font-size:2rem;font-weight:700;line-height:1;display:flex;box-shadow:0 4px 8px #4299e140}.controls button:hover{background:#3182ce;transform:scale(1.04)}.actions{margin-top:1rem}.win-overlay{z-index:10;background:#0f172a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.win-card{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:460px;padding:2rem;animation:.35s ease-out playerIn;box-shadow:0 20px 50px #0f172a40}.celebration{font-size:2.5rem}.win-card h2{color:#38a169;margin:.5rem 0;font-size:2rem}.win-card p{color:#4a5568}.records{line-height:1.8}.win-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex}.win-actions button:first-child{color:#fff;background:#48bb78}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes playerIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes bump{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@media (width<=600px){.maze-game{padding:.75rem .75rem 2rem}.game-heading{align-items:center}.score{font-size:.8rem}.maze-board{border-width:3px;width:min(94vw,500px)}.maze-cell{border-width:2px}.controls button{width:68px;height:62px}}
