:root{
  --bg:#050507;
  --panel:#0b0b10;
  --panel2:#0e0e16;
  --text:#f2f2ff;
  --muted:#b1b1c9;
  --line:rgba(255,255,255,.09);

  --red:#ff1f2d;
  --red2:#a30000;

  --shadow: 0 22px 70px rgba(0,0,0,.62);
  --radius:18px;
}

[data-theme="light"]{
  --bg:#f6f6fb;
  --panel:#ffffff;
  --panel2:#ffffff;
  --text:#0b0b12;
  --muted:#4b4b65;
  --line:rgba(0,0,0,.10);
  --shadow: 0 18px 55px rgba(0,0,0,.12);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--bg);
  color:var(--text);
  overflow-x:hidden;
}

/* FIX: seamless background (no repeating) */
.bg-glow{
  position:fixed;
  inset:-40vmax;
  width: 200vmax;
  height: 200vmax;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background:
    radial-gradient(700px 700px at 20% 20%, rgba(255,31,45,.22), transparent 60%),
    radial-gradient(900px 900px at 80% 25%, rgba(163,0,0,.20), transparent 62%),
    radial-gradient(900px 900px at 55% 80%, rgba(255,31,45,.14), transparent 62%);
  filter: blur(26px);
  pointer-events:none;
  z-index:-1;
}

a{ color:inherit; text-decoration:none; }
.link{ color:var(--red); text-decoration: underline; text-underline-offset: 3px; }
.mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; }

.main{ min-height: calc(100vh - 78px - 74px); }

.nav{
  position:sticky; top:0; z-index:10;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 18px;
  background: rgba(6,6,10,.62);
  backdrop-filter: blur(18px);
  border-bottom:1px solid var(--line);
}

.brand{ display:flex; align-items:center; gap:10px; }
.brand-logo{
  width:34px; height:34px; object-fit:contain;
  filter: drop-shadow(0 10px 22px rgba(255,31,45,.28));
}
.brand-text{ font-weight:900; letter-spacing:.2px; }
.accent{ color:var(--red); }

.nav-links{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.nav-links a{
  color:var(--muted);
  font-weight:800;
  padding:8px 10px;
  border-radius: 14px;
  letter-spacing:.2px;
}
.nav-links a:hover{
  color:var(--text);
  background: rgba(255,255,255,.05);
  box-shadow: 0 0 0 1px rgba(255,31,45,.18) inset;
}
.nav-links a.active{
  color: var(--text);
  background: rgba(255,31,45,.10);
  box-shadow: 0 0 0 1px rgba(255,31,45,.22) inset;
}

.nav-actions{ display:flex; gap:10px; }

.burger{
  display:none;
  width:44px; height:44px;
  border:1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.03);
}
.burger span{
  display:block; width:18px; height:2px; background: var(--text);
  margin:5px auto; border-radius: 2px; opacity:.92;
}

.btn{
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  color:var(--text);
  padding:10px 14px;
  border-radius: 14px;
  font-weight:900;
  cursor:pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease, filter .12s ease;
}
.btn:hover{ transform: translateY(-1px); background: rgba(255,255,255,.06); }
.btn:active{ transform: translateY(0px); }

.btn-primary{
  border-color: rgba(255,31,45,.42);
  background: linear-gradient(135deg, rgba(255,31,45,.95), rgba(163,0,0,.95));
  box-shadow: 0 18px 52px rgba(255,31,45,.18);
}
.btn-danger{
  border-color: rgba(255,31,45,.55);
  background: linear-gradient(135deg, rgba(255,31,45,1), rgba(120,0,0,1));
  box-shadow:
    0 22px 70px rgba(255,31,45,.18),
    0 0 0 1px rgba(255,31,45,.22) inset;
}
.btn-danger:hover{
  filter: saturate(1.08);
  box-shadow:
    0 26px 86px rgba(255,31,45,.24),
    0 0 0 1px rgba(255,31,45,.28) inset;
}
.btn-secondary{
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}
.btn-ghost{
  width:44px;
  padding:10px 0;
}

.w-full{ width:100%; display:inline-flex; justify-content:center; }
.btn-row{ display:grid; gap:10px; }

.hero{
  max-width:1120px;
  margin: 34px auto 10px;
  padding: 0 18px;
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
  align-items: start;
}
.hero-single{ padding-bottom: 30px; }

.pill{
  display:inline-flex; align-items:center; gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  color: var(--muted);
  font-weight:800;
}
.dot{
  width:8px; height:8px; border-radius:50%;
  background: var(--red);
  box-shadow: 0 0 0 5px rgba(255,31,45,.18);
}

h1{
  margin: 14px 0 10px;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.02;
  letter-spacing: -0.8px;
}
.gradient{
  background: linear-gradient(135deg, var(--red), #ff7f87);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow: 0 18px 60px rgba(255,31,45,.12);
}

.lead{
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
  max-width: 54ch;
}

.cta-row{ display:flex; gap:12px; flex-wrap:wrap; margin: 14px 0 18px; }

.stat-row{ display:flex; gap:12px; flex-wrap:wrap; }
.stat{
  min-width: 150px;
  padding: 12px 14px;
  border-radius: var(--radius);
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
}
.stat-num{ font-weight:900; font-size: 20px; }
.stat-label{ color: var(--muted); font-weight:800; font-size: 13px; margin-top: 4px; }

.glass{
  border:1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border-radius: calc(var(--radius) + 6px);
  box-shadow: var(--shadow);
}
.neon-border{
  box-shadow:
    var(--shadow),
    0 0 0 1px rgba(255,31,45,.18) inset,
    0 0 42px rgba(255,31,45,.10);
}
.card{ padding: 16px; }
.card-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom: 10px; }
.badge{
  font-weight:900;
  font-size: 12px;
  letter-spacing:.6px;
  padding: 6px 10px;
  border-radius: 999px;
  border:1px solid rgba(255,31,45,.30);
  background: rgba(255,31,45,.12);
}
.mini{ color: var(--muted); font-weight:800; font-size: 13px; }

