*{box-sizing:border-box}body{margin:0;background:#0c1425;color:#f4f8ff;font:15px system-ui}main{max-width:1050px;margin:auto;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:100dvh}header{display:flex;justify-content:space-between;align-items:center;gap:10px}h1{font-size:clamp(22px,4vw,32px);margin:4px 0}a{color:#a8d9ff;text-decoration:none;font-size:12px}button{font:inherit;cursor:pointer;touch-action:none;border:1px solid #7291b5;border-radius:12px;padding:12px;background:#243957;color:white;user-select:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffda79;outline-offset:3px}.stats{display:grid;grid-template-columns:repeat(3,1fr);background:#192a43;border:1px solid #365779;border-radius:14px}.stats div{padding:9px 15px}.stats small{display:block;color:#acc6de;font-size:10px;letter-spacing:1px}.stats b{font-size:26px;color:var(--accent);font-variant-numeric:tabular-nums}.stage{position:relative;background:#13253b;border:1px solid #48678a;border-radius:20px;overflow:hidden;height:60dvh;min-height:350px;max-height:650px}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.message{position:absolute;top:12px;left:12px;right:12px;text-align:center;pointer-events:none;color:#fff1b9;font-weight:850;text-shadow:0 2px 5px #000}.overlay{position:absolute;inset:0;background:#071221c9;display:grid;place-items:center;padding:20px}.overlay[hidden]{display:none}.panel{max-width:420px;background:#182b44;padding:25px;border:1px solid #7491b0;border-radius:18px;text-align:center}.panel h2{font-size:28px;margin:0 0 12px}.panel p{line-height:1.65;color:#ccdeee}.gold{background:#ffdc79;border:0;border-bottom:4px solid #b78936;color:#182339;font-weight:900}.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}.steer label{display:block;font-size:11px;color:#c2d7ec}.steer input{width:100%;accent-color:var(--accent);height:35px}.action{min-height:58px}.hint{text-align:center;font-size:12px;color:#c5d7ea;margin:0;line-height:1.5}.hold-active{filter:brightness(1.2)}@media(min-width:800px){main{height:100dvh;min-height:720px}.stage{flex:1;height:auto}}@media(max-width:500px){.controls{grid-template-columns:1fr}.stage{height:56dvh;min-height:340px}.stats b{font-size:23px}.panel{padding:18px}.panel p{font-size:13px}}
