/* ============================================================
   EternalMU Rankings — 1:1 MuDream Layout
   ============================================================ */

/* ---------- Reset / base ---------- */
.emd-rankings *{box-sizing:border-box}
.emd-rankings a{text-decoration:none;color:inherit}
.emd-rankings button{cursor:pointer;font-family:inherit}

/* ---------- Page wrapper ---------- */
.emd-rankings{
  max-width:1380px;
  margin:0 auto;
  padding:38px 20px 80px;
  color:#f6f0e8;
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
}

/* ============================================================
   SERVER STRIP  (top row with logo + server pills)
   ============================================================ */
.emd-server-strip{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:20px;
}
.emd-server-strip__logo{
  display:flex;
  align-items:center;
  gap:10px;
  margin-right:8px;
}
.emd-server-strip__logo-mark{
  width:44px;height:44px;border-radius:14px;
  background:radial-gradient(circle,#4c1d95,#13071f 70%);
  border:1px solid rgba(243,199,107,.5);
  display:grid;place-items:center;
  font-weight:900;font-size:15px;color:#f3c76b;
  box-shadow:0 0 24px rgba(139,92,246,.35);
}
.emd-server-strip__name{
  font-size:18px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:#fff7df;
}
.emd-server-strip__sub{font-size:11px;color:#b9a9d1;margin-top:1px;}

.emd-server-pill{
  display:flex;align-items:center;gap:10px;
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  transition:.2s;
}
.emd-server-pill.is-active{
  border-color:rgba(243,199,107,.35);
  background:rgba(243,199,107,.1);
}
.emd-server-pill__dot{
  width:8px;height:8px;border-radius:50%;
  background:#35e29a;
  box-shadow:0 0 12px rgba(53,226,154,.9);
  flex-shrink:0;
}
.emd-server-pill__label{
  font-size:11px;font-weight:900;
  color:#b9a9d1;text-transform:uppercase;letter-spacing:.8px;
}
.emd-server-pill__count{
  font-size:16px;font-weight:950;color:#fff;
  margin-left:4px;
}

/* ============================================================
   MAIN GRID  (sidebar left + main right)
   ============================================================ */
.emd-grid{
  display:grid;
  grid-template-columns:270px 1fr;
  gap:18px;
  align-items:start;
}

/* ---------- Sidebar ---------- */
.emd-sidebar{
  display:grid;gap:14px;
  position:sticky;top:100px;
}
.emd-sidebar__card{
  border:1px solid rgba(243,199,107,.18);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(15,10,25,.92),rgba(8,5,15,.85));
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  overflow:hidden;
}

/* Total online widget */
.emd-total-online{
  padding:22px 20px;
  position:relative;
}
.emd-total-online:before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 20% 40%,rgba(139,92,246,.18),transparent 50%);
  pointer-events:none;
}
.emd-total-online__label{
  position:relative;
  font-size:11px;font-weight:900;letter-spacing:1.5px;
  text-transform:uppercase;color:#b9a9d1;
}
.emd-total-online__num{
  position:relative;
  font-size:44px;font-weight:950;color:#fff;
  margin:6px 0 2px;line-height:1;
}
.emd-total-online__pulse{
  position:relative;
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;color:#35e29a;font-weight:800;
}
.emd-total-online__pulse:before{
  content:"";width:8px;height:8px;border-radius:50%;
  background:#35e29a;box-shadow:0 0 14px #35e29a;
}

/* Nav tabs in sidebar */
.emd-sidebar__tabs{
  display:grid;gap:4px;
  padding:10px;
}
.emd-sidebar__tab{
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 16px;border-radius:14px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.04);
  font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.6px;
  color:#d8c8f7;transition:.2s;
}
.emd-sidebar__tab:hover{
  background:rgba(255,255,255,.07);
  border-color:rgba(243,199,107,.2);
}
.emd-sidebar__tab.is-active{
  background:linear-gradient(135deg,rgba(243,199,107,.16),rgba(139,92,246,.08));
  border-color:rgba(243,199,107,.32);
  color:#f3c76b;
}
.emd-sidebar__tab-arrow{
  color:#f3c76b;opacity:.6;font-size:16px;
}

