Add subgroups to sidebar

#3
by JonnaMat - opened
Files changed (4) hide show
  1. app.js +130 -30
  2. config.json +4 -2
  3. data/Qwen3.5.csv +164 -164
  4. style.css +31 -0
app.js CHANGED
@@ -81,6 +81,38 @@ let ALL_MODELS = [];
81
  const ALL_FAMILY_KEYS = Object.keys(config.model_families || {});
82
  let MODEL_FAMILIES = {};
83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  // Detect families from currently loaded DATA
85
  function detectFamilies() {
86
  const families = {};
@@ -163,6 +195,18 @@ function assignModelColors() {
163
  MODEL_SHORT[model] = suffix || (isExternalModel(model) ? "Original" : name);
164
  });
165
  });
 
 
 
 
 
 
 
 
 
 
 
 
166
  }
167
 
168
  // ─── Helpers ──────────────────────────────────────────────────────────────────
@@ -171,13 +215,13 @@ function isOOMRow(row) {
171
  return config.metrics.every(m => row[m.column] === null);
172
  }
173
 
174
- function familyRows(familyKey) {
175
- const models = new Set((MODEL_FAMILIES[familyKey] || { models: [] }).models);
176
  return DATA.filter(r => models.has(r[MODEL_COL]));
177
  }
178
 
