yzzhao commited on
Commit
d150943
·
verified ·
1 Parent(s): e20a97c

Unify Plus with Easy/Hard layout, three-view video and full VLA I/O

Browse files
README.md CHANGED
@@ -46,3 +46,9 @@ This lightweight Space contains presentation code, logos and revision pointers o
46
  [Open the Plus results](https://rle-bench-programmable-vla.static.hf.space/plus/index.html): **1,200 valid episodes**, three checkpoints × 50 tasks × eight configurations × one admitted episode, with native instructions. Base 40k **94/400 (23.5%)**, VLAct Clean 50k **222/400 (55.5%)**, VLAct All 100k **294/400 (73.5%)**. All episodes have native videos and full evidence ZIPs. Existing Easy, Hard and historical pages are retained.
47
 
48
  Single-episode coverage is not the upstream multi-trial protocol; vision-noise index 0 covers motion noise only. The page and [report](https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/9f8a68a40148e1ad013b35a2d8774ff113cb0c5e/robotwin-plus/20261101-native/REPORT.md) document expert admission, native language pools, checkpoint identities and the All recovery. No valid outcomes were retried. Dataset revision: `9f8a68a40148e1ad013b35a2d8774ff113cb0c5e`.
 
 
 
 
 
 
 
46
  [Open the Plus results](https://rle-bench-programmable-vla.static.hf.space/plus/index.html): **1,200 valid episodes**, three checkpoints × 50 tasks × eight configurations × one admitted episode, with native instructions. Base 40k **94/400 (23.5%)**, VLAct Clean 50k **222/400 (55.5%)**, VLAct All 100k **294/400 (73.5%)**. All episodes have native videos and full evidence ZIPs. Existing Easy, Hard and historical pages are retained.
47
 
48
  Single-episode coverage is not the upstream multi-trial protocol; vision-noise index 0 covers motion noise only. The page and [report](https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/9f8a68a40148e1ad013b35a2d8774ff113cb0c5e/robotwin-plus/20261101-native/REPORT.md) document expert admission, native language pools, checkpoint identities and the All recovery. No valid outcomes were retried. Dataset revision: `9f8a68a40148e1ad013b35a2d8774ff113cb0c5e`.
49
+
50
+ ## Unified Plus presentation · November 2, 2026
51
+
52
+ The [Plus panel](https://rle-bench-programmable-vla.static.hf.space/plus/index.html) now uses the Easy/Hard task browser, comparison table, episode tabs, video player, evidence panels and VLA input/output viewer. All **1,200** videos use the same head + left wrist + right wrist layout, 2880 × 720 output, H.264 CRF 20, 40 FPS / 4× action-index playback, posters and last-frame controls. Native 320 × 240 camera views are upscaled; wrist observations update at inference boundaries. No new observations or benchmark outcomes were generated.
53
+
54
+ All original scores (94/400, 222/400, 294/400), native videos, evidence ZIPs, seeds and instructions are unchanged. VLA I/O includes every recorded call and byte-identical input/source PNGs. [Presentation protocol](https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/b2d67a67dd2f9d8e12c1f8db13ba8de309739883/robotwin-plus/20261101-native/presentation-v2/presentation-protocol.json). Dataset revision: `b2d67a67dd2f9d8e12c1f8db13ba8de309739883`.
manifest.json CHANGED
@@ -19,8 +19,8 @@
19
  "sha256": "34a4d6e437537e78bc242418805a3af3d71b43980280482fd8fc6bfda91f79f8"
20
  },
21
  "README.md": {
22
- "bytes": 5223,
23
- "sha256": "dc6236f40830ce1cd37734c33e46562b6f5ac5864fd58c2675c85dfae0ce701f"
24
  },
25
  "icon.svg": {
26
  "bytes": 725,
@@ -127,20 +127,52 @@
127
  "sha256": "a53108594a23b740fbb08623f6fffdda1d73608b552988a9ffda9f0944ae66a1"
128
  },
129
  "plus/app.js": {
130
- "bytes": 4928,
131
- "sha256": "845cacc1806f0c46e13b1386a5921679342b19bc9d96bda5fdd8ee8a7b239edd"
132
  },
133
  "plus/index.html": {
134
- "bytes": 4480,
135
- "sha256": "3b58ffb145850d1cc2e06868f9470f50a51a5101e1f2971738c795d3f6de7f8b"
136
  },
137
  "plus/style.css": {
138
- "bytes": 4263,
139
- "sha256": "0c0ba971b534d0d07bf6a60d42b0d4c11c6e19a08f8f54aa6a5923c5f2743a81"
140
  },
141
  "plus/data-source.json": {
142
- "bytes": 279,
143
- "sha256": "344981106e0120c9b743556145977ce4b533012cba8d644ad60fe8e85cecfc8c"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  }
145
  },
146
  "hard_dataset": {
@@ -151,7 +183,8 @@
151
  },
152
  "plus_dataset": {
153
  "repo_id": "RLE-Bench/programmable-vla",
154
- "revision": "9f8a68a40148e1ad013b35a2d8774ff113cb0c5e",
155
- "prefix": "robotwin-plus/20261101-native"
 
156
  }
157
  }
 
19
  "sha256": "34a4d6e437537e78bc242418805a3af3d71b43980280482fd8fc6bfda91f79f8"
20
  },
21
  "README.md": {
22
+ "bytes": 6279,
23
+ "sha256": "510d4c6b23afb20d2fd087878cc9c3d44d8d7cee4bee24979c3e1de76fce9166"
24
  },
25
  "icon.svg": {
26
  "bytes": 725,
 
127
  "sha256": "a53108594a23b740fbb08623f6fffdda1d73608b552988a9ffda9f0944ae66a1"
128
  },
129
  "plus/app.js": {
130
+ "bytes": 95721,
131
+ "sha256": "b5bce2b4c28d54ba82dbc244598d91115a240c21fc29c3b316d3f886660ec95f"
132
  },
133
  "plus/index.html": {
134
+ "bytes": 3370,
135
+ "sha256": "84b8f8f968ecfc1d9032af7408c5dfa1fe3b089bec4339d70ba4deabfc830408"
136
  },
137
  "plus/style.css": {
138
+ "bytes": 60419,
139
+ "sha256": "bd1a59147e1d5e6c4fc5abd0871fb7b2e5e282a9ee3d15ca4df8a219509af69c"
140
  },
141
  "plus/data-source.json": {
142
+ "bytes": 1396,
143
+ "sha256": "7a0ad5e9303ccdefb75d450cb17edbbc764466c5403af02c98095aacec4ec82e"
144
+ },
145
+ "plus/icon.svg": {
146
+ "bytes": 725,
147
+ "sha256": "b27d9f4bfb9557513913b43b95108d995c7a18241629631a39889a2989b744c7"
148
+ },
149
+ "plus/usage-metrics.js": {
150
+ "bytes": 5238,
151
+ "sha256": "330e92f8eb9670cb506f2909a2a47ee8f0bd569199898df3bfa044239ae64161"
152
+ },
153
+ "plus/policy.css": {
154
+ "bytes": 1067,
155
+ "sha256": "e564132eb242d994b3a0388da20dd9d1cef28d849447cceca674bb4beef32660"
156
+ },
157
+ "plus/assets/kinex-logo.svg": {
158
+ "bytes": 725,
159
+ "sha256": "b27d9f4bfb9557513913b43b95108d995c7a18241629631a39889a2989b744c7"
160
+ },
161
+ "plus/assets/kinex-logo-night.svg": {
162
+ "bytes": 725,
163
+ "sha256": "7ed5de35505694eb892fc3b601d92e1d2fe864b1b0863fc0afff7c873fcfcc7c"
164
+ },
165
+ "plus/assets/openai-logo.svg": {
166
+ "bytes": 2571,
167
+ "sha256": "8e1b976ba47e927ac2928303fd5362fcadfefd68743506510596f107df676e58"
168
+ },
169
+ "plus/assets/vla-logo.svg": {
170
+ "bytes": 287,
171
+ "sha256": "4731ad16fd0b9b8f7dc02e05de3c1de0dd70223b93056d8345c8175bd9cad287"
172
+ },
173
+ "plus/assets/anthropic-logo.svg": {
174
+ "bytes": 352,
175
+ "sha256": "a53108594a23b740fbb08623f6fffdda1d73608b552988a9ffda9f0944ae66a1"
176
  }
177
  },
178
  "hard_dataset": {
 
183
  },
184
  "plus_dataset": {
185
  "repo_id": "RLE-Bench/programmable-vla",
186
+ "revision": "b2d67a67dd2f9d8e12c1f8db13ba8de309739883",
187
+ "prefix": "robotwin-plus/20261101-native/presentation-v2",
188
+ "original_evidence_revision": "9f8a68a40148e1ad013b35a2d8774ff113cb0c5e"
189
  }
190
  }
plus/app.js CHANGED
The diff for this file is too large to render. See raw diff
 
plus/assets/anthropic-logo.svg ADDED
plus/assets/kinex-logo-night.svg ADDED
plus/assets/kinex-logo.svg ADDED
plus/assets/openai-logo.svg ADDED
plus/assets/vla-logo.svg ADDED
plus/data-source.json CHANGED
@@ -1,6 +1,23 @@
1
  {
2
- "repo_id": "RLE-Bench/programmable-vla",
3
- "revision": "9f8a68a40148e1ad013b35a2d8774ff113cb0c5e",
4
- "root": "https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/9f8a68a40148e1ad013b35a2d8774ff113cb0c5e/",
5
- "data": "robotwin-plus/20261101-native/data.json"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  }
 
1
  {
2
+ "schema": "programvla/dataset-source/1",
3
+ "dataset": "RLE-Bench/programmable-vla",
4
+ "revision": "b2d67a67dd2f9d8e12c1f8db13ba8de309739883",
5
+ "evidence_root": "https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/b2d67a67dd2f9d8e12c1f8db13ba8de309739883/",
6
+ "files": {
7
+ "data.json": {
8
+ "url": "https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/b2d67a67dd2f9d8e12c1f8db13ba8de309739883/robotwin-plus/20261101-native/presentation-v2/data.json"
9
+ },
10
+ "cost-data.json": {
11
+ "url": "https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/b2d67a67dd2f9d8e12c1f8db13ba8de309739883/robotwin-plus/20261101-native/presentation-v2/cost-data.json"
12
+ },
13
+ "measured-instructions.json": {
14
+ "url": "https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/b2d67a67dd2f9d8e12c1f8db13ba8de309739883/robotwin-plus/20261101-native/presentation-v2/measured-instructions.json"
15
+ },
16
+ "instruction-audit.json": {
17
+ "url": "https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/b2d67a67dd2f9d8e12c1f8db13ba8de309739883/robotwin-plus/20261101-native/presentation-v2/instruction-audit.json"
18
+ },
19
+ "sources.json": {
20
+ "url": "https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/b2d67a67dd2f9d8e12c1f8db13ba8de309739883/robotwin-plus/20261101-native/presentation-v2/sources.json"
21
+ }
22
+ }
23
  }
plus/icon.svg ADDED
plus/index.html CHANGED
@@ -1,9 +1,24 @@
1
  <!doctype html>
