liukqchoco04 commited on
Commit
23e4fa7
·
verified ·
1 Parent(s): 66d9b20

Upload 5 files

Browse files
Files changed (4) hide show
  1. app.js +11 -21
  2. data.json +1 -3
  3. index.html +9 -37
  4. styles.css +78 -220
app.js CHANGED
@@ -45,6 +45,12 @@ function formatScore(value) {
45
  return Number(value).toFixed(state.data.meta.publishedPrecision);
46
  }
47
 
 
 
 
 
 
 
48
  function currentCategory() {
49
  return state.data.categories.find((category) => category.id === state.category);
50
  }
@@ -79,7 +85,6 @@ function renderMeta() {
79
  document.title = meta.title;
80
  document.querySelector("#hero-tagline").textContent = meta.tagline;
81
  document.querySelector("#hero-description").textContent = meta.description;
82
- document.querySelector("#release-label").textContent = meta.release;
83
  document.querySelector("#stat-systems").textContent = meta.systemCount;
84
  document.querySelector("#stat-metrics").textContent = meta.metricCount;
85
  document.querySelector("#stat-scenarios").textContent = meta.scenarioCount;
@@ -89,21 +94,6 @@ function renderMeta() {
89
  applyLink("code-link", meta.links.code, "Code repository", "Coming soon");
90
  applyLink("paper-link", meta.links.paper, "Read paper", "Paper coming soon");
91
  applyLink("dataset-link", meta.links.dataset, "Open dataset", "Dataset coming soon");
92
-
93
- const submitLink = document.querySelector("#submission-link");
94
- if (meta.links.submission) {
95
- submitLink.href = meta.links.submission;
96
- submitLink.target = "_blank";
97
- submitLink.rel = "noopener noreferrer";
98
- submitLink.classList.remove("is-disabled");
99
- submitLink.removeAttribute("aria-disabled");
100
- submitLink.querySelector("span").textContent = "Open submission form";
101
- } else {
102
- submitLink.removeAttribute("href");
103
- submitLink.classList.add("is-disabled");
104
- submitLink.setAttribute("aria-disabled", "true");
105
- submitLink.querySelector("span").textContent = "Submission form coming soon";
106
- }
107
  }
108
 
109
  function renderTrackTabs() {
@@ -297,8 +287,8 @@ function renderTable() {
297
  <td class="meta-cell" data-label="Paradigm">
298
  <span class="tag tag-${model.paradigm === "Native joint" ? "native" : "cascaded"}">${escapeHtml(model.paradigm)}</span>
299
  </td>
300
- <td class="meta-cell" data-label="Access">
301
- <span class="access-dot access-${model.access.toLowerCase()}"></span>${escapeHtml(model.access)}
302
  </td>
303
  ${cells}
304
  </tr>
@@ -311,7 +301,7 @@ function renderTable() {
311
  <th scope="col" class="rank-heading">#</th>
312
  <th scope="col" class="model-heading">System</th>
313
  <th scope="col">Paradigm</th>
314
- <th scope="col">Access</th>
315
  ${metricHeaders}
316
  </tr>
317
  </thead>
@@ -396,13 +386,13 @@ function csvCell(value) {
396
  function downloadCurrentView() {
397
  const category = currentCategory();
398
  const models = filteredModels();
399
- const headers = ["System", "Paradigm", "Access", ...category.metrics.map((key) => state.data.metrics[key].abbr)];
400
  const lines = [
401
  headers.map(csvCell).join(","),
402
  ...models.map((model) => [
403
  model.name,
404
  model.paradigm,
405
- model.access,
406
  ...category.metrics.map((key) => model.scores[key])
407
  ].map(csvCell).join(","))
408
  ];
 
45
  return Number(value).toFixed(state.data.meta.publishedPrecision);
46
  }
47
 
48
+ function sourceLabel(access) {
49
+ if (access === "Open") return "Open-source";
50
+ if (access === "Web") return "Closed-source";
51
+ return access;
52
+ }
53
+
54
  function currentCategory() {
55
  return state.data.categories.find((category) => category.id === state.category);
56
  }
 
85
  document.title = meta.title;
86
  document.querySelector("#hero-tagline").textContent = meta.tagline;
87
  document.querySelector("#hero-description").textContent = meta.description;
 
88
  document.querySelector("#stat-systems").textContent = meta.systemCount;
89
  document.querySelector("#stat-metrics").textContent = meta.metricCount;
90
  document.querySelector("#stat-scenarios").textContent = meta.scenarioCount;
 
94
  applyLink("code-link", meta.links.code, "Code repository", "Coming soon");
95
  applyLink("paper-link", meta.links.paper, "Read paper", "Paper coming soon");
96
  applyLink("dataset-link", meta.links.dataset, "Open dataset", "Dataset coming soon");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  }
98
 
99
  function renderTrackTabs() {
 
287
  <td class="meta-cell" data-label="Paradigm">
288
  <span class="tag tag-${model.paradigm === "Native joint" ? "native" : "cascaded"}">${escapeHtml(model.paradigm)}</span>
289
  </td>
290
+ <td class="meta-cell" data-label="Source">
291
+ <span class="access-dot access-${model.access.toLowerCase()}"></span>${escapeHtml(sourceLabel(model.access))}
292
  </td>
293
  ${cells}
294
  </tr>
 
301
  <th scope="col" class="rank-heading">#</th>
302
  <th scope="col" class="model-heading">System</th>
303
  <th scope="col">Paradigm</th>
304
+ <th scope="col">Source</th>
305
  ${metricHeaders}
306
  </tr>
307
  </thead>
 
386
  function downloadCurrentView() {
387
  const category = currentCategory();
388
  const models = filteredModels();
389
+ const headers = ["System", "Paradigm", "Source", ...category.metrics.map((key) => state.data.metrics[key].abbr)];
390
  const lines = [
391
  headers.map(csvCell).join(","),
392
  ...models.map((model) => [
393
  model.name,
394
  model.paradigm,
395
+ sourceLabel(model.access),
396
  ...category.metrics.map((key) => model.scores[key])
397
  ].map(csvCell).join(","))
398
  ];
data.json CHANGED
@@ -3,7 +3,6 @@
3
  "title": "StreamAV-Bench Leaderboard",
4
  "tagline": "Streaming systems, evaluated while they run.",
5
  "description": "Official metric-wise results for streaming audio-video generation across progressive and interactive evaluation tracks.",
6
- "release": "Initial benchmark release",
7
  "systemCount": 13,
8
  "metricCount": 32,
9
  "scenarioCount": 320,
@@ -13,8 +12,7 @@
13
  "project": "https://liukqchoco.github.io/StreamAVBench/",
14
  "code": "https://github.com/liukqchoco/StreamAVBench-Code",
15
  "paper": "",
16
- "dataset": "",
17
- "submission": ""
18
  }
19
  },
20
  "tracks": [
 
3
  "title": "StreamAV-Bench Leaderboard",
4
  "tagline": "Streaming systems, evaluated while they run.",
5
  "description": "Official metric-wise results for streaming audio-video generation across progressive and interactive evaluation tracks.",
 
6
  "systemCount": 13,
7
  "metricCount": 32,
8
  "scenarioCount": 320,
 
12
  "project": "https://liukqchoco.github.io/StreamAVBench/",
13
  "code": "https://github.com/liukqchoco/StreamAVBench-Code",
14
  "paper": "",
15
+ "dataset": ""
 
16
  }
17
  },
18
  "tracks": [
index.html CHANGED
@@ -36,7 +36,6 @@
36
  <nav aria-label="Primary navigation">
37
  <a href="#leaderboard">Results</a>
38
  <a href="#metrics">Metrics</a>
39
- <a href="#submission">Submit</a>
40
  <a class="nav-project" href="https://liukqchoco.github.io/StreamAVBench/" target="_blank" rel="noopener noreferrer">
41
  Project <span aria-hidden="true">↗</span>
42
  </a>
@@ -51,7 +50,6 @@
51
  <div class="hero-orb hero-orb-two" aria-hidden="true"></div>
52
  <div class="shell hero-inner">
53
  <div class="hero-copy">
54
- <p class="eyebrow"><span></span><b id="release-label">Initial benchmark release</b></p>
55
  <h1>StreamAV-Bench <em>Leaderboard</em></h1>
56
  <p class="hero-tagline" id="hero-tagline">Streaming systems, evaluated while they run.</p>
57
  <p class="hero-description" id="hero-description">
@@ -61,9 +59,6 @@
61
  <a class="button button-primary" href="#leaderboard">
62
  Explore results <span aria-hidden="true">↓</span>
63
  </a>
64
- <a class="button button-secondary" href="#submission">
65
- Submit a system <span aria-hidden="true">→</span>
66
- </a>
67
  </div>
68
  </div>
69
 
@@ -121,15 +116,10 @@
121
 
122
  <section class="section leaderboard-section" id="leaderboard">
123
  <div class="shell">
124
- <div class="section-heading split-heading">
125
- <div>
126
- <p class="kicker">Official results</p>
127
- <h2>Compare one capability at a time.</h2>
128
- </div>
129
- <div class="heading-note">
130
- <span class="note-icon">≠</span>
131
- <p><strong>No aggregate score.</strong> StreamAV-Bench reports complementary capabilities without introducing an unsupported weighted composite.</p>
132
- </div>
133
  </div>
134
 
135
  <div class="explorer">
@@ -157,7 +147,7 @@
157
  <label class="search-control">
158
  <span class="sr-only">Search systems</span>
159
  <svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="6.5"></circle><path d="m16 16 4 4"></path></svg>
160
- <input id="model-search" type="search" placeholder="Search systems" autocomplete="off">
161
  </label>
162
  <label class="metric-select-control">
163
  <span>Rank by</span>
@@ -172,11 +162,11 @@
172
  </select>
173
  </label>
174
  <label>
175
- <span>Access</span>
176
  <select id="access-filter">
177
- <option value="all">All access</option>
178
- <option value="Open">Open</option>
179
- <option value="Web">Web</option>
180
  </select>
181
  </label>
182
  <button class="tool-button" id="reset-filters" type="button" title="Reset filters">
@@ -258,24 +248,6 @@
258
  </div>
259
  </section>
260
 
261
- <section class="section submission-section" id="submission">
262
- <div class="shell submission-grid">
263
- <div>
264
- <p class="kicker">Join the leaderboard</p>
265
- <h2>Submit results for manual verification.</h2>
266
- <p class="submission-copy">The initial leaderboard uses a review-first process so that model configuration, benchmark coverage, and reported values can be checked before publication.</p>
267
- <a class="button button-primary submission-button is-disabled" id="submission-link" aria-disabled="true">
268
- <span>Submission form coming soon</span><b aria-hidden="true">↗</b>
269
- </a>
270
- </div>
271
- <ol class="submission-steps">
272
- <li><span>1</span><div><strong>Run the official protocol</strong><p>Evaluate the applicable StreamAV-Bench tracks and retain the per-case outputs.</p></div></li>
273
- <li><span>2</span><div><strong>Package model metadata</strong><p>Include the model version, access mode, generation configuration, and metric results.</p></div></li>
274
- <li><span>3</span><div><strong>Pass manual review</strong><p>The benchmark team verifies completeness and consistency before updating the public table.</p></div></li>
275
- </ol>
276
- </div>
277
- </section>
278
-
279
  <section class="resource-band" aria-label="Project resources">
280
  <div class="shell resources">
281
  <a id="paper-link" class="resource-link is-disabled" aria-disabled="true">
 
36
  <nav aria-label="Primary navigation">
37
  <a href="#leaderboard">Results</a>
38
  <a href="#metrics">Metrics</a>
 
39
  <a class="nav-project" href="https://liukqchoco.github.io/StreamAVBench/" target="_blank" rel="noopener noreferrer">
40
  Project <span aria-hidden="true">↗</span>
41
  </a>
 
50
  <div class="hero-orb hero-orb-two" aria-hidden="true"></div>
51
  <div class="shell hero-inner">
52
  <div class="hero-copy">
 
53
  <h1>StreamAV-Bench <em>Leaderboard</em></h1>
54
  <p class="hero-tagline" id="hero-tagline">Streaming systems, evaluated while they run.</p>
55
  <p class="hero-description" id="hero-description">
 
59
  <a class="button button-primary" href="#leaderboard">
60
  Explore results <span aria-hidden="true">↓</span>
61
  </a>
 
 
 
62
  </div>
63
  </div>
64
 
 
116
 
117
  <section class="section leaderboard-section" id="leaderboard">
118
  <div class="shell">
119
+ <div class="section-heading results-heading">
120
+ <p class="kicker">Official results</p>
121
+ <h2>Compare systems by metric.</h2>
122
+ <p class="section-intro">Choose a metric below to rank systems. Metrics use different scales and are therefore reported separately.</p>
 
 
 
 
 
123
  </div>
124
 
125
  <div class="explorer">
 
147
  <label class="search-control">
148
  <span class="sr-only">Search systems</span>
149
  <svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="6.5"></circle><path d="m16 16 4 4"></path></svg>
150
+ <input id="model-search" type="search" placeholder="Search systems..." autocomplete="off">
151
  </label>
152
  <label class="metric-select-control">
153
  <span>Rank by</span>
 
162
  </select>
163
  </label>
164
  <label>
165
+ <span>Source</span>
166
  <select id="access-filter">
167
+ <option value="all">All sources</option>
168
+ <option value="Open">Open-source</option>
169
+ <option value="Web">Closed-source</option>
170
  </select>
171
  </label>
172
  <button class="tool-button" id="reset-filters" type="button" title="Reset filters">
 
248
  </div>
249
  </section>
250
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
251
  <section class="resource-band" aria-label="Project resources">
252
  <div class="shell resources">
253
  <a id="paper-link" class="resource-link is-disabled" aria-disabled="true">
styles.css CHANGED
@@ -146,7 +146,7 @@ p {
146
 
147
  .brand strong,
148
  .footer-brand strong {
149
- font-size: 14px;
150
  letter-spacing: -0.02em;
151
  }
152
 
@@ -154,7 +154,7 @@ p {
154
  .footer-brand small {
155
  margin-top: 3px;
156
  color: var(--ink-soft);
157
- font-size: 10px;
158
  font-weight: 600;
159
  letter-spacing: 0.1em;
160
  text-transform: uppercase;
@@ -165,7 +165,7 @@ p {
165
  align-items: center;
166
  gap: 30px;
167
  color: var(--ink-soft);
168
- font-size: 13px;
169
  font-weight: 700;
170
  }
171
 
@@ -234,41 +234,15 @@ p {
234
  gap: 64px;
235
  }
236
 
237
- .eyebrow,
238
  .kicker,
239
  .table-kicker {
240
  color: var(--coral);
241
- font-size: 11px;
242
  font-weight: 700;
243
  letter-spacing: 0.13em;
244
  text-transform: uppercase;
245
  }
246
 
247
- .eyebrow {
248
- display: inline-flex;
249
- align-items: center;
250
- gap: 9px;
251
- margin-bottom: 18px;
252
- padding: 7px 12px;
253
- color: var(--ink-soft);
254
- background: rgba(255, 254, 249, 0.72);
255
- border: 1px solid var(--line);
256
- border-radius: 999px;
257
- letter-spacing: 0.08em;
258
- }
259
-
260
- .eyebrow span {
261
- width: 7px;
262
- height: 7px;
263
- background: var(--coral);
264
- border-radius: 50%;
265
- box-shadow: 0 0 0 4px rgba(204, 102, 78, 0.13);
266
- }
267
-
268
- .eyebrow b {
269
- font-weight: 700;
270
- }
271
-
272
  .hero h1 {
273
  max-width: 760px;
274
  margin-bottom: 20px;
@@ -361,7 +335,7 @@ p {
361
  padding-bottom: 14px;
362
  border-bottom: 1px solid var(--line);
363
  color: var(--ink-soft);
364
- font-size: 11px;
365
  font-weight: 700;
366
  letter-spacing: 0.08em;
367
  text-transform: uppercase;
@@ -371,7 +345,7 @@ p {
371
  display: flex;
372
  align-items: center;
373
  gap: 6px;
374
- font-size: 9px;
375
  font-style: normal;
376
  }
377
 
@@ -400,7 +374,7 @@ p {
400
 
401
  .signal-label small {
402
  color: var(--ink-soft);
403
- font-size: 10px;
404
  font-weight: 600;
405
  }
406
 
@@ -436,7 +410,7 @@ p {
436
  justify-content: space-between;
437
  margin-top: 8px;
438
  color: var(--ink-soft);
439
- font-size: 8px;
440
  font-weight: 600;
441
  }
442
 
@@ -445,7 +419,7 @@ p {
445
  align-items: center;
446
  gap: 10px;
447
  color: var(--ink-soft);
448
- font-size: 8px;
449
  font-weight: 700;
450
  letter-spacing: 0.09em;
451
  text-transform: uppercase;
@@ -472,7 +446,7 @@ p {
472
  color: white;
473
  background: var(--blue);
474
  border-radius: 8px;
475
- font-size: 9px;
476
  font-weight: 700;
477
  }
478
 
@@ -535,7 +509,7 @@ p {
535
  color: var(--ink-soft);
536
  background: var(--paper);
537
  border-radius: 11px;
538
- font-size: 10px;
539
  font-weight: 600;
540
  }
541
 
@@ -576,7 +550,7 @@ p {
576
  .stats span {
577
  margin-top: 7px;
578
  color: rgba(255, 255, 255, 0.58);
579
- font-size: 9px;
580
  font-weight: 700;
581
  letter-spacing: 0.09em;
582
  text-transform: uppercase;
@@ -591,7 +565,7 @@ p {
591
  }
592
 
593
  .leaderboard-section .section-heading {
594
- margin-bottom: 40px;
595
  }
596
 
597
  .section-heading {
@@ -620,38 +594,15 @@ p {
620
  max-width: none;
621
  }
622
 
623
- .heading-note {
624
- display: grid;
625
- grid-template-columns: auto 1fr;
626
- gap: 14px;
627
- align-items: start;
628
- padding: 17px;
629
- background: var(--coral-soft);
630
- border: 1px solid rgba(204, 102, 78, 0.18);
631
- border-radius: 14px;
632
- }
633
-
634
- .heading-note .note-icon {
635
- display: grid;
636
- width: 30px;
637
- height: 30px;
638
- place-items: center;
639
- color: var(--coral);
640
- background: var(--white);
641
- border-radius: 8px;
642
- font-family: var(--serif);
643
- font-size: 20px;
644
  }
645
 
646
- .heading-note p {
647
- margin: 0;
 
648
  color: var(--ink-soft);
649
- font-size: 12px;
650
- line-height: 1.55;
651
- }
652
-
653
- .heading-note strong {
654
- color: var(--ink);
655
  }
656
 
657
  .explorer {
@@ -687,7 +638,7 @@ p {
687
  background: transparent;
688
  border: 1px solid transparent;
689
  border-radius: 11px;
690
- font-size: 12px;
691
  font-weight: 700;
692
  }
693
 
@@ -701,7 +652,7 @@ p {
701
  color: var(--ink-soft);
702
  background: rgba(255, 255, 255, 0.55);
703
  border-radius: 7px;
704
- font-size: 9px;
705
  }
706
 
707
  .track-tab.is-active {
@@ -725,7 +676,7 @@ p {
725
  margin: 0;
726
  padding-right: 18px;
727
  color: var(--ink-soft);
728
- font-size: 12px;
729
  }
730
 
731
  .category-bar {
@@ -738,7 +689,7 @@ p {
738
 
739
  .category-bar > span {
740
  color: var(--ink-soft);
741
- font-size: 10px;
742
  font-weight: 700;
743
  letter-spacing: 0.1em;
744
  text-transform: uppercase;
@@ -756,7 +707,7 @@ p {
756
  background: transparent;
757
  border: 1px solid var(--line);
758
  border-radius: 999px;
759
- font-size: 11px;
760
  font-weight: 700;
761
  }
762
 
@@ -810,7 +761,7 @@ p {
810
  .table-panel-header > div > p:last-child {
811
  margin: 0;
812
  color: var(--ink-soft);
813
- font-size: 12px;
814
  }
815
 
816
  .ranking-label {
@@ -819,12 +770,12 @@ p {
819
  align-items: end;
820
  margin: 0;
821
  color: var(--ink-soft);
822
- font-size: 10px;
823
  }
824
 
825
  .ranking-label strong {
826
  color: var(--ink);
827
- font-size: 13px;
828
  }
829
 
830
  .ranking-label span {
@@ -850,10 +801,10 @@ p {
850
  .toolbar label > span:not(.sr-only) {
851
  position: absolute;
852
  z-index: 1;
853
- top: 5px;
854
  left: 12px;
855
  color: var(--ink-soft);
856
- font-size: 8px;
857
  font-weight: 700;
858
  letter-spacing: 0.08em;
859
  pointer-events: none;
@@ -864,17 +815,17 @@ p {
864
  .toolbar select,
865
  .tool-button {
866
  width: 100%;
867
- height: 44px;
868
  background: var(--white);
869
  border: 1px solid var(--line);
870
  border-radius: 10px;
871
  outline: none;
872
- font-size: 11px;
873
  font-weight: 600;
874
  }
875
 
876
  .toolbar select {
877
- padding: 14px 30px 3px 11px;
878
  }
879
 
880
  .toolbar .metric-select-control > span {
@@ -888,7 +839,7 @@ p {
888
 
889
  .search-control svg {
890
  position: absolute;
891
- top: 13px;
892
  left: 13px;
893
  width: 18px;
894
  fill: none;
@@ -936,7 +887,7 @@ p {
936
 
937
  table {
938
  width: 100%;
939
- min-width: 1050px;
940
  border-collapse: separate;
941
  border-spacing: 0;
942
  font-variant-numeric: tabular-nums;
@@ -946,12 +897,12 @@ thead th {
946
  position: sticky;
947
  z-index: 3;
948
  top: 0;
949
- height: 62px;
950
- padding: 0 13px;
951
  color: var(--ink-soft);
952
  background: var(--white);
953
  border-bottom: 1px solid var(--line-strong);
954
- font-size: 9px;
955
  font-weight: 700;
956
  letter-spacing: 0.06em;
957
  text-align: left;
@@ -960,7 +911,7 @@ thead th {
960
  }
961
 
962
  thead th.metric-column {
963
- min-width: 86px;
964
  padding: 0;
965
  text-align: center;
966
  }
@@ -972,7 +923,7 @@ thead th.metric-column {
972
  justify-content: center;
973
  gap: 0 6px;
974
  width: 100%;
975
- height: 61px;
976
  padding: 0 8px;
977
  color: inherit;
978
  background: transparent;
@@ -981,14 +932,14 @@ thead th.metric-column {
981
 
982
  .metric-column button span {
983
  color: var(--ink);
984
- font-size: 11px;
985
  letter-spacing: 0;
986
  text-transform: none;
987
  }
988
 
989
  .metric-column button i {
990
  color: var(--ink-soft);
991
- font-size: 10px;
992
  font-style: normal;
993
  }
994
 
@@ -996,7 +947,7 @@ thead th.metric-column {
996
  grid-column: 1 / -1;
997
  margin-top: 2px;
998
  color: var(--ink-soft);
999
- font-size: 7px;
1000
  letter-spacing: 0.07em;
1001
  text-transform: uppercase;
1002
  }
@@ -1012,11 +963,11 @@ thead th.is-sorted button i {
1012
 
1013
  tbody th,
1014
  tbody td {
1015
- height: 70px;
1016
- padding: 11px 13px;
1017
  background: var(--white);
1018
  border-bottom: 1px solid var(--line);
1019
- font-size: 12px;
1020
  text-align: left;
1021
  }
1022
 
@@ -1045,8 +996,8 @@ tbody tr:hover td {
1045
  position: sticky;
1046
  z-index: 4;
1047
  left: 54px;
1048
- width: 184px;
1049
- min-width: 184px;
1050
  box-shadow: 1px 0 0 var(--line);
1051
  }
1052
 
@@ -1063,7 +1014,7 @@ thead .model-heading {
1063
  color: var(--ink-soft);
1064
  background: var(--paper);
1065
  border-radius: 8px;
1066
- font-size: 10px;
1067
  font-weight: 700;
1068
  }
1069
 
@@ -1086,30 +1037,30 @@ thead .model-heading {
1086
  display: inline-flex;
1087
  align-items: center;
1088
  gap: 5px;
1089
- font-size: 12px;
1090
  font-weight: 700;
1091
  }
1092
 
1093
  .model-cell a i {
1094
  color: var(--blue);
1095
- font-size: 9px;
1096
  font-style: normal;
1097
  }
1098
 
1099
  .model-cell small {
1100
  display: block;
1101
- max-width: 160px;
1102
  margin-top: 3px;
1103
  overflow: hidden;
1104
  color: var(--ink-soft);
1105
- font-size: 8px;
1106
  font-weight: 500;
1107
  text-overflow: ellipsis;
1108
  white-space: nowrap;
1109
  }
1110
 
1111
  .meta-cell {
1112
- min-width: 104px;
1113
  color: var(--ink-soft);
1114
  white-space: nowrap;
1115
  }
@@ -1118,7 +1069,7 @@ thead .model-heading {
1118
  display: inline-block;
1119
  padding: 5px 8px;
1120
  border-radius: 7px;
1121
- font-size: 8px;
1122
  font-weight: 700;
1123
  letter-spacing: 0.03em;
1124
  text-transform: uppercase;
@@ -1148,20 +1099,20 @@ thead .model-heading {
1148
  }
1149
 
1150
  .score-cell {
1151
- min-width: 86px;
1152
  text-align: center;
1153
  white-space: nowrap;
1154
  }
1155
 
1156
  .score-cell span {
1157
- font-size: 11px;
1158
  font-weight: 600;
1159
  }
1160
 
1161
  .score-cell small {
1162
  margin-left: 2px;
1163
  color: var(--ink-soft);
1164
- font-size: 7px;
1165
  }
1166
 
1167
  .score-cell.is-sorted {
@@ -1202,7 +1153,7 @@ thead .model-heading {
1202
  color: var(--ink-soft);
1203
  background: var(--paper);
1204
  border-top: 1px solid var(--line);
1205
- font-size: 9px;
1206
  font-weight: 600;
1207
  }
1208
 
@@ -1267,7 +1218,7 @@ thead .model-heading {
1267
 
1268
  .evidence-note p {
1269
  margin: 1px 0 0;
1270
- font-size: 11px;
1271
  }
1272
 
1273
  .evidence-note p + p {
@@ -1344,7 +1295,7 @@ thead .model-heading {
1344
  color: var(--ink);
1345
  background: var(--paper);
1346
  border-radius: 7px;
1347
- font-size: 10px;
1348
  font-weight: 800;
1349
  letter-spacing: 0.04em;
1350
  }
@@ -1357,7 +1308,7 @@ thead .model-heading {
1357
  .direction {
1358
  padding: 5px 8px;
1359
  border-radius: 999px;
1360
- font-size: 8px;
1361
  font-weight: 700;
1362
  letter-spacing: 0.05em;
1363
  text-transform: uppercase;
@@ -1375,16 +1326,16 @@ thead .model-heading {
1375
 
1376
  .metric-card h3 {
1377
  margin-bottom: 8px;
1378
- font-size: 18px;
1379
  line-height: 1.2;
1380
  letter-spacing: -0.025em;
1381
  }
1382
 
1383
  .metric-card > p {
1384
- min-height: 58px;
1385
  margin-bottom: 20px;
1386
  color: var(--ink-soft);
1387
- font-size: 11px;
1388
  }
1389
 
1390
  .metric-card dl {
@@ -1397,13 +1348,13 @@ thead .model-heading {
1397
 
1398
  .metric-card dl div {
1399
  display: grid;
1400
- grid-template-columns: 65px 1fr;
1401
  gap: 10px;
1402
  }
1403
 
1404
  .metric-card dt {
1405
  color: var(--ink-soft);
1406
- font-size: 8px;
1407
  font-weight: 700;
1408
  letter-spacing: 0.08em;
1409
  text-transform: uppercase;
@@ -1411,7 +1362,7 @@ thead .model-heading {
1411
 
1412
  .metric-card dd {
1413
  margin: 0;
1414
- font-size: 9px;
1415
  font-weight: 600;
1416
  text-align: right;
1417
  }
@@ -1459,39 +1410,7 @@ thead .model-heading {
1459
  .protocol-grid p {
1460
  margin: 0;
1461
  color: var(--ink-soft);
1462
- font-size: 13px;
1463
- }
1464
-
1465
- .submission-section {
1466
- background: var(--coral-soft);
1467
- }
1468
-
1469
- .submission-grid {
1470
- display: grid;
1471
- grid-template-columns: minmax(0, 0.85fr) minmax(430px, 1fr);
1472
- gap: 100px;
1473
- align-items: center;
1474
- }
1475
-
1476
- .submission-section h2 {
1477
- max-width: 600px;
1478
- margin-bottom: 22px;
1479
- font-family: var(--serif);
1480
- font-size: clamp(42px, 5vw, 65px);
1481
- font-weight: 400;
1482
- line-height: 1.02;
1483
- letter-spacing: -0.04em;
1484
- }
1485
-
1486
- .submission-copy {
1487
- max-width: 620px;
1488
- margin-bottom: 28px;
1489
- color: var(--ink-soft);
1490
- font-size: 16px;
1491
- }
1492
-
1493
- .submission-button {
1494
- min-width: 220px;
1495
  }
1496
 
1497
  .is-disabled {
@@ -1500,46 +1419,6 @@ thead .model-heading {
1500
  pointer-events: none;
1501
  }
1502
 
1503
- .submission-steps {
1504
- display: grid;
1505
- gap: 9px;
1506
- margin: 0;
1507
- padding: 0;
1508
- list-style: none;
1509
- }
1510
-
1511
- .submission-steps li {
1512
- display: grid;
1513
- grid-template-columns: auto 1fr;
1514
- gap: 16px;
1515
- padding: 19px;
1516
- background: rgba(255, 254, 249, 0.78);
1517
- border: 1px solid rgba(204, 102, 78, 0.18);
1518
- border-radius: 15px;
1519
- }
1520
-
1521
- .submission-steps li > span {
1522
- display: grid;
1523
- width: 36px;
1524
- height: 36px;
1525
- place-items: center;
1526
- color: var(--coral);
1527
- background: var(--coral-soft);
1528
- border-radius: 10px;
1529
- font-family: var(--serif);
1530
- font-size: 18px;
1531
- }
1532
-
1533
- .submission-steps strong {
1534
- font-size: 13px;
1535
- }
1536
-
1537
- .submission-steps p {
1538
- margin: 3px 0 0;
1539
- color: var(--ink-soft);
1540
- font-size: 11px;
1541
- }
1542
-
1543
  .resource-band {
1544
  padding: 24px 0;
1545
  color: var(--paper);
@@ -1579,7 +1458,7 @@ thead .model-heading {
1579
  color: var(--ink);
1580
  background: var(--paper);
1581
  border-radius: 9px;
1582
- font-size: 11px;
1583
  font-weight: 700;
1584
  }
1585
 
@@ -1589,18 +1468,18 @@ thead .model-heading {
1589
  }
1590
 
1591
  .resource-link strong {
1592
- font-size: 12px;
1593
  }
1594
 
1595
  .resource-link small {
1596
  margin-top: 2px;
1597
  color: rgba(255, 255, 255, 0.48);
1598
- font-size: 9px;
1599
  }
1600
 
1601
  .resource-link > b {
1602
  color: rgba(255, 255, 255, 0.46);
1603
- font-size: 11px;
1604
  }
1605
 
1606
  footer {
@@ -1627,12 +1506,12 @@ footer {
1627
  .footer-inner > p {
1628
  margin: 0;
1629
  color: rgba(255, 255, 255, 0.46);
1630
- font-size: 10px;
1631
  text-align: center;
1632
  }
1633
 
1634
  .footer-inner > a {
1635
- font-size: 10px;
1636
  font-weight: 700;
1637
  }
1638
 
@@ -1682,8 +1561,7 @@ footer {
1682
 
1683
  .hero-inner,
1684
  .split-heading,
1685
- .track-switcher,
1686
- .submission-grid {
1687
  grid-template-columns: 1fr;
1688
  }
1689
 
@@ -1701,11 +1579,6 @@ footer {
1701
  margin-left: auto;
1702
  }
1703
 
1704
- .eyebrow {
1705
- margin-right: auto;
1706
- margin-left: auto;
1707
- }
1708
-
1709
  .hero-actions {
1710
  justify-content: center;
1711
  }
@@ -1734,10 +1607,6 @@ footer {
1734
  gap: 28px;
1735
  }
1736
 
1737
- .heading-note {
1738
- max-width: 600px;
1739
- }
1740
-
1741
  .track-switcher {
1742
  gap: 16px;
1743
  }
@@ -1767,10 +1636,6 @@ footer {
1767
  margin-bottom: 45px;
1768
  }
1769
 
1770
- .submission-grid {
1771
- gap: 52px;
1772
- }
1773
-
1774
  .resources {
1775
  grid-template-columns: 1fr;
1776
  }
@@ -1797,7 +1662,7 @@ footer {
1797
 
1798
  .site-header .nav-project {
1799
  padding: 7px 11px;
1800
- font-size: 10px;
1801
  }
1802
 
1803
  .hero {
@@ -1831,7 +1696,7 @@ footer {
1831
 
1832
  .stream-card-header {
1833
  gap: 15px;
1834
- font-size: 9px;
1835
  }
1836
 
1837
  .signal-group {
@@ -1841,7 +1706,7 @@ footer {
1841
  .update-track span {
1842
  width: 27px;
1843
  height: 27px;
1844
- font-size: 8px;
1845
  }
1846
 
1847
  .stats {
@@ -1965,13 +1830,6 @@ footer {
1965
  padding: 23px;
1966
  }
1967
 
1968
- .submission-section h2 {
1969
- font-size: 42px;
1970
- }
1971
-
1972
- .submission-steps li {
1973
- padding: 15px;
1974
- }
1975
  }
1976
 
1977
  @media (prefers-reduced-motion: reduce) {
 
146
 
147
  .brand strong,
148
  .footer-brand strong {
149
+ font-size: 15px;
150
  letter-spacing: -0.02em;
151
  }
152
 
 
154
  .footer-brand small {
155
  margin-top: 3px;
156
  color: var(--ink-soft);
157
+ font-size: 11px;
158
  font-weight: 600;
159
  letter-spacing: 0.1em;
160
  text-transform: uppercase;
 
165
  align-items: center;
166
  gap: 30px;
167
  color: var(--ink-soft);
168
+ font-size: 14px;
169
  font-weight: 700;
170
  }
171
 
 
234
  gap: 64px;
235
  }
236
 
 
237
  .kicker,
238
  .table-kicker {
239
  color: var(--coral);
240
+ font-size: 12px;
241
  font-weight: 700;
242
  letter-spacing: 0.13em;
243
  text-transform: uppercase;
244
  }
245
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246
  .hero h1 {
247
  max-width: 760px;
248
  margin-bottom: 20px;
 
335
  padding-bottom: 14px;
336
  border-bottom: 1px solid var(--line);
337
  color: var(--ink-soft);
338
+ font-size: 12px;
339
  font-weight: 700;
340
  letter-spacing: 0.08em;
341
  text-transform: uppercase;
 
345
  display: flex;
346
  align-items: center;
347
  gap: 6px;
348
+ font-size: 10px;
349
  font-style: normal;
350
  }
351
 
 
374
 
375
  .signal-label small {
376
  color: var(--ink-soft);
377
+ font-size: 11px;
378
  font-weight: 600;
379
  }
380
 
 
410
  justify-content: space-between;
411
  margin-top: 8px;
412
  color: var(--ink-soft);
413
+ font-size: 10px;
414
  font-weight: 600;
415
  }
416
 
 
419
  align-items: center;
420
  gap: 10px;
421
  color: var(--ink-soft);
422
+ font-size: 9px;
423
  font-weight: 700;
424
  letter-spacing: 0.09em;
425
  text-transform: uppercase;
 
446
  color: white;
447
  background: var(--blue);
448
  border-radius: 8px;
449
+ font-size: 10px;
450
  font-weight: 700;
451
  }
452
 
 
509
  color: var(--ink-soft);
510
  background: var(--paper);
511
  border-radius: 11px;
512
+ font-size: 12px;
513
  font-weight: 600;
514
  }
515
 
 
550
  .stats span {
551
  margin-top: 7px;
552
  color: rgba(255, 255, 255, 0.58);
553
+ font-size: 11px;
554
  font-weight: 700;
555
  letter-spacing: 0.09em;
556
  text-transform: uppercase;
 
565
  }
566
 
567
  .leaderboard-section .section-heading {
568
+ margin-bottom: 34px;
569
  }
570
 
571
  .section-heading {
 
594
  max-width: none;
595
  }
596
 
597
+ .results-heading {
598
+ max-width: 880px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
599
  }
600
 
601
+ .results-heading .section-intro {
602
+ max-width: 760px;
603
+ margin: 16px 0 0;
604
  color: var(--ink-soft);
605
+ font-size: 17px;
 
 
 
 
 
606
  }
607
 
608
  .explorer {
 
638
  background: transparent;
639
  border: 1px solid transparent;
640
  border-radius: 11px;
641
+ font-size: 14px;
642
  font-weight: 700;
643
  }
644
 
 
652
  color: var(--ink-soft);
653
  background: rgba(255, 255, 255, 0.55);
654
  border-radius: 7px;
655
+ font-size: 11px;
656
  }
657
 
658
  .track-tab.is-active {
 
676
  margin: 0;
677
  padding-right: 18px;
678
  color: var(--ink-soft);
679
+ font-size: 14px;
680
  }
681
 
682
  .category-bar {
 
689
 
690
  .category-bar > span {
691
  color: var(--ink-soft);
692
+ font-size: 11px;
693
  font-weight: 700;
694
  letter-spacing: 0.1em;
695
  text-transform: uppercase;
 
707
  background: transparent;
708
  border: 1px solid var(--line);
709
  border-radius: 999px;
710
+ font-size: 13px;
711
  font-weight: 700;
712
  }
713
 
 
761
  .table-panel-header > div > p:last-child {
762
  margin: 0;
763
  color: var(--ink-soft);
764
+ font-size: 14px;
765
  }
766
 
767
  .ranking-label {
 
770
  align-items: end;
771
  margin: 0;
772
  color: var(--ink-soft);
773
+ font-size: 12px;
774
  }
775
 
776
  .ranking-label strong {
777
  color: var(--ink);
778
+ font-size: 15px;
779
  }
780
 
781
  .ranking-label span {
 
801
  .toolbar label > span:not(.sr-only) {
802
  position: absolute;
803
  z-index: 1;
804
+ top: 6px;
805
  left: 12px;
806
  color: var(--ink-soft);
807
+ font-size: 10px;
808
  font-weight: 700;
809
  letter-spacing: 0.08em;
810
  pointer-events: none;
 
815
  .toolbar select,
816
  .tool-button {
817
  width: 100%;
818
+ height: 50px;
819
  background: var(--white);
820
  border: 1px solid var(--line);
821
  border-radius: 10px;
822
  outline: none;
823
+ font-size: 13px;
824
  font-weight: 600;
825
  }
826
 
827
  .toolbar select {
828
+ padding: 17px 32px 3px 11px;
829
  }
830
 
831
  .toolbar .metric-select-control > span {
 
839
 
840
  .search-control svg {
841
  position: absolute;
842
+ top: 16px;
843
  left: 13px;
844
  width: 18px;
845
  fill: none;
 
887
 
888
  table {
889
  width: 100%;
890
+ min-width: 1180px;
891
  border-collapse: separate;
892
  border-spacing: 0;
893
  font-variant-numeric: tabular-nums;
 
897
  position: sticky;
898
  z-index: 3;
899
  top: 0;
900
+ height: 68px;
901
+ padding: 0 15px;
902
  color: var(--ink-soft);
903
  background: var(--white);
904
  border-bottom: 1px solid var(--line-strong);
905
+ font-size: 11px;
906
  font-weight: 700;
907
  letter-spacing: 0.06em;
908
  text-align: left;
 
911
  }
912
 
913
  thead th.metric-column {
914
+ min-width: 94px;
915
  padding: 0;
916
  text-align: center;
917
  }
 
923
  justify-content: center;
924
  gap: 0 6px;
925
  width: 100%;
926
+ height: 67px;
927
  padding: 0 8px;
928
  color: inherit;
929
  background: transparent;
 
932
 
933
  .metric-column button span {
934
  color: var(--ink);
935
+ font-size: 13px;
936
  letter-spacing: 0;
937
  text-transform: none;
938
  }
939
 
940
  .metric-column button i {
941
  color: var(--ink-soft);
942
+ font-size: 12px;
943
  font-style: normal;
944
  }
945
 
 
947
  grid-column: 1 / -1;
948
  margin-top: 2px;
949
  color: var(--ink-soft);
950
+ font-size: 9px;
951
  letter-spacing: 0.07em;
952
  text-transform: uppercase;
953
  }
 
963
 
964
  tbody th,
965
  tbody td {
966
+ height: 76px;
967
+ padding: 12px 15px;
968
  background: var(--white);
969
  border-bottom: 1px solid var(--line);
970
+ font-size: 14px;
971
  text-align: left;
972
  }
973
 
 
996
  position: sticky;
997
  z-index: 4;
998
  left: 54px;
999
+ width: 210px;
1000
+ min-width: 210px;
1001
  box-shadow: 1px 0 0 var(--line);
1002
  }
1003
 
 
1014
  color: var(--ink-soft);
1015
  background: var(--paper);
1016
  border-radius: 8px;
1017
+ font-size: 12px;
1018
  font-weight: 700;
1019
  }
1020
 
 
1037
  display: inline-flex;
1038
  align-items: center;
1039
  gap: 5px;
1040
+ font-size: 14px;
1041
  font-weight: 700;
1042
  }
1043
 
1044
  .model-cell a i {
1045
  color: var(--blue);
1046
+ font-size: 11px;
1047
  font-style: normal;
1048
  }
1049
 
1050
  .model-cell small {
1051
  display: block;
1052
+ max-width: 184px;
1053
  margin-top: 3px;
1054
  overflow: hidden;
1055
  color: var(--ink-soft);
1056
+ font-size: 10px;
1057
  font-weight: 500;
1058
  text-overflow: ellipsis;
1059
  white-space: nowrap;
1060
  }
1061
 
1062
  .meta-cell {
1063
+ min-width: 126px;
1064
  color: var(--ink-soft);
1065
  white-space: nowrap;
1066
  }
 
1069
  display: inline-block;
1070
  padding: 5px 8px;
1071
  border-radius: 7px;
1072
+ font-size: 10px;
1073
  font-weight: 700;
1074
  letter-spacing: 0.03em;
1075
  text-transform: uppercase;
 
1099
  }
1100
 
1101
  .score-cell {
1102
+ min-width: 94px;
1103
  text-align: center;
1104
  white-space: nowrap;
1105
  }
1106
 
1107
  .score-cell span {
1108
+ font-size: 13px;
1109
  font-weight: 600;
1110
  }
1111
 
1112
  .score-cell small {
1113
  margin-left: 2px;
1114
  color: var(--ink-soft);
1115
+ font-size: 9px;
1116
  }
1117
 
1118
  .score-cell.is-sorted {
 
1153
  color: var(--ink-soft);
1154
  background: var(--paper);
1155
  border-top: 1px solid var(--line);
1156
+ font-size: 11px;
1157
  font-weight: 600;
1158
  }
1159
 
 
1218
 
1219
  .evidence-note p {
1220
  margin: 1px 0 0;
1221
+ font-size: 13px;
1222
  }
1223
 
1224
  .evidence-note p + p {
 
1295
  color: var(--ink);
1296
  background: var(--paper);
1297
  border-radius: 7px;
1298
+ font-size: 12px;
1299
  font-weight: 800;
1300
  letter-spacing: 0.04em;
1301
  }
 
1308
  .direction {
1309
  padding: 5px 8px;
1310
  border-radius: 999px;
1311
+ font-size: 10px;
1312
  font-weight: 700;
1313
  letter-spacing: 0.05em;
1314
  text-transform: uppercase;
 
1326
 
1327
  .metric-card h3 {
1328
  margin-bottom: 8px;
1329
+ font-size: 20px;
1330
  line-height: 1.2;
1331
  letter-spacing: -0.025em;
1332
  }
1333
 
1334
  .metric-card > p {
1335
+ min-height: 66px;
1336
  margin-bottom: 20px;
1337
  color: var(--ink-soft);
1338
+ font-size: 14px;
1339
  }
1340
 
1341
  .metric-card dl {
 
1348
 
1349
  .metric-card dl div {
1350
  display: grid;
1351
+ grid-template-columns: 78px 1fr;
1352
  gap: 10px;
1353
  }
1354
 
1355
  .metric-card dt {
1356
  color: var(--ink-soft);
1357
+ font-size: 10px;
1358
  font-weight: 700;
1359
  letter-spacing: 0.08em;
1360
  text-transform: uppercase;
 
1362
 
1363
  .metric-card dd {
1364
  margin: 0;
1365
+ font-size: 11px;
1366
  font-weight: 600;
1367
  text-align: right;
1368
  }
 
1410
  .protocol-grid p {
1411
  margin: 0;
1412
  color: var(--ink-soft);
1413
+ font-size: 15px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1414
  }
1415
 
1416
  .is-disabled {
 
1419
  pointer-events: none;
1420
  }
1421
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1422
  .resource-band {
1423
  padding: 24px 0;
1424
  color: var(--paper);
 
1458
  color: var(--ink);
1459
  background: var(--paper);
1460
  border-radius: 9px;
1461
+ font-size: 13px;
1462
  font-weight: 700;
1463
  }
1464
 
 
1468
  }
1469
 
1470
  .resource-link strong {
1471
+ font-size: 14px;
1472
  }
1473
 
1474
  .resource-link small {
1475
  margin-top: 2px;
1476
  color: rgba(255, 255, 255, 0.48);
1477
+ font-size: 11px;
1478
  }
1479
 
1480
  .resource-link > b {
1481
  color: rgba(255, 255, 255, 0.46);
1482
+ font-size: 13px;
1483
  }
1484
 
1485
  footer {
 
1506
  .footer-inner > p {
1507
  margin: 0;
1508
  color: rgba(255, 255, 255, 0.46);
1509
+ font-size: 12px;
1510
  text-align: center;
1511
  }
1512
 
1513
  .footer-inner > a {
1514
+ font-size: 12px;
1515
  font-weight: 700;
1516
  }
1517
 
 
1561
 
1562
  .hero-inner,
1563
  .split-heading,
1564
+ .track-switcher {
 
1565
  grid-template-columns: 1fr;
1566
  }
1567
 
 
1579
  margin-left: auto;
1580
  }
1581
 
 
 
 
 
 
1582
  .hero-actions {
1583
  justify-content: center;
1584
  }
 
1607
  gap: 28px;
1608
  }
1609
 
 
 
 
 
1610
  .track-switcher {
1611
  gap: 16px;
1612
  }
 
1636
  margin-bottom: 45px;
1637
  }
1638
 
 
 
 
 
1639
  .resources {
1640
  grid-template-columns: 1fr;
1641
  }
 
1662
 
1663
  .site-header .nav-project {
1664
  padding: 7px 11px;
1665
+ font-size: 12px;
1666
  }
1667
 
1668
  .hero {
 
1696
 
1697
  .stream-card-header {
1698
  gap: 15px;
1699
+ font-size: 11px;
1700
  }
1701
 
1702
  .signal-group {
 
1706
  .update-track span {
1707
  width: 27px;
1708
  height: 27px;
1709
+ font-size: 9px;
1710
  }
1711
 
1712
  .stats {
 
1830
  padding: 23px;
1831
  }
1832
 
 
 
 
 
 
 
 
1833
  }
1834
 
1835
  @media (prefers-reduced-motion: reduce) {