179
- function availableOptions(familyKey) {
180
- const rows = familyRows(familyKey);
181
  const opts = {};
182
  config.filters.forEach(f => {
183
  const vals = [...new Set(rows.map(r => r[f.column]).filter(v => v !== "" && v !== null && v !== undefined))];
@@ -212,17 +256,47 @@ if (config.subtitle) document.getElementById("hero-sub").textContent = config.su
212
  // Sidebar: model families
213
  const familyNav = document.getElementById("family-nav");
214
  function renderSidebar() {
215
- familyNav.innerHTML = ALL_FAMILY_KEYS.map(fk =>
216
- `<div class="sidebar-item${fk === filters.family ? " active" : ""}" data-family="${fk}">${fk}</div>`
217
- ).join("");
 
 
 
 
 
 
 
 
 
 
 
 
 
218
  }
219
 
220
  familyNav.addEventListener("click", async e => {
221
- const item = e.target.closest(".sidebar-item");
222
- if (!item) return;
223
- filters.family = item.dataset.family;
224
- renderSidebar();
225
- await switchFamily(filters.family);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  });
227
 
228
  // Build filter groups container dynamically (no family filter here)
@@ -251,7 +325,7 @@ legendGrid.innerHTML = config.metrics.map(m =>
251
 
252
  // ─── State ────────────────────────────────────────────────────────────────────
253
 
254
- const filters = { family: ALL_FAMILY_KEYS[0] || "" };
255
  config.filters.forEach(f => { filters[f.column] = ""; });
256
  filters.metric = CHART_CFG.default_metric || config.metrics[0]?.column || "";
257
 
@@ -277,8 +351,9 @@ function populateFilters() {
277
  updateDependentFilters();
278
  }
279
 
280
- function updateDependentFilters() {
281
- const opts = availableOptions(filters.family);
 
282
 
283
  config.filters.forEach(f => {
284
  let vals = opts[f.column] || [];
@@ -292,8 +367,15 @@ function updateDependentFilters() {
292
  });
293
  }
294
  const strVals = vals.map(String);
295
- if (!strVals.includes(String(filters[f.column]))) {
296
- filters[f.column] = vals[0] ?? "";
 
 
 
 
 
 
 
297
  }
298
 
299
  // For the group_by filter, add "All" option
@@ -336,7 +418,7 @@ function buildChart(filtered) {
336
  charts.forEach(c => c.destroy());
337
  charts = [];
338
 
339
- const familyCfg = config.model_families?.[filters.family] || {};
340
  const chartCfg = familyCfg.chart || CHART_CFG;
341
  const scenarios = chartCfg.scenarios || [];
342
 
@@ -455,7 +537,7 @@ function buildTables(filtered, chartsShown) {
455
  section.innerHTML = "";
456
  const groupFilterCfg = config.filters.find(f => f.column === GROUP_BY);
457
  const groupVal = filters[GROUP_BY];
458
- const opts = availableOptions(filters.family);
459
  let groupVals = groupVal === "all" ? (opts[GROUP_BY] || []) : [groupVal];
460
  if (groupVal === "all" && groupFilterCfg?.value_labels) {
461
  const labelOrder = Object.keys(groupFilterCfg.value_labels);
@@ -482,7 +564,7 @@ function buildTables(filtered, chartsShown) {
482
  ];
483
 
484
  // Resolve table_sort: family-specific overrides global
485
- const familyCfg = config.model_families?.[filters.family] || {};
486
  const sortRules = familyCfg.table_sort || config.table_sort || [];
487
  const tableGroupBy = familyCfg.table_group_by || config.table_group_by || "";
488
  const tableGroupCols = Array.isArray(tableGroupBy) ? tableGroupBy : (tableGroupBy ? [tableGroupBy] : []);
@@ -600,7 +682,7 @@ function buildTables(filtered, chartsShown) {
600
  function buildExperimentSetup() {
601
  const section = document.getElementById("experiment-setup");
602
  section.innerHTML = "";
603
- const familyCfg = config.model_families?.[filters.family] || {};
604
  const setupMap = familyCfg.experiment_setup || {};
605
  const groupVal = filters[GROUP_BY];
606
 
@@ -626,9 +708,7 @@ function buildExperimentSetup() {
626
  // ─── Render ───────────────────────────────────────────────────────────────────
627
 
628
  function render() {
629
- const familyModels = MODEL_FAMILIES[filters.family]
630
- ? new Set(MODEL_FAMILIES[filters.family].models)
631
- : new Set(ALL_MODELS);
632
 
633
  const filtered = DATA.filter(r => {
634
  if (!familyModels.has(r[MODEL_COL])) return false;
@@ -652,20 +732,40 @@ function render() {
652
  buildExperimentSetup();
653
  }
654
 
655
- // ─── Switch Family (load data + re-render) ────────────────────────────────────
656
-
657
- async function switchFamily(familyKey) {
658
- DATA = await loadFamilyData(familyKey);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
659
  ALL_MODELS = [...new Set(DATA.map(r => r[MODEL_COL]))];
660
  MODEL_FAMILIES = detectFamilies();
 
 
 
 
661
  assignModelColors();
662
- updateDependentFilters();
 
663
  render();
664
  }
665
 
666
  // ─── Init ─────────────────────────────────────────────────────────────────────
667
 
668
  populateFilters();
669
- await switchFamily(filters.family);
670
 
671
  })();
 
81
  const ALL_FAMILY_KEYS = Object.keys(config.model_families || {});
82
  let MODEL_FAMILIES = {};
83
 
84
+ // Derive base family from config key by parsing model name patterns.
85
+ // Size suffixes like -2B, -0.8B identify specific size variants.
86
+ function deriveBaseFamily(key) {
87
+ const match = key.match(/^(.+?)-(\d+(?:\.\d+)?B)$/i);
88
+ if (match) return match[1];
89
+ return key;
90
+ }
91
+
92
+ const BASE_FAMILIES = {};
93
+ ALL_FAMILY_KEYS.forEach(key => {
94
+ const baseName = deriveBaseFamily(key);
95
+ if (!BASE_FAMILIES[baseName]) {
96
+ BASE_FAMILIES[baseName] = { configVariants: [], variants: [] };
97
+ }
98
+ BASE_FAMILIES[baseName].configVariants.push(key);
99
+ BASE_FAMILIES[baseName].variants.push(key);
100
+ });
101
+ const BASE_FAMILY_KEYS = Object.keys(BASE_FAMILIES);
102
+
103
+ function activeFamilyKey() {
104
+ if (filters.variant && config.model_families?.[filters.variant]) return filters.variant;
105
+ const bf = BASE_FAMILIES[filters.baseFamily];
106
+ return bf?.configVariants[0] || filters.baseFamily;
107
+ }
108
+
109
+ function getActiveModelSet() {
110
+ if (filters.variant && MODEL_FAMILIES[filters.variant]) {
111
+ return new Set(MODEL_FAMILIES[filters.variant].models);
112
+ }
113
+ return new Set(ALL_MODELS);
114
+ }
115
+
116
  // Detect families from currently loaded DATA
117
  function detectFamilies() {
118
  const families = {};
 
195
  MODEL_SHORT[model] = suffix || (isExternalModel(model) ? "Original" : name);
196
  });
197
  });
198
+ // Resolve duplicate short labels: use the model's short name instead
199
+ const labelCounts = {};
200
+ for (const m of ALL_MODELS) {
201
+ const lbl = MODEL_SHORT[m];
202
+ if (!labelCounts[lbl]) labelCounts[lbl] = [];
203
+ labelCounts[lbl].push(m);
204
+ }
205
+ for (const [lbl, models] of Object.entries(labelCounts)) {
206
+ if (models.length > 1) {
207
+ models.forEach(m => { MODEL_SHORT[m] = m.split("/").pop(); });
208
+ }
209
+ }
210
  }
211
 
212
  // ─── Helpers ──────────────────────────────────────────────────────────────────
 
215
  return config.metrics.every(m => row[m.column] === null);
216
  }
217
 
218
+ function getActiveRows() {
219
+ const models = getActiveModelSet();
220
  return DATA.filter(r => models.has(r[MODEL_COL]));
221
  }
222
 
223
+ function availableOptions() {
224
+ const rows = getActiveRows();
225
  const opts = {};
226
  config.filters.forEach(f => {
227
  const vals = [...new Set(rows.map(r => r[f.column]).filter(v => v !== "" && v !== null && v !== undefined))];
 
256
  // Sidebar: model families
257
  const familyNav = document.getElementById("family-nav");
258
  function renderSidebar() {
259
+ let html = "";
260
+ BASE_FAMILY_KEYS.forEach(bf => {
261
+ const isActive = bf === filters.baseFamily;
262
+ html += `<div class="sidebar-item${isActive ? " active" : ""}" data-base-family="${bf}">${bf}</div>`;
263
+ if (isActive) {
264
+ const variants = BASE_FAMILIES[bf].variants;
265
+ const showVariants = variants.length > 1 || (variants.length === 1 && variants[0] !== bf);
266
+ if (showVariants) {
267
+ variants.forEach(v => {
268
+ const isVariantActive = v === filters.variant;
269
+ html += `<div class="sidebar-variant${isVariantActive ? " active" : ""}" data-variant="${v}">${v}</div>`;
270
+ });
271
+ }
272
+ }
273
+ });
274
+ familyNav.innerHTML = html;
275
  }
276
 
277
  familyNav.addEventListener("click", async e => {
278
+ const variantItem = e.target.closest(".sidebar-variant");
279
+ if (variantItem) {
280
+ filters.variant = variantItem.dataset.variant;
281
+ renderSidebar();
282
+ updateDependentFilters();
283
+ render();
284
+ return;
285
+ }
286
+ const baseItem = e.target.closest(".sidebar-item");
287
+ if (!baseItem) return;
288
+ const newBase = baseItem.dataset.baseFamily;
289
+ if (newBase !== filters.baseFamily) {
290
+ filters.baseFamily = newBase;
291
+ filters.variant = null;
292
+ renderSidebar();
293
+ await switchBaseFamily(newBase);
294
+ } else {
295
+ filters.variant = null;
296
+ renderSidebar();
297
+ updateDependentFilters();
298
+ render();
299
+ }
300
  });
301
 
302
  // Build filter groups container dynamically (no family filter here)
 
325
 
326
  // ─── State ────────────────────────────────────────────────────────────────────
327
 
328
+ const filters = { baseFamily: BASE_FAMILY_KEYS[0] || "", variant: null };
329
  config.filters.forEach(f => { filters[f.column] = ""; });
330
  filters.metric = CHART_CFG.default_metric || config.metrics[0]?.column || "";
331
 
 
351
  updateDependentFilters();
352
  }
353
 
354
+ function updateDependentFilters(resetDefaults) {
355
+ const opts = availableOptions();
356
+ const familyCfg = config.model_families?.[activeFamilyKey()] || {};
357
 
358
  config.filters.forEach(f => {
359
  let vals = opts[f.column] || [];
 
367
  });
368
  }
369
  const strVals = vals.map(String);
370
+ const needsReset = resetDefaults || !strVals.includes(String(filters[f.column]));
371
+ if (needsReset) {
372
+ // Prefer family-specific default_device for the device/group_by filter
373
+ const defaultVal = f.column === GROUP_BY && familyCfg.default_device;
374
+ if (defaultVal && strVals.includes(String(defaultVal))) {
375
+ filters[f.column] = defaultVal;
376
+ } else {
377
+ filters[f.column] = vals[0] ?? "";
378
+ }
379
  }
380
 
381
  // For the group_by filter, add "All" option
 
418
  charts.forEach(c => c.destroy());
419
  charts = [];
420
 
421
+ const familyCfg = config.model_families?.[activeFamilyKey()] || {};
422
  const chartCfg = familyCfg.chart || CHART_CFG;
423
  const scenarios = chartCfg.scenarios || [];
424
 
 
537
  section.innerHTML = "";
538
  const groupFilterCfg = config.filters.find(f => f.column === GROUP_BY);
539
  const groupVal = filters[GROUP_BY];
540
+ const opts = availableOptions();
541
  let groupVals = groupVal === "all" ? (opts[GROUP_BY] || []) : [groupVal];
542
  if (groupVal === "all" && groupFilterCfg?.value_labels) {
543
  const labelOrder = Object.keys(groupFilterCfg.value_labels);
 
564
  ];
565
 
566
  // Resolve table_sort: family-specific overrides global
567
+ const familyCfg = config.model_families?.[activeFamilyKey()] || {};
568
  const sortRules = familyCfg.table_sort || config.table_sort || [];
569
  const tableGroupBy = familyCfg.table_group_by || config.table_group_by || "";
570
  const tableGroupCols = Array.isArray(tableGroupBy) ? tableGroupBy : (tableGroupBy ? [tableGroupBy] : []);
 
682
  function buildExperimentSetup() {
683
  const section = document.getElementById("experiment-setup");
684
  section.innerHTML = "";
685
+ const familyCfg = config.model_families?.[activeFamilyKey()] || {};
686
  const setupMap = familyCfg.experiment_setup || {};
687
  const groupVal = filters[GROUP_BY];
688
 
 
708
  // ─── Render ───────────────────────────────────────────────────────────────────
709
 
710
  function render() {
711
+ const familyModels = getActiveModelSet();
 
 
712
 
713
  const filtered = DATA.filter(r => {
714
  if (!familyModels.has(r[MODEL_COL])) return false;
 
732
  buildExperimentSetup();
733
  }
734
 
735
+ // ─── Switch Base Family (load data + re-render) ───────────────────────────────
736
+
737
+ async function switchBaseFamily(baseFamilyKey) {
738
+ const bf = BASE_FAMILIES[baseFamilyKey];
739
+ if (!bf) return;
740
+ // Always load from config-defined variants (stable keys with data_file)
741
+ const loaded = new Set();
742
+ let allRows = [];
743
+ for (const variantKey of bf.configVariants) {
744
+ const rows = await loadFamilyData(variantKey);
745
+ const dataFile = config.model_families?.[variantKey]?.data_file;
746
+ if (dataFile && !loaded.has(dataFile)) {
747
+ loaded.add(dataFile);
748
+ allRows = allRows.concat(rows);
749
+ } else if (!dataFile) {
750
+ allRows = allRows.concat(rows);
751
+ }
752
+ }
753
+ DATA = allRows;
754
  ALL_MODELS = [...new Set(DATA.map(r => r[MODEL_COL]))];
755
  MODEL_FAMILIES = detectFamilies();
756
+ // Rebuild display variants from detected model_family values
757
+ bf.variants = Object.keys(MODEL_FAMILIES).filter(v =>
758
+ deriveBaseFamily(v) === baseFamilyKey
759
+ );
760
  assignModelColors();
761
+ renderSidebar();
762
+ updateDependentFilters(true);
763
  render();
764
  }
765
 
766
  // ─── Init ─────────────────────────────────────────────────────────────────────
767
 
768
  populateFilters();
769
+ await switchBaseFamily(filters.baseFamily);
770
 
771
  })();
config.json CHANGED
@@ -137,7 +137,8 @@
137
  "agx_thor": "Measurement setup: NVIDIA vLLM 26.01, 256 tokens generated, 10 warm-up runs, averaged over 25 runs.",
138
  "agx_orin": "Measurement setup: NVIDIA AI IoT vLLM 0.14.0 tegra, 256 tokens generated, 10 warm-up runs, averaged over 25 runs.",
139
  "orin_nano": "Measurement setup: NVIDIA AI IoT vLLM 0.14.0 tegra, 256 tokens generated, 10 warm-up runs, averaged over 25 runs."
140
- }
 
141
  },
142
  "Qwen3.5": {
143
  "data_file": "data/Qwen3.5.csv",
@@ -149,7 +150,8 @@
149
  "agx_thor": "Measurement setup: NVIDIA AI IoT vLLM 0.16.0 arm64, 256 tokens generated, 10 warm-up runs, averaged over 25 runs.",
150
  "agx_orin": "Measurement setup: NVIDIA AI IoT vLLM 0.16.0 tegra, 256 tokens generated, 10 warm-up runs, averaged over 25 runs.",
151
  "orin_nano": "Measurement setup: NVIDIA AI IoT vLLM 0.16.0 tegra, 256 tokens generated, 10 warm-up runs, averaged over 25 runs."
152
- }
 
153
  }
154
  }
155
  }
 
137
  "agx_thor": "Measurement setup: NVIDIA vLLM 26.01, 256 tokens generated, 10 warm-up runs, averaged over 25 runs.",
138
  "agx_orin": "Measurement setup: NVIDIA AI IoT vLLM 0.14.0 tegra, 256 tokens generated, 10 warm-up runs, averaged over 25 runs.",
139
  "orin_nano": "Measurement setup: NVIDIA AI IoT vLLM 0.14.0 tegra, 256 tokens generated, 10 warm-up runs, averaged over 25 runs."
140
+ },
141
+ "default_device": "orin_nano"
142
  },
143
  "Qwen3.5": {
144
  "data_file": "data/Qwen3.5.csv",
 
150
  "agx_thor": "Measurement setup: NVIDIA AI IoT vLLM 0.16.0 arm64, 256 tokens generated, 10 warm-up runs, averaged over 25 runs.",
151
  "agx_orin": "Measurement setup: NVIDIA AI IoT vLLM 0.16.0 tegra, 256 tokens generated, 10 warm-up runs, averaged over 25 runs.",
152
  "orin_nano": "Measurement setup: NVIDIA AI IoT vLLM 0.16.0 tegra, 256 tokens generated, 10 warm-up runs, averaged over 25 runs."
153
+ },
154
+ "default_device": "agx_orin"
155
  }
156
  }
157
  }
