/* Draft v9: v8's pages in the hosted store's look. Flat near-black panels, square corners, bold uppercase type, the brand red. */
:root {
  --bg: #1b1a1d;
  --bg-deep: #151517;
  --surface: #18181a;
  --surface-2: #222124;
  --surface-3: #2b2a2e;
  --tile: #201f22;
  --slot: #262528;
  --line: #242326;
  --line-2: #2c2b2f;
  --line-3: #3d3c41;
  --text: #f4f4f5;
  --text-2: #c9c8cd;
  --text-3: #908f96;
  --red: #d9393a;
  --red-2: #e84a4b;
  --red-deep: #8f1d1e;
  --amber: #edc90f;
  --green: #5ad68e;
  --r: 2px;
  --sans: 'Roboto', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --display: 'Roboto Condensed', 'Roboto', ui-sans-serif, system-ui, sans-serif;
  --mono: 'Roboto Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --top: 64px;
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--bg); -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--top) + 16px); }
body.n8 { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: var(--bg); color: var(--text); font: 400 15px/1.5 var(--sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
:where(.n8) img { display: block; max-width: 100%; height: auto; }
:where(.n8) a { color: inherit; }
:where(.n8) button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:where(.n8) code { font: 600 .86em/1 var(--mono); background: rgba(255, 255, 255, .09); color: var(--text); padding: .28em .5em; border-radius: var(--r); white-space: nowrap; }
.n8 :focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.n8-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.n8-i { flex: none; }
.n8-main { flex: 1; overflow-x: clip; }
.n8-wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.n8-h1 { margin: 0; font-size: 34px; line-height: 1.15; font-weight: 700; letter-spacing: -.02em; }
.n8-h2 { margin: 0 0 18px; font-size: 21px; line-height: 1.3; font-weight: 600; letter-spacing: -.01em; }
.n8-h3 { margin: 0; font-size: 18px; line-height: 1.3; font-weight: 600; }
.sd-money.est { border-bottom: 1px dotted currentColor; }

/* ---------- buttons, badges ---------- */
.n8-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: var(--r); background: var(--surface-2); border: 1px solid var(--line-2); color: var(--text); font-size: 14.5px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background .15s, border-color .15s, color .15s; }
.n8-btn:hover { background: var(--surface-3); border-color: var(--line-3); }
.n8-btn-primary { background: var(--red); border-color: var(--red); color: #fff; }
.n8-btn-primary:hover { background: var(--red-2); border-color: var(--red-2); }
.n8-btn-lg { height: 50px; padding: 0 22px; font-size: 15.5px; }
.n8-btn-sm { height: 34px; padding: 0 12px; font-size: 13px; }
.n8-btn-block { width: 100%; }
.n8-btn-steam { width: 100%; background: #1b2838; border-color: #2a475e; color: #fff; }
.n8-btn-steam:hover { background: #22364b; border-color: #3a6383; }
.n8-btn.busy { color: transparent !important; pointer-events: none; position: relative; }
.n8-btn.busy::after { content: ''; position: absolute; width: 18px; height: 18px; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%; animation: n8spin .7s linear infinite; }
@keyframes n8spin { to { transform: rotate(360deg); } }
.n8-badge { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: var(--r); font-size: 12px; font-weight: 600; white-space: nowrap; }
.n8-badge.hot { background: #3a2e14; color: var(--amber); }
.n8-badge.own, .n8-badge.good { background: #173826; color: var(--green); }
.n8-chip { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: var(--r); background: rgba(255, 255, 255, .08); color: var(--text-2); font-size: 12.5px; font-weight: 600; }
.n8-chip.good { background: #173826; color: var(--green); }
.n8-sale { display: inline-flex; align-items: center; height: 32px; padding: 0 13px; border-radius: var(--r); background: rgba(225, 38, 45, .18); color: #ff7c81; font-size: 14px; font-weight: 600; }
.n8-sale.sm { height: 26px; padding: 0 10px; font-size: 12.5px; }
.n8-off { font-style: normal; display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: var(--r); background: #e1262d; color: #fff; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.n8-totals > div.n8-saved { font-weight: 600; }

/* ---------- header ---------- */
.n8-top { position: sticky; top: 0; z-index: 50; background: rgba(18, 20, 24, .9); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); border-bottom: 1px solid var(--line); }
.n8-top-in { height: var(--top); display: flex; align-items: center; gap: 28px; }
.n8-logo img { height: 34px; width: auto; }
.n8-nav { display: flex; align-items: center; gap: 4px; height: 100%; }
.n8-nav-link { display: inline-flex; align-items: center; height: 36px; padding: 0 10px; border-radius: var(--r); font-size: 14.5px; font-weight: 500; color: var(--text-2); text-decoration: none; transition: color .15s; }
.n8-nav-link:hover, .n8-nav-link.on { color: var(--text); }
.n8-nav-item { position: relative; display: flex; align-items: center; height: 100%; }
.n8-nav-item.on > .n8-nav-link { color: var(--text); }
.n8-nav-item.on::after { content: ''; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 2px; background: var(--red); border-radius: 2px; }
.n8-nav-item .n8-nav-link { padding-right: 2px; }
.n8-nav-open { display: inline-flex; align-items: center; height: 36px; padding: 0 6px 0 2px; color: var(--text-3); }
.n8-nav-item:hover .n8-nav-open, .n8-nav-item.open .n8-nav-open { color: var(--text); }
.n8-drop { position: absolute; top: calc(100% - 6px); left: 0; min-width: 220px; padding: 6px; background: var(--surface-2); border: 1px solid var(--line-2); border-radius: var(--r); box-shadow: none; opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity .12s, transform .12s, visibility .12s; }
.n8-nav-item:hover .n8-drop, .n8-nav-item.open .n8-drop, .n8-nav-item:focus-within .n8-drop { opacity: 1; visibility: visible; transform: none; }
.n8-drop-h { padding: 8px 10px 6px; font-size: 12px; font-weight: 600; color: var(--text-3); }
.n8-drop a { display: block; padding: 10px; border-radius: var(--r); font-size: 14.5px; color: var(--text); text-decoration: none; }
.n8-drop a:hover { background: rgba(255, 255, 255, .07); }
.n8-top-end { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.n8-top-link { font-size: 14.5px; font-weight: 500; color: var(--text-2); text-decoration: none; }
.n8-top-link:hover { color: var(--text); }
.n8-cur select { appearance: none; -webkit-appearance: none; height: 36px; padding: 0 28px 0 11px; border-radius: var(--r); border: 1px solid var(--line-2); background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23cfd4dc' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 10px center; color: var(--text); font: 600 13px/1 var(--sans); cursor: pointer; }
.n8-signin { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; border-radius: var(--r); border: 1px solid var(--line-2); font-size: 14px; font-weight: 600; text-decoration: none; }
.n8-signin:hover { border-color: var(--line-3); background: rgba(255, 255, 255, .05); }
.n8-me { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; }
.n8-me img { width: 26px; height: 26px; border-radius: var(--r); }
.n8-cart-btn { position: relative; display: grid; place-items: center; width: 38px; height: 36px; border-radius: var(--r); border: 1px solid var(--line-2); text-decoration: none; }
.n8-cart-btn:hover { border-color: var(--line-3); background: rgba(255, 255, 255, .05); }
.n8-cart-n { position: absolute; top: -7px; right: -7px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: var(--r); background: var(--red); color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; }
.n8-cart-n[hidden] { display: none; }
.n8-burger { display: none; width: 38px; height: 36px; border-radius: var(--r); border: 1px solid var(--line-2); place-items: center; }
.n8-mnav { border-top: 1px solid var(--line); background: var(--bg-deep); max-height: calc(100vh - var(--top)); overflow: auto; }
.n8-mnav .n8-wrap { padding-top: 8px; padding-bottom: 20px; }
.n8-mnav-home, .n8-mnav-name { display: block; padding: 12px 0; font-size: 16px; font-weight: 600; text-decoration: none; }
.n8-mnav-srv { border-top: 1px solid var(--line); }
.n8-mnav-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 14px; }
.n8-mnav-tabs a { padding: 8px 12px; border: 1px solid var(--line-2); border-radius: var(--r); font-size: 14px; color: var(--text-2); text-decoration: none; }
.n8-mnav-foot { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--line); font-size: 14px; color: var(--text-2); }

/* ---------- home ---------- */
.n8-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
.n8-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center 65%; opacity: .55; }
.n8-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23, 25, 30, .95) 0%, rgba(23, 25, 30, .7) 50%, rgba(23, 25, 30, .45) 100%), linear-gradient(0deg, var(--bg) 0%, rgba(23, 25, 30, 0) 55%); }
.n8-hero-in { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 18px; min-height: 280px; padding-top: 48px; padding-bottom: 48px; }
.n8-hero h1 { margin: 0; font-size: 52px; line-height: 1.05; font-weight: 700; letter-spacing: -.03em; }
.n8-sec { padding-top: 48px; }
.n8-servers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.n8-server { display: flex; flex-direction: column; gap: 10px; padding: 22px; background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r); text-decoration: none; transition: border-color .15s, transform .15s, background .15s; }
.n8-server:hover { border-color: var(--line-3); background: #23262d;  }
.n8-server-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 26px; }
.n8-server-name { font-size: 20px; font-weight: 700; letter-spacing: -.01em; }
.n8-server-from { font-size: 14.5px; color: var(--text-2); }
.n8-server-from b { color: var(--text); font-weight: 600; }
.n8-server .n8-btn { margin-top: 10px; width: 100%; }
.n8-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 32px; border: 1px solid var(--line-2); border-radius: var(--r); background: var(--surface); }
.n8-facts > div { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; align-items: center; padding: 20px 22px; }
.n8-facts > div + div { border-left: 1px solid var(--line); }
.n8-facts svg { grid-row: span 2; color: var(--text-2); }
.n8-facts b { font-size: 15.5px; font-weight: 600; }
.n8-facts span { font-size: 14px; color: var(--text-2); }

/* ---------- category ---------- */
.n8-band { padding-top: 36px; }
.n8-band-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.n8-band-title { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.n8-band-title h1 { margin: 0; font-size: 34px; line-height: 1.15; font-weight: 700; letter-spacing: -.02em; }
.n8-switch { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 500; color: var(--text-2); }
.n8-pills { display: flex; gap: 4px; padding: 4px; border-radius: var(--r); background: var(--surface); border: 1px solid var(--line-2); }
.n8-pills a { display: grid; place-items: center; min-width: 54px; height: 34px; padding: 0 12px; border-radius: var(--r); font-size: 14px; font-weight: 600; color: var(--text-2); text-decoration: none; transition: background .15s, color .15s; }
.n8-pills a:hover { color: var(--text); background: rgba(255, 255, 255, .06); }
.n8-pills a.on { background: #fff; color: #111; }
.n8-tabs-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 26px; flex-wrap: wrap; }
.n8-tabs { display: flex; gap: 6px; padding: 5px; border-radius: var(--r); background: var(--surface); border: 1px solid var(--line-2); }
.n8-tabs a { display: grid; place-items: center; height: 42px; padding: 0 20px; border-radius: var(--r); font-size: 15px; font-weight: 600; color: var(--text-2); text-decoration: none; white-space: nowrap; transition: background .15s, color .15s; }
.n8-tabs a:hover { color: var(--text); background: rgba(255, 255, 255, .06); }
.n8-tabs a.on { background: var(--red); color: #fff; }
.n8-sec-grid { padding-top: 28px; }
.n8-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
@media (min-width: 1141px) { .n8-grid.six { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.n8-empty { color: var(--text-2); }
.n8-card { position: relative; display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r); overflow: hidden; text-decoration: none; transition: border-color .15s, transform .15s; }
.n8-card:hover { border-color: var(--line-3);  }
.n8-card-img { display: grid; place-items: center; aspect-ratio: 1; padding: 26px; background: radial-gradient(80% 70% at 50% 38%, rgba(255, 255, 255, .06), rgba(255, 255, 255, 0) 70%), var(--tile); }
.n8-card-img img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s ease; }
.n8-card:hover .n8-card-img img { transform: scale(calc(var(--k, 1) * 1.04)) translate(var(--tx, 0%), var(--ty, 0%)); }
.n8-card-img.fill { padding: 0; }
.n8-card-img.fill img { object-fit: cover; }
.n8-card > .n8-badge { position: absolute; top: 12px; left: 12px; }
.n8-card-body { display: flex; flex-direction: column; flex: 1; padding: 14px 16px 16px; }
.n8-card-name { font-size: 17px; font-weight: 700; letter-spacing: -.005em; }
.n8-card-sub { font-size: 13.5px; color: var(--text-2); }
.n8-card-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; margin-top: 10px; }
.n8-card-amt { font-size: 20px; font-weight: 700; }
.n8-card-price small { font-size: 13.5px; color: var(--text-2); }
.n8-card-was { display: flex; align-items: center; gap: 8px; margin-top: 2px; font-size: 13px; color: var(--text-3); }
.n8-card-was em { font-style: normal; color: #ff7c81; font-weight: 600; font-size: 12.5px; }
.n8-card-btn { margin-top: 14px; width: 100%; height: 40px; }
.n8-card:hover .n8-card-btn { background: #fff; color: #111; border-color: #fff; }

/* ---------- product ---------- */
.n8-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 26px 0 18px; font-size: 13.5px; color: var(--text-3); }
.n8-crumbs a { text-decoration: none; color: var(--text-2); }
.n8-crumbs a:hover { color: var(--text); }
.n8-crumbs b { font-weight: 600; color: var(--text); }
.n8-phead-card { display: grid; grid-template-columns: 168px minmax(0, 1fr) 340px; gap: 28px; align-items: center; padding: 22px; background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r); }
.n8-phead-img { display: grid; place-items: center; width: 168px; height: 168px; padding: 14px; border-radius: var(--r); background: radial-gradient(80% 70% at 50% 40%, rgba(255, 255, 255, .07), rgba(255, 255, 255, 0) 70%), var(--tile); overflow: hidden; }
.n8-phead-img img { width: 100%; height: 100%; object-fit: contain; }
.n8-phead-img.fill { padding: 0; }
.n8-phead-img.fill img { object-fit: cover; }
.n8-eyebrow { font-size: 13.5px; font-weight: 500; color: var(--text-2); }
.n8-pname { margin: 6px 0 0; font-size: 42px; line-height: 1.05; font-weight: 700; letter-spacing: -.025em; }
.n8-pprice { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-top: 14px; }
.n8-pamt { font-size: 30px; font-weight: 700; letter-spacing: -.015em; }
.n8-pper { margin-left: -4px; font-size: 15px; color: var(--text-2); }
.n8-pprice s { font-size: 15px; color: var(--text-3); }
.n8-pprice .n8-off { align-self: center; }
.n8-owned { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 14px; font-weight: 500; color: var(--green); }
.n8-phead-buy { display: grid; gap: 10px; }
.n8-seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; padding: 4px; border-radius: var(--r); background: var(--bg); border: 1px solid var(--line-2); }
.n8-seg button, .n8-seg a { display: grid; place-items: center; height: 38px; border-radius: var(--r); font-size: 14.5px; font-weight: 600; color: var(--text-2); text-decoration: none; transition: background .15s, color .15s; }
.n8-seg button:hover, .n8-seg a:hover { color: var(--text); background: rgba(255, 255, 255, .06); }
.n8-seg .on { background: #fff !important; color: #111 !important; }
.n8-buy-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.n8-buy-row .n8-btn:only-child { grid-column: 1 / -1; }
.n8-err { margin: 2px 0 0; color: #ff8f94; font-size: 14px; }
.n8-how { display: grid; gap: 12px; margin-top: 12px; }
.n8-how.n1 { grid-template-columns: 1fr; }
.n8-how.n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.n8-how.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.n8-how-i { display: flex; align-items: flex-start; gap: 14px; padding: 16px 18px; background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r); }
.n8-how-i[hidden] { display: none; }
.n8-how-ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--r); background: var(--surface-2); color: var(--text); }
.n8-how-t { display: grid; gap: 2px; min-width: 0; }
.n8-how-t small { font-size: 12.5px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--text-3); }
.n8-how-t b { font-size: 18px; font-weight: 700; color: var(--text); }
.n8-how-t em { font-style: normal; font-size: 14px; color: var(--text-2); line-height: 1.4; }
.n8-sec-near { padding-top: 24px; }
.n8-body { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 16px; align-items: start; }
.n8-body.solo { grid-template-columns: minmax(0, 720px); }
.n8-perks-card, .n8-box { padding: 20px; background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r); }
.n8-perks-card { position: sticky; top: calc(var(--top) + 16px); }
.n8-box-h { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 14px; }
.n8-box-h h2 { margin: 0; font-size: 18px; font-weight: 700; }
.n8-box-h code { font-size: 13px; }
.n8-box-h em { margin-left: auto; font-style: normal; font-size: 13.5px; font-weight: 500; color: var(--text-2); }
.n8-box.rare .n8-box-h h2 { color: var(--amber); }
.n8-perks { list-style: none; margin: 0 0 16px; padding: 0; display: grid; }
.n8-perks li { display: flex; align-items: flex-start; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.45; color: #eceef2; }
.n8-perks li:first-child { padding-top: 0; }
.n8-perks li:last-child { border-bottom: 0; }
.n8-perks b { color: #fff; font-weight: 700; }
.n8-tick { flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: #173826; color: var(--green); }
.n8-kits { display: grid; gap: 16px; }
.n8-includes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.n8-inc { display: flex; align-items: center; gap: 14px; padding: 10px 16px 10px 10px; background: var(--surface-2); border: 1px solid var(--line-2); border-radius: var(--r); text-decoration: none; transition: border-color .15s; }
.n8-inc:hover { border-color: var(--line-3); }
.n8-inc-i { flex: none; display: grid; place-items: center; width: 64px; height: 64px; }
.n8-inc-i img { width: 100%; height: 100%; object-fit: contain; }
.n8-inc.wide { grid-column: 1 / -1; }
.n8-pay { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 28px; padding: 32px 16px; }
.n8-pay-card { width: min(420px, calc(100vw - 32px)); display: grid; gap: 14px; padding: 28px; background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r); text-align: center; }
.n8-pay-card h1, .n8-pay-card p { margin: 0; }
.n8-pay-h { font: 800 26px/1.2 var(--display); text-transform: uppercase; letter-spacing: .02em; }
.n8-pay-card p { color: var(--text-2); }
.n8-pay-card .n8-err { color: #ff6b6b; }
.n8-pay-code { width: 100%; height: 76px; padding: 0 0 0 .4em; text-align: center; font: 700 42px/1 'Roboto Mono', ui-monospace, monospace; letter-spacing: .4em; color: var(--text); background: var(--bg); border: 1px solid var(--line-3); border-radius: var(--r); }
.n8-pay-code:focus { outline: none; border-color: var(--red); }
.n8-inc-free { display: grid; justify-items: end; gap: 4px; }
.n8-inc-free s { font-size: 13px; color: var(--text-3); }
.n8-perk-more { display: flex; align-items: center; gap: 12px; margin: -4px 0 16px; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: var(--r); background: var(--surface-2); color: var(--text); font-size: 15px; font-weight: 600; text-decoration: none; transition: border-color .15s; }
.n8-perk-more:hover { border-color: var(--line-3); }
.n8-perk-more > span:nth-child(2) { flex: 1; }
.n8-inc-t { display: grid; flex: 1; min-width: 0; }
.n8-inc-t b { font-size: 16px; font-weight: 700; }
.n8-inc-t small { font-size: 13px; color: var(--text-2); }
.n8-inc svg { color: var(--text-3); }
.n8-boxes { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.n8-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 92px)); gap: 8px; }
.n8-slot { position: relative; aspect-ratio: 1; display: grid; place-items: center; background: var(--slot); border: 1px solid rgba(255, 255, 255, .06); border-radius: var(--r); outline: none; }
.n8-slot img { width: 76%; height: 76%; object-fit: contain; }
.n8-slot b { position: absolute; right: 7px; bottom: 5px; font: 600 12.5px/1 var(--mono); color: #fff; text-shadow: 0 1px 2px #000, 0 0 8px rgba(0, 0, 0, .7); }
.n8-slot-n { padding: 4px; font-size: 11px; text-align: center; color: var(--text-2); }
.n8-slot.rare { background: #3a3220; border-color: rgba(244, 183, 64, .45); }
.n8-slot:hover, .n8-slot:focus-visible { border-color: var(--line-3); }
.n8-slot::after { display: none; content: attr(data-tip); position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%); padding: 7px 9px; border-radius: var(--r); background: #0e1013; border: 1px solid var(--line-2); color: var(--text); font: 500 12.5px/1 var(--sans); white-space: pre; opacity: 0; pointer-events: none; transition: opacity .12s; z-index: 5; }
.n8-slot:hover::after, .n8-slot:focus-visible::after { display: block; opacity: 1; }
.n8-sticky { display: none; }
.n8-card-img img, .n8-phead-img img, .n8-inc-i img, .n8-sticky-i img, .n8-thanks-img img, .n8-table-i img, .n8-thumb img { transform: scale(var(--k, 1)) translate(var(--tx, 0%), var(--ty, 0%)); }

/* ---------- cart ---------- */
.n8-cart-page { padding-top: 36px; }
.n8-cart-head { display: flex; align-items: baseline; gap: 14px; }
.n8-cart-head span { font-size: 15px; color: var(--text-2); }
.n8-cart { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 36px; align-items: start; margin-top: 24px; }
.n8-cart[hidden] { display: none; }
.n8-lines { border-top: 1px solid var(--line-2); }
.n8-line { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto 36px; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line-2); }
.n8-line.offer { grid-template-columns: 64px minmax(0, 1fr) auto auto; }
.n8-thumb { display: grid; place-items: center; width: 64px; height: 64px; padding: 7px; border-radius: var(--r); background: var(--tile); overflow: hidden; }
.n8-thumb img { width: 100%; height: 100%; object-fit: contain; }
.n8-thumb.fill { padding: 0; }
.n8-thumb.fill img { object-fit: cover; }
.n8-line-t { min-width: 0; }
.n8-line-t > a { font-size: 15.5px; font-weight: 600; text-decoration: none; }
.n8-line-t > a:hover { text-decoration: underline; text-underline-offset: 3px; }
.n8-line-meta { display: block; margin-top: 3px; font-size: 13.5px; color: var(--text-2); }
.n8-seg-sm { display: flex; width: fit-content; margin-top: 8px; padding: 3px; border-radius: var(--r); border: 1px solid var(--line-2); background: var(--bg); }
.n8-seg-sm button { padding: 5px 10px; border-radius: var(--r); font-size: 12.5px; font-weight: 600; color: var(--text-2); }
.n8-seg-sm button.on { background: #fff; color: #111; }
.n8-seg-sm button:disabled:not(.on) { opacity: .4; cursor: not-allowed; }
.n8-line-p { text-align: right; font-size: 15.5px; font-weight: 600; white-space: nowrap; }
.n8-line-p s { display: block; font-size: 12.5px; font-weight: 400; color: var(--text-3); }
.n8-line-p small { font-size: 12.5px; font-weight: 400; color: var(--text-2); margin-left: 2px; }
.n8-x { display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--r); color: var(--text-2); }
.n8-x:hover { background: rgba(255, 255, 255, .07); color: var(--text); }
.n8-upsell { margin-top: 36px; }
.n8-upsell[hidden] { display: none; }
.n8-upsell-h { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.n8-upsell-list { border-top: 1px solid var(--line-2); }
.n8-summary { position: sticky; top: calc(var(--top) + 20px); padding: 22px; background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r); }
.n8-summary[hidden] { display: none; }
.n8-sum-sec { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--line); }
.n8-sum-l { margin-bottom: 10px; font-size: 13.5px; font-weight: 600; color: var(--text-2); }
.n8-summary .n8-seg button { gap: 7px; display: flex; align-items: center; justify-content: center; }
.n8-who { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 10px 12px; border: 1px solid var(--line-2); border-radius: var(--r); font-size: 14.5px; background: var(--bg); }
.n8-who img, .n8-who i { width: 28px; height: 28px; border-radius: var(--r); background: var(--tile); }
.n8-who b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.n8-who button { margin-left: auto; font-size: 13px; color: var(--text-2); text-decoration: underline; text-underline-offset: 3px; }
.n8-who-ok { margin-left: auto; color: var(--green); display: grid; }
.n8-summary .n8-btn-steam { margin-top: 12px; height: 44px; }
.n8-link { display: block; margin: 10px auto 0; font-size: 13.5px; color: var(--text-2); text-decoration: underline; text-underline-offset: 3px; }
.n8-or { display: flex; align-items: center; gap: 10px; margin: 14px 0 10px; font-size: 13px; color: var(--text-3); }
.n8-or::before, .n8-or::after { content: ''; flex: 1; height: 1px; background: var(--line-2); }
.n8-search { position: relative; display: flex; align-items: center; gap: 8px; margin-top: 12px; padding: 0 12px; border: 1px solid var(--line-2); border-radius: var(--r); background: var(--bg); color: var(--text-3); }
.n8-or + .n8-search { margin-top: 0; }
.n8-search:focus-within { border-color: var(--line-3); }
.n8-search input { flex: 1; min-width: 0; height: 42px; border: 0; outline: 0; background: none; color: var(--text); font: 500 15px/1 var(--sans); }
.n8-results { position: absolute; left: -1px; right: -1px; top: calc(100% + 6px); z-index: 5; max-height: 260px; overflow: auto; padding: 6px; background: var(--surface-2); border: 1px solid var(--line-2); border-radius: var(--r); box-shadow: none; }
.n8-results[hidden] { display: none; }
.n8-results button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 10px; border-radius: var(--r); text-align: left; font-size: 14.5px; color: var(--text); }
.n8-results button:hover { background: rgba(255, 255, 255, .07); }
.n8-results img, .n8-results i { width: 26px; height: 26px; border-radius: var(--r); background: var(--tile); }
.n8-none { padding: 10px; font-size: 14px; color: var(--text-2); }
.n8-shake { animation: n8shake .4s ease; }
@keyframes n8shake { 0%, 100% { transform: none; } 25% { transform: translateX(-5px); } 50% { transform: translateX(5px); } 75% { transform: translateX(-2px); } }
.n8-totals { display: grid; gap: 10px; font-size: 14.5px; }
.n8-totals > div { display: flex; justify-content: space-between; gap: 12px; color: var(--text-2); }
.n8-totals > div.good { color: var(--green); }
.n8-total { margin-top: 4px; color: var(--text) !important; font-size: 19px; font-weight: 700; }
.n8-then { font-size: 13.5px; color: var(--text-3) !important; }
.n8-checkout { width: 100%; }
.n8-fine { margin: 12px 0 0; text-align: center; font-size: 13px; color: var(--text-2); }
.n8-fine a { color: var(--text); }
.n8-cart-empty { padding: 72px 0 24px; text-align: center; }
.n8-cart-empty[hidden] { display: none; }
.n8-cart-empty .n8-btn { margin-top: 18px; }

