:root{--bg:#f3f4f1;--text:#1b1d1a;--muted:#6a6d66;--line:#e0e2dc;--surface:#fff;--accent:#0f766e;--floor:#e9e4d6;--floor-line:#ddd6c4;--wall:#5b5f63;--wall-top:#74797e;--goal:#0f766e;--box:#c2853f;--box-edge:#8a5a24;--player:#1d4ed8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#131513;--text:#eef0eb;--muted:#a0a49b;--line:#2a2d29;--surface:#1b1d1a;--accent:#2dd4bf;--floor:#3a372f;--floor-line:#33302a;--wall:#24272a;--wall-top:#33373b;--goal:#2dd4bf;--player:#60a5fa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-underline-offset:3px}button{font:inherit;color:inherit}.muted{color:var(--muted)}.layout{gap:16px;max-width:560px;margin:0 auto;padding:32px 16px 64px;display:grid}.header{gap:12px;display:grid}h1{letter-spacing:-.02em;margin:0;font-size:28px}h1+p{margin:4px 0 0;font-size:14px}.segmented{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-wrap:wrap;justify-self:start;padding:3px;display:inline-flex}.segmented button{cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 10px;font-size:14px}.segmented button.active{background:var(--text);color:var(--bg)}.segmented button:not(.active):hover{background:var(--line)}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:0;display:grid}.stats div{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:8px 10px}.stats dt{color:var(--muted);font-size:12px}.stats dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:20px;font-weight:600}.stats dd .muted{font-size:14px;font-weight:400}.board{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-template-rows:repeat(var(--rows), minmax(0, 1fr));aspect-ratio:var(--cols) / var(--rows);width:min(100%, calc(var(--cols) * 64px));touch-action:none;justify-self:center;display:grid}.cell{place-items:center;min-width:0;min-height:0;display:grid;position:relative}.cell.floor{background:var(--floor);box-shadow:inset 0 0 0 .5px var(--floor-line)}.cell.wall{background:var(--wall);box-shadow:inset 0 4px 0 var(--wall-top);border-radius:3px}.cell.goal:before{content:"";aspect-ratio:1;border:3px solid var(--goal);border-radius:50%;width:34%;position:absolute}.box{z-index:1;aspect-ratio:1;background:var(--box);width:78%;box-shadow:inset 0 0 0 3px var(--box-edge), 0 3px 0 var(--box-edge);border-radius:6px;transition:background .15s;position:relative}.box:after{content:"";background:linear-gradient(45deg, transparent 44%, var(--box-edge) 44% 56%, transparent 56%), linear-gradient(-45deg, transparent 44%, var(--box-edge) 44% 56%, transparent 56%);position:absolute;inset:22%}.box.on-goal{background:var(--goal);box-shadow:inset 0 0 0 3px #0b4f49,0 3px #0b4f49}.box.on-goal:after{background:linear-gradient(45deg,#0000 44%,#0b4f49 44% 56%,#0000 56%),linear-gradient(-45deg,#0000 44%,#0b4f49 44% 56%,#0000 56%)}.player{z-index:1;aspect-ratio:1;background:radial-gradient(circle at 35% 30%, #93c5fd, var(--player) 60%);border-radius:50%;width:62%;position:relative;box-shadow:0 3px #00000040}.board.solved .box.on-goal{animation:.9s ease-in-out 2 glow}@keyframes glow{50%{transform:scale(1.08)}}.notice{text-align:center;min-height:22px;margin:0;font-weight:600}.controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.pad{grid-template-rows:repeat(2,44px);grid-template-columns:repeat(3,44px);gap:4px;display:grid}.pad .top{grid-area:1/2}.pad .left{grid-area:2/1}.pad .bottom{grid-area:2/2}.pad .right{grid-area:2/3}.pad button{padding:0;font-size:18px}.actions{flex-wrap:wrap;gap:8px;display:flex}.ghost{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;padding:7px 12px;font-size:14px}.ghost:hover:not(:disabled){background:var(--line)}.ghost:disabled{opacity:.4;cursor:default}.ghost.primary{background:var(--accent);border-color:var(--accent);color:#fff}kbd{border:1px solid var(--line);color:var(--muted);border-radius:4px;margin-left:4px;padding:0 5px;font-family:inherit;font-size:11px}.help{text-align:center;margin:0;font-size:13px}@media (prefers-reduced-motion:reduce){.board.solved .box.on-goal{animation:none}}
