/* ============================================================
   site.css — the pages around the game.
   Same NES palette as the game so the site and the app read as
   one thing.
   ============================================================ */
:root {
  --bg: #160f28; --bg2: #241a45; --panel: #2d1b5c; --line: #6650a9;
  --text: #f8f4ff; --muted: #b7abda; --gold: #f6c453; --blue: #5cc8ff;
  --green: #62e5a0; --shadow: #120a29;
  --pixel: 'Press Start 2P', 'Courier New', ui-monospace, monospace;
  --body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0; background: var(--bg); color: var(--text);
  font-family: var(--body); line-height: 1.6;
  background-image: repeating-linear-gradient(180deg,
    rgba(255,255,255,.02) 0px, rgba(255,255,255,.02) 1px, transparent 1px, transparent 3px);
}
.wrap { max-width: 760px; margin: 0 auto; padding: 28px 16px 64px; }
a { color: var(--blue); }
a:hover { color: var(--gold); }

.masthead { text-align: center; margin-bottom: 28px; }
.logo {
  font-family: var(--pixel); font-size: clamp(18px, 5vw, 30px); line-height: 1.6;
  color: var(--gold); text-shadow: 4px 4px 0 #000; margin: 0; letter-spacing: 1px;
}
.logo span { display: block; color: var(--blue); }
.tagline { color: var(--muted); margin: 12px 0 0; }

h1, h2 { font-family: var(--pixel); color: var(--gold); line-height: 1.6; text-shadow: 3px 3px 0 #000; }
h1 { font-size: clamp(15px, 4vw, 20px); margin: 0 0 14px; }
h2 { font-size: clamp(12px, 3.2vw, 15px); margin: 32px 0 12px; }
h3 { color: var(--blue); font-size: 16px; margin: 22px 0 6px; }

.panel {
  background: var(--panel); border: 3px solid var(--line);
  box-shadow: 0 4px 0 var(--shadow); padding: 18px; margin: 18px 0;
}
.cta-row { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin: 24px 0; }
.btn {
  font-family: var(--pixel); font-size: 11px; line-height: 1.7; text-decoration: none;
  padding: 16px 20px; border: 3px solid var(--line); background: var(--panel);
  color: var(--text); box-shadow: 0 4px 0 var(--shadow); display: inline-block;
}
.btn:hover { background: #3a2570; color: var(--text); }
.btn.primary { background: var(--gold); color: #2b1c00; border-color: #fff0b8; }
.btn.primary:hover { background: #ffd97a; color: #2b1c00; }
.btn.soon { opacity: .5; cursor: not-allowed; }

.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.card { background: var(--bg2); border: 2px solid var(--line); padding: 14px; }
.card h3 { margin-top: 0; }
.card p { margin: 0; color: var(--muted); font-size: 14px; }

/* A four-column table does not fit a phone. Let it scroll inside its own
   box rather than crushing the columns or scrolling the whole page. */
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 14px 0; }
table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 480px; }
td b { color: var(--text); display: block; }
td span { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; }
th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line); }
th { color: var(--gold); font-size: 13px; }
td { color: var(--muted); }

ul { color: var(--muted); }
li { margin-bottom: 8px; }
p { color: var(--muted); }
strong { color: var(--text); }
.lede { color: var(--text); font-size: 17px; }

.foot {
  margin-top: 44px; padding-top: 18px; border-top: 2px solid var(--line);
  color: var(--muted); font-size: 13px; text-align: center;
}
.foot a { margin: 0 8px; }
.updated { color: var(--muted); font-size: 13px; font-style: italic; }
