/* Reuse the shared game navigation/legal layout from arrowly.css. */
.sudokuzy {
  --accent: #5f46ab;
  --accent-soft: #f1edff;
  --game: #6950b7;
  --teal: #087d83;
  --gold: #8c6618;
}
html[data-theme="dark"] .sudokuzy {
  --accent: #cab7ff;
  --accent-soft: #272138;
  --game: #c2acff;
  --teal: #80d8d7;
  --gold: #edc46e;
}
.sudokuzy .container {
  max-width: 1120px;
}
.sudokuzy h1 {
  font-size: clamp(36px, 4.2vw, 56px);
  line-height: 1.12;
  letter-spacing: -0.045em;
  margin: 0 0 24px;
  max-width: 760px;
}
.sudokuzy h2 {
  font-size: 28px;
  line-height: 1.3;
  letter-spacing: -0.03em;
}
.sudokuzy h3 {
  font-size: 19px;
  line-height: 1.4;
  letter-spacing: -0.02em;
}
.sudokuzy p {
  color: var(--muted);
  line-height: 1.8;
}
.sudokuzy a {
  text-underline-offset: 4px;
}
.sudokuzy .policy-body a,
.sudokuzy .sudoku-local a {
  color: var(--accent);
  text-decoration: underline;
}
.sudokuzy .eyebrow {
  color: var(--teal);
}
.sudokuzy :focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 4px;
}
.sudokuzy .game-hero {
  gap: 64px;
  padding-block: 52px 64px;
}
.sudokuzy .game-label strong {
  font-size: 22px;
}
.sudokuzy .game-visual {
  max-width: 278px;
}
.sudoku-frame {
  padding: 9px;
  background: var(--accent-soft);
  border: 1px solid var(--line);
  border-radius: 29px;
  box-shadow: 0 18px 48px #30225914;
}
.sudoku-frame img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
}
.sudoku-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 14px;
  font-size: 13px;
  color: var(--teal);
}
.sudokuzy .game-card .step {
  color: var(--teal);
  font-size: 14px;
}
.sudokuzy .game-status {
  border-left: 3px solid var(--gold);
}
.sudokuzy .policy-toc {
  position: static;
}
.sudokuzy .policy-toc a {
  font-size: 14px;
}
.sudokuzy .policy-body section {
  scroll-margin-top: 110px;
}
.sudokuzy .game-feature-grid {
  grid-template-columns: 240px minmax(0, 1fr);
}
.sudoku-local {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
.sudoku-local .release-note {
  margin-top: 0;
}
.economy-list {
  margin: 20px 0;
}
.economy-list > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
  font-size: 16px;
  line-height: 1.6;
}
.economy-list dt {
  color: var(--muted);
}
.economy-list dd {
  margin: 0;
  font-weight: 600;
}
@media (max-width: 900px) {
  .sudokuzy .game-hero {
    gap: 30px;
  }
  .sudokuzy .game-feature-grid {
    grid-template-columns: 210px minmax(0, 1fr);
  }
}
@media (max-width: 600px) {
  .sudokuzy .game-hero {
    padding-block: 36px 45px;
  }
  .sudokuzy .game-hero h1 {
    font-size: 38px;
  }
  .sudokuzy .game-feature-grid,
  .sudoku-local {
    grid-template-columns: 1fr;
  }
  .sudokuzy .game-nav nav {
    justify-content: flex-start;
    gap: 0 5px;
  }
  .sudokuzy .game-nav nav a {
    padding-inline: 9px;
  }
  .sudokuzy h2 {
    font-size: 25px;
  }
  .sudokuzy .game-label strong {
    font-size: 20px;
  }
  .economy-list > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sudokuzy * {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
@media print {
  .sudokuzy {
    background: white;
    color: #111;
  }
  .sudokuzy p,
  .sudokuzy li {
    color: #222;
  }
  .sudokuzy details::details-content {
    content-visibility: visible;
  }
}
