:root{--night: #2a1a5e;--teal: #18b8a6;--orange: #ff8a1f;--yellow: #fff27a;--pink: #ff7ad9;--ink: #14102b;font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden;background:var(--ink);color:#fff;user-select:none;-webkit-user-select:none;touch-action:none}.screen{position:relative;width:100%;height:100%}.menu{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 16px;text-align:center;background:linear-gradient(#2a1a5e,#7a2f8f 55%,#f2855e)}.menu h1{margin:0;font-size:clamp(36px,9vw,84px);line-height:1;color:var(--yellow);text-shadow:0 4px 0 var(--orange),0 8px 0 var(--ink);letter-spacing:1px}.tagline{margin:0;font-size:clamp(16px,3vw,24px);font-weight:700}.help{margin:8px 0 0;padding:0;list-style:none;font-size:clamp(13px,2.2vw,17px);line-height:1.6;opacity:.95}.big{min-width:220px;padding:14px 36px;border:4px solid var(--ink);border-radius:18px;background:var(--teal);color:var(--ink);font:inherit;font-size:clamp(20px,4vw,30px);font-weight:800;cursor:pointer;box-shadow:0 6px 0 var(--ink)}.big:active{transform:translateY(4px);box-shadow:0 2px 0 var(--ink)}.big:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}.stage{position:absolute;top:0;right:0;bottom:0;left:0}.stage canvas{display:block;image-rendering:pixelated}.hud{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;gap:8px;pointer-events:none}.chip{padding:6px 14px;border:3px solid var(--ink);border-radius:999px;background:#14102bd1;font-size:clamp(16px,3vw,22px);font-weight:800;white-space:nowrap}.heart{color:#ff4d6d}.gem{color:var(--pink)}.pause{position:absolute;top:12px;right:12px;width:52px;height:52px;border:3px solid var(--ink);border-radius:50%;background:var(--orange);color:var(--ink);font-size:22px;font-weight:800;cursor:pointer}.pads{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));display:flex;gap:12px}.pads.left{left:max(16px,env(safe-area-inset-left))}.pads.right{right:max(16px,env(safe-area-inset-right))}.pad{width:clamp(56px,11vw,84px);height:clamp(56px,11vw,84px);border:4px solid var(--ink);border-radius:50%;color:var(--ink);font-size:clamp(22px,4.5vw,34px);font-weight:800;cursor:pointer;opacity:.88;touch-action:none}.pad:active{transform:scale(.92);opacity:1}.pad.move{background:#fff}.pad.shoot{background:#ff5a5a}.pad.jump{background:var(--yellow)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px;text-align:center;background:#14102bc7}.overlay h2{margin:0;font-size:clamp(32px,8vw,64px);color:var(--yellow);text-shadow:0 4px 0 var(--ink)}.overlay p{margin:0;font-size:clamp(16px,3vw,22px);font-weight:700}.options{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.toggle{display:flex;align-items:center;gap:12px;padding:10px 16px;border:3px solid var(--ink);border-radius:14px;background:#14102bd1;color:#fff;font:inherit;font-size:clamp(15px,2.6vw,19px);font-weight:700;cursor:pointer}.toggle strong{min-width:52px;padding:4px 10px;border-radius:999px;color:var(--ink);background:var(--teal)}.toggle.off strong{background:#aeb6c9}.toggle:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}.levels{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.big.level{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:170px;padding:12px 20px}.big.level small{font-size:.55em;font-weight:700}.big.level .mode{padding:2px 10px;border-radius:999px;background:var(--ink);color:var(--yellow)}.big.second{min-width:180px;padding:8px 24px;font-size:clamp(16px,3vw,22px);background:#fff}.heroes{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.hero-card{display:flex;flex-direction:column;align-items:center;gap:4px;width:clamp(120px,26vw,170px);padding:10px 8px;border:4px solid var(--ink);border-radius:16px;background:#14102bd1;color:#fff;font:inherit;cursor:pointer}.hero-card{justify-content:flex-end}.hero-card img{image-rendering:pixelated}.hero-card strong{font-size:clamp(13px,2.2vw,16px)}.hero-card small{font-size:clamp(11px,1.8vw,13px);opacity:.9}.hero-card.chosen{border-color:var(--yellow);background:#18b8a68c;box-shadow:0 0 0 3px var(--ink),0 6px 0 var(--ink)}.hero-card:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}.menu{overflow-y:auto;gap:12px}.fullscreen{position:absolute;top:12px;left:12px;z-index:5;display:flex;align-items:center;justify-content:center;gap:8px;min-width:52px;height:52px;padding:0 12px;border:3px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:24px;font-weight:800;cursor:pointer}.fullscreen.wide span+span{font-size:16px}.fullscreen:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}
