:root{
  color-scheme: dark;
  --bg:#070915;
  --bg2:#111832;
  --card:rgba(10,16,34,.72);
  --card-strong:rgba(16,24,48,.88);
  --text:#f8fbff;
  --muted:#9fb0cf;
  --line:rgba(160,184,255,.2);
  --blue:#63b3ff;
  --cyan:#39f6ff;
  --pink:#ff4fd8;
  --orange:#ffb35c;
  --danger:#ff4f72;
  --ok:#67ffb1;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  overflow-x:clip;
  background:
    radial-gradient(circle at 15% 20%, rgba(57,246,255,.24), transparent 28rem),
    radial-gradient(circle at 82% 12%, rgba(255,79,216,.22), transparent 24rem),
    radial-gradient(circle at 75% 85%, rgba(255,179,92,.16), transparent 28rem),
    linear-gradient(145deg,#050712 0%,#0a1024 42%,#15122a 100%);
}
body::before,
body::after{
  content:"";
  position:fixed;
  inset:auto;
  pointer-events:none;
  border-radius:999px;
  filter:blur(2px);
  opacity:.75;
}
body::before{width:38rem;height:38rem;left:-14rem;bottom:-18rem;background:radial-gradient(circle,rgba(99,179,255,.18),transparent 68%)}
body::after{width:26rem;height:26rem;right:-9rem;top:14rem;background:radial-gradient(circle,rgba(255,79,216,.16),transparent 64%)}
.noise{
  position:fixed;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:screen;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:radial-gradient(circle at center,black,transparent 82%);
}
.shell{
  position:relative;
  z-index:1;
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);
  gap:clamp(1.2rem,3vw,2.4rem);
  align-items:center;
  padding:clamp(1.25rem,3vw,3rem) 0;
}
.hero{padding:clamp(.3rem,2vw,1rem)}
.brand-pill{
  display:inline-flex;align-items:center;gap:.55rem;
  min-height:2.45rem;
  padding:.42rem .78rem;
  border:1px solid rgba(99,179,255,.34);
  border-radius:999px;
  background:rgba(9,18,44,.68);
  color:#dceeff;
  font-weight:800;
  letter-spacing:.16em;
  font-size:.78rem;
  box-shadow:0 0 34px rgba(57,246,255,.12), inset 0 1px 0 rgba(255,255,255,.12);
}
.pulse-dot{width:.62rem;height:.62rem;border-radius:999px;background:var(--ok);box-shadow:0 0 0 .4rem rgba(103,255,177,.13),0 0 24px rgba(103,255,177,.85);animation:pulse 1.6s ease-in-out infinite}
h1{
  margin:.95rem 0 .8rem;
  font-size:clamp(3rem,8vw,6.8rem);
  line-height:.92;
  letter-spacing:-.075em;
  max-width:9ch;
  text-wrap:balance;
}
.lead{
  margin:0;
  max-width:43rem;
  color:var(--muted);
  font-size:clamp(1.02rem,2vw,1.25rem);
  line-height:1.62;
}
.lead strong{color:var(--text)}
.game-card{
  position:relative;
  border:1px solid rgba(160,184,255,.24);
  border-radius:32px;
  padding:clamp(.85rem,2vw,1.25rem);
  background:linear-gradient(145deg,rgba(12,19,42,.84),rgba(14,10,32,.74));
  box-shadow:0 30px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.1);
  overflow:hidden;
}
.game-card::before{content:"";position:absolute;inset:-30% -20% auto auto;width:22rem;height:22rem;border-radius:999px;background:radial-gradient(circle,rgba(57,246,255,.18),transparent 70%);pointer-events:none}
.game-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.eyebrow{margin:0 0 .2rem;color:var(--cyan);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:900}
h2{margin:0;font-size:clamp(1.75rem,3vw,2.6rem);letter-spacing:-.04em}
.score-board{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.score-board span{display:grid;gap:.08rem;min-width:5.5rem;border:1px solid rgba(160,184,255,.24);border-radius:18px;background:rgba(6,12,29,.55);padding:.62rem .75rem;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;text-align:right}
.score-board strong{color:var(--text);font-size:1.38rem;letter-spacing:-.04em}
.canvas-wrap{position:relative;overflow:hidden;border:1px solid rgba(160,184,255,.23);border-radius:24px;background:#060a18;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
canvas{display:block;width:100%;aspect-ratio:16/9;touch-action:none;background:radial-gradient(circle at 50% 50%,rgba(99,179,255,.13),transparent 55%),#060a18}
.game-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at center,rgba(7,10,24,.25),rgba(7,10,24,.78));backdrop-filter:blur(8px)}
.game-overlay.hidden{display:none}
.overlay-panel{max-width:27rem;text-align:center;border:1px solid rgba(160,184,255,.27);border-radius:26px;background:rgba(10,16,34,.78);padding:1.3rem;box-shadow:0 20px 70px rgba(0,0,0,.35)}
.ship-mark{display:grid;place-items:center;width:3rem;height:3rem;margin:0 auto .8rem;border-radius:1rem;background:linear-gradient(135deg,var(--cyan),var(--pink));color:#06101f;font-weight:900;box-shadow:0 0 34px rgba(57,246,255,.34)}
h3{margin:.2rem 0 .45rem;font-size:1.5rem;letter-spacing:-.035em}.overlay-panel p{margin:0 0 1rem;color:var(--muted);line-height:1.55}.primary-btn,.ghost-btn{min-height:44px;border:0;border-radius:999px;font:inherit;font-size:1rem;font-weight:900;cursor:pointer}.primary-btn{padding:.75rem 1.05rem;color:#06101f;background:linear-gradient(135deg,var(--cyan),var(--blue) 55%,var(--pink));box-shadow:0 12px 34px rgba(57,246,255,.22)}.primary-btn:hover{transform:translateY(-1px)}.ghost-btn{padding:.55rem .85rem;color:var(--muted);background:rgba(255,255,255,.06);border:1px solid rgba(160,184,255,.2)}.ghost-btn:hover{color:var(--text);border-color:rgba(99,179,255,.45)}
.game-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.8rem;color:var(--muted);font-size:.92rem}.control-hint{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}kbd{min-width:1.8rem;text-align:center;border:1px solid rgba(160,184,255,.25);border-bottom-color:rgba(160,184,255,.38);border-radius:.45rem;padding:.15rem .38rem;background:rgba(255,255,255,.06);color:var(--text);font:inherit;font-size:.82rem;font-weight:800;box-shadow:0 2px 0 rgba(0,0,0,.28)}
@keyframes pulse{0%,100%{transform:scale(.9);opacity:.75}50%{transform:scale(1.18);opacity:1}}
@media (max-width:980px){.shell{grid-template-columns:1fr;align-items:start}.hero{padding-top:1rem}h1{max-width:11ch}.game-card{border-radius:26px}}
@media (max-width:620px){.shell{width:min(100% - 24px,1180px);padding:1rem 0 1.35rem}.game-head{display:grid}.score-board{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}.score-board span{text-align:left;min-width:0}.game-footer{display:grid}.ghost-btn{width:100%}h1{font-size:clamp(2.75rem,17vw,4.4rem)}}
@media (min-width:621px){canvas{min-height:320px}}
@media (max-width:620px){
  body{min-height:100svh;background-position:center top;background-size:auto,auto,auto,cover}
  .shell{min-height:auto;width:min(100% - 22px,1180px);gap:.9rem;padding:max(.85rem,env(safe-area-inset-top)) 0 max(1rem,env(safe-area-inset-bottom))}
  .hero{padding:.25rem .1rem 0}
  .brand-pill{min-height:2.1rem;padding:.34rem .62rem;gap:.45rem;font-size:.68rem;letter-spacing:.14em}
  .pulse-dot{width:.54rem;height:.54rem;box-shadow:0 0 0 .32rem rgba(103,255,177,.13),0 0 18px rgba(103,255,177,.85)}
  h1{margin:.7rem 0 .55rem;max-width:10.5ch;font-size:clamp(2.3rem,13.4vw,3.35rem);line-height:.94;letter-spacing:-.065em}
  .lead{max-width:34rem;font-size:1rem;line-height:1.45}
  .game-card{border-radius:22px;padding:.72rem;box-shadow:0 22px 60px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.1)}
  .game-head{gap:.62rem;margin-bottom:.65rem}
  .eyebrow{font-size:.7rem;letter-spacing:.14em}
  h2{font-size:1.55rem}
  .score-board{gap:.45rem}
  .score-board span{border-radius:14px;padding:.48rem .58rem;font-size:.68rem}
  .score-board strong{font-size:1.2rem}
  .canvas-wrap{border-radius:18px}
  canvas{aspect-ratio:auto;height:clamp(360px,96vw,430px)}
  .game-overlay{padding:.62rem}
  .overlay-panel{max-width:calc(100% - .5rem);padding:.92rem;border-radius:20px}
  .ship-mark{width:2.35rem;height:2.35rem;border-radius:.78rem;margin-bottom:.55rem}
  h3{font-size:1.16rem;line-height:1.08;margin:.1rem 0 .38rem}
  .overlay-panel p{font-size:.91rem;line-height:1.35;margin-bottom:.72rem}
  .primary-btn{width:100%;padding:.72rem .9rem}
  .game-footer{gap:.62rem;margin-top:.68rem;font-size:.9rem}
  .control-hint{gap:.28rem}
  kbd{min-width:1.65rem;font-size:.78rem;padding:.12rem .3rem}
}
@media (max-width:380px){
  .shell{width:min(100% - 20px,1180px);gap:.75rem}
  h1{font-size:clamp(2.15rem,12.7vw,3rem);line-height:.95}
  .lead{font-size:.96rem;line-height:1.42}
  .brand-pill{font-size:.64rem}
  .game-card{padding:.6rem}
  canvas{height:clamp(340px,94vw,390px)}
  .overlay-panel{padding:.78rem}
  .overlay-panel p{font-size:.86rem}
}
@media (pointer:coarse){.primary-btn,.ghost-btn{min-height:48px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