2
- <html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="theme-color" content="#756ee4"><title>RoboTwin 2.0-Plus · Programmable VLA</title><link rel="icon" href="../icon.svg"><link rel="stylesheet" href="style.css"><script defer src="app.js"></script></head><body>
3
- <header><a class="brand" href="../index.html"><img src="../assets/kinex-logo.svg" alt="" width="30" height="30"> programmable<span>/</span>vla</a><nav aria-label="Main navigation"><a href="../index.html">Easy</a><a href="../hard/index.html">Hard</a><a href="index.html" aria-current="page">Plus</a><a href="#protocol">Protocol</a></nav></header>
4
- <main><div class="eyebrow">RLE-BENCH / COMPLETED · NOVEMBER 2, 2026</div><h1>RoboTwin 2.0-Plus</h1><p class="lead">Three VLA checkpoints. 50 tasks × 8 configurations.<br>One admitted episode per task and configuration, with native instructions.</p>
5
- <section id="cards" class="cards" aria-label="Overall results"></section>
6
- <section class="panel"><h2>Results by configuration</h2><p>Each cell is native successes / 50 valid episodes. The overall score includes Clean.</p><div class="table-scroll"><table><thead><tr><th>Configuration</th><th>Base 40k</th><th>VLAct Clean 50k</th><th>VLAct All 100k</th></tr></thead><tbody id="scores"></tbody></table></div></section>
7
- <section id="explore" class="panel"><h2>Explore the 1,200 episodes</h2><div class="filters"><label>Checkpoint<select id="model"></select></label><label>Configuration<select id="config"></select></label><label>Task name<input id="search" type="search" placeholder="Search tasks"></label></div><p id="count" aria-live="polite"></p><div class="explorer"><div class="task-list"><table><thead><tr><th>Task</th><th>Native verdict</th></tr></thead><tbody id="tasks"></tbody></table></div><article id="detail" aria-live="polite"><p>Loading episode…</p></article></div></section>
8
- <section id="protocol" class="panel"><h2>Protocol & evidence</h2><p>Standalone frozen-policy evaluation through the native RoboTwin evaluator. Native <code>take_action(qpos)</code> executes complete predicted action chunks: 16 for Base and 32 for VLAct. Native task limits and native success verdicts are retained.</p><p>Seed group 0 starts at scene seed 100000; the upstream expert-success admission rule selects the accepted scene in ascending seed order. Each task/configuration uses accepted episode index 0. Actual seeds appear in episode details. Native instructions are passed unchanged; prompts may differ across models. Non-language configurations use the native seen pool, while language-plus uses the native combined pool.</p><p><strong>This is a single-episode coverage evaluation, not the upstream multi-trial paper protocol.</strong> Vision noise at index 0 covers motion noise only, not all noise subtypes. No Kinex evaluation is included in this panel.</p><details><summary>Recovery provenance · no valid outcomes retried</summary><p>VLAct All had one infrastructure interruption before model inference: a validator treated angle-bracket text in a native instruction as an unresolved placeholder. The fix preserves whole native Plus instructions in all eight configurations while keeping custom RLE templates strict. The first 116 completed All results were preserved; the remaining 284 used the recorded recovery source. The interrupted attempt made zero model calls. No valid success or failure was retried.</p><a id="recovery" target="_blank" rel="noopener">Recovery receipt ↗</a></details><p>Each evidence ZIP includes the native verdict, setup/admission events, exact instruction, configuration, all policy input images, model responses, native actions and video. File manifests distinguish original frozen hashes from public hashes after host-path redaction.</p><p class="links"><a id="report" target="_blank" rel="noopener">Full report ↗</a><a id="json" target="_blank" rel="noopener">Results JSON ↗</a><a id="protocol-file" target="_blank" rel="noopener">Protocol JSON ↗</a><a id="sources" target="_blank" rel="noopener">Source identities ↗</a></p><div id="checkpoints"></div></section>
9
- <p id="load-error" role="alert"></p></main><footer><a href="https://huggingface.co/spaces/RLE-Bench/programmable-vla">Hugging Face Space ↗</a><a href="https://huggingface.co/datasets/RLE-Bench/programmable-vla">Evidence Dataset ↗</a><span>Existing Easy, Hard and historical panels retained.</span></footer></body></html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <meta name="description" content="Compare coding agents on physical tasks. Native success rates, token usage, recorded behavior, full sessions and reproducible evidence.">
7
+ <meta name="theme-color" content="#756ee4">
8
+ <title>RoboTwin 2.0-Plus — Programmable VLA</title>
9
+ <link rel="icon" href="icon.svg" type="image/svg+xml">
10
+ <link rel="stylesheet" href="style.css?v=bd1a59147e1d">
11
+ <script src="usage-metrics.js?v=330e92f8eb96" defer></script>
12
+ <script src="app.js?v=plus-reference-20261102" defer></script>
13
+ <link rel="stylesheet" href="policy.css">
14
+ </head>
15
+ <body>
16
+ <a class="skip" href="#main">Skip to content</a>
17
+ <header class="site-header"><div class="header-inner"><a class="brand" href="#overview" aria-label="Programmable VLA home"><img src="assets/kinex-logo.svg" width="34" height="34" alt="Kinex"><span>programmable<span class="brand-divider">/</span><span class="brand-benchmark">vla</span></span></a><nav aria-label="Main navigation"><a href="../index.html#overview">Easy</a><a href="../hard/index.html#overview">Hard</a><a href="#overview" data-nav="overview">Plus</a><a href="#tasks" data-nav="tasks">Explore tasks</a><a href="#methodology" data-nav="methodology">Protocol</a></nav><a class="header-link" href="https://huggingface.co/spaces/RLE-Bench/programmable-vla" target="_blank" rel="noopener">Hugging Face <span aria-hidden="true">↗</span></a></div></header>
18
+ <main id="main" tabindex="-1"><div class="loading"><span class="spinner"></span>Loading benchmark results…</div></main>
19
+ <footer class="site-footer"><div><img src="assets/kinex-logo.svg" width="22" height="22" alt=""><strong>Programmable VLA</strong><span class="footer-org">by RLE-Bench</span></div><div><a data-result-file="data.json" href="https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/b07d88579523eeeefdf7ad2ca14ee65340af5d4e/hard/data.json" target="_blank">Plus results JSON</a><a data-result-file="sources.json" href="https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/b07d88579523eeeefdf7ad2ca14ee65340af5d4e/hard/sources.json" target="_blank">Data sources</a><a href="https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/b2d67a67dd2f9d8e12c1f8db13ba8de309739883/manifest.json" target="_blank">Manifest</a><span id="updated"></span></div></footer>
20
+ <dialog id="image-viewer" aria-labelledby="image-caption"><div class="viewer-toolbar"><span id="image-caption"></span><a id="image-original" target="_blank" rel="noopener">Open original ↗</a><button class="icon-button" id="close-viewer" aria-label="Close image">×</button></div><div class="viewer-image"><button id="previous-image" class="viewer-arrow" aria-label="Previous image">←</button><img id="large-image" alt="Recorded agent observation"><button id="next-image" class="viewer-arrow" aria-label="Next image">→</button></div><p>Recorded agent observation · Use ← → to browse · Esc to close</p></dialog>
21
+ <div id="toast" role="status" aria-live="polite"></div>
22
+ <noscript><p>This site needs JavaScript. <a data-result-file="data.json" href="https://huggingface.co/datasets/RLE-Bench/programmable-vla/resolve/b07d88579523eeeefdf7ad2ca14ee65340af5d4e/hard/data.json">Download the complete results index.</a></p></noscript>
23
+ </body>
24
+ </html>
plus/policy.css ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Additional evidence panels share the reference benchmark components. */
2
+ .policy-body { padding: 24px; min-width: 0; }
3
+ .policy-images { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 20px 0; }
4
+ .policy-images figure { margin: 0; min-width: 0; }
5
+ .policy-images img { width: 100%; image-rendering: auto; border-radius: 6px; }
6
+ .policy-images figcaption { font-size: 12px; color: var(--muted); margin-top: 6px; }
7
+ .policy-body pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 600px; overflow: auto; font-size: 12px; }
8
+ .policy-body .tool-block { margin: 12px 0; }
9
+ .policy-body .policy-select { max-width: 100%; }
10
+ .policy-body .inline-links { flex-wrap: wrap; }
11
+ .policy-table { overflow: auto; margin: 16px 0; }
12
+ .policy-table table { font: 11px ui-monospace,monospace; width: max-content; min-width: 100%; }
13
+ .policy-table th,.policy-table td { padding: 6px 8px; text-align: right; }
14
+ .policy-table th { background: var(--surface); }
15
+ @media(max-width:600px) { .policy-body { padding: 16px; } .policy-images { gap: 8px; } }
plus/style.css CHANGED
@@ -1 +1,107 @@
1
- *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f9fc;color:#222437;font:15px/1.65 system-ui,-apple-system,sans-serif}a{color:#5c52c6;text-decoration:none}a:hover{text-decoration:underline}header{background:#fff;border-bottom:1px solid #e3e4ee;padding:20px max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:8px;color:#292b40;font-weight:750;font-size:20px}.brand span{color:#9794c8}nav{display:flex;gap:25px}nav a{color:#62657a}nav [aria-current]{color:#5c52c6;font-weight:750}main{max-width:1240px;margin:56px auto;padding:0 24px}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;color:#70689f}h1{font-size:clamp(32px,5vw,52px);line-height:1.2;letter-spacing:-.04em;margin:14px 0}h2{font-size:22px;line-height:1.3;margin:0 0 12px}h3{font-size:19px;margin:0 0 12px}.lead{font-size:19px;color:#666b81;margin-bottom:30px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0}.card,.panel{background:#fff;border:1px solid #e2e4ef;border-radius:14px;padding:25px}.card h2{font-size:16px}.score{font-size:38px;font-weight:750;letter-spacing:-.04em}.card p{margin:2px 0;color:#6d7184}.panel{margin:24px 0}.panel>p{color:#64697e}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-variant-numeric:tabular-nums}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#74788a;background:#f8f9fc}td,th{padding:11px 14px;border-bottom:1px solid #eef0f5}td small{color:#74788a;margin-left:8px}button{cursor:pointer;font:inherit;border:0;background:transparent;color:#544ac0;padding:0;text-align:left}button:hover{text-decoration:underline}.filters{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px}label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#656a81;font-weight:600}select,input{font:14px system-ui;padding:11px 12px;border:1px solid #d7dae7;border-radius:7px;background:#fff;color:#262a40;min-width:200px}.explorer{display:grid;grid-template-columns:1fr 1.15fr;gap:26px}.task-list{max-height:720px;overflow:auto;border:1px solid #e5e7f0;border-radius:9px}.task-list th{position:sticky;top:0}.task-list tr.selected{background:#f0edff}.success{color:#218153}.failure{color:#a64b59}.verdict{font-weight:650}#detail{min-width:0;border-left:1px solid #e6e8f1;padding-left:26px}video{display:block;width:100%;max-height:350px;background:#151727;border-radius:8px;margin:16px 0}.instruction{background:#f5f3fc;border-left:3px solid #8b80db;padding:13px 16px;color:#42415b;overflow-wrap:anywhere}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px;margin:18px 0}.metrics div{background:#f8f9fc;padding:9px 12px;border-radius:6px}.metrics span{display:block;color:#777c90;font-size:11px;text-transform:uppercase}.download{display:inline-block;background:#665bd0;color:#fff;padding:10px 15px;border-radius:7px;margin:10px 12px 8px 0}small{color:#777c90}.links{display:flex;gap:20px;flex-wrap:wrap}details{background:#f8f9fc;border:1px solid #e4e6f0;border-radius:8px;padding:14px 18px;margin:18px 0}summary{cursor:pointer;font-weight:600}code{background:#f2f2f8;padding:2px 5px;border-radius:3px}footer{max-width:1240px;margin:30px auto;padding:24px;display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid #dddfea;color:#777c90;font-size:13px}#checkpoints{font-size:13px;overflow-wrap:anywhere}#load-error{color:#a64b59}@media(max-width:800px){header{padding:16px;flex-wrap:wrap;gap:12px}.brand{font-size:18px}nav{gap:20px}main{margin-top:32px;padding:0 16px}.cards{gap:9px}.card{padding:14px}.card h2{font-size:13px}.score{font-size:28px}.panel{padding:18px}.explorer{grid-template-columns:1fr}.task-list{max-height:330px}#detail{border-left:0;border-top:1px solid #e6e8f1;padding:22px 0 0}td,th{padding:9px;font-size:13px}.filters{display:grid;grid-template-columns:1fr}.filters label{min-width:0}.table-scroll table{table-layout:fixed}.table-scroll th{overflow-wrap:anywhere;font-size:10px}.table-scroll th:first-child{width:31%}.table-scroll td small{display:block;margin:0}select,input{min-width:0;width:100%}.lead{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#272b34;background:#f7f8fb;font-size:14px;--ink:#272b34;--muted:#687083;--line:#e5e7ef;--purple:#756ee4;--purple-dark:#5d56ca;--lavender:#f0effd;--green:#1e755c;--red:#a14b47;--amber:#9c752f;--radius:14px;color-scheme:light;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--purple-dark)}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b7b2ff;outline-offset:3px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:47px;font-weight:680;line-height:1.13}h2{font-size:21px;font-weight:650}h3{font-size:15px;font-weight:650}p{line-height:1.65}small{font-size:11px}code,pre{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}code{font-size:.86em;overflow-wrap:anywhere}pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:12px;font-variant-ligatures:none}[hidden]{display:none!important}.site-header{background:#fffffff2;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.header-inner{max-width:1440px;margin:auto;padding:0 46px;min-height:78px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto;white-space:nowrap}.brand>span{font-size:23px;font-weight:730;letter-spacing:-.8px;display:flex;align-items:center;gap:11px}.brand-divider{font-size:21px;color:#d3d4df;font-weight:400}.brand-benchmark{font-size:16px;font-weight:500;letter-spacing:-.35px}.header-inner nav{display:flex;align-items:stretch;gap:25px;height:78px}.header-inner nav a{display:flex;align-items:center;border-bottom:2px solid transparent;font-size:12px;font-weight:550;color:#707686}.header-inner nav a[aria-current=page]{color:var(--purple-dark);border-color:var(--purple)}.header-link{font-size:11px;border-left:1px solid var(--line);padding-left:25px;color:#6c7281;white-space:nowrap}main{max-width:1440px;padding:34px 46px 60px;margin:auto;min-height:70vh;outline:none}main>section,main>div{min-width:0}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.45px;font-weight:650;color:var(--purple);line-height:1.5}.hero{display:flex;align-items:center;justify-content:space-between;gap:40px;margin:7px 0 32px}.hero .eyebrow{margin-bottom:17px}.tiny-logo{font-size:15px;margin-right:4px}.hero h1 span{color:var(--purple)}.hero p{color:var(--muted);font-size:14px;line-height:1.7;margin-top:16px}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;text-align:center;min-width:325px;margin-top:40px}.hero-facts>div{padding:0 20px;border-left:1px solid var(--line)}.hero-facts>div:first-child{border:0}.hero-facts strong{display:block;font-size:29px;letter-spacing:-1px;font-weight:600;line-height:1.4}.hero-facts>div span{font-size:10px;white-space:nowrap;color:var(--muted)}.progress-label{grid-column:1/-1;font-size:10px;color:var(--muted);margin-top:25px;display:flex;align-items:center;justify-content:center;gap:7px}.progress-label i{width:6px;height:6px;background:var(--purple);border-radius:50%}.agent-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.agent-card{position:relative;display:block;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:19px 21px 17px;overflow:hidden;box-shadow:0 3px 5px #29274903;transition:transform .18s,border-color .18s,box-shadow .18s}.agent-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--variant)}.agent-card:hover{color:inherit;transform:translateY(-3px);border-color:var(--variant);box-shadow:0 8px 22px #3029660c}.card-header{display:flex;align-items:center;justify-content:space-between;gap:5px}.agent-name,.agent-inline{display:flex;align-items:center;gap:9px;font-weight:650}.agent-name{font-size:15px}.agent-logo{object-fit:contain;flex-shrink:0}.state-label{font-size:8px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:3px 5px}.card-model{font-size:11px;color:var(--muted);margin-top:9px}.separator{color:#c7c7d8;margin:0 3px}.card-rate{display:flex;align-items:baseline;gap:9px;margin:24px 0 16px}.card-rate strong{font-size:35px;font-weight:600;letter-spacing:-1.6px;font-variant-numeric:tabular-nums;color:var(--variant);line-height:1}.card-rate>span{font-size:10px;color:var(--muted)}.card-stats{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted)}.card-stats b{font-weight:600;color:#535a6a}.completion-track{height:4px;background:#eff0f5;border-radius:5px;overflow:hidden;margin:13px 0}.completion-track>span{display:block;height:100%;background:var(--variant,var(--purple));border-radius:5px}.card-bottom{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted)}.card-bottom>span:last-child{color:var(--variant);font-weight:600}.planned .card-rate strong{color:#b9bccb}.scope-note{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);line-height:1.6;margin:14px 0 26px}.scope-note>span:first-child{display:flex;align-items:center;gap:7px}.scope-note .status-dot{background:#b1afc8}.scope-note.single{display:block;margin:17px 0 28px;max-width:1050px;font-size:11px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 25px}.section-heading .eyebrow{margin-bottom:5px}.section-heading p{font-size:11px;color:var(--muted);margin-top:6px}.section-heading.bare{padding:0;margin-bottom:17px}.segmented{display:inline-flex;flex-shrink:0;align-items:center;background:#f4f5f9;border:1px solid #eeeff4;border-radius:7px;padding:3px;gap:2px}.segmented button{padding:7px 10px;border-radius:5px;color:var(--muted);font-size:10px;white-space:nowrap;font-weight:550}.segmented button[aria-pressed=true]{color:var(--purple-dark);background:#fff;box-shadow:0 1px 4px #20202f0a}.table-scroll{overflow-x:auto;overscroll-behavior-x:contain}table{width:100%;border-collapse:collapse;table-layout:fixed}th,td{padding:15px 22px;text-align:left;border-bottom:1px solid #eef0f5;vertical-align:middle;font-size:12px}thead th{font-size:11px;font-weight:600;color:#646b7a;background:#fafbfe;border-top:1px solid var(--line);padding-top:14px;padding-bottom:14px}th small,td small{display:block;font-size:10px;color:var(--muted);font-weight:400;line-height:1.5;margin-top:4px}tbody th{font-weight:550}tbody tr:last-child>*{border-bottom:0}tbody tr:hover{background:#fafbfe}.comparison-table th:first-child{width:25%}.comparison-table th:not(:first-child),.comparison-table td{text-align:center}.comparison-table td{padding:0}.comparison-table tbody th a{display:flex;align-items:center;gap:9px}.comparison-table tbody th small{padding-left:28px}.family-code{font-family:ui-monospace,monospace;color:#b5b9c8;font-size:10px}.subtle-arrow{color:#b2b5c8;font-size:10px}.comparison-cell{display:block;padding:14px 30px;min-height:83px}.comparison-cell:hover{background:#f2f1fd}.comparison-cell>div:first-child{display:flex;align-items:baseline;justify-content:center;gap:7px;white-space:nowrap}.comparison-cell strong{font-size:17px;font-weight:600;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.comparison-cell>div>span{font-size:10px;color:var(--muted)}.comparison-cell>small{display:block;font-size:9px;color:#707587;margin-top:5px}.mini-track{height:3px;background:#eef0f5;border-radius:4px;overflow:hidden;margin-top:9px}.mini-track span{height:100%;display:block;border-radius:4px}.empty-cell strong{color:#b9becc}.empty-cell{color:var(--muted)}.token-table th:first-child{width:25%}.token-table th:not(:first-child),.token-table td{text-align:right;font-variant-numeric:tabular-nums}.token-table td{font-weight:550;font-size:13px}.token-table strong{font-size:15px;color:var(--purple-dark);font-weight:650}.token-table .agent-inline{text-align:left;line-height:1.5;font-size:12px}.token-track{display:flex;width:100%;height:5px;margin-top:9px;gap:0;border-radius:3px;background:#f4f5f9;overflow:hidden}.token-track i{display:block;height:100%;min-width:0}.cached{background:#c2bef7}.uncached{background:#7770de}.output{background:#3a859f}.panel-footnote{border-top:1px solid var(--line);padding:14px 25px;display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.panel-footnote p{font-size:10px;color:var(--muted);max-width:750px;line-height:1.6}.legend{display:flex;gap:13px;font-size:9px;color:var(--muted);white-space:nowrap}.legend i{width:6px;height:6px;display:inline-block;margin-right:5px;border-radius:2px}.task-browser{margin-top:35px;scroll-margin-top:102px}.heading-count{display:inline-block;vertical-align:middle;font-size:11px;letter-spacing:0;font-weight:500;background:#ecebf9;color:var(--purple);padding:4px 7px;border-radius:5px;margin-left:6px}.button{display:inline-flex;justify-content:center;align-items:center;gap:6px;font-size:11px;line-height:1.5;font-weight:550;border:1px solid var(--line);border-radius:6px;padding:9px 12px;background:white;color:#5f6779;white-space:nowrap}.button:hover{border-color:#c1bcec;background:#f9f8fe;color:var(--purple-dark)}.button.small{padding:6px 9px;font-size:10px}.button.secondary{background:#fff}.text-button{font-size:11px;color:var(--purple-dark);font-weight:550;padding:0}.text-button:hover{text-decoration:underline}.filters{display:flex;align-items:center;gap:9px;padding:17px 20px;flex-wrap:wrap}.search-field{display:flex;align-items:center;flex:1;min-width:220px;gap:8px;background:#f8f9fc;border:1px solid var(--line);border-radius:7px;padding:0 10px}.search-field>span{font-size:23px;color:#a1a7b7;line-height:1}.search-field input{border:0;background:transparent;width:100%;min-width:0;padding:10px 0;outline-offset:1px}input,select{font-size:11px;padding:9px 10px;color:#606879;border:1px solid var(--line);border-radius:6px;background:#fff;min-width:0}input::placeholder{color:#a1a6b5}select{max-width:100%;cursor:pointer}.task-table th:first-child{width:38%}.task-table th:not(:first-child),.task-table td{text-align:center}.task-table th small{font-size:9px}.task-title{display:block;font-size:12px;line-height:1.65;font-weight:550}.row-arrow{color:#a5a7bc;opacity:0;padding-left:5px}.task-title:hover .row-arrow{opacity:1}.task-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#707587;font-size:9px;margin-top:5px;font-weight:400}.task-meta code{font-size:9px}.native-marker{color:#8a642c;font-size:8px;white-space:nowrap}.focus-column{background:#756ee407}.badge{font-size:10px;font-weight:550;display:inline-flex;align-items:center;gap:5px;line-height:1.4;border-radius:5px;padding:5px 8px;background:#f2f3f7;color:#687083;white-space:nowrap}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge.pass{background:#eaf5f0;color:var(--green)}.badge.fail{background:#faefed;color:var(--red)}.badge.invalid{background:#fff4e4;color:#a78345}a.badge:hover{box-shadow:0 0 0 1px currentColor}.badge.pending .status-dot{background:none;border:1px solid currentColor;width:6px;height:6px}.table-footer{padding:13px 22px;display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);flex-wrap:wrap}.table-footer .text-button{font-size:10px}.numeric{font-variant-numeric:tabular-nums}.methodology{margin-top:32px;scroll-margin-top:98px}.methodology>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 25px;cursor:pointer}.methodology summary .eyebrow{display:block;margin-bottom:6px}.methodology summary strong{font-size:16px;letter-spacing:-.4px}.summary-plus{font-size:23px;color:#a4a1cc;font-weight:300}.methodology[open] .summary-plus{transform:rotate(45deg)}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 35px;padding:2px 25px 25px}.method-grid h3{font-size:12px;margin-bottom:7px}.method-grid p{font-size:11px;color:var(--muted)}.method-links{display:flex;gap:24px;padding:18px 25px;border-top:1px solid var(--line);font-size:11px;color:var(--purple-dark);flex-wrap:wrap}.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin:0 0 25px;flex-wrap:wrap}.breadcrumbs>span:nth-child(even){color:#c4c7d2}.variant-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:28px}.variant-tab{padding:13px 16px;border:1px solid var(--line);background:white;border-radius:9px;display:block}.variant-tab:hover{border-color:#b5aff1}.variant-tab.active{border-color:var(--purple);background:#f3f2ff;box-shadow:0 0 0 2px #756ee409}.tab-agent{display:flex;align-items:center;gap:8px;font-size:12px;min-width:0}.tab-agent .badge{margin-left:auto;font-size:9px;padding:3px 5px}.tab-agent img,.tab-agent .agent-logo{object-fit:contain;flex-shrink:0}.tab-model{display:block;color:var(--muted);font-size:10px;margin-top:7px;padding-left:27px}.report-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:8px 0 25px}.report-hero .eyebrow{margin-bottom:10px}.report-hero h1{font-size:34px;letter-spacing:-1.2px}.report-hero p{font-size:12px;color:var(--muted);margin-top:10px}.muted-times{color:#b7b7cc;font-weight:400;padding:0 3px}.report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:#fff;border-radius:var(--radius);margin:25px 0 20px;padding:20px 0}.metric{padding:0 23px;border-right:1px solid var(--line);min-width:0}.metric:last-child{border:0}.metric-label{display:block;font-size:10px;color:var(--muted);margin-bottom:8px;font-weight:500}.metric>strong{display:block;font-size:26px;line-height:1.2;font-weight:620;letter-spacing:-.85px;font-variant-numeric:tabular-nums}.metric>small{display:block;font-size:9px;color:#707587;margin-top:7px;line-height:1.5}.family-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.family-card{text-align:left;background:white;border:1px solid var(--line);border-radius:9px;padding:14px}.family-card:hover,.family-card.active{border-color:#b3acef;background:#faf9ff}.family-card>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:11px}.family-card strong{font-weight:600}.family-card>div>span{color:var(--purple);font-weight:550;font-variant-numeric:tabular-nums}.family-card small{display:block;font-size:9px;color:var(--muted);margin-top:8px}.family-card .mini-track{margin-top:12px}.task-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.task-heading .eyebrow{margin-bottom:11px}.task-heading h1{font-size:32px;line-height:1.25;letter-spacing:-1px}.task-heading p{margin-top:9px;color:var(--muted);font-size:12px}.task-arrows{display:flex;gap:6px;flex-shrink:0}.task-arrows .button{padding:8px 12px;font-size:14px}.detail-nav{display:flex;align-items:center;gap:23px;border-bottom:1px solid var(--line);margin-bottom:23px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.detail-nav a,.disabled-tab{display:inline-flex;align-items:center;gap:6px;padding:0 1px 14px;font-size:12px;font-weight:550;border-bottom:2px solid transparent;flex-shrink:0}.detail-nav a.active{color:var(--purple-dark);border-bottom-color:var(--purple)}.detail-nav a>span{background:#edecf8;padding:2px 5px;border-radius:4px;color:#8b86ad;font-size:9px;font-weight:500}.disabled-tab{color:#b6bbc8;font-weight:400}.detail-model{font-size:10px;color:var(--muted);margin-left:auto;padding:0 0 14px}.episode-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}.video-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.video-caption{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:9px;color:var(--muted);gap:10px}.video-caption>span:first-child{display:flex;align-items:center;gap:6px;font-weight:550}.video-caption .status-dot{color:var(--purple)}video{display:block;width:100%;max-height:610px;background:#161822;object-fit:contain}.video-toolbar{padding:12px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.video-toolbar>div{display:flex;gap:7px}.video-toolbar label{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:8px}.video-toolbar select{padding:6px;font-size:10px}.media-note{font-size:9px;color:var(--muted);line-height:1.65;margin:10px 2px 0}.result-panel{padding:20px;margin:0}.result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:21px}.result-head .eyebrow{font-size:9px}.result-number{font-size:30px;letter-spacing:-1px;font-weight:620;line-height:1.2}.result-number>span{display:block;font-size:11px;letter-spacing:0;font-weight:400;color:var(--muted);margin-top:4px}.result-panel .completion-track{margin:15px 0 20px;height:3px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;margin:0;font-size:11px;line-height:1.5}.facts dt{color:var(--muted)}.facts dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.result-links{border-top:1px solid var(--line);margin-top:18px;padding-top:16px;display:flex;gap:14px;font-size:10px;color:var(--purple-dark)}.native-note{display:flex;align-items:flex-start;gap:13px;border:1px solid #ecdfc6;background:#fffcf6;border-radius:10px;padding:17px 20px;margin:22px 0}.note-symbol{width:19px;height:19px;flex-shrink:0;border:1px solid #dec494;color:#b18a46;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:650}.native-note strong{font-size:11px;font-weight:650;color:#86612e}.native-note p{font-size:12px;line-height:1.65;margin-top:6px;color:#6f6555}.inline-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:10px;color:var(--purple-dark);line-height:1.5}.native-note .inline-links{margin-top:10px;color:#85622e}.episode-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px 0;margin:23px 0}.episode-metrics .metric>strong{font-size:25px}.detail-two-column{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:start}.detail-two-column .panel{margin-bottom:20px}.instruction-panel .section-heading{flex-wrap:wrap;gap:14px}.instruction-panel .section-heading h2,.episode-analysis h2{font-size:17px}.instruction-panel .section-heading p{font-size:10px}.instruction-text{font-size:13px;line-height:1.85;padding:0 25px 22px;white-space:pre-wrap;overflow-wrap:anywhere}.instruction-footer{padding:13px 25px;background:#fbfbfe;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted)}.analysis-body{padding:0 25px 23px;font-size:12px;color:#737888;line-height:1.75}.analysis-body>p{line-height:1.85}.analysis-body details{margin:17px 0}.analysis-body summary{font-size:11px;color:var(--purple-dark);cursor:pointer}.analysis-entry{margin-top:17px;border-left:2px solid #e5e1fa;padding-left:12px}.analysis-entry>span{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:#75688b}.analysis-entry p{margin-top:4px;font-size:11px;line-height:1.8}.detail-launchers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:3px}.detail-launchers>a{display:flex;align-items:center;gap:14px;padding:20px 23px;background:#f1f0fc;border:1px solid #e4e1f9;border-radius:10px}.detail-launchers>a>span:last-child{margin-left:auto;color:var(--purple)}.launcher-icon{font-size:22px;color:var(--purple)}.detail-launchers strong{display:block;font-size:12px;font-weight:600}.detail-launchers div>span{display:block;font-size:10px;color:#716784;margin-top:5px}.session-toolbar{display:flex;align-items:center;gap:10px;padding:15px 23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafbfe;flex-wrap:wrap}.session-toolbar input{flex:1;min-width:180px}.session-toolbar #event-count{font-size:10px;color:var(--muted);white-space:nowrap}.timeline{padding:6px 25px 10px}.session-entry{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:23px 0;border-bottom:1px solid #eef0f5}.session-entry:last-child{border:0}.event-index{font-size:10px;color:#b8bccb;text-align:center;padding-top:3px;font-variant-numeric:tabular-nums}.event-header{display:flex;align-items:center;gap:9px;margin-bottom:12px;min-width:0;flex-wrap:wrap}.event-header strong{font-size:11px;font-weight:650}.event-header code{font-size:10px;background:#f0effb;color:#6a5cad;padding:3px 5px;border-radius:4px}.event-header time{margin-left:auto;color:#74778a;font-size:9px;font-variant-numeric:tabular-nums}.error-tag{font-size:8px;padding:3px 5px;border-radius:4px;color:#a14b47;background:#fceeed;text-transform:uppercase;letter-spacing:.5px}.event-error .event-index{color:#c68177}.message-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.8;color:#626979;max-width:1080px}.tool-block{margin:7px 0;border:1px solid #e5e7ef;background:#fafbfe;border-radius:7px;overflow:hidden}.tool-block summary{cursor:pointer;display:flex;align-items:center;gap:12px;font-size:10px;padding:11px 13px;color:#687181;list-style:none}.tool-block summary:before{content:'›';color:#9a9cb6;font-size:15px;line-height:1;flex-shrink:0}.tool-block[open] summary:before{transform:rotate(90deg)}.tool-block summary>span:first-of-type{white-space:nowrap}.tool-block summary code,.output-excerpt{color:#707587;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-size:10px;font-weight:400}.tool-block pre{border-top:1px solid var(--line);padding:15px;background:#fff;max-height:560px;overflow:auto;color:#535e70;font-size:11px}.error-block{border-color:#eedbd7;background:#fff9f7}.event-id{font-family:ui-monospace,monospace;font-size:8px;color:#b3b8c8;overflow-wrap:anywhere;margin-top:10px}.observation{display:inline-flex;flex-direction:column;padding:0;margin:8px 9px 5px 0;border:1px solid #e5e5f0;border-radius:7px;overflow:hidden;background:#fff;max-width:230px;vertical-align:top}.observation img{max-width:100%;height:150px;object-fit:contain;background:#f4f5f9;display:block}.observation>span{font-size:9px;color:#766a91;padding:7px 10px;display:flex;justify-content:space-between;gap:20px;width:100%}.session-more{display:flex;justify-content:center;padding:18px}.observation-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:24px}.gallery-image{padding:0;border:1px solid var(--line);border-radius:9px;background:#fafbfe;overflow:hidden}.gallery-image img{width:100%;height:180px;object-fit:contain;display:block}.gallery-image>span{display:flex;justify-content:space-between;padding:12px;font-size:10px;color:var(--muted);background:white}.file-browser{display:grid;grid-template-columns:280px minmax(0,1fr);border-top:1px solid var(--line);min-height:460px}.file-list{border-right:1px solid var(--line);background:#fcfcfe;padding:15px 10px;max-height:680px;overflow:auto}.file-list-title{font-size:10px;color:var(--muted);padding:0 10px 14px}.file-item{width:100%;text-align:left;border-radius:6px;display:flex;align-items:flex-start;gap:9px;font-family:ui-monospace,monospace;font-size:10px;padding:11px 10px;line-height:1.6;color:#778093;margin-bottom:4px;word-break:break-word}.file-item.active{background:#eeecfd;color:var(--purple-dark)}.file-item:hover{background:#f1f0fc}.file-extension{font-size:8px;color:#9e97c4;border:1px solid #ddd9f0;border-radius:3px;line-height:1;padding:4px 3px;flex-shrink:0;margin-top:1px}.file-preview{min-width:0;display:flex;flex-direction:column}.file-toolbar{padding:14px 17px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);background:#fff}.file-toolbar>code{font-size:10px;line-height:1.7;color:#687084}.file-toolbar>div{display:flex;gap:7px;flex-shrink:0}.file-caption{padding:10px 18px;font-size:9px;color:#707587;background:#fcfcfe;border-bottom:1px solid #f0f1f6}.file-preview pre{padding:20px;overflow:auto;max-height:620px;flex:1;color:#556078;background:#fdfdff;font-size:11px;tab-size:4}.artifact-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:22px}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.evidence-intro{margin:8px 0 20px}.evidence-intro p{font-size:12px;color:var(--muted);margin-top:8px}.evidence-card{padding:23px;margin:0}.evidence-card p{font-size:11px;color:var(--muted);margin:7px 0 17px}.evidence-card>div{display:flex;gap:9px;flex-wrap:wrap}.evidence-card a{font-size:10px;border:1px solid #e9e6f8;border-radius:5px;padding:7px 9px;color:#6d5ba6;background:#fdfcfe}.evidence-card a:hover{background:#f1effd;border-color:#c9c1e8}.provenance-panel{margin-top:23px}.provenance-list{display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px 22px;margin:0;padding:0 25px 25px;font-size:11px;line-height:1.65}.provenance-list dt{color:var(--muted)}.provenance-list dd{margin:0;overflow-wrap:anywhere}.provenance-list code{font-size:10px}.tag{display:inline-block;font-size:8px;border-radius:3px;padding:3px 5px;background:#f0eff9;color:#9990b4;margin-left:5px}.protocol-json{border-top:1px solid var(--line);padding:17px 25px}.protocol-json summary{cursor:pointer;color:var(--purple-dark);font-size:11px}.protocol-json pre{max-height:450px;overflow:auto;margin-top:17px;background:#fafbfe;border:1px solid var(--line);padding:15px;border-radius:6px}.evidence-preview-panel pre{max-height:600px;overflow:auto;margin:0 25px 25px;padding:20px;background:#fafbfe;border:1px solid var(--line);border-radius:7px;font-size:11px}.history-row{padding:23px 25px;border-top:1px solid var(--line);display:grid;grid-template-columns:140px minmax(0,1fr);gap:25px}.history-outcome small{display:block;font-size:9px;color:var(--muted);margin-top:9px}.history-row strong{font-size:12px;font-weight:550;text-transform:capitalize}.history-row p{margin-top:6px;font-size:11px;color:var(--muted)}.history-row code{font-size:9px;word-break:break-word}.history-stats{display:block;font-size:10px;color:#707587;margin-top:6px}.history-row details{margin:12px 0;font-size:11px}.history-row summary{cursor:pointer;color:var(--purple-dark)}.history-row .inline-links{margin-top:15px}.pending-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:23px;align-items:start}.pending-panel{background:linear-gradient(135deg,#fff,#f3f2fd);border:1px dashed #d5d0ee;border-radius:var(--radius);padding:30px;text-align:center}.pending-orbit{display:block;font-size:43px;color:#bbb4e6;margin:0 0 13px;line-height:1}.pending-panel h2{font-size:22px;margin-top:9px}.pending-panel>p{font-size:12px;color:var(--muted);margin-top:9px}.pending-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:30px 0 24px}.pending-facts .metric{padding:0 10px}.pending-facts .metric>strong{font-size:22px}.pending-facts .metric-label{font-size:9px}.pending-panel .subtle{font-size:11px;line-height:1.8}.empty-state{padding:55px 25px;text-align:center;color:var(--muted);font-size:12px;line-height:1.9}.empty-state h1,.empty-state h2{margin-bottom:15px;color:var(--ink)}.empty-state .button{margin-top:15px}.inline-error{font-size:11px;padding:15px;color:var(--red)}.loading{display:flex;justify-content:center;align-items:center;gap:12px;padding:80px 20px;font-size:12px;color:var(--muted)}.spinner{width:18px;height:18px;border:2px solid #e9e7fb;border-top-color:var(--purple);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.site-footer{max-width:1348px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0 35px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.site-footer>div{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.site-footer strong{font-size:11px;color:#555a6a;font-weight:550;margin-left:-7px}.footer-org{color:#707587}.skip{position:absolute;top:-60px;left:15px;z-index:40;background:white;padding:10px}.skip:focus{top:10px}dialog{border:1px solid #424352;padding:0;border-radius:12px;width:min(1200px,94vw);max-height:92vh;background:#191b25;color:#f2f3f9;overflow:hidden}dialog::backdrop{background:#12131bcc;backdrop-filter:blur(5px)}.viewer-toolbar{display:flex;align-items:center;gap:18px;padding:14px 20px;font-size:11px;border-bottom:1px solid #343543}.viewer-toolbar>span{margin-right:auto;overflow-wrap:anywhere}.viewer-toolbar a{font-size:10px;color:#b7b0ed;white-space:nowrap}.icon-button{font-size:25px;color:#adb0c1;padding:0 5px}.viewer-image{display:flex;align-items:center;justify-content:space-between;min-height:180px;padding:15px;gap:10px}.viewer-image img{max-width:calc(100% - 95px);max-height:72vh;object-fit:contain;display:block}.viewer-arrow{font-size:24px;padding:10px;color:#c3bee8;border-radius:5px}.viewer-arrow:hover{background:#333140}dialog>p{text-align:center;padding:0 20px 15px;font-size:10px;color:#8f91a5}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;transition:opacity .15s,transform .15s;pointer-events:none;background:#373448;color:white;border-radius:8px;padding:12px 20px;font-size:12px;z-index:50;box-shadow:0 3px 15px #15132020;max-width:90vw}#toast.visible{opacity:1;transform:translate(-50%,0)}
2
+ @media(max-width:1150px){.header-inner{padding:0 28px;gap:22px}main{padding:29px 28px 45px}.hero-facts{min-width:290px}.hero-facts>div{padding:0 15px}.agent-card{padding:17px 15px}.card-rate{gap:6px}.card-rate strong{font-size:31px}.card-rate>span{font-size:9px}.card-stats,.card-bottom{font-size:9px}.comparison-cell{padding:14px 20px}.family-cards{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:43px}.site-footer{margin:0 28px}.report-metrics .metric{padding:0 18px}.token-table th,.token-table td{padding-left:16px;padding-right:16px}.panel-footnote{gap:20px;flex-direction:column}.detail-model{display:none}.episode-layout{grid-template-columns:minmax(0,1fr) 265px}.detail-two-column{grid-template-columns:1fr 1fr}.section-heading{padding:20px}.detail-two-column .section-heading{padding:20px}.instruction-text,.analysis-body{padding-left:20px;padding-right:20px}.observation-gallery{grid-template-columns:repeat(3,1fr)}}
3
+ @media(max-width:850px){.header-inner nav{gap:17px}.header-link{padding-left:17px}.brand>span{font-size:21px;gap:8px}.brand-benchmark{font-size:14px}.brand img{width:29px;height:29px}.brand{gap:9px}.hero{gap:15px}.hero-facts{min-width:245px}.hero-facts>div{padding:0 10px}.hero-facts>div span{font-size:9px}.hero p{font-size:12px}.agent-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-card{padding:20px}.card-rate strong{font-size:34px}.card-rate>span{font-size:11px}.card-stats,.card-bottom{font-size:11px}.scope-note{flex-direction:column;gap:4px}.comparison-table{min-width:730px}.token-table{min-width:720px}.task-table{min-width:740px}.comparison-table th:first-child{width:24%}.comparison-cell{padding:14px 21px}.report-hero h1{font-size:30px}.variant-tabs{gap:8px}.variant-tab{padding:12px 11px}.tab-agent{font-size:10px;gap:6px}.tab-model{font-size:9px;padding-left:0}.tab-agent .badge{font-size:8px;padding:3px}.report-metrics .metric{padding:0 12px}.report-metrics .metric>strong{font-size:23px}.metric>small{font-size:8px}.episode-layout{grid-template-columns:1fr}.result-panel{display:grid;grid-template-columns:1fr 2fr;gap:0 30px}.result-head{grid-column:1;align-self:start;margin:0 0 13px}.result-number{grid-column:1;grid-row:2}.result-panel .completion-track{grid-column:1;grid-row:3;align-self:center}.result-panel .facts{grid-column:2;grid-row:1/5;grid-template-columns:1fr 1fr;gap:9px}.result-links{grid-column:1;grid-row:4;margin-top:5px;flex-wrap:wrap}.detail-two-column{gap:15px}.detail-nav{gap:18px}.session-panel .section-heading{align-items:flex-start}.file-browser{grid-template-columns:220px 1fr}.pending-layout{grid-template-columns:1fr}.pending-panel{padding:25px}.pending-facts{max-width:440px;margin-left:auto;margin-right:auto}.task-heading h1{font-size:29px}.task-heading p code{font-size:10px}.tab-agent .agent-monogram,.tab-agent img{width:17px;height:17px}.observation-gallery{grid-template-columns:repeat(3,1fr)}.gallery-image img{height:150px}}
4
+ @media(max-width:600px){.header-inner{padding:0 18px;min-height:65px;gap:10px;flex-wrap:wrap}.header-inner nav{height:65px;gap:12px}.header-inner nav a{font-size:10px}.header-inner nav a:last-child{display:none}.header-link{display:none}.brand img{width:25px;height:25px}.brand>span{font-size:19px;gap:6px}.brand-benchmark{font-size:12px}.brand-divider{font-size:16px}.brand{gap:7px}.brand>span{letter-spacing:-.5px}main{padding:25px 18px 38px}.hero{display:block;margin:3px 0 24px}.hero h1{font-size:40px;letter-spacing:-1.6px}.hero .eyebrow{font-size:9px;letter-spacing:1.15px;margin-bottom:13px}.hero p{font-size:12px;margin-top:12px}.hero-facts{grid-template-columns:repeat(3,1fr);margin-top:25px;min-width:0;text-align:left;background:#eeeefa80;border-radius:9px;padding:13px 0}.hero-facts>div{padding:0 17px;border-color:#dedfed}.hero-facts strong{font-size:23px}.hero-facts>div span{font-size:9px}.progress-label{margin-top:12px;font-size:9px}.agent-cards{gap:10px}.agent-card{padding:14px 13px;border-radius:10px}.card-header{gap:4px}.agent-name{font-size:12px;gap:6px}.agent-name img,.agent-logo{object-fit:contain;flex-shrink:0}.state-label{font-size:6px;padding:3px;letter-spacing:.4px}.card-model{font-size:9px;margin-top:8px}.card-rate{display:block;margin:19px 0 13px}.card-rate strong{font-size:33px;letter-spacing:-1.5px}.card-rate>span{display:block;font-size:9px;margin-top:5px}.card-stats{display:block;line-height:1.9;font-size:9px}.card-stats>span{display:block}.card-bottom{font-size:8px;line-height:1.6;flex-direction:column;gap:5px}.completion-track{margin:10px 0}.scope-note{font-size:9px;gap:7px;margin:13px 0 23px}.scope-note>span:first-child{align-items:flex-start}.scope-note .status-dot{margin-top:5px}.panel{border-radius:11px;margin-bottom:20px}.section-heading{padding:18px;gap:14px;flex-wrap:wrap}.section-heading h2{font-size:19px}.section-heading p{font-size:10px;line-height:1.7}.segmented button{font-size:9px;padding:7px 9px}.comparison-table{min-width:660px}.comparison-table th:first-child{width:24%}.comparison-cell{padding:12px 15px;min-height:83px}.comparison-cell strong{font-size:15px}.comparison-cell>div>span{font-size:9px}.comparison-table thead th,.comparison-table tbody th{padding:13px 15px}.comparison-table tbody th a{gap:6px;font-size:11px}.comparison-table tbody th small{padding-left:21px}.comparison-table th:first-child,.task-table th:first-child{position:sticky;left:0;background:#fff;z-index:2;box-shadow:1px 0 0 var(--line)}.comparison-table thead th:first-child,.task-table thead th:first-child{background:#fafbfe}.token-table{min-width:660px}.panel-footnote{padding:15px 18px;gap:12px}.panel-footnote p{font-size:9px}.legend{font-size:8px;gap:12px}.task-browser{margin-top:26px;scroll-margin-top:85px}.heading-count{font-size:10px}.section-heading.bare{gap:10px}.button{font-size:10px;padding:8px 10px}.filters{padding:14px;gap:8px}.search-field{min-width:100%;flex-basis:100%}.filters select{flex:1;max-width:calc(50% - 4px);font-size:10px;padding:9px 7px}.task-table{min-width:665px}.task-table th:first-child{width:34%;max-width:230px}.task-table th,.task-table td{padding:13px 14px}.task-title{font-size:11px;line-height:1.6}.task-meta{font-size:8px;gap:5px}.task-meta code{font-size:8px}.task-table thead th{font-size:10px}.task-table th small{font-size:8px}.table-footer{padding:13px 15px;gap:10px;font-size:9px}.table-footer #filter-context{order:3;flex-basis:100%;font-size:8px}.methodology>summary{padding:19px 18px}.methodology summary strong{font-size:14px}.method-grid{grid-template-columns:1fr;gap:20px;padding:0 18px 20px}.method-links{padding:16px 18px;gap:14px;font-size:10px}.site-footer{margin:0 18px;flex-direction:column;align-items:flex-start;gap:19px;padding:21px 0;font-size:9px}.site-footer>div{gap:13px}.footer-org{font-size:9px}.breadcrumbs{font-size:10px;margin-bottom:21px;gap:7px}.variant-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px}.variant-tab{padding:13px 12px}.tab-agent{font-size:11px;gap:7px}.tab-agent img,.tab-agent .agent-logo{object-fit:contain;flex-shrink:0}.tab-agent .badge{font-size:8px;margin-left:auto}.tab-model{font-size:9px;margin-top:9px}.report-hero{display:block;margin-top:0}.report-hero h1{font-size:29px;line-height:1.25;letter-spacing:-1px}.report-hero p{font-size:10px;line-height:1.8}.report-hero>.button{margin-top:17px}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;overflow:hidden;margin:22px 0 18px}.report-metrics .metric{padding:17px 18px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.report-metrics .metric:nth-child(even){border-right:0}.report-metrics .metric:nth-last-child(-n+2){border-bottom:0}.report-metrics .metric>strong{font-size:25px}.metric-label{font-size:9px}.metric>small{font-size:9px}.family-cards{grid-template-columns:1fr 1fr;gap:9px}.family-card{padding:13px}.family-card>div:first-child{font-size:11px}.family-card small{font-size:9px}.scope-note.single{font-size:9px;line-height:1.8}.task-heading{gap:10px;margin-bottom:22px}.task-heading h1{font-size:27px;letter-spacing:-.8px;line-height:1.3}.task-heading .eyebrow{font-size:9px}.task-heading p{font-size:10px;line-height:1.8}.task-arrows{gap:5px;margin-top:0}.task-arrows .button{padding:6px 8px;font-size:12px}.detail-nav{gap:22px;margin-bottom:19px}.detail-nav a,.disabled-tab{font-size:11px;padding-bottom:13px}.detail-nav a>span{font-size:8px}.video-caption{font-size:8px;padding:11px 12px}.video-toolbar{padding:11px;gap:9px}.video-toolbar .button{font-size:9px;padding:6px 8px}.video-toolbar label,.video-toolbar select{font-size:9px}.video-toolbar>div{gap:5px}.media-note{font-size:8px;margin-top:9px}.episode-layout{gap:16px}.result-panel{padding:18px;gap:0 17px;grid-template-columns:1fr 1.4fr}.result-head{gap:5px;flex-direction:column;align-items:flex-start;margin-bottom:10px}.result-head .eyebrow{font-size:8px}.result-head .badge{font-size:9px}.result-number{font-size:25px}.result-number>span{font-size:9px}.facts{font-size:9px;gap:8px!important}.result-links{font-size:9px;gap:9px;margin-top:0;padding-top:12px}.native-note{padding:14px;gap:10px;margin:18px 0}.note-symbol{width:17px;height:17px;font-size:10px}.native-note strong{font-size:10px;line-height:1.6;display:block}.native-note p{font-size:11px;line-height:1.8}.native-note .inline-links{font-size:9px;gap:12px}.episode-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;margin:20px 0}.episode-metrics .metric{padding:17px 18px;border-bottom:1px solid var(--line)}.episode-metrics .metric:nth-child(2){border-right:0}.episode-metrics .metric:nth-child(n+3){border-bottom:0}.episode-metrics .metric>strong{font-size:23px}.detail-two-column{grid-template-columns:1fr;gap:0}.instruction-text{font-size:12px;line-height:1.85;padding:0 18px 20px}.instruction-footer{padding:12px 18px;font-size:9px}.analysis-body{padding:0 18px 20px;font-size:11px;line-height:1.85}.detail-launchers{grid-template-columns:1fr;gap:11px}.detail-launchers>a{padding:17px 18px}.detail-launchers strong{font-size:11px}.detail-launchers div>span{font-size:9px}.session-toolbar{padding:13px 15px;gap:9px}.session-toolbar input{min-width:100%;order:3;font-size:10px}.session-toolbar select{font-size:9px;padding:8px 7px;flex:1}.session-toolbar #event-count{font-size:9px;margin-left:auto;order:4}.session-toolbar .segmented button{padding:7px;font-size:9px}.timeline{padding:0 14px}.session-entry{grid-template-columns:18px minmax(0,1fr);gap:9px;padding:18px 0}.event-index{font-size:9px}.event-header{gap:6px;margin-bottom:10px}.event-header strong{font-size:10px}.event-header code{font-size:9px}.event-header time{font-size:8px;flex-basis:100%;margin:0}.message-text{font-size:11px;line-height:1.85}.tool-block summary{padding:10px;font-size:9px;gap:7px}.tool-block summary code,.output-excerpt{font-size:9px}.tool-block pre{padding:12px;font-size:10px;max-height:440px}.observation{max-width:100%;margin-right:0;width:100%}.observation img{width:100%;height:190px}.observation-gallery{grid-template-columns:1fr 1fr;padding:15px;gap:10px}.gallery-image img{height:130px}.gallery-image>span{font-size:9px;padding:10px}.file-browser{grid-template-columns:1fr}.file-list{max-height:210px;border-right:0;border-bottom:1px solid var(--line);padding:12px}.file-item{font-size:10px}.file-list-title{padding-bottom:10px}.file-toolbar{padding:13px;gap:8px;flex-wrap:wrap}.file-toolbar>code{font-size:9px;max-width:100%}.file-toolbar>div{margin-left:auto}.file-caption{padding:10px 14px;font-size:8px}.file-preview pre{padding:15px;font-size:10px;max-height:530px}.artifact-shortcuts,.evidence-grid{grid-template-columns:1fr;gap:15px}.evidence-card{padding:20px}.evidence-card h3{font-size:14px}.evidence-card p{font-size:10px}.evidence-card a{font-size:9px}.evidence-intro h2{font-size:20px}.evidence-intro p{font-size:11px}.provenance-list{grid-template-columns:1fr;gap:5px;padding:0 18px 20px;font-size:10px}.provenance-list dd{margin-bottom:10px}.provenance-list code{font-size:9px}.protocol-json{padding:17px 18px}.protocol-json pre{font-size:10px;padding:12px}.evidence-preview-panel pre{margin:0 18px 18px;padding:15px;font-size:10px}.history-row{grid-template-columns:1fr;gap:13px;padding:20px 18px}.history-outcome{display:flex;align-items:center;gap:10px}.history-outcome small{margin:0}.history-row p{font-size:10px}.history-row .inline-links{font-size:9px;gap:12px}.pending-panel{padding:25px 18px}.pending-facts .metric{padding:0 8px}.pending-facts .metric>strong{font-size:21px}.pending-facts .metric-label{font-size:8px}.pending-panel h2{font-size:22px}.pending-panel>p{font-size:11px}.pending-panel .subtle{font-size:10px}.viewer-toolbar{padding:12px;gap:10px;font-size:9px}.viewer-toolbar a{font-size:8px}.viewer-image{padding:8px;gap:0}.viewer-arrow{font-size:19px;padding:7px}.viewer-image img{max-width:calc(100% - 65px)}dialog>p{font-size:8px;padding:0 10px 12px}.inline-links{font-size:9px;gap:12px}.empty-state{padding:40px 18px;font-size:11px}.loading{font-size:11px;padding:65px 15px}}
5
+ @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.spinner{animation:none}}
6
+
7
+ .empty-event{color:#707587;font-size:11px;font-style:italic}.token-table .agent-inline:hover{color:var(--purple-dark)}
8
+
9
+ .eyebrow{color:var(--purple-dark)}.card-bottom>span:last-child{color:var(--purple-dark)}.family-card>div>span{color:var(--purple-dark)}.empty-cell strong{color:#7c7e92}.comparison-cell>small{color:var(--muted)}.event-id{color:#767b8e}.event-index{color:#767b8e}.file-extension{color:#776b9e}.tag{color:#76628d}.task-meta code{color:var(--muted)}.error-tag{color:#9e4947}.source-note{color:var(--muted)}
10
+
11
+ .comparison-note{padding:16px 25px;border-top:1px solid var(--line);font-size:11px;line-height:1.7;color:var(--muted)}
12
+ .instruction-diff-note{display:flex;align-items:baseline;gap:7px;padding:0 25px 15px;font-size:10px;line-height:1.7;color:var(--muted)}
13
+ .instruction-added{background:#eee9ff;color:#4c3692;border-bottom:1px solid #bbabec;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-radius:2px;padding:1px 0}
14
+ .instruction-removed{background:#fff0ed;color:#8f4640;text-decoration-color:#b76d64;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-radius:2px}
15
+ .diff-swatch{display:inline-block;flex-shrink:0;width:9px;height:9px;border-radius:2px}.diff-swatch.added{background:#eee9ff;border:1px solid #bbabec}.diff-swatch.removed{background:#fff0ed;border:1px solid #b76d64}
16
+ @media(max-width:600px){.instruction-diff-note{padding:0 18px 14px;font-size:9px}.comparison-note{padding:14px 18px;font-size:10px}}
17
+
18
+ /* Usage and price presentation: shared definitions, readable model comparisons. */
19
+ .card-stats{align-items:flex-start;font-size:12px;gap:14px}.card-cost{text-align:right}.card-cost b{font-size:17px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.card-cost small{display:block;font-size:10px;line-height:1.6;color:var(--muted)}
20
+ .card-model{font-size:12px;line-height:1.6;min-height:38px}.card-bottom{font-size:11px}.agent-cards{row-gap:18px}.scope-note{font-size:11px}
21
+ .comparison-panel{margin:36px 0}.comparison-panel>.section-heading{padding:0 0 12px;align-items:flex-start}.comparison-panel>.section-heading p{font-size:12px;max-width:570px}.comparison-panel .segmented{flex-shrink:0}.comparison-panel .segmented button{font-size:12px;padding:10px 14px}.comparison-definition{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 18px;max-width:1000px}
22
+ .model-comparison{margin-bottom:12px}.model-comparison>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px}.model-comparison>summary::-webkit-details-marker{display:none}.model-comparison>summary strong{font-size:17px;font-weight:650;letter-spacing:-.3px}.model-group-meta{display:block;font-size:12px;color:var(--muted);line-height:1.7;margin-top:4px}.model-group-count{font-size:11px;color:var(--muted);white-space:nowrap}.disclosure-arrow{display:inline-block;margin-left:12px;font-size:18px;transition:transform .15s}.model-comparison[open] .disclosure-arrow{transform:rotate(180deg)}.model-comparison[open]>summary{border-bottom:1px solid var(--line)}
23
+ .grouped-comparison{table-layout:fixed;width:100%;min-width:0}.grouped-comparison th:first-child{width:23%}.grouped-comparison thead th:not(:first-child){width:38.5%}.grouped-comparison th,.grouped-comparison td{padding:18px 24px;text-align:left;vertical-align:top}.grouped-comparison thead th{font-size:14px}.grouped-comparison tbody th{font-size:14px}.grouped-comparison tbody th small{display:block;font-size:11px;margin-top:5px;color:var(--muted)}.grouped-comparison .family-code{margin-right:8px;font-size:11px}.grouped-comparison .agent-inline{font-size:14px}.comparison-value{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.comparison-value strong{font-size:25px;font-weight:600;letter-spacing:-.65px;color:var(--variant);font-variant-numeric:tabular-nums;line-height:1.3}.comparison-value>span{font-size:11px;color:var(--muted)}.grouped-comparison .mini-track{max-width:260px;margin:10px 0}.comparison-explore{display:inline-block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:10px}.comparison-explore:hover{color:var(--purple-dark)}
24
+ .comparison-usage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0}.comparison-usage dt{font-size:11px;color:var(--muted);margin-bottom:3px}.comparison-usage dd{margin:0;font-size:20px;letter-spacing:-.4px;font-weight:550;font-variant-numeric:tabular-nums}.comparison-usage div:nth-child(3) dd{color:var(--variant)}
25
+ .usage-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin:24px 0 12px;overflow:hidden}.usage-metrics:has(>.metric:last-child:nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}.usage-metrics .metric{padding:21px 20px;border-right:1px solid var(--line);min-width:0}.usage-metrics .metric:last-child{border:0}.usage-metrics .metric>strong{font-size:28px;line-height:1.35;letter-spacing:-.7px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.usage-metrics .metric-label{font-size:11px}.usage-metrics .metric>small{font-size:11px;line-height:1.55;display:block;margin-top:5px}.usage-caption{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 16px}.usage-activity{display:flex;gap:26px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--muted);margin:18px 0 30px}.usage-activity strong{color:var(--text);font-weight:600}.usage-activity>a{margin-left:auto;font-size:11px;color:var(--purple-dark)}
26
+ .cost-breakdown{background:#fff;border:1px solid var(--line);border-radius:10px;margin:14px 0 20px;overflow:hidden}.cost-breakdown>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;font-size:13px;font-weight:600}.cost-breakdown>summary::-webkit-details-marker{display:none}.cost-breakdown[open]>summary .summary-plus{transform:rotate(45deg)}.estimate-tag{font-size:10px;color:var(--muted);font-weight:400;margin-left:8px}.cost-breakdown-body{border-top:1px solid var(--line);padding:0 18px 17px}.cost-breakdown-body>p{font-size:11px;color:var(--muted);line-height:1.75;margin:12px 0 0}.cost-breakdown .inline-links{font-size:11px;margin-top:13px;gap:15px;flex-wrap:wrap}.price-table{width:100%;border-collapse:collapse;min-width:600px;font-size:12px;line-height:1.55}.price-table th,.price-table td{padding:11px 9px;border-bottom:1px solid var(--line);font-weight:400;text-align:left}.price-table thead th{font-size:10px;color:var(--muted);font-weight:600;white-space:nowrap}.price-table tbody th{font-weight:550;white-space:nowrap}.price-table .numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.price-table tfoot th,.price-table tfoot td{border:0;font-weight:600}.coverage-note{color:var(--amber)!important}
27
+ .grouped-comparison .cost-breakdown{margin:12px 0 0}.grouped-comparison .cost-breakdown>summary{padding:11px 12px;font-size:11px}.grouped-comparison .estimate-tag{display:none}.grouped-comparison .cost-breakdown-body{padding:0 12px 12px}.grouped-comparison .price-table{min-width:550px}.grouped-comparison .price-table th:first-child{width:auto}.grouped-comparison .price-table th,.grouped-comparison .price-table td{padding:9px 7px;font-size:11px}.grouped-comparison .price-table thead th{width:auto;font-size:9px}.grouped-comparison .cost-breakdown-body>p{font-size:10px}
28
+ .single-variant{min-width:1120px}.single-variant th:first-child{width:27%}.single-variant thead th{font-size:11px}.single-variant thead th small{font-size:9px;margin-top:3px;white-space:nowrap}.single-variant td.numeric{font-size:12px;white-space:nowrap}.single-variant th,.single-variant td{padding-left:15px;padding-right:15px}.report-metrics .metric>strong{font-size:30px}.report-metrics .metric>small{line-height:1.5;font-size:11px}
29
+ @media(max-width:1000px){.usage-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.usage-metrics .metric{border-bottom:1px solid var(--line)}.usage-metrics .metric:nth-child(3){border-right:0}.usage-metrics .metric:nth-last-child(-n+2){border-bottom:0}.grouped-comparison th,.grouped-comparison td{padding:16px}.comparison-panel>.section-heading{flex-wrap:wrap}.grouped-comparison th:first-child{width:24%}.card-cost b{font-size:16px}}
30
+ @media(max-width:600px){.comparison-panel{margin:27px 0}.comparison-panel>.section-heading{gap:14px}.comparison-panel>.section-heading p{font-size:11px}.comparison-panel .segmented{width:100%;display:flex}.comparison-panel .segmented button{flex:1;font-size:11px;padding:10px 8px}.comparison-definition{font-size:11px}.model-comparison>summary{padding:17px 15px;gap:8px}.model-comparison>summary strong{font-size:15px}.model-group-meta{font-size:10px}.model-group-count{font-size:0}.disclosure-arrow{font-size:18px}.grouped-comparison{min-width:0;table-layout:fixed}.grouped-comparison th:first-child{width:24%}.grouped-comparison thead th:not(:first-child){width:38%}.grouped-comparison th,.grouped-comparison td{padding:13px 9px}.grouped-comparison tbody th{font-size:11px;overflow-wrap:anywhere}.grouped-comparison .family-code{display:none}.grouped-comparison tbody th small{font-size:9px}.grouped-comparison .agent-inline{font-size:11px;gap:5px}.grouped-comparison .agent-logo{width:17px;height:17px}.comparison-value{gap:5px}.comparison-value strong{font-size:19px;letter-spacing:-.4px}.comparison-value>span,.comparison-explore{font-size:9px}.comparison-usage{grid-template-columns:1fr;gap:8px}.comparison-usage dt{font-size:9px}.comparison-usage dd{font-size:17px}.grouped-comparison .cost-breakdown>summary{font-size:9px;padding:8px 6px;gap:3px}.grouped-comparison .cost-breakdown-body{padding:0 6px 8px}.grouped-comparison .cost-breakdown-body>p{font-size:9px}.grouped-comparison .cost-breakdown .inline-links{font-size:9px;gap:8px}.grouped-comparison .summary-plus{font-size:12px}.usage-metrics,.usage-metrics:has(>.metric:last-child:nth-child(5)){grid-template-columns:repeat(2,minmax(0,1fr))}.usage-metrics .metric{padding:17px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.usage-metrics .metric:nth-child(even){border-right:0}.usage-metrics .metric:nth-child(3){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.usage-metrics .metric:last-child:nth-child(5){grid-column:1/-1}.usage-metrics .metric>strong{font-size:25px}.usage-metrics .metric-label,.usage-metrics .metric>small{font-size:10px}.usage-caption{font-size:10px}.usage-activity{gap:10px 20px;font-size:11px}.usage-activity>a{margin-left:0}.cost-breakdown>summary{font-size:12px;padding:14px}.estimate-tag{display:block;margin:3px 0 0}.cost-breakdown-body{padding:0 13px 15px}.cost-breakdown-body>p{font-size:10px}.card-stats{font-size:10px;gap:8px}.card-cost b{font-size:16px}.card-cost small{font-size:9px}.card-model{font-size:11px;min-height:34px}.card-bottom{font-size:9px}.report-metrics .metric>strong{font-size:25px}.report-metrics .metric>small{font-size:10px}}
31
+ /* Nested rate tables have their own layout, independent of the comparison columns. */
32
+ .price-table{table-layout:auto!important;min-width:620px!important;width:100%!important}.price-table th,.price-table td{width:auto!important;max-width:none!important;white-space:nowrap}.price-table th:first-child{min-width:130px}.price-table th:nth-child(2){min-width:170px}
33
+ @media(max-width:600px){
34
+ .grouped-comparison>thead{display:none}.grouped-comparison,.grouped-comparison>tbody{display:block;width:100%}.grouped-comparison>tbody>tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line)}.grouped-comparison>tbody>tr:last-child{border-bottom:0}.grouped-comparison>tbody>tr>th{grid-column:1/-1;width:auto!important;display:flex;align-items:center;gap:10px;font-size:13px;padding:13px 15px;background:#fafaff;border-bottom:1px solid var(--line)}.grouped-comparison>tbody>tr>th small{margin:0;font-size:10px}.grouped-comparison>tbody>tr>td{display:block;min-width:0;width:auto!important;padding:15px;border-bottom:0}.grouped-comparison>tbody>tr>td:before{content:attr(data-harness);display:block;font-size:12px;font-weight:600;margin-bottom:11px;color:var(--variant)}.grouped-comparison>tbody>tr>td:last-child{border-left:1px solid var(--line)}.grouped-comparison>tbody>tr:has(.cost-breakdown[open])>td{grid-column:1/-1}.grouped-comparison>tbody>tr:has(.cost-breakdown[open])>td:last-child{border-left:0;border-top:1px solid var(--line)}.grouped-comparison .cost-breakdown>summary{font-size:11px;padding:11px 10px}.grouped-comparison .cost-breakdown-body{padding:0 10px 12px}.grouped-comparison .cost-breakdown-body>p{font-size:11px}.grouped-comparison .cost-breakdown .inline-links{font-size:10px}.comparison-value>span,.comparison-explore{font-size:10px}.comparison-usage{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.comparison-usage dt{font-size:10px}.comparison-usage dd{font-size:18px}.comparison-value strong{font-size:23px}
35
+ }
36
+
37
+ /* Full instruction comparison across the selected task catalog. */
38
+ .audit-intro{margin:8px 0 28px;max-width:900px}
39
+ .audit-intro h1{font-size:40px;margin:10px 0 15px}
40
+ .audit-intro>p{font-size:15px;color:var(--muted)}
41
+ .audit-intro .audit-selection-note{font-size:12px;margin-top:14px;max-width:790px}
42
+ .audit-summary{display:flex;flex-wrap:wrap;gap:10px 25px;padding:18px 22px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}
43
+ .audit-summary strong{color:var(--ink)}
44
+ .audit-controls .filters{flex-wrap:wrap}
45
+ .audit-controls .search-field{min-width:240px}
46
+ .audit-controls select{max-width:100%}
47
+ .audit-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:0 22px 18px;font-size:11px;color:var(--muted)}
48
+ .audit-legend{display:flex;flex-wrap:wrap;gap:12px;margin-right:auto}
49
+ .audit-family{margin-top:32px}
50
+ .audit-family-heading{display:flex;align-items:baseline;gap:12px;margin:0 0 15px;padding-bottom:12px;border-bottom:1px solid var(--line)}
51
+ .audit-family-heading h2{font-size:25px}
52
+ .audit-family-heading>span{font-size:12px;color:var(--muted)}
53
+ .audit-task{overflow:hidden;margin-bottom:16px}
54
+ .audit-task-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:19px 22px;background:#fafbfe;border-bottom:1px solid var(--line)}
55
+ .audit-task-heading h3{font-size:17px;margin-top:7px;line-height:1.4}
56
+ .audit-task-id{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
57
+ .audit-task-id code{color:var(--purple-dark);font-weight:600}
58
+ .audit-status{flex-shrink:0;font-size:10px;font-weight:600;padding:5px 9px;border-radius:5px;background:#eff1f5;color:var(--muted)}
59
+ .audit-status.changed{background:#eeeaff;color:#6253a7}
60
+ .audit-status.unchanged{background:#e9f3ed;color:#327051}
61
+ .audit-status.missing{background:#fff4de;color:#8a6621}
62
+ .audit-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
63
+ .audit-column{min-width:0;padding:19px 22px 24px}
64
+ .audit-column+.audit-column{border-left:1px solid var(--line)}
65
+ .audit-column h4{margin:0 0 7px;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
66
+ .audit-column.measured h4{color:var(--purple-dark)}
67
+ .audit-column-note{font-size:11px;color:var(--muted);margin-bottom:14px}
68
+ .audit-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.85;color:var(--ink)}
69
+ .audit-task-footer{display:flex;flex-wrap:wrap;gap:9px 18px;align-items:center;padding:13px 22px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
70
+ .audit-evidence{display:flex;flex-wrap:wrap;gap:14px;margin-left:auto}
71
+ .audit-evidence a{color:var(--purple-dark)}
72
+ .audit-episode-id{flex-basis:100%;font-size:10px;overflow-wrap:anywhere}
73
+ .audit-launcher{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;margin:25px 0;background:var(--lavender);border:1px solid #dedaf8;border-radius:var(--radius)}
74
+ .audit-launcher strong{font-size:17px}
75
+ .audit-launcher p{font-size:12px;margin-top:6px;color:var(--muted)}
76
+ .audit-launcher>span{font-size:23px;color:var(--purple-dark)}
77
+ @media(max-width:850px){.header-inner{flex-wrap:wrap}.header-inner nav{margin-left:auto}.header-link{display:none}}
78
+ @media(max-width:600px){
79
+ .header-inner{gap:0;justify-content:space-between}
80
+ .header-inner nav{height:42px;flex-basis:100%;justify-content:space-between;margin:0}
81
+ .header-inner nav a{font-size:11px}
82
+ .header-inner nav a:last-child{display:flex}
83
+ .brand{padding-top:14px}
84
+ .audit-intro h1{font-size:30px}
85
+ .audit-intro>p{font-size:13px}
86
+ .audit-summary{padding:15px;gap:8px 16px}
87
+ .audit-controls .search-field{min-width:100%}
88
+ .audit-controls select{max-width:100%;flex-basis:100%;font-size:12px}
89
+ .audit-toolbar{padding:0 15px 16px;gap:12px;font-size:10px}
90
+ .audit-task-heading{padding:16px;gap:10px}
91
+ .audit-task-heading h3{font-size:15px}
92
+ .audit-task-id{font-size:10px}
93
+ .audit-pair{grid-template-columns:1fr}
94
+ .audit-column{padding:16px}
95
+ .audit-column+.audit-column{border-left:0;border-top:1px solid var(--line)}
96
+ .audit-text{font-size:13px}
97
+ .audit-task-footer{padding:13px 16px}
98
+ .audit-evidence{margin-left:0}
99
+ .audit-launcher{padding:18px}
100
+ }
101
+
102
+ @media (min-width:601px) and (max-width:1000px){.usage-metrics:has(>.metric:last-child:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}}
103
+
104
+ .task-result{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}.task-cost{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
105
+ @media(max-width:600px){.task-result{gap:9px}.task-cost{font-size:11px}}
106
+
107
+ @media(min-width:1200px){.agent-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.agent-card{padding-left:16px;padding-right:16px}}
plus/usage-metrics.js ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 'use strict';
2
+
3
+ // Presentation values are derived; original episode usage remains unchanged.
4
+ window.UsageMetrics = (() => {
5
+ let priceData = {episodes: {}, sources: []};
6
+ const finite = v => typeof v === 'number' && Number.isFinite(v);
7
+ const signature = ep => {
8
+ const u = ep.usage || {};
9
+ return [ep.id, ep.links?.usage, u.input_tokens, u.output_tokens,
10
+ u.cached_input_tokens, u.cache_write_input_tokens, u.estimated_cost_usd ?? null];
11
+ };
12
+ function price(ep) {
13
+ const row = priceData.episodes?.[ep?.id];
14
+ return row && JSON.stringify(row.signature) === JSON.stringify(signature(ep)) ? row : null;
15
+ }
16
+ function usage(ep) {
17
+ const u = ep?.usage || {}, p = price(ep), inclusive = finite(u.input_tokens) ? u.input_tokens : null;
18
+ const cached = finite(u.cached_input_tokens) ? u.cached_input_tokens : null;
19
+ const cacheWrite = finite(u.cache_write_input_tokens) && u.cache_write_input_tokens >= 0 ? u.cache_write_input_tokens : null;
20
+ const fresh = inclusive != null && cached != null && cacheWrite != null && inclusive >= cached + cacheWrite
21
+ ? inclusive - cached - cacheWrite : null;
22
+ const writeBasis = u.cache_write_basis || (u.usage_source === 'provider-raw' ? 'provider-reported'
23
+ : ep?.harness === 'codex' ? 'codex-native-counter'
24
+ : u.usage_source === 'claude-native' ? 'claude-native-counter'
25
+ : u.usage_source === 'pi-session' ? 'pi-session-counter' : 'recorded-counter');
26
+ const cacheLow = cached ?? (p ? p.cache_lower : null);
27
+ const cacheHigh = cached ?? (p ? p.cache_upper : null);
28
+ return {
29
+ inclusive, fresh, cached, cacheWrite, writeBasis, cacheLow, cacheHigh,
30
+ input: inclusive != null && cached != null ? inclusive - cached : null,
31
+ inputLow: inclusive != null && cacheHigh != null ? inclusive - cacheHigh : null,
32
+ inputHigh: inclusive != null && cacheLow != null ? inclusive - cacheLow : null,
33
+ output: finite(u.output_tokens) ? u.output_tokens : null,
34
+ reasoning: finite(u.reasoning_output_tokens) ? u.reasoning_output_tokens : null,
35
+ cacheRate: inclusive > 0 && cached != null ? cached / inclusive : null,
36
+ cacheRateLow: inclusive > 0 && cacheLow != null ? cacheLow / inclusive : null,
37
+ cacheRateHigh: inclusive > 0 && cacheHigh != null ? cacheHigh / inclusive : null,
38
+ };
39
+ }
40
+ function stats(es) {
41
+ const valid = es.filter(e => e.valid !== false), n = valid.length;
42
+ const us = valid.map(usage), ps = valid.map(price);
43
+ const sum = (rows, key) => rows.length && rows.every(r => finite(r?.[key])) ? rows.reduce((s,r) => s+r[key],0) : null;
44
+ const inclusive = sum(us, 'inclusive'), cacheLow = sum(us, 'cacheLow'), cacheHigh = sum(us, 'cacheHigh');
45
+ const costCount = ps.filter(Boolean).length, hasCost = n > 0 && costCount === n;
46
+ const buckets = new Map();
47
+ for (const p of ps.filter(Boolean)) for (const b of p.buckets) {
48
+ const key = [b.category, b.tier, b.rate, b.rate_upper].join('|');
49
+ const a = buckets.get(key) || {...b, tokens:0, lower:0, upper:0};
50
+ a.tokens += b.tokens; a.lower += b.lower; a.upper += b.upper; buckets.set(key,a);
51
+ }
52
+ return {
53
+ n, passes:valid.filter(e => e.success === true).length,
54
+ rate:n ? valid.filter(e => e.success === true).length/n : null,
55
+ inclusive, fresh:sum(us,'fresh'), cacheWrite:sum(us,'cacheWrite'),
56
+ freshCount:us.filter(u => finite(u.fresh)).length, writeCount:us.filter(u => finite(u.cacheWrite)).length,
57
+ providerZeroWrites:us.filter(u => u.cacheWrite === 0 && u.writeBasis === 'provider-reported').length,
58
+ nativeZeroWrites:us.filter(u => u.cacheWrite === 0 && u.writeBasis !== 'provider-reported').length,
59
+ input:sum(us,'input'), cached:sum(us,'cached'), output:sum(us,'output'),
60
+ inputLow:sum(us,'inputLow'), inputHigh:sum(us,'inputHigh'), cacheLow, cacheHigh,
61
+ cacheRateLow:inclusive > 0 && cacheLow != null ? cacheLow/inclusive : null,
62
+ cacheRateHigh:inclusive > 0 && cacheHigh != null ? cacheHigh/inclusive : null,
63
+ cacheRate:inclusive > 0 && sum(us,'cached') != null ? sum(us,'cached')/inclusive : null,
64
+ reasoning:sum(us,'reasoning'), responses:sum(valid.map(e => e.usage),'response_count'), usageMessages:sum(valid.map(e => e.usage),'usage_message_count'),
65
+ wall:sum(valid,'wall_time_s'), costCount,
66
+ costLow:hasCost ? sum(ps,'lower') : null, costHigh:hasCost ? sum(ps,'upper') : null,
67
+ buckets:[...buckets.values()], conditional:ps.some(p => p?.cache_write_assumed),
68
+ bounded:ps.some(p => p && p.lower !== p.upper),
69
+ knownCost:ps.filter(Boolean).reduce((s,p) => s+p.lower,0),
70
+ longContext:ps.filter(Boolean).reduce((s,p) => s+p.long_context_responses,0),
71
+ };
72
+ }
73
+ function bounds(low, high, format) {
74
+ if (!finite(low) || !finite(high)) return '—';
75
+ const a = format(low), b = format(high);
76
+ return Math.abs(high-low) < 1e-9 ? a : a === b ? '≈'+a : a+'–'+b;
77
+ }
78
+ const money = v => finite(v) ? new Intl.NumberFormat('en-US', {style:'currency',currency:'USD',maximumFractionDigits:2}).format(v) : '—';
79
+ return {init: value => {priceData=value;}, price, usage, stats, bounds, money,
80
+ get sources() {return priceData.sources;}, get pricingDate() {return priceData.pricing_date;}};
81
+ })();