:root {
  --bg: #0e0f0d;
  --panel: #1a1c18;
  --panel-border: #3a3d34;
  --ink: #f2f0ea;
  --muted: #a3a69c;
  --accent: #c6ff00;
  --bar: #c6ff00;
  --bar-ink: #0e0f0d;
  --counter-bg: #000;
  --counter-ink: #c6ff00;
  --head-font: 'Anton', Impact, sans-serif;
  --body-font: 'Archivo', system-ui, sans-serif;
  --counter-font: 'VT323', monospace;
  --radius: 0px;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  min-height: 100vh;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--body-font);
  display: flex;
  flex-direction: column;
  align-items: center;
}
main { width: 100%; max-width: 560px; padding: 24px 16px 40px; flex: 1; }
.loading, .note { color: var(--muted); text-align: center; margin-top: 30vh; }
.banner { height: 14px; background: var(--banner, var(--accent)); margin: -24px -16px 20px; }
.head { display: flex; gap: 16px; align-items: center; }
svg.avatar, img.avatar { background: var(--counter-bg); object-fit: cover; padding: 0; }
.avatar {
  width: 76px; height: 76px; flex: none; display: grid; place-items: center;
  background: var(--accent); color: var(--bar-ink); font-family: var(--head-font); font-size: 32px; border-radius: var(--radius);
}
h1 { font-family: var(--head-font); font-weight: 400; font-size: 40px; line-height: 1; margin: 0; text-transform: uppercase; color: var(--head-ink, var(--ink)); overflow-wrap: anywhere; }
.handle, .meta { font-family: var(--counter-font); font-size: 20px; color: var(--muted); margin: 2px 0 0; }
.status { font-family: var(--counter-font); font-size: 20px; color: var(--accent); margin: 2px 0 0; }
.panel { background: var(--panel); border: 1px var(--panel-style, solid) var(--panel-border); border-radius: var(--radius); padding: 14px; margin-top: 16px; }
.label { font-family: 'Press Start 2P', monospace; font-size: 10px; color: var(--accent); margin: 0 0 10px; }
.bio { white-space: pre-wrap; line-height: 1.5; margin: 0; }
.counter { display: inline-block; background: var(--counter-bg); color: var(--counter-ink); font-family: var(--counter-font); font-size: 34px; padding: 2px 10px; }
.top8 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.top8 a { color: var(--ink); text-decoration: none; text-align: center; font-size: 12px; overflow-wrap: anywhere; }
.top8 .avatar { width: 100%; height: auto; aspect-ratio: 1; font-size: 22px; margin-bottom: 4px; }
.actions { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.btn {
  display: block; text-align: center; padding: 14px; font-weight: 700; text-decoration: none;
  background: var(--bar); color: var(--bar-ink); border-radius: var(--radius); font-family: var(--body-font);
}
.btn.ghost { background: transparent; color: var(--accent); border: 1px solid var(--accent); }
footer { width: 100%; max-width: 560px; padding: 16px; color: #6b6f63; font-size: 12px; display: flex; flex-direction: column; gap: 4px; text-align: center; }
footer .mark { font-family: 'Anton', sans-serif; font-size: 18px; color: #c6ff00; letter-spacing: 1px; }
@media (max-width: 380px) { h1 { font-size: 32px; } .top8 { grid-template-columns: repeat(2, 1fr); } }

/* Wordmark (design/gritvana-brand): never under 120 px wide. */
.brand { display: block; margin: 0 0 16px; line-height: 0; }
.wordmark { width: 320px; max-width: 100%; height: auto; }
.wordmark.small { width: 160px; }

/* Legal pages (/privacy, /terms) */
main.legal { max-width: 720px; line-height: 1.6; }
.legal h1 { font-size: 48px; margin-bottom: 4px; }
.legal h2 { font-family: var(--head-font); font-weight: 400; font-size: 24px; text-transform: uppercase; color: var(--accent); margin: 32px 0 8px; }
.legal p, .legal li { color: var(--ink); }
.legal .meta { margin-bottom: 20px; }
.legal a { color: var(--accent); }
.legal ul { padding-left: 20px; }
.legal li { margin: 4px 0; }
.legal .todo { background: #ff6a33; color: #0e0f0d; padding: 0 4px; }
.legal table { width: 100%; border-collapse: collapse; font-size: 14px; }
.legal th, .legal td { text-align: left; vertical-align: top; border-bottom: 1px solid var(--panel-border); padding: 8px 6px; }
.legal th { font-family: var(--counter-font); font-size: 18px; color: var(--muted); font-weight: 400; }
footer nav { display: flex; gap: 16px; justify-content: center; }
footer nav a { color: #a3a69c; }
@media (max-width: 560px) { .legal table, .legal tbody, .legal tr, .legal td { display: block; } .legal thead { display: none; } .legal td { border: 0; padding: 2px 0; } .legal tr { border-bottom: 1px solid var(--panel-border); padding: 8px 0; } .legal td + td { color: var(--muted); } }

/* Home page (/) */
.home h1 { font-size: 64px; }
.home .lede { font-size: 18px; color: var(--ink); }
.home .cta { margin: 20px 0 6px; }
.home .btn { display: inline-block; text-decoration: none; }
.legal a.btn:not(.ghost) { color: var(--accent-ink, #0E0F0D); }
