:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg0:#05070d;--bg1:#121a2e;--panel:#101626d1;--line:#ffffff1f;--text:#e8edf7;--muted:#98a3bd;--accent:#f3c56b;--accent-ink:#2a1d05;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;background:radial-gradient(ellipse at 50% 38%, var(--bg1) 0%, var(--bg0) 72%);height:100%;color:var(--text);font-family:var(--font);-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#game{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#hud{padding:max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));pointer-events:none;background:linear-gradient(#05070dbf,#05070d00);flex-wrap:wrap;align-items:center;gap:4px 20px;display:flex;position:fixed;top:0;left:0;right:0}#hud .hud-row{pointer-events:none;align-items:center;gap:16px;display:flex}#hud .hud-row:first-child{flex:260px;justify-content:space-between}.title{align-items:baseline;gap:10px;min-width:0;display:flex}.level-num{color:var(--accent);white-space:nowrap;font-size:18px;font-weight:700}.level-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.stats{gap:22px}.stat{flex-direction:column;align-items:center;min-width:44px;display:flex}.stat .label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10px}.stat .value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.stat .value.over{color:#ff9d8a}.buttons{pointer-events:auto;gap:8px;display:flex}button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;padding:8px 14px}button:hover{border-color:#ffffff4d}button:active{transform:translateY(1px)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:700}.buttons button{width:42px;height:42px;padding:0;font-size:20px;line-height:1}.hints{color:var(--muted);flex-basis:100%;margin:2px 0 0;font-size:12px}.hints kbd{border:1px solid var(--line);min-width:20px;color:var(--text);font:600 11px var(--font);text-align:center;background:#ffffff0f;border-bottom-width:2px;border-radius:5px;margin:0 1px;padding:1px 5px;display:inline-block}.hints .sep{opacity:.5;margin:0 3px}.stuck{left:50%;bottom:max(20px, env(safe-area-inset-bottom));color:var(--accent);font:600 13px var(--font);white-space:nowrap;pointer-events:none;z-index:5;background:#201608db;border:1px solid #f3c56b73;border-radius:999px;margin:0;padding:8px 16px;position:fixed;transform:translate(-50%)}.stuck.hidden{display:none}.stuck kbd{border:1px solid var(--line);min-width:20px;color:var(--text);font:600 11px var(--font);text-align:center;background:#ffffff14;border-bottom-width:2px;border-radius:5px;margin:0 1px;padding:1px 5px;display:inline-block}body.touch .stuck{bottom:max(200px, calc(env(safe-area-inset-bottom) + 200px))}#dpad{padding:0 max(18px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:flex-end;display:none;position:fixed;bottom:0;left:0;right:0}body.touch #dpad{display:flex}body.touch .hints{display:none}.pad{pointer-events:none;width:168px;height:168px;position:relative}.pad button{pointer-events:auto;touch-action:none;background:#161e34c7;border-radius:14px;width:56px;height:56px;padding:0;font-size:22px;position:absolute}.pad .up{top:0;left:56px}.pad .down{bottom:0;left:56px}.pad .left{top:56px;left:0}.pad .right{top:56px;right:0}.pad button:active,.swap:active{background:#f3c56b59}.swap{pointer-events:auto;touch-action:none;background:#161e34c7;width:92px;height:56px;font-weight:700;display:none}#dpad.can-swap .swap{display:block}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;background:#03050a9e;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.overlay.hidden{display:none}.notice-text{color:var(--muted);-webkit-user-select:text;user-select:text;margin:8px 0 0;line-height:1.5}.panel{border:1px solid var(--line);text-align:center;background:#0e1321f0;border-radius:16px;width:min(560px,100%);max-height:100%;padding:20px;overflow:auto;box-shadow:0 20px 60px #00000080}#win.overlay{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:linear-gradient(#03050a00 45%,#03050a99);align-items:flex-end}#win .panel{pointer-events:auto;width:min(440px,100%);margin-bottom:max(4vh, env(safe-area-inset-bottom))}.panel h2{margin:0 0 14px;font-size:22px}.grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin-bottom:16px;display:grid}.card{text-align:center;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.card.current{border-color:var(--accent)}.card .num{color:var(--accent);font-size:22px;font-weight:800}.card .nm{color:var(--text);font-size:12px;line-height:1.2}.card .meta{color:var(--muted);font-size:11px}.card.done .meta{color:#8fe3a8}.win-line{color:var(--muted);margin:0 0 18px;font-size:16px;line-height:1.5}.win-line strong{color:var(--text)}.win-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.win-actions button{min-width:96px}@media (width<=560px){#hud{gap:2px 12px;padding-left:12px;padding-right:12px}.level-num{font-size:16px}.level-name{font-size:13px}.stats{gap:16px}.stat .value{font-size:18px}.buttons button{width:38px;height:38px}}.players{align-items:center;gap:8px;margin-top:2px;display:none}body.coop .players{display:flex}.players .chip{border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:6px;padding:3px 8px 3px 6px;font-size:12px;line-height:1;display:inline-flex}.players .chip i{border-radius:3px;width:12px;height:12px;box-shadow:inset 0 0 0 1px #00000059}.players .chip b{letter-spacing:.04em;font-weight:700}.players .chip kbd{border:1px solid var(--line);font:600 10px var(--font);color:var(--muted);background:#ffffff0f;border-bottom-width:2px;border-radius:5px;padding:1px 5px}body.solo-mode .players .chip{opacity:.5}body.solo-mode .players .chip.active{opacity:1;border-color:var(--accent)}.buttons button.mode{width:auto;min-width:52px;padding:0 12px;font-size:13px;font-weight:700}.buttons button.mode[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.buttons button.mode:disabled{opacity:.6;cursor:default}.hints .h-2p,.hints .h-tab,.hints.two-player .h-solo{display:none}.hints.two-player .h-2p,.hints.solo-coop .h-tab{display:inline}.block-swap{pointer-events:auto;touch-action:none;background:#161e34c7;width:92px;height:56px;margin-top:8px;font-weight:700;display:none}.block-swap:active{background:#f3c56b59}body.coop #dpad .block-swap{display:block}#dpad{align-items:flex-end}#dpad .stack{flex-direction:column;align-items:flex-end;display:flex}.menu-body{text-align:left}.menu-section+.menu-section{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.menu-section h3{letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.menu-section h3 .count{letter-spacing:0;color:var(--muted);background:#ffffff14;border-radius:999px;padding:1px 7px;font-size:11px}.menu-sub{color:var(--muted);margin:2px 0 10px;font-size:12px}.menu-toggle{text-align:left;width:100%;margin-bottom:12px;padding:8px 12px;font-size:12px;display:block}.menu-toggle[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.menu-toggle:disabled{opacity:.6;cursor:default}.card.coop .num{color:#7fc4f0}
