:root{
  --bg:#FAF9F5; --surface:#F0EEE6; --card:#FFFFFF;
  --border:#E8E6DC; --border-2:#DCD9CE;
  --text:#141413; --text-2:#5E5D59; --text-3:#87867F; --muted:var(--text-3);
  --accent:#D97757; --accent-strong:#C6613F; --accent-soft:#F5E3DA;
  --up:#5F7A5B; --down:#C6613F; --grid:#E8E6DC;
  --on-accent:#fff; --on-fill:#fff;
  --chart-1:#D97757; --chart-2:#6A8CAF; --chart-3:#4A5A6A; --chart-4:#8FA38A;
  --chart-5:#D4C4A8; --chart-6:#C9928A; --chart-7:#B5A36A; --chart-8:#A8A29A;
  --chart-other:#E3DACC;
  --lab-anthropic:#D97757; --lab-google:#6A8CAF; --lab-openai:#4A5A6A; --lab-deepseek:#8FA38A;
  --lab-alibaba:#D4C4A8; --lab-xai:#C9928A; --lab-moonshot:#B5A36A; --lab-zai:#A8A29A;
  --lab-meta:#8C7BA0; --lab-baidu:#9C6B5A; --lab-bytedance:#6E8F8A; --lab-mistral:#C8A15A;
  --lab-tencent:#7A9A9E; --lab-xiaomi:#9E9480; --lab-meituan:#C2B280; --lab-amazon:#9A8C6E;
  --lab-minimax:#A07F8F; --lab-cohere:#7E8B74; --lab-microsoft:#6E7F8A; --lab-nvidia:#7A8F7A;
  --lab-stepfun:#A68B6A; --lab-unknown:#A8A29A;
  --font-serif:"Source Serif 4","Noto Serif SC",Georgia,serif;
  --font-sans:Inter,"Noto Sans SC",system-ui,sans-serif;
  --shadow-seg:0 1px 2px rgba(0,0,0,.06);
  --header-h:60px;
}
[data-theme=dark]{
  --bg:#1F1E1D; --surface:#262624; --card:#2B2A27;
  --border:#3A3935; --border-2:#4A4843;
  --text:#F0EEE6; --text-2:#B7B5AC; --text-3:#8A8880;
  --accent:#D97757; --accent-strong:#E08A6C; --accent-soft:#3A2A23;
  --up:#9DB598; --down:#E08A6C; --grid:#34332F;
  --on-accent:#fff; --on-fill:#fff;
  --chart-1:#D97757; --chart-2:#7E9DBD; --chart-3:#5E7186; --chart-4:#9DB598;
  --chart-5:#CDBB9C; --chart-6:#C9928A; --chart-7:#B5A36A; --chart-8:#8F8A82;
  --chart-other:#4A4640;
  --lab-anthropic:#D97757; --lab-google:#7E9DBD; --lab-openai:#5E7186; --lab-deepseek:#9DB598;
  --lab-alibaba:#CDBB9C; --lab-xai:#C9928A; --lab-moonshot:#B5A36A; --lab-zai:#8F8A82;
  --lab-meta:#A898B8; --lab-baidu:#C08A78; --lab-bytedance:#8FB0AA; --lab-mistral:#D4B56E;
  --lab-tencent:#93B4B8; --lab-xiaomi:#B4AA96; --lab-meituan:#D4C696; --lab-amazon:#B4A684;
  --lab-minimax:#C09AAB; --lab-cohere:#9AAB90; --lab-microsoft:#8A9EAA; --lab-nvidia:#96B096;
  --lab-stepfun:#C4A884; --lab-unknown:#8F8A82;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--text);
  font-family:var(--font-sans);font-size:14px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
button,input,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
.serif{font-family:var(--font-serif)}

.top{
  height:var(--header-h);border-bottom:1px solid var(--border);
  display:flex;align-items:center;padding:0 32px;gap:28px;
  background:var(--bg);position:sticky;top:0;z-index:20;
}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-serif);font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--text);white-space:nowrap}
.logo-mark{width:26px;height:26px;border-radius:7px;background:var(--accent);display:grid;place-items:center;flex:none}
.search{
  flex:0 0 260px;height:34px;border:1px solid var(--border);border-radius:9px;
  background:var(--surface);display:flex;align-items:center;padding:0 12px;gap:8px;
  color:var(--text-3);font-size:13px;cursor:text;
}
.search:focus-within{border-color:var(--border-2)}
.search input{
  flex:1;min-width:0;border:0;background:transparent;outline:none;color:var(--text);font-size:13px;
}
.search input::placeholder{color:var(--text-3)}
.search kbd{margin-left:auto;font:500 11px Inter,sans-serif;border:1px solid var(--border-2);border-radius:4px;padding:1px 5px;color:var(--text-3)}
.nav{margin-left:auto;display:flex;gap:24px;color:var(--text-2);font-size:14px;align-items:center}
.nav a:hover,.nav button.nav-link:hover{color:var(--text)}
.nav a.on,.nav button.on{color:var(--text);font-weight:500}
.icon-btn{
  width:34px;height:34px;border-radius:9px;border:1px solid var(--border-2);
  display:grid;place-items:center;color:var(--text);
}
.icon-btn:hover{background:var(--surface)}
.btn{
  height:34px;padding:0 16px;border-radius:9px;display:inline-flex;align-items:center;gap:8px;
  font-weight:500;font-size:13.5px;border:1px solid transparent;cursor:pointer;white-space:nowrap;
}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover:not(:disabled){background:var(--accent-strong)}
.btn-ghost{border-color:var(--border-2);color:var(--text);background:transparent}
.btn-ghost:hover:not(:disabled){background:var(--surface)}
.menu-btn{display:none}