data/Qwen3.5.csv CHANGED
@@ -1,165 +1,165 @@
1
  model_family,model,type,batch,device,res,fps,frames,e2e,tps,tpot,ttft
2
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,1,agx_orin,1280x720,N/A,N/A,3.4767,73.63,10.47,793.82
3
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,1,agx_orin,1920x1080,N/A,N/A,3.4601,73.99,10.50,769.59
4
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,1,agx_orin,854x480,N/A,N/A,3.4106,75.06,10.46,730.42
5
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,1,agx_thor,1280x720,N/A,N/A,2.9966,85.43,9.47,571.74
6
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,1,agx_thor,1920x1080,N/A,N/A,3.0482,83.98,9.52,609.01
7
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,1,agx_thor,854x480,N/A,N/A,2.9693,86.22,9.53,527.85
8
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,1,orin_nano_super,1280x720,N/A,N/A,6.0005,42.66,18.24,1327.89
9
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,8,agx_orin,1280x720,N/A,N/A,7.6469,267.82,15.99,2367.57
10
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,8,agx_orin,1920x1080,N/A,N/A,7.3892,277.16,16.13,2203.89
11
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,8,agx_orin,854x480,N/A,N/A,7.1014,288.40,16.26,2035.83
12
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,8,agx_thor,1280x720,N/A,N/A,6.2006,330.29,9.36,2363.24
13
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,8,agx_thor,1920x1080,N/A,N/A,5.4511,375.70,10.32,1861.66
14
- Qwen3.5,Qwen/Qwen3.5-0.8B,image,8,agx_thor,854x480,N/A,N/A,6.0003,341.32,9.42,2261.71
15
- Qwen3.5,Qwen/Qwen3.5-0.8B,text,1,agx_orin,N/A,N/A,N/A,2.7044,94.66,10.17,97.49
16
- Qwen3.5,Qwen/Qwen3.5-0.8B,text,1,agx_thor,N/A,N/A,N/A,2.4818,103.15,9.48,53.33
17
- Qwen3.5,Qwen/Qwen3.5-0.8B,text,1,orin_nano_super,N/A,N/A,N/A,4.7219,54.21,17.89,140.28
18
- Qwen3.5,Qwen/Qwen3.5-0.8B,text,8,agx_orin,N/A,N/A,N/A,3.4062,601.25,12.60,168.05
19
- Qwen3.5,Qwen/Qwen3.5-0.8B,text,8,agx_thor,N/A,N/A,N/A,2.4017,852.74,9.01,88.37
20
- Qwen3.5,Qwen/Qwen3.5-0.8B,text,8,orin_nano_super,N/A,N/A,N/A,20.8941,98.02,19.68,8055.34
21
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,agx_orin,1280x720,2,6,3.3040,77.48,10.47,622.15
22
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,agx_orin,1280x720,4,12,3.3010,77.55,10.46,621.82
23
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,agx_orin,1920x1080,2,6,4.0221,63.65,10.74,1271.07
24
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,agx_orin,1920x1080,4,12,4.0176,63.72,10.74,1267.31
25
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,agx_orin,854x480,2,6,2.9961,85.44,10.37,340.53
26
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,agx_orin,854x480,4,12,2.9951,85.47,10.36,341.15
27
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,agx_thor,1280x720,2,6,2.8887,88.62,9.52,450.19
28
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,agx_thor,1280x720,4,12,2.6629,96.13,8.70,435.18
29
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,agx_thor,1920x1080,2,6,3.3747,75.86,9.72,884.67
30
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,agx_thor,1920x1080,4,12,3.3594,76.20,9.63,892.37
31
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,agx_thor,854x480,2,6,2.6786,95.57,9.45,258.06
32
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,agx_thor,854x480,4,12,2.4043,106.48,8.43,245.77
33
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,orin_nano_super,1280x720,2,6,5.6980,44.93,18.39,986.43
34
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,1,orin_nano_super,1280x720,4,12,5.7010,44.90,18.39,989.92
35
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,8,agx_orin,1280x720,2,6,6.6254,309.11,16.41,1654.40
36
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,8,agx_orin,1280x720,4,12,6.6346,308.68,16.42,1655.22
37
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,8,agx_orin,1920x1080,2,6,10.4161,196.62,21.40,3524.47
38
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,8,agx_orin,1920x1080,4,12,10.4239,196.47,21.39,3522.93
39
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,8,agx_orin,854x480,2,6,4.8609,421.32,14.45,765.52
40
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,8,agx_thor,1280x720,2,6,4.7497,431.19,10.90,1235.70
41
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,8,agx_thor,1280x720,4,12,4.7227,433.65,10.68,1248.29
42
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,8,agx_thor,1920x1080,2,6,7.1575,286.14,12.02,2625.62
43
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,8,agx_thor,1920x1080,4,12,7.1444,286.66,11.87,2628.69
44
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,8,agx_thor,854x480,2,6,3.3770,606.46,9.37,594.63
45
- Qwen3.5,Qwen/Qwen3.5-0.8B,video,8,agx_thor,854x480,4,12,3.6522,560.76,10.42,602.73
46
- Qwen3.5,Qwen/Qwen3.5-2B,image,1,agx_orin,1280x720,N/A,N/A,7.0674,36.22,23.75,983.78
47
- Qwen3.5,Qwen/Qwen3.5-2B,image,1,agx_orin,1920x1080,N/A,N/A,7.0653,36.23,23.76,980.26
48
- Qwen3.5,Qwen/Qwen3.5-2B,image,1,agx_orin,854x480,N/A,N/A,6.9196,37.00,23.82,820.85
49
- Qwen3.5,Qwen/Qwen3.5-2B,image,1,agx_thor,1280x720,N/A,N/A,4.9569,51.65,16.95,617.44
50
- Qwen3.5,Qwen/Qwen3.5-2B,image,1,agx_thor,1920x1080,N/A,N/A,5.3912,47.48,17.69,861.15
51
- Qwen3.5,Qwen/Qwen3.5-2B,image,1,agx_thor,854x480,N/A,N/A,4.9181,52.05,16.54,683.47
52
- Qwen3.5,Qwen/Qwen3.5-2B,image,8,agx_orin,1280x720,N/A,N/A,11.5536,177.26,32.50,2388.34
53
- Qwen3.5,Qwen/Qwen3.5-2B,image,8,agx_orin,1920x1080,N/A,N/A,11.4132,179.44,32.58,2304.88
54
- Qwen3.5,Qwen/Qwen3.5-2B,image,8,agx_orin,854x480,N/A,N/A,11.3579,180.31,32.44,2347.47
55
- Qwen3.5,Qwen/Qwen3.5-2B,image,8,agx_thor,1280x720,N/A,N/A,10.4809,195.40,19.87,3211.74
56
- Qwen3.5,Qwen/Qwen3.5-2B,image,8,agx_thor,1920x1080,N/A,N/A,8.6447,236.91,20.00,2230.21
57
- Qwen3.5,Qwen/Qwen3.5-2B,image,8,agx_thor,854x480,N/A,N/A,8.7861,233.10,19.94,2283.97
58
- Qwen3.5,Qwen/Qwen3.5-2B,text,1,agx_orin,N/A,N/A,N/A,6.1086,41.91,23.42,111.25
59
- Qwen3.5,Qwen/Qwen3.5-2B,text,1,agx_thor,N/A,N/A,N/A,4.7835,53.52,18.45,58.28
60
- Qwen3.5,Qwen/Qwen3.5-2B,text,1,orin_nano_super,N/A,N/A,N/A,10.6152,24.12,40.88,148.25
61
- Qwen3.5,Qwen/Qwen3.5-2B,text,8,agx_orin,N/A,N/A,N/A,6.8437,299.26,25.99,177.02
62
- Qwen3.5,Qwen/Qwen3.5-2B,text,8,agx_thor,N/A,N/A,N/A,5.0283,407.29,19.22,99.12
63
- Qwen3.5,Qwen/Qwen3.5-2B,video,1,agx_orin,1280x720,2,6,6.8962,37.12,23.78,804.95
64
- Qwen3.5,Qwen/Qwen3.5-2B,video,1,agx_orin,1280x720,4,12,6.8956,37.13,23.75,812.87
65
- Qwen3.5,Qwen/Qwen3.5-2B,video,1,agx_orin,1920x1080,2,6,7.8629,32.56,24.04,1705.70
66
- Qwen3.5,Qwen/Qwen3.5-2B,video,1,agx_orin,1920x1080,4,12,7.8786,32.49,24.04,1722.06
67
- Qwen3.5,Qwen/Qwen3.5-2B,video,1,agx_orin,854x480,2,6,6.4829,39.49,23.66,422.60
68
- Qwen3.5,Qwen/Qwen3.5-2B,video,1,agx_orin,854x480,4,12,6.4961,39.41,23.68,429.93
69
- Qwen3.5,Qwen/Qwen3.5-2B,video,1,agx_thor,1280x720,2,6,5.0749,50.44,17.94,480.60
70
- Qwen3.5,Qwen/Qwen3.5-2B,video,1,agx_thor,1280x720,4,12,5.0026,51.17,17.67,479.12
71
- Qwen3.5,Qwen/Qwen3.5-2B,video,1,agx_thor,1920x1080,2,6,5.5593,46.05,17.80,1002.52
72
- Qwen3.5,Qwen/Qwen3.5-2B,video,1,agx_thor,1920x1080,4,12,5.5114,46.45,17.60,1004.64
73
- Qwen3.5,Qwen/Qwen3.5-2B,video,1,agx_thor,854x480,2,6,4.4620,57.37,16.43,255.18
74
- Qwen3.5,Qwen/Qwen3.5-2B,video,1,agx_thor,854x480,4,12,4.6379,55.20,17.09,261.74
75
- Qwen3.5,Qwen/Qwen3.5-2B,video,8,agx_orin,1280x720,2,6,10.8289,189.12,32.56,1854.25
76
- Qwen3.5,Qwen/Qwen3.5-2B,video,8,agx_orin,1280x720,4,12,10.7832,189.92,32.54,1828.15
77
- Qwen3.5,Qwen/Qwen3.5-2B,video,8,agx_orin,1920x1080,2,6,15.7247,130.24,41.25,3994.06
78
- Qwen3.5,Qwen/Qwen3.5-2B,video,8,agx_orin,1920x1080,4,12,15.8002,129.62,41.36,4021.86
79
- Qwen3.5,Qwen/Qwen3.5-2B,video,8,agx_orin,854x480,2,6,8.6751,236.08,28.83,894.79
80
- Qwen3.5,Qwen/Qwen3.5-2B,video,8,agx_orin,854x480,4,12,8.7019,235.35,28.93,894.56
81
- Qwen3.5,Qwen/Qwen3.5-2B,video,8,agx_thor,1280x720,2,6,7.1252,287.43,20.15,1253.66
82
- Qwen3.5,Qwen/Qwen3.5-2B,video,8,agx_thor,1280x720,4,12,7.1316,287.17,20.24,1251.00
83
- Qwen3.5,Qwen/Qwen3.5-2B,video,8,agx_thor,1920x1080,2,6,10.0072,204.65,23.88,2654.43
84
- Qwen3.5,Qwen/Qwen3.5-2B,video,8,agx_thor,1920x1080,4,12,9.9894,205.02,23.86,2650.58
85
- Qwen3.5,Qwen/Qwen3.5-2B,video,8,agx_thor,854x480,2,6,5.8224,351.75,18.88,595.93
86
- Qwen3.5,Qwen/Qwen3.5-2B,video,8,agx_thor,854x480,4,12,5.8278,351.42,18.92,595.51
87
- Qwen3.5,Qwen/Qwen3.5-4B,image,1,agx_orin,1280x720,N/A,N/A,15.7675,16.24,51.72,2523.80
88
- Qwen3.5,Qwen/Qwen3.5-4B,image,1,agx_orin,1920x1080,N/A,N/A,14.8430,17.25,51.77,1589.73
89
- Qwen3.5,Qwen/Qwen3.5-4B,image,1,agx_orin,854x480,N/A,N/A,14.9075,17.17,51.79,1646.42
90
- Qwen3.5,Qwen/Qwen3.5-4B,image,1,agx_thor,1280x720,N/A,N/A,10.1825,25.14,36.65,799.10
91
- Qwen3.5,Qwen/Qwen3.5-4B,image,1,agx_thor,1920x1080,N/A,N/A,10.2370,25.01,36.68,846.99
92
- Qwen3.5,Qwen/Qwen3.5-4B,image,1,agx_thor,854x480,N/A,N/A,10.2156,25.06,36.70,818.28
93
- Qwen3.5,Qwen/Qwen3.5-4B,image,8,agx_orin,1280x720,N/A,N/A,24.5852,83.30,72.22,4607.52
94
- Qwen3.5,Qwen/Qwen3.5-4B,image,8,agx_orin,1920x1080,N/A,N/A,24.4841,83.65,71.31,5024.26
95
- Qwen3.5,Qwen/Qwen3.5-4B,image,8,agx_orin,854x480,N/A,N/A,24.9913,81.95,71.82,5094.26
96
- Qwen3.5,Qwen/Qwen3.5-4B,image,8,agx_thor,1280x720,N/A,N/A,15.3444,133.47,46.04,2455.68
97
- Qwen3.5,Qwen/Qwen3.5-4B,image,8,agx_thor,1920x1080,N/A,N/A,15.0641,135.95,46.11,2311.00
98
- Qwen3.5,Qwen/Qwen3.5-4B,image,8,agx_thor,854x480,N/A,N/A,16.0785,127.38,46.35,2541.09
99
- Qwen3.5,Qwen/Qwen3.5-4B,text,1,agx_orin,N/A,N/A,N/A,13.2256,19.36,51.11,139.34
100
- Qwen3.5,Qwen/Qwen3.5-4B,text,1,agx_thor,N/A,N/A,N/A,11.5369,22.19,44.83,59.20
101
- Qwen3.5,Qwen/Qwen3.5-4B,text,8,agx_orin,N/A,N/A,N/A,14.8215,138.18,56.84,252.45
102
- Qwen3.5,Qwen/Qwen3.5-4B,text,8,agx_thor,N/A,N/A,N/A,10.0954,202.86,38.90,126.17
103
- Qwen3.5,Qwen/Qwen3.5-4B,video,1,agx_orin,1280x720,2,6,14.7267,17.38,51.74,1478.13
104
- Qwen3.5,Qwen/Qwen3.5-4B,video,1,agx_orin,1280x720,4,12,14.7034,17.41,51.75,1453.92
105
- Qwen3.5,Qwen/Qwen3.5-4B,video,1,agx_orin,1920x1080,2,6,16.6134,15.41,52.42,3190.30
106
- Qwen3.5,Qwen/Qwen3.5-4B,video,1,agx_orin,1920x1080,4,12,16.5295,15.49,52.31,3136.04
107
- Qwen3.5,Qwen/Qwen3.5-4B,video,1,agx_orin,854x480,2,6,13.8618,18.47,51.36,711.89
108
- Qwen3.5,Qwen/Qwen3.5-4B,video,1,agx_orin,854x480,4,12,13.8666,18.46,51.46,691.59
109
- Qwen3.5,Qwen/Qwen3.5-4B,video,1,agx_thor,1280x720,2,6,9.9871,25.63,36.42,662.34
110
- Qwen3.5,Qwen/Qwen3.5-4B,video,1,agx_thor,1280x720,4,12,10.0533,25.46,36.70,656.44
111
- Qwen3.5,Qwen/Qwen3.5-4B,video,1,agx_thor,1920x1080,2,6,10.9197,23.44,37.17,1403.77
112
- Qwen3.5,Qwen/Qwen3.5-4B,video,1,agx_thor,1920x1080,4,12,10.8428,23.61,36.86,1404.92
113
- Qwen3.5,Qwen/Qwen3.5-4B,video,1,agx_thor,854x480,2,6,9.7512,26.25,36.72,349.70
114
- Qwen3.5,Qwen/Qwen3.5-4B,video,1,agx_thor,854x480,4,12,9.6476,26.54,36.35,340.00
115
- Qwen3.5,Qwen/Qwen3.5-4B,video,8,agx_orin,1280x720,2,6,24.3417,84.14,71.90,4671.61
116
- Qwen3.5,Qwen/Qwen3.5-4B,video,8,agx_orin,1280x720,4,12,24.3518,84.10,71.96,4666.49
117
- Qwen3.5,Qwen/Qwen3.5-4B,video,8,agx_orin,1920x1080,2,6,37.1339,55.15,92.50,10869.20
118
- Qwen3.5,Qwen/Qwen3.5-4B,video,8,agx_orin,1920x1080,4,12,37.1293,55.16,92.50,10856.22
119
- Qwen3.5,Qwen/Qwen3.5-4B,video,8,agx_orin,854x480,2,6,19.1374,107.02,63.33,2277.84
120
- Qwen3.5,Qwen/Qwen3.5-4B,video,8,agx_orin,854x480,4,12,19.1590,106.89,63.42,2275.42
121
- Qwen3.5,Qwen/Qwen3.5-4B,video,8,agx_thor,1280x720,2,6,13.8354,148.03,45.83,1455.86
122
- Qwen3.5,Qwen/Qwen3.5-4B,video,8,agx_thor,1280x720,4,12,13.8358,148.02,45.82,1454.78
123
- Qwen3.5,Qwen/Qwen3.5-4B,video,8,agx_thor,1920x1080,2,6,18.7536,109.21,55.61,3295.62
124
- Qwen3.5,Qwen/Qwen3.5-4B,video,8,agx_thor,1920x1080,4,12,18.6947,109.55,55.52,3285.13
125
- Qwen3.5,Qwen/Qwen3.5-4B,video,8,agx_thor,854x480,2,6,11.7998,173.56,41.68,733.10
126
- Qwen3.5,Qwen/Qwen3.5-4B,video,8,agx_thor,854x480,4,12,11.9580,171.27,42.30,727.69
127
- Qwen3.5,Qwen/Qwen3.5-9B,image,1,agx_orin,1280x720,N/A,N/A,26.3132,9.73,93.35,2411.69
128
- Qwen3.5,Qwen/Qwen3.5-9B,image,1,agx_orin,854x480,N/A,N/A,26.3322,9.72,93.46,2404.11
129
- Qwen3.5,Qwen/Qwen3.5-9B,image,1,agx_thor,1280x720,N/A,N/A,18.7311,13.67,69.21,1011.55
130
- Qwen3.5,Qwen/Qwen3.5-9B,image,1,agx_thor,1920x1080,N/A,N/A,18.7188,13.68,69.17,1009.03
131
- Qwen3.5,Qwen/Qwen3.5-9B,image,1,agx_thor,854x480,N/A,N/A,18.5157,13.83,68.41,1002.13
132
- Qwen3.5,Qwen/Qwen3.5-9B,image,8,agx_orin,1280x720,N/A,N/A,42.9806,47.65,119.81,10915.69
133
- Qwen3.5,Qwen/Qwen3.5-9B,image,8,agx_orin,1920x1080,N/A,N/A,43.0342,47.59,121.13,10446.71
134
- Qwen3.5,Qwen/Qwen3.5-9B,image,8,agx_orin,854x480,N/A,N/A,42.8693,47.77,121.11,10338.35
135
- Qwen3.5,Qwen/Qwen3.5-9B,image,8,agx_thor,1280x720,N/A,N/A,23.9954,85.35,79.36,2637.54
136
- Qwen3.5,Qwen/Qwen3.5-9B,image,8,agx_thor,1920x1080,N/A,N/A,24.3279,84.18,80.66,2649.78
137
- Qwen3.5,Qwen/Qwen3.5-9B,image,8,agx_thor,854x480,N/A,N/A,23.8917,85.72,79.30,2566.15
138
- Qwen3.5,Qwen/Qwen3.5-9B,text,1,agx_orin,N/A,N/A,N/A,23.9129,10.71,92.89,130.96
139
- Qwen3.5,Qwen/Qwen3.5-9B,text,1,agx_thor,N/A,N/A,N/A,17.2797,14.82,67.16,84.25
140
- Qwen3.5,Qwen/Qwen3.5-9B,text,8,agx_orin,N/A,N/A,N/A,25.6348,79.89,98.78,326.13
141
- Qwen3.5,Qwen/Qwen3.5-9B,text,8,agx_thor,N/A,N/A,N/A,18.7864,109.02,72.64,175.13
142
- Qwen3.5,Qwen/Qwen3.5-9B,video,1,agx_orin,1280x720,2,6,26.3409,9.72,93.49,2404.89
143
- Qwen3.5,Qwen/Qwen3.5-9B,video,1,agx_orin,1280x720,4,12,26.3109,9.73,93.49,2375.36
144
- Qwen3.5,Qwen/Qwen3.5-9B,video,1,agx_orin,1920x1080,2,6,29.3717,8.72,94.17,5263.46
145
- Qwen3.5,Qwen/Qwen3.5-9B,video,1,agx_orin,1920x1080,4,12,29.4122,8.70,94.13,5313.34
146
- Qwen3.5,Qwen/Qwen3.5-9B,video,1,agx_orin,854x480,2,6,24.9959,10.24,93.17,1140.07
147
- Qwen3.5,Qwen/Qwen3.5-9B,video,1,agx_orin,854x480,4,12,24.9802,10.25,93.17,1125.95
148
- Qwen3.5,Qwen/Qwen3.5-9B,video,1,agx_thor,1280x720,2,6,18.3248,13.97,68.31,835.77
149
- Qwen3.5,Qwen/Qwen3.5-9B,video,1,agx_thor,1280x720,4,12,18.0996,14.14,67.47,825.91
150
- Qwen3.5,Qwen/Qwen3.5-9B,video,1,agx_thor,1920x1080,2,6,19.2352,13.31,67.93,1843.14
151
- Qwen3.5,Qwen/Qwen3.5-9B,video,1,agx_thor,1920x1080,4,12,19.5311,13.11,69.15,1828.39
152
- Qwen3.5,Qwen/Qwen3.5-9B,video,1,agx_thor,854x480,2,6,18.0794,14.16,68.98,420.49
153
- Qwen3.5,Qwen/Qwen3.5-9B,video,1,agx_thor,854x480,4,12,17.9946,14.23,68.62,425.62
154
- Qwen3.5,Qwen/Qwen3.5-9B,video,8,agx_orin,1280x720,2,6,42.4816,48.21,121.74,9881.70
155
- Qwen3.5,Qwen/Qwen3.5-9B,video,8,agx_orin,1280x720,4,12,42.4778,48.21,121.60,9905.61
156
- Qwen3.5,Qwen/Qwen3.5-9B,video,8,agx_orin,1920x1080,2,6,64.8402,31.59,157.54,21516.66
157
- Qwen3.5,Qwen/Qwen3.5-9B,video,8,agx_orin,1920x1080,4,12,64.6999,31.65,157.38,21435.24
158
- Qwen3.5,Qwen/Qwen3.5-9B,video,8,agx_orin,854x480,2,6,33.3128,61.48,107.20,5147.09
159
- Qwen3.5,Qwen/Qwen3.5-9B,video,8,agx_orin,854x480,4,12,33.3452,61.42,107.26,5157.33
160
- Qwen3.5,Qwen/Qwen3.5-9B,video,8,agx_thor,1280x720,2,6,23.2278,88.17,78.84,2177.68
161
- Qwen3.5,Qwen/Qwen3.5-9B,video,8,agx_thor,1280x720,4,12,22.9413,89.27,77.75,2179.41
162
- Qwen3.5,Qwen/Qwen3.5-9B,video,8,agx_thor,1920x1080,2,6,30.4954,67.16,91.76,5243.04
163
- Qwen3.5,Qwen/Qwen3.5-9B,video,8,agx_thor,1920x1080,4,12,30.4498,67.26,91.48,5270.69
164
- Qwen3.5,Qwen/Qwen3.5-9B,video,8,agx_thor,854x480,2,6,20.3426,100.68,73.19,1094.31
165
- Qwen3.5,Qwen/Qwen3.5-9B,video,8,agx_thor,854x480,4,12,20.6727,99.07,74.40,1095.14
 
