:root{color:#e4edf5;font-synthesis:none;background:#0a121e;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{margin:0}main{width:min(100%,1120px);margin:auto;padding:24px}header{display:flex;align-items:baseline;gap:20px;margin-bottom:20px}h1{letter-spacing:-.04em;margin:0;font-size:24px}p{margin:0}header p,.hint{color:#8fabc0}#game{overflow:hidden;border:1px solid #26364a;border-radius:8px;width:100%;height:min(65vh,603px);min-height:180px}canvas{display:block}#play-area{position:relative;background:#101c2c}#toggle-fullscreen{position:absolute;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));touch-action:manipulation;min-width:44px;min-height:44px}#fullscreen-status{position:absolute;top:max(60px,calc(env(safe-area-inset-top) + 52px));right:max(8px,env(safe-area-inset-right));background:#101c2c;max-width:280px;font-size:13px}#fullscreen-status:empty{display:none}#play-area.is-expanded{padding:env(safe-area-inset-top)env(safe-area-inset-right)env(safe-area-inset-bottom)env(safe-area-inset-left);display:flex;width:100%;height:100%}#play-area:-webkit-full-screen{padding:env(safe-area-inset-top)env(safe-area-inset-right)env(safe-area-inset-bottom)env(safe-area-inset-left);display:flex;width:100%;height:100%}#play-area:fullscreen{padding:env(safe-area-inset-top)env(safe-area-inset-right)env(safe-area-inset-bottom)env(safe-area-inset-left);display:flex;width:100%;height:100%}#play-area.is-expanded{position:fixed;z-index:100;height:100vh;height:100dvh;inset:0}#play-area.is-expanded #game{border:0;border-radius:0;height:100%;min-height:0}#play-area:-webkit-full-screen #game{border:0;border-radius:0;height:100%;min-height:0}#play-area:fullscreen #game{border:0;border-radius:0;height:100%;min-height:0}html.play-expanded,html.play-expanded body{overflow:hidden}footer{text-align:center;margin-top:18px;font-size:14px;line-height:1.7}footer span{color:#59738a;padding:0 10px}footer strong{color:#65deeb;font-weight:600}.hint{margin-top:8px;font-size:12px}#error{color:#ffb3a6;padding-top:16px}#combat-review{margin-top:12px;font-size:12px}#combat-status{color:#ffe08a;min-height:1.7em}#camera-review{color:#8fabc0;margin-top:16px;font-size:12px}.pan-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0}button{font:inherit;color:#e4edf5;cursor:pointer;background:#15283b;border:1px solid #59738a;border-radius:4px;padding:6px 10px}button:focus-visible{outline:2px solid #65deeb;outline-offset:2px}@media (max-width:600px){main{padding:16px}header{display:block}header p{margin-top:6px;font-size:13px}footer{font-size:12px}}#projectile-review{margin-top:16px;font-size:12px}.projectile-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items: center;gap:10px;margin:8px 0}.projectile-controls input[type=number]{font:inherit;color:#e4edf5;background:#15283b;border:1px solid #59738a;border-radius:4px;width:85px;padding:6px}#projectile-history{color:#65deeb;overflow-wrap:anywhere}#beam-review{margin-top:16px;font-size:12px}#beam-contacts{color:#65deeb;overflow-wrap:anywhere}[hidden]{display:none!important}.screen-controls{display:flex;gap:8px;margin-bottom:12px}.screen-controls [aria-pressed=true]{color:#101c2c;background:#65deeb;border-color:#65deeb}#gameplay-controls{display:flex;color:#8fabc0;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:8px;margin-bottom:12px;font-size:13px}.touch-controls{position:absolute;overflow:hidden;pointer-events:none;user-select:none;-webkit-user-select:none;inset:0}.touch-move{position:absolute;pointer-events:auto;touch-action:none;inset:0 50% 0 0}.touch-move-hint{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));color:#a9c4d6;pointer-events:none;font-size:12px}.touch-move.is-active .touch-move-hint{visibility:hidden}.touch-stick{position:absolute;pointer-events:none;background:#15283b70;border:1px solid #a9c4d680;border-radius:50%;width:128px;height:128px;transform:translate(-50%,-50%)}.touch-stick-knob{position:absolute;background:#65deeb60;border:2px solid #65deeb;border-radius:50%;width:42px;height:42px;top:50%;left:50%}.touch-actions{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;gap:12px}.touch-action{pointer-events:auto;touch-action:none;-webkit-touch-callout:none;background:#15283bbf;border-color:#a9c4d6b0;border-radius:50%;width:clamp(56px,9vw,72px);height:clamp(56px,9vw,72px);padding:0;font-size:13px}.touch-action[aria-pressed=true]{color:#101c2c;background:#65deeb;border-color:#65deeb}.touch-help{display:none}@media (any-pointer:coarse){.touch-help{display:block;color:#a9c4d6}}#toggle-fullscreen,#fullscreen-status{z-index:1}header a{color:#8edfe8;text-underline-offset:3px}
