:root { color-scheme: dark; }
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  background: #0b0b0b; color: #fff; min-height: 100vh;
  font: 16px/1.6 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
.wrap { max-width: 920px; margin: 0 auto; padding: 0 16px; }

/* nav */
nav { display: flex; align-items: center; justify-content: space-between; padding: 22px 0; }
nav .brand { display: flex; align-items: center; gap: 10px; font-weight: 700; letter-spacing: .06em; }
nav .brand img { width: 28px; height: 28px; }
nav .links { display: flex; gap: 22px; font-size: 14px; color: #9a9a9a; }
nav .links a:hover { color: #fff; }

/* hero */
.hero { text-align: center; padding: 90px 0 70px; }
.hero img { width: 84px; height: 84px; }
.hero h1 { font-size: 48px; letter-spacing: .06em; margin: 18px 0 10px; }
.hero p { color: #9a9a9a; max-width: 460px; margin: 0 auto 30px; }
.row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.btn { padding: 13px 26px; border-radius: 10px; font-weight: 600; transition: opacity .15s, background .15s; }
.btn.solid { background: #fff; color: #000; }
.btn.solid:hover { opacity: .85; }
.btn.ghost { border: 1px solid #262626; color: #ddd; }
.btn.ghost:hover { border-color: #444; }

/* section */
h2 { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #6a6a6a; margin: 44px 0 16px; }

/* universal loadstring box */
.loadbox { display: flex; gap: 10px; align-items: stretch; max-width: 640px; margin: 0 auto; }
.loadbox pre { flex: 1; background: #111; border: 1px solid #1c1c1c; border-radius: 10px; padding: 14px; font-size: 12px; color: #d8d8d8; white-space: pre-wrap; word-break: break-all; display: flex; align-items: center; }
.loadbox button { border: 0; border-radius: 10px; background: #fff; color: #000; font-weight: 600; padding: 0 22px; cursor: pointer; }

/* game grid */
.grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); padding-bottom: 70px; }
.card { background: #111; border: 1px solid #1c1c1c; border-radius: 14px; padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.card .top { display: flex; align-items: center; justify-content: space-between; }
.card h3 { font-size: 17px; }
.tag { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; }
.tag.key { background: #1c1402; color: #e8a34d; }
.tag.free { background: #06140c; color: #4ade80; }
.tag.soon { background: #141414; color: #777; }
.card .meta { font-size: 13px; color: #8a8a8a; min-height: 20px; }
.card button { margin-top: auto; padding: 10px; border: 0; border-radius: 9px; background: #fff; color: #000; font-weight: 600; cursor: pointer; }
.card button.disabled { background: #1a1a1a; color: #666; cursor: not-allowed; }
.card pre { display: none; background: #0b0b0b; border: 1px solid #1c1c1c; border-radius: 9px; padding: 10px; font-size: 11px; color: #cfcfcf; white-space: pre-wrap; word-break: break-all; }

footer { border-top: 1px solid #141414; padding: 26px 0; text-align: center; color: #6a6a6a; font-size: 13px; }
