/* Self-hosted fonts (copied by tools/build-site.mjs). */
@font-face{font-family:Roboto;font-weight:400;font-style:normal;font-display:swap;src:url(fonts/roboto-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Roboto;font-weight:500;font-style:normal;font-display:swap;src:url(fonts/roboto-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Roboto;font-weight:700;font-style:normal;font-display:swap;src:url(fonts/roboto-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto Mono";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/roboto-mono-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto Mono";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/roboto-mono-latin-700-normal.woff2) format("woff2")}

/* arxify.se/games: matches the arxify.se look (cream, deep green, amber; Roboto + Roboto Mono). */
:root{--cream:#f3eee2;--ink:#0e2a20;--green:#143c2b;--green2:#3c6e47;--sage:#8fa98a;--amber:#c68a24;--amber-press:#a87317;--muted:#6b6256;
  --line:rgba(20,60,43,.16);--line-strong:rgba(20,60,43,.32);--shadow:10px 10px 0 rgba(20,60,43,.1);--maxw:1180px;--pad:clamp(20px,5vw,48px)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.6 Roboto,system-ui,sans-serif}
a{color:var(--green);text-underline-offset:3px}
a:hover{color:var(--amber-press)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
header.site{border-bottom:1px solid var(--line);background:var(--cream);position:sticky;top:0;z-index:5}
header.site .wrap{display:flex;align-items:center;gap:20px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font:700 18px "Roboto Mono",monospace;letter-spacing:.14em;text-decoration:none;color:var(--green)}
.brand img{width:28px;height:28px}
nav.main{margin-left:auto;display:flex;align-items:center;gap:6px 22px;flex-wrap:wrap}
nav.main a{text-decoration:none;font:500 13px "Roboto Mono",monospace;letter-spacing:.08em;text-transform:uppercase;padding:10px 0}
nav.main a[aria-current=page]{color:var(--amber-press);border-bottom:2px solid var(--amber)}
.lang{border:1px solid var(--line-strong);padding:6px 10px!important;border-radius:2px}
main{padding:clamp(32px,6vw,72px) 0 clamp(40px,8vw,96px)}
h1,h2,h3{color:var(--green);line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(32px,5vw,52px);font-weight:700;letter-spacing:-.01em}
h2{font-size:clamp(22px,3vw,30px);margin-top:1.8em}
.eyebrow{font:500 12px "Roboto Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--amber-press);margin:0 0 14px}
.lead{font-size:clamp(18px,2.2vw,21px);max-width:62ch}
.muted{color:var(--muted);font-size:15px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:28px;margin-top:36px}
.card{background:#fbf8f0;border:1px solid var(--line-strong);box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;transition:transform .2s cubic-bezier(.22,1,.36,1)}
.card:hover{transform:translate(-2px,-2px)}
.card .top{display:flex;gap:16px;align-items:center}
.card img.icon{width:72px;height:72px;border-radius:16px;border:1px solid var(--line);flex:none;background:var(--ink)}
.card .dot{width:72px;height:72px;border-radius:16px;flex:none;border:1px solid var(--line)}
.card h3{margin:0;font-size:22px}
.tag{display:inline-block;font:500 11px "Roboto Mono",monospace;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--line-strong);color:var(--green2);align-self:flex-start}
.tag.web{background:var(--green);color:var(--cream);border-color:var(--green)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;background:var(--amber);color:#1b1305;font:700 14px "Roboto Mono",monospace;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:0;border-radius:2px}
.btn:hover{background:var(--amber-press);color:#fff}
.btn.ghost{background:transparent;color:var(--green);border:1px solid var(--line-strong)}
.btn.ghost:hover{background:var(--green);color:var(--cream)}
.btn.off{background:transparent;border:1px dashed var(--line-strong);color:var(--muted);pointer-events:none}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 8px}
.hero{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
.hero img.icon{width:clamp(96px,18vw,160px);height:auto;aspect-ratio:1;border-radius:22%;border:1px solid var(--line-strong);box-shadow:var(--shadow);background:var(--ink)}
@media (max-width:560px){.hero{grid-template-columns:1fr}}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:40px;margin-top:8px}
ul.ticks{padding-left:0;list-style:none;margin:0}
ul.ticks li{padding-left:28px;position:relative;margin:.55em 0}
ul.ticks li::before{content:"";position:absolute;left:4px;top:.6em;width:10px;height:10px;background:var(--amber)}
table{border-collapse:collapse;width:100%}
.table-wrap{overflow-x:auto;margin:18px 0}
.policy-table th,.policy-table td{border:1px solid var(--line-strong);padding:10px 12px;text-align:left;vertical-align:top;font-size:15px}
.policy-table th{background:var(--green);color:var(--cream);font:500 12px "Roboto Mono",monospace;letter-spacing:.1em;text-transform:uppercase}
.kv td{padding:8px 12px;border-bottom:1px solid var(--line)}
.kv td:first-child{font:500 13px "Roboto Mono",monospace;color:var(--green2);width:9em}
article.policy{max-width:860px}
article.policy code{background:rgba(20,60,43,.08);padding:1px 6px}
@media (max-width:640px){
  .policy-table thead{display:none}
  .policy-table,.policy-table tbody,.policy-table tr,.policy-table td{display:block;width:100%}
  .policy-table tr{border:1px solid var(--line-strong);margin-bottom:14px;background:#fbf8f0}
  .policy-table td{border:0;border-bottom:1px solid var(--line)}
  .policy-table td::before{content:attr(data-label);display:block;font:500 11px "Roboto Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--green2)}
}
footer.site{background:var(--green);color:var(--cream);padding:36px 0;font-size:15px}
footer.site a{color:var(--cream)}
footer.site .wrap{display:flex;gap:16px 36px;flex-wrap:wrap;justify-content:space-between}
.crumbs{font:500 12px "Roboto Mono",monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}
.crumbs a{text-decoration:none}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
