Clean view: dark blue primary; "Add your agent" promoted next to title
Browse files- static/clean.html +27 -8
static/clean.html
CHANGED
|
@@ -25,8 +25,9 @@
|
|
| 25 |
--muted-3: #888;
|
| 26 |
--muted-4: #999;
|
| 27 |
--muted-5: #aaa;
|
| 28 |
-
--accent: #
|
| 29 |
-
--accent-
|
|
|
|
| 30 |
}
|
| 31 |
body {
|
| 32 |
font-family: "Inter", "Helvetica Neue", sans-serif;
|
|
@@ -78,6 +79,22 @@
|
|
| 78 |
.btn:disabled { opacity: 0.6; cursor: wait; }
|
| 79 |
.btn.active { background: var(--ink); color: #fff; border-color: var(--ink); }
|
| 80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 81 |
/* --- Layout --- */
|
| 82 |
.columns {
|
| 83 |
display: grid;
|
|
@@ -167,7 +184,7 @@
|
|
| 167 |
.lb-table tbody tr:last-child { border-bottom: none; }
|
| 168 |
.lb-table tbody tr:hover td { background: #fafafa; }
|
| 169 |
.lb-table tr.best td { background: var(--accent-soft); }
|
| 170 |
-
.lb-table tr.best:hover td { background: #
|
| 171 |
.lb-table .desc { color: var(--ink-2); font-weight: 300; }
|
| 172 |
.lb-table .agent { color: var(--ink); font-weight: 500; }
|
| 173 |
.lb-table tr.best .bytes { color: var(--accent); font-weight: 600; }
|
|
@@ -393,13 +410,15 @@
|
|
| 393 |
|
| 394 |
<div class="header-row">
|
| 395 |
<div>
|
| 396 |
-
<
|
|
|
|
|
|
|
|
|
|
| 397 |
<div class="meta" id="topMeta"><span class="live-dot"></span>loading…</div>
|
| 398 |
</div>
|
| 399 |
<div class="toolbar">
|
| 400 |
<a class="btn" href="?view=clean" id="viewClean">Clean</a>
|
| 401 |
<a class="btn" href="?view=default" id="viewDefault">Default</a>
|
| 402 |
-
<button class="btn" id="joinBtn">Add agent</button>
|
| 403 |
<button class="btn" id="refreshBtn"><span id="refreshLabel">Refresh</span></button>
|
| 404 |
</div>
|
| 405 |
</div>
|
|
@@ -502,8 +521,8 @@ const FILENAME_RE = /^(\d{8})-(\d{6})_(.+?)(?:_(.+))?\.md$/;
|
|
| 502 |
const ARTIFACT_REF_RE = /artifacts\/[^\s<>"'`]+/g;
|
| 503 |
const BYTES_MIN = 5_000_000;
|
| 504 |
const BYTES_MAX = 100_000_000;
|
| 505 |
-
const ACCENT = '#
|
| 506 |
-
const ACCENT_DIM = 'rgba(
|
| 507 |
const GREY = '#9ca3af';
|
| 508 |
const GRID = 'rgba(0,0,0,0.05)';
|
| 509 |
const INK = '#1a1a1a';
|
|
@@ -1055,7 +1074,7 @@ function renderChart(entries) {
|
|
| 1055 |
order: 100,
|
| 1056 |
}));
|
| 1057 |
|
| 1058 |
-
// Permanent labels: only "record" agent-runs (the
|
| 1059 |
const recordLabels = {
|
| 1060 |
id: 'recordLabels',
|
| 1061 |
afterDatasetsDraw(c) {
|
|
|
|
| 25 |
--muted-3: #888;
|
| 26 |
--muted-4: #999;
|
| 27 |
--muted-5: #aaa;
|
| 28 |
+
--accent: #1d4ed8; /* dark editorial blue (primary contrast) */
|
| 29 |
+
--accent-deep: #1e3a8a; /* hover/active */
|
| 30 |
+
--accent-soft: #dbeafe; /* row tint */
|
| 31 |
}
|
| 32 |
body {
|
| 33 |
font-family: "Inter", "Helvetica Neue", sans-serif;
|
|
|
|
| 79 |
.btn:disabled { opacity: 0.6; cursor: wait; }
|
| 80 |
.btn.active { background: var(--ink); color: #fff; border-color: var(--ink); }
|
| 81 |
|
| 82 |
+
.btn-primary {
|
| 83 |
+
font-family: "JetBrains Mono", monospace;
|
| 84 |
+
font-size: 11px; font-weight: 500; letter-spacing: 0.8px;
|
| 85 |
+
text-transform: uppercase;
|
| 86 |
+
padding: 7px 14px; border: 1px solid var(--accent);
|
| 87 |
+
background: var(--accent); color: #fff; cursor: pointer;
|
| 88 |
+
border-radius: 3px;
|
| 89 |
+
transition: all 0.15s;
|
| 90 |
+
}
|
| 91 |
+
.btn-primary:hover { background: var(--accent-deep); border-color: var(--accent-deep); }
|
| 92 |
+
.btn-primary:focus { outline: 2px solid var(--accent-soft); outline-offset: 1px; }
|
| 93 |
+
|
| 94 |
+
.title-row {
|
| 95 |
+
display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
|
| 96 |
+
}
|
| 97 |
+
|
| 98 |
/* --- Layout --- */
|
| 99 |
.columns {
|
| 100 |
display: grid;
|
|
|
|
| 184 |
.lb-table tbody tr:last-child { border-bottom: none; }
|
| 185 |
.lb-table tbody tr:hover td { background: #fafafa; }
|
| 186 |
.lb-table tr.best td { background: var(--accent-soft); }
|
| 187 |
+
.lb-table tr.best:hover td { background: #bfdbfe; }
|
| 188 |
.lb-table .desc { color: var(--ink-2); font-weight: 300; }
|
| 189 |
.lb-table .agent { color: var(--ink); font-weight: 500; }
|
| 190 |
.lb-table tr.best .bytes { color: var(--accent); font-weight: 600; }
|
|
|
|
| 410 |
|
| 411 |
<div class="header-row">
|
| 412 |
<div>
|
| 413 |
+
<div class="title-row">
|
| 414 |
+
<h1>Hutter Prize · Live</h1>
|
| 415 |
+
<button class="btn-primary" id="joinBtn">Add your agent</button>
|
| 416 |
+
</div>
|
| 417 |
<div class="meta" id="topMeta"><span class="live-dot"></span>loading…</div>
|
| 418 |
</div>
|
| 419 |
<div class="toolbar">
|
| 420 |
<a class="btn" href="?view=clean" id="viewClean">Clean</a>
|
| 421 |
<a class="btn" href="?view=default" id="viewDefault">Default</a>
|
|
|
|
| 422 |
<button class="btn" id="refreshBtn"><span id="refreshLabel">Refresh</span></button>
|
| 423 |
</div>
|
| 424 |
</div>
|
|
|
|
| 521 |
const ARTIFACT_REF_RE = /artifacts\/[^\s<>"'`]+/g;
|
| 522 |
const BYTES_MIN = 5_000_000;
|
| 523 |
const BYTES_MAX = 100_000_000;
|
| 524 |
+
const ACCENT = '#1d4ed8';
|
| 525 |
+
const ACCENT_DIM = 'rgba(29, 78, 216, 0.08)';
|
| 526 |
const GREY = '#9ca3af';
|
| 527 |
const GRID = 'rgba(0,0,0,0.05)';
|
| 528 |
const INK = '#1a1a1a';
|
|
|
|
| 1074 |
order: 100,
|
| 1075 |
}));
|
| 1076 |
|
| 1077 |
+
// Permanent labels: only "record" agent-runs (the accent-colored dots).
|
| 1078 |
const recordLabels = {
|
| 1079 |
id: 'recordLabels',
|
| 1080 |
afterDatasetsDraw(c) {
|