
:root {
  --bg: #050505;
  --panel: #0d0d0d;
  --panel-2: #151515;
  --text: #f7f7f7;
  --muted: #9b9b9b;
  --line: #2a2a2a;
  --danger: #ff5a5a;
  --ok: #8cff9f;
}

* { box-sizing: border-box; }
html { color-scheme: dark; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: inherit; }
.wrap { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
.nav {
  position: sticky; top: 0; z-index: 5;
  background: rgba(5,5,5,.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}
.nav-inner { height: 68px; display:flex; align-items:center; justify-content:space-between; }
.brand { font-weight: 900; letter-spacing: -.03em; text-transform: uppercase; }
.nav a { text-decoration: none; color: var(--muted); }
main { padding: 48px 0 80px; }
.hero { padding: 32px 0 24px; }
.eyebrow { color: var(--muted); text-transform: uppercase; letter-spacing: .18em; font-size: 12px; }
h1, h2, h3 { margin: 0; letter-spacing: -.04em; }
h1 { font-size: clamp(42px, 8vw, 88px); line-height: .93; max-width: 900px; }
h2 { font-size: 28px; }
p { color: var(--muted); line-height: 1.6; }
.card {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, var(--panel), #090909);
  border-radius: 18px;
  padding: 22px;
}
.grid { display:grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 780px) { .grid-2,.grid-3 { grid-template-columns:1fr; } }

label { display:block; font-size: 13px; color: #d8d8d8; margin-bottom: 7px; }
input, select {
  width:100%;
  border:1px solid var(--line);
  background:#070707;
  color:var(--text);
  padding:12px 13px;
  border-radius:10px;
  outline:none;
}
input:focus { border-color:#6f6f6f; }
.field { margin-bottom: 14px; }
button, .btn {
  appearance:none; border:1px solid #f2f2f2;
  background:#f2f2f2; color:#050505;
  font-weight:800; border-radius:10px;
  padding:11px 15px; cursor:pointer; text-decoration:none; display:inline-block;
}
button.secondary, .btn.secondary { background:transparent; color:#f2f2f2; border-color:var(--line); }
button.danger { background:transparent; color:var(--danger); border-color:#5f2828; }
.actions { display:flex; gap:9px; flex-wrap:wrap; align-items:center; }
.notice {
  border:1px solid var(--line); padding:12px 14px; border-radius:10px;
  margin:0 0 18px; color:#ddd; background:#0b0b0b;
}
.notice.error { border-color:#5f2828; color:#ffc5c5; }
.notice.ok { border-color:#23512d; color:#caffd3; }
.rank-row {
  display:grid; grid-template-columns: 90px 1fr; gap:12px; align-items:center;
  margin-bottom:10px;
}
.rank-badge {
  border:1px solid var(--line); background:var(--panel-2); border-radius:9px;
  padding:11px 10px; font-weight:900; text-align:center;
}
table { width:100%; border-collapse:collapse; font-size:14px; }
th, td { padding:11px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th { color:#bdbdbd; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
td { color:#ededed; }
.table-wrap { overflow:auto; }
.muted { color:var(--muted); }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.stat { font-size:34px; font-weight:900; letter-spacing:-.04em; margin-top:4px; }
.kicker { font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.12em; }
hr { border:0; border-top:1px solid var(--line); margin:24px 0; }
.small { font-size:12px; color:var(--muted); }
.inline { display:inline; }
