:root {
    --bg:       #0a0c0b;
    --surface:  #111410;
    --card:     #161a14;
    --border:   #2a3028;
    --accent:   #c8a84b;
    --red:      #cc2222;
    --green:    #4a7c4a;
    --blue:     #4a6fa5;
    --muted:    #6b6b5e;
    --text:     #d4cfc4;
    --mono:     'Share Tech Mono', monospace;
    --display:  'Bebas Neue', sans-serif;
    --body:     'Barlow', sans-serif;
  }
  *, *::before, *::after { box-sizing: border-box; margin:0; padding:0; }
  html { scroll-behavior: smooth; }

  body {
    background: var(--bg);
    color: var(--text);
    font-family: var(--body);
    font-size: 15px;
    min-height: 100vh;
    overflow-x: hidden;
  }

  /* ── NOISE + SCANLINES ─────────────────────────── */
  body::before {
    content:''; position:fixed; inset:0; pointer-events:none; z-index:997;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
    opacity:.3;
  }
  body::after {
    content:''; position:fixed; inset:0; pointer-events:none; z-index:996;
    background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 4px);
  }

  /* ── NAV ───────────────────────────────────────── */
  nav {
    position:sticky; top:0; z-index:100;
    background:rgba(10,12,11,.93);
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--border);
    display:flex; align-items:center; justify-content:space-between;
    padding:0 2rem; height:56px;
  }
  .nav-logo {
    display:flex; align-items:center; text-decoration:none;
    padding:6px 0;
  }
  .nav-right { display:flex; align-items:center; gap:.5rem; }
  .nav-tab {
    background:none; border:none; cursor:pointer;
    font-family:var(--mono); font-size:.72rem; letter-spacing:.08em;
    color:var(--muted); padding:.4rem .85rem;
    border-bottom:2px solid transparent;
    transition:color .2s, border-color .2s;
  }
  .nav-tab:hover { color:var(--text); }
  .nav-tab.active { color:var(--accent); border-color:var(--accent); }
  .nav-user {
    display:flex; align-items:center; gap:.5rem;
    font-family:var(--mono); font-size:.72rem; color:var(--muted);
    border-left:1px solid var(--border); margin-left:.5rem; padding-left:1rem;
  }
  .nav-avatar {
    width:28px; height:28px; border-radius:50%;
    background:#5865F2; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    font-size:.75rem; font-weight:700; color:#fff; flex-shrink:0;
  }
  .nav-avatar img { width:100%; height:100%; object-fit:cover; }

  /* ── PAGES ─────────────────────────────────────── */
  .page { display:none; }
  .page.active { display:block; animation:fadeUp .3s ease; }
  @keyframes fadeUp { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

  /* ── HERO ──────────────────────────────────────── */
  .hero {
    position:relative; overflow:hidden;
    padding:5rem 2rem 3.5rem; text-align:center;
    border-bottom:1px solid var(--border);
  }
  .hero-bg {
    position:absolute; inset:0;
    background:
      radial-gradient(ellipse 80% 55% at 50% 0%, rgba(139,26,26,.2) 0%, transparent 70%),
      linear-gradient(180deg, rgba(200,168,75,.05) 0%, transparent 60%);
  }
  .hero h1 {
    font-family:var(--display); font-size:clamp(3rem,9vw,7rem);
    letter-spacing:.1em; line-height:1; color:#fff; position:relative;
  }
  .hero h1 em { color:var(--accent); font-style:normal; }
  .hero-sub {
    font-family:var(--mono); font-size:.78rem; color:var(--muted);
    letter-spacing:.18em; margin-top:.9rem; position:relative;
  }
  .status-pill {
    display:inline-flex; align-items:center; gap:.45rem;
    margin-top:1.4rem; background:var(--card); border:1px solid var(--border);
    padding:.3rem .9rem; font-family:var(--mono); font-size:.68rem;
    color:var(--muted); position:relative;
  }
  .blink { width:6px; height:6px; border-radius:50%; background:#4a7; animation:blink 2s infinite; }
  @keyframes blink { 0%,100%{opacity:1} 50%{opacity:.25} }

  /* ── LAYOUT ────────────────────────────────────── */
  .container { max-width:720px; margin:0 auto; padding:0 1.5rem; }
  .wide      { max-width:1100px; margin:0 auto; padding:0 1.5rem; }

  /* ── SECTION LABEL ─────────────────────────────── */
  .slabel {
    font-family:var(--mono); font-size:.68rem; color:var(--muted);
    letter-spacing:.2em; text-transform:uppercase;
    display:flex; align-items:center; gap:.75rem; margin-bottom:1.25rem;
  }
  .slabel::after { content:''; flex:1; height:1px; background:var(--border); }

  /* ── CARDS ─────────────────────────────────────── */
  .card {
    background:var(--card); border:1px solid var(--border);
    padding:2.5rem; position:relative; overflow:hidden;
  }
  .card-accent-top::before {
    content:''; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg, transparent, var(--accent), transparent);
  }
  .card-red-top::before {
    content:''; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg, transparent, var(--red), transparent);
  }

  /* ── DISCORD LOGIN ─────────────────────────────── */
  #login-section { margin:3.5rem auto 4rem; }
  .login-card h2 {
    font-family:var(--display); font-size:1.9rem; letter-spacing:.08em;
    color:var(--accent); margin-bottom:.35rem;
  }
  .login-card p { font-family:var(--mono); font-size:.72rem; color:var(--muted); margin-bottom:2rem; }
  .discord-btn {
    width:100%; display:flex; align-items:center; justify-content:center; gap:.75rem;
    background:#5865F2; border:none; cursor:pointer; color:#fff;
    font-family:var(--body); font-weight:600; font-size:.95rem;
    padding:.85rem; letter-spacing:.04em;
    transition:background .2s, transform .1s;
  }
  .discord-btn:hover { background:#4752c4; }
  .discord-btn:active { transform:scale(.99); }
  .discord-btn svg { width:22px; height:22px; fill:#fff; flex-shrink:0; }

  /* ── USER BADGE ────────────────────────────────── */
  .user-badge {
    display:flex; align-items:center; gap:.65rem;
    background:var(--card); border:1px solid var(--border);
    padding:.5rem 1rem .5rem .5rem; margin-bottom:1.75rem;
  }
  .user-badge .av {
    width:36px; height:36px; border-radius:50%; background:#5865F2;
    display:flex; align-items:center; justify-content:center;
    font-weight:700; font-size:.85rem; color:#fff; flex-shrink:0; overflow:hidden;
  }
  .user-badge .av img { width:100%; height:100%; object-fit:cover; }
  .user-badge .uname { font-family:var(--mono); font-size:.8rem; }
  .user-badge .utag  { font-family:var(--mono); font-size:.68rem; color:var(--muted); }
  .logout-link {
    margin-left:auto; font-family:var(--mono); font-size:.68rem; color:var(--muted);
    text-decoration:none; border:1px solid var(--border);
    padding:.2rem .6rem; transition:color .2s, border-color .2s;
  }
  .logout-link:hover { color:var(--red); border-color:var(--red); }

  /* ── FORM ──────────────────────────────────────── */
  #report-section { margin:2rem auto 5rem; }
  .field { margin-bottom:1.5rem; }
  .field label {
    display:block; font-family:var(--mono); font-size:.68rem;
    color:var(--muted); letter-spacing:.12em; text-transform:uppercase; margin-bottom:.45rem;
  }
  .field label .req { color:var(--red); }
  .field input, .field select, .field textarea {
    width:100%; background:var(--surface); border:1px solid var(--border);
    color:var(--text); font-family:var(--body); font-size:.9rem;
    padding:.65rem .9rem; outline:none; transition:border-color .2s; appearance:none;
  }
  .field input:focus, .field select:focus, .field textarea:focus { border-color:var(--accent); }
  .field select option { background:var(--surface); }
  .field textarea { resize:vertical; min-height:80px; }
  .field-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
  @media(max-width:520px) { .field-row { grid-template-columns:1fr; } }

  .reasons { display:flex; flex-wrap:wrap; gap:.5rem; }
  .rpill {
    background:var(--surface); border:1px solid var(--border); color:var(--muted);
    font-family:var(--mono); font-size:.7rem; letter-spacing:.05em;
    padding:.4rem .85rem; cursor:pointer; transition:all .18s; user-select:none;
  }
  .rpill:hover { border-color:var(--accent); color:var(--accent); }
  .rpill.sel { background:rgba(200,168,75,.12); border-color:var(--accent); color:var(--accent); }

  .upload-zone {
    background:var(--surface); border:1px dashed var(--border);
    padding:1.75rem; text-align:center; cursor:pointer; transition:border-color .2s;
  }
  .upload-zone:hover { border-color:var(--accent); }
  .upload-zone p { font-family:var(--mono); font-size:.72rem; color:var(--muted); margin-top:.35rem; }
  .upload-zone .icon { font-size:1.6rem; }
  .file-chips { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.6rem; }
  .fchip {
    background:rgba(200,168,75,.1); border:1px solid var(--accent);
    color:var(--accent); font-family:var(--mono); font-size:.65rem;
    padding:.2rem .6rem; display:flex; align-items:center; gap:.35rem;
  }
  .fchip button { background:none; border:none; color:var(--accent); cursor:pointer; }

  .submit-btn {
    width:100%; background:var(--red); border:none; cursor:pointer;
    color:#fff; font-family:var(--display); font-size:1.3rem; letter-spacing:.15em;
    padding:.85rem; margin-top:.5rem; transition:background .2s, transform .1s;
  }
  .submit-btn:hover { background:#a81818; }
  .submit-btn:active { transform:scale(.99); }
  .submit-btn:disabled { background:var(--border); color:var(--muted); cursor:not-allowed; }

  /* ── ADMIN LOGIN ───────────────────────────────── */
  #admin-login-section { max-width:380px; margin:5rem auto; padding:0 1.5rem; }
  #admin-login-section h2 { font-family:var(--display); font-size:2.2rem; letter-spacing:.1em; color:var(--accent); }
  #admin-login-section p { font-family:var(--mono); font-size:.7rem; color:var(--muted); margin:.3rem 0 1.8rem; }
  .admin-submit-btn {
    width:100%; background:rgba(200,168,75,.1); border:1px solid var(--accent);
    color:var(--accent); font-family:var(--display); font-size:1.2rem;
    letter-spacing:.12em; padding:.8rem; cursor:pointer; transition:background .2s;
  }
  .admin-submit-btn:hover { background:rgba(200,168,75,.2); }

  /* ── ADMIN DASHBOARD ───────────────────────────── */
  #admin-dash-section { padding:2rem 0 4rem; }
  .dash-head {
    display:flex; justify-content:space-between; align-items:flex-end;
    border-bottom:1px solid var(--border); padding-bottom:1rem; margin-bottom:2rem;
  }
  .dash-head h2 { font-family:var(--display); font-size:2rem; letter-spacing:.08em; color:var(--accent); }
  .dash-head span { font-family:var(--mono); font-size:.68rem; color:var(--muted); }
  .admin-logout-btn {
    background:none; border:1px solid var(--border); color:var(--muted);
    font-family:var(--mono); font-size:.68rem; padding:.35rem .75rem;
    cursor:pointer; transition:border-color .2s, color .2s;
  }
  .admin-logout-btn:hover { border-color:var(--red); color:var(--red); }

  /* stat cards */
  .stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); gap:1rem; margin-bottom:1.5rem; }
  .scard {
    background:var(--card); border:1px solid var(--border);
    padding:1.25rem 1.5rem; position:relative; overflow:hidden;
  }
  .scard::after { content:''; position:absolute; top:0; left:0; bottom:0; width:3px; }
  .scard.c-red::after   { background:var(--red); }
  .scard.c-gold::after  { background:var(--accent); }
  .scard.c-green::after { background:var(--green); }
  .scard.c-blue::after  { background:var(--blue); }
  .scard-val { font-family:var(--display); font-size:2.6rem; line-height:1; }
  .scard-lbl { font-family:var(--mono); font-size:.65rem; color:var(--muted); letter-spacing:.1em; margin-top:.25rem; }

  /* charts */
  .charts-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.5rem; }
  @media(max-width:640px) { .charts-row { grid-template-columns:1fr; } }
  .chart-card { background:var(--card); border:1px solid var(--border); padding:1.5rem; }
  .chart-title { font-family:var(--mono); font-size:.68rem; color:var(--muted); letter-spacing:.12em; margin-bottom:1.1rem; }
  .bar-row { display:flex; align-items:center; gap:.65rem; margin-bottom:.55rem; }
  .bar-lbl { font-family:var(--mono); font-size:.65rem; color:var(--muted); width:130px; flex-shrink:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .bar-track { flex:1; height:9px; background:var(--surface); }
  .bar-fill { height:100%; background:var(--accent); transition:width .9s ease; }
  .bar-fill.r { background:var(--red); }
  .bar-num { font-family:var(--mono); font-size:.65rem; width:22px; text-align:right; }

  /* table */
  .tbl-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:.9rem; flex-wrap:wrap; gap:.75rem; }
  .tbl-head h3 { font-family:var(--display); font-size:1.35rem; letter-spacing:.08em; }
  .filter-wrap { display:flex; gap:.5rem; flex-wrap:wrap; }
  .f-input, .f-select {
    background:var(--surface); border:1px solid var(--border); color:var(--text);
    font-family:var(--mono); font-size:.7rem; padding:.35rem .7rem;
    outline:none; transition:border-color .2s;
  }
  .f-input { width:170px; }
  .f-input:focus { border-color:var(--accent); }
  .f-select { appearance:none; cursor:pointer; }

  table { width:100%; border-collapse:collapse; }
  thead tr { border-bottom:1px solid var(--border); }
  th { font-family:var(--mono); font-size:.65rem; letter-spacing:.12em; color:var(--muted); text-align:left; padding:.6rem .75rem; text-transform:uppercase; }
  td { padding:.7rem .75rem; font-size:.84rem; border-bottom:1px solid rgba(42,48,40,.5); vertical-align:middle; }
  tbody tr { cursor:pointer; transition:background .15s; }
  tbody tr:hover { background:rgba(200,168,75,.05); }

  .badge {
    font-family:var(--mono); font-size:.62rem; letter-spacing:.05em;
    padding:.18rem .5rem; border:1px solid; display:inline-block; white-space:nowrap;
  }
  .b-hack   { color:var(--red);    border-color:var(--red);    background:rgba(204,34,34,.1); }
  .b-toxic  { color:#c89a2e;       border-color:#c89a2e;       background:rgba(200,154,46,.1); }
  .b-expl   { color:#4a9a8a;       border-color:#4a9a8a;       background:rgba(74,154,138,.1); }
  .b-tk     { color:#8a6ad0;       border-color:#8a6ad0;       background:rgba(138,106,208,.1); }
  .b-stream { color:#4a8ac8;       border-color:#4a8ac8;       background:rgba(74,138,200,.1); }
  .b-rdm    { color:#d06a6a;       border-color:#d06a6a;       background:rgba(208,106,106,.1); }
  .b-grief  { color:#7a9a5a;       border-color:#7a9a5a;       background:rgba(122,154,90,.1); }

  .rcount {
    display:inline-flex; align-items:center; justify-content:center;
    width:22px; height:22px; border-radius:50%;
    font-family:var(--mono); font-size:.65rem; font-weight:700; color:#fff;
  }
  .rcount.hi  { background:var(--red); }
  .rcount.mid { background:#a07020; }
  .rcount.lo  { background:var(--green); }

  .pager { display:flex; gap:.35rem; margin-top:1rem; justify-content:flex-end; }
  .pager button {
    background:var(--surface); border:1px solid var(--border); color:var(--muted);
    font-family:var(--mono); font-size:.68rem; padding:.3rem .65rem;
    cursor:pointer; transition:border-color .2s, color .2s;
  }
  .pager button:hover, .pager button.cur { border-color:var(--accent); color:var(--accent); }

  /* ── MODAL ─────────────────────────────────────── */
  .overlay {
    position:fixed; inset:0; background:rgba(0,0,0,.75);
    z-index:200; display:none; align-items:center; justify-content:center;
  }
  .overlay.open { display:flex; }
  .modal {
    background:var(--card); border:1px solid var(--border);
    width:min(640px,95vw); max-height:85vh; overflow-y:auto;
    padding:2rem; position:relative; animation:fadeUp .25s ease;
  }
  .modal::before {
    content:''; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg,transparent,var(--accent),transparent);
  }
  .modal h3 { font-family:var(--display); font-size:1.55rem; letter-spacing:.08em; color:var(--accent); margin-bottom:1.5rem; }
  .mclose {
    position:absolute; top:1rem; right:1rem;
    background:none; border:1px solid var(--border); color:var(--muted);
    font-family:var(--mono); font-size:.68rem; padding:.25rem .6rem;
    cursor:pointer; transition:border-color .2s, color .2s;
  }
  .mclose:hover { border-color:var(--red); color:var(--red); }
  .mfield { margin-bottom:.9rem; }
  .mfield .ml { font-family:var(--mono); font-size:.65rem; color:var(--muted); letter-spacing:.1em; margin-bottom:.2rem; }
  .mfield .mv { font-size:.88rem; }
  .mfield .mv.mono { font-family:var(--mono); font-size:.78rem; }
  .shot-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:.6rem; margin-top:.5rem; }
  .shot-thumb {
    aspect-ratio:16/9; background:var(--surface); border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--mono); font-size:.62rem; color:var(--muted);
    cursor:pointer; transition:border-color .2s; text-decoration:none;
  }
  .shot-thumb:hover { border-color:var(--accent); }
  .prev-reports { margin-top:.5rem; }
  .prev-row { display:flex; gap:.75rem; align-items:center; padding:.35rem 0; border-bottom:1px solid rgba(42,48,40,.4); font-size:.8rem; }
  .prev-row .pr-id { font-family:var(--mono); font-size:.65rem; color:var(--muted); width:45px; }
  .prev-row .pr-date { font-family:var(--mono); font-size:.65rem; color:var(--muted); margin-left:auto; }

  /* ── TOAST ─────────────────────────────────────── */
  #toast {
    position:fixed; bottom:1.75rem; right:1.75rem;
    background:var(--green); border:1px solid #5a9a5a; color:#fff;
    font-family:var(--mono); font-size:.78rem; padding:.7rem 1.2rem;
    z-index:500; transform:translateY(5rem); opacity:0; transition:all .3s ease;
  }
  #toast.show { transform:translateY(0); opacity:1; }
  #toast.err  { background:var(--red); border-color:#dd4444; }


  /* ── KATEGORIE MANAGER ─────────────────────────── */
  .section-tabs { display:flex; gap:.25rem; margin-bottom:1.5rem; border-bottom:1px solid var(--border); }
  .stab {
    background:none; border:none; cursor:pointer;
    font-family:var(--mono); font-size:.72rem; letter-spacing:.08em;
    color:var(--muted); padding:.5rem 1rem;
    border-bottom:2px solid transparent; margin-bottom:-1px;
    transition:color .2s, border-color .2s;
  }
  .stab:hover { color:var(--text); }
  .stab.active { color:var(--accent); border-color:var(--accent); }

  .subsection { display:none; }
  .subsection.active { display:block; }

  .cat-list { display:flex; flex-direction:column; gap:.5rem; margin-bottom:1.5rem; }
  .cat-row {
    display:flex; align-items:center; gap:.75rem;
    background:var(--surface); border:1px solid var(--border);
    padding:.6rem .9rem;
  }
  .cat-name { flex:1; font-size:.9rem; }
  .cat-count { font-family:var(--mono); font-size:.68rem; color:var(--muted); min-width:60px; text-align:right; }
  .cat-edit-btn, .cat-del-btn {
    background:none; border:1px solid var(--border);
    font-family:var(--mono); font-size:.65rem;
    padding:.2rem .55rem; cursor:pointer;
    transition:border-color .2s, color .2s;
  }
  .cat-edit-btn { color:var(--accent); }
  .cat-edit-btn:hover { border-color:var(--accent); }
  .cat-del-btn  { color:var(--muted); }
  .cat-del-btn:hover  { border-color:var(--red); color:var(--red); }

  .cat-add-row { display:flex; gap:.5rem; }
  .cat-add-row input {
    flex:1; background:var(--surface); border:1px solid var(--border);
    color:var(--text); font-family:var(--body); font-size:.9rem;
    padding:.6rem .9rem; outline:none; transition:border-color .2s;
  }
  .cat-add-row input:focus { border-color:var(--accent); }
  .cat-add-btn {
    background:rgba(200,168,75,.1); border:1px solid var(--accent);
    color:var(--accent); font-family:var(--mono); font-size:.72rem;
    letter-spacing:.06em; padding:.6rem 1rem; cursor:pointer;
    transition:background .2s; white-space:nowrap;
  }
  .cat-add-btn:hover { background:rgba(200,168,75,.2); }

  /* inline edit */
  .cat-row.editing .cat-name { display:none; }
  .cat-edit-input {
    flex:1; display:none;
    background:var(--bg); border:1px solid var(--accent);
    color:var(--text); font-family:var(--body); font-size:.88rem;
    padding:.25rem .6rem; outline:none;
  }
  .cat-row.editing .cat-edit-input { display:block; }
  .cat-save-btn {
    display:none; background:var(--green); border:none;
    color:#fff; font-family:var(--mono); font-size:.65rem;
    padding:.2rem .55rem; cursor:pointer;
  }
  .cat-row.editing .cat-save-btn { display:block; }
  .cat-row.editing .cat-edit-btn { display:none; }

  /* delete confirm */
  .del-btn {
    background:none; border:1px solid var(--red); color:var(--red);
    font-family:var(--mono); font-size:.68rem; padding:.25rem .65rem;
    cursor:pointer; transition:background .2s;
  }
  .del-btn:hover { background:rgba(204,34,34,.15); }

  /* ── SPIELER STATUS ────────────────────────────── */
  .status-badge {
    display:inline-flex; align-items:center; gap:.35rem;
    font-family:var(--mono); font-size:.65rem; letter-spacing:.05em;
    padding:.2rem .6rem; border:1px solid;
  }
  .status-badge.none    { color:var(--muted);  border-color:var(--border); }
  .status-badge.warned  { color:#c89a2e;       border-color:#c89a2e;  background:rgba(200,154,46,.1); }
  .status-badge.banned  { color:var(--red);    border-color:var(--red); background:rgba(204,34,34,.1); }
  .status-badge.unbanned{ color:var(--green);  border-color:var(--green); background:rgba(74,124,74,.1); }

  .status-panel {
    margin-top:1.25rem; padding:1.25rem;
    background:var(--surface); border:1px solid var(--border);
  }
  .status-panel .sp-title {
    font-family:var(--mono); font-size:.68rem; color:var(--muted);
    letter-spacing:.12em; margin-bottom:.9rem;
  }
  .status-btns { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:.75rem; }
  .status-btn {
    background:none; border:1px solid var(--border); color:var(--muted);
    font-family:var(--mono); font-size:.7rem; letter-spacing:.06em;
    padding:.4rem .85rem; cursor:pointer; transition:all .18s;
  }
  .status-btn:hover { border-color:var(--accent); color:var(--accent); }
  .status-btn.sel-warned { border-color:#c89a2e; color:#c89a2e; background:rgba(200,154,46,.12); }
  .status-btn.sel-banned { border-color:var(--red); color:var(--red); background:rgba(204,34,34,.12); }
  .status-btn.sel-none   { border-color:var(--muted); color:var(--muted); background:rgba(107,107,94,.12); }
  .status-note-input {
    width:100%; background:var(--bg); border:1px solid var(--border);
    color:var(--text); font-family:var(--body); font-size:.85rem;
    padding:.55rem .8rem; outline:none; resize:vertical; min-height:60px;
    transition:border-color .2s; margin-bottom:.75rem;
  }
  .status-note-input:focus { border-color:var(--accent); }
  .status-save-btn {
    background:rgba(200,168,75,.1); border:1px solid var(--accent);
    color:var(--accent); font-family:var(--mono); font-size:.72rem;
    letter-spacing:.08em; padding:.45rem 1rem; cursor:pointer;
    transition:background .2s;
  }
  .status-save-btn:hover { background:rgba(200,168,75,.2); }

  /* ── FOOTER ─────────────────────────────────────────── */
  footer {
    border-top: 1px solid var(--border);
    padding: 1.25rem 2rem;
    margin-top: 2rem;
    background: var(--surface);
  }
  .footer-inner {
    max-width: 1100px; margin: 0 auto;
    display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
    font-family: var(--mono); font-size: .68rem; color: var(--muted);
  }
  .footer-sep { color: var(--border); }
  /* ── LOADING ────────────────────────────────────── */
  .spin {
    display:inline-block; width:16px; height:16px; border:2px solid var(--border);
    border-top-color:var(--accent); border-radius:50%; animation:spin .7s linear infinite;
  }
  @keyframes spin { to { transform:rotate(360deg); } }
  .loading-row { text-align:center; padding:2rem; font-family:var(--mono); font-size:.75rem; color:var(--muted); }

  /* ── EDIT PANEL ─────────────────────────────────── */
  .edit-panel {
    margin-top: 1rem; padding: 1.25rem;
    background: var(--surface); border: 1px solid var(--border);
  }
  .edit-panel .sp-title {
    font-family: var(--mono); font-size: .68rem; color: var(--muted);
    letter-spacing: .12em; margin-bottom: .9rem;
  }
  .edit-field { margin-bottom: .9rem; }
  .edit-field label {
    display: block; font-family: var(--mono); font-size: .65rem;
    color: var(--muted); letter-spacing: .1em; text-transform: uppercase;
    margin-bottom: .3rem;
  }
  .edit-field label .req { color: var(--red); }
  .edit-field input, .edit-field select, .edit-field textarea {
    width: 100%; background: var(--bg); border: 1px solid var(--border);
    color: var(--text); font-family: var(--body); font-size: .88rem;
    padding: .55rem .8rem; outline: none; transition: border-color .2s; appearance: none;
  }
  .edit-field input:focus, .edit-field select:focus, .edit-field textarea:focus { border-color: var(--accent); }
  .edit-field select option { background: var(--surface); }
  .edit-field textarea { resize: vertical; min-height: 70px; }
  .edit-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
  .edited-badge {
    display: inline-flex; align-items: center; gap: .35rem;
    font-family: var(--mono); font-size: .65rem;
    color: var(--blue); border: 1px solid var(--blue);
    background: rgba(74,111,165,.1); padding: .18rem .55rem;
  }
  .edit-save-btn {
    background: rgba(200,168,75,.1); border: 1px solid var(--accent);
    color: var(--accent); font-family: var(--mono); font-size: .72rem;
    letter-spacing: .08em; padding: .45rem 1rem; cursor: pointer;
    transition: background .2s; margin-top: .25rem;
  }
  .edit-save-btn:hover { background: rgba(200,168,75,.2); }
  .edit-save-btn:disabled { opacity: .5; cursor: not-allowed; }

/* ── PUBLIC STATS ───────────────────────────────────────── */
.stats-bar {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  overflow: hidden;
}
.stats-inner {
  max-width: 1100px; margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.stat-item {
  padding: 1.1rem 1.5rem;
  border-right: 1px solid var(--border);
  position: relative;
  transition: background .2s;
}
.stat-item:last-child { border-right: none; }
.stat-item::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: transparent;
  transition: background .3s;
}
.stat-item:hover::before  { background: var(--accent); }
.stat-item:hover { background: rgba(200,168,75,.04); }
.stat-item .si-val {
  font-family: var(--display);
  font-size: 1.9rem; line-height: 1;
  color: var(--text);
  transition: color .3s;
}
.stat-item:hover .si-val { color: var(--accent); }
.stat-item .si-val.red  { color: var(--red); }
.stat-item .si-val.gold { color: var(--accent); }
.stat-item .si-lbl {
  font-family: var(--mono); font-size: .62rem;
  color: var(--muted); letter-spacing: .12em;
  text-transform: uppercase; margin-top: .2rem;
}
.stat-item .si-sub {
  font-family: var(--mono); font-size: .6rem;
  color: var(--muted); opacity: .6; margin-top: .1rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
@keyframes countUp {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.stat-item .si-val { animation: countUp .5s ease forwards; }
