/* Terms and Privacy: plain, readable pages that load without the game. */
@font-face { font-family: 'Satoshi'; src: url('/fonts/satoshi-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('/fonts/satoshi-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Clash Display'; src: url('/fonts/clash-display-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
:root { --ink: #161616; --muted: #676a6e; --rule: #dcdcd8; --paper: #f4f3ef; --card: #fff; --link: #0a7aff; --mark: #111; --accent: #f2c14e; --brand: #0a7aff; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 16.5px/1.65 "Satoshi", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; -webkit-font-smoothing: antialiased; }
.top { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 1080px; margin: 0 auto 8px; padding: 14px 16px; }
.brand { display: flex; align-items: center; gap: 9px; font-weight: 700; font-size: 14px; color: var(--ink); text-decoration: none; }
.brand i { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--mark); color: var(--accent); font-style: normal; font-size: 12px; }
.top nav { display: flex; gap: 18px; font-size: 15px; font-weight: 600; }
.top nav a { color: var(--ink); text-decoration: none; }
.top nav a[aria-current="page"] { color: var(--brand); }
main { max-width: 760px; margin: 0 auto 48px; padding: 28px 20px 36px; background: var(--card); border-radius: 20px; }
@media (max-width: 800px) { main { border-radius: 0; margin-bottom: 0; } }
h1 { font-size: 34px; line-height: 1.15; letter-spacing: -0.025em; margin: 0 0 6px; }
.meta { color: var(--muted); font-size: 14px; margin: 0 0 22px; }
.summary { background: var(--paper); border-radius: 14px; padding: 14px 18px; margin: 0 0 26px; }
.summary h2 { margin-top: 0; font-size: 15px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.summary ul { margin: 0; padding-left: 20px; }
h2 { font-size: 21px; letter-spacing: -0.01em; margin: 34px 0 8px; line-height: 1.3; }
h3 { font-size: 17px; margin: 22px 0 6px; }
p, li { margin: 0 0 12px; }
ul { padding-left: 22px; }
a { color: var(--link); }
table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 6px 0 16px; display: block; overflow-x: auto; }
th, td { text-align: left; vertical-align: top; padding: 9px 10px; border-bottom: 1px solid var(--rule); }
th { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.caps { text-transform: uppercase; font-size: 14.5px; letter-spacing: .01em; }
footer { max-width: 760px; margin: 0 auto; padding: 0 16px 32px; color: var(--muted); font-size: 13px; }
@media print { .top nav, footer { display: none; } main { padding: 0; } body { background: #fff; color: #000; } }

/* The wordmark, as in the game: "Escape the" small above GrindLife, with
   "Life" in the brand blue. */
.wm { display: inline-flex; flex-direction: column; line-height: 1; color: var(--ink); text-decoration: none; }
.wm-pre { font: 700 9px/1 "Satoshi", system-ui, sans-serif; letter-spacing: .28em; text-transform: uppercase; opacity: .62; margin: 0 0 4px 1px; }
.wm-name { font-family: 'Clash Display', "Satoshi", system-ui, sans-serif; font-weight: 600; font-size: 26px; letter-spacing: -.01em; }
.wm-name b { font-weight: 600; color: var(--brand); }
