:root {
  --bg: #fdf6ec;
  --card: #fffaf3;
  --ink: #2f2530;
  --soft: #6b5a63;
  --line: #f0dcc6;
  --accent: #b4532a;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #1f1a22;
    --card: #2a2330;
    --ink: #f6ede4;
    --soft: #c9b8ae;
    --line: #3d3342;
    --accent: #f2a377;
    color-scheme: dark;
  }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 1.0625rem/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.wrap { max-width: 40rem; margin: 0 auto; padding-inline: 1.25rem; }

header { padding-block: 1.5rem 0; }
.brand { color: var(--ink); font-weight: 700; letter-spacing: 0.02em; text-decoration: none; }

main { padding-block: 2rem 1rem; }
section { margin-block: 0 2.5rem; }
h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 0.75rem; letter-spacing: -0.01em; }
h2 { font-size: 1.25rem; margin: 0 0 0.5rem; }
p { margin: 0 0 0.75rem; }
.intro p { color: var(--soft); }

a { color: var(--accent); text-underline-offset: 0.15em; }
a:hover { text-decoration-thickness: 2px; }

.game {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 1rem;
  padding: 1.25rem;
}
.game img {
  flex: none;
  width: 128px;
  height: 128px;
  border-radius: 22%;
  image-rendering: pixelated;
}
.status { color: var(--soft); font-weight: 600; margin: 0; }

footer { border-top: 1px solid var(--line); padding-block: 1.25rem 2.5rem; color: var(--soft); font-size: 0.9rem; }

@media (max-width: 30rem) {
  h1 { font-size: 1.55rem; }
  .game { flex-direction: column; }
  .game img { width: 96px; height: 96px; }
}