.kv{ display:grid; gap:12px; margin-top: 10px; }
.kv-item .k{ color: var(--muted); font-weight:900; font-size: 12px; text-transform: uppercase; letter-spacing: .45px; }
.kv-item .v{ margin-top: 6px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.icon-btn{
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  color: var(--text);
  border-radius: 12px;
  padding: 8px 10px;
  cursor:pointer;
}

.divider{ height:1px; background: var(--line); margin: 14px 0; }

.server-status{ display:flex; gap:10px; align-items:flex-start; margin-bottom: 14px; }
.status-dot{
  width:10px; height:10px; border-radius:50%;
  background: rgba(255,255,255,.25);
  margin-top: 6px;
  box-shadow: 0 0 0 5px rgba(255,255,255,.06);
}
.status-title{ font-weight:900; }
.status-sub{ color: var(--muted); font-weight:800; font-size: 13px; margin-top: 4px; }

.section{ max-width:1120px; margin: 26px auto; padding: 0 18px; }
.section-head h2{ margin:0; font-size: 26px; letter-spacing: -0.3px; }
.section-head p{ margin: 8px 0 0; color: var(--muted); font-weight:800; }

.grid-3{ margin-top: 14px; display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.grid-2{ margin-top: 14px; display:grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }

.tile, .panel{
  padding: 16px;
  border-radius: var(--radius);
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
}
.tile-strong{
  border-color: rgba(255,31,45,.22);
  box-shadow: 0 0 0 1px rgba(255,31,45,.14) inset;
}
.tile-soon{ opacity:.96; }
.tile-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom: 10px; }
.chip{
  font-weight:900; font-size: 12px; letter-spacing:.5px;
  padding: 6px 10px; border-radius: 999px;
  border:1px solid rgba(255,31,45,.22);
  background: rgba(255,31,45,.10);
}
.date{ color: var(--muted); font-weight:900; font-size: 12px; }

.tile-icon{ font-size: 20px; }
.tile h3, .panel h3{ margin: 10px 0 8px; }
.tile p, .panel p{ margin: 0; color: var(--muted); font-weight:800; line-height: 1.6; }

.panel-danger{
  border-color: rgba(255,31,45,.22);
  box-shadow: 0 0 0 1px rgba(255,31,45,.12) inset;
}

.list{ margin: 10px 0 0; padding-left: 18px; color: var(--muted); font-weight:850; }
.list li{ margin: 8px 0; }

.note{
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: var(--radius);
  border:1px solid rgba(255,31,45,.25);
  background: rgba(255,31,45,.08);
  color: var(--text);
  font-weight:850;
}

.soon-box{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.join-row{
  display:flex; align-items:center; justify-content:space-between;
  gap: 12px; flex-wrap:wrap;
}
.join-ip{
  padding: 12px 14px;
  border-radius: var(--radius);
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  display:flex; gap: 10px; align-items:baseline;
}

.discord-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.big{ font-weight:950; font-size: 18px; }
.muted{ color: var(--muted); font-weight:850; margin-top:4px; }

.footer{ border-top:1px solid var(--line); padding: 18px; }
.footer-inner{
  max-width:1120px; margin:0 auto;
  display:flex; justify-content:space-between; gap: 12px; align-items:center;
  color: var(--muted); font-weight:850;
}
.footer-links{ display:flex; gap: 12px; }
.footer-links a:hover{ color: var(--text); }

.toast{
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  background: rgba(12,12,18,.92);
  border:1px solid var(--line);
  padding: 10px 14px;
  border-radius: 999px;
  box-shadow: var(--shadow);
  color: var(--text);
  font-weight:950;
  opacity:0;
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease;
}
.toast.show{ opacity:1; transform: translateX(-50%) translateY(-2px); }

/* rules grid */
.rules-grid{
  margin-top: 14px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.rule-card{
  padding: 16px;
  border-radius: var(--radius);
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  box-shadow: 0 0 0 1px rgba(255,31,45,.10) inset;
}
.rule-title{
  font-weight: 950;
  letter-spacing: .2px;
  margin-bottom: 8px;
}

/* wiki */
.wiki-content h2, .wiki-content h3{ margin-top: 0; }
.wiki-content p, .wiki-content li{
  color: var(--muted);
  font-weight: 850;
  line-height: 1.7;
}
.wiki-content code{
  padding: 2px 6px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  color: var(--text);
}
.wiki-content a{
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 3px;
  word-break: break-all;
  overflow-wrap: anywhere;
}

@media (max-width: 980px){
  .hero{ grid-template-columns: 1fr; }
  .rules-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 780px){
  .nav-links{ display:none; }
  .burger{ display:block; }
  .grid-3{ grid-template-columns: 1fr; }
  .grid-2{ grid-template-columns: 1fr; }
}

/* Wiki command tables */
.cmd-details{
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.03);
  padding: 10px 12px;
}
.cmd-details summary{
  cursor:pointer;
  font-weight:950;
  color: var(--text);
}
.cmd-table{
  width:100%;
  border-collapse: collapse;
  margin-top: 10px;
  overflow:hidden;
  border-radius: 14px;
}
.cmd-table th, .cmd-table td{
  text-align:left;
  padding: 10px 10px;
  border-top: 1px solid var(--line);
  vertical-align: top;
}
.cmd-table th{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--muted);
  font-weight: 900;
}
.cmd-table td code{
  word-break: break-all;
  overflow-wrap: anywhere;
}