/* Top guilds in sidebar */
.emd-sidebar__section{padding:16px 18px 18px;}
.emd-sidebar__section-title{
  font-size:11px;font-weight:900;text-transform:uppercase;
  letter-spacing:1.2px;color:#f3c76b;margin-bottom:12px;
}
.emd-side-guild{
  display:flex;align-items:center;gap:12px;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.07);
}
.emd-side-guild__rank{
  display:grid;place-items:center;
  width:30px;height:30px;border-radius:10px;
  background:rgba(139,92,246,.22);border:1px solid rgba(243,199,107,.2);
  color:#f3c76b;font-weight:950;font-size:12px;flex-shrink:0;
}
.emd-side-guild__name{font-weight:900;font-size:13px;color:#fff;}
.emd-side-guild__score{font-size:11px;color:#b9a9d1;margin-top:2px;}

/* Server highlights */
.emd-side-stat{
  display:flex;align-items:center;gap:12px;
  padding:10px 0;border-top:1px solid rgba(255,255,255,.07);
}
.emd-side-stat__icon{
  display:grid;place-items:center;
  width:32px;height:32px;border-radius:10px;
  background:rgba(139,92,246,.2);border:1px solid rgba(139,92,246,.3);
  color:#f3c76b;font-weight:900;font-size:12px;flex-shrink:0;
}
.emd-side-stat__label{font-weight:900;font-size:13px;color:#fff;}
.emd-side-stat__sub{font-size:11px;color:#b9a9d1;margin-top:2px;}

/* ============================================================
   MAIN CONTENT AREA
   ============================================================ */
.emd-main{
  border:1px solid rgba(243,199,107,.18);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(12,9,22,.96),rgba(7,5,14,.92));
  box-shadow:0 24px 70px rgba(0,0,0,.42);
  padding:20px;
  overflow:hidden;
  position:relative;
}
.emd-main:before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at top left,rgba(139,92,246,.1),transparent 30%);
  pointer-events:none;
}

/* ---------- Mode sub-tabs (Resets / Bosses / Events / Gear Score) ---------- */
.emd-mode-tabs{
  display:flex;gap:8px;flex-wrap:wrap;
  margin-bottom:16px;
  position:relative;z-index:1;
}
.emd-mode-tab{
  padding:10px 20px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;
  color:#c8b8e8;transition:.2s;
}
.emd-mode-tab:hover{
  background:rgba(255,255,255,.07);
}
.emd-mode-tab.is-active{
  background:linear-gradient(135deg,rgba(243,199,107,.18),rgba(139,92,246,.1));
  border-color:rgba(243,199,107,.36);
  color:#f3c76b;
  box-shadow:0 0 28px rgba(243,199,107,.1);
}

/* ---------- Search + filter row ---------- */
.emd-toolbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:16px;
  position:relative;z-index:1;
}
.emd-toolbar__search{
  flex:1;min-width:200px;position:relative;
}
.emd-toolbar__search input{
  width:100%;height:46px;border-radius:12px;
  border:1px solid rgba(243,199,107,.18);
  background:rgba(3,2,8,.8);color:#fff;
  padding:0 14px 0 40px;outline:none;
  font-size:14px;
}
.emd-toolbar__search:before{
  content:"⌕";position:absolute;left:13px;top:50%;
  transform:translateY(-50%);color:#7a6b92;font-size:18px;
}
.emd-toolbar select{
  height:46px;border-radius:12px;
  border:1px solid rgba(243,199,107,.18);
  background:rgba(3,2,8,.8);color:#fff;
  padding:0 14px;outline:none;font-size:13px;
  font-weight:900;text-transform:uppercase;
}
.emd-toolbar button[type=submit]{
  height:46px;padding:0 20px;border-radius:12px;border:0;
  background:linear-gradient(135deg,#f8df8a,#bf7b23);
  color:#111;font-weight:900;font-size:13px;
  text-transform:uppercase;letter-spacing:.8px;
  box-shadow:0 0 24px rgba(218,163,43,.2);
  transition:.2s;
}
.emd-toolbar button[type=submit]:hover{
  transform:translateY(-1px);filter:brightness(1.07);
}

/* ---------- Class filter (with avatar icons) ---------- */
.emd-class-filter{
  display:flex;gap:8px;flex-wrap:wrap;
  margin-bottom:16px;
  position:relative;z-index:1;
}
.emd-class-btn{
  display:flex;align-items:center;gap:8px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  background:rgba(255,255,255,.04);
  font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;
  color:#c8b8e8;transition:.2s;
}
.emd-class-btn:hover{
  background:rgba(255,255,255,.07);
}
.emd-class-btn.is-active{
  border-color:rgba(243,199,107,.36);
  background:rgba(243,199,107,.12);
  color:#f3c76b;
}
/* Class-specific glow on active */
.emd-class-btn.is-active.emd--dw{border-color:rgba(201,133,255,.5);background:rgba(139,92,246,.15);color:#c985ff;}
.emd-class-btn.is-active.emd--dk{border-color:rgba(255,117,117,.4);background:rgba(239,68,68,.12);color:#ff7575;}
.emd-class-btn.is-active.emd--elf{border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.1);color:#7fff7d;}
.emd-class-btn.is-active.emd--mg{border-color:rgba(244,114,182,.4);background:rgba(244,114,182,.1);color:#ff84df;}
.emd-class-btn.is-active.emd--dl{border-color:rgba(167,139,250,.4);background:rgba(167,139,250,.1);color:#b286ff;}
.emd-class-btn.is-active.emd--sum{border-color:rgba(84,224,223,.4);background:rgba(84,224,223,.1);color:#54e0df;}
.emd-class-btn.is-active.emd--rf{border-color:rgba(251,146,60,.4);background:rgba(251,146,60,.1);color:#ffad42;}

.emd-class-btn__icon{
  display:grid;place-items:center;
  width:28px;height:28px;border-radius:8px;
  background:rgba(139,92,246,.18);
  border:1px solid rgba(139,92,246,.28);
  font-size:13px;
  flex-shrink:0;
}
/* Per-class color for icon */
.emd--dw .emd-class-btn__icon{background:rgba(139,92,246,.2);border-color:rgba(201,133,255,.35);color:#c985ff}
.emd--dk .emd-class-btn__icon{background:rgba(239,68,68,.15);border-color:rgba(255,117,117,.3);color:#ff7575}
.emd--elf .emd-class-btn__icon{background:rgba(52,211,153,.15);border-color:rgba(52,211,153,.3);color:#7fff7d}
.emd--mg .emd-class-btn__icon{background:rgba(244,114,182,.15);border-color:rgba(244,114,182,.3);color:#ff84df}
.emd--dl .emd-class-btn__icon{background:rgba(167,139,250,.15);border-color:rgba(167,139,250,.3);color:#b286ff}
.emd--sum .emd-class-btn__icon{background:rgba(84,224,223,.15);border-color:rgba(84,224,223,.3);color:#54e0df}
.emd--rf .emd-class-btn__icon{background:rgba(251,146,60,.15);border-color:rgba(251,146,60,.3);color:#ffad42}

/* ---------- Table ---------- */
.emd-table-wrap{
  overflow:auto;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.07);
  position:relative;z-index:1;
}
.emd-table{
  width:100%;border-collapse:separate;
  border-spacing:0 6px;
  min-width:860px;
  padding:6px;
}
.emd-table thead tr{background:transparent!important}
.emd-table th{
  padding:10px 14px;text-align:left;
  font-size:11px;font-weight:950;
  text-transform:uppercase;letter-spacing:1.1px;
  color:#f3c76b;
}
.emd-table td{
  padding:14px 14px;
  background:rgba(255,255,255,.045);
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
  color:#eee4ff;
  transition:.18s;
}
.emd-table tr td:first-child{
  border-radius:16px 0 0 16px;
  border-left:1px solid rgba(255,255,255,.07);
}
.emd-table tr td:last-child{
  border-radius:0 16px 16px 0;
  border-right:1px solid rgba(255,255,255,.07);
}
.emd-table tbody tr:hover td{
  background:rgba(139,92,246,.1);
  border-color:rgba(243,199,107,.12);
  transform:translateY(-1px);
}
/* Top 3 rows */
.emd-table tr.emd-top{background:transparent}
.emd-table tr.emd-top td{
  background:linear-gradient(90deg,rgba(147,101,29,.18),rgba(91,45,145,.1),rgba(255,255,255,.02));
}
.emd-table tr.emd-top-1 td{
  background:linear-gradient(90deg,rgba(243,199,107,.18),rgba(147,101,29,.1),rgba(255,255,255,.02));
}
.emd-table tr.emd-top-2 td{
  background:linear-gradient(90deg,rgba(200,208,220,.12),rgba(100,116,139,.06),rgba(255,255,255,.02));
}
.emd-table tr.emd-top-3 td{
  background:linear-gradient(90deg,rgba(234,164,94,.14),rgba(124,45,18,.06),rgba(255,255,255,.02));
}

/* Rank badge */
.emd-badge{
  display:inline-grid;place-items:center;
  width:36px;height:36px;border-radius:12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
  color:#fff;font-weight:950;font-size:13px;
}
.emd-top-1 .emd-badge{background:linear-gradient(135deg,#f8d96a,#91590c);color:#111;border-color:transparent}
.emd-top-2 .emd-badge{background:linear-gradient(135deg,#e9edf7,#546071);color:#111;border-color:transparent}
.emd-top-3 .emd-badge{background:linear-gradient(135deg,#eaa45e,#7d3e16);color:#111;border-color:transparent}

/* Character cell */
.emd-char-cell{display:flex;align-items:center;gap:12px;}
.emd-char-avatar{
  display:grid;place-items:center;
  min-width:42px;width:42px;height:42px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.12);
  background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.14),rgba(139,92,246,.12));
  font-size:18px;
  flex-shrink:0;
}
.emd-char-name{font-weight:950;color:#fff;font-size:14px;}
.emd-char-name a{color:#fff;}
.emd-char-name a:hover{color:#f3c76b;}

/* Class chip */
.emd-class-chip{
  display:inline-flex;align-items:center;
  padding:6px 10px;border-radius:999px;
  font-size:11px;font-weight:900;letter-spacing:.3px;
  background:rgba(139,92,246,.12);
  border:1px solid rgba(139,92,246,.22);
}
.emd-class-chip.emd--dk{color:#ff7575;background:rgba(239,68,68,.1);border-color:rgba(255,117,117,.25)}
.emd-class-chip.emd--dw{color:#c985ff;background:rgba(139,92,246,.12);border-color:rgba(201,133,255,.25)}
.emd-class-chip.emd--elf{color:#7fff7d;background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.25)}
.emd-class-chip.emd--mg{color:#ff84df;background:rgba(244,114,182,.1);border-color:rgba(244,114,182,.25)}
.emd-class-chip.emd--dl{color:#b286ff;background:rgba(167,139,250,.1);border-color:rgba(167,139,250,.25)}
.emd-class-chip.emd--sum{color:#54e0df;background:rgba(84,224,223,.1);border-color:rgba(84,224,223,.25)}
.emd-class-chip.emd--rf{color:#ffad42;background:rgba(251,146,60,.1);border-color:rgba(251,146,60,.25)}

.emd-gold{color:#f3c76b;font-weight:950;}
.emd-online-badge{
  display:inline-flex;align-items:center;gap:5px;
  color:#35e29a;font-size:12px;font-weight:950;
  text-transform:uppercase;
}
.emd-online-badge:before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:#35e29a;box-shadow:0 0 10px #35e29a;
}
.emd-offline-badge{color:#7a6b92;font-size:12px;font-weight:900;text-transform:uppercase;}

/* Guild in table */
.emd-guild-cell{color:#d8ccee;font-weight:900;}
.emd-guild-cell .emd-dash{color:#5a4f6a;}

/* Empty state */
.emd-empty{
  text-align:center;padding:50px 24px;color:#b9a9d1;
}
.emd-empty b{
  display:block;color:#fff7df;font-size:18px;
  margin-bottom:8px;
}
.emd-empty span{color:#8a7ba0;font-size:14px;}

/* Pagination */
.emd-pages{
  display:flex;align-items:center;justify-content:center;
  gap:6px;margin-top:16px;flex-wrap:wrap;
  position:relative;z-index:1;
}
.emd-pages a,.emd-pages span{
  display:inline-grid;place-items:center;
  min-width:38px;height:38px;padding:0 10px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.04);
  color:#c8b8e8;font-weight:900;font-size:13px;
  transition:.2s;
}
.emd-pages a:hover{background:rgba(255,255,255,.07);}
.emd-pages a.is-active{
  background:linear-gradient(135deg,#f8df8a,#bf7b23);
  border-color:transparent;color:#111;
}
.emd-pages .emd-total{
  color:#7a6b92;font-size:12px;background:transparent;border:none;
}

/* ---------- Guilds table (narrower columns) ---------- */
.emd-guilds-table .emd-guild-name{
  font-weight:950;color:#fff;font-size:14px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1120px){
  .emd-grid{grid-template-columns:1fr;}
  .emd-sidebar{position:static;grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .emd-rankings{padding:24px 12px 60px;}
  .emd-sidebar{grid-template-columns:1fr;}
  .emd-server-strip{gap:8px;}
  .emd-class-filter{gap:6px;}
  .emd-class-btn{padding:7px 10px;font-size:11px;}
  .emd-mode-tab{padding:8px 14px;font-size:12px;}
  .emd-toolbar{flex-direction:column;align-items:stretch;}
  .emd-toolbar__search{min-width:0;}
}

/* ── Active sort column header ── */
.emd-table th.emd-col-active{
  color:#fff7df;
  position:relative;
}
.emd-table th.emd-col-active:after{
  content:"▼";
  display:inline-block;
  margin-left:5px;
  font-size:9px;
  color:#f3c76b;
  opacity:.8;
}

/* ── Debug bar ── */
.emd-debug-bar{
  padding:12px 16px;margin-bottom:14px;
  border-radius:14px;
  border:1px solid rgba(255,75,123,.4);
  background:rgba(92,7,39,.55);
  color:#ffd3df;font-weight:800;font-size:13px;
}

/* ── Killers tab — kills column gold ── */
.emd-table td.emd-gold{
  color:#f3c76b;font-weight:950;
}
