:root { --ink:#1d1b26; --muted:#5b5868; --accent:#e4572e; --bg:#fbf8f3; --card:#fff; }
* { box-sizing: border-box; }
body { margin:0; font:17px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--ink); background:var(--bg); }
header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem;
  max-width:860px; margin:0 auto; padding:1.2rem 1.25rem; }
.brand { font-weight:800; font-size:1.35rem; letter-spacing:.02em; color:var(--ink); text-decoration:none; }
nav a { margin-left:1.2rem; color:var(--muted); text-decoration:none; font-weight:600; }
nav a:hover, a:hover { color:var(--accent); }
main { max-width:860px; margin:0 auto; padding:0 1.25rem 3rem; }
a { color:var(--accent); }
.hero { padding:3rem 0 2rem; }
.hero h1 { font-size:clamp(2.4rem, 7vw, 3.6rem); margin:0 0 .5rem; line-height:1.1; }
.hero .quote { font-style:italic; }
.hero p { font-size:1.2rem; color:var(--muted); max-width:36rem; }
h2 { margin-top:2.5rem; }
.game { background:var(--card); border-radius:14px; padding:1.2rem 1.4rem; box-shadow:0 2px 10px rgba(0,0,0,.06); }
.game h3 { margin:0 0 .3rem; font-size:1.3rem; }
.game p { margin:.3rem 0; }
.meta { color:var(--muted); font-size:.95rem; }
.policy table { border-collapse:collapse; width:100%; font-size:.92rem; display:block; overflow-x:auto; }
.policy th, .policy td { border:1px solid #ddd; padding:.4rem .6rem; text-align:left; vertical-align:top; }
code { background:#eee; padding:0 .25rem; border-radius:4px; font-size:.9em; }
footer { max-width:860px; margin:0 auto; padding:1.5rem 1.25rem 2.5rem; color:var(--muted); font-size:.9rem; border-top:1px solid #e6e1d8; }
