/* Shared look for the static pages (how-to-play, privacy, terms, 404). Matches the homepage. */
:root { --night:#061109; --deep:#0b2412; --acid:#e3bd6a; --bone:#f4e9c5; --mist:#dce7cf; --line:rgba(216,178,94,.28); --gold:#d8b25e; --green-1:#2f7a45; --green-2:#174c2a; --cream:#fffdf3; color-scheme:dark; }
* { box-sizing:border-box; }
body { margin:0; color:var(--bone); background:var(--night); font:500 17px/1.6 "Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--acid); }
img { display:block; max-width:100%; }
.skip { position:absolute; left:-999px; top:8px; z-index:100; padding:12px 16px; border-radius:10px; color:var(--night); background:var(--acid); font-weight:800; }
.skip:focus { left:8px; }
.site-header { position:sticky; top:0; z-index:10; border-bottom:1px solid rgba(244,233,197,.13); background:rgba(6,17,9,.92); backdrop-filter:blur(8px); }
.site-header .wrap, .site-footer .wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.wrap { width:min(1000px, calc(100% - 32px)); margin-inline:auto; }
.brand { display:flex; align-items:center; gap:10px; min-height:60px; color:var(--bone); text-decoration:none; font:400 19px "Rye",serif; letter-spacing:.04em; }
.brand img { width:34px; height:34px; border:2px solid var(--gold); border-radius:50%; }
.nav { display:flex; align-items:center; gap:18px; font-weight:800; font-size:15px; }
.nav a { color:var(--mist); text-decoration:none; }
.nav .cta, .button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border:2px solid var(--gold); border-radius:12px; color:var(--cream); background:linear-gradient(var(--green-1),var(--green-2)); box-shadow:0 3px 0 #092415; text-decoration:none; font-weight:800; }
.button.secondary { border-color:rgba(246,236,211,.8); background:rgba(4,18,8,.55); box-shadow:none; }
a:focus-visible, .button:focus-visible, summary:focus-visible { outline:3px solid var(--acid); outline-offset:3px; }
main { padding:40px 0 70px; }
main .wrap { max-width:760px; }
h1 { margin:0 0 6px; color:#f2cf63; font:400 clamp(34px, 7vw, 52px)/1.05 "Rye",serif; }
h2 { margin:34px 0 10px; color:#f2cf63; font:400 clamp(24px, 4.5vw, 30px)/1.15 "Rye",serif; }
h3 { margin:22px 0 6px; color:var(--bone); font:800 18px/1.3 "Nunito Sans",system-ui,sans-serif; }
.kicker { margin:0 0 10px; color:var(--acid); font:800 12px/1.2 "Nunito Sans",system-ui,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.lede { color:#d5e1d0; font-size:19px; }
.muted { color:#c9cfba; font-size:14px; }
ul, ol { padding-left:22px; }
li { margin:6px 0; }
.card-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:12px; margin:16px 0; }
.card { padding:16px; border:1px solid var(--line); border-radius:14px; background:#0b1d10; }
.card img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:10px; margin-bottom:10px; }
.card strong { display:block; color:var(--acid); font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.card p { margin:4px 0 0; color:#d6e1cf; font-size:15px; }
.cta-row { display:flex; flex-wrap:wrap; gap:12px; margin:26px 0 0; }
.site-footer { padding:22px 0 34px; border-top:1px solid var(--line); color:#b8c6b1; font:700 13px/1.4 "Nunito Sans",system-ui,sans-serif; }
.site-footer .wrap { flex-wrap:wrap; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:0 18px; }
.site-footer nav a { display:inline-flex; align-items:center; min-height:44px; color:#c9d6c2; text-decoration:none; }
.notfound { min-height:calc(100vh - 160px); display:grid; place-items:center; text-align:center; background:linear-gradient(rgba(5,17,8,.72),rgba(5,17,8,.95)),url("assets/shared.webp") center/cover; }
.notfound .cta-row { justify-content:center; }
@media (max-width:640px) { .nav a:not(.cta) { display:none; } main { padding-top:28px; } }
