@kolkrabbi/kol-theme 0.57.1 → 0.58.1

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.
@@ -34,7 +34,7 @@
34
34
  * [aria-disabled="true"] /
35
35
  * :disabled auto opacity-50 + pointer-events-none
36
36
  *
37
- * Single visible-border tone (--kol-oq-16, opaque — chrome law). No hover/focus escalation,
37
+ * Single visible-border tone (--kol-oq-08, opaque — user ruling 2026-08-26; was oq-16). No hover/focus escalation,
38
38
  * no `--bordered` modifier. When you want a ghost field to render
39
39
  * persistently visible (e.g. "is-edited" indicator), switch the variant
40
40
  * to `--outline` — same visual, clearer semantic.
@@ -83,7 +83,8 @@
83
83
  .kol-control--outline {
84
84
  background-color: transparent;
85
85
  color: var(--kol-surface-on-primary);
86
- border-color: var(--kol-oq-16);
86
+ /* oq-08 — the one outline border (user ruling 2026-08-26); was oq-16 */
87
+ border-color: var(--kol-oq-08);
87
88
  }
88
89
 
89
90
  /* Textarea modifier — flips the inline-flex shell to block so a multi-line
@@ -276,7 +277,11 @@
276
277
  .kol-btn-outline {
277
278
  background: transparent;
278
279
  color: var(--kol-surface-on-primary);
279
- border: 1px solid var(--kol-oq-16);
280
+ /* ONE outline border across the controls (user ruling 2026-08-26): OPAQUE
281
+ * 8% — the system's hairline. oq-16 read heavy beside the segmented
282
+ * toggle's fg-04, and fg is out: a translucent border doubles where two
283
+ * controls touch. Button outline · .kol-control--outline · .kol-seg agree. */
284
+ border: 1px solid var(--kol-oq-08);
280
285
  }
281
286
  @media (hover: hover) {
282
287
  .kol-btn-outline:not(.kol-btn-animate):hover {
@@ -502,7 +507,7 @@
502
507
  }
503
508
 
504
509
  .toggle-switch--primary { background-color: var(--kol-surface-secondary); }
505
- .toggle-switch--outline { border-color: var(--kol-oq-16); }
510
+ .toggle-switch--outline { border-color: var(--kol-oq-08); }
506
511
 
507
512
  /* shells take button padding; bare stays padding 0 */
508
513
  .toggle-switch--primary.toggle-switch--sm, .toggle-switch--outline.toggle-switch--sm { padding: 4px 12px; }
@@ -1091,7 +1096,7 @@ a.kol-icon-frame {
1091
1096
  .kol-icon-frame-outline {
1092
1097
  background: transparent;
1093
1098
  color: var(--kol-surface-on-primary);
1094
- border: 1px solid var(--kol-oq-16);
1099
+ border: 1px solid var(--kol-oq-08);
1095
1100
  }
1096
1101
  .kol-icon-frame-ghost {
1097
1102
  background: transparent;
@@ -52,6 +52,22 @@
52
52
  height: auto;
53
53
  aspect-ratio: 1;
54
54
  min-width: 280px;
55
+ /* the board is a CONTAINER so its coordinate chrome can size off the
56
+ * square (ChessBoardFluidCoordinates, kol-chess 2026-08-26) */
57
+ container-type: inline-size;
58
+ }
59
+
60
+ /* Fluid coordinates — the helper voice, sized by the square: a square is
61
+ * 12.5cqw, so the label runs clamp(7px, 2.2cqw, 12px) and its inset
62
+ * max(2px, 0.8cqw). At 390 (45px squares) that is 7px / 2px instead of the
63
+ * desktop 12px / 8px that sat on the rook. */
64
+ .chess-board--fluid .chess-coord--fluid {
65
+ padding: max(2px, 0.8cqw);
66
+ font-family: var(--kol-font-family-mono);
67
+ font-size: clamp(7px, 2.2cqw, 12px);
68
+ line-height: 1;
69
+ font-weight: 500;
70
+ letter-spacing: 0.06em;
55
71
  }
56
72
 
57
73
  @media (max-width: 1023px) {
@@ -95,7 +95,7 @@
95
95
  .kol-dd-panel--grey { background: var(--kol-oq-12); }
96
96
  .kol-dd-panel--outline {
97
97
  background: var(--kol-surface-primary);
98
- border: 1px solid var(--kol-oq-16);
98
+ border: 1px solid var(--kol-oq-08); /* matches the trigger's rest border */
99
99
  border-top: none; /* the trigger's bottom edge is the divider (docs page) */
100
100
  }
101
101
  .kol-dd-div { border-top: 1px solid var(--kol-fg-08); }
@@ -469,7 +469,9 @@
469
469
  * ───────────────────────────────────────────────────────────────────── */
470
470
  .kol-seg {
471
471
  display: flex;
472
- border: 1px solid var(--kol-fg-04);
472
+ /* oq-08, opaque — the one outline border every control wears (user ruling
473
+ * 2026-08-26); was fg-04, which doubled wherever two strips touched. */
474
+ border: 1px solid var(--kol-oq-08);
473
475
  border-radius: var(--kol-radius-sm);
474
476
  overflow: hidden;
475
477
  /* The button-height LAW (2026-08-12): the strip's OUTER height is PINNED
@@ -513,7 +515,7 @@
513
515
  background-color var(--kol-transition-base);
514
516
  }
515
517
 
516
- .kol-seg-cell + .kol-seg-cell { border-left: 1px solid var(--kol-fg-04); }
518
+ .kol-seg-cell + .kol-seg-cell { border-left: 1px solid var(--kol-oq-08); }
517
519
 
518
520
  /* ONE STEP, not a leap. Rest is `oq-48` and hover went straight to full ink —
519
521
  * a 48 → 100 jump that read as the cell selecting itself under the cursor.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.57.1",
3
+ "version": "0.58.1",
4
4
  "description": "KOL (Kolkrabbi) design-system tokens + base CSS — brand-neutral. The canonical token/cascade layer every other KOL package and consumer builds on.",
5
5
  "license": "MIT",
6
6
  "type": "module",