:root {
  --bg-0: #020407;
  --bg-1: #070b12;
  --bg-2: #0d1622;
  --fg: #f4f7ff;
  --danger: #ff4040;
  --hud-dim: #8fa2c4;
  --grid: rgba(120, 155, 255, 0.04);
}

* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
}

body {
  overflow: hidden;
  background:
    radial-gradient(95% 90% at 12% 8%, rgba(21, 39, 68, 0.7) 0%, transparent 60%),
    radial-gradient(90% 100% at 92% 86%, rgba(64, 12, 16, 0.45) 0%, transparent 55%),
    linear-gradient(180deg, var(--bg-2), var(--bg-1) 45%, var(--bg-0));
  color: var(--fg);
  font-family: "Trebuchet MS", "Segoe UI", Tahoma, sans-serif;
}

.app-shell {
  position: relative;
  width: 100%;
  height: 100%;
}

#game-canvas {
  display: block;
  width: 100%;
  height: 100%;
  background: radial-gradient(140% 100% at 50% 0%, #0b1220 0%, #05080e 40%, #03050a 100%);
}

.scanline {
  pointer-events: none;
  position: absolute;
  inset: 0;
  background-image: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.025) 0,
    rgba(255, 255, 255, 0.025) 1px,
    transparent 1px,
    transparent 4px
  );
  opacity: 0.08;
}

.launch-help {
  position: absolute;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  max-width: min(92vw, 820px);
  padding: 10px 12px;
  border: 1px solid rgba(255, 90, 90, 0.35);
  border-radius: 8px;
  background: rgba(8, 13, 22, 0.92);
  color: rgba(255, 231, 231, 0.95);
  text-align: center;
  font-size: 13px;
  line-height: 1.35;
  text-wrap: balance;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease-out;
}

.launch-help.visible {
  opacity: 1;
}

.credits {
  position: fixed;
  top: auto;
  right: 12px;
  left: auto;
  bottom: 12px;
  z-index: 9999;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(5, 10, 18, 0.78);
  backdrop-filter: blur(8px);
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}

.credits a {
  color: rgba(244, 247, 255, 0.96);
  text-decoration: none;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
}

.credits a:hover {
  color: #ffffff;
  text-decoration: underline;
}
