:root { color-scheme: dark; --cyan:#00d9ff; --ink:#050b13; --muted:#9ab2c5; }
* { box-sizing:border-box; }
html,body { min-height:100%; margin:0; background:var(--ink); color:#eaf6ff; font-family:Inter,'Noto Sans',system-ui,sans-serif; }
body { min-height:100svh; background:radial-gradient(ellipse at 50% 0%,#10273b 0,#07111c 48%,#04080e 100%); }
.game-page { width:min(100%,1440px); min-height:100svh; margin:0 auto; padding:0 clamp(16px,4vw,60px) 30px; }
.topbar { min-height:70px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(0,217,255,.15); }
.brand,.back-link { display:inline-flex; align-items:center; gap:11px; color:#eaf6ff; font-size:12px; font-weight:800; letter-spacing:.13em; text-decoration:none; }
.brand-mark { display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(0,217,255,.5); border-radius:10px; color:#dffaff; background:linear-gradient(145deg,#10364a,#11182b); font-size:16px; }
.cyan,.intro h1 span { color:var(--cyan); }
.back-link { color:#a9c0d2; font-size:11px; font-weight:600; letter-spacing:.03em; }
.back-link:hover { color:#fff; }
.game-layout { width:min(100%,1040px); margin:clamp(25px,5vh,48px) auto 0; }
.intro { display:flex; flex-direction:column; align-items:center; text-align:center; margin-bottom:20px; }
.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 11px; color:#78dff4; font-size:10px; font-weight:800; letter-spacing:.2em; }
.live-dot { width:7px; height:7px; border-radius:50%; background:#52e6c0; box-shadow:0 0 13px #52e6c0; }
.intro h1 { margin:0; color:#f0f8ff; font-size:clamp(35px,6vw,62px); font-weight:800; letter-spacing:-.055em; line-height:1; }
.description { max-width:520px; margin:13px 0 0; color:#a9bdcd; font-size:14px; line-height:1.6; }
.game-shell { overflow:hidden; border:1px solid rgba(111,193,235,.23); border-radius:20px; background:rgba(5,14,23,.9); box-shadow:0 25px 75px rgba(0,0,0,.45),0 0 44px rgba(0,153,224,.08); }
.hud { display:flex; justify-content:center; gap:clamp(30px,10vw,110px); padding:12px 18px; border-bottom:1px solid rgba(132,188,220,.13); background:linear-gradient(90deg,rgba(17,41,61,.96),rgba(9,24,38,.96)); }
.hud div { display:flex; align-items:baseline; gap:9px; }
.hud small { color:#819bad; font-size:9px; font-weight:800; letter-spacing:.16em; }
.hud strong { color:#e5f8ff; font-size:17px; font-variant-numeric:tabular-nums; }
#hull { color:#69e8d1; font-size:12px; letter-spacing:.07em; }
.arena { position:relative; width:100%; aspect-ratio:16/9; min-height:300px; overflow:hidden; background:radial-gradient(ellipse at 50% 58%,#15324a 0,#091522 52%,#050b12 100%); }
#gameCanvas { display:block; width:100%; height:100%; outline:none; }
.message { position:absolute; inset:0; display:grid; place-items:center; padding:18px; background:linear-gradient(90deg,rgba(3,9,16,.55),rgba(3,9,16,.18),rgba(3,9,16,.55)); transition:opacity .2s,visibility .2s; }
.message.is-hidden { visibility:hidden; opacity:0; pointer-events:none; }
.message-card { width:min(90%,390px); padding:25px 26px 23px; text-align:center; border:1px solid rgba(0,217,255,.28); border-radius:16px; background:rgba(6,17,28,.89); box-shadow:0 15px 55px rgba(0,0,0,.35),inset 0 0 35px rgba(0,217,255,.035); backdrop-filter:blur(12px); }
.message-tag { color:#64dcf2; font-size:9px; font-weight:800; letter-spacing:.18em; }
.message-card h2 { margin:12px 0 7px; font-size:clamp(23px,4vw,31px); letter-spacing:-.03em; }
.message-card p { margin:0 auto 18px; max-width:300px; color:#a9bdcd; font-size:13px; line-height:1.5; }
.message-card button { min-height:43px; padding:0 19px; border:0; border-radius:999px; color:#03101a; background:linear-gradient(100deg,#75f1ff,#1dc6ed); box-shadow:0 0 24px rgba(0,217,255,.22); font:inherit; font-size:12px; font-weight:850; cursor:pointer; }
.message-card button:disabled { opacity:.48; cursor:wait; }
.message-card button span { margin-left:12px; }
.controls-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 16px; border-top:1px solid rgba(132,188,220,.13); color:#90aabd; font-size:11px; }
.controls-row b { color:#d8f4ff; font-size:10px; }
.controls-row i { padding:0 5px; color:#54758c; font-style:normal; }
.pause-button { min-height:32px; padding:0 13px; border:1px solid rgba(132,188,220,.23); border-radius:999px; color:#c6ddeb; background:rgba(20,44,62,.7); font:inherit; font-size:10px; cursor:pointer; }
.pause-button:disabled { opacity:.4; cursor:default; }
.touch-controls { display:none; justify-content:center; gap:12px; padding:0 12px 14px; }
.touch-controls button { width:55px; height:46px; border:1px solid rgba(0,217,255,.25); border-radius:14px; color:#dcf9ff; background:rgba(13,36,53,.85); font:inherit; font-size:20px; font-weight:800; touch-action:manipulation; }
.touch-controls button[data-action="jump"] { width:92px; color:#78eaff; font-size:11px; letter-spacing:.1em; }
.footnote { margin:15px 0 0; color:#668092; text-align:center; font-size:9px; font-weight:700; letter-spacing:.2em; }
@media (max-width:680px) {
  .game-page { padding-right:13px; padding-left:13px; }
  .topbar { min-height:58px; }
  .game-layout { margin-top:25px; }
  .intro { margin-bottom:16px; }
  .description { max-width:340px; font-size:13px; }
  .game-shell { border-radius:15px; }
  .arena { aspect-ratio:4/5; min-height:0; max-height:64svh; }
  .hud { gap:clamp(16px,7vw,42px); padding:10px; }
  .hud div { gap:6px; }
  .hud strong { font-size:15px; }
  .hud small { font-size:8px; }
  .controls-row { justify-content:center; padding:10px 8px; font-size:9px; }
  .pause-button { display:none; }
  .touch-controls { display:flex; }
  .footnote { font-size:8px; }
}
@media (max-width:370px) { .back-link { font-size:0; } .back-link span { font-size:16px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; } }