.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);padding-top:14px;overflow-x:auto}
.tab{
  padding:10px 14px;color:var(--text-2);font-size:14px;display:flex;align-items:center;gap:7px;
  border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;background:none;
}
.tab svg{opacity:.75}
.tab:hover{color:var(--text);border-bottom-color:var(--border-2)}
.tab.on{color:var(--text);border-bottom-color:var(--accent);font-weight:500}
.tab.on:hover{border-bottom-color:var(--accent)}

.layout{display:grid;grid-template-columns:200px 1fr;gap:40px;padding-top:28px}
.side{display:flex;flex-direction:column;gap:2px;position:sticky;top:84px;align-self:start}
.side .grp{font-size:11.5px;color:var(--text-3);letter-spacing:.06em;margin:16px 10px 6px}
.side a,.side button.side-link{
  padding:7px 10px;border-radius:8px;color:var(--text-2);display:flex;align-items:center;gap:10px;
  font-size:13.5px;text-align:left;width:100%;
}
.side a:hover,.side button.side-link:hover{background:var(--surface)}
.side .dot{width:6px;height:6px;border-radius:50%;background:var(--border-2);flex:none}
.side a.on,.side button.side-link.on{background:var(--surface);color:var(--text);font-weight:500}
.side a.on .dot,.side button.side-link.on .dot{background:var(--accent)}
.side .cnt{margin-left:auto;font-size:11.5px;color:var(--text-3);font-variant-numeric:tabular-nums}

h1{font-family:var(--font-serif);font-weight:500;font-size:40px;letter-spacing:-.02em;line-height:1.15}
h2{font-family:var(--font-serif);font-weight:500;font-size:24px;letter-spacing:-.01em}
h3{font-family:var(--font-serif);font-weight:500;font-size:19px}
.lede{color:var(--text-2);max-width:620px;margin-top:10px;font-size:15px}
.lede a{color:var(--text);border-bottom:1px solid var(--accent)}
.meta{display:flex;gap:10px;align-items:center;margin-top:14px;color:var(--text-3);font-size:12.5px;flex-wrap:wrap}
.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.hero-actions{display:flex;gap:10px;flex:none}
section{margin-top:44px}
.sec-h{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px;gap:16px}
.sub{color:var(--text-2);font-size:13px;margin-top:3px}
.seg{display:flex;border:1px solid var(--border);border-radius:8px;padding:2px;background:var(--surface);font-size:12.5px;flex:none}
.seg button{padding:4px 10px;border-radius:6px;color:var(--text-2)}
.seg button.on{background:var(--card);color:var(--text);box-shadow:var(--shadow-seg);font-weight:500}

