* { box-sizing: border-box; }
:root { --forest:#0b3d2e; --charcoal:#10231c; --ivory:#f6f1e7; --paper:#fcfaf5; --gold:#d6a94f; --ink:#15231f; --line:#dedbd2; }
body { margin:0; min-height:100vh; background:var(--paper); color:var(--ink); font-family:Manrope,sans-serif; }
.leader-head { height:72px; padding:0 clamp(22px,4vw,68px); display:flex; align-items:center; gap:34px; border-bottom:1px solid var(--line); }
.leader-brand img { width:148px; display:block; }
.leader-head nav { display:flex; gap:24px; }
.leader-head nav a,.leader-signin { color:#69756f; font-size:11px; font-weight:700; text-decoration:none; }
.leader-head nav a.active { color:var(--forest); }
.leader-signin { margin-left:auto; }
.leader-main { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:62px 0 90px; }
.leader-hero { display:grid; grid-template-columns:1fr 360px; align-items:end; gap:60px; }
.leader-hero > div > span,.week-controls small,.leader-table > header { color:#8a6b28; font:500 8px DM Mono,monospace; letter-spacing:.11em; text-transform:uppercase; }
.leader-hero h1 { max-width:750px; margin:8px 0 12px; color:var(--charcoal); font:600 clamp(50px,7vw,86px)/.88 Newsreader,serif; }
.leader-hero p { max-width:680px; margin:0; color:#68746e; font-size:13px; line-height:1.6; }
.leader-hero aside { position:relative; min-height:170px; padding:18px 22px 18px 14px; display:flex; align-items:center; gap:10px; overflow:hidden; background:var(--forest); color:var(--ivory); }
.leader-hero aside::before { content:""; position:absolute; inset:14px; border:1px solid rgba(214,169,79,.23); border-radius:50%; transform:translateX(-85px) scale(1.35); }
.leader-hero aside img { position:relative; z-index:1; width:130px; height:130px; object-fit:contain; filter:drop-shadow(0 12px 12px rgba(0,0,0,.18)); }
.leader-hero aside span { display:grid; gap:7px; }
.leader-hero aside small { color:var(--gold); font:500 8px DM Mono,monospace; text-transform:uppercase; }
.leader-hero aside strong { font:600 20px/1.2 Newsreader,serif; }
.week-controls { margin-top:48px; min-height:70px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; border-block:1px solid var(--line); }
.week-controls div { display:grid; gap:3px; text-align:center; }
.week-controls strong { font:600 18px Newsreader,serif; }
.week-controls button { border:0; background:none; color:var(--forest); font-size:10px; font-weight:700; }
.leader-table { margin-top:24px; border:1px solid var(--line); background:#fffef9; }
.leader-table > header,.leader-row-main { display:grid; grid-template-columns:70px minmax(220px,1.7fr) repeat(3,minmax(92px,.55fr)) 86px; align-items:center; }
.leader-table > header { min-height:44px; padding:0 18px; border-bottom:1px solid var(--line); background:#f7f3ea; }
.level-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  font: 600 10px "DM Mono", monospace;
  font-style: normal;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  vertical-align: middle;
  background: #eceadf;
  color: #5d6357;
  cursor: help;
}

.level-badge.level-nostradamus {
  background: linear-gradient(120deg, #b98a1f, #e8c256);
  color: #241a02;
}

.level-badge.level-oracle {
  background: #4a3a70;
  color: #ece5fb;
}

.level-badge.level-visionary {
  background: #1f5d5a;
  color: #d9f3f1;
}

.level-badge.level-sharp {
  background: #2e7d4f;
  color: #e7f6ec;
}

.level-badge.level-edge-finder {
  background: #6d9c62;
  color: #f2f8ef;
}

.level-badge.level-coin-flip {
  background: #8d8d81;
  color: #f6f5ef;
}

.level-badge.level-fog-walker {
  background: #a08363;
  color: #f8f2e9;
}

.level-badge.level-reverse-oracle {
  background: #a13c2a;
  color: #fbeae5;
}

.level-badge.level-unranked {
  background: transparent;
  border: 1px dashed #b7b4a5;
  color: #8a887c;
}

.leader-row { border-bottom:1px solid var(--line); }
.leader-row:last-child { border-bottom:0; }
.leader-row-main { min-height:82px; padding:0 18px; cursor:pointer; }
.leader-row-main:focus-visible { outline:2px solid var(--gold); outline-offset:-2px; }
.rank { color:var(--gold); font:600 28px Newsreader,serif; }
.predictor { display:grid; gap:3px; }
.predictor strong { font:600 18px Newsreader,serif; }
.predictor small { color:#7a8780; font:500 8px DM Mono,monospace; }
.metric { display:grid; gap:3px; }
.metric small { color:#89928e; font:500 7px DM Mono,monospace; text-transform:uppercase; }
.metric strong { font:600 17px Newsreader,serif; }
.points.positive { color:var(--forest); }
.points.negative { color:#b95845; }
.expand-mark { width:28px; height:28px; display:grid; place-items:center; justify-self:end; border:1px solid var(--line); border-radius:50%; color:var(--forest); transition:transform 180ms cubic-bezier(.23,1,.32,1); }
.leader-row.open .expand-mark { transform:rotate(45deg); }
.leader-evidence { padding:0 18px 18px 88px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.leader-evidence[hidden] { display:none; }
.leader-evidence a { padding:12px; display:grid; gap:5px; border:1px solid var(--line); background:#fcfaf5; color:var(--ink); text-decoration:none; }
.leader-evidence a strong { font:600 13px Newsreader,serif; }
.leader-evidence a span { color:#758079; font:500 8px DM Mono,monospace; }
.leader-empty { padding:60px 24px; text-align:center; color:#68746e; }
.leader-empty strong { display:block; margin-bottom:5px; color:var(--ink); font:600 24px Newsreader,serif; }
@media (max-width:820px) {
  .leader-head nav a:not(.active) { display:none; }
  .leader-hero { grid-template-columns:1fr; }
  .leader-hero aside { display:none; }
  .leader-table > header { display:none; }
  .leader-row-main { grid-template-columns:48px 1fr 76px 38px; }
  .leader-row-main .metric:nth-of-type(2),.leader-row-main .metric:nth-of-type(3) { display:none; }
  .leader-evidence { padding:0 12px 12px; grid-template-columns:1fr; }
}
