*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at top,#22718b,#122e50 65%,#0d2038);font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:white}body{display:grid;place-items:center;padding:14px}.wrap{width:min(1100px,100%)}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 5px 16px}.brand{font-size:clamp(18px,3vw,29px);font-weight:1000;color:#ffdb58;text-shadow:2px 3px 0 #82431a}.brand small{display:block;font-weight:600;color:#bde8ff;text-shadow:none;font-size:12px;letter-spacing:.08em}.stats{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.stats span{background:#ffffff1b;border:1px solid #ffffff33;padding:8px 13px;border-radius:14px;font-size:17px;font-weight:800}.stats button,.footer button{border:1px solid #ffffff44;background:#ffffff24;color:#fff;border-radius:12px;padding:8px 12px;font-size:17px;cursor:pointer}.stage{position:relative;overflow:hidden;border-radius:19px;border:4px solid #ffffff35;box-shadow:0 18px 65px #030a2088;aspect-ratio:16/9;background:#6dd4ff;touch-action:none}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.overlay{position:absolute;inset:0;display:grid;place-items:center;isolation:isolate;background:#11254e85}.overlay.hidden{display:none}.cover{position:absolute;inset:0;background:url('assets/background.png') center/cover no-repeat;z-index:-1}.modal{text-align:center;background:linear-gradient(#133d62eb,#0d2144ee);border:2px solid #ffda6499;box-shadow:0 12px 45px #000a;border-radius:22px;padding:24px 34px;width:min(420px,85%);margin-top:21%;}.modal h1{font-size:clamp(20px,4vw,32px);color:#ffe269;text-shadow:2px 3px #a44e24;margin:0}.modal p{font-size:15px;line-height:1.4}.primary{background:linear-gradient(#8bfa3c,#2abc12);border:3px solid #fff1a1;color:#133c17;font-weight:1000;text-shadow:0 1px #fff9;border-radius:99px;padding:13px 35px;font-size:21px;cursor:pointer;box-shadow:0 6px 0 #146e21}.primary:active{transform:translateY(4px);box-shadow:0 2px 0 #146e21}.toast{pointer-events:none;position:absolute;top:17%;width:100%;text-align:center;font-size:clamp(22px,4vw,40px);font-weight:1000;color:#fff67d;text-shadow:2px 3px #422b18,0 0 20px #000;opacity:0;transition:opacity .2s}.toast.show{opacity:1}.footer{display:flex;gap:14px;align-items:center;justify-content:space-between;font-size:13px;color:#d9efff;padding:13px 6px}.footer strong{color:#ffe07c}.footer button{flex-shrink:0;font-size:14px}@media(max-width:640px){body{padding:6px;display:block}header{padding:5px 2px 9px}.stats{gap:3px}.stats span{font-size:12px;padding:5px 7px}.stats button{font-size:13px;padding:5px 7px}.brand{font-size:18px}.brand small{font-size:9px}.stage{border-radius:10px;border-width:2px}.modal{padding:10px 15px;margin-top:18%;width:65%}.modal p{font-size:10px;margin:6px}.primary{padding:6px 20px;font-size:14px}.footer{font-size:11px;align-items:flex-start}.footer button{font-size:11px}.keyboard{display:none}}

.footer-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.stats #power.active{background:#ffbc30;color:#443000;border-color:#fff7a8;box-shadow:0 0 14px #ffd25c}.stats #power:disabled{opacity:.45;cursor:not-allowed}.modal{margin-top:0;backdrop-filter:blur(5px)}.overlay:has(.cover[style*="block"]) .modal{margin-top:24%;background:#102e55d9}.stats #best{font-variant-numeric:tabular-nums}button:focus-visible{outline:3px solid #ffd56c;outline-offset:2px}@media(max-width:640px){.footer-actions{gap:4px}.footer-actions button{padding:7px 5px}.stats #power{font-size:12px}}

.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px}.toolbar button,.toolbar select{background:#235778;color:#fff;border:1px solid #86bdd7;border-radius:10px;padding:8px 12px;font-weight:800;cursor:pointer}.toolbar button:disabled{opacity:.5}.toolbar label{font-size:13px}.toolbar #combo{font-weight:900;color:#ffdc59;margin-left:auto}.mission{display:flex;align-items:center;gap:10px;margin-bottom:7px;font-size:13px;font-weight:700}.progress{height:9px;background:#ffffff36;border-radius:20px;overflow:hidden;flex:1}.progress>div{width:0;height:100%;background:linear-gradient(90deg,#ffca42,#8ce940);transition:width .25s}@media(max-width:640px){.toolbar{gap:5px}.toolbar button,.toolbar select{font-size:11px;padding:5px}.toolbar label{font-size:10px}}

#helpDialog{max-width:min(540px,92vw);color:#fff;background:linear-gradient(145deg,#173e62,#0a2243);border:2px solid #ffdd73;border-radius:20px;padding:24px;box-shadow:0 20px 80px #0009;line-height:1.6}#helpDialog::backdrop{background:#061329b8;backdrop-filter:blur(5px)}#closeHelp{background:#80e438;border:2px solid #fff49c;border-radius:12px;padding:12px 20px;color:#103117;font-weight:900;cursor:pointer}#slow:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){#helpDialog{font-size:14px;padding:18px}}

.star-record{color:#fff3a6;background:#213f59bb;border-radius:9px;padding:8px 10px;font-weight:700;font-size:13px}#magnet.active{background:linear-gradient(135deg,#47dfdd,#2687db);color:#082b42;box-shadow:0 0 0 2px #c6ffff}#magnet:disabled{opacity:.5}