.chart-card{border:1px solid var(--border);border-radius:14px;padding:20px 20px 12px;background:var(--card);position:relative}
.chart-card svg{display:block;width:100%;height:300px}
.legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:12.5px;color:var(--text-2);padding:0 4px}
.legend button{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:12.5px}
.legend button.off{opacity:.4}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px}
.tip{
  position:absolute;z-index:3;pointer-events:none;background:var(--card);border:1px solid var(--border);
  border-radius:8px;padding:8px 10px;font-size:12.5px;min-width:160px;
}
.tip b{font-family:var(--font-serif);font-weight:500;font-size:14px}
.tip .row{display:flex;justify-content:space-between;gap:16px;margin-top:4px}
.tip i{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:6px}

.lb{display:grid;grid-template-columns:1fr 1fr;column-gap:48px;border-top:1px solid var(--border)}
.row{
  display:grid;grid-template-columns:28px 34px 1fr auto;align-items:center;gap:12px;
  padding:14px 4px;border-bottom:1px solid var(--border);color:inherit;width:100%;text-align:left;background:transparent;
}
a.row:hover,button.row:hover{background:var(--surface)}
a.row:hover .mname,button.row:hover .mname{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.rank{font-family:var(--font-serif);font-size:18px;color:var(--text-3)}
.row.top3 .rank{color:var(--accent-strong)}
.av{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font:600 13px Inter,sans-serif;color:var(--on-fill)}
.mname{font-weight:500;font-size:14.5px}
.mby{font-size:12.5px;color:var(--text-3)}
.score{text-align:right;font-variant-numeric:tabular-nums}
.score b{font-weight:600;font-size:15px}
.score small{display:block;font-size:12px;margin-top:1px}
.up{color:var(--up)} .down{color:var(--down)} .flat{color:var(--text-3)}
.bar-mini{height:3px;border-radius:2px;background:var(--surface);margin-top:6px;overflow:hidden}
.bar-mini span{display:block;height:100%;background:var(--accent);opacity:.55}

.duo{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}
.card{border:1px solid var(--border);border-radius:14px;background:var(--card);padding:22px}
.race-card{background:var(--surface)}
.race-stage{margin-top:16px;border-radius:10px;background:var(--bg);border:1px solid var(--border);padding:18px 18px 14px}
.race-week{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:11.5px;color:var(--text-3)}
.race-week b{font-family:var(--font-serif);font-size:22px;font-weight:500;color:var(--text)}
.rb{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px;margin:7px 0;font-size:12.5px}
.rb .lbl{text-align:right;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb .trk{height:20px;position:relative}
.rb .fill{
  height:100%;border-radius:4px;display:flex;align-items:center;justify-content:flex-end;
  padding-right:8px;color:var(--on-fill);font:600 11px Inter,sans-serif;font-variant-numeric:tabular-nums;
  min-width:0;overflow:hidden;
}
.scrub{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:12px;color:var(--text-3)}
.play{width:30px;height:30px;border-radius:50%;background:var(--text);display:grid;place-items:center;flex:none}
.track{flex:1;height:4px;border-radius:2px;background:var(--border-2);position:relative}
.track .fillbar{position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:2px}
.track input[type=range]{position:absolute;inset:-8px 0;width:100%;opacity:0;cursor:pointer}
.track em{
  position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;
  background:var(--card);border:2px solid var(--accent);pointer-events:none;
}
.opts{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.chip{
  font-size:12px;padding:4px 10px;border-radius:99px;border:1px solid var(--border-2);
  color:var(--text-2);background:var(--bg);cursor:pointer;
}
.chip.on{border-color:var(--accent);color:var(--accent-strong)}
.race-foot{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:12px}
.race-foot .note{font-size:12px;color:var(--text-3)}

.src{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.src-row{display:grid;grid-template-columns:1fr 120px 40px;gap:14px;align-items:center;font-size:13.5px}
.src-row.off{opacity:.55}
.src-row .n small{display:block;color:var(--text-3);font-size:12px}
.slider{height:4px;border-radius:2px;background:var(--border-2);position:relative}
.slider span{position:absolute;left:0;top:0;bottom:0;background:var(--text);border-radius:2px}
.slider em{
  position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;
  background:var(--card);border:2px solid var(--text);
}
.pct{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-2)}
.toggle{display:inline-block;width:26px;height:15px;border-radius:99px;background:var(--border-2);vertical-align:-3px;margin-left:6px;position:relative}
.toggle.on{background:var(--accent)}
.toggle:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:var(--on-accent)}
.toggle.on:after{left:13px}
.card-foot{
  margin-top:22px;padding-top:16px;border-top:1px solid var(--border);
  font-size:12.5px;color:var(--text-3);display:flex;justify-content:space-between;gap:12px;
}
.card-foot a{color:var(--accent-strong)}

.page-foot{
  margin-top:64px;border-top:1px solid var(--border);padding:24px 0 40px;
  color:var(--text-3);font-size:12.5px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.page-foot a:hover{color:var(--text)}

.prose{max-width:720px}
.prose p,.prose li{color:var(--text-2);margin-top:10px}
.prose h2{margin-top:28px}
.prose code{font-size:12.5px;background:var(--surface);padding:1px 5px;border-radius:4px}
.alias-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:12.5px}
.alias-table th,.alias-table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border);font-weight:400}
.alias-table th{color:var(--text-3);font-size:11.5px;letter-spacing:.04em}
.model-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
.big-score{font-variant-numeric:tabular-nums;text-align:right}
.big-score b{font-size:40px;font-weight:600;letter-spacing:-.02em}
.aka{margin-top:14px;color:var(--text-3);font-size:12.5px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--text-2)}
.field input,.field select{
  height:34px;border:1px solid var(--border);border-radius:9px;background:var(--card);padding:0 10px;min-width:0;
}
.controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.studio{margin-top:18px}
.studio canvas{
  width:100%;height:auto;border-radius:10px;border:1px solid var(--border);background:var(--bg);display:block;
}
.race-when{margin-top:8px;font-family:var(--font-serif);font-size:22px;font-weight:500;letter-spacing:-.01em}
.race-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.studio .note{margin-top:12px;font-size:12px;color:var(--text-3)}
.progress{height:4px;border-radius:2px;background:var(--border-2);margin-top:12px;overflow:hidden}
.progress span{display:block;height:100%;background:var(--accent);width:0}
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--text);color:var(--bg);border-radius:9px;padding:8px 14px;font-size:13px;z-index:40;
}
.modal-back{
  position:fixed;inset:0;background:rgba(20,20,19,.28);z-index:30;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;
}
.modal{
  width:min(560px,calc(100% - 32px));background:var(--card);border:1px solid var(--border);border-radius:14px;padding:8px;
}
.modal input[type=search]{
  width:100%;height:40px;border:0;background:transparent;padding:0 10px;outline:none;font-size:15px;
}
.hits{max-height:360px;overflow:auto}
.hit{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:8px;width:100%;text-align:left}
.hit:hover,.hit.on{background:var(--surface)}
.hit small{color:var(--text-3)}
.login-copy{padding:8px 10px 12px;color:var(--text-2);font-size:14px}
.mobile-cta{display:none}
.empty{color:var(--text-3);padding:28px 0}
svg text{font-family:var(--font-sans)}
#pal-light,#pal-dark{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
#pal-light{
  --bg:#FAF9F5; --surface:#F0EEE6; --card:#FFFFFF; --border:#E8E6DC; --border-2:#DCD9CE;
  --text:#141413; --text-2:#5E5D59; --text-3:#87867F; --grid:#E8E6DC;
  --accent:#D97757; --accent-strong:#C6613F;
  --lab-anthropic:#D97757; --lab-google:#6A8CAF; --lab-openai:#4A5A6A; --lab-deepseek:#8FA38A;
  --lab-alibaba:#D4C4A8; --lab-xai:#C9928A; --lab-moonshot:#B5A36A; --lab-zai:#A8A29A;
  --lab-meta:#8C7BA0; --lab-baidu:#9C6B5A; --lab-bytedance:#6E8F8A; --lab-mistral:#C8A15A;
  --lab-tencent:#7A9A9E; --lab-xiaomi:#9E9480; --lab-meituan:#C2B280; --lab-amazon:#9A8C6E;
  --lab-minimax:#A07F8F; --lab-cohere:#7E8B74; --lab-microsoft:#6E7F8A; --lab-nvidia:#7A8F7A;
  --lab-stepfun:#A68B6A; --lab-unknown:#A8A29A;
}
#pal-dark{
  --bg:#1F1E1D; --surface:#262624; --card:#2B2A27; --border:#3A3935; --border-2:#4A4843;
  --text:#F0EEE6; --text-2:#B7B5AC; --text-3:#8A8880; --grid:#34332F;
  --accent:#D97757; --accent-strong:#E08A6C;
  --lab-anthropic:#D97757; --lab-google:#7E9DBD; --lab-openai:#5E7186; --lab-deepseek:#9DB598;
  --lab-alibaba:#CDBB9C; --lab-xai:#C9928A; --lab-moonshot:#B5A36A; --lab-zai:#8F8A82;
  --lab-meta:#A898B8; --lab-baidu:#C08A78; --lab-bytedance:#8FB0AA; --lab-mistral:#D4B56E;
  --lab-tencent:#93B4B8; --lab-xiaomi:#B4AA96; --lab-meituan:#D4C696; --lab-amazon:#B4A684;
  --lab-minimax:#C09AAB; --lab-cohere:#9AAB90; --lab-microsoft:#8A9EAA; --lab-nvidia:#96B096;
  --lab-stepfun:#C4A884; --lab-unknown:#8F8A82;
}

