html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#10182a;color:#fff;font:16px system-ui,sans-serif}
body{display:flex;align-items:center;justify-content:center}
#game{width:960px;height:600px;max-width:100%;max-height:100%;position:relative}
canvas{display:block;width:100%;height:100%;touch-action:none}
#fps{position:absolute;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:4px 9px;border-radius:6px;background:#10182acc;color:#fff;font:600 13px/18px ui-monospace,monospace;font-variant-numeric:tabular-nums;pointer-events:none;user-select:none;white-space:nowrap}
#loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:linear-gradient(#11253c55,#11253ccf),url(loading.jpg) center/cover;text-align:center;padding:24px}
#loading[hidden]{display:none}
strong{font-size:clamp(28px,6vw,52px);max-width:680px;line-height:1.1;text-shadow:0 3px 0 #17324c,2px 0 0 #17324c,-2px 0 0 #17324c;text-transform:uppercase}
progress{width:min(360px,80vw);height:20px;accent-color:#ffc438}
