privateboard 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +3357 -928
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
- package/public/agent-profile.js +17 -7
- package/public/app.js +3775 -434
- package/public/index.html +2524 -269
- package/public/onboarding.js +36 -9
- package/public/quote-cta.css +49 -5
- package/public/quote-cta.js +215 -17
- package/public/report/spines/a16z-thesis.css +212 -97
- package/public/report/spines/anthropic-essay.css +564 -221
- package/public/report/spines/boardroom-dark.css +130 -72
- package/public/report/spines/gartner-note.css +83 -48
- package/public/report/spines/mckinsey-deck.css +81 -31
- package/public/report/spines/openai-paper.css +96 -35
- package/public/report.html +3576 -197
- package/public/room-settings.js +11 -8
- package/public/themes.css +15 -2
- package/public/user-settings.css +19 -8
- package/public/user-settings.js +37 -162
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
--orange: #E65100;
|
|
23
23
|
--orange-pale: #FFF3E0;
|
|
24
24
|
--red: #C62828;
|
|
25
|
+
--paper: var(--bg);
|
|
26
|
+
--paper-soft: var(--bg-soft);
|
|
27
|
+
--ink-mid: var(--ink-soft);
|
|
28
|
+
/* Cross-spine token aliases · used by the unified design system. */
|
|
29
|
+
--accent: var(--brand);
|
|
30
|
+
--warn: var(--red);
|
|
25
31
|
--sans: "Inter", "Helvetica Neue", "Arial", -apple-system, BlinkMacSystemFont,
|
|
26
32
|
"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans CN",
|
|
27
33
|
"Noto Sans CJK SC", sans-serif;
|
|
@@ -53,7 +59,7 @@ html, body {
|
|
|
53
59
|
justify-content: space-between;
|
|
54
60
|
align-items: center;
|
|
55
61
|
font-family: var(--sans);
|
|
56
|
-
font-size:
|
|
62
|
+
font-size: 12px;
|
|
57
63
|
letter-spacing: 0.14em;
|
|
58
64
|
text-transform: uppercase;
|
|
59
65
|
font-weight: 500;
|
|
@@ -122,7 +128,7 @@ html, body {
|
|
|
122
128
|
font-weight: 700;
|
|
123
129
|
margin-bottom: 6px;
|
|
124
130
|
}
|
|
125
|
-
.byline-block .value { font-size:
|
|
131
|
+
.byline-block .value { font-size: 14px; color: var(--ink); font-weight: 600; line-height: 1.45; }
|
|
126
132
|
.byline-block .signed-avatars { display: flex; margin-top: 4px; }
|
|
127
133
|
.byline-block .signed-avatars img {
|
|
128
134
|
width: 22px; height: 22px;
|
|
@@ -182,7 +188,7 @@ html, body {
|
|
|
182
188
|
.body h4 { font-size: 13px; margin: 18px 0 8px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft); }
|
|
183
189
|
.body p { margin: 12px 0; line-height: 1.62; color: var(--ink-soft); font-size: 15px; }
|
|
184
190
|
.body ul, .body ol { margin: 12px 0 14px 22px; }
|
|
185
|
-
.body li { margin: 6px 0; line-height: 1.55; color: var(--ink-soft); font-size:
|
|
191
|
+
.body li { margin: 6px 0; line-height: 1.55; color: var(--ink-soft); font-size: 15px; }
|
|
186
192
|
.body strong { color: var(--ink); font-weight: 700; }
|
|
187
193
|
.body em { color: var(--ink); font-style: italic; }
|
|
188
194
|
.body code {
|
|
@@ -190,16 +196,18 @@ html, body {
|
|
|
190
196
|
border: 1px solid var(--rule);
|
|
191
197
|
padding: 1px 7px;
|
|
192
198
|
font-family: var(--mono);
|
|
193
|
-
font-size:
|
|
199
|
+
font-size: 13px;
|
|
194
200
|
color: var(--brand);
|
|
195
201
|
border-radius: 2px;
|
|
196
202
|
}
|
|
197
203
|
.body code.badge-confidence-high { color: var(--green); border-color: rgba(46, 125, 50, 0.3); background: var(--green-pale); }
|
|
198
204
|
.body code.badge-confidence-medium { color: var(--orange); border-color: rgba(230, 81, 0, 0.3); background: var(--orange-pale); }
|
|
199
205
|
.body code.badge-confidence-low { color: var(--red); border-color: rgba(198, 40, 40, 0.3); background: rgba(198, 40, 40, 0.06); }
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
.body code.badge-priority-
|
|
206
|
+
/* Priority badges · typographic only · gartner severity palette:
|
|
207
|
+
red for P0 (highest), brand-deep for P1 (mid), ink-faint for P2. */
|
|
208
|
+
.body code.badge-priority-p0 { color: var(--red); }
|
|
209
|
+
.body code.badge-priority-p1 { color: var(--brand-deep); }
|
|
210
|
+
.body code.badge-priority-p2 { color: var(--ink-faint); }
|
|
203
211
|
.body blockquote {
|
|
204
212
|
padding: 14px 18px;
|
|
205
213
|
margin: 22px 0;
|
|
@@ -237,7 +245,7 @@ html, body {
|
|
|
237
245
|
.body h2.section-thesis { font-size: 12px; color: var(--brand); text-transform: uppercase; letter-spacing: 0.16em; }
|
|
238
246
|
.body section.section-thesis p:first-child { font-size: 24px; color: var(--ink); font-weight: 600; line-height: 1.3; }
|
|
239
247
|
|
|
240
|
-
.body section.section-frame-shift p:first-child { font-size:
|
|
248
|
+
.body section.section-frame-shift p:first-child { font-size: 17px; color: var(--ink); }
|
|
241
249
|
|
|
242
250
|
/* Headline Findings · key-findings flat list (Gartner default presentation). */
|
|
243
251
|
.body section.section-headline-findings .pillars-grid { display: block; margin: 20px 0; }
|
|
@@ -251,7 +259,7 @@ html, body {
|
|
|
251
259
|
position: absolute;
|
|
252
260
|
top: 18px; left: 0;
|
|
253
261
|
font-family: var(--mono);
|
|
254
|
-
font-size:
|
|
262
|
+
font-size: 13px;
|
|
255
263
|
color: var(--brand);
|
|
256
264
|
font-weight: 700;
|
|
257
265
|
letter-spacing: 0;
|
|
@@ -278,7 +286,7 @@ html, body {
|
|
|
278
286
|
color: var(--brand);
|
|
279
287
|
font-weight: 700;
|
|
280
288
|
}
|
|
281
|
-
.body section.section-big-ideas ol > li p:first-child strong { font-size:
|
|
289
|
+
.body section.section-big-ideas ol > li p:first-child strong { font-size: 17px; color: var(--ink); }
|
|
282
290
|
|
|
283
291
|
/* Why Now · Strategic Planning Assumption-style box. */
|
|
284
292
|
.body section.section-why-now {
|
|
@@ -323,7 +331,7 @@ html, body {
|
|
|
323
331
|
.body section.section-recommendations ol > li:has(code.badge-priority-p0)::before { background: var(--red); }
|
|
324
332
|
.body section.section-recommendations ol > li p,
|
|
325
333
|
.body section.section-the-bet ol > li p,
|
|
326
|
-
.body section.section-considerations ol > li p { font-size:
|
|
334
|
+
.body section.section-considerations ol > li p { font-size: 15px; }
|
|
327
335
|
.body section.section-recommendations ol > li p:first-child strong,
|
|
328
336
|
.body section.section-the-bet ol > li p:first-child strong,
|
|
329
337
|
.body section.section-considerations ol > li p:first-child strong { font-size: 16px; color: var(--ink); }
|
|
@@ -371,7 +379,7 @@ html, body {
|
|
|
371
379
|
position: relative;
|
|
372
380
|
padding: 14px 0 14px 56px;
|
|
373
381
|
border-top: 1px dashed var(--rule);
|
|
374
|
-
font-size:
|
|
382
|
+
font-size: 15px;
|
|
375
383
|
}
|
|
376
384
|
.body section.section-new-questions ol > li:last-child { border-bottom: 1px dashed var(--rule); }
|
|
377
385
|
.body section.section-new-questions ol > li::before {
|
|
@@ -387,7 +395,7 @@ html, body {
|
|
|
387
395
|
width: 100%;
|
|
388
396
|
border-collapse: collapse;
|
|
389
397
|
margin: 18px 0 24px;
|
|
390
|
-
font-size:
|
|
398
|
+
font-size: 14px;
|
|
391
399
|
border-top: 2px solid var(--brand);
|
|
392
400
|
}
|
|
393
401
|
.body table.md-table th, .body table.md-table td {
|
|
@@ -401,28 +409,28 @@ html, body {
|
|
|
401
409
|
color: var(--brand);
|
|
402
410
|
font-family: var(--sans);
|
|
403
411
|
font-weight: 700;
|
|
404
|
-
font-size:
|
|
412
|
+
font-size: 12px;
|
|
405
413
|
letter-spacing: 0.12em;
|
|
406
414
|
text-transform: uppercase;
|
|
407
415
|
border-bottom: 2px solid var(--rule-strong);
|
|
408
416
|
}
|
|
409
|
-
.body table.md-table td:first-child { font-weight: 600; color: var(--ink); }
|
|
417
|
+
.body table.md-table td:first-child { font-weight: 600; color: var(--ink); font-size: 14px; }
|
|
410
418
|
.body table.md-table tr:hover td { background: var(--bg-emphasis); }
|
|
411
419
|
|
|
412
420
|
.body h2.section-methodology {
|
|
413
421
|
margin-top: 80px;
|
|
414
422
|
padding-top: 20px;
|
|
415
|
-
font-size:
|
|
423
|
+
font-size: 12px;
|
|
416
424
|
color: var(--ink-faint);
|
|
417
425
|
text-transform: uppercase;
|
|
418
426
|
letter-spacing: 0.14em;
|
|
419
427
|
font-weight: 700;
|
|
420
428
|
border-top: 1px solid var(--rule);
|
|
421
429
|
}
|
|
422
|
-
.body section.section-methodology { color: var(--ink-faint); font-size:
|
|
430
|
+
.body section.section-methodology { color: var(--ink-faint); font-size: 13px; line-height: 1.55; background: var(--bg-soft); padding: 14px 16px; margin-top: 8px; border: 1px solid var(--rule); }
|
|
423
431
|
.body section.section-methodology strong { color: var(--ink-soft); font-family: var(--mono); font-size: 12px; }
|
|
424
432
|
|
|
425
|
-
.body pre.codeblock { background: var(--bg-soft); border: 1px solid var(--rule); padding: 12px 14px; font-family: var(--mono); font-size:
|
|
433
|
+
.body pre.codeblock { background: var(--bg-soft); border: 1px solid var(--rule); padding: 12px 14px; font-family: var(--mono); font-size: 13px; color: var(--ink-soft); }
|
|
426
434
|
.body pre.mermaid { background: var(--bg); border-top: 2px solid var(--brand); border-bottom: 1px solid var(--rule); padding: 28px 24px 24px; margin: 22px 0 28px; min-height: 380px; text-align: center; font-family: var(--mono); font-size: 11px; color: var(--ink-faint); }
|
|
427
435
|
.body pre.mermaid svg text { font-family: var(--sans) !important; }
|
|
428
436
|
|
|
@@ -446,7 +454,7 @@ html, body {
|
|
|
446
454
|
font-family: var(--sans);
|
|
447
455
|
text-transform: uppercase;
|
|
448
456
|
letter-spacing: 0.14em;
|
|
449
|
-
font-size:
|
|
457
|
+
font-size: 12px;
|
|
450
458
|
font-weight: 600;
|
|
451
459
|
}
|
|
452
460
|
.placeholder.error { color: var(--red); }
|
|
@@ -468,8 +476,8 @@ html, body {
|
|
|
468
476
|
}
|
|
469
477
|
.rec-rule code { flex: 0 0 auto; }
|
|
470
478
|
.rec-rule-line { flex: 1 1 auto; height: 1px; background: var(--rule); display: block; }
|
|
471
|
-
.rec-priority-p0 .rec-rule-line { background: var(--red); height:
|
|
472
|
-
.rec-priority-p1 .rec-rule-line { background: var(--brand); height:
|
|
479
|
+
.rec-priority-p0 .rec-rule-line { background: var(--red); height: 2px; }
|
|
480
|
+
.rec-priority-p1 .rec-rule-line { background: var(--brand); height: 2px; }
|
|
473
481
|
.rec-action {
|
|
474
482
|
font-family: var(--sans); font-size: 22px; line-height: 1.28;
|
|
475
483
|
color: var(--ink); font-weight: 700; letter-spacing: -0.018em;
|
|
@@ -489,7 +497,7 @@ html, body {
|
|
|
489
497
|
.rec-meta-sep { color: var(--ink-faint); }
|
|
490
498
|
.rec-risk {
|
|
491
499
|
display: flex; align-items: flex-start; gap: 8px;
|
|
492
|
-
font-size:
|
|
500
|
+
font-size: 14px; line-height: 1.6; color: var(--ink-soft);
|
|
493
501
|
margin: 0; font-style: italic;
|
|
494
502
|
}
|
|
495
503
|
.rec-risk-icon { flex: 0 0 auto; color: var(--red); font-style: normal; }
|
|
@@ -535,51 +543,78 @@ html, body {
|
|
|
535
543
|
font-style: normal; margin-left: 4px; vertical-align: -8px;
|
|
536
544
|
line-height: 1; font-family: Georgia, serif;
|
|
537
545
|
}
|
|
538
|
-
.nq-why { font-size:
|
|
546
|
+
.nq-why { font-size: 15px; line-height: 1.65; color: var(--ink-soft); margin: 0; max-width: 60ch; }
|
|
539
547
|
|
|
540
548
|
/* ─── Metric strip · per-spine treatment ─────────────────────────
|
|
541
549
|
Inherits the spine-agnostic baseline in public/report.html's inline
|
|
542
550
|
<style>; this block tweaks surface, accent + typography to match
|
|
543
551
|
the spine's voice. No `border-left`, no parallel borders against
|
|
544
552
|
adjacent .chapter-num / section h2. */
|
|
545
|
-
/*
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
border: 0.5px solid var(--rule-soft, rgba(0, 0, 0, 0.12));
|
|
552
|
-
}
|
|
553
|
+
/* Inherits the Swiss-editorial baseline (big thin numerals top, mute
|
|
554
|
+
mono label bottom, hairline grid). Gartner signature: monospace
|
|
555
|
+
value (research-note ledger feel) + brand-deep label colour. The
|
|
556
|
+
earlier "1px-rule table cells" treatment used `gap: 1px` over a
|
|
557
|
+
coloured grid background — retired because it doubled hairlines
|
|
558
|
+
against the baseline's outer top/bottom rules. */
|
|
553
559
|
.body .metric-strip-intro {
|
|
554
560
|
color: var(--ink-soft);
|
|
555
|
-
font-family: var(--mono);
|
|
556
|
-
border-bottom: 0.5px solid var(--rule-soft, rgba(0, 0, 0, 0.12));
|
|
557
|
-
padding-bottom: 6px;
|
|
558
|
-
margin-bottom: 0;
|
|
559
|
-
}
|
|
560
|
-
.body .metric-card {
|
|
561
|
-
background: var(--bg);
|
|
562
|
-
border: none;
|
|
563
|
-
padding: 12px 14px;
|
|
564
|
-
min-height: 84px;
|
|
565
|
-
gap: 4px;
|
|
566
561
|
}
|
|
567
562
|
.body .metric-label {
|
|
568
563
|
color: var(--brand-deep);
|
|
569
|
-
font-family: var(--mono);
|
|
570
|
-
font-size: 9.5px;
|
|
571
564
|
font-weight: 700;
|
|
572
565
|
}
|
|
566
|
+
/* Mono numerals at the editorial size · keeps the gartner table-feel
|
|
567
|
+
but lets the baseline's 56px / weight 300 hold for visual rhythm. */
|
|
573
568
|
.body .metric-value {
|
|
574
569
|
color: var(--ink);
|
|
575
570
|
font-family: var(--mono);
|
|
576
|
-
|
|
577
|
-
font-weight: 700;
|
|
578
|
-
letter-spacing: -0.01em;
|
|
571
|
+
letter-spacing: -0.015em;
|
|
579
572
|
}
|
|
580
573
|
.body .metric-card[data-trend="up"] .metric-value { color: var(--green); }
|
|
581
574
|
.body .metric-card[data-trend="down"] .metric-value { color: var(--brand-deep); }
|
|
582
575
|
.body .metric-trend[data-trend="up"] { color: var(--green); }
|
|
583
576
|
.body .metric-trend[data-trend="down"] { color: var(--brand-deep); }
|
|
584
|
-
.body .metric-qualifier { color: var(--ink-soft); font-family: var(--mono);
|
|
577
|
+
.body .metric-qualifier { color: var(--ink-soft); font-family: var(--mono); }
|
|
585
578
|
.body .metric-attribution { color: var(--ink-faint); }
|
|
579
|
+
|
|
580
|
+
/* ─── Path comparison · per-spine treatment ──────────────────────
|
|
581
|
+
gartner uses brand-deep (weak) / green (strong) — its decision-
|
|
582
|
+
under-uncertainty palette. */
|
|
583
|
+
.body .path-comparison .path { background: var(--bg-soft); border-color: var(--rule-soft); }
|
|
584
|
+
.body .path-comparison .path-weak { border-top-color: var(--brand-deep); }
|
|
585
|
+
.body .path-comparison .path-strong { border-top-color: var(--green); }
|
|
586
|
+
.body .path-comparison .path-weak .path-tag { color: var(--brand-deep); }
|
|
587
|
+
.body .path-comparison .path-strong .path-tag { color: var(--green); }
|
|
588
|
+
.body .path-comparison .path-name { color: var(--ink); font-weight: 600; }
|
|
589
|
+
.body .path-comparison .path li { color: var(--ink-soft); }
|
|
590
|
+
.body .path-comparison .path-weak li::before { background: var(--brand-deep); }
|
|
591
|
+
.body .path-comparison .path-strong li::before { background: var(--green); }
|
|
592
|
+
.body .path-comparison-implication { color: var(--ink-soft); }
|
|
593
|
+
|
|
594
|
+
/* ─── Views-compared · per-spine · gartner-note ────────────────
|
|
595
|
+
Hairline frame · accent stripe on TOP (per project rule).
|
|
596
|
+
Alignment uses brand-deep, divergence uses red. */
|
|
597
|
+
.body .vc-section-label { color: var(--brand-deep); border-color: var(--rule-soft); }
|
|
598
|
+
.body .views-compared-alignment .vc-card {
|
|
599
|
+
border-color: var(--rule-soft);
|
|
600
|
+
border-top-color: var(--brand-deep);
|
|
601
|
+
}
|
|
602
|
+
.body .vc-card-headline { color: var(--ink); font-weight: 600; }
|
|
603
|
+
.body .vc-chip { color: var(--ink-soft); border-color: var(--rule-soft); }
|
|
604
|
+
.body .vc-card-note { color: var(--ink-soft); }
|
|
605
|
+
.body .vc-fork { border-color: var(--rule-soft); border-top-color: var(--red, #B43E2C); }
|
|
606
|
+
.body .vc-fork-hinge { color: var(--ink); }
|
|
607
|
+
.body .vc-side { border-color: var(--rule-soft); }
|
|
608
|
+
.body .vc-side-label { color: var(--red, #B43E2C); }
|
|
609
|
+
.body .vc-side-stance { color: var(--ink-soft); }
|
|
610
|
+
.body .vc-fork-resolution { color: var(--ink-soft); border-top-color: var(--rule-soft); }
|
|
611
|
+
.body .vc-resolution-label { color: var(--ink-faint); }
|
|
612
|
+
.body .vc-row-name { color: var(--ink); font-weight: 600; }
|
|
613
|
+
.body .vc-row-stance { color: var(--brand-deep); }
|
|
614
|
+
.body .vc-row-position { color: var(--ink-soft); }
|
|
615
|
+
.body .vc-row-quote { color: var(--ink); }
|
|
616
|
+
.body .views-compared-synthesis {
|
|
617
|
+
border-color: var(--rule-soft);
|
|
618
|
+
border-top-color: var(--ink-faint);
|
|
619
|
+
}
|
|
620
|
+
.body .vc-synthesis-body { color: var(--ink); }
|
|
@@ -22,6 +22,14 @@
|
|
|
22
22
|
--blue-mid: #6285FF;
|
|
23
23
|
--green: #1F7A4D;
|
|
24
24
|
--green-pale: #E2F0E9;
|
|
25
|
+
--red: #B82F1A;
|
|
26
|
+
--paper: var(--bg);
|
|
27
|
+
--paper-soft: var(--soft);
|
|
28
|
+
--ink-mid: var(--ink-soft);
|
|
29
|
+
/* Cross-spine token aliases · used by the unified design system in
|
|
30
|
+
report.html. */
|
|
31
|
+
--accent: var(--blue);
|
|
32
|
+
--warn: var(--red);
|
|
25
33
|
--sans: "Inter", "Helvetica Neue", "Arial", -apple-system, BlinkMacSystemFont,
|
|
26
34
|
"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans CN",
|
|
27
35
|
"Noto Sans CJK SC", sans-serif;
|
|
@@ -34,7 +42,7 @@ html, body {
|
|
|
34
42
|
background: var(--bg);
|
|
35
43
|
color: var(--ink);
|
|
36
44
|
font-family: var(--sans);
|
|
37
|
-
font-size:
|
|
45
|
+
font-size: 16px;
|
|
38
46
|
line-height: 1.6;
|
|
39
47
|
-webkit-font-smoothing: antialiased;
|
|
40
48
|
min-height: 100vh;
|
|
@@ -121,7 +129,7 @@ html, body {
|
|
|
121
129
|
font-weight: 700;
|
|
122
130
|
margin-bottom: 6px;
|
|
123
131
|
}
|
|
124
|
-
.byline-block .value { font-size:
|
|
132
|
+
.byline-block .value { font-size: 14px; color: var(--ink); font-weight: 600; }
|
|
125
133
|
.byline-block .signed-avatars { display: flex; margin-top: 4px; }
|
|
126
134
|
.byline-block .signed-avatars img {
|
|
127
135
|
width: 24px; height: 24px;
|
|
@@ -185,16 +193,18 @@ html, body {
|
|
|
185
193
|
border: 1px solid var(--rule);
|
|
186
194
|
padding: 1px 7px;
|
|
187
195
|
font-family: var(--mono);
|
|
188
|
-
font-size:
|
|
196
|
+
font-size: 13px;
|
|
189
197
|
color: var(--blue);
|
|
190
198
|
border-radius: 2px;
|
|
191
199
|
}
|
|
192
200
|
.body code.badge-confidence-high { color: var(--green); border-color: rgba(31, 122, 77, 0.3); background: var(--green-pale); }
|
|
193
201
|
.body code.badge-confidence-medium { color: #B8721A; border-color: rgba(184, 114, 26, 0.3); background: rgba(184, 114, 26, 0.06); }
|
|
194
202
|
.body code.badge-confidence-low { color: #C62828; border-color: rgba(198, 40, 40, 0.3); background: rgba(198, 40, 40, 0.06); }
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
.body code.badge-priority-
|
|
203
|
+
/* Priority badges · typographic only · mckinsey palette: deck blue
|
|
204
|
+
for P0, navy for P1, ink-faint for P2. */
|
|
205
|
+
.body code.badge-priority-p0 { color: var(--blue); }
|
|
206
|
+
.body code.badge-priority-p1 { color: var(--navy); }
|
|
207
|
+
.body code.badge-priority-p2 { color: var(--ink-faint); }
|
|
198
208
|
.body blockquote {
|
|
199
209
|
padding: 14px 18px;
|
|
200
210
|
margin: 22px 0;
|
|
@@ -225,7 +235,7 @@ html, body {
|
|
|
225
235
|
padding: 0;
|
|
226
236
|
}
|
|
227
237
|
.body section.section-bottom-line p { font-size: 22px; line-height: 1.4; color: #fff; font-weight: 500; max-width: 800px; }
|
|
228
|
-
.body section.section-bottom-line p:not(:first-child) { font-size:
|
|
238
|
+
.body section.section-bottom-line p:not(:first-child) { font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, 0.78); margin-top: 18px; font-weight: 400; }
|
|
229
239
|
.body section.section-bottom-line p strong { color: #fff; }
|
|
230
240
|
.body section.section-bottom-line p em { color: var(--blue-mid); font-style: italic; }
|
|
231
241
|
|
|
@@ -286,7 +296,7 @@ html, body {
|
|
|
286
296
|
padding: 22px 26px;
|
|
287
297
|
margin: 22px 0 28px;
|
|
288
298
|
}
|
|
289
|
-
.body section.section-why-now p { font-size:
|
|
299
|
+
.body section.section-why-now p { font-size: 15px; line-height: 1.6; }
|
|
290
300
|
|
|
291
301
|
/* Recommendations · numbered cards with priority dot. */
|
|
292
302
|
.body section.section-recommendations ol,
|
|
@@ -357,7 +367,7 @@ html, body {
|
|
|
357
367
|
position: relative;
|
|
358
368
|
padding: 14px 0 14px 56px;
|
|
359
369
|
border-top: 1px dashed var(--rule);
|
|
360
|
-
font-size:
|
|
370
|
+
font-size: 15px;
|
|
361
371
|
}
|
|
362
372
|
.body section.section-new-questions ol > li:last-child { border-bottom: 1px dashed var(--rule); }
|
|
363
373
|
.body section.section-new-questions ol > li::before {
|
|
@@ -373,7 +383,7 @@ html, body {
|
|
|
373
383
|
width: 100%;
|
|
374
384
|
border-collapse: collapse;
|
|
375
385
|
margin: 22px 0 24px;
|
|
376
|
-
font-size:
|
|
386
|
+
font-size: 14px;
|
|
377
387
|
border-top: 2px solid var(--navy);
|
|
378
388
|
}
|
|
379
389
|
.body table.md-table th, .body table.md-table td {
|
|
@@ -387,11 +397,11 @@ html, body {
|
|
|
387
397
|
color: var(--navy);
|
|
388
398
|
font-family: var(--sans);
|
|
389
399
|
font-weight: 700;
|
|
390
|
-
font-size:
|
|
400
|
+
font-size: 12px;
|
|
391
401
|
letter-spacing: 0.12em;
|
|
392
402
|
text-transform: uppercase;
|
|
393
403
|
}
|
|
394
|
-
.body table.md-table td:first-child { font-weight: 600; color: var(--navy); }
|
|
404
|
+
.body table.md-table td:first-child { font-weight: 600; color: var(--navy); font-size: 14px; }
|
|
395
405
|
.body table.md-table tr:hover td { background: var(--hover); }
|
|
396
406
|
|
|
397
407
|
.body h2.section-methodology {
|
|
@@ -408,7 +418,7 @@ html, body {
|
|
|
408
418
|
.body section.section-methodology { color: var(--ink-faint); font-size: 13px; line-height: 1.6; }
|
|
409
419
|
.body section.section-methodology strong { color: var(--ink-soft); font-family: var(--mono); font-size: 12px; }
|
|
410
420
|
|
|
411
|
-
.body pre.codeblock { background: var(--soft); border: 1px solid var(--rule); padding: 14px; font-family: var(--mono); font-size:
|
|
421
|
+
.body pre.codeblock { background: var(--soft); border: 1px solid var(--rule); padding: 14px; font-family: var(--mono); font-size: 13px; color: var(--ink-soft); }
|
|
412
422
|
.body pre.mermaid { background: var(--bg); border-top: 2px solid var(--navy); border-bottom: 1px solid var(--rule); padding: 28px 24px 24px; margin: 22px 0 28px; min-height: 380px; text-align: center; font-family: var(--mono); font-size: 11px; color: var(--ink-faint); }
|
|
413
423
|
.body pre.mermaid svg text { font-family: var(--sans) !important; }
|
|
414
424
|
|
|
@@ -474,7 +484,7 @@ html, body {
|
|
|
474
484
|
.rec-meta-sep { color: var(--ink-faint); }
|
|
475
485
|
.rec-risk {
|
|
476
486
|
display: flex; align-items: flex-start; gap: 8px;
|
|
477
|
-
font-size:
|
|
487
|
+
font-size: 14px; line-height: 1.6; color: var(--ink-soft);
|
|
478
488
|
margin: 0; font-style: italic;
|
|
479
489
|
}
|
|
480
490
|
.rec-risk-icon { flex: 0 0 auto; color: #C62828; font-style: normal; }
|
|
@@ -527,34 +537,74 @@ html, body {
|
|
|
527
537
|
<style>; this block tweaks surface, accent + typography to match
|
|
528
538
|
the spine's voice. No `border-left`, no parallel borders against
|
|
529
539
|
adjacent .chapter-num / section h2. */
|
|
530
|
-
/*
|
|
531
|
-
|
|
532
|
-
|
|
540
|
+
/* Inherits the Swiss-editorial baseline (big thin numerals top, mute
|
|
541
|
+
mono label bottom, hairline grid). McKinsey palette: navy ink for
|
|
542
|
+
the value, green/red trends. The per-card border-top accent rail
|
|
543
|
+
from earlier iterations was retired — under the new layout it
|
|
544
|
+
collided with the baseline's `border-top` on the grid wrapper and
|
|
545
|
+
produced doubled hairlines. */
|
|
533
546
|
.body .metric-strip-intro {
|
|
534
547
|
color: var(--ink-soft);
|
|
535
|
-
font-family: var(--mono);
|
|
536
|
-
}
|
|
537
|
-
.body .metric-card {
|
|
538
|
-
background: #FFFFFF;
|
|
539
|
-
border: 0.5px solid var(--rule-soft, rgba(0, 0, 0, 0.08));
|
|
540
|
-
border-top: 2px solid var(--blue);
|
|
541
|
-
padding: 16px 18px 14px;
|
|
542
548
|
}
|
|
543
549
|
.body .metric-label {
|
|
544
550
|
color: var(--ink-soft);
|
|
545
|
-
font-family: var(--mono);
|
|
546
551
|
}
|
|
547
552
|
.body .metric-value {
|
|
548
553
|
color: var(--navy-deep, var(--blue-deep));
|
|
549
|
-
font-family: "SF Mono", "JetBrains Mono", "Helvetica Neue", "Songti SC", monospace;
|
|
550
|
-
font-size: 28px;
|
|
551
|
-
font-weight: 700;
|
|
552
554
|
}
|
|
553
|
-
.body .metric-card[data-trend="up"] { border-top-color: var(--green, #1E8E3E); }
|
|
554
555
|
.body .metric-card[data-trend="up"] .metric-value { color: var(--green, #1E8E3E); }
|
|
555
|
-
.body .metric-card[data-trend="down"] { border-top-color: var(--red, #C5221F); }
|
|
556
556
|
.body .metric-card[data-trend="down"] .metric-value { color: var(--red, #C5221F); }
|
|
557
557
|
.body .metric-trend[data-trend="up"] { color: var(--green, #1E8E3E); }
|
|
558
558
|
.body .metric-trend[data-trend="down"] { color: var(--red, #C5221F); }
|
|
559
|
-
.body .metric-qualifier { color: var(--ink-mid);
|
|
559
|
+
.body .metric-qualifier { color: var(--ink-mid); }
|
|
560
560
|
.body .metric-attribution { color: var(--ink-faint); }
|
|
561
|
+
|
|
562
|
+
/* ─── Path comparison · per-spine treatment ──────────────────────
|
|
563
|
+
mckinsey uses red (weak) / green (strong) — clean deck palette
|
|
564
|
+
where the verdict reads at a glance. White card surface keeps
|
|
565
|
+
the boardroom register. */
|
|
566
|
+
.body .path-comparison .path {
|
|
567
|
+
background: #FFFFFF;
|
|
568
|
+
border: 1px solid var(--rule-soft, rgba(0, 0, 0, 0.08));
|
|
569
|
+
border-top-width: 3px;
|
|
570
|
+
}
|
|
571
|
+
.body .path-comparison .path-weak { border-top-color: var(--red, #C5221F); }
|
|
572
|
+
.body .path-comparison .path-strong { border-top-color: var(--green, #1E8E3E); }
|
|
573
|
+
.body .path-comparison .path-weak .path-tag { color: var(--red, #C5221F); }
|
|
574
|
+
.body .path-comparison .path-strong .path-tag { color: var(--green, #1E8E3E); }
|
|
575
|
+
.body .path-comparison .path-name { color: var(--navy-deep, var(--blue-deep)); font-weight: 600; }
|
|
576
|
+
.body .path-comparison .path li { color: var(--ink-soft); }
|
|
577
|
+
.body .path-comparison .path-weak li::before { background: var(--red, #C5221F); }
|
|
578
|
+
.body .path-comparison .path-strong li::before { background: var(--green, #1E8E3E); }
|
|
579
|
+
.body .path-comparison-implication { color: var(--ink-mid); }
|
|
580
|
+
|
|
581
|
+
/* ─── Views-compared · per-spine · mckinsey-deck ───────────────
|
|
582
|
+
Hairline frame · accent stripe on TOP (per project rule).
|
|
583
|
+
Alignment uses blue, divergence uses red. */
|
|
584
|
+
.body .vc-section-label { color: var(--blue); border-color: var(--rule-soft, rgba(0, 0, 0, 0.08)); }
|
|
585
|
+
.body .views-compared-alignment .vc-card {
|
|
586
|
+
border-color: var(--rule-soft, rgba(0, 0, 0, 0.08));
|
|
587
|
+
border-top-color: var(--blue);
|
|
588
|
+
}
|
|
589
|
+
.body .vc-card-headline { color: var(--navy-deep, var(--blue-deep)); font-weight: 600; }
|
|
590
|
+
.body .vc-chip { color: var(--ink-soft); border-color: var(--rule-soft); }
|
|
591
|
+
.body .vc-card-note { color: var(--ink-mid); }
|
|
592
|
+
.body .vc-fork {
|
|
593
|
+
border-color: var(--rule-soft, rgba(0, 0, 0, 0.08));
|
|
594
|
+
border-top-color: var(--red, #B7322C);
|
|
595
|
+
}
|
|
596
|
+
.body .vc-fork-hinge { color: var(--navy-deep, var(--blue-deep)); }
|
|
597
|
+
.body .vc-side { border-color: var(--rule-soft); }
|
|
598
|
+
.body .vc-side-label { color: var(--red, #B7322C); }
|
|
599
|
+
.body .vc-side-stance { color: var(--ink-mid); }
|
|
600
|
+
.body .vc-fork-resolution { color: var(--ink-mid); border-top-color: var(--rule-soft); }
|
|
601
|
+
.body .vc-resolution-label { color: var(--ink-faint); }
|
|
602
|
+
.body .vc-row-name { color: var(--navy-deep, var(--blue-deep)); font-weight: 600; }
|
|
603
|
+
.body .vc-row-stance { color: var(--blue); }
|
|
604
|
+
.body .vc-row-position { color: var(--ink-mid); }
|
|
605
|
+
.body .vc-row-quote { color: var(--navy-deep, var(--blue-deep)); }
|
|
606
|
+
.body .views-compared-synthesis {
|
|
607
|
+
border-color: var(--rule-soft);
|
|
608
|
+
border-top-color: var(--ink-faint);
|
|
609
|
+
}
|
|
610
|
+
.body .vc-synthesis-body { color: var(--ink); }
|