/* Colors and fonts for the whole page. */
    :root { color-scheme: light; --paper:#f5f3ec; --ink:#25372f; --muted:#657168; --line:#d6dbd2; --accent:#adfd68; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.6; }
    a { color:inherit; }
    .wrap { width:min(1080px, calc(100% - 48px)); margin:auto; }
    header { padding:26px 0; border-bottom:1px solid var(--line); }
    header .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; }
    .brand { text-decoration:none; font-weight:800; letter-spacing:-.6px; font-size:20px; }
    nav { display:flex; gap:24px; font-size:14px; }
    nav a { text-decoration:none; }
    nav a:hover { text-decoration:underline; }
    .hero { padding:100px 0 88px; max-width:820px; }
    .eyebrow { font-size:12px; font-weight:bold; letter-spacing:2px; text-transform:uppercase; color:var(--muted); }
    h1 { font-size:clamp(44px,7vw,80px); line-height:1.05; letter-spacing:-3px; margin:20px 0 28px; }
    .intro { max-width:580px; font-size:19px; color:var(--muted); }
    .button { display:inline-block; margin-top:20px; padding:13px 23px; background:var(--ink); color:var(--paper); border-radius:6px; text-decoration:none; font-weight:bold; }
    .button:hover { background:#3b5144; }
    a:focus-visible { outline:3px solid #658320; outline-offset:5px; }
    section { scroll-margin-top:30px; }
    .section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:26px; }
    h2 { font-size:28px; letter-spacing:-1px; margin:0; }
    .section-heading p { color:var(--muted); font-size:14px; }
    .grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:24px 0 70px; }
    .card { border:1px solid var(--line); border-radius:10px; padding:28px; background:#faf9f5; }
    .number { width:44px; height:44px; display:grid; place-items:center; background:var(--accent); border-radius:50%; font-size:13px; font-weight:bold; }
    h3 { margin:24px 0 8px; font-size:21px; }
    .card p { font-size:15px; color:var(--muted); margin:0 0 20px; }
    .status { display:inline-block; font-size:11px; font-weight:bold; text-transform:uppercase; letter-spacing:1px; border:1px solid var(--line); padding:5px 9px; border-radius:4px; }
    .about { border-top:1px solid var(--line); padding:38px 0 64px; display:grid; grid-template-columns:1fr 2fr; gap:40px; }
    .about p { max-width:620px; margin:0; font-size:18px; color:var(--muted); }
    footer { border-top:1px solid var(--line); padding:22px 0; color:var(--muted); font-size:12px; }
    footer .wrap { display:flex; justify-content:space-between; gap:20px; }
    @media(max-width:700px) {
      .wrap { width:calc(100% - 36px); }
      header .wrap { align-items:flex-start; flex-direction:column; gap:12px; }
      .hero { padding:64px 0; }
      h1 { letter-spacing:-2px; }
      .grid,.about { grid-template-columns:1fr; }
      .section-heading { display:block; }
      .about { gap:18px; }
      footer .wrap { flex-direction:column; gap:5px; }
    }

/* The surrounding page and responsive frame for a playable game. */
.game-page { padding-top: 40px; padding-bottom: 64px; }
.game-page h1 { font-size: clamp(32px, 5vw, 56px); letter-spacing: -2px; }
.game-frame { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #000; margin-top: 28px; }
.game-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.game-frame:fullscreen { width: 100%; height: 100%; border: 0; border-radius: 0; }
button.button { font: inherit; font-weight: bold; border: 0; cursor: pointer; }
button:focus-visible { outline: 3px solid #658320; outline-offset: 5px; }