1
  model_family,model,type,batch,device,res,fps,frames,e2e,tps,tpot,ttft
2
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,1,agx_orin,1280x720,N/A,N/A,3.4767,73.63,10.47,793.82
3
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,1,agx_orin,1920x1080,N/A,N/A,3.4601,73.99,10.50,769.59
4
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,1,agx_orin,854x480,N/A,N/A,3.4106,75.06,10.46,730.42
5
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,1,agx_thor,1280x720,N/A,N/A,2.9966,85.43,9.47,571.74
6
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,1,agx_thor,1920x1080,N/A,N/A,3.0482,83.98,9.52,609.01
7
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,1,agx_thor,854x480,N/A,N/A,2.9693,86.22,9.53,527.85
8
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,1,orin_nano_super,1280x720,N/A,N/A,6.0005,42.66,18.24,1327.89
9
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,8,agx_orin,1280x720,N/A,N/A,7.6469,267.82,15.99,2367.57
10
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,8,agx_orin,1920x1080,N/A,N/A,7.3892,277.16,16.13,2203.89
11
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,8,agx_orin,854x480,N/A,N/A,7.1014,288.40,16.26,2035.83
12
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,8,agx_thor,1280x720,N/A,N/A,6.2006,330.29,9.36,2363.24
13
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,8,agx_thor,1920x1080,N/A,N/A,5.4511,375.70,10.32,1861.66
14
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,image,8,agx_thor,854x480,N/A,N/A,6.0003,341.32,9.42,2261.71
15
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,text,1,agx_orin,N/A,N/A,N/A,2.7044,94.66,10.17,97.49
16
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,text,1,agx_thor,N/A,N/A,N/A,2.4818,103.15,9.48,53.33
17
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,text,1,orin_nano_super,N/A,N/A,N/A,4.7219,54.21,17.89,140.28
18
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,text,8,agx_orin,N/A,N/A,N/A,3.4062,601.25,12.60,168.05
19
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,text,8,agx_thor,N/A,N/A,N/A,2.4017,852.74,9.01,88.37
20
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,text,8,orin_nano_super,N/A,N/A,N/A,20.8941,98.02,19.68,8055.34
21
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,agx_orin,1280x720,2,6,3.3040,77.48,10.47,622.15
22
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,agx_orin,1280x720,4,12,3.3010,77.55,10.46,621.82
23
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,agx_orin,1920x1080,2,6,4.0221,63.65,10.74,1271.07
24
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,agx_orin,1920x1080,4,12,4.0176,63.72,10.74,1267.31
25
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,agx_orin,854x480,2,6,2.9961,85.44,10.37,340.53
26
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,agx_orin,854x480,4,12,2.9951,85.47,10.36,341.15
27
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,agx_thor,1280x720,2,6,2.8887,88.62,9.52,450.19
28
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,agx_thor,1280x720,4,12,2.6629,96.13,8.70,435.18
29
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,agx_thor,1920x1080,2,6,3.3747,75.86,9.72,884.67
30
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,agx_thor,1920x1080,4,12,3.3594,76.20,9.63,892.37
31
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,agx_thor,854x480,2,6,2.6786,95.57,9.45,258.06
32
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,agx_thor,854x480,4,12,2.4043,106.48,8.43,245.77
33
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,orin_nano_super,1280x720,2,6,5.6980,44.93,18.39,986.43
34
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,1,orin_nano_super,1280x720,4,12,5.7010,44.90,18.39,989.92
35
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,8,agx_orin,1280x720,2,6,6.6254,309.11,16.41,1654.40
36
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,8,agx_orin,1280x720,4,12,6.6346,308.68,16.42,1655.22
37
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,8,agx_orin,1920x1080,2,6,10.4161,196.62,21.40,3524.47
38
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,8,agx_orin,1920x1080,4,12,10.4239,196.47,21.39,3522.93
39
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,8,agx_orin,854x480,2,6,4.8609,421.32,14.45,765.52
40
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,8,agx_thor,1280x720,2,6,4.7497,431.19,10.90,1235.70
41
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,8,agx_thor,1280x720,4,12,4.7227,433.65,10.68,1248.29
42
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,8,agx_thor,1920x1080,2,6,7.1575,286.14,12.02,2625.62
43
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,8,agx_thor,1920x1080,4,12,7.1444,286.66,11.87,2628.69
44
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,8,agx_thor,854x480,2,6,3.3770,606.46,9.37,594.63
45
+ Qwen3.5-0.8B,Qwen/Qwen3.5-0.8B,video,8,agx_thor,854x480,4,12,3.6522,560.76,10.42,602.73
46
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,image,1,agx_orin,1280x720,N/A,N/A,7.0674,36.22,23.75,983.78
47
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,image,1,agx_orin,1920x1080,N/A,N/A,7.0653,36.23,23.76,980.26
48
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,image,1,agx_orin,854x480,N/A,N/A,6.9196,37.00,23.82,820.85
49
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,image,1,agx_thor,1280x720,N/A,N/A,4.9569,51.65,16.95,617.44
50
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,image,1,agx_thor,1920x1080,N/A,N/A,5.3912,47.48,17.69,861.15
51
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,image,1,agx_thor,854x480,N/A,N/A,4.9181,52.05,16.54,683.47
52
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,image,8,agx_orin,1280x720,N/A,N/A,11.5536,177.26,32.50,2388.34
53
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,image,8,agx_orin,1920x1080,N/A,N/A,11.4132,179.44,32.58,2304.88
54
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,image,8,agx_orin,854x480,N/A,N/A,11.3579,180.31,32.44,2347.47
55
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,image,8,agx_thor,1280x720,N/A,N/A,10.4809,195.40,19.87,3211.74
56
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,image,8,agx_thor,1920x1080,N/A,N/A,8.6447,236.91,20.00,2230.21
57
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,image,8,agx_thor,854x480,N/A,N/A,8.7861,233.10,19.94,2283.97
58
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,text,1,agx_orin,N/A,N/A,N/A,6.1086,41.91,23.42,111.25
59
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,text,1,agx_thor,N/A,N/A,N/A,4.7835,53.52,18.45,58.28
60
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,text,1,orin_nano_super,N/A,N/A,N/A,10.6152,24.12,40.88,148.25
61
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,text,8,agx_orin,N/A,N/A,N/A,6.8437,299.26,25.99,177.02
62
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,text,8,agx_thor,N/A,N/A,N/A,5.0283,407.29,19.22,99.12
63
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,1,agx_orin,1280x720,2,6,6.8962,37.12,23.78,804.95
64
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,1,agx_orin,1280x720,4,12,6.8956,37.13,23.75,812.87
65
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,1,agx_orin,1920x1080,2,6,7.8629,32.56,24.04,1705.70
66
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,1,agx_orin,1920x1080,4,12,7.8786,32.49,24.04,1722.06
67
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,1,agx_orin,854x480,2,6,6.4829,39.49,23.66,422.60
68
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,1,agx_orin,854x480,4,12,6.4961,39.41,23.68,429.93
69
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,1,agx_thor,1280x720,2,6,5.0749,50.44,17.94,480.60
70
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,1,agx_thor,1280x720,4,12,5.0026,51.17,17.67,479.12
71
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,1,agx_thor,1920x1080,2,6,5.5593,46.05,17.80,1002.52
72
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,1,agx_thor,1920x1080,4,12,5.5114,46.45,17.60,1004.64
73
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,1,agx_thor,854x480,2,6,4.4620,57.37,16.43,255.18
74
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,1,agx_thor,854x480,4,12,4.6379,55.20,17.09,261.74
75
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,8,agx_orin,1280x720,2,6,10.8289,189.12,32.56,1854.25
76
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,8,agx_orin,1280x720,4,12,10.7832,189.92,32.54,1828.15
77
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,8,agx_orin,1920x1080,2,6,15.7247,130.24,41.25,3994.06
78
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,8,agx_orin,1920x1080,4,12,15.8002,129.62,41.36,4021.86
79
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,8,agx_orin,854x480,2,6,8.6751,236.08,28.83,894.79
80
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,8,agx_orin,854x480,4,12,8.7019,235.35,28.93,894.56
81
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,8,agx_thor,1280x720,2,6,7.1252,287.43,20.15,1253.66
82
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,8,agx_thor,1280x720,4,12,7.1316,287.17,20.24,1251.00
83
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,8,agx_thor,1920x1080,2,6,10.0072,204.65,23.88,2654.43
84
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,8,agx_thor,1920x1080,4,12,9.9894,205.02,23.86,2650.58
85
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,8,agx_thor,854x480,2,6,5.8224,351.75,18.88,595.93
86
+ Qwen3.5-2B,Qwen/Qwen3.5-2B,video,8,agx_thor,854x480,4,12,5.8278,351.42,18.92,595.51
87
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,image,1,agx_orin,1280x720,N/A,N/A,15.7675,16.24,51.72,2523.80
88
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,image,1,agx_orin,1920x1080,N/A,N/A,14.8430,17.25,51.77,1589.73
89
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,image,1,agx_orin,854x480,N/A,N/A,14.9075,17.17,51.79,1646.42
90
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,image,1,agx_thor,1280x720,N/A,N/A,10.1825,25.14,36.65,799.10
91
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,image,1,agx_thor,1920x1080,N/A,N/A,10.2370,25.01,36.68,846.99
92
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,image,1,agx_thor,854x480,N/A,N/A,10.2156,25.06,36.70,818.28
93
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,image,8,agx_orin,1280x720,N/A,N/A,24.5852,83.30,72.22,4607.52
94
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,image,8,agx_orin,1920x1080,N/A,N/A,24.4841,83.65,71.31,5024.26
95
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,image,8,agx_orin,854x480,N/A,N/A,24.9913,81.95,71.82,5094.26
96
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,image,8,agx_thor,1280x720,N/A,N/A,15.3444,133.47,46.04,2455.68
97
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,image,8,agx_thor,1920x1080,N/A,N/A,15.0641,135.95,46.11,2311.00
98
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,image,8,agx_thor,854x480,N/A,N/A,16.0785,127.38,46.35,2541.09
99
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,text,1,agx_orin,N/A,N/A,N/A,13.2256,19.36,51.11,139.34
100
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,text,1,agx_thor,N/A,N/A,N/A,11.5369,22.19,44.83,59.20
101
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,text,8,agx_orin,N/A,N/A,N/A,14.8215,138.18,56.84,252.45
102
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,text,8,agx_thor,N/A,N/A,N/A,10.0954,202.86,38.90,126.17
103
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,1,agx_orin,1280x720,2,6,14.7267,17.38,51.74,1478.13
104
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,1,agx_orin,1280x720,4,12,14.7034,17.41,51.75,1453.92
105
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,1,agx_orin,1920x1080,2,6,16.6134,15.41,52.42,3190.30
106
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,1,agx_orin,1920x1080,4,12,16.5295,15.49,52.31,3136.04
107
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,1,agx_orin,854x480,2,6,13.8618,18.47,51.36,711.89
108
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,1,agx_orin,854x480,4,12,13.8666,18.46,51.46,691.59
109
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,1,agx_thor,1280x720,2,6,9.9871,25.63,36.42,662.34
110
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,1,agx_thor,1280x720,4,12,10.0533,25.46,36.70,656.44
111
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,1,agx_thor,1920x1080,2,6,10.9197,23.44,37.17,1403.77
112
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,1,agx_thor,1920x1080,4,12,10.8428,23.61,36.86,1404.92
113
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,1,agx_thor,854x480,2,6,9.7512,26.25,36.72,349.70
114
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,1,agx_thor,854x480,4,12,9.6476,26.54,36.35,340.00
115
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,8,agx_orin,1280x720,2,6,24.3417,84.14,71.90,4671.61
116
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,8,agx_orin,1280x720,4,12,24.3518,84.10,71.96,4666.49
117
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,8,agx_orin,1920x1080,2,6,37.1339,55.15,92.50,10869.20
118
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,8,agx_orin,1920x1080,4,12,37.1293,55.16,92.50,10856.22
119
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,8,agx_orin,854x480,2,6,19.1374,107.02,63.33,2277.84
120
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,8,agx_orin,854x480,4,12,19.1590,106.89,63.42,2275.42
121
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,8,agx_thor,1280x720,2,6,13.8354,148.03,45.83,1455.86
122
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,8,agx_thor,1280x720,4,12,13.8358,148.02,45.82,1454.78
123
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,8,agx_thor,1920x1080,2,6,18.7536,109.21,55.61,3295.62
124
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,8,agx_thor,1920x1080,4,12,18.6947,109.55,55.52,3285.13
125
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,8,agx_thor,854x480,2,6,11.7998,173.56,41.68,733.10
126
+ Qwen3.5-4B,Qwen/Qwen3.5-4B,video,8,agx_thor,854x480,4,12,11.9580,171.27,42.30,727.69
127
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,image,1,agx_orin,1280x720,N/A,N/A,26.3132,9.73,93.35,2411.69
128
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,image,1,agx_orin,854x480,N/A,N/A,26.3322,9.72,93.46,2404.11
129
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,image,1,agx_thor,1280x720,N/A,N/A,18.7311,13.67,69.21,1011.55
130
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,image,1,agx_thor,1920x1080,N/A,N/A,18.7188,13.68,69.17,1009.03
131
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,image,1,agx_thor,854x480,N/A,N/A,18.5157,13.83,68.41,1002.13
132
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,image,8,agx_orin,1280x720,N/A,N/A,42.9806,47.65,119.81,10915.69
133
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,image,8,agx_orin,1920x1080,N/A,N/A,43.0342,47.59,121.13,10446.71
134
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,image,8,agx_orin,854x480,N/A,N/A,42.8693,47.77,121.11,10338.35
135
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,image,8,agx_thor,1280x720,N/A,N/A,23.9954,85.35,79.36,2637.54
136
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,image,8,agx_thor,1920x1080,N/A,N/A,24.3279,84.18,80.66,2649.78
137
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,image,8,agx_thor,854x480,N/A,N/A,23.8917,85.72,79.30,2566.15
138
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,text,1,agx_orin,N/A,N/A,N/A,23.9129,10.71,92.89,130.96
139
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,text,1,agx_thor,N/A,N/A,N/A,17.2797,14.82,67.16,84.25
140
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,text,8,agx_orin,N/A,N/A,N/A,25.6348,79.89,98.78,326.13
141
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,text,8,agx_thor,N/A,N/A,N/A,18.7864,109.02,72.64,175.13
142
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,1,agx_orin,1280x720,2,6,26.3409,9.72,93.49,2404.89
143
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,1,agx_orin,1280x720,4,12,26.3109,9.73,93.49,2375.36
144
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,1,agx_orin,1920x1080,2,6,29.3717,8.72,94.17,5263.46
145
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,1,agx_orin,1920x1080,4,12,29.4122,8.70,94.13,5313.34
146
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,1,agx_orin,854x480,2,6,24.9959,10.24,93.17,1140.07
147
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,1,agx_orin,854x480,4,12,24.9802,10.25,93.17,1125.95
148
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,1,agx_thor,1280x720,2,6,18.3248,13.97,68.31,835.77
149
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,1,agx_thor,1280x720,4,12,18.0996,14.14,67.47,825.91
150
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,1,agx_thor,1920x1080,2,6,19.2352,13.31,67.93,1843.14
151
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,1,agx_thor,1920x1080,4,12,19.5311,13.11,69.15,1828.39
152
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,1,agx_thor,854x480,2,6,18.0794,14.16,68.98,420.49
153
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,1,agx_thor,854x480,4,12,17.9946,14.23,68.62,425.62
154
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,8,agx_orin,1280x720,2,6,42.4816,48.21,121.74,9881.70
155
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,8,agx_orin,1280x720,4,12,42.4778,48.21,121.60,9905.61
156
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,8,agx_orin,1920x1080,2,6,64.8402,31.59,157.54,21516.66
157
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,8,agx_orin,1920x1080,4,12,64.6999,31.65,157.38,21435.24
158
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,8,agx_orin,854x480,2,6,33.3128,61.48,107.20,5147.09
159
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,8,agx_orin,854x480,4,12,33.3452,61.42,107.26,5157.33
160
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,8,agx_thor,1280x720,2,6,23.2278,88.17,78.84,2177.68
161
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,8,agx_thor,1280x720,4,12,22.9413,89.27,77.75,2179.41
162
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,8,agx_thor,1920x1080,2,6,30.4954,67.16,91.76,5243.04
163
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,8,agx_thor,1920x1080,4,12,30.4498,67.26,91.48,5270.69
164
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,8,agx_thor,854x480,2,6,20.3426,100.68,73.19,1094.31
165
+ Qwen3.5-9B,Qwen/Qwen3.5-9B,video,8,agx_thor,854x480,4,12,20.6727,99.07,74.40,1095.14
style.css CHANGED
@@ -113,6 +113,26 @@ code {
113
  font-weight: 600;
114
  }