@media (max-width:1279px){
  .wrap{padding:0 24px}
}
@media (max-width:1023px){
  .layout{grid-template-columns:1fr;gap:16px}
  .side{position:static;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px}
  .side .grp{display:none}
  .side a,.side button.side-link{width:auto;white-space:nowrap;background:transparent;border:1px solid transparent}
  .side a.on,.side button.side-link.on{border-color:var(--border)}
  .duo{grid-template-columns:1fr}
  .nav a.desk,.nav .desk{display:none}
  .menu-btn{display:grid}
  .nav.open{position:absolute;top:60px;right:16px;flex-direction:column;align-items:flex-start;gap:4px;
    background:var(--card);border:1px solid var(--border);border-radius:10px;padding:8px;min-width:160px}
  .nav.open a,.nav.open .desk{display:block}
  .controls{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .top{padding:0 12px;gap:8px}
  .logo{font-size:16px;gap:8px}
  .nav{gap:12px}
  #login-btn{display:none}
  .search{flex:none;width:34px;padding:0;justify-content:center;border-radius:9px}
  .search input,.search kbd,.search span.ph{display:none}
  h1{font-size:30px}
  .lb{grid-template-columns:1fr}
  .row{grid-column:1 !important;grid-row:auto !important}
  .chart-card svg{height:220px}
  .hero{flex-direction:column;align-items:flex-start}
  .hero-actions .btn-primary{display:none}
  .mobile-cta{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:15;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));
    background:var(--bg);border-top:1px solid var(--border);
  }
  .mobile-cta .btn{flex:1;justify-content:center}
  .page-foot{margin-bottom:64px}
  .sec-h{flex-direction:column;align-items:flex-start}
  .controls{grid-template-columns:1fr}
  .play{width:44px;height:44px}
  .track{height:6px}
  .race-actions .btn{flex:1 1 calc(50% - 8px);justify-content:center}
  .studio .note{margin-bottom:8px}
}
