/* Leaderboard, per-model and charts pages. Paddock leaderboard structure (pine hero, deep tile strip, ranked table, card grid, method cards) in Bitdepth cream and pine. */
:root{
  --bg:#F4EEE2; --panel:#FBF8F1; --ink:#14291F; --pine:#1E3B2F; --pine-deep:#14291F; --pine-ink:#F4EEE2; --muted:#4E5B53; --line:#D9CFB8; --line-dark:#3C5A4C; --gold:#B8902A; --burgundy:#7A2A35; --soft:#EDE5D3; --sage:#BFCBC2;
  --display:Georgia,"Times New Roman",serif; --body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;margin:0;overflow-x:hidden}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:inherit}
p{margin:0 0 12px;max-width:68ch}
.muted{color:var(--muted)}
.pvbar{background:var(--burgundy);color:#F4EEE2;font-size:13px;font-weight:600;text-align:center;padding:9px 16px}
header.top{border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5}
header.top .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;padding-block:14px}
.brand{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.wordmark{font-family:var(--display);font-size:26px;letter-spacing:-.4px;text-decoration:none}
.line-tag{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
nav{display:flex;align-items:center;gap:18px;font-size:14px;flex-wrap:wrap}
nav a{text-decoration:none;border-bottom:1px solid transparent}
nav a[aria-current]{border-bottom-color:var(--gold)}
nav a:hover,nav a:focus-visible{border-bottom-color:var(--ink);outline:none}

.hero{background:var(--pine);color:var(--pine-ink);padding:44px 0 36px}
.hero-wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.hero-wrap>div:first-child{flex:1 1 520px;min-width:0}
.kick{font-size:12px;letter-spacing:2.6px;font-weight:700;text-transform:uppercase;color:var(--gold);margin-bottom:14px;overflow-wrap:anywhere}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,5.4vw,58px);line-height:1.04;letter-spacing:-1px;margin:0 0 14px;text-wrap:balance}
.hero .sub{font-size:16px;color:var(--sage);margin:0}
.hero .sub.big{font-family:var(--display);font-size:clamp(19px,2.3vw,24px);line-height:1.35;color:var(--pine-ink);max-width:46ch;margin-bottom:18px}
.asof{font-family:var(--mono);font-size:13px;color:var(--gold);text-align:right;line-height:1.6}
.asof b{color:var(--pine-ink);font-weight:600}
@media (max-width:719px){.asof{text-align:left}}
.thought{flex:0 1 380px;background:var(--panel);color:var(--ink);border-top:3px solid var(--gold);padding:18px 20px;min-width:0}
.thought .tk{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--burgundy);font-weight:700;margin-bottom:8px}
.thought p{font-family:var(--display);font-size:20px;line-height:1.3;color:var(--pine)}

.tiles{background:var(--pine-deep);border-top:1px solid rgba(184,144,42,.25)}
.tiles-wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.tile{padding:18px 20px 16px;border-right:1px solid rgba(184,144,42,.18)}
.tile:first-child{padding-left:0}
.tile:last-child{border-right:0}
.tile .v{font-family:var(--mono);font-size:26px;font-weight:600;color:var(--pine-ink);line-height:1.1}
.tile .l{font-size:13px;color:var(--sage);margin-top:6px}
@media (max-width:719px){.tiles-wrap{grid-template-columns:1fr}.tile,.tile:first-child{padding:12px 0;border-right:0;border-bottom:1px solid rgba(184,144,42,.18)}.tile:last-child{border-bottom:0}}

.body{padding-top:8px;padding-bottom:64px}
.sec{margin-top:52px}
.sec>.k,.sec .k{font-size:12px;font-weight:700;color:var(--burgundy);text-transform:uppercase;display:flex;align-items:center;gap:10px;letter-spacing:2.6px;margin-bottom:10px}
.sec>.k:before{content:"";display:inline-block;width:16px;height:2px;background:var(--burgundy);opacity:.75}
h2{font-family:var(--display);font-size:clamp(24px,3vw,34px);font-weight:400;margin:0 0 16px;color:var(--pine);letter-spacing:-.3px;text-wrap:balance}
h3{font-family:var(--display);font-weight:400;font-size:19px;margin:0 0 6px;color:var(--pine)}
.hl{font-family:var(--display);font-size:18px;line-height:1.4;color:var(--pine);margin:0}

.mcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}
.mc{display:flex;flex-direction:column;gap:10px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--pine);padding:18px 18px 16px;text-decoration:none;min-width:0}
.mc:hover,.mc:focus-visible{border-color:var(--ink);outline:none}
.mh{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.mh span{font-size:12px;color:var(--muted);white-space:nowrap}
.mc .hl{font-size:15px}
.mc ol{list-style:none;margin:4px 0 0;padding:0;border-top:1px solid var(--line)}
.mc li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;font-size:13px;padding:7px 0;border-bottom:1px solid var(--line)}
.mc li span{color:var(--muted)}
.mc li b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc li em{font-style:normal;font-family:var(--mono);color:var(--pine)}
.mc li.fl{display:block;color:var(--muted)}
.mc .more{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gold);margin-top:auto}

.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.tabs button{font:inherit;font-size:13px;padding:7px 13px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:999px}
.tabs button[aria-selected="true"]{background:var(--pine);color:var(--pine-ink);border-color:var(--pine)}
.ph{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 20px;flex-wrap:wrap;margin-bottom:12px}
.ph .hl{flex:1 1 420px}

.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line-dark);background:var(--pine-deep)}
table.board{border-collapse:collapse;width:100%;min-width:920px;font-size:13px;color:var(--pine-ink)}
.board th{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);text-align:left;padding:10px 10px;border-bottom:1px solid var(--line-dark);font-weight:600;white-space:nowrap}
.board td{padding:9px 10px;border-bottom:1px solid rgba(60,90,76,.6);white-space:nowrap}
.board .r{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
.board .b{color:var(--gold);font-weight:600}
.board .n{width:34px;color:var(--sage);font-family:var(--mono)}
.board .ep{font-weight:600}
.board tr.div td{background:#1A3328;color:var(--sage);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;padding:8px 10px}
.board tr.div.out td{color:#E3B7BD}
.board tr.s-outside td{background:rgba(122,42,53,.18)}
.st{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line-dark)}
.st-within{color:#CDE6D8;border-color:#4C7A64}
.st-outside{color:#F2C9CE;border-color:#A2525D}
.st-no_data,.st-stale{color:#E8D29C;border-color:#8C7432}
.chg{font-size:10px;color:#E8D29C;border:1px solid #8C7432;padding:0 5px;margin-left:4px;border-radius:3px}

.share{display:flex;flex-wrap:wrap;gap:6px}
.share button{font:inherit;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:6px 10px;background:var(--panel);color:var(--burgundy);border:1px solid #C9A9AD;border-radius:3px;cursor:pointer}
.share button:hover,.share button:focus-visible{border-color:var(--burgundy);outline:none}
.share.dark button{background:transparent;color:var(--pine-ink);border-color:var(--line-dark)}
.share.dark button:hover,.share.dark button:focus-visible{border-color:var(--gold)}
.share button.ok{color:var(--pine);border-color:var(--pine)}
.share.dark button.ok{color:var(--gold);border-color:var(--gold)}

.cite{font-family:var(--mono);font-size:12px;color:var(--gold);margin:10px 0 0}
.src{font-size:13px;color:var(--muted);margin-top:6px}
.card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--pine);padding:18px 20px;min-width:0}
.chart .ch{display:flex;justify-content:space-between;align-items:flex-start;gap:10px 16px;flex-wrap:wrap;margin-bottom:8px}
.chart .ch p,.chart .ch h3{flex:1 1 280px;margin:0}
.legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;color:var(--muted);margin:6px 0 4px}
.lg{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:-8px}
.lg.pine{background:var(--pine)}.lg.gold{background:var(--gold)}.lg.burg{background:var(--burgundy)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:16px}
.drift{margin:8px 0 0;padding-left:18px;font-size:14px}

.method{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
.m{background:var(--panel);border:1px solid var(--line);padding:18px 20px;min-width:0}
.m p{font-size:14px;color:#3d3d3a;margin:0}
.m p+img,.m p+code{margin-top:12px}
.m a{color:var(--burgundy);font-weight:600}
.m code{display:block;font-family:var(--mono);font-size:12px;background:var(--soft);padding:10px 12px;color:var(--pine);overflow-wrap:anywhere;user-select:all}
.m.dark{background:var(--pine);border-color:var(--pine)}
.m.dark h3{color:var(--pine-ink)}.m.dark p{color:var(--sage)}
.m.dark code{background:var(--pine-deep);color:var(--gold)}
.two-up{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:14px}
.m img{max-width:100%;height:auto;display:block}

footer{border-top:1px solid var(--line)}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px;padding-block:34px;font-size:13px;color:var(--muted)}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr 1fr}}
footer .fm{font-family:var(--display);font-size:18px;color:var(--ink);display:block;margin-bottom:6px}
footer h4{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 10px;color:var(--ink)}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
footer a{text-decoration:none}
.finelines{border-top:1px solid var(--line)}
.finelines .wrap{padding-block:16px;font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 24px}
