JacobLinCool Codex commited on
Commit
1a39d73
·
verified ·
1 Parent(s): 000786f

fix: align atlas with almanac style

Browse files

Co-authored-by: Codex <noreply@openai.com>

Files changed (2) hide show
  1. static/app.js +10 -10
  2. static/styles.css +117 -80
static/app.js CHANGED
@@ -548,16 +548,16 @@ function svgTitle(text) {
548
 
549
  function atlasColor(index) {
550
  const palette = [
551
- "#67c7b6",
552
- "#e3b84c",
553
- "#dd4a54",
554
- "#83a7ff",
555
- "#9bd66f",
556
- "#d386e8",
557
- "#ff8f5f",
558
- "#61d7ef",
559
- "#c9c45f",
560
- "#f071a8",
561
  ];
562
  return palette[index % palette.length];
563
  }
 
548
 
549
  function atlasColor(index) {
550
  const palette = [
551
+ "#9a2b22",
552
+ "#b07d12",
553
+ "#2f6b41",
554
+ "#6f4b1d",
555
+ "#3f8453",
556
+ "#74201b",
557
+ "#8a714c",
558
+ "#d8a226",
559
+ "#5d4528",
560
+ "#7c6849",
561
  ];
562
  return palette[index % palette.length];
563
  }
static/styles.css CHANGED
@@ -98,25 +98,57 @@ textarea:disabled {
98
  .atlas-shell {
99
  position: relative;
100
  z-index: 1;
 
101
  min-height: 100vh;
102
- padding: 18px;
103
- color: #eef5ef;
104
- font-family: var(--label);
 
105
  }
106
 
107
  .atlas-stage {
 
108
  display: grid;
109
  grid-template-rows: auto minmax(0, 1fr);
110
- height: calc(100vh - 36px);
111
- min-height: calc(100vh - 36px);
112
  overflow: hidden;
 
113
  background:
114
- radial-gradient(circle at 22% 18%, rgba(48, 163, 132, 0.18), transparent 28%),
115
- radial-gradient(circle at 78% 22%, rgba(221, 74, 84, 0.12), transparent 25%),
116
- linear-gradient(135deg, #111715 0%, #171816 52%, #101114 100%);
117
- border: 1px solid rgba(236, 240, 222, 0.13);
118
- border-radius: 8px;
119
- box-shadow: 0 40px 90px -34px rgba(0, 0, 0, 0.82);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  }
121
 
122
  .atlas-topbar {
@@ -124,25 +156,28 @@ textarea:disabled {
124
  align-items: flex-end;
125
  justify-content: space-between;
126
  gap: 20px;
127
- padding: 24px 28px 18px;
128
- border-bottom: 1px solid rgba(236, 240, 222, 0.12);
129
  }
130
 
131
  .atlas-kicker {
132
  margin: 0 0 7px;
133
- color: #86d0be;
134
- font-size: 0.72rem;
135
- font-weight: 850;
136
- letter-spacing: 0.16em;
 
 
137
  text-transform: uppercase;
138
  }
139
 
140
  .atlas-topbar h1 {
141
  margin: 0;
142
- color: #fff9dc;
143
  font-family: var(--serif);
144
- font-size: clamp(2.2rem, 6vw, 5.8rem);
145
- line-height: 0.9;
 
146
  letter-spacing: 0;
147
  }
148
 
@@ -154,23 +189,14 @@ textarea:disabled {
154
  gap: 9px;
155
  }
156
 
157
- .atlas-actions .btn-ghost {
158
- color: #eef5ef;
159
- border-color: rgba(238, 245, 239, 0.14);
160
- }
161
-
162
- .atlas-actions .btn-ghost:hover:not(:disabled) {
163
- color: #fff9dc;
164
- background: rgba(238, 245, 239, 0.08);
165
- border-color: rgba(238, 245, 239, 0.22);
166
- }
167
-
168
  .atlas-status {
169
  min-width: min(360px, 100%);
170
- color: rgba(238, 245, 239, 0.72);
171
- font-size: 0.78rem;
172
- font-weight: 760;
173
- line-height: 1.35;
 
 
174
  text-align: right;
175
  }
176
 
@@ -185,29 +211,21 @@ textarea:disabled {
185
  min-width: 0;
186
  overflow: auto;
187
  padding: 20px;
188
- background: rgba(255, 253, 232, 0.045);
189
  }
190
 
191
  .atlas-left {
192
- border-right: 1px solid rgba(236, 240, 222, 0.12);
193
  }
194
 
195
  .atlas-right {
196
- border-left: 1px solid rgba(236, 240, 222, 0.12);
197
  }
198
 
199
  .atlas-section + .atlas-section {
200
  margin-top: 24px;
201
  }
202
 
203
- .atlas-panel .eyebrow {
204
- color: rgba(238, 245, 239, 0.66);
205
- }
206
-
207
- .atlas-panel .eyebrow::after {
208
- background: rgba(238, 245, 239, 0.14);
209
- }
210
-
211
  .atlas-stat-grid {
212
  display: grid;
213
  grid-template-columns: repeat(2, minmax(0, 1fr));
@@ -218,14 +236,15 @@ textarea:disabled {
218
  .atlas-stat {
219
  min-height: 72px;
220
  padding: 12px;
221
- background: rgba(238, 245, 239, 0.07);
222
- border: 1px solid rgba(238, 245, 239, 0.12);
223
  border-radius: 8px;
224
  }
225
 
226
  .atlas-stat strong {
227
  display: block;
228
- color: #fff9dc;
 
229
  font-size: 1.55rem;
230
  line-height: 1;
231
  font-variant-numeric: tabular-nums;
@@ -234,7 +253,8 @@ textarea:disabled {
234
  .atlas-stat span {
235
  display: block;
236
  margin-top: 7px;
237
- color: rgba(238, 245, 239, 0.66);
 
238
  font-size: 0.66rem;
239
  font-weight: 820;
240
  letter-spacing: 0.1em;
@@ -251,29 +271,41 @@ textarea:disabled {
251
  width: 100%;
252
  gap: 4px;
253
  padding: 10px 11px;
254
- color: #eef5ef;
255
- background: rgba(238, 245, 239, 0.06);
256
- border: 1px solid rgba(238, 245, 239, 0.1);
257
- border-left: 3px solid rgba(134, 208, 190, 0.55);
258
- border-radius: 8px;
259
- font: inherit;
 
 
260
  text-align: left;
 
261
  }
262
 
263
  .atlas-filter:hover,
264
  .atlas-filter.active {
265
- background: rgba(134, 208, 190, 0.12);
266
- border-color: rgba(134, 208, 190, 0.38);
 
 
 
 
 
267
  }
268
 
269
  .atlas-filter strong {
 
 
270
  font-size: 0.88rem;
 
271
  line-height: 1.25;
272
  }
273
 
274
  .atlas-filter span {
275
- color: rgba(238, 245, 239, 0.66);
276
  font-size: 0.72rem;
 
277
  line-height: 1.35;
278
  }
279
 
@@ -281,10 +313,12 @@ textarea:disabled {
281
  position: relative;
282
  min-height: 0;
283
  background:
284
- linear-gradient(rgba(238, 245, 239, 0.055) 1px, transparent 1px),
285
- linear-gradient(90deg, rgba(238, 245, 239, 0.045) 1px, transparent 1px),
286
- radial-gradient(circle at center, rgba(255, 249, 220, 0.055), transparent 58%);
287
- background-size: 36px 36px, 36px 36px, 100% 100%;
 
 
288
  }
289
 
290
  .atlas-svg {
@@ -295,14 +329,14 @@ textarea:disabled {
295
  }
296
 
297
  .atlas-link {
298
- stroke: rgba(238, 245, 239, 0.12);
299
  stroke-width: 0.12;
300
  }
301
 
302
  .atlas-dot {
303
  cursor: pointer;
304
  opacity: 0.9;
305
- stroke: rgba(17, 23, 21, 0.78);
306
  stroke-width: 0.25;
307
  transition: opacity 0.18s, r 0.18s, stroke-width 0.18s;
308
  }
@@ -311,7 +345,7 @@ textarea:disabled {
311
  .atlas-dot.selected {
312
  opacity: 1;
313
  r: 1.35;
314
- stroke: #fff9dc;
315
  stroke-width: 0.42;
316
  }
317
 
@@ -321,11 +355,11 @@ textarea:disabled {
321
  }
322
 
323
  .atlas-label {
324
- fill: rgba(255, 249, 220, 0.7);
325
  font-size: 1.6px;
326
  font-weight: 800;
327
  paint-order: stroke;
328
- stroke: rgba(17, 23, 21, 0.84);
329
  stroke-width: 0.5;
330
  }
331
 
@@ -335,10 +369,12 @@ textarea:disabled {
335
  bottom: 18px;
336
  max-width: 360px;
337
  padding: 12px 14px;
338
- color: #fff9dc;
339
- background: rgba(17, 23, 21, 0.86);
340
- border: 1px solid rgba(238, 245, 239, 0.16);
341
  border-radius: 8px;
 
 
342
  font-size: 0.76rem;
343
  font-weight: 780;
344
  line-height: 1.4;
@@ -346,7 +382,7 @@ textarea:disabled {
346
 
347
  .atlas-detail,
348
  .atlas-report {
349
- color: rgba(238, 245, 239, 0.78);
350
  font-size: 0.82rem;
351
  line-height: 1.48;
352
  }
@@ -354,7 +390,7 @@ textarea:disabled {
354
  .atlas-detail h2,
355
  .atlas-report h2 {
356
  margin: 0 0 8px;
357
- color: #fff9dc;
358
  font-family: var(--serif);
359
  font-size: 1.38rem;
360
  line-height: 1.08;
@@ -367,7 +403,7 @@ textarea:disabled {
367
 
368
  .atlas-detail a,
369
  .atlas-report a {
370
- color: #86d0be;
371
  font-weight: 780;
372
  text-decoration: none;
373
  }
@@ -381,10 +417,11 @@ textarea:disabled {
381
 
382
  .atlas-tags span {
383
  padding: 4px 7px;
384
- color: #fff9dc;
385
- background: rgba(255, 249, 220, 0.08);
386
- border: 1px solid rgba(255, 249, 220, 0.12);
387
  border-radius: 999px;
 
388
  font-size: 0.66rem;
389
  font-weight: 800;
390
  }
@@ -1441,7 +1478,7 @@ textarea:disabled {
1441
 
1442
  .atlas-right {
1443
  grid-column: 1 / -1;
1444
- border-top: 1px solid rgba(236, 240, 222, 0.12);
1445
  border-left: 0;
1446
  }
1447
 
@@ -1487,7 +1524,7 @@ textarea:disabled {
1487
  }
1488
 
1489
  .atlas-topbar h1 {
1490
- font-size: 3rem;
1491
  }
1492
 
1493
  .atlas-actions {
@@ -1508,7 +1545,7 @@ textarea:disabled {
1508
  .atlas-left,
1509
  .atlas-right {
1510
  border: 0;
1511
- border-top: 1px solid rgba(236, 240, 222, 0.12);
1512
  }
1513
 
1514
  .atlas-map-wrap {
 
98
  .atlas-shell {
99
  position: relative;
100
  z-index: 1;
101
+ width: min(1480px, 100%);
102
  min-height: 100vh;
103
+ margin: 0 auto;
104
+ padding: 32px;
105
+ color: var(--ink);
106
+ font-family: var(--serif);
107
  }
108
 
109
  .atlas-stage {
110
+ position: relative;
111
  display: grid;
112
  grid-template-rows: auto minmax(0, 1fr);
113
+ height: calc(100vh - 64px);
114
+ min-height: calc(100vh - 64px);
115
  overflow: hidden;
116
+ color: var(--ink);
117
  background:
118
+ linear-gradient(180deg, var(--paper-3), var(--paper) 16%, var(--paper) 84%, var(--paper-2)),
119
+ var(--paper);
120
+ border: 1px solid var(--edge);
121
+ border-radius: 4px;
122
+ box-shadow:
123
+ 0 40px 90px -30px rgba(0, 0, 0, 0.72),
124
+ 0 4px 14px rgba(0, 0, 0, 0.35);
125
+ }
126
+
127
+ .atlas-stage::before {
128
+ content: "";
129
+ position: absolute;
130
+ inset: 0;
131
+ pointer-events: none;
132
+ background-image:
133
+ linear-gradient(rgba(73, 49, 22, 0.018) 1px, transparent 1px),
134
+ linear-gradient(90deg, rgba(73, 49, 22, 0.014) 1px, transparent 1px);
135
+ background-size: 34px 34px;
136
+ mix-blend-mode: multiply;
137
+ }
138
+
139
+ .atlas-stage::after {
140
+ content: "";
141
+ position: absolute;
142
+ inset: 0;
143
+ pointer-events: none;
144
+ box-shadow:
145
+ inset 0 0 120px rgba(99, 58, 20, 0.2),
146
+ inset 0 0 0 1px rgba(255, 247, 224, 0.26);
147
+ }
148
+
149
+ .atlas-stage > * {
150
+ position: relative;
151
+ z-index: 2;
152
  }
153
 
154
  .atlas-topbar {
 
156
  align-items: flex-end;
157
  justify-content: space-between;
158
  gap: 20px;
159
+ padding: 30px 42px 18px;
160
+ border-bottom: 1px solid var(--rule);
161
  }
162
 
163
  .atlas-kicker {
164
  margin: 0 0 7px;
165
+ color: var(--ink-faint);
166
+ font-family: var(--label);
167
+ font-size: 0.64rem;
168
+ font-weight: 800;
169
+ line-height: 1.4;
170
+ letter-spacing: 0.18em;
171
  text-transform: uppercase;
172
  }
173
 
174
  .atlas-topbar h1 {
175
  margin: 0;
176
+ color: var(--ink);
177
  font-family: var(--serif);
178
+ font-size: 2.5rem;
179
+ font-weight: 700;
180
+ line-height: 0.98;
181
  letter-spacing: 0;
182
  }
183
 
 
189
  gap: 9px;
190
  }
191
 
 
 
 
 
 
 
 
 
 
 
 
192
  .atlas-status {
193
  min-width: min(360px, 100%);
194
+ color: var(--ink-faint);
195
+ font-family: var(--label);
196
+ font-size: 0.68rem;
197
+ font-weight: 750;
198
+ line-height: 1.55;
199
+ letter-spacing: 0.03em;
200
  text-align: right;
201
  }
202
 
 
211
  min-width: 0;
212
  overflow: auto;
213
  padding: 20px;
214
+ background: linear-gradient(180deg, rgba(255, 247, 224, 0.2), rgba(73, 49, 22, 0.045));
215
  }
216
 
217
  .atlas-left {
218
+ border-right: 1px solid var(--rule);
219
  }
220
 
221
  .atlas-right {
222
+ border-left: 1px solid var(--rule);
223
  }
224
 
225
  .atlas-section + .atlas-section {
226
  margin-top: 24px;
227
  }
228
 
 
 
 
 
 
 
 
 
229
  .atlas-stat-grid {
230
  display: grid;
231
  grid-template-columns: repeat(2, minmax(0, 1fr));
 
236
  .atlas-stat {
237
  min-height: 72px;
238
  padding: 12px;
239
+ background: rgba(255, 247, 224, 0.38);
240
+ border: 1px solid var(--rule);
241
  border-radius: 8px;
242
  }
243
 
244
  .atlas-stat strong {
245
  display: block;
246
+ color: var(--ink);
247
+ font-family: var(--serif);
248
  font-size: 1.55rem;
249
  line-height: 1;
250
  font-variant-numeric: tabular-nums;
 
253
  .atlas-stat span {
254
  display: block;
255
  margin-top: 7px;
256
+ color: var(--ink-faint);
257
+ font-family: var(--label);
258
  font-size: 0.66rem;
259
  font-weight: 820;
260
  letter-spacing: 0.1em;
 
271
  width: 100%;
272
  gap: 4px;
273
  padding: 10px 11px;
274
+ color: var(--ink);
275
+ background: rgba(255, 247, 224, 0.34);
276
+ border: 1px solid var(--rule-soft);
277
+ border-left: 3px solid var(--gold);
278
+ border-radius: 7px;
279
+ font-family: var(--label);
280
+ font-size: 0.78rem;
281
+ font-weight: 750;
282
  text-align: left;
283
+ transition: background 0.2s, border-color 0.2s, padding-left 0.2s;
284
  }
285
 
286
  .atlas-filter:hover,
287
  .atlas-filter.active {
288
+ padding-left: 14px;
289
+ background: rgba(216, 162, 38, 0.1);
290
+ border-color: rgba(176, 125, 18, 0.45);
291
+ }
292
+
293
+ .atlas-filter.active {
294
+ border-left-color: var(--oxblood);
295
  }
296
 
297
  .atlas-filter strong {
298
+ color: var(--ink);
299
+ font-family: var(--serif);
300
  font-size: 0.88rem;
301
+ font-weight: 700;
302
  line-height: 1.25;
303
  }
304
 
305
  .atlas-filter span {
306
+ color: var(--ink-faint);
307
  font-size: 0.72rem;
308
+ font-weight: 750;
309
  line-height: 1.35;
310
  }
311
 
 
313
  position: relative;
314
  min-height: 0;
315
  background:
316
+ linear-gradient(rgba(73, 49, 22, 0.08) 1px, transparent 1px),
317
+ linear-gradient(90deg, rgba(73, 49, 22, 0.08) 1px, transparent 1px),
318
+ radial-gradient(circle at center, rgba(255, 247, 224, 0.5), transparent 62%),
319
+ rgba(255, 245, 222, 0.42);
320
+ background-size: 30px 30px, 30px 30px, 100% 100%, 100% 100%;
321
+ box-shadow: inset 0 0 90px rgba(99, 58, 20, 0.1);
322
  }
323
 
324
  .atlas-svg {
 
329
  }
330
 
331
  .atlas-link {
332
+ stroke: rgba(73, 49, 22, 0.22);
333
  stroke-width: 0.12;
334
  }
335
 
336
  .atlas-dot {
337
  cursor: pointer;
338
  opacity: 0.9;
339
+ stroke: rgba(39, 26, 14, 0.72);
340
  stroke-width: 0.25;
341
  transition: opacity 0.18s, r 0.18s, stroke-width 0.18s;
342
  }
 
345
  .atlas-dot.selected {
346
  opacity: 1;
347
  r: 1.35;
348
+ stroke: #fff0b5;
349
  stroke-width: 0.42;
350
  }
351
 
 
355
  }
356
 
357
  .atlas-label {
358
+ fill: var(--ink-soft);
359
  font-size: 1.6px;
360
  font-weight: 800;
361
  paint-order: stroke;
362
+ stroke: rgba(247, 238, 217, 0.78);
363
  stroke-width: 0.5;
364
  }
365
 
 
369
  bottom: 18px;
370
  max-width: 360px;
371
  padding: 12px 14px;
372
+ color: var(--ink);
373
+ background: rgba(247, 238, 217, 0.94);
374
+ border: 1px solid var(--edge);
375
  border-radius: 8px;
376
+ box-shadow: 0 14px 30px -20px rgba(0, 0, 0, 0.56);
377
+ font-family: var(--label);
378
  font-size: 0.76rem;
379
  font-weight: 780;
380
  line-height: 1.4;
 
382
 
383
  .atlas-detail,
384
  .atlas-report {
385
+ color: var(--ink-soft);
386
  font-size: 0.82rem;
387
  line-height: 1.48;
388
  }
 
390
  .atlas-detail h2,
391
  .atlas-report h2 {
392
  margin: 0 0 8px;
393
+ color: var(--ink);
394
  font-family: var(--serif);
395
  font-size: 1.38rem;
396
  line-height: 1.08;
 
403
 
404
  .atlas-detail a,
405
  .atlas-report a {
406
+ color: var(--oxblood);
407
  font-weight: 780;
408
  text-decoration: none;
409
  }
 
417
 
418
  .atlas-tags span {
419
  padding: 4px 7px;
420
+ color: var(--ink-soft);
421
+ background: rgba(73, 49, 22, 0.08);
422
+ border: 1px solid var(--rule-soft);
423
  border-radius: 999px;
424
+ font-family: var(--label);
425
  font-size: 0.66rem;
426
  font-weight: 800;
427
  }
 
1478
 
1479
  .atlas-right {
1480
  grid-column: 1 / -1;
1481
+ border-top: 1px solid var(--rule);
1482
  border-left: 0;
1483
  }
1484
 
 
1524
  }
1525
 
1526
  .atlas-topbar h1 {
1527
+ font-size: 2.5rem;
1528
  }
1529
 
1530
  .atlas-actions {
 
1545
  .atlas-left,
1546
  .atlas-right {
1547
  border: 0;
1548
+ border-top: 1px solid var(--rule);
1549
  }
1550
 
1551
  .atlas-map-wrap {