115
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  /* ── Main Column ─────────────────────────────────────── */
117
  .main {
118
  flex: 1;
@@ -501,6 +521,17 @@ tbody tr.row-group-break td {
501
  border-bottom-color: var(--teal);
502
  }
503
 
 
 
 
 
 
 
 
 
 
 
 
504
  .main-inner {
505
  padding: 0 1rem 2rem;
506
  }
 
113
  font-weight: 600;
114
  }
115
 
116
+ .sidebar-variant {
117
+ display: block;
118
+ padding: 0.35rem 1.25rem 0.35rem 2.25rem;
119
+ font-size: 1.1rem;
120
+ font-weight: 400;
121
+ color: var(--text-dim);
122
+ cursor: pointer;
123
+ border-left: 2px solid transparent;
124
+ transition: color 0.15s, background 0.15s;
125
+ }
126
+
127
+ .sidebar-variant:hover {
128
+ color: var(--text-muted);
129
+ }
130
+
131
+ .sidebar-variant.active {
132
+ color: var(--teal);
133
+ font-weight: 600;
134
+ }
135
+
136
  /* ── Main Column ─────────────────────────────────────── */
137
  .main {
138
  flex: 1;
 
521
  border-bottom-color: var(--teal);
522
  }
523
 
524
+ .sidebar-variant {
525
+ border-left: none;
526
+ border-bottom: 2px solid transparent;
527
+ padding: 0.3rem 0.75rem;
528
+ font-size: 0.8rem;
529
+ }
530
+
531
+ .sidebar-variant.active {
532
+ border-bottom-color: var(--teal);
533
+ }
534
+
535
  .main-inner {
536
  padding: 0 1rem 2rem;
537
  }