/* ---------- game code ---------- */
.n8-code-page { padding-top: 64px; }
.n8-code-card { max-width: 520px; margin: 0 auto; padding: 36px; text-align: center; background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r); }
.n8-code-form { display: grid; gap: 14px; margin-top: 24px; }
.n8-code-in { width: 100%; height: 84px; border-radius: var(--r); border: 1px solid var(--line-3); background: var(--bg); color: var(--text); font: 700 48px/1 var(--mono); letter-spacing: .35em; text-align: center; padding-left: .35em; }
.n8-code-in:focus { outline: 2px solid #fff; outline-offset: 2px; }
.n8-code-in::placeholder { color: var(--text-3); opacity: .5; }
.n8-code-help { margin: 18px 0 0; font-size: 14px; color: var(--text-2); }
.n8-code-card .n8-err { margin-top: 14px; }

/* ---------- thanks, 404 ---------- */
.n8-thanks { padding-top: 72px; }
.n8-thanks-in { display: flex; flex-direction: column; align-items: center; text-align: center; }
.n8-thanks-img { display: grid; place-items: center; width: 200px; height: 200px; margin-bottom: 24px; }
.n8-thanks-img img { width: 100%; height: 100%; object-fit: contain; }
.n8-thanks-img.fill { overflow: hidden; border-radius: var(--r); }
.n8-thanks-img.fill img { object-fit: cover; }
.n8-thanks p { margin: 12px 0 0; font-size: 16.5px; color: var(--text-2); }
.n8-thanks-act { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }

/* ---------- dialog, toast ---------- */
.n8-dialog { width: min(960px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 1px solid var(--line-2); border-radius: var(--r); background: var(--surface); color: var(--text); box-shadow: none; }
.n8-dialog::backdrop { background: rgba(8, 9, 12, .7); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.n8-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 16px 16px 24px; border-bottom: 1px solid var(--line); }
.n8-dialog-body { max-height: calc(100vh - 130px); overflow: auto; padding: 4px 24px 20px; }
.n8-table { width: 100%; min-width: 640px; border-collapse: collapse; }
.n8-table thead th { padding: 18px 8px 14px; vertical-align: bottom; }
.n8-table thead a { display: grid; justify-items: center; gap: 10px; text-decoration: none; }
.n8-table-i { display: grid; place-items: center; width: 84px; height: 84px; }
.n8-table-i img { width: 100%; height: 100%; object-fit: contain; }
.n8-table thead span { font-size: 14.5px; font-weight: 600; }
.n8-table thead small { margin-left: 2px; font-size: 12px; font-weight: 400; color: var(--text-2); }
.n8-table tbody th { padding: 13px 8px; text-align: left; font-size: 14.5px; font-weight: 500; color: var(--text-2); }
.n8-table td { padding: 13px 8px; text-align: center; font-size: 14.5px; font-weight: 600; }
.n8-table tbody tr { border-top: 1px solid var(--line); }
.n8-yes { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #173826; color: var(--green); }
.n8-no { display: inline-block; width: 12px; height: 2px; border-radius: 1px; background: var(--text-3); opacity: .6; vertical-align: middle; }
.n8-cmds { display: inline-grid; gap: 4px; justify-items: center; }
.n8-cmds code { font-size: 12px; }
.n8-cmd-jump { padding: 0; border: 0; background: none; cursor: pointer; }
.n8-cmd-jump code { transition: background .15s, color .15s; }
.n8-cmd-jump:hover code, .n8-cmd-jump:focus-visible code { background: var(--line-2); color: var(--text); }
.n8-cmp-kits { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.n8-cmp-kits-h { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-bottom: 18px; }
.n8-cmp-kits-h .n8-seg { flex: 1 1 420px; max-width: 560px; }
.n8-cmp-kit { display: grid; gap: 24px; }
.n8-cmp-kit[hidden] { display: none; }
.n8-cmp-kit [data-kit-cmd] { scroll-margin-top: 12px; }
.n8-cmp-kit h4 { margin: 0; font: 700 16px/1.3 var(--display); text-transform: uppercase; letter-spacing: .03em; }
.n8-table-foot td { padding-top: 16px; }
.n8-table-foot .n8-btn { width: 100%; }
.n8-toast { position: fixed; top: calc(var(--top) + 12px); right: 24px; z-index: 80; display: flex; align-items: center; gap: 16px; padding: 12px 14px 12px 16px; border-radius: var(--r); background: var(--surface-2); border: 1px solid var(--line-2); box-shadow: none; font-size: 14.5px; }
.n8-toast[hidden] { display: none; }
.n8-toast.in { animation: n8toast .2s ease; }
@keyframes n8toast { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.n8-toast a { font-weight: 600; text-underline-offset: 3px; white-space: nowrap; }

/* ---------- footer ---------- */
.n8-foot { margin-top: 88px; padding: 48px 0 40px; border-top: 1px solid var(--line); background: var(--bg-deep); }
.n8-foot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
.n8-foot h3 { margin: 0 0 12px; font-size: 13.5px; font-weight: 600; color: var(--text); }
.n8-foot-grid a { display: block; margin-bottom: 9px; font-size: 14.5px; color: var(--text-2); text-decoration: none; }
.n8-foot-grid a:hover { color: var(--text); }
.n8-foot-brand img { width: 96px; height: auto; }
.n8-foot-cur { display: flex; align-items: center; gap: 10px; margin-top: 20px; font-size: 13.5px; color: var(--text-2); }
.n8-legal { margin: 36px 0 0; padding-top: 20px; border-top: 1px solid var(--line); font-size: 13.5px; color: var(--text-3); }

/* ---------- smaller screens ---------- */
@media (max-width: 1140px) {
  .n8-nav, .n8-top-link { display: none; }
  .n8-burger { display: grid; }
  .n8-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .n8-servers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .n8-phead-card { grid-template-columns: 140px minmax(0, 1fr); }
  .n8-phead-img { width: 140px; height: 140px; }
  .n8-phead-buy { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; }
  .n8-phead-buy .n8-seg { grid-column: 1 / -1; }
  .n8-phead-buy .n8-err { grid-column: 1 / -1; }
  .n8-body { grid-template-columns: 300px minmax(0, 1fr); }
}
@media (max-width: 820px) {
  .n8-wrap { padding: 0 16px; }
  .n8-top-end .n8-cur, .n8-signin span, .n8-me span { display: none; }
  .n8-signin { padding: 0 10px; }
  .n8-hero-in { min-height: 0; padding-top: 36px; padding-bottom: 32px; }
  .n8-hero h1 { font-size: 36px; }
  .n8-servers { grid-template-columns: 1fr; gap: 12px; }
  .n8-facts { grid-template-columns: 1fr; }
  .n8-facts > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .n8-band { padding-top: 26px; }
  .n8-band-title h1 { font-size: 27px; }
  .n8-switch { width: 100%; }
  .n8-switch > span { display: none; }
  .n8-pills { flex: 1; }
  .n8-pills a { flex: 1; min-width: 0; }
  .n8-tabs-row { margin-top: 16px; }
  .n8-tabs { width: 100%; overflow-x: auto; scrollbar-width: none; }
  .n8-tabs a { flex: 1; padding: 0 14px; height: 40px; font-size: 14px; }
  .n8-tabs-row > .n8-btn { display: none; }
  .n8-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .n8-card-img { padding: 18px; }
  .n8-card-body { padding: 12px; }
  .n8-card-name { font-size: 16px; }
  .n8-card-amt { font-size: 18px; }
  .n8-crumbs { padding: 16px 0 14px; }
  .n8-phead-card { grid-template-columns: 92px minmax(0, 1fr); gap: 14px 16px; padding: 16px; }
  .n8-phead-img { width: 92px; height: 92px; padding: 8px; border-radius: var(--r); }
  .n8-pname { font-size: 28px; }
  .n8-pamt { font-size: 24px; }
  .n8-pprice { margin-top: 8px; }
  .n8-phead-buy { grid-template-columns: 1fr; }
  .n8-how.n2, .n8-how.n3 { grid-template-columns: 1fr; gap: 8px; }
  .n8-how-i { padding: 13px 14px; }
  .n8-how-t b { font-size: 16.5px; }
  .n8-body { grid-template-columns: 1fr; }
  .n8-perks-card { position: static; }
  .n8-boxes { grid-template-columns: 1fr; }
  .n8-box, .n8-perks-card { padding: 16px; }
  .n8-box-h em { margin-left: 0; width: 100%; }
  .n8-includes { grid-template-columns: 1fr; }
  .n8-slots { grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 6px; }
  .n8-slot b { font-size: 11.5px; right: 5px; bottom: 4px; }
  .n8-sticky { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: 10px 0 calc(10px + env(safe-area-inset-bottom)); background: rgba(23, 25, 30, .96); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: 1px solid var(--line-2); transform: translateY(110%); transition: transform .2s ease; }
  .n8-sticky.show { transform: none; }
  .n8-sticky-in { display: flex; align-items: center; gap: 12px; }
  .n8-sticky-i { display: grid; place-items: center; width: 42px; height: 42px; padding: 4px; border-radius: var(--r); background: var(--tile); overflow: hidden; }
  .n8-sticky-i.fill { padding: 0; }
  .n8-sticky-i img { width: 100%; height: 100%; object-fit: contain; }
  .n8-sticky-i.fill img { object-fit: cover; }
  .n8-sticky-t { display: flex; flex-direction: column; font-size: 13.5px; color: var(--text-2); line-height: 1.3; }
  .n8-sticky-t b { color: var(--text); font-size: 14.5px; }
  .n8-sticky .n8-btn { margin-left: auto; height: 44px; }
  .n8-cart-page { padding-top: 26px; }
  .n8-cart { grid-template-columns: 1fr; gap: 26px; }
  .n8-summary { position: static; padding: 18px; }
  .n8-line, .n8-line.offer { grid-template-columns: 52px minmax(0, 1fr) auto auto; gap: 12px; }
  .n8-thumb { width: 52px; height: 52px; padding: 6px; }
  .n8-thanks { padding-top: 48px; }
  .n8-h1 { font-size: 28px; }
  .n8-toast { left: 16px; right: 16px; justify-content: space-between; }
  .n8-foot { margin-top: 64px; }
  .n8-foot-grid { grid-template-columns: 1fr 1fr; }
  .n8-foot-brand { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---------- v9: the hosted store's look ---------- */
.n8-h1, .n8-h2, .n8-h3, .n8-hero h1, .n8-band-title h1, .n8-server-name, .n8-pname, .n8-card-name, .n8-foot h3 { font-family: var(--display); text-transform: uppercase; letter-spacing: .01em; }
.n8-h1, .n8-hero h1, .n8-band-title h1, .n8-pname { font-weight: 800; }
.n8-h2 { display: flex; align-items: center; gap: 16px; font-size: 22px; font-weight: 700; }
.n8-h2::after { content: ''; flex: 1; height: 9px; background: repeating-linear-gradient(-45deg, var(--line-3) 0 3px, transparent 3px 9px); opacity: .7; }
.n8-btn, .n8-tabs a, .n8-pills a, .n8-seg button, .n8-seg a, .n8-badge, .n8-chip, .n8-sale, .n8-off, .n8-nav-link, .n8-top-link, .n8-drop-h { font-family: var(--display); text-transform: uppercase; letter-spacing: .04em; }
.n8-btn { font-weight: 700; font-size: 15px; }
.n8-btn-lg { font-size: 16.5px; }
.n8-btn-sm { font-size: 13.5px; }
.n8-btn-primary { box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .25); }
.n8-nav-link, .n8-top-link { font-size: 15px; font-weight: 700; letter-spacing: .05em; }
.n8-top { background: #18181a; -webkit-backdrop-filter: none; backdrop-filter: none; border-bottom: 2px solid var(--red); }
.n8-nav-item.on::after { display: none; }
.n8-nav-link.on, .n8-nav-item.on > .n8-nav-link { color: var(--red-2); }
.n8-drop { background: #18181a; border-color: var(--line-3); border-top: 2px solid var(--red); }
.n8-hero { background: var(--surface); border-bottom: 1px solid var(--line-2); }
.n8-hero-bg { opacity: .32; filter: grayscale(.5) contrast(1.05); }
.n8-hero-bg::after { background: linear-gradient(90deg, rgba(24, 24, 26, .96) 0%, rgba(24, 24, 26, .75) 55%, rgba(24, 24, 26, .5) 100%), linear-gradient(0deg, var(--surface) 0%, rgba(24, 24, 26, 0) 60%); }
.n8-hero h1 { font-size: 60px; letter-spacing: .005em; }
.n8-sale { background: var(--red); color: #fff; font-weight: 700; }
.n8-server { background: var(--surface); border: 1px solid var(--line-2); position: relative; }
.n8-server:hover { background: var(--surface); border-color: var(--red); }
.n8-server-name { font-size: 22px; font-weight: 800; }
.n8-server.mine { border: 2px solid var(--red); padding: 21px; }
.n8-mine-tag { position: absolute; top: -12px; left: 16px; height: 22px; padding: 0 9px; background: var(--red); color: #fff; font: 700 12px/22px var(--display); text-transform: uppercase; letter-spacing: .06em; }
.n8-server-seen { font-size: 13.5px; color: var(--text-3); margin-top: -4px; }
.n8-server-rank { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--text); }
.n8-server-rank b { font-family: var(--display); text-transform: uppercase; letter-spacing: .03em; font-weight: 700; }
.n8-server-rank.ended { color: #ff8f8f; }
.n8-facts { background: var(--surface); border-color: var(--line-2); }
.n8-card:hover { border-color: var(--red); }
.n8-card-img, .n8-phead-img { background: var(--tile); }
.n8-tabs a.on, .n8-pills a.on { box-shadow: none; }
.n8-foot { background: var(--bg-deep); border-top: 2px solid var(--line-2); }
.n8-server .n8-btn { margin-top: auto; }
.n8-server-from { margin-bottom: 8px; }
.n8-box-h h2, .n8-perks-card h2, .n8-perks-card h3 { font-family: var(--display); text-transform: uppercase; letter-spacing: .03em; font-weight: 700; }
.n8-card-was em { font-family: var(--display); text-transform: uppercase; font-style: normal; font-weight: 700; letter-spacing: .03em; }
.n8-note { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 16px; padding: 12px 14px; background: var(--surface-2); border-left: 3px solid var(--line-3); font-size: 14.5px; line-height: 1.5; color: var(--text-2); }
.n8-note span { display: block; }
.n8-note span span { margin-top: 4px; color: var(--text-3); font-size: 14px; }
.n8-note b { color: var(--text); font-weight: 700; }
.n8-note.warn { padding: 16px 18px; background: rgba(237, 201, 15, .07); border: 1px solid rgba(237, 201, 15, .3); border-left: 4px solid var(--amber); font-size: 16.5px; color: #f1ead0; }
.n8-note.warn svg { flex: none; margin-top: 2px; color: var(--amber); }
.n8-note.warn b { color: var(--amber); font-family: var(--display); text-transform: uppercase; letter-spacing: .03em; font-size: 17.5px; margin-right: 4px; }
.n8-note.warn span span { color: #cfc6a8; font-size: 14.5px; }
.n8-bill-note { margin: 0; font-size: 13.5px; color: var(--text-3); text-align: center; }
.n8-bill-note[hidden] { display: none; }
.n8-steps { list-style: none; margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: var(--surface); border: 1px solid var(--line-2); }
.n8-steps li { display: flex; align-items: flex-start; gap: 14px; padding: 18px 20px; }
.n8-steps li + li { border-left: 1px solid var(--line-2); }
.n8-steps b { flex: none; display: grid; place-items: center; width: 34px; height: 34px; background: var(--red); color: #fff; font: 800 19px/1 var(--display); }
.n8-steps strong { display: block; font: 700 18px/1.25 var(--display); text-transform: uppercase; letter-spacing: .03em; color: var(--text); }
.n8-steps strong code { font-size: .8em; text-transform: none; vertical-align: 2px; }
.n8-steps em { display: block; margin-top: 4px; font-style: normal; font-size: 14.5px; line-height: 1.45; color: var(--text-2); }
.n8-steps em i { font-style: normal; font-weight: 700; color: var(--amber); }
.n8-box-sub { margin: -8px 0 14px; font-size: 14px; color: var(--text-3); }
.n8-box.rare .n8-box-h h2 { color: var(--amber); }
@media (max-width: 860px) { .n8-steps { grid-template-columns: 1fr; } .n8-steps li + li { border-left: 0; border-top: 1px solid var(--line-2); } }
.n8-mb { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 16px; margin-bottom: 16px; align-items: stretch; }
.n8-mb-clip { display: block; width: 100%; height: auto; aspect-ratio: 600 / 338; object-fit: cover; background: #000; border: 1px solid var(--line-2); }
.n8-mb .n8-steps { margin: 0; grid-template-columns: 1fr; }
.n8-mb .n8-steps li { align-items: center; }
.n8-mb .n8-steps li + li { border-left: 0; border-top: 1px solid var(--line-2); }
@media (max-width: 860px) { .n8-mb { grid-template-columns: 1fr; } }

/* ================= front page ================= */
.n8-emblem { display: block; flex: none; width: 52px; height: 46px; filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .45)); }
.n8-topo { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: url('topo.webp') center / cover no-repeat; opacity: .07; }
.n8-hud { position: relative; }
.n8-hud::before { content: ''; position: absolute; inset: -7px; pointer-events: none; --c: rgba(255, 255, 255, .55); --l: 16px;
  background:
    linear-gradient(var(--c), var(--c)) top left / var(--l) 2px no-repeat, linear-gradient(var(--c), var(--c)) top left / 2px var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) top right / var(--l) 2px no-repeat, linear-gradient(var(--c), var(--c)) top right / 2px var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) bottom left / var(--l) 2px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 2px var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) bottom right / var(--l) 2px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 2px var(--l) no-repeat; }
.n8-anim .n8-reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease var(--d, 0ms), transform .6s ease var(--d, 0ms); }
.n8-anim .n8-reveal.in { opacity: 1; transform: none; }

/* hero */
.n8-home-hero { position: relative; overflow: hidden; background: #131315; border-bottom: 1px solid var(--line-2); }
.n8-home-hero-bg { position: absolute; inset: -4%; background-size: cover; background-position: center 55%; animation: n8-drift 40s ease-in-out infinite alternate; }
.n8-home-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(19, 19, 21, .95) 0%, rgba(19, 19, 21, .8) 42%, rgba(19, 19, 21, .55) 100%), linear-gradient(0deg, rgba(19, 19, 21, .95) 0%, rgba(19, 19, 21, 0) 40%); }
.n8-home-hero > .n8-topo { opacity: .09; }
@keyframes n8-drift { from { transform: scale(1) translate(0, 0); } to { transform: scale(1.06) translate(-1.5%, -1%); } }
.n8-home-hero-in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 520px; gap: 48px; align-items: center; padding-top: 64px; padding-bottom: 72px; }
.n8-home-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.n8-home-copy h1 { margin: 20px 0 0; max-width: 9em; font: 800 66px/.98 var(--display); text-transform: uppercase; letter-spacing: .005em; }
.n8-home-copy > p { margin: 18px 0 0; font-size: 18px; line-height: 1.55; color: var(--text-2); }
.n8-home-me { display: flex; align-items: center; gap: 12px; padding: 8px 16px 8px 8px; background: rgba(36, 35, 39, .85); border: 1px solid var(--line-3); }
.n8-home-me img { width: 40px; height: 40px; }
.n8-home-me span { display: flex; flex-direction: column; gap: 2px; font-size: 14.5px; color: var(--text-2); }
.n8-home-me b { color: #fff; }
.n8-home-me small { font: 700 12px/1.2 var(--display); text-transform: uppercase; letter-spacing: .05em; }
.n8-home-me small.held { color: var(--green); }
.n8-home-me small.ended { color: #ff8f8f; }
.n8-home-pick { width: 100%; margin-top: 30px; }
.n8-home-pick-h { display: block; margin-bottom: 12px; font: 700 13px/1 var(--display); text-transform: uppercase; letter-spacing: .14em; color: var(--text-3); }
.n8-home-pick-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 560px; }
.n8-home-pick-btn { display: flex; align-items: center; gap: 14px; padding: 10px 14px 10px 10px; background: rgba(28, 28, 31, .92); border: 1px solid var(--line-3); text-decoration: none; transition: border-color .15s, background .15s, transform .15s; }
.n8-home-pick-btn:hover { border-color: #66656c; background: rgba(40, 39, 44, .95); transform: translateY(-2px); }
.n8-home-pick-btn.mine { border-color: var(--red); }
.n8-home-pick-btn span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.n8-home-pick-btn b { font: 800 17px/1.1 var(--display); text-transform: uppercase; letter-spacing: .01em; color: #fff; }
.n8-home-pick-btn small { font: 700 11.5px/1 var(--display); text-transform: uppercase; letter-spacing: .07em; color: var(--text-3); }
.n8-home-pick-btn.mine small { color: #ff8a8b; }

/* hero: the loadout, laid out like Rust's inventory */
.n8-inv { margin: 0; perspective: 1500px; }
.n8-inv-in { --s: 56px; --g: 5px; display: flex; flex-direction: column; align-items: center; padding: 18px 20px 20px; background: rgba(17, 17, 19, .72); border: 1px solid rgba(255, 255, 255, .08); transform: rotateY(-14deg) rotateX(5deg); transform-style: preserve-3d; box-shadow: 0 40px 80px rgba(0, 0, 0, .55); animation: n8-float 7s ease-in-out infinite; }
@keyframes n8-float { 0%, 100% { transform: rotateY(-14deg) rotateX(5deg) translateY(0); } 50% { transform: rotateY(-14deg) rotateX(5deg) translateY(-8px); } }
.n8-inv-h { align-self: stretch; margin: 2px 0 8px; font: 700 13px/1 var(--display); text-transform: uppercase; letter-spacing: .12em; color: rgba(255, 255, 255, .55); }
.n8-inv-h + .n8-inv-row, .n8-inv-h + .n8-inv-grid { margin-bottom: 14px; }
.n8-inv-row, .n8-inv-grid { display: grid; gap: var(--g); }
.n8-inv-row.wear { grid-template-columns: repeat(7, var(--s)); }
.n8-inv-grid { grid-template-columns: repeat(6, var(--s)); }
.n8-inv-row.belt { grid-template-columns: repeat(6, var(--s)); margin-top: 4px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .08); }
.n8-inv-slot { position: relative; display: grid; place-items: center; width: var(--s); height: var(--s); background: rgba(70, 68, 74, .38); border: 1px solid rgba(255, 255, 255, .05); }
.n8-inv-slot img { width: 80%; height: 80%; object-fit: contain; }
.n8-inv-slot b { position: absolute; right: 4px; bottom: 2px; font: 600 11px/1 var(--mono); color: #fff; text-shadow: 0 1px 2px #000, 0 0 6px rgba(0, 0, 0, .8); }
.n8-inv-slot.worn::before { content: ''; position: absolute; left: 3px; top: 4px; bottom: 4px; width: 3px; background: #7ebd3e; }

/* store */
.n8-home-sec { position: relative; padding: 84px 0; border-bottom: 1px solid var(--line); }
.n8-home-sec > .n8-wrap { position: relative; z-index: 1; }
.n8-home-sec.alt { background: var(--surface); }
.n8-home-h { display: flex; flex-direction: column; gap: 10px; margin-bottom: 30px; }
.n8-home-eye { font: 700 13px/1 var(--display); text-transform: uppercase; letter-spacing: .14em; color: var(--red-2); }
.n8-home-h h2 { margin: 0; font: 800 40px/1.05 var(--display); text-transform: uppercase; letter-spacing: .005em; }
.n8-home-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 40px; background: var(--surface); border: 1px solid var(--line-3); }
.n8-home-tab { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-left: 1px solid var(--line-3); color: var(--text-2); text-decoration: none; transition: background .15s, color .15s; }
.n8-home-tab:first-child { border-left: 0; }
.n8-home-tab:hover { background: rgba(255, 255, 255, .04); color: var(--text); }
.n8-home-tab.on { background: #232226; color: #fff; box-shadow: inset 0 -3px 0 var(--red); }
.n8-home-tab-t { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.n8-home-tab-t b { font: 800 18px/1.1 var(--display); text-transform: uppercase; letter-spacing: .01em; }
.n8-home-tab-t small { font: 700 11px/1 var(--display); text-transform: uppercase; letter-spacing: .07em; color: #ff8a8b; }
.n8-home-row-h { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
.n8-home-row-h h3 { display: flex; align-items: center; gap: 14px; flex: 1; margin: 0; font: 700 18px/1.2 var(--display); text-transform: uppercase; letter-spacing: .06em; color: var(--text-2); }
.n8-home-row-h h3::after { content: ''; flex: 1; height: 9px; background: repeating-linear-gradient(-45deg, var(--line-3) 0 3px, transparent 3px 9px); opacity: .7; }
.n8-home-row-h a { display: inline-flex; align-items: center; gap: 4px; font: 700 14px/1 var(--display); text-transform: uppercase; letter-spacing: .05em; color: var(--text); text-decoration: none; }
.n8-home-row-h a svg { transform: rotate(-90deg); }
.n8-home-row-h a:hover { color: var(--red-2); }

.n8-home-ranks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.n8-rank { position: relative; display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line-2); text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s; }
.n8-rank:hover { border-color: var(--red); transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0, 0, 0, .45); }
.n8-rank > .n8-badge { position: absolute; top: 12px; right: 12px; z-index: 2; }
.n8-rank-img { position: relative; display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); place-items: center; height: 200px; padding: 12px 16px; overflow: hidden; background: radial-gradient(70% 60% at 50% 45%, rgba(255, 255, 255, .07), rgba(255, 255, 255, 0) 70%), var(--tile); }
.n8-rank-img::after { content: ''; position: absolute; inset: 0; background: url('topo.webp') center / 900px auto; opacity: .06; }
.n8-rank-img img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; object-position: center; transition: transform .3s ease; }
.n8-rank:hover .n8-rank-img img { transform: scale(1.05); }
.n8-rank-body { display: flex; flex-direction: column; gap: 12px; flex: 1; padding: 18px; }
.n8-rank-name { font: 800 20px/1.1 var(--display); text-transform: uppercase; letter-spacing: .02em; }
.n8-rank-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; color: var(--text-2); font-size: 14px; }
.n8-rank-amt { font: 800 26px/1 var(--display); color: #fff; }
.n8-rank-price small { margin-left: -4px; font-size: 14px; }
.n8-rank-was { flex-basis: 100%; display: flex; gap: 8px; font-size: 13px; color: var(--text-3); }
.n8-rank-was em { font: 700 13px/1.2 var(--display); font-style: normal; text-transform: uppercase; letter-spacing: .03em; color: #ff7c81; }
.n8-rank-kit { display: flex; flex-direction: column; gap: 6px; padding-top: 12px; border-top: 1px solid var(--line-2); }
.n8-rank-cap { font: 600 12px/1 var(--mono); color: var(--text-3); }
.n8-rank-perks { display: flex; flex-direction: column; gap: 5px; font-size: 13.5px; line-height: 1.35; color: var(--text-2); }
.n8-rank-perks span { position: relative; padding-left: 14px; }
.n8-rank-perks span::before { content: ''; position: absolute; left: 0; top: .5em; width: 6px; height: 6px; background: var(--red-2); }
.n8-rank-btn { margin-top: auto; width: 100%; }
.n8-rank:hover .n8-rank-btn { background: var(--red); border-color: var(--red); color: #fff; }

.n8-home-god { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: center; gap: 24px; margin-top: 40px; padding: 36px 40px; overflow: hidden; background: #141416; border: 1px solid var(--line-3); border-top: 2px solid var(--amber); text-decoration: none; transition: border-color .2s; }
.n8-home-god:hover { border-color: var(--amber); }
.n8-home-god > .n8-topo { z-index: -1; opacity: .08; }
.n8-home-god-bg { position: absolute; inset: 0; z-index: -2; background-size: cover; background-position: center 60%; opacity: .55; }
.n8-home-god-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20, 20, 22, .97) 0%, rgba(20, 20, 22, .9) 45%, rgba(20, 20, 22, .45) 100%); }
.n8-home-god-t { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; }
.n8-home-god .n8-home-eye { color: var(--amber); }
.n8-home-god-name { font: 800 52px/1 var(--display); text-transform: uppercase; color: #fff; }
.n8-home-god-sub { max-width: 520px; font-size: 16px; line-height: 1.5; color: var(--text-2); }
.n8-home-god-ranks { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.n8-home-god-ranks > span { display: grid; grid-template-columns: 30px auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 8px 14px 8px 10px; background: rgba(36, 35, 39, .92); border: 1px solid var(--line-3); font-size: 13px; color: var(--text-3); }
.n8-home-god-ranks img { grid-row: span 2; width: 30px; height: 30px; object-fit: contain; transform: scale(var(--k, 1)) translate(var(--tx, 0%), var(--ty, 0%)); }
.n8-home-god-ranks b { font: 700 14px/1.1 var(--display); text-transform: uppercase; letter-spacing: .03em; color: var(--text); }
.n8-home-god-buy { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; margin-top: 14px; }
.n8-home-god-price { display: flex; align-items: baseline; gap: 10px; }
.n8-home-god-price s { font-size: 17px; color: var(--text-3); }
.n8-home-god-amt { font: 800 36px/1 var(--display); color: #fff; }
.n8-home-god-price small { margin-left: -6px; font-size: 15px; color: var(--text-2); }
.n8-home-god-art { display: grid; place-items: center; }
.n8-home-god-art img { width: 256px; height: 256px; object-fit: contain; filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .6)); animation: n8-bob 6s ease-in-out infinite; }
@keyframes n8-bob { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-8px) rotate(1deg); } }
.n8-home-more-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.n8-home-god + .n8-home-row-h { margin-top: 44px; }

/* what a rank gets you */
.n8-home-perks-sec > .n8-topo { opacity: .06; }
.n8-home-perks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.n8-home-perk { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 18px; align-items: center; padding: 20px; background: rgba(27, 26, 29, .92); border: 1px solid var(--line-2); transition: border-color .2s; }
.n8-home-perk:hover { border-color: var(--line-3); }
.n8-perk-i { display: grid; place-items: center; width: 76px; aspect-ratio: 1; background: var(--slot); border: 1px solid rgba(255, 255, 255, .06); }
.n8-perk-i img { width: 76%; height: 76%; object-fit: contain; }
.n8-perk-svg { color: var(--amber); }
.n8-home-perk-t { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.n8-home-perk-t b { font: 800 19px/1.15 var(--display); text-transform: uppercase; letter-spacing: .01em; }
.n8-home-perk-t span { font-size: 14.5px; line-height: 1.45; color: var(--text-2); }
.n8-home-perk-t em { margin-top: 3px; font: 700 11.5px/1 var(--display); font-style: normal; text-transform: uppercase; letter-spacing: .09em; color: var(--text-3); }

/* in game */
.n8-home-split { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 72px; align-items: center; }
.n8-home-steps { display: flex; flex-direction: column; gap: 22px; margin: 0; padding: 0; list-style: none; }
.n8-home-steps li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 16px; align-items: start; }
.n8-home-steps li > b { display: grid; place-items: center; width: 42px; height: 42px; background: var(--surface-3); border: 1px solid var(--line-3); font: 800 18px/1 var(--display); }
.n8-home-steps li > span { display: flex; flex-direction: column; gap: 4px; padding-top: 2px; font-size: 15px; line-height: 1.5; color: var(--text-2); }
.n8-home-steps strong { font: 800 19px/1.2 var(--display); text-transform: uppercase; letter-spacing: .01em; color: var(--text); }
.n8-home-steps a, .n8-home-qs a { color: var(--text); font-weight: 600; }

/* questions */
.n8-home-faq { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 72px; align-items: start; }
.n8-home-faq-art { width: 100%; height: auto; }
.n8-home-qs { display: flex; flex-direction: column; border-top: 1px solid var(--line-3); }
.n8-home-qs details { border-bottom: 1px solid var(--line-3); }
.n8-home-qs summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 2px; font: 700 18px/1.3 var(--display); text-transform: uppercase; letter-spacing: .02em; cursor: pointer; list-style: none; }
.n8-home-qs summary::-webkit-details-marker { display: none; }
.n8-home-qs summary::after { content: '+'; flex: none; font: 300 28px/1 var(--sans); color: var(--text-3); transition: transform .2s; }
.n8-home-qs details[open] summary::after { transform: rotate(45deg); color: var(--text); }
.n8-home-qs p { margin: 0 0 22px; max-width: 680px; font-size: 15.5px; line-height: 1.6; color: var(--text-2); }

@media (max-width: 1240px) {
  .n8-home-hero-in { grid-template-columns: minmax(0, 1fr) 440px; }
  .n8-inv-in { --s: 48px; }
}
@media (max-width: 1100px) {
  .n8-home-hero-in { grid-template-columns: 1fr; gap: 40px; padding-top: 48px; }
  .n8-inv { justify-self: center; }
  .n8-home-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .n8-home-tab:nth-child(3) { border-left: 0; }
  .n8-home-tab:nth-child(n+3) { border-top: 1px solid var(--line-3); }
  .n8-home-ranks, .n8-home-more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .n8-home-perks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .n8-home-god { grid-template-columns: minmax(0, 1fr) 200px; padding: 28px; }
  .n8-home-god-art img { width: 190px; height: 190px; }
  .n8-home-split { grid-template-columns: 1fr; gap: 56px; }
  .n8-home-faq { grid-template-columns: 200px minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 640px) {
  .n8-home-hero-bg::after { background: linear-gradient(0deg, rgba(19, 19, 21, .96) 0%, rgba(19, 19, 21, .8) 55%, rgba(19, 19, 21, .55) 100%); }
  .n8-home-hero-in { padding-top: 32px; padding-bottom: 40px; }
  .n8-home-copy h1 { font-size: 44px; }
  .n8-home-copy > p { font-size: 16px; }
  .n8-home-pick-row { grid-template-columns: 1fr 1fr; gap: 8px; }
  .n8-home-pick-btn { gap: 10px; padding: 8px 10px 8px 8px; }
  .n8-home-pick-btn .n8-emblem { width: 40px; height: 36px; }
  .n8-home-pick-btn b { font-size: 14px; }
  .n8-inv-in { --s: 38px; --g: 4px; padding: 14px; transform: none; animation: none; }
  .n8-inv-slot b { font-size: 9.5px; right: 2px; }
  .n8-home-sec { padding: 56px 0; }
  .n8-home-h h2 { font-size: 30px; }
  .n8-home-tab { gap: 10px; padding: 10px 12px; }
  .n8-home-tab .n8-emblem { width: 40px; height: 36px; }
  .n8-home-tab-t b { font-size: 15px; }
  .n8-home-ranks, .n8-home-more-grid { gap: 10px; }
  .n8-rank-img { height: 130px; padding: 16px; }
  .n8-rank-body { padding: 14px; gap: 10px; }
  .n8-rank-amt { font-size: 22px; }
  .n8-rank-perks { display: none; }
  .n8-home-perks { grid-template-columns: 1fr; gap: 12px; }
  .n8-home-perk { grid-template-columns: 64px minmax(0, 1fr); padding: 16px; }
  .n8-perk-i { width: 64px; }
  .n8-home-god { grid-template-columns: 1fr; padding: 24px 20px; }
  .n8-home-god-art { order: -1; justify-self: start; }
  .n8-home-god-art img { width: 120px; height: 120px; }
  .n8-home-god-name { font-size: 40px; }
  .n8-home-god-amt { font-size: 30px; }
  .n8-home-faq { grid-template-columns: 1fr; gap: 24px; }
  .n8-home-faq-art { width: 150px; }
}
@media (prefers-reduced-motion: reduce) {
  .n8-anim .n8-reveal { opacity: 1; transform: none; }
}
.n8-home-ranks + .n8-home-god { margin-top: 40px; }

/* hero inventory: a tab per rank, each rank's loadout filling in */
.n8-inv-tabs { display: flex; align-self: stretch; margin: -4px 0 14px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.n8-inv-tabs button { flex: 1; margin-bottom: -1px; padding: 6px 4px 10px; border-bottom: 2px solid transparent; font: 700 13px/1 var(--display); text-transform: uppercase; letter-spacing: .09em; color: rgba(255, 255, 255, .42); transition: color .2s, border-color .2s; }
.n8-inv-tabs button:hover { color: rgba(255, 255, 255, .8); }
.n8-inv-tabs button.on { color: #fff; border-bottom-color: var(--red); }
.n8-inv-pages { display: grid; }
.n8-inv-page { grid-area: 1 / 1; display: flex; flex-direction: column; align-items: center; visibility: hidden; transition: visibility 0s linear .4s; }
.n8-inv-page.on { visibility: visible; transition: none; }
.n8-inv-page .n8-inv-slot img, .n8-inv-page .n8-inv-slot b, .n8-inv-page .n8-inv-slot.worn::before { transition: opacity .3s ease, transform .3s ease; }
.n8-inv-page.on .n8-inv-slot img, .n8-inv-page.on .n8-inv-slot b, .n8-inv-page.on .n8-inv-slot.worn::before { transition-delay: calc(var(--i, 0) * 14ms); }
.n8-inv-page:not(.on) .n8-inv-slot img, .n8-inv-page:not(.on) .n8-inv-slot b, .n8-inv-page:not(.on) .n8-inv-slot.worn::before { opacity: 0; transform: scale(.6); }
.n8-inv-cap { margin-top: 14px; font-size: 12.5px; color: rgba(255, 255, 255, .45); }
.n8-inv-cap code { font-size: 11.5px; }

/* cards: each kit as a stack of its items and its real count */
.n8-rank-kit { gap: 10px; }
.n8-kitline { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "cmd count" "stack stack"; gap: 7px 8px; align-items: center; }
.n8-kitline code { grid-area: cmd; justify-self: start; padding: 0; background: none; font-size: 12px; color: var(--text-3); }
.n8-kitline em { grid-area: count; font: 700 12px/1 var(--display); font-style: normal; text-transform: uppercase; letter-spacing: .06em; color: var(--text-2); }
.n8-stack { grid-area: stack; display: flex; align-items: center; }
.n8-stack img { width: 36px; height: 36px; margin-right: -6px; padding: 4px; object-fit: contain; background: var(--slot); border: 1px solid var(--line-3); box-shadow: 0 0 0 2px var(--surface); }
.n8-stack b { margin-left: 14px; font: 800 14px/1 var(--display); color: var(--text-2); }
.n8-rank:hover .n8-stack img { border-color: #4a4950; }
@media (max-width: 640px) {
  .n8-stack img { width: 28px; height: 28px; padding: 3px; margin-right: -7px; }
  .n8-stack img:nth-child(n+6) { display: none; }
  .n8-inv-tabs button { font-size: 11px; letter-spacing: .05em; }
}

/* the square Mystery Box art sits framed in its tile */
.n8-rank-img.boxed img { width: 158px; height: 158px; object-fit: cover; transform: none; border: 1px solid rgba(255, 255, 255, .08); box-shadow: 0 10px 24px rgba(0, 0, 0, .45); }
.n8-rank:hover .n8-rank-img.boxed img { transform: scale(1.04); }
@media (max-width: 640px) { .n8-rank-img.boxed img { width: 104px; height: 104px; } }

/* in game, as a film: tabs per step, scenes that crossfade, a cursor that clicks */
.n8-film { margin: 0; }
.n8-film-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 12px; border-bottom: 1px solid var(--line-3); }
.n8-film-tabs button { position: relative; padding: 10px 6px 12px; font: 700 13px/1.2 var(--display); text-transform: uppercase; letter-spacing: .06em; color: var(--text-3); transition: color .25s; }
.n8-film-tabs button::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--red); transform: scaleX(0); transition: transform .3s ease; }
.n8-film-tabs button:hover { color: var(--text-2); }
.n8-film-tabs button.on { color: #fff; }
.n8-film-tabs button.on::after { transform: scaleX(1); }
.n8-film-stage { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #0c0c0e; border: 1px solid var(--line-3); box-shadow: 0 30px 60px rgba(0, 0, 0, .45); container-type: inline-size; }
.n8-film-stage.n8-hud { overflow: visible; }
.n8-film-stage.n8-hud > .n8-film-scene, .n8-film-stage.n8-hud > .n8-film-bar { overflow: hidden; }
.n8-film-scene { position: absolute; inset: 0; opacity: 0; transition: opacity .5s ease; }
.n8-film-scene.on { opacity: 1; }
.n8-film-scene > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.n8-film-scene[data-scene="code"] > img { transform: scale(.97); transition: transform .6s ease; }
.n8-film-scene[data-scene="code"].on > img { transform: none; }
.n8-film-chat { position: absolute; left: 3.5%; bottom: 7%; display: flex; align-items: center; gap: .6em; min-width: 42%; padding: .55em .8em; background: rgba(0, 0, 0, .62); border: 1px solid rgba(255, 255, 255, .12); font: 500 clamp(10px, 2.1cqw, 16px)/1 var(--sans); color: #fff; transition: transform .15s, background .15s; }
.n8-film-chat span { color: rgba(255, 255, 255, .55); }
.n8-film-chat b { font-weight: 500; }
.n8-film-chat i { width: 2px; height: 1.1em; margin-left: -.4em; background: #fff; animation: n8-caret 1s steps(1) infinite; }
.n8-film.press .n8-film-chat { transform: scale(.97); background: rgba(217, 57, 58, .55); }
.n8-film.toast .n8-film-chat { opacity: 0; }
@keyframes n8-caret { 50% { opacity: 0; } }
.n8-film-toast { position: absolute; right: 4%; top: 8%; display: flex; align-items: center; gap: .8em; padding: .7em 1.1em .7em .7em; background: rgba(20, 20, 22, .94); border: 1px solid var(--line-3); border-left: 3px solid var(--green); font: 500 clamp(10px, 2cqw, 15px)/1.3 var(--sans); color: var(--text-2); opacity: 0; transform: translateY(-10px); transition: opacity .4s ease, transform .4s ease; }
.n8-film-toast img { width: 3.2em; height: 3.2em; object-fit: contain; }
.n8-film-toast span { display: flex; flex-direction: column; gap: .25em; }
.n8-film-toast b { font: 800 1.25em/1 var(--display); text-transform: uppercase; color: #fff; }
.n8-film-toast small { font-size: .85em; color: var(--text-3); }
.n8-film-toast code { font-size: .95em; }
.n8-film.toast .n8-film-toast { opacity: 1; transform: none; }
.n8-film-scene > .n8-film-chip { position: absolute; left: 77.3%; top: 5.2%; width: 14.9%; height: auto; object-fit: fill; opacity: 0; transition: opacity .25s ease; }
.n8-film.chip .n8-film-scene > .n8-film-chip { opacity: 1; animation: n8-pop .45s ease; }
@keyframes n8-pop { 0% { transform: scale(1); } 40% { transform: scale(1.08); } 100% { transform: scale(1); } }
.n8-film-web { display: grid; place-items: center; background: radial-gradient(80% 70% at 50% 40%, #232227, #111113); }
.n8-film-browser { width: 78%; height: 82%; display: flex; flex-direction: column; overflow: hidden; background: #1b1a1d; border: 1px solid var(--line-3); box-shadow: 0 20px 50px rgba(0, 0, 0, .6); font-size: clamp(9px, 1.9cqw, 15px); }
.n8-film-url { display: flex; align-items: center; gap: .45em; padding: .55em .8em; background: #131315; border-bottom: 1px solid var(--line-2); }
.n8-film-url i { width: .62em; height: .62em; border-radius: 50%; background: #3a393f; }
.n8-film-url span { flex: 1; margin-left: .6em; padding: .3em .8em; background: #232226; color: var(--text-2); font: 500 .9em/1.2 var(--mono); }
.n8-film-page { position: relative; flex: 1; }
.n8-film-pay, .n8-film-checkout { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1em; transition: opacity .45s ease, transform .45s ease; }
.n8-film-mark { width: 26%; height: auto; }
.n8-film-pay > b, .n8-film-checkout > b { font: 800 1.5em/1 var(--display); text-transform: uppercase; letter-spacing: .02em; color: #fff; }
.n8-film-code { display: flex; gap: .55em; }
.n8-film-code span { display: grid; place-items: center; width: 2.6em; height: 3em; background: #121214; border: 1px solid var(--line-3); font: 800 1.7em/1 var(--display); color: #fff; }
.n8-film-code span.on { border-color: var(--red); animation: n8-pop .3s ease; }
.n8-film-checkout { opacity: 0; transform: translateY(12px); align-items: stretch; padding: 0 22%; gap: .9em; }
.n8-film.checkout .n8-film-pay { opacity: 0; transform: translateY(-12px); }
.n8-film.checkout .n8-film-checkout { opacity: 1; transform: none; }
.n8-film-checkout > b { text-align: left; }
.n8-film-line { display: flex; align-items: center; gap: .8em; padding: .7em; background: #232226; border: 1px solid var(--line-2); }
.n8-film-line img { width: 2.6em; height: 2.6em; object-fit: contain; }
.n8-film-line span { flex: 1; display: flex; flex-direction: column; font: 800 1.05em/1.2 var(--display); text-transform: uppercase; color: #fff; }
.n8-film-line small { font: 500 .8em/1.3 var(--sans); text-transform: none; color: var(--text-3); }
.n8-film-line em, .n8-film-total em { font: 700 1em/1 var(--display); font-style: normal; color: #fff; }
.n8-film-total { display: flex; justify-content: space-between; padding: 0 .2em; color: var(--text-2); }
.n8-film-paybtn { position: relative; display: grid; place-items: center; height: 2.8em; background: var(--red); color: #fff; font: 700 1.05em/1 var(--display); text-transform: uppercase; letter-spacing: .05em; transition: background .25s ease, color .25s ease; }
.n8-film.paid .n8-film-paybtn { background: #2f9e5d; color: transparent; }
.n8-film.paid .n8-film-paybtn::after { content: 'Paid'; position: absolute; color: #fff; }
.n8-film-cursor { position: absolute; left: 50%; top: 62%; z-index: 5; width: 26px; height: 26px; margin: -3px 0 0 -5px; opacity: 0; pointer-events: none; transition-property: left, top; transition-timing-function: cubic-bezier(.45, .05, .25, 1); filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .6)); }
.n8-film-cursor svg { display: block; }
.n8-film.cursor .n8-film-cursor { opacity: 1; }
.n8-film-cursor::after { content: ''; position: absolute; left: 1px; top: 0; width: 34px; height: 34px; margin: -17px 0 0 -14px; border: 2px solid rgba(255, 255, 255, .85); border-radius: 50%; opacity: 0; transform: scale(.2); }
.n8-film-cursor.click::after { animation: n8-ripple .5s ease-out; }
@keyframes n8-ripple { 0% { opacity: 1; transform: scale(.2); } 100% { opacity: 0; transform: scale(1.3); } }
.n8-film-bar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 6; height: 3px; background: rgba(255, 255, 255, .08); }
.n8-film-bar i { display: block; width: 0; height: 100%; background: var(--red); }
.n8-home-steps li > b { transition: background .3s, border-color .3s, color .3s; }
.n8-home-steps li.on > b { background: var(--red); border-color: var(--red); color: #fff; }
.n8-home-steps li { transition: opacity .3s; }
.n8-home-steps:has(li.on) li:not(.on) { opacity: .55; }
@media (max-width: 640px) {
  .n8-film-tabs button { font-size: 10.5px; padding: 8px 2px 10px; letter-spacing: .03em; }
  .n8-film-checkout { padding: 0 12%; }
}

/* your rank: the signed-in player's rank and what it gave them */
.n8-yr { padding: 56px 0; background: var(--bg-deep); }
.n8-yr-card { display: grid; grid-template-columns: 340px minmax(0, 1fr); background: var(--surface); border: 1px solid var(--line-2); }
.n8-yr-side { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 28px; background: linear-gradient(180deg, rgba(217, 57, 58, .16), rgba(217, 57, 58, 0) 70%), var(--surface-2); border-right: 1px solid var(--line-2); }
.n8-yr-art { display: block; width: 100%; height: 150px; margin: 4px 0 8px; overflow: hidden; }
.n8-yr-art img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .5)); }
.n8-yr-side h2 { margin: 0; font: 800 46px/1 var(--display); text-transform: uppercase; letter-spacing: .01em; background: linear-gradient(180deg, #fff 30%, #ffb3b3); -webkit-background-clip: text; background-clip: text; color: transparent; }
.n8-yr-status { font: 700 13px/1.2 var(--display); text-transform: uppercase; letter-spacing: .06em; }
.n8-yr-status.held { color: var(--green); }
.n8-yr-status.ended { color: #ff8f8f; }
.n8-yr-acts { display: flex; flex-direction: column; gap: 10px; width: 100%; margin-top: 12px; }
.n8-yr-acts .n8-btn { width: 100%; }
.n8-yr-price { margin-left: 4px; opacity: .85; font-weight: 600; }
.n8-yr-cmd { margin-top: auto; padding-top: 14px; font: 700 12px/1 var(--display); text-transform: uppercase; letter-spacing: .08em; color: var(--text-3); }
.n8-yr-cmd code { margin-left: 6px; font-size: 13px; text-transform: none; letter-spacing: 0; }
.n8-yr-main { display: flex; flex-direction: column; gap: 22px; min-width: 0; padding: 28px 32px; }
.n8-yr-h { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 16px; }
.n8-yr-h h3 { margin: 0; font: 800 26px/1.1 var(--display); text-transform: uppercase; }
.n8-yr-h small { font-size: 14px; color: var(--text-3); }
.n8-yr-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.n8-yr-tile { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; background: var(--tile); border: 1px solid var(--line-2); }
.n8-yr-tile b { font: 800 34px/1 var(--display); color: #fff; white-space: nowrap; }
.n8-yr-tile.green b { color: var(--green); }
.n8-yr-tile.amber b { color: var(--amber); }
.n8-yr-tile span { font: 700 12px/1.2 var(--display); text-transform: uppercase; letter-spacing: .06em; color: var(--text-3); }
.n8-yr-got h4, .n8-yr-up-h { margin: 0 0 10px; font: 700 13px/1 var(--display); text-transform: uppercase; letter-spacing: .1em; color: var(--text-2); }
.n8-yr-slots { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; --s: 100%; }
.n8-yr-slots .n8-inv-slot { aspect-ratio: 1; height: auto; }
.n8-yr-slots .n8-inv-slot b { font-size: 13px; right: 6px; bottom: 5px; }
.n8-yr-kits { display: flex; flex-wrap: wrap; gap: 14px 36px; }
.n8-yr-up { display: block; padding: 16px 18px; background: var(--tile); border: 1px solid var(--line-2); color: inherit; text-decoration: none; transition: border-color .15s; }
.n8-yr-up:hover { border-color: var(--line-3); }
.n8-yr-up-h { display: flex; align-items: baseline; gap: 8px; margin-bottom: 12px; }
.n8-yr-up-h b { color: #fff; font-size: 15px; }
.n8-yr-up-h span { margin-left: auto; color: var(--text); letter-spacing: .02em; }
@media (max-width: 1100px) {
  .n8-yr-card { grid-template-columns: 1fr; }
  .n8-yr-side { border-right: 0; border-bottom: 1px solid var(--line-2); }
  .n8-yr-art { height: 120px; }
}
@media (max-width: 640px) {
  .n8-yr { padding: 36px 0; }
  .n8-yr-side, .n8-yr-main { padding: 20px 16px; }
  .n8-yr-side h2 { font-size: 38px; }
  .n8-yr-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .n8-yr-tile { padding: 12px 14px; }
  .n8-yr-tile b { font-size: 26px; }
  .n8-yr-slots { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
