:root{
  --storm-red:#d6222b;
  --storm-red-dark:#a91820;
  --ink:#14151a;
  --ink-soft:#1f2129;
  --chalk:#f7f6f3;
  --slate:#5a5e68;
  --steel:#dfe0e4;
  --steel-line:#c9cad0;
  --gold:#e8ac1e;
  --card-shadow:0 1px 0 rgba(20,21,26,.06);
  --display-font:"Anton",Impact,sans-serif;
  --mono-font:"Space Mono",monospace;
  --body-font:"Work Sans",system-ui,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--chalk);
  color:var(--ink);
  font-family:var(--body-font);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

/* ---------- Header / nav ---------- */
.site-header{
  background:var(--ink);
  color:var(--chalk);
  position:sticky;
  top:0;
  z-index:50;
  border-bottom:3px solid var(--storm-red);
}
.site-header-inner{
  max-width:1180px;
  margin:0 auto;
  padding:10px 24px;
  display:flex;
  align-items:center;
  gap:16px;
}
.site-logo{
  height:40px;
  width:auto;
  flex:0 0 auto;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.4));
}
.site-title{
  font-family:var(--display-font);
  letter-spacing:.03em;
  font-size:20px;
  line-height:1;
  text-transform:uppercase;
  flex:1 1 auto;
}
.site-title small{
  display:block;
  font-family:var(--mono-font);
  text-transform:uppercase;
  font-size:10px;
  color:var(--storm-red);
  letter-spacing:.12em;
  margin-top:2px;
}
.site-nav{display:flex;gap:22px;font-family:var(--mono-font);text-transform:uppercase;font-size:12px;letter-spacing:.08em;}
.site-nav a{opacity:.8;padding:6px 2px;border-bottom:2px solid transparent;transition:opacity .15s,border-color .15s;}
.site-nav a:hover,.site-nav a.active{opacity:1;border-color:var(--storm-red);}

/* ---------- Page shell ---------- */
.page{max-width:1180px;margin:0 auto;padding:0 24px 80px;}

/* ---------- Lightning divider signature element ---------- */
.bolt-divider{
  height:14px;
  margin:0 0 28px;
  background:var(--storm-red);
  clip-path:polygon(0 0,100% 0,100% 60%,55% 60%,52% 100%,46% 100%,49% 60%,0 60%);
}
.bolt-divider.flip{clip-path:polygon(0 40%,45% 40%,42% 0,48% 0,51% 40%,100% 40%,100% 100%,0 100%);}

/* ---------- Hero (player) ---------- */
.player-hero{
  position:relative;
  background:linear-gradient(115deg,var(--ink) 0 58%,var(--storm-red) 58% 60%,var(--storm-red-dark) 60% 100%);
  color:var(--chalk);
  border-radius:2px;
  overflow:hidden;
  margin-top:24px;
  padding:36px 36px 0;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:32px;
  align-items:end;
}
.player-hero .ghost-number{
  position:absolute;
  right:18px;
  top:-18px;
  font-family:var(--display-font);
  font-size:220px;
  line-height:1;
  color:rgba(255,255,255,.06);
  z-index:0;
  user-select:none;
}
.player-photo-wrap{
  position:relative;
  z-index:1;
  width:220px;
  height:220px;
  border-radius:4px;
  overflow:hidden;
  border:3px solid var(--chalk);
  background:#2a2c34;
  flex:0 0 auto;
}
.player-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.player-photo-wrap.placeholder{display:flex;align-items:center;justify-content:center;font-family:var(--display-font);font-size:72px;color:rgba(255,255,255,.25);}
.player-identity{position:relative;z-index:1;padding-bottom:28px;}
.player-eyebrow{font-family:var(--mono-font);text-transform:uppercase;font-size:12px;letter-spacing:.14em;color:var(--gold);margin-bottom:6px;}
.player-name{font-family:var(--display-font);font-size:56px;line-height:.95;text-transform:uppercase;letter-spacing:.01em;margin:0 0 10px;}
.player-meta{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--mono-font);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:rgba(247,246,243,.85);}
.chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:4px 10px;border-radius:20px;}

.headline-stats{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(90px,1fr);
  gap:1px;
  background:rgba(255,255,255,.15);
  margin-top:26px;
  position:relative;
  z-index:1;
}
.headline-stats .stat{
  background:var(--ink);
  padding:14px 10px 16px;
  text-align:center;
}
.headline-stats .stat .val{font-family:var(--display-font);font-size:30px;color:var(--chalk);}
.headline-stats .stat .lbl{font-family:var(--mono-font);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-top:2px;}

/* ---------- Section headers ---------- */
.section{margin-top:48px;}
.section-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  border-bottom:3px solid var(--ink);
  padding-bottom:8px;
  margin-bottom:16px;
}
.section-head h2{
  font-family:var(--display-font);
  text-transform:uppercase;
  font-size:26px;
  margin:0;
  letter-spacing:.01em;
}
.section-head .note{font-family:var(--mono-font);font-size:11px;color:var(--slate);text-transform:uppercase;letter-spacing:.04em;}

/* ---------- Stat tables ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--steel-line);border-radius:2px;}
table.stat-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap;}
table.stat-table thead th{
  background:var(--ink);
  color:var(--chalk);
  font-family:var(--mono-font);
  font-weight:400;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.06em;
  padding:10px 12px;
  text-align:right;
  position:sticky;
  top:0;
}
table.stat-table thead th:first-child,
table.stat-table thead th:nth-child(2){text-align:left;}
table.stat-table td{padding:9px 12px;text-align:right;border-bottom:1px solid var(--steel);}
table.stat-table td:first-child,table.stat-table td:nth-child(2){text-align:left;font-family:var(--mono-font);}
table.stat-table tbody tr:nth-child(even){background:#fbfaf8;}
table.stat-table tbody tr:hover{background:#f0eeea;}
table.stat-table tr.career-row{background:var(--ink) !important;color:var(--chalk);font-weight:600;}
table.stat-table tr.career-row td{border-bottom:none;color:var(--chalk);}
table.stat-table tr.career-row td:first-child{color:var(--gold);font-family:var(--display-font);letter-spacing:.02em;}

/* ---------- Roster grid ---------- */
.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:24px;}
.roster-card{
  background:#fff;
  border:1px solid var(--steel-line);
  box-shadow:var(--card-shadow);
  padding:16px;
  display:flex;
  gap:14px;
  align-items:center;
  transition:transform .12s,box-shadow .12s;
}
.roster-card:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(20,21,26,.12);}
.roster-photo{width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--ink);flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--chalk);font-family:var(--display-font);font-size:20px;}
.roster-photo img{width:100%;height:100%;object-fit:cover;}
.roster-info .name{font-family:var(--display-font);text-transform:uppercase;font-size:16px;line-height:1.1;}
.roster-info .sub{font-family:var(--mono-font);font-size:11px;color:var(--slate);text-transform:uppercase;letter-spacing:.05em;margin-top:3px;}

/* ---------- Leader cards (team page) ---------- */
.leader-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px;}
.leader-card{background:#fff;border:1px solid var(--steel-line);box-shadow:var(--card-shadow);}
.leader-card h3{
  margin:0;
  background:var(--ink);
  color:var(--chalk);
  font-family:var(--mono-font);
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.08em;
  padding:10px 14px;
  border-left:4px solid var(--storm-red);
}
.leader-card ol{list-style:none;margin:0;padding:6px 0;}
.leader-card li{display:flex;justify-content:space-between;align-items:baseline;padding:7px 14px;font-size:14px;border-bottom:1px solid var(--steel);}
.leader-card li:last-child{border-bottom:none;}
.leader-card li .rank{font-family:var(--display-font);color:var(--slate);width:22px;flex:0 0 auto;}
.leader-card li:first-child .rank{color:var(--gold);}
.leader-card li .lname{flex:1 1 auto;padding:0 8px;}
.leader-card li .lval{font-family:var(--mono-font);font-weight:700;}
.leader-card li:first-child{background:#fdf6e3;}

/* ---------- Season tabs (team page) ---------- */
.season-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 18px;}
.season-tab{
  font-family:var(--mono-font);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  padding:7px 12px;
  border:1px solid var(--steel-line);
  background:#fff;
  cursor:pointer;
}
.season-tab.active{background:var(--ink);color:var(--chalk);border-color:var(--ink);}
.season-panel{display:none;}
.season-panel.active{display:block;}

/* ---------- Highlight videos ---------- */
.highlight-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:24px;}
.highlight-card{background:#fff;border:1px solid var(--steel-line);box-shadow:var(--card-shadow);overflow:hidden;}
.highlight-embed{position:relative;width:100%;aspect-ratio:16/9;background:var(--ink);}
.highlight-embed video,.highlight-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.highlight-title{padding:10px 14px;font-family:var(--mono-font);font-size:12px;letter-spacing:.03em;}

/* ---------- Footer ---------- */
.site-footer{
  max-width:1180px;margin:60px auto 0;padding:20px 24px 60px;
  font-family:var(--mono-font);font-size:11px;color:var(--slate);
  border-top:1px solid var(--steel-line);
  line-height:1.6;
}

@media (max-width:720px){
  .player-hero{grid-template-columns:1fr;padding:24px 20px 0;}
  .player-photo-wrap{width:140px;height:140px;}
  .player-name{font-size:38px;}
  .headline-stats{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);}
  .site-title{font-size:16px;}
}
