privateboard 0.1.2 → 0.1.3

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.
@@ -16,6 +16,11 @@
16
16
  --teal-pale: #E6F6F0;
17
17
  --orange: #C25D1F;
18
18
  --red: #B92C2C;
19
+ --paper-soft: var(--soft);
20
+ --ink-mid: var(--ink-soft);
21
+ /* Cross-spine token aliases · used by the unified design system. */
22
+ --accent: var(--teal);
23
+ --warn: var(--red);
19
24
  --sans: "Söhne", "Inter", "Helvetica Neue", -apple-system, BlinkMacSystemFont, system-ui,
20
25
  "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans CN",
21
26
  "Noto Sans CJK SC", sans-serif;
@@ -75,7 +80,7 @@ html, body {
75
80
  .cover-tag {
76
81
  display: flex; align-items: center; gap: 14px;
77
82
  font-family: var(--mono);
78
- font-size: 11.5px;
83
+ font-size: 12px;
79
84
  letter-spacing: 0.04em;
80
85
  text-transform: none;
81
86
  color: var(--teal);
@@ -113,7 +118,7 @@ html, body {
113
118
  @media (max-width: 720px) { .cover-byline { grid-template-columns: repeat(2, 1fr); } }
114
119
  .byline-block .label {
115
120
  font-family: var(--mono);
116
- font-size: 10.5px;
121
+ font-size: 11px;
117
122
  letter-spacing: 0.04em;
118
123
  text-transform: none;
119
124
  color: var(--ink-faint);
@@ -143,7 +148,7 @@ html, body {
143
148
  text-decoration: none;
144
149
  color: var(--ink-soft);
145
150
  font-family: var(--mono);
146
- font-size: 11.5px;
151
+ font-size: 12px;
147
152
  letter-spacing: 0;
148
153
  text-transform: none;
149
154
  border-radius: 3px;
@@ -166,7 +171,7 @@ html, body {
166
171
  }
167
172
  .body h2 { font-size: 25px; line-height: 1.22; margin: 0 0 16px; }
168
173
  .body h3 { font-size: 18px; margin: 28px 0 10px; font-weight: 600; }
169
- .body h4 { font-size: 13.5px; margin: 18px 0 6px; text-transform: none; letter-spacing: 0; color: var(--ink-soft); font-weight: 600; }
174
+ .body h4 { font-size: 14px; margin: 18px 0 6px; text-transform: none; letter-spacing: 0; color: var(--ink-soft); font-weight: 600; }
170
175
  .body p { margin: 12px 0; line-height: 1.7; color: var(--ink-soft); font-size: 16px; }
171
176
  .body ul, .body ol { margin: 12px 0 16px 22px; }
172
177
  .body li { margin: 6px 0; line-height: 1.65; color: var(--ink-soft); }
@@ -184,13 +189,15 @@ html, body {
184
189
  .body code.badge-confidence-high { color: var(--teal); border-color: rgba(16, 163, 127, 0.3); background: var(--teal-pale); }
185
190
  .body code.badge-confidence-medium { color: var(--orange); border-color: rgba(194, 93, 31, 0.3); background: rgba(194, 93, 31, 0.06); }
186
191
  .body code.badge-confidence-low { color: var(--red); border-color: rgba(185, 44, 44, 0.3); background: rgba(185, 44, 44, 0.06); }
187
- .body code.badge-priority-p0 { background: var(--ink); color: #fff; border-color: var(--ink); font-weight: 600; }
188
- .body code.badge-priority-p1 { background: var(--soft); color: var(--ink); font-weight: 600; }
189
- .body code.badge-priority-p2 { background: var(--soft); color: var(--ink-faint); }
192
+ /* Priority badges · typographic only · openai-paper uses teal-deep
193
+ for P0 (its accent), ink for P1, ink-faint for P2. */
194
+ .body code.badge-priority-p0 { color: var(--teal-deep); }
195
+ .body code.badge-priority-p1 { color: var(--ink); }
196
+ .body code.badge-priority-p2 { color: var(--ink-faint); }
190
197
  .body blockquote {
191
198
  padding: 14px 18px;
192
199
  margin: 22px 0;
193
- border-top: 1.5px solid var(--ink);
200
+ border-top: 2px solid var(--ink);
194
201
  background: var(--paper);
195
202
  border-radius: 4px;
196
203
  color: var(--ink-soft);
@@ -219,7 +226,7 @@ html, body {
219
226
  font-weight: 500;
220
227
  }
221
228
  .body section.section-bottom-line p { font-size: 17px; line-height: 1.55; color: var(--ink); max-width: 720px; }
222
- .body section.section-bottom-line p:not(:first-child) { font-size: 14.5px; color: var(--ink-soft); margin-top: 12px; }
229
+ .body section.section-bottom-line p:not(:first-child) { font-size: 15px; color: var(--ink-soft); margin-top: 12px; }
223
230
 
224
231
  /* Thesis */
225
232
  .body section.section-thesis { margin: 0 0 48px; padding: 24px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
@@ -370,6 +377,7 @@ html, body {
370
377
  width: 100%;
371
378
  border-collapse: collapse;
372
379
  margin: 22px 0 24px;
380
+ /* 14px → 14px · normalized to the cross-spine default. */
373
381
  font-size: 14px;
374
382
  border-top: 1px solid var(--ink);
375
383
  }
@@ -382,12 +390,12 @@ html, body {
382
390
  .body table.md-table th {
383
391
  font-family: var(--mono);
384
392
  font-weight: 500;
385
- font-size: 11.5px;
393
+ font-size: 12px;
386
394
  letter-spacing: 0;
387
395
  text-transform: none;
388
396
  color: var(--ink-faint);
389
397
  }
390
- .body table.md-table td:first-child { font-weight: 500; color: var(--ink); }
398
+ .body table.md-table td:first-child { font-weight: 500; color: var(--ink); font-size: 14px; }
391
399
 
392
400
  .body h2.section-methodology {
393
401
  margin-top: 80px;
@@ -400,11 +408,11 @@ html, body {
400
408
  font-family: var(--mono);
401
409
  border-top: 1px solid var(--rule);
402
410
  }
403
- .body section.section-methodology { color: var(--ink-faint); font-size: 13.5px; line-height: 1.65; }
411
+ .body section.section-methodology { color: var(--ink-faint); font-size: 14px; line-height: 1.65; }
404
412
  .body section.section-methodology strong { color: var(--ink-soft); font-family: var(--mono); }
405
413
 
406
414
  .body pre.codeblock { background: var(--paper); border: 1px solid var(--rule); padding: 14px 16px; font-family: var(--mono); font-size: 13px; color: var(--ink-soft); border-radius: 4px; }
407
- .body pre.mermaid { background: var(--paper); border-top: 1.5px solid var(--ink); border-bottom: 1px solid var(--rule); border-radius: 4px; padding: 28px 24px 24px; margin: 22px 0 28px; min-height: 380px; text-align: center; font-family: var(--mono); font-size: 12px; color: var(--ink-faint); }
415
+ .body pre.mermaid { background: var(--paper); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--rule); border-radius: 4px; padding: 28px 24px 24px; margin: 22px 0 28px; min-height: 380px; text-align: center; font-family: var(--mono); font-size: 12px; color: var(--ink-faint); }
408
416
  .body pre.mermaid svg text { font-family: var(--sans) !important; }
409
417
 
410
418
  .foot-rule {
@@ -447,20 +455,20 @@ html, body {
447
455
  }
448
456
  .rec-rule code { flex: 0 0 auto; }
449
457
  .rec-rule-line { flex: 1 1 auto; height: 1px; background: var(--rule); display: block; }
450
- .rec-priority-p0 .rec-rule-line { background: var(--ink); height: 1.5px; }
458
+ .rec-priority-p0 .rec-rule-line { background: var(--ink); height: 2px; }
451
459
  .rec-action {
452
460
  font-family: var(--sans); font-size: 22px; line-height: 1.3;
453
461
  color: var(--ink); font-weight: 600; letter-spacing: -0.014em;
454
462
  margin: 0 0 18px; max-width: 68ch;
455
463
  }
456
- .rec-rationale { font-size: 15.5px; line-height: 1.72; color: var(--ink-soft); margin: 0 0 22px; max-width: 68ch; }
464
+ .rec-rationale { font-size: 16px; line-height: 1.72; color: var(--ink-soft); margin: 0 0 22px; max-width: 68ch; }
457
465
  .rec-meta {
458
466
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px;
459
- margin: 0 0 14px; font-size: 13.5px; line-height: 1.6; color: var(--ink);
467
+ margin: 0 0 14px; font-size: 14px; line-height: 1.6; color: var(--ink);
460
468
  }
461
469
  .rec-meta-pair { display: inline-flex; align-items: baseline; gap: 8px; min-width: 0; }
462
470
  .rec-meta-label {
463
- font-family: var(--mono); font-size: 11.5px; color: var(--ink-faint);
471
+ font-family: var(--mono); font-size: 12px; color: var(--ink-faint);
464
472
  letter-spacing: 0; text-transform: none; font-weight: 500;
465
473
  }
466
474
  .rec-meta-value { color: var(--ink); font-weight: 500; }
@@ -473,7 +481,7 @@ html, body {
473
481
  .rec-risk-icon { flex: 0 0 auto; color: var(--red); font-style: normal; }
474
482
  .rec-risk-text { flex: 1 1 auto; }
475
483
  .rec-risk-prefix {
476
- font-family: var(--mono); font-style: normal; font-size: 11.5px;
484
+ font-family: var(--mono); font-style: normal; font-size: 12px;
477
485
  color: var(--red); letter-spacing: 0; text-transform: none;
478
486
  font-weight: 500; margin-right: 2px;
479
487
  }
@@ -513,40 +521,93 @@ html, body {
513
521
  font-style: normal; margin-left: 4px; vertical-align: -8px;
514
522
  line-height: 1; font-family: Georgia, serif;
515
523
  }
516
- .nq-why { font-size: 15.5px; line-height: 1.72; color: var(--ink-soft); margin: 0; max-width: 58ch; }
524
+ .nq-why { font-size: 16px; line-height: 1.72; color: var(--ink-soft); margin: 0; max-width: 58ch; }
517
525
 
518
526
  /* ─── Metric strip · per-spine treatment ─────────────────────────
519
527
  Inherits the spine-agnostic baseline in public/report.html's inline
520
528
  <style>; this block tweaks surface, accent + typography to match
521
529
  the spine's voice. No `border-left`, no parallel borders against
522
530
  adjacent .chapter-num / section h2. */
523
- /* Papery research-note feel · sans label, slab-serif value, square
524
- corners, no card borders — uses surface tint to delineate. */
531
+ /* Inherits the Swiss-editorial baseline (big numeral top, mute label
532
+ bottom, hairline grid, no card surface). OpenAI-paper signatures:
533
+ Charter serif numerals (research-note feel) + teal-deep label. The
534
+ earlier per-card surface tint + accent border-top was retired — it
535
+ fought the baseline's outer top/bottom rules and produced doubled
536
+ hairlines. */
525
537
  .body .metric-strip-intro {
526
538
  color: var(--ink-soft);
527
- font-family: var(--sans);
528
- }
529
- .body .metric-card {
530
- background: var(--soft, rgba(0, 0, 0, 0.025));
531
- border: none;
532
- border-top: 1px solid var(--rule, rgba(0, 0, 0, 0.12));
533
- padding: 14px 16px 12px;
534
539
  }
535
540
  .body .metric-label {
536
541
  color: var(--teal-deep);
537
- font-family: var(--sans);
538
- font-weight: 600;
539
542
  }
540
543
  .body .metric-value {
541
544
  color: var(--ink);
542
- font-family: "Charter", "Times New Roman", "Songti SC", serif;
543
- font-size: 30px;
544
- font-weight: 700;
545
- letter-spacing: -0.015em;
545
+ font-family: "Charter", "Times New Roman",
546
+ "PingFang SC", "PingFang TC", "Songti SC", serif;
547
+ font-weight: 400;
548
+ letter-spacing: -0.02em;
546
549
  }
547
550
  .body .metric-card[data-trend="up"] .metric-value { color: var(--teal-deep); }
548
551
  .body .metric-card[data-trend="down"] .metric-value { color: var(--orange); }
549
552
  .body .metric-trend[data-trend="up"] { color: var(--teal-deep); }
550
553
  .body .metric-trend[data-trend="down"] { color: var(--orange); }
551
- .body .metric-qualifier { color: var(--ink-mid); font-family: var(--sans); }
554
+ .body .metric-qualifier { color: var(--ink-mid); }
552
555
  .body .metric-attribution { color: var(--ink-faint); }
556
+
557
+ /* ─── Path comparison · per-spine treatment ──────────────────────
558
+ openai-paper uses orange (weak) / teal-deep (strong) — research-
559
+ note palette. Charter serif on the path name keeps the paper feel. */
560
+ .body .path-comparison .path {
561
+ background: var(--soft, rgba(0, 0, 0, 0.025));
562
+ border: none;
563
+ border-top: 1px solid var(--rule, rgba(0, 0, 0, 0.12));
564
+ }
565
+ .body .path-comparison .path-weak { border-top: 3px solid var(--orange); }
566
+ .body .path-comparison .path-strong { border-top: 3px solid var(--teal-deep); }
567
+ .body .path-comparison .path-weak .path-tag { color: var(--orange); }
568
+ .body .path-comparison .path-strong .path-tag { color: var(--teal-deep); }
569
+ .body .path-comparison .path-name {
570
+ font-family: "Charter", "Times New Roman", "Songti SC", serif;
571
+ color: var(--ink);
572
+ font-weight: 700;
573
+ }
574
+ .body .path-comparison .path li { color: var(--ink-soft); }
575
+ .body .path-comparison .path-weak li::before { background: var(--orange); }
576
+ .body .path-comparison .path-strong li::before { background: var(--teal-deep); }
577
+ .body .path-comparison-implication { color: var(--ink-mid); font-family: var(--sans); }
578
+
579
+ /* ─── Views-compared · per-spine · openai-paper ────────────────
580
+ Hairline frame · accent stripe on TOP (per project rule).
581
+ Alignment uses teal-deep, divergence uses orange. */
582
+ .body .vc-section-label { color: var(--teal-deep); border-color: var(--rule); }
583
+ .body .views-compared-alignment .vc-card {
584
+ border-color: var(--rule);
585
+ border-top-color: var(--teal-deep);
586
+ }
587
+ .body .vc-card-headline {
588
+ font-family: "Charter", "Times New Roman", "Songti SC", serif;
589
+ color: var(--ink);
590
+ font-weight: 700;
591
+ }
592
+ .body .vc-chip { color: var(--ink-soft); border-color: var(--rule); }
593
+ .body .vc-card-note { color: var(--ink-mid); }
594
+ .body .vc-fork { border-color: var(--rule); border-top-color: var(--orange, var(--teal-deep)); }
595
+ .body .vc-fork-hinge { font-family: "Charter", "Times New Roman", serif; color: var(--ink); }
596
+ .body .vc-side { border-color: var(--rule-soft, var(--rule)); }
597
+ .body .vc-side-label { color: var(--orange, var(--teal-deep)); }
598
+ .body .vc-side-stance { color: var(--ink-mid); }
599
+ .body .vc-fork-resolution { color: var(--ink-mid); border-top-color: var(--rule-soft, var(--rule)); }
600
+ .body .vc-resolution-label { color: var(--ink-faint); }
601
+ .body .vc-row-name {
602
+ font-family: "Charter", "Times New Roman", serif;
603
+ color: var(--ink);
604
+ font-weight: 700;
605
+ }
606
+ .body .vc-row-stance { color: var(--teal-deep); }
607
+ .body .vc-row-position { color: var(--ink-mid); }
608
+ .body .vc-row-quote { font-family: "Charter", "Times New Roman", serif; color: var(--ink); }
609
+ .body .views-compared-synthesis {
610
+ border-color: var(--rule);
611
+ border-top-color: var(--ink-faint);
612
+ }
613
+ .body .vc-synthesis-body { font-family: "Charter", "Times New Roman", serif; color: var(--ink); }