:root {
  --red:#e32727;
  --red-hot:#ff3b32;
  --ink:#07090b;
  --panel:#0d1012;
  --panel-soft:#15191c;
  --muted:#a3a8ad;
  --line:#24282c;
  --white:#f6f6f2;
  --green:#40d266;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; color-scheme:dark; }
body { margin:0; background:var(--ink); color:var(--white); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }

.site-header { position:sticky; top:0; z-index:20; background:rgba(5,7,8,.94); border-bottom:1px solid rgba(255,255,255,.14); backdrop-filter:blur(14px); }
.header-inner { min-height:94px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:flex; align-items:center; gap:13px; letter-spacing:.18em; font-weight:900; font-size:.9rem; }
.brand img { width:48px; height:48px; object-fit:cover; border-radius:9px; box-shadow:0 0 0 1px rgba(255,255,255,.22); }
.main-nav { display:flex; align-items:center; gap:30px; font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.main-nav>a { color:#d9dad8; position:relative; padding:11px 0; }
.main-nav>a:not(.discord-link):after { content:""; position:absolute; left:0; right:100%; bottom:4px; height:2px; background:var(--red); transition:.2s ease; }
.main-nav>a:hover:after,.main-nav>a.active:after { right:0; }
.main-nav .discord-link { min-height:45px; display:inline-flex; align-items:center; gap:11px; padding:0 16px; background:var(--red); color:#fff; box-shadow:0 10px 30px rgba(227,39,39,.18); }
.main-nav .discord-link:hover { background:var(--red-hot); transform:translateY(-1px); }

.stats-hero,.player-banner { position:relative; overflow:hidden; background:#0b0d0e; }
.stats-hero { min-height:510px; display:flex; align-items:center; }
.player-banner { min-height:430px; display:flex; align-items:center; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.82) contrast(1.06); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,7,8,.98) 0%,rgba(5,7,8,.86) 44%,rgba(5,7,8,.3) 76%,rgba(5,7,8,.5) 100%),linear-gradient(0deg,#07090b 0%,transparent 40%); }
.hero-content,.player-heading { position:relative; z-index:1; padding:78px 0 90px; }
.eyebrow,.kicker { color:#ee4b43; font-weight:800; letter-spacing:.2em; font-size:.76rem; }
.eyebrow { display:flex; align-items:center; gap:10px; }
.eyebrow span { width:32px; height:2px; background:var(--red); }
.stats-hero h1,.player-heading h1,.legal h1 { margin:18px 0 20px; font-size:clamp(3.5rem,7.6vw,6.7rem); line-height:.84; letter-spacing:-.065em; max-width:900px; font-weight:950; text-transform:uppercase; text-shadow:0 8px 35px rgba(0,0,0,.35); }
.stats-hero h1 em { color:var(--red); font-style:normal; }
.hero-subtitle { margin:0; max-width:680px; color:#d8dad9; font-size:clamp(1rem,2vw,1.22rem); line-height:1.6; }
.tracking-note { display:inline-block; margin:24px 0 0; padding:10px 13px; border-left:3px solid var(--red); background:rgba(10,12,13,.68); color:#bfc3c1; font-size:.84rem; backdrop-filter:blur(10px); }

.status-section { position:relative; z-index:3; margin-top:-52px; }
.summary-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); background:var(--panel); box-shadow:0 25px 60px rgba(0,0,0,.38); }
.status-card { min-height:142px; padding:27px 25px; border-right:1px solid var(--line); background:linear-gradient(145deg,#15191c,#0d1012); display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.status-card:last-child { border-right:0; }
.status-card:after { content:""; position:absolute; right:-45px; bottom:-62px; width:120px; height:120px; border:22px solid rgba(227,39,39,.045); transform:rotate(45deg); }
.status-card.primary-status { border-top:3px solid var(--red); }
.metric-label { color:#858c91; font-size:.68rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.status-card>strong { margin-top:12px; font-size:clamp(1.55rem,3vw,2.35rem); line-height:1; letter-spacing:-.035em; }
.status-card small { margin-top:8px; color:#686f74; font-size:.72rem; }
.status-card .map-name { font-size:clamp(1.2rem,2.3vw,1.8rem); }
.status-dot { display:inline-block; width:9px; height:9px; margin-right:8px; border-radius:50%; vertical-align:-1px; }
.status-dot.online { background:var(--green); box-shadow:0 0 16px var(--green); }
.status-dot.offline { background:var(--red); }

.podiums-section { padding:105px 0 10px; }
.podiums-heading { max-width:760px; margin-bottom:34px; }
.podiums-heading h2 { margin:8px 0 0; font-size:clamp(2.5rem,5vw,4rem); line-height:1; letter-spacing:-.05em; text-transform:uppercase; }
.podium-categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.podium-category { min-width:0; border:1px solid var(--line); background:linear-gradient(145deg,#15191c,#0b0e10); position:relative; overflow:hidden; }
.podium-category:after { content:""; position:absolute; right:-70px; bottom:-95px; width:190px; height:190px; border:38px solid rgba(227,39,39,.035); transform:rotate(45deg); pointer-events:none; }
.podium-category>header { min-height:91px; display:flex; align-items:center; gap:14px; padding:19px 21px; border-bottom:1px solid var(--line); background:#101316; }
.podium-category>header>span { font-size:1.65rem; }
.podium-category header p { margin:0 0 4px; color:#7f878c; font-size:.61rem; font-weight:900; letter-spacing:.14em; }
.podium-category h3 { margin:0; font-size:1.18rem; letter-spacing:.015em; }
.podium-list { list-style:none; margin:0; padding:0; }
.podium-place { min-height:89px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:15px 20px; border-bottom:1px solid var(--line); position:relative; z-index:1; }
.podium-place:last-child { border-bottom:0; }
.podium-place.place-1 { min-height:108px; background:linear-gradient(90deg,rgba(227,39,39,.16),rgba(227,39,39,.025)); box-shadow:inset 3px 0 var(--red); }
.podium-place .medal { font-size:1.42rem; filter:saturate(.85); }
.podium-place.place-1 .medal { font-size:1.8rem; filter:none; }
.podium-player { min-width:0; display:flex; flex-direction:column; gap:3px; }
.podium-player small { color:#ee4b43; font-size:.62rem; font-weight:900; letter-spacing:.12em; }
.podium-player a { overflow:hidden; color:#fff; font-size:.9rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.podium-player a:hover { color:#ff5750; }
.podium-player span { color:#777f84; font-size:.65rem; }
.podium-place>strong { text-align:right; color:#fff; font-size:1.12rem; }
.podium-place>strong small { display:block; margin-top:3px; color:#737b80; font-size:.57rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.podium-rule { margin:0; padding:13px 20px; border-top:1px solid var(--line); color:#8d9499; font-size:.68rem; line-height:1.45; }
.cash-coming-soon { display:flex; flex-direction:column; }
.cash-coming-soon>p { position:relative; z-index:1; margin:auto 0; padding:35px 25px 38px; color:#8d9499; font-size:.86rem; line-height:1.6; text-align:center; }
.cash-coming-soon>p strong { color:#fff; font-size:1.18rem; }
.coming-soon-mark { position:absolute; right:-8px; bottom:24px; color:rgba(255,255,255,.025); font-size:3.2rem; font-weight:950; letter-spacing:-.06em; transform:rotate(-8deg); }

.leaderboard { padding:105px 0 125px; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:34px; }
.section-head h2 { margin:8px 0 10px; font-size:clamp(2.5rem,5vw,4rem); line-height:1; letter-spacing:-.05em; text-transform:uppercase; }
.section-copy { margin:0; color:var(--muted); }
.search { width:min(390px,100%); }
.search label { display:block; margin-bottom:8px; color:#8d9499; font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.search>div { display:flex; }
.search input { min-width:0; flex:1; height:50px; border:1px solid var(--line); border-right:0; border-radius:0; background:#0e1113; padding:0 16px; color:#fff; outline:none; }
.search input:focus { border-color:#4b5157; box-shadow:inset 3px 0 var(--red); }
.search button { height:50px; border:1px solid var(--red); border-radius:0; background:var(--red); color:#fff; padding:0 18px; font-size:.72rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.search button:hover { background:var(--red-hot); }
.sorts { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.sorts>span { margin-right:7px; color:#737a7e; font-size:.67rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.sorts a { min-height:38px; display:inline-flex; align-items:center; border:1px solid var(--line); background:#0e1113; color:#aeb3b0; padding:0 15px; font-size:.75rem; font-weight:800; text-transform:uppercase; transition:.18s; }
.sorts a:hover { border-color:#646a6e; color:#fff; }
.sorts a.active { border-color:var(--red); background:var(--red); color:#fff; box-shadow:0 8px 24px rgba(227,39,39,.15); }
.rule { margin:0 0 18px; color:var(--muted); font-size:.83rem; }

.table-wrap { border:1px solid var(--line); background:#0b0e10; overflow-x:auto; box-shadow:0 20px 60px rgba(0,0,0,.2); }
table { width:100%; border-collapse:collapse; min-width:1010px; }
th,td { padding:17px 15px; text-align:left; border-bottom:1px solid var(--line); }
th { height:54px; background:#101316; color:#747b80; font-size:.65rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
tbody tr { transition:.17s ease; }
tbody tr:hover { background:#15191c; }
tbody tr:last-child td { border-bottom:0; }
td { color:#aeb3b0; font-size:.86rem; }
.rank { min-width:46px; display:inline-flex; align-items:center; gap:7px; color:#80878d; font-weight:900; }
.rank i { color:var(--red); font-style:normal; font-size:.7rem; }
.player-link { color:#f7f7f3; font-size:.96rem; font-weight:900; }
.player-link:hover { color:#ff5750; }
.kills-value,.kd-value { color:#fff; font-size:.96rem; }
.last-seen { color:#747b80; font-size:.78rem; }
.podium { background:linear-gradient(90deg,rgba(227,39,39,.115),rgba(227,39,39,.018) 38%,transparent); }
.podium td:first-child { box-shadow:inset 3px 0 var(--red); }
.podium .rank { color:#fff; font-size:1rem; }
.podium-1 .rank i { color:#efc34f; text-shadow:0 0 15px rgba(239,195,79,.42); }
.podium-2 .rank i { color:#bdc7ce; }
.podium-3 .rank i { color:#c88758; }
.empty { padding:48px; text-align:center; color:var(--muted); }
.pagination { display:flex; justify-content:center; align-items:center; gap:18px; margin-top:28px; color:#8d9499; font-size:.8rem; }
.pagination a { border:1px solid var(--line); padding:11px 15px; color:#fff; font-weight:800; }
.pagination a:hover { border-color:var(--red); background:var(--red); }

.back-link { display:inline-flex; margin-bottom:46px; padding-bottom:6px; border-bottom:1px solid var(--red); color:#d8dad9; font-size:.78rem; font-weight:800; }
.player-title-row { display:flex; align-items:end; justify-content:space-between; gap:30px; }
.player-heading h1 { margin-bottom:0; overflow-wrap:anywhere; }
.player-heading>p:last-child { color:#bfc3c1; }
.rank-badge { min-width:112px; min-height:112px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid var(--red); background:rgba(13,16,18,.82); color:#fff; font-size:2rem; font-weight:950; box-shadow:0 18px 40px rgba(0,0,0,.3); }
.rank-badge small { color:#ee4b43; font-size:.62rem; letter-spacing:.18em; }
.player-section { padding:72px 0 115px; }
.player-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); background:var(--panel); }
.player-grid article { min-height:145px; padding:25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(145deg,#15191c,#0d1012); display:flex; flex-direction:column; justify-content:center; }
.player-grid article:nth-child(4n) { border-right:0; }
.player-grid article:nth-last-child(-n+3) { border-bottom:0; }
.player-grid article.featured { border-top:3px solid var(--red); }
.player-grid small { color:#7d8489; font-size:.67rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.player-grid strong { margin-top:12px; color:#fff; font-size:clamp(1.3rem,3vw,2.1rem); line-height:1.15; overflow-wrap:anywhere; }

.legal { width:min(780px,calc(100% - 40px)); min-height:70vh; margin:auto; padding:105px 0; }
.legal h1 { font-size:clamp(3rem,7vw,5.6rem); }
.legal>p,.legal li { color:var(--muted); line-height:1.7; }
.legal li { margin:12px 0; }
.legal a { display:inline-block; border-bottom:1px solid var(--red); color:#fff; }

footer { border-top:1px solid var(--line); padding:34px 0; background:#050607; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.footer-brand { display:flex; align-items:center; gap:12px; font-size:.82rem; letter-spacing:.08em; }
.footer-brand img { width:38px; height:38px; border-radius:7px; }
.footer-inner p { color:#686f74; font-size:.72rem; margin:8px 0 0 50px; }
.footer-links { display:flex; align-items:center; gap:22px; color:#aeb3b0; font-size:.69rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.footer-links a:hover { color:#fff; }

@media (max-width:900px) {
  .main-nav { gap:18px; }
  .summary-grid { grid-template-columns:repeat(2,1fr); }
  .podium-categories { grid-template-columns:1fr 1fr; }
  .cash-coming-soon { grid-column:1/-1; min-height:220px; }
  .status-card:nth-child(2) { border-right:0; }
  .status-card:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .section-head { align-items:stretch; flex-direction:column; }
  .search { width:100%; }
  .player-grid { grid-template-columns:repeat(2,1fr); }
  .player-grid article:nth-child(2n) { border-right:0; }
  .player-grid article:nth-child(4n) { border-right:0; }
  .player-grid article:nth-last-child(-n+3) { border-bottom:1px solid var(--line); }
  .player-grid article:last-child { border-bottom:0; }
  .table-wrap { border:0; background:transparent; overflow:visible; box-shadow:none; }
  table,thead,tbody,tr,th,td { display:block; min-width:0; }
  thead { position:absolute; left:-9999px; }
  tbody { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 10px; padding:19px; border:1px solid var(--line); background:linear-gradient(145deg,#15191c,#0d1012); }
  tbody tr:hover { background:linear-gradient(145deg,#191d20,#101315); }
  td { border:0; padding:0; min-width:0; }
  td:before { content:attr(data-label); display:block; margin-bottom:3px; color:#737a7e; font-size:.59rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
  td[data-label="Joueur"],td[data-label="Dernière apparition"] { grid-column:1/-1; }
  td[data-label="Rang"] { position:absolute; right:15px; top:15px; }
  td[data-label="Rang"]:before { display:none; }
  tbody tr { position:relative; padding-top:50px; }
  .podium td:first-child { box-shadow:none; }
  .podium { border-color:rgba(227,39,39,.5); box-shadow:inset 3px 0 var(--red); }
  .empty { grid-column:1/-1; padding:40px; }
}

@media (max-width:620px) {
  .shell { width:min(100% - 24px,1160px); }
  .header-inner { min-height:112px; flex-wrap:wrap; gap:8px; padding:10px 0; }
  .brand { font-size:.72rem; letter-spacing:.13em; }
  .brand img { width:40px; height:40px; border-radius:7px; }
  .main-nav { width:100%; justify-content:space-between; gap:8px; padding-top:7px; border-top:1px solid var(--line); font-size:.61rem; }
  .main-nav .discord-link { min-height:34px; padding:0 9px; }
  .stats-hero { min-height:430px; }
  .player-banner { min-height:390px; }
  .hero-content,.player-heading { padding:62px 0 72px; }
  .hero-shade { background:linear-gradient(90deg,rgba(5,7,8,.96),rgba(5,7,8,.63)),linear-gradient(0deg,#07090b,transparent 45%); }
  .stats-hero h1,.player-heading h1,.legal h1 { font-size:clamp(2.15rem,11.6vw,3.4rem); letter-spacing:-.055em; }
  .tracking-note { line-height:1.5; }
  .status-section { margin-top:-36px; }
  .status-card { min-height:116px; padding:18px 16px; }
  .status-card>strong { font-size:1.45rem; }
  .leaderboard { padding:76px 0 90px; }
  .podiums-section { padding:76px 0 0; }
  .podiums-heading h2 { font-size:2.45rem; }
  .podium-categories { grid-template-columns:1fr; }
  .cash-coming-soon { grid-column:auto; min-height:260px; }
  .section-head { gap:28px; }
  .section-head h2 { font-size:2.45rem; }
  .search>div { width:100%; }
  .search input { width:auto; min-width:0; }
  .search button { flex:0 0 auto; padding:0 13px; }
  .sorts>span { width:100%; margin-bottom:3px; }
  .sorts a { flex:1 1 auto; justify-content:center; padding:0 10px; }
  tbody { grid-template-columns:1fr; }
  .pagination { flex-wrap:wrap; }
  .player-title-row { align-items:flex-start; flex-direction:column; }
  .rank-badge { min-width:92px; min-height:78px; }
  .player-grid { grid-template-columns:1fr 1fr; }
  .player-grid article { min-height:125px; padding:18px; }
  .player-grid article:nth-child(2n) { border-right:0; }
  .footer-inner { align-items:flex-start; flex-direction:column; }
  .footer-inner p { margin-left:0; line-height:1.6; }
  .footer-links { flex-wrap:wrap; gap:15px; }
}

@media (max-width:380px) {
  .brand span { font-size:.67rem; }
  .main-nav { font-size:.56rem; }
  .main-nav .discord-link { padding:0 7px; }
  .summary-grid { grid-template-columns:1fr; }
  .status-card { border-right:0; border-bottom:1px solid var(--line); }
  .status-card:last-child { border-bottom:0; }
  .player-grid { grid-template-columns:1fr; }
  .player-grid article { border-right:0; }
  .search>div { flex-direction:column; gap:8px; }
  .search input { border-right:1px solid var(--line); }
  .search button { width:100%; }
}
