@symerian/symi 3.5.31 → 3.5.32

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.
@@ -865,118 +865,90 @@ body {
865
865
  which lets the substrate / cards container's overflow-y: auto
866
866
  reliably engage instead of pushing the parent.
867
867
  Combined: every mode reliably bounds to the column. */
868
- /* ── Symframe Design Tokens (Option 1 — 3.5.31) ─────────────────────────
869
- Exhaustive token set extracted from existing symframe CSS every literal
870
- value used in the symframe surface has been replaced with a var(--sf-*)
871
- reference. Visual identity preserved exactly. Token names are numeric
872
- (--sf-cyan-12) rather than semantic (--sf-cyan-border); semantic naming +
873
- tier consolidation happens in Option 3 (visual harmonization).
874
-
875
- Defined at :root so the tokens are inherited by every selector in the
876
- symframe surface without scoping concerns. Future selectors elsewhere
877
- in the codebase will see the tokens but won't accidentally use them.
868
+ /* ── Symframe Design Tokens (Option 3 — 3.5.32) ─────────────────────────
869
+ Semantic token system. Option 1 (3.5.31) extracted every literal as a
870
+ numeric token; Option 3 collapses close tiers, renames to semantic names,
871
+ and tunes the panel as one coherent system.
872
+
873
+ Tiers per primitive:
874
+ cyan: hairline · veil · edge · pulse · flash (5)
875
+ veil: faint · soft · strong (3) white-on-dark
876
+ shadow: soft · mid · deep (3) black drop shadows
877
+ ink: badge (1) near-opaque black
878
+ intent palette per hue: tint · edge · strong (· peak/text/mid)
879
+ pad: xs(2) · sm(4) · md(6) · lg(8) · xl(10) · 2xl(12)
880
+ text: xs(9) · sm(10) · md(11) · lg(13) · xl(16)
881
+ radius: xs(2) · sm(4) · md(6) · lg(8) · xl(10) · pill
882
+ bound: row · tool · detail · list · media · body
883
+ time: fast(.15) · quick(.2) · normal(.4) · medium(.6) · easy(.8)
884
+ · slow(1) · pulse(1.2) · breathe(3.2)
878
885
  */
879
886
  :root {
880
- /* ── Cyan accent opacities (15 distinct tiers from existing usage) ── */
881
- --sf-cyan-04: rgba(0, 212, 255, 0.04);
882
- --sf-cyan-05: rgba(0, 212, 255, 0.05);
883
- --sf-cyan-06: rgba(0, 212, 255, 0.06);
884
- --sf-cyan-08: rgba(0, 212, 255, 0.08);
885
- --sf-cyan-10: rgba(0, 212, 255, 0.1);
886
- --sf-cyan-12: rgba(0, 212, 255, 0.12);
887
- --sf-cyan-14: rgba(0, 212, 255, 0.14);
888
- --sf-cyan-15: rgba(0, 212, 255, 0.15);
889
- --sf-cyan-18: rgba(0, 212, 255, 0.18);
890
- --sf-cyan-20: rgba(0, 212, 255, 0.2);
891
- --sf-cyan-25: rgba(0, 212, 255, 0.25);
892
- --sf-cyan-32: rgba(0, 212, 255, 0.32);
893
- --sf-cyan-35: rgba(0, 212, 255, 0.35);
894
- --sf-cyan-45: rgba(0, 212, 255, 0.45);
895
- --sf-cyan-50: rgba(0, 212, 255, 0.5);
896
- --sf-cyan-55: rgba(0, 212, 255, 0.55);
897
- --sf-cyan-60: rgba(0, 212, 255, 0.6);
898
- --sf-cyan-65: rgba(0, 212, 255, 0.65);
899
-
900
- /* ── White opacity tiers ── */
901
- --sf-white-02: rgba(255, 255, 255, 0.02);
902
- --sf-white-03: rgba(255, 255, 255, 0.03);
903
- --sf-white-04: rgba(255, 255, 255, 0.04);
904
- --sf-white-05: rgba(255, 255, 255, 0.05);
905
- --sf-white-06: rgba(255, 255, 255, 0.06);
906
- --sf-white-08: rgba(255, 255, 255, 0.08);
907
- --sf-white-09: rgba(255, 255, 255, 0.09);
908
- --sf-white-10: rgba(255, 255, 255, 0.1);
909
- --sf-white-12: rgba(255, 255, 255, 0.12);
910
-
911
- /* ── Black opacity tiers (shadows + dark fills) ── */
912
- --sf-black-15: rgba(0, 0, 0, 0.15);
913
- --sf-black-20: rgba(0, 0, 0, 0.2);
914
- --sf-black-25: rgba(0, 0, 0, 0.25);
915
- --sf-black-30: rgba(0, 0, 0, 0.3);
916
- --sf-black-35: rgba(0, 0, 0, 0.35);
917
- --sf-black-40: rgba(0, 0, 0, 0.4);
918
- --sf-black-55: rgba(0, 0, 0, 0.55);
887
+ /* ── Cyan accent (primary accent 5 tiers) ── */
888
+ --sf-cyan-hairline: rgba(0, 212, 255, 0.06);
889
+ --sf-cyan-veil: rgba(0, 212, 255, 0.12);
890
+ --sf-cyan-edge: rgba(0, 212, 255, 0.2);
891
+ --sf-cyan-pulse: rgba(0, 212, 255, 0.35);
892
+ --sf-cyan-flash: rgba(0, 212, 255, 0.6);
893
+
894
+ /* ── Veil (white-on-dark surface depth 3 tiers) ── */
895
+ --sf-veil-faint: rgba(255, 255, 255, 0.04);
896
+ --sf-veil-soft: rgba(255, 255, 255, 0.06);
897
+ --sf-veil-strong: rgba(255, 255, 255, 0.1);
898
+
899
+ /* ── Shadow + ink (4 tiers) ── */
900
+ --sf-shadow-soft: rgba(0, 0, 0, 0.2);
901
+ --sf-shadow-mid: rgba(0, 0, 0, 0.25);
902
+ --sf-shadow-deep: rgba(0, 0, 0, 0.4);
903
+ --sf-ink-badge: rgba(0, 0, 0, 0.55);
919
904
 
920
905
  /* ── Surface fills (dark blue-tinted glass) ── */
921
906
  --sf-surface-card: rgba(10, 16, 26, 0.62);
922
907
  --sf-surface-menu: rgba(10, 16, 26, 0.95);
923
908
 
924
- /* ── Intent palette (Stage D.1 used by intent stripes, considering
925
- button, AWAITING flag, producing pulse, and the substrate badges
926
- that mirror these colors) ── */
927
- /* amber — weighing intent + considering button */
928
- --sf-amber-12: rgba(245, 183, 58, 0.12);
929
- --sf-amber-32: rgba(245, 183, 58, 0.32);
930
- /* pink awaiting flag + considering-empty + panel-ref-miss pulse */
931
- --sf-pink-10: rgba(244, 114, 182, 0.1);
932
- --sf-pink-22: rgba(244, 114, 182, 0.22);
933
- --sf-pink-55: rgba(244, 114, 182, 0.55);
934
- --sf-pink-60: rgba(244, 114, 182, 0.6);
935
- --sf-pink-85: rgba(244, 114, 182, 0.85);
936
- /* green producing intent + result reasoning badge */
937
- --sf-green-10: rgba(52, 211, 153, 0.1);
938
- --sf-green-18: rgba(52, 211, 153, 0.18);
939
- --sf-green-20: rgba(52, 211, 153, 0.2);
940
- --sf-green-55: rgba(52, 211, 153, 0.55);
941
- --sf-green-75: rgba(52, 211, 153, 0.75);
942
- --sf-green-100: rgba(52, 211, 153, 1);
943
- /* violet drafted intent + tool reasoning badge */
944
- --sf-violet-12: rgba(139, 92, 246, 0.12);
945
- --sf-violet-20: rgba(139, 92, 246, 0.2);
946
- --sf-violet-22: rgba(139, 92, 246, 0.22);
947
- --sf-violet-25: rgba(139, 92, 246, 0.25);
948
- --sf-violet-32: rgba(139, 92, 246, 0.32);
949
- --sf-violet-55: rgba(139, 92, 246, 0.55);
950
-
951
- /* ── Padding / gap / margin values (px) ── */
952
- --sf-pad-2: 2px;
953
- --sf-pad-4: 4px;
954
- --sf-pad-5: 5px;
955
- --sf-pad-6: 6px;
956
- --sf-pad-8: 8px;
957
- --sf-pad-10: 10px;
958
- --sf-pad-12: 12px;
959
-
960
- /* ── Font sizes (px) ── */
961
- --sf-text-8: 8px;
962
- --sf-text-9: 9px;
963
- --sf-text-10: 10px;
964
- --sf-text-11: 11px;
965
- --sf-text-12: 12px;
966
- --sf-text-13: 13px;
967
- --sf-text-16: 16px;
968
-
969
- /* ── Border-radius (px / %) ── */
970
- --sf-radius-2: 2px;
971
- --sf-radius-3: 3px;
972
- --sf-radius-4: 4px;
973
- --sf-radius-5: 5px;
974
- --sf-radius-6: 6px;
975
- --sf-radius-8: 8px;
976
- --sf-radius-10: 10px;
909
+ /* ── Intent palette (4 hues — Stage D.1 semantic) ── */
910
+ --sf-amber-tint: rgba(245, 183, 58, 0.12); /* weighing bg */
911
+ --sf-amber-edge: rgba(245, 183, 58, 0.32); /* weighing stripe */
912
+
913
+ --sf-pink-tint: rgba(244, 114, 182, 0.1); /* awaiting bg */
914
+ --sf-pink-edge: rgba(244, 114, 182, 0.22); /* awaiting border */
915
+ --sf-pink-strong: rgba(244, 114, 182, 0.6); /* hover edge */
916
+ --sf-pink-text: rgba(244, 114, 182, 0.85); /* awaiting text */
917
+
918
+ --sf-green-tint: rgba(52, 211, 153, 0.1); /* producing bg */
919
+ --sf-green-edge: rgba(52, 211, 153, 0.2); /* producing border */
920
+ --sf-green-strong: rgba(52, 211, 153, 0.75); /* producing pulse */
921
+ --sf-green-peak: rgba(52, 211, 153, 1); /* producing peak */
922
+
923
+ --sf-violet-tint: rgba(139, 92, 246, 0.12); /* drafted bg */
924
+ --sf-violet-edge: rgba(139, 92, 246, 0.22); /* drafted border */
925
+ --sf-violet-mid: rgba(139, 92, 246, 0.32); /* drafted stripe */
926
+ --sf-violet-strong: rgba(139, 92, 246, 0.55); /* drafted highlight */
927
+
928
+ /* ── Spacing (4px grid) ── */
929
+ --sf-pad-xs: 2px;
930
+ --sf-pad-sm: 4px;
931
+ --sf-pad-md: 6px;
932
+ --sf-pad-lg: 8px;
933
+ --sf-pad-xl: 10px;
934
+ --sf-pad-2xl: 12px;
935
+
936
+ /* ── Type scale ── */
937
+ --sf-text-xs: 9px;
938
+ --sf-text-sm: 10px;
939
+ --sf-text-md: 11px;
940
+ --sf-text-lg: 13px;
941
+ --sf-text-xl: 16px;
942
+
943
+ /* ── Corner radii ── */
944
+ --sf-radius-xs: 2px;
945
+ --sf-radius-sm: 4px;
946
+ --sf-radius-md: 6px;
947
+ --sf-radius-lg: 8px;
948
+ --sf-radius-xl: 10px;
977
949
  --sf-radius-pill: 50%;
978
950
 
979
- /* ── Content bounds (height limits) ── */
951
+ /* ── Content bounds (semantic, unchanged) ── */
980
952
  --sf-bound-row: 38px;
981
953
  --sf-bound-tool: 100px;
982
954
  --sf-bound-detail: 120px;
@@ -987,34 +959,28 @@ body {
987
959
  /* ── Motion durations ── */
988
960
  --sf-time-fast: 0.15s;
989
961
  --sf-time-quick: 0.2s;
990
- --sf-time-200ms: 200ms;
991
- --sf-time-slow: 0.3s;
992
962
  --sf-time-normal: 0.4s;
993
- --sf-time-medium: 0.5s;
994
- --sf-time-soft: 0.6s;
995
- --sf-time-600ms: 600ms;
963
+ --sf-time-medium: 0.6s;
996
964
  --sf-time-easy: 0.8s;
997
- --sf-time-800ms: 800ms;
998
- --sf-time-1s: 1s;
965
+ --sf-time-slow: 1s;
999
966
  --sf-time-pulse: 1.2s;
1000
- --sf-time-pulse-prod: 2.6s;
1001
- --sf-time-pulse-quiet: 3.2s;
967
+ --sf-time-breathe: 3.2s;
1002
968
  }
1003
969
 
1004
970
  .symframe {
1005
971
  display: grid;
1006
972
  grid-template-rows: auto minmax(0, 1fr) auto;
1007
- gap: var(--sf-pad-8);
973
+ gap: var(--sf-pad-lg);
1008
974
 
1009
975
  flex: 1 1 0;
1010
976
  min-height: 0;
1011
977
  overflow: hidden;
1012
978
  }
1013
979
  .symframe-header {
1014
- padding: var(--sf-pad-8) var(--sf-pad-10) var(--sf-pad-10);
980
+ padding: var(--sf-pad-lg) var(--sf-pad-xl) var(--sf-pad-xl);
1015
981
 
1016
- border-bottom: 1px solid var(--sf-cyan-12);
1017
- margin-bottom: var(--sf-pad-4);
982
+ border-bottom: 1px solid var(--sf-cyan-veil);
983
+ margin-bottom: var(--sf-pad-sm);
1018
984
 
1019
985
  min-height: 0;
1020
986
  }
@@ -1022,11 +988,11 @@ body {
1022
988
  display: flex;
1023
989
  align-items: baseline;
1024
990
  justify-content: space-between;
1025
- gap: var(--sf-pad-10);
991
+ gap: var(--sf-pad-xl);
1026
992
  }
1027
993
  .symframe-title {
1028
994
  font-family: var(--font-mono);
1029
- font-size: var(--sf-text-12);
995
+ font-size: var(--sf-text-lg);
1030
996
 
1031
997
  font-weight: 600;
1032
998
  letter-spacing: 0.14em;
@@ -1034,7 +1000,7 @@ body {
1034
1000
  }
1035
1001
  .symframe-count {
1036
1002
  font-family: var(--font-mono);
1037
- font-size: var(--sf-text-9);
1003
+ font-size: var(--sf-text-xs);
1038
1004
 
1039
1005
  letter-spacing: 0.06em;
1040
1006
  color: var(--text-dim);
@@ -1043,12 +1009,12 @@ body {
1043
1009
  }
1044
1010
  .symframe-sub {
1045
1011
  font-family: var(--font-mono);
1046
- font-size: var(--sf-text-9);
1012
+ font-size: var(--sf-text-xs);
1047
1013
 
1048
1014
  letter-spacing: 0.04em;
1049
1015
  color: var(--text-dim);
1050
1016
  opacity: 0.55;
1051
- margin-top: var(--sf-pad-4);
1017
+ margin-top: var(--sf-pad-sm);
1052
1018
 
1053
1019
  line-height: 1.4;
1054
1020
  }
@@ -1057,16 +1023,16 @@ body {
1057
1023
  .symframe-modes {
1058
1024
  display: flex;
1059
1025
  align-items: center;
1060
- gap: var(--sf-pad-6);
1026
+ gap: var(--sf-pad-md);
1061
1027
 
1062
- margin-top: var(--sf-pad-6);
1028
+ margin-top: var(--sf-pad-md);
1063
1029
  }
1064
1030
  .mode-chip {
1065
1031
  width: 10px;
1066
1032
  height: 10px;
1067
1033
  border-radius: var(--sf-radius-pill);
1068
1034
 
1069
- border: 1px solid var(--sf-cyan-32);
1035
+ border: 1px solid var(--sf-cyan-pulse);
1070
1036
  background: transparent;
1071
1037
  padding: 0;
1072
1038
  cursor: pointer;
@@ -1078,27 +1044,27 @@ body {
1078
1044
  }
1079
1045
  .mode-chip:hover {
1080
1046
  border-color: var(--accent-cyan);
1081
- background: var(--sf-cyan-15);
1047
+ background: var(--sf-cyan-edge);
1082
1048
  transform: scale(1.15);
1083
1049
  }
1084
1050
  .mode-chip.active {
1085
1051
  background: var(--accent-cyan);
1086
1052
  border-color: var(--accent-cyan);
1087
- box-shadow: 0 0 6px var(--sf-cyan-50);
1053
+ box-shadow: 0 0 6px var(--sf-cyan-flash);
1088
1054
  }
1089
1055
  .mode-auto {
1090
1056
  margin-left: auto;
1091
- padding: var(--sf-pad-2) var(--sf-pad-8);
1057
+ padding: var(--sf-pad-xs) var(--sf-pad-lg);
1092
1058
 
1093
1059
  font-family: var(--font-mono);
1094
- font-size: var(--sf-text-8);
1060
+ font-size: var(--sf-text-xs);
1095
1061
 
1096
1062
  font-weight: 700;
1097
1063
  letter-spacing: 0.12em;
1098
1064
  color: var(--accent-cyan);
1099
- background: var(--sf-cyan-08);
1100
- border: 1px solid var(--sf-cyan-32);
1101
- border-radius: var(--sf-radius-8);
1065
+ background: var(--sf-cyan-veil);
1066
+ border: 1px solid var(--sf-cyan-pulse);
1067
+ border-radius: var(--sf-radius-lg);
1102
1068
 
1103
1069
  cursor: pointer;
1104
1070
  transition:
@@ -1106,7 +1072,7 @@ body {
1106
1072
  color 0.15s ease;
1107
1073
  }
1108
1074
  .mode-auto:hover {
1109
- background: var(--sf-cyan-20);
1075
+ background: var(--sf-cyan-edge);
1110
1076
  color: var(--text);
1111
1077
  }
1112
1078
 
@@ -1115,18 +1081,18 @@ body {
1115
1081
  AND adds .considering-weighing to #symframe (CSS below) which dims
1116
1082
  non-weighing cards for the duration. */
1117
1083
  .considering-btn {
1118
- margin-left: var(--sf-pad-4);
1084
+ margin-left: var(--sf-pad-sm);
1119
1085
 
1120
- padding: var(--sf-pad-2) 7px;
1086
+ padding: var(--sf-pad-xs) 7px;
1121
1087
 
1122
- font-size: var(--sf-text-11);
1088
+ font-size: var(--sf-text-md);
1123
1089
 
1124
1090
  line-height: 1;
1125
1091
  font-family: var(--font-mono);
1126
1092
  color: #f5b73a; /* amber — same hue as weighing intent */
1127
1093
  background: transparent;
1128
- border: 1px solid var(--sf-amber-32);
1129
- border-radius: var(--sf-radius-8);
1094
+ border: 1px solid var(--sf-amber-edge);
1095
+ border-radius: var(--sf-radius-lg);
1130
1096
 
1131
1097
  cursor: pointer;
1132
1098
  transition:
@@ -1135,7 +1101,7 @@ body {
1135
1101
  transform 0.15s ease;
1136
1102
  }
1137
1103
  .considering-btn:hover {
1138
- background: var(--sf-amber-12);
1104
+ background: var(--sf-amber-tint);
1139
1105
  border-color: #f5b73a;
1140
1106
  }
1141
1107
  .considering-btn:active {
@@ -1149,11 +1115,11 @@ body {
1149
1115
  @keyframes considering-empty-pulse {
1150
1116
  0%,
1151
1117
  100% {
1152
- border-color: var(--sf-amber-32);
1118
+ border-color: var(--sf-amber-edge);
1153
1119
  }
1154
1120
  50% {
1155
- border-color: var(--sf-pink-60);
1156
- background: var(--sf-pink-10);
1121
+ border-color: var(--sf-pink-strong);
1122
+ background: var(--sf-pink-tint);
1157
1123
  }
1158
1124
  }
1159
1125
  /* While considering-weighing is active, dim non-weighing cards so the
@@ -1191,9 +1157,9 @@ body {
1191
1157
  border-bottom: 1px dashed currentColor;
1192
1158
  cursor: pointer;
1193
1159
  font-weight: 500;
1194
- padding: 0 var(--sf-pad-2);
1160
+ padding: 0 var(--sf-pad-xs);
1195
1161
 
1196
- border-radius: var(--sf-radius-3);
1162
+ border-radius: var(--sf-radius-xs);
1197
1163
 
1198
1164
  transition:
1199
1165
  background 0.15s ease,
@@ -1205,7 +1171,7 @@ body {
1205
1171
  opacity: 0.7;
1206
1172
  }
1207
1173
  .panel-ref:hover {
1208
- background: var(--sf-cyan-12);
1174
+ background: var(--sf-cyan-veil);
1209
1175
  border-bottom-style: solid;
1210
1176
  }
1211
1177
  /* Orphan reference — the card is no longer in the panel. Subdued so
@@ -1220,15 +1186,15 @@ body {
1220
1186
  /* Click-miss flash: a brief pink tint signals "I tried to dwell but
1221
1187
  that card isn't currently registered." */
1222
1188
  .panel-ref.panel-ref-miss {
1223
- animation: panel-ref-miss-pulse var(--sf-time-1s) ease-out;
1189
+ animation: panel-ref-miss-pulse var(--sf-time-slow) ease-out;
1224
1190
  }
1225
1191
  @keyframes panel-ref-miss-pulse {
1226
1192
  0%,
1227
1193
  100% {
1228
- background: var(--sf-cyan-12);
1194
+ background: var(--sf-cyan-veil);
1229
1195
  }
1230
1196
  50% {
1231
- background: var(--sf-pink-22);
1197
+ background: var(--sf-pink-edge);
1232
1198
  }
1233
1199
  }
1234
1200
 
@@ -1276,9 +1242,9 @@ body {
1276
1242
  plenty of focus signal on their own. */
1277
1243
  opacity: 1 !important;
1278
1244
  box-shadow:
1279
- 0 0 24px var(--sf-cyan-35),
1280
- inset 0 1px 0 var(--sf-white-06),
1281
- 0 4px 12px var(--sf-black-25);
1245
+ 0 0 24px var(--sf-cyan-pulse),
1246
+ inset 0 1px 0 var(--sf-veil-soft),
1247
+ 0 4px 12px var(--sf-shadow-mid);
1282
1248
  border-color: var(--accent-cyan) !important;
1283
1249
  transition:
1284
1250
  box-shadow 0.4s ease,
@@ -1330,10 +1296,10 @@ body {
1330
1296
  "dominant" without exceeding the column. The `overflow: hidden`
1331
1297
  from C.4 still clips any overflow from misbehaving children. */
1332
1298
  max-height: 80%;
1333
- background: var(--sf-cyan-04);
1334
- border-radius: var(--sf-radius-10);
1299
+ background: var(--sf-cyan-hairline);
1300
+ border-radius: var(--sf-radius-xl);
1335
1301
 
1336
- margin-top: var(--sf-pad-8);
1302
+ margin-top: var(--sf-pad-lg);
1337
1303
  }
1338
1304
  .symframe[data-mode="awaiting"] .awaiting-list {
1339
1305
  /* The footer is now sized larger than baseline. Let the list flex
@@ -1399,11 +1365,11 @@ body {
1399
1365
  min-height: 0;
1400
1366
  display: flex;
1401
1367
  flex-direction: column;
1402
- gap: var(--sf-pad-10);
1368
+ gap: var(--sf-pad-xl);
1403
1369
 
1404
1370
  overflow-y: auto;
1405
1371
  scrollbar-width: thin;
1406
- scrollbar-color: var(--sf-cyan-12) transparent;
1372
+ scrollbar-color: var(--sf-cyan-veil) transparent;
1407
1373
  /* Let scroll/click events fall through the empty space between cards
1408
1374
  down to the substrate, so the user can scroll reasoning even when
1409
1375
  foreground cards are foregrounded. Cards themselves re-enable
@@ -1417,8 +1383,8 @@ body {
1417
1383
  width: 3px;
1418
1384
  }
1419
1385
  .symframe-cards::-webkit-scrollbar-thumb {
1420
- background: var(--sf-cyan-12);
1421
- border-radius: var(--sf-radius-2);
1386
+ background: var(--sf-cyan-veil);
1387
+ border-radius: var(--sf-radius-xs);
1422
1388
  }
1423
1389
 
1424
1390
  /* ── Substrate (ambient reasoning layer, Stage B) ──────────────────── */
@@ -1433,19 +1399,19 @@ body {
1433
1399
  overflow-y: auto;
1434
1400
  display: flex;
1435
1401
  flex-direction: column;
1436
- gap: var(--sf-pad-6);
1402
+ gap: var(--sf-pad-md);
1437
1403
 
1438
- padding: var(--sf-pad-2) var(--sf-pad-4) var(--sf-pad-4);
1404
+ padding: var(--sf-pad-xs) var(--sf-pad-sm) var(--sf-pad-sm);
1439
1405
 
1440
1406
  scrollbar-width: thin;
1441
- scrollbar-color: var(--sf-cyan-18) transparent;
1407
+ scrollbar-color: var(--sf-cyan-edge) transparent;
1442
1408
  }
1443
1409
  .symframe-substrate::-webkit-scrollbar {
1444
1410
  width: 3px;
1445
1411
  }
1446
1412
  .symframe-substrate::-webkit-scrollbar-thumb {
1447
- background: var(--sf-cyan-18);
1448
- border-radius: var(--sf-radius-2);
1413
+ background: var(--sf-cyan-edge);
1414
+ border-radius: var(--sf-radius-xs);
1449
1415
  }
1450
1416
 
1451
1417
  /* Substrate entry — decay-driven visual. Custom properties are written
@@ -1468,8 +1434,8 @@ body {
1468
1434
  opacity: 1;
1469
1435
  filter: none;
1470
1436
  transform: none;
1471
- border-color: var(--sf-cyan-32);
1472
- box-shadow: 0 0 12px var(--sf-cyan-08);
1437
+ border-color: var(--sf-cyan-pulse);
1438
+ box-shadow: 0 0 12px var(--sf-cyan-veil);
1473
1439
  }
1474
1440
  .substrate-live-dot {
1475
1441
  display: inline-block;
@@ -1478,7 +1444,7 @@ body {
1478
1444
  border-radius: var(--sf-radius-pill);
1479
1445
 
1480
1446
  background: var(--accent-cyan);
1481
- margin-right: var(--sf-pad-6);
1447
+ margin-right: var(--sf-pad-md);
1482
1448
 
1483
1449
  animation: pulse var(--sf-time-pulse) ease-in-out infinite;
1484
1450
 
@@ -1492,15 +1458,15 @@ body {
1492
1458
  max-height: 2px;
1493
1459
  padding: 0;
1494
1460
  border-width: 0;
1495
- border-top: 1px solid var(--sf-cyan-06);
1461
+ border-top: 1px solid var(--sf-cyan-hairline);
1496
1462
  overflow: hidden;
1497
1463
  }
1498
1464
  .substrate-entry.substrate-texture:hover {
1499
1465
  max-height: var(--sf-bound-list);
1500
1466
 
1501
- padding: var(--sf-pad-6) var(--sf-pad-8);
1467
+ padding: var(--sf-pad-md) var(--sf-pad-lg);
1502
1468
 
1503
- border: 1px solid var(--sf-cyan-18);
1469
+ border: 1px solid var(--sf-cyan-edge);
1504
1470
  opacity: 0.7;
1505
1471
  filter: none;
1506
1472
  }
@@ -1521,7 +1487,7 @@ body {
1521
1487
  flex-direction: column;
1522
1488
  align-items: center;
1523
1489
  justify-content: center;
1524
- gap: var(--sf-pad-10);
1490
+ gap: var(--sf-pad-xl);
1525
1491
 
1526
1492
  padding: 40px 0;
1527
1493
  margin: auto;
@@ -1532,12 +1498,12 @@ body {
1532
1498
  height: 14px;
1533
1499
  border-radius: var(--sf-radius-pill);
1534
1500
 
1535
- background: radial-gradient(circle at center, var(--sf-cyan-45) 0%, rgba(0, 212, 255, 0) 70%);
1536
- animation: quiet-pulse var(--sf-time-pulse-quiet) ease-in-out infinite;
1501
+ background: radial-gradient(circle at center, var(--sf-cyan-pulse) 0%, rgba(0, 212, 255, 0) 70%);
1502
+ animation: quiet-pulse var(--sf-time-breathe) ease-in-out infinite;
1537
1503
  }
1538
1504
  .substrate-quiet-label {
1539
1505
  font-family: var(--font-mono);
1540
- font-size: var(--sf-text-9);
1506
+ font-size: var(--sf-text-xs);
1541
1507
 
1542
1508
  letter-spacing: 0.18em;
1543
1509
  text-transform: uppercase;
@@ -1585,21 +1551,21 @@ body {
1585
1551
  background: var(--sf-surface-card);
1586
1552
  backdrop-filter: blur(10px) saturate(140%);
1587
1553
  -webkit-backdrop-filter: blur(10px) saturate(140%);
1588
- border: 1px solid var(--sf-cyan-12);
1589
- border-radius: var(--sf-radius-10);
1554
+ border: 1px solid var(--sf-cyan-veil);
1555
+ border-radius: var(--sf-radius-xl);
1590
1556
 
1591
- padding: var(--sf-pad-10) var(--sf-pad-12);
1557
+ padding: var(--sf-pad-xl) var(--sf-pad-2xl);
1592
1558
 
1593
1559
  box-shadow:
1594
- inset 0 1px 0 var(--sf-white-04),
1595
- 0 4px 12px var(--sf-black-25);
1560
+ inset 0 1px 0 var(--sf-veil-faint),
1561
+ 0 4px 12px var(--sf-shadow-mid);
1596
1562
  }
1597
1563
  .symframe .symframe-card::before,
1598
1564
  .symframe .symframe-card::after {
1599
1565
  display: none;
1600
1566
  }
1601
1567
  .symframe .symframe-card:hover {
1602
- border-color: var(--sf-cyan-18);
1568
+ border-color: var(--sf-cyan-edge);
1603
1569
  }
1604
1570
 
1605
1571
  /* Phase 2: dynamic-card sub-elements (only present on cards added via
@@ -1608,18 +1574,18 @@ body {
1608
1574
  display: flex;
1609
1575
  align-items: center;
1610
1576
  justify-content: space-between;
1611
- gap: var(--sf-pad-8);
1577
+ gap: var(--sf-pad-lg);
1612
1578
  }
1613
1579
  .symframe-card-dismiss {
1614
1580
  background: transparent;
1615
1581
  border: none;
1616
1582
  color: var(--text-dim);
1617
- font-size: var(--sf-text-16);
1583
+ font-size: var(--sf-text-xl);
1618
1584
 
1619
1585
  line-height: 1;
1620
1586
  width: 18px;
1621
1587
  height: 18px;
1622
- border-radius: var(--sf-radius-4);
1588
+ border-radius: var(--sf-radius-sm);
1623
1589
 
1624
1590
  cursor: pointer;
1625
1591
  opacity: 0.6;
@@ -1635,7 +1601,7 @@ body {
1635
1601
  .symframe-card-dismiss:hover {
1636
1602
  opacity: 1;
1637
1603
  color: var(--accent-cyan);
1638
- background: var(--sf-cyan-08);
1604
+ background: var(--sf-cyan-veil);
1639
1605
  }
1640
1606
 
1641
1607
  /* Stage C: pin glyph — replaces dismiss button on pinned cards. Click
@@ -1646,12 +1612,12 @@ body {
1646
1612
  background: transparent;
1647
1613
  border: none;
1648
1614
  color: var(--accent-cyan);
1649
- font-size: var(--sf-text-13);
1615
+ font-size: var(--sf-text-lg);
1650
1616
 
1651
1617
  line-height: 1;
1652
1618
  width: 18px;
1653
1619
  height: 18px;
1654
- border-radius: var(--sf-radius-4);
1620
+ border-radius: var(--sf-radius-sm);
1655
1621
 
1656
1622
  cursor: pointer;
1657
1623
  opacity: 0.8;
@@ -1665,33 +1631,33 @@ body {
1665
1631
  }
1666
1632
  .symframe-card-pin:hover {
1667
1633
  opacity: 1;
1668
- background: var(--sf-cyan-08);
1634
+ background: var(--sf-cyan-veil);
1669
1635
  }
1670
1636
 
1671
1637
  /* Stage C: dwell pulse — 600ms cyan border + glow then return. */
1672
1638
  .symframe-card.symframe-dwelling {
1673
- animation: symframe-dwell var(--sf-time-600ms) ease-out;
1639
+ animation: symframe-dwell var(--sf-time-medium) ease-out;
1674
1640
  }
1675
1641
  @keyframes symframe-dwell {
1676
1642
  0% {
1677
1643
  border-color: var(--accent-cyan);
1678
1644
  box-shadow:
1679
- 0 0 0 0 var(--sf-cyan-55),
1680
- inset 0 1px 0 var(--sf-white-04),
1681
- 0 4px 12px var(--sf-black-25);
1645
+ 0 0 0 0 var(--sf-cyan-flash),
1646
+ inset 0 1px 0 var(--sf-veil-faint),
1647
+ 0 4px 12px var(--sf-shadow-mid);
1682
1648
  }
1683
1649
  60% {
1684
- border-color: var(--sf-cyan-60);
1650
+ border-color: var(--sf-cyan-flash);
1685
1651
  box-shadow:
1686
1652
  0 0 0 6px rgba(0, 212, 255, 0),
1687
- inset 0 1px 0 var(--sf-white-04),
1688
- 0 4px 12px var(--sf-black-25);
1653
+ inset 0 1px 0 var(--sf-veil-faint),
1654
+ 0 4px 12px var(--sf-shadow-mid);
1689
1655
  }
1690
1656
  100% {
1691
- border-color: var(--sf-cyan-12);
1657
+ border-color: var(--sf-cyan-veil);
1692
1658
  box-shadow:
1693
- inset 0 1px 0 var(--sf-white-04),
1694
- 0 4px 12px var(--sf-black-25);
1659
+ inset 0 1px 0 var(--sf-veil-faint),
1660
+ 0 4px 12px var(--sf-shadow-mid);
1695
1661
  }
1696
1662
  }
1697
1663
 
@@ -1700,10 +1666,10 @@ body {
1700
1666
  on transitionend or after a 900ms fail-safe timeout. */
1701
1667
  .symframe-card.symframe-releasing {
1702
1668
  transition:
1703
- opacity var(--sf-time-800ms) cubic-bezier(0.4, 0, 0.6, 1),
1704
- transform var(--sf-time-800ms) cubic-bezier(0.4, 0, 0.6, 1),
1705
- max-height var(--sf-time-800ms) cubic-bezier(0.4, 0, 0.6, 1),
1706
- margin var(--sf-time-800ms) ease;
1669
+ opacity var(--sf-time-easy) cubic-bezier(0.4, 0, 0.6, 1),
1670
+ transform var(--sf-time-easy) cubic-bezier(0.4, 0, 0.6, 1),
1671
+ max-height var(--sf-time-easy) cubic-bezier(0.4, 0, 0.6, 1),
1672
+ margin var(--sf-time-easy) ease;
1707
1673
  opacity: 0;
1708
1674
  transform: scale(0.92);
1709
1675
  max-height: 0;
@@ -1720,7 +1686,7 @@ body {
1720
1686
  border-color: var(--accent-cyan);
1721
1687
  }
1722
1688
  .symframe-card.symframe-releasing {
1723
- transition: opacity var(--sf-time-200ms) ease;
1689
+ transition: opacity var(--sf-time-quick) ease;
1724
1690
  transform: none;
1725
1691
  max-height: none;
1726
1692
  }
@@ -1735,14 +1701,14 @@ body {
1735
1701
  Click [+ Add] → menu with "Spawn subagent" / "Add scheduled task". */
1736
1702
  .symframe-awaiting {
1737
1703
  position: relative;
1738
- border-top: 1px solid var(--sf-cyan-12);
1739
- margin-top: var(--sf-pad-8);
1704
+ border-top: 1px solid var(--sf-cyan-veil);
1705
+ margin-top: var(--sf-pad-lg);
1740
1706
 
1741
- padding: var(--sf-pad-8) var(--sf-pad-6) var(--sf-pad-4);
1707
+ padding: var(--sf-pad-lg) var(--sf-pad-md) var(--sf-pad-sm);
1742
1708
 
1743
1709
  display: flex;
1744
1710
  flex-direction: column;
1745
- gap: var(--sf-pad-4);
1711
+ gap: var(--sf-pad-sm);
1746
1712
 
1747
1713
  /* Stage C.4: cap the AWAITING footer so it can't claim more than ~40%
1748
1714
  of the column height even if the user has many cron jobs. The
@@ -1758,13 +1724,13 @@ body {
1758
1724
  .awaiting-header {
1759
1725
  display: flex;
1760
1726
  align-items: baseline;
1761
- gap: var(--sf-pad-8);
1727
+ gap: var(--sf-pad-lg);
1762
1728
 
1763
- padding: 0 var(--sf-pad-4) var(--sf-pad-4);
1729
+ padding: 0 var(--sf-pad-sm) var(--sf-pad-sm);
1764
1730
  }
1765
1731
  .awaiting-title {
1766
1732
  font-family: var(--font-mono);
1767
- font-size: var(--sf-text-10);
1733
+ font-size: var(--sf-text-sm);
1768
1734
 
1769
1735
  font-weight: 600;
1770
1736
  letter-spacing: 0.14em;
@@ -1772,7 +1738,7 @@ body {
1772
1738
  }
1773
1739
  .awaiting-count {
1774
1740
  font-family: var(--font-mono);
1775
- font-size: var(--sf-text-9);
1741
+ font-size: var(--sf-text-xs);
1776
1742
 
1777
1743
  letter-spacing: 0.04em;
1778
1744
  color: var(--text-dim);
@@ -1782,35 +1748,35 @@ body {
1782
1748
  .awaiting-list {
1783
1749
  display: flex;
1784
1750
  flex-direction: column;
1785
- gap: var(--sf-pad-2);
1751
+ gap: var(--sf-pad-xs);
1786
1752
 
1787
1753
  max-height: var(--sf-bound-list);
1788
1754
 
1789
1755
  overflow-y: auto;
1790
1756
  scrollbar-width: thin;
1791
- scrollbar-color: var(--sf-cyan-18) transparent;
1757
+ scrollbar-color: var(--sf-cyan-edge) transparent;
1792
1758
  }
1793
1759
  .awaiting-list::-webkit-scrollbar {
1794
1760
  width: 3px;
1795
1761
  }
1796
1762
  .awaiting-list::-webkit-scrollbar-thumb {
1797
- background: var(--sf-cyan-18);
1798
- border-radius: var(--sf-radius-2);
1763
+ background: var(--sf-cyan-edge);
1764
+ border-radius: var(--sf-radius-xs);
1799
1765
  }
1800
1766
  .awaiting-item {
1801
1767
  display: grid;
1802
1768
  grid-template-columns: 18px 1fr auto;
1803
1769
  align-items: center;
1804
- gap: var(--sf-pad-6);
1770
+ gap: var(--sf-pad-md);
1805
1771
 
1806
- padding: var(--sf-pad-5) var(--sf-pad-8);
1772
+ padding: var(--sf-pad-sm) var(--sf-pad-lg);
1807
1773
 
1808
- border-radius: var(--sf-radius-6);
1774
+ border-radius: var(--sf-radius-md);
1809
1775
 
1810
- background: var(--sf-white-02);
1776
+ background: var(--sf-veil-faint);
1811
1777
  border: 1px solid transparent;
1812
1778
  font-family: var(--font-mono);
1813
- font-size: var(--sf-text-10);
1779
+ font-size: var(--sf-text-sm);
1814
1780
 
1815
1781
  cursor: pointer;
1816
1782
  transition:
@@ -1818,8 +1784,8 @@ body {
1818
1784
  border-color 0.15s ease;
1819
1785
  }
1820
1786
  .awaiting-item:hover {
1821
- background: var(--sf-cyan-06);
1822
- border-color: var(--sf-cyan-15);
1787
+ background: var(--sf-cyan-hairline);
1788
+ border-color: var(--sf-cyan-edge);
1823
1789
  }
1824
1790
  .awaiting-item-disabled {
1825
1791
  opacity: 0.45;
@@ -1830,7 +1796,7 @@ body {
1830
1796
  display: inline-flex;
1831
1797
  align-items: center;
1832
1798
  justify-content: center;
1833
- font-size: var(--sf-text-11);
1799
+ font-size: var(--sf-text-md);
1834
1800
 
1835
1801
  line-height: 1;
1836
1802
  }
@@ -1853,7 +1819,7 @@ body {
1853
1819
  .awaiting-meta {
1854
1820
  color: var(--text-dim);
1855
1821
  opacity: 0.75;
1856
- font-size: var(--sf-text-9);
1822
+ font-size: var(--sf-text-xs);
1857
1823
 
1858
1824
  letter-spacing: 0.04em;
1859
1825
  text-transform: lowercase;
@@ -1863,11 +1829,11 @@ body {
1863
1829
  /* Empty-state placeholder when no subagents and no schedules exist. */
1864
1830
  .awaiting-empty {
1865
1831
  font-family: var(--font-mono);
1866
- font-size: var(--sf-text-10);
1832
+ font-size: var(--sf-text-sm);
1867
1833
 
1868
1834
  color: var(--text-dim);
1869
1835
  opacity: 0.55;
1870
- padding: var(--sf-pad-8) var(--sf-pad-10);
1836
+ padding: var(--sf-pad-lg) var(--sf-pad-xl);
1871
1837
 
1872
1838
  text-align: center;
1873
1839
  font-style: italic;
@@ -1877,20 +1843,20 @@ body {
1877
1843
  .awaiting-add-btn {
1878
1844
  display: inline-flex;
1879
1845
  align-items: center;
1880
- gap: var(--sf-pad-6);
1846
+ gap: var(--sf-pad-md);
1881
1847
 
1882
- margin-top: var(--sf-pad-4);
1848
+ margin-top: var(--sf-pad-sm);
1883
1849
 
1884
1850
  align-self: flex-start;
1885
- padding: var(--sf-pad-4) var(--sf-pad-10);
1851
+ padding: var(--sf-pad-sm) var(--sf-pad-xl);
1886
1852
 
1887
1853
  background: transparent;
1888
- border: 1px dashed var(--sf-cyan-25);
1889
- border-radius: var(--sf-radius-6);
1854
+ border: 1px dashed var(--sf-cyan-edge);
1855
+ border-radius: var(--sf-radius-md);
1890
1856
 
1891
1857
  color: var(--text-dim);
1892
1858
  font-family: var(--font-mono);
1893
- font-size: var(--sf-text-10);
1859
+ font-size: var(--sf-text-sm);
1894
1860
 
1895
1861
  letter-spacing: 0.04em;
1896
1862
  cursor: pointer;
@@ -1902,7 +1868,7 @@ body {
1902
1868
  .awaiting-add-btn:hover {
1903
1869
  color: var(--accent-cyan);
1904
1870
  border-color: var(--accent-cyan);
1905
- background: var(--sf-cyan-04);
1871
+ background: var(--sf-cyan-hairline);
1906
1872
  }
1907
1873
  .awaiting-add-btn svg {
1908
1874
  width: 12px;
@@ -1912,44 +1878,44 @@ body {
1912
1878
  position: absolute;
1913
1879
  left: 10px;
1914
1880
  bottom: 100%;
1915
- margin-bottom: var(--sf-pad-6);
1881
+ margin-bottom: var(--sf-pad-md);
1916
1882
 
1917
1883
  background: var(--sf-surface-menu);
1918
1884
  backdrop-filter: blur(12px) saturate(140%);
1919
1885
  -webkit-backdrop-filter: blur(12px) saturate(140%);
1920
- border: 1px solid var(--sf-cyan-20);
1921
- border-radius: var(--sf-radius-8);
1886
+ border: 1px solid var(--sf-cyan-edge);
1887
+ border-radius: var(--sf-radius-lg);
1922
1888
 
1923
- padding: var(--sf-pad-4);
1889
+ padding: var(--sf-pad-sm);
1924
1890
 
1925
1891
  display: flex;
1926
1892
  flex-direction: column;
1927
- gap: var(--sf-pad-2);
1893
+ gap: var(--sf-pad-xs);
1928
1894
 
1929
1895
  min-width: 180px;
1930
- box-shadow: 0 8px 24px var(--sf-black-40);
1896
+ box-shadow: 0 8px 24px var(--sf-shadow-deep);
1931
1897
  z-index: 20;
1932
1898
  }
1933
1899
  .awaiting-add-item {
1934
1900
  display: flex;
1935
1901
  align-items: center;
1936
- gap: var(--sf-pad-8);
1902
+ gap: var(--sf-pad-lg);
1937
1903
 
1938
- padding: var(--sf-pad-6) var(--sf-pad-10);
1904
+ padding: var(--sf-pad-md) var(--sf-pad-xl);
1939
1905
 
1940
1906
  background: transparent;
1941
1907
  border: none;
1942
- border-radius: var(--sf-radius-5);
1908
+ border-radius: var(--sf-radius-sm);
1943
1909
 
1944
1910
  color: var(--text);
1945
1911
  font-family: var(--font-mono);
1946
- font-size: var(--sf-text-11);
1912
+ font-size: var(--sf-text-md);
1947
1913
 
1948
1914
  cursor: pointer;
1949
1915
  text-align: left;
1950
1916
  }
1951
1917
  .awaiting-add-item:hover {
1952
- background: var(--sf-cyan-08);
1918
+ background: var(--sf-cyan-veil);
1953
1919
  color: var(--accent-cyan);
1954
1920
  }
1955
1921
  .awaiting-add-glyph {
@@ -1960,11 +1926,11 @@ body {
1960
1926
 
1961
1927
  .symframe-card-body {
1962
1928
  font-family: var(--font-mono);
1963
- font-size: var(--sf-text-11);
1929
+ font-size: var(--sf-text-md);
1964
1930
 
1965
1931
  line-height: 1.5;
1966
1932
  color: var(--text);
1967
- margin-top: var(--sf-pad-8);
1933
+ margin-top: var(--sf-pad-lg);
1968
1934
 
1969
1935
  white-space: pre-wrap;
1970
1936
  word-break: break-word;
@@ -1974,27 +1940,27 @@ body {
1974
1940
  }
1975
1941
  .symframe-card-actions {
1976
1942
  display: flex;
1977
- gap: var(--sf-pad-6);
1943
+ gap: var(--sf-pad-md);
1978
1944
 
1979
- margin-top: var(--sf-pad-10);
1945
+ margin-top: var(--sf-pad-xl);
1980
1946
 
1981
- padding-top: var(--sf-pad-8);
1947
+ padding-top: var(--sf-pad-lg);
1982
1948
 
1983
- border-top: 1px solid var(--sf-white-05);
1949
+ border-top: 1px solid var(--sf-veil-soft);
1984
1950
  flex-wrap: wrap;
1985
1951
  }
1986
1952
  .symframe-card-action {
1987
1953
  flex: 1 1 auto;
1988
1954
  min-width: 60px;
1989
- padding: var(--sf-pad-6) var(--sf-pad-10);
1955
+ padding: var(--sf-pad-md) var(--sf-pad-xl);
1990
1956
 
1991
1957
  border: 1px solid var(--glass-border);
1992
- border-radius: var(--sf-radius-5);
1958
+ border-radius: var(--sf-radius-sm);
1993
1959
 
1994
- background: var(--sf-white-03);
1960
+ background: var(--sf-veil-faint);
1995
1961
  color: var(--text-dim);
1996
1962
  font-family: var(--font-mono);
1997
- font-size: var(--sf-text-10);
1963
+ font-size: var(--sf-text-sm);
1998
1964
 
1999
1965
  letter-spacing: 0.04em;
2000
1966
  cursor: pointer;
@@ -2005,13 +1971,13 @@ body {
2005
1971
  color: var(--text);
2006
1972
  }
2007
1973
  .symframe-card-action-primary {
2008
- background: var(--sf-cyan-08);
1974
+ background: var(--sf-cyan-veil);
2009
1975
  border-color: var(--accent-cyan);
2010
1976
  color: var(--accent-cyan);
2011
1977
  }
2012
1978
  .symframe-card-action-primary:hover {
2013
- background: var(--sf-cyan-14);
2014
- box-shadow: 0 0 8px var(--sf-cyan-18);
1979
+ background: var(--sf-cyan-veil);
1980
+ box-shadow: 0 0 8px var(--sf-cyan-edge);
2015
1981
  }
2016
1982
 
2017
1983
  /* ── Stage D.1 (3.5.27): intent-aware visual treatment ──────────── */
@@ -2035,16 +2001,16 @@ body {
2035
2001
  position: absolute;
2036
2002
  top: 0;
2037
2003
  left: 0;
2038
- padding: var(--sf-pad-2) var(--sf-pad-8) var(--sf-pad-2) var(--sf-pad-6);
2004
+ padding: var(--sf-pad-xs) var(--sf-pad-lg) var(--sf-pad-xs) var(--sf-pad-md);
2039
2005
 
2040
2006
  font-family: var(--font-mono);
2041
- font-size: var(--sf-text-8);
2007
+ font-size: var(--sf-text-xs);
2042
2008
 
2043
2009
  font-weight: 700;
2044
2010
  letter-spacing: 0.14em;
2045
2011
  text-transform: uppercase;
2046
- background: var(--sf-black-55);
2047
- border-radius: var(--sf-radius-10) 0 var(--sf-radius-6) 0;
2012
+ background: var(--sf-ink-badge);
2013
+ border-radius: var(--sf-radius-xl) 0 var(--sf-radius-md) 0;
2048
2014
 
2049
2015
  border-right: 1px solid currentColor;
2050
2016
  border-bottom: 1px solid currentColor;
@@ -2061,9 +2027,9 @@ body {
2061
2027
  /* holding — cyan; working memory */
2062
2028
  .symframe-card-dynamic[data-intent="holding"] {
2063
2029
  box-shadow:
2064
- inset 3px 0 0 0 var(--sf-cyan-65),
2065
- inset 0 1px 0 var(--sf-white-04),
2066
- 0 4px 12px var(--sf-black-25);
2030
+ inset 3px 0 0 0 var(--sf-cyan-flash),
2031
+ inset 0 1px 0 var(--sf-veil-faint),
2032
+ 0 4px 12px var(--sf-shadow-mid);
2067
2033
  }
2068
2034
  .symframe-card-dynamic[data-intent="holding"]::before {
2069
2035
  color: var(--accent-cyan);
@@ -2073,8 +2039,8 @@ body {
2073
2039
  .symframe-card-dynamic[data-intent="weighing"] {
2074
2040
  box-shadow:
2075
2041
  inset 3px 0 0 0 #f5b73a,
2076
- inset 0 1px 0 var(--sf-white-04),
2077
- 0 4px 12px var(--sf-black-25);
2042
+ inset 0 1px 0 var(--sf-veil-faint),
2043
+ 0 4px 12px var(--sf-shadow-mid);
2078
2044
  }
2079
2045
  .symframe-card-dynamic[data-intent="weighing"]::before {
2080
2046
  color: #f5b73a;
@@ -2082,22 +2048,22 @@ body {
2082
2048
 
2083
2049
  /* producing — green; actively drafting, slow pulse on the stripe */
2084
2050
  .symframe-card-dynamic[data-intent="producing"] {
2085
- animation: intent-producing-pulse var(--sf-time-pulse-prod) ease-in-out infinite;
2051
+ animation: intent-producing-pulse var(--sf-time-breathe) ease-in-out infinite;
2086
2052
  }
2087
2053
  @keyframes intent-producing-pulse {
2088
2054
  0%,
2089
2055
  100% {
2090
2056
  box-shadow:
2091
- inset 3px 0 0 0 var(--sf-green-55),
2092
- inset 0 1px 0 var(--sf-white-04),
2093
- 0 4px 12px var(--sf-black-25);
2057
+ inset 3px 0 0 0 var(--sf-green-strong),
2058
+ inset 0 1px 0 var(--sf-veil-faint),
2059
+ 0 4px 12px var(--sf-shadow-mid);
2094
2060
  }
2095
2061
  50% {
2096
2062
  box-shadow:
2097
- inset 3px 0 0 0 var(--sf-green-100),
2098
- inset 0 1px 0 var(--sf-white-04),
2099
- 0 4px 12px var(--sf-black-25),
2100
- 0 0 14px var(--sf-green-20);
2063
+ inset 3px 0 0 0 var(--sf-green-peak),
2064
+ inset 0 1px 0 var(--sf-veil-faint),
2065
+ 0 4px 12px var(--sf-shadow-mid),
2066
+ 0 0 14px var(--sf-green-edge);
2101
2067
  }
2102
2068
  }
2103
2069
  .symframe-card-dynamic[data-intent="producing"]::before {
@@ -2109,8 +2075,8 @@ body {
2109
2075
  .symframe-card-dynamic[data-intent="drafted"] {
2110
2076
  box-shadow:
2111
2077
  inset 3px 0 0 0 #8b5cf6,
2112
- inset 0 1px 0 var(--sf-white-04),
2113
- 0 4px 12px var(--sf-black-25);
2078
+ inset 0 1px 0 var(--sf-veil-faint),
2079
+ 0 4px 12px var(--sf-shadow-mid);
2114
2080
  }
2115
2081
  .symframe-card-dynamic[data-intent="drafted"]::before {
2116
2082
  color: #8b5cf6;
@@ -2118,30 +2084,30 @@ body {
2118
2084
  /* Emphasize action buttons on drafted cards — these cards exist to
2119
2085
  be acted on (Send / Copy / Open). Make the buttons more clickable. */
2120
2086
  .symframe-card-dynamic[data-intent="drafted"] .symframe-card-action {
2121
- border-color: var(--sf-violet-55);
2087
+ border-color: var(--sf-violet-strong);
2122
2088
  color: var(--text);
2123
2089
  font-weight: 600;
2124
2090
  }
2125
2091
  .symframe-card-dynamic[data-intent="drafted"] .symframe-card-action:hover {
2126
- background: var(--sf-violet-12);
2092
+ background: var(--sf-violet-tint);
2127
2093
  border-color: #8b5cf6;
2128
2094
  }
2129
2095
  .symframe-card-dynamic[data-intent="drafted"] .symframe-card-action-primary {
2130
- background: var(--sf-violet-22);
2096
+ background: var(--sf-violet-edge);
2131
2097
  border-color: #8b5cf6;
2132
2098
  color: var(--text);
2133
2099
  }
2134
2100
  .symframe-card-dynamic[data-intent="drafted"] .symframe-card-action-primary:hover {
2135
- background: var(--sf-violet-32);
2136
- box-shadow: 0 0 10px var(--sf-violet-25);
2101
+ background: var(--sf-violet-mid);
2102
+ box-shadow: 0 0 10px var(--sf-violet-edge);
2137
2103
  }
2138
2104
 
2139
2105
  /* reference — muted gray; passive read-only context */
2140
2106
  .symframe-card-dynamic[data-intent="reference"] {
2141
2107
  box-shadow:
2142
2108
  inset 3px 0 0 0 rgba(255, 255, 255, 0.22),
2143
- inset 0 1px 0 var(--sf-white-04),
2144
- 0 4px 12px var(--sf-black-25);
2109
+ inset 0 1px 0 var(--sf-veil-faint),
2110
+ 0 4px 12px var(--sf-shadow-mid);
2145
2111
  opacity: 0.88;
2146
2112
  filter: saturate(0.75);
2147
2113
  }
@@ -2155,13 +2121,13 @@ body {
2155
2121
  miscategorization. */
2156
2122
  .symframe-card-dynamic[data-intent="awaiting"] {
2157
2123
  box-shadow:
2158
- inset 3px 0 0 0 var(--sf-pink-55),
2159
- inset 0 1px 0 var(--sf-white-04),
2160
- 0 4px 12px var(--sf-black-25);
2124
+ inset 3px 0 0 0 var(--sf-pink-strong),
2125
+ inset 0 1px 0 var(--sf-veil-faint),
2126
+ 0 4px 12px var(--sf-shadow-mid);
2161
2127
  }
2162
2128
  .symframe-card-dynamic[data-intent="awaiting"]::before {
2163
2129
  content: "awaiting → footer";
2164
- color: var(--sf-pink-85);
2130
+ color: var(--sf-pink-text);
2165
2131
  }
2166
2132
 
2167
2133
  /* Reduced-motion: skip the producing pulse but keep the static
@@ -2170,9 +2136,9 @@ body {
2170
2136
  .symframe-card-dynamic[data-intent="producing"] {
2171
2137
  animation: none;
2172
2138
  box-shadow:
2173
- inset 3px 0 0 0 var(--sf-green-75),
2174
- inset 0 1px 0 var(--sf-white-04),
2175
- 0 4px 12px var(--sf-black-25);
2139
+ inset 3px 0 0 0 var(--sf-green-strong),
2140
+ inset 0 1px 0 var(--sf-veil-faint),
2141
+ 0 4px 12px var(--sf-shadow-mid);
2176
2142
  }
2177
2143
  }
2178
2144
 
@@ -2185,53 +2151,53 @@ body {
2185
2151
  .symframe-body-markdown h2,
2186
2152
  .symframe-body-markdown h3,
2187
2153
  .symframe-body-markdown h4 {
2188
- font-size: var(--sf-text-12);
2154
+ font-size: var(--sf-text-lg);
2189
2155
 
2190
2156
  font-weight: 600;
2191
- margin: var(--sf-pad-8) 0 var(--sf-pad-4);
2157
+ margin: var(--sf-pad-lg) 0 var(--sf-pad-sm);
2192
2158
 
2193
2159
  color: var(--text);
2194
2160
  }
2195
2161
  .symframe-body-markdown p {
2196
- margin: var(--sf-pad-4) 0;
2162
+ margin: var(--sf-pad-sm) 0;
2197
2163
  }
2198
2164
  .symframe-body-markdown ul,
2199
2165
  .symframe-body-markdown ol {
2200
2166
  padding-left: 18px;
2201
- margin: var(--sf-pad-4) 0;
2167
+ margin: var(--sf-pad-sm) 0;
2202
2168
  }
2203
2169
  .symframe-body-markdown code {
2204
2170
  font-family: var(--font-mono);
2205
- font-size: var(--sf-text-10);
2171
+ font-size: var(--sf-text-sm);
2206
2172
 
2207
- padding: 1px var(--sf-pad-4);
2173
+ padding: 1px var(--sf-pad-sm);
2208
2174
 
2209
- background: var(--sf-white-04);
2210
- border-radius: var(--sf-radius-3);
2175
+ background: var(--sf-veil-faint);
2176
+ border-radius: var(--sf-radius-xs);
2211
2177
  }
2212
2178
  .symframe-body-markdown pre {
2213
- background: var(--sf-black-25);
2214
- border: 1px solid var(--sf-white-05);
2215
- border-radius: var(--sf-radius-5);
2179
+ background: var(--sf-shadow-mid);
2180
+ border: 1px solid var(--sf-veil-soft);
2181
+ border-radius: var(--sf-radius-sm);
2216
2182
 
2217
- padding: var(--sf-pad-8);
2183
+ padding: var(--sf-pad-lg);
2218
2184
 
2219
2185
  overflow-x: auto;
2220
- margin: var(--sf-pad-6) 0;
2186
+ margin: var(--sf-pad-md) 0;
2221
2187
  }
2222
2188
  .symframe-body-markdown pre code {
2223
2189
  background: transparent;
2224
2190
  padding: 0;
2225
- font-size: var(--sf-text-10);
2191
+ font-size: var(--sf-text-sm);
2226
2192
  }
2227
2193
 
2228
2194
  /* Code body — pre/code wrapper with hljs theme-friendly chrome. */
2229
2195
  .symframe-body-code {
2230
- background: var(--sf-black-30);
2231
- border: 1px solid var(--sf-white-06);
2232
- border-radius: var(--sf-radius-5);
2196
+ background: var(--sf-shadow-mid);
2197
+ border: 1px solid var(--sf-veil-soft);
2198
+ border-radius: var(--sf-radius-sm);
2233
2199
 
2234
- padding: var(--sf-pad-8) var(--sf-pad-10);
2200
+ padding: var(--sf-pad-lg) var(--sf-pad-xl);
2235
2201
 
2236
2202
  margin: 0;
2237
2203
  overflow-x: auto;
@@ -2241,7 +2207,7 @@ body {
2241
2207
  }
2242
2208
  .symframe-body-code code {
2243
2209
  font-family: var(--font-mono);
2244
- font-size: var(--sf-text-10);
2210
+ font-size: var(--sf-text-sm);
2245
2211
 
2246
2212
  line-height: 1.45;
2247
2213
  color: var(--text);
@@ -2252,32 +2218,32 @@ body {
2252
2218
  .symframe-body-email {
2253
2219
  display: flex;
2254
2220
  flex-direction: column;
2255
- gap: var(--sf-pad-4);
2221
+ gap: var(--sf-pad-sm);
2256
2222
  }
2257
2223
  .symframe-email-row {
2258
2224
  display: flex;
2259
- gap: var(--sf-pad-6);
2225
+ gap: var(--sf-pad-md);
2260
2226
 
2261
2227
  font-family: var(--font-mono);
2262
- font-size: var(--sf-text-10);
2228
+ font-size: var(--sf-text-sm);
2263
2229
 
2264
2230
  letter-spacing: 0.02em;
2265
- padding: var(--sf-pad-2) 0;
2231
+ padding: var(--sf-pad-xs) 0;
2266
2232
 
2267
- border-bottom: 1px dashed var(--sf-white-05);
2233
+ border-bottom: 1px dashed var(--sf-veil-soft);
2268
2234
  }
2269
2235
  .symframe-email-row:last-of-type {
2270
- border-bottom: 1px solid var(--sf-white-08);
2271
- margin-bottom: var(--sf-pad-4);
2236
+ border-bottom: 1px solid var(--sf-veil-soft);
2237
+ margin-bottom: var(--sf-pad-sm);
2272
2238
 
2273
- padding-bottom: var(--sf-pad-4);
2239
+ padding-bottom: var(--sf-pad-sm);
2274
2240
  }
2275
2241
  .symframe-email-label {
2276
2242
  flex: 0 0 auto;
2277
2243
  color: var(--text-dim);
2278
2244
  text-transform: uppercase;
2279
2245
  letter-spacing: 0.06em;
2280
- font-size: var(--sf-text-9);
2246
+ font-size: var(--sf-text-xs);
2281
2247
 
2282
2248
  min-width: 48px;
2283
2249
  opacity: 0.7;
@@ -2288,29 +2254,29 @@ body {
2288
2254
  }
2289
2255
  .symframe-email-body {
2290
2256
  font-family: var(--font-mono);
2291
- font-size: var(--sf-text-11);
2257
+ font-size: var(--sf-text-md);
2292
2258
 
2293
2259
  line-height: 1.5;
2294
2260
  color: var(--text);
2295
2261
  white-space: pre-wrap;
2296
2262
  word-break: break-word;
2297
- margin-top: var(--sf-pad-4);
2263
+ margin-top: var(--sf-pad-sm);
2298
2264
  }
2299
2265
 
2300
2266
  /* PDF embed */
2301
2267
  .symframe-body-pdf {
2302
2268
  display: flex;
2303
2269
  flex-direction: column;
2304
- gap: var(--sf-pad-6);
2270
+ gap: var(--sf-pad-md);
2305
2271
  }
2306
2272
  .symframe-pdf-iframe {
2307
2273
  width: 100%;
2308
2274
  height: var(--sf-bound-media);
2309
2275
 
2310
- border: 1px solid var(--sf-white-08);
2311
- border-radius: var(--sf-radius-5);
2276
+ border: 1px solid var(--sf-veil-soft);
2277
+ border-radius: var(--sf-radius-sm);
2312
2278
 
2313
- background: var(--sf-black-20);
2279
+ background: var(--sf-shadow-soft);
2314
2280
  }
2315
2281
 
2316
2282
  /* Audio + video shared chrome */
@@ -2318,14 +2284,14 @@ body {
2318
2284
  .symframe-body-video {
2319
2285
  display: flex;
2320
2286
  flex-direction: column;
2321
- gap: var(--sf-pad-6);
2287
+ gap: var(--sf-pad-md);
2322
2288
  }
2323
2289
  .symframe-audio,
2324
2290
  .symframe-video {
2325
2291
  width: 100%;
2326
- border-radius: var(--sf-radius-5);
2292
+ border-radius: var(--sf-radius-sm);
2327
2293
 
2328
- background: var(--sf-black-20);
2294
+ background: var(--sf-shadow-soft);
2329
2295
  }
2330
2296
  .symframe-video {
2331
2297
  max-height: var(--sf-bound-media);
@@ -2336,7 +2302,7 @@ body {
2336
2302
  /* Empty-media placeholder when url is missing */
2337
2303
  .symframe-body-empty {
2338
2304
  font-family: var(--font-mono);
2339
- font-size: var(--sf-text-10);
2305
+ font-size: var(--sf-text-sm);
2340
2306
 
2341
2307
  color: var(--text-dim);
2342
2308
  opacity: 0.6;
@@ -2346,13 +2312,13 @@ body {
2346
2312
  /* Download link — used by pdf/audio/video renderers */
2347
2313
  .symframe-download {
2348
2314
  display: inline-block;
2349
- padding: var(--sf-pad-4) var(--sf-pad-8);
2315
+ padding: var(--sf-pad-sm) var(--sf-pad-lg);
2350
2316
 
2351
2317
  border: 1px solid var(--glass-border);
2352
- border-radius: var(--sf-radius-4);
2318
+ border-radius: var(--sf-radius-sm);
2353
2319
 
2354
2320
  font-family: var(--font-mono);
2355
- font-size: var(--sf-text-10);
2321
+ font-size: var(--sf-text-sm);
2356
2322
 
2357
2323
  letter-spacing: 0.04em;
2358
2324
  color: var(--text-dim);
@@ -6943,11 +6909,11 @@ body {
6943
6909
  border-radius: var(--sf-radius-pill);
6944
6910
 
6945
6911
  background: var(--accent-cyan);
6946
- margin-left: var(--sf-pad-6);
6912
+ margin-left: var(--sf-pad-md);
6947
6913
 
6948
6914
  vertical-align: middle;
6949
6915
  opacity: 0;
6950
- transition: opacity var(--sf-time-slow) ease;
6916
+ transition: opacity var(--sf-time-normal) ease;
6951
6917
 
6952
6918
  flex-shrink: 0;
6953
6919
  }
@@ -6966,19 +6932,19 @@ body {
6966
6932
  .reasoning-run-sep {
6967
6933
  display: flex;
6968
6934
  align-items: center;
6969
- gap: var(--sf-pad-8);
6935
+ gap: var(--sf-pad-lg);
6970
6936
 
6971
- margin: var(--sf-pad-4) 0 var(--sf-pad-2);
6937
+ margin: var(--sf-pad-sm) 0 var(--sf-pad-xs);
6972
6938
  }
6973
6939
  .reasoning-run-sep::before,
6974
6940
  .reasoning-run-sep::after {
6975
6941
  content: "";
6976
6942
  flex: 1;
6977
6943
  height: 1px;
6978
- background: var(--sf-white-06);
6944
+ background: var(--sf-veil-soft);
6979
6945
  }
6980
6946
  .reasoning-run-sep-label {
6981
- font-size: var(--sf-text-9);
6947
+ font-size: var(--sf-text-xs);
6982
6948
 
6983
6949
  font-family: var(--font-mono);
6984
6950
  font-weight: 600;
@@ -6991,65 +6957,65 @@ body {
6991
6957
  .reasoning-entry {
6992
6958
  display: flex;
6993
6959
  flex-direction: column;
6994
- gap: var(--sf-pad-4);
6960
+ gap: var(--sf-pad-sm);
6995
6961
 
6996
- padding: var(--sf-pad-6) var(--sf-pad-8);
6962
+ padding: var(--sf-pad-md) var(--sf-pad-lg);
6997
6963
 
6998
- background: var(--sf-white-02);
6999
- border: 1px solid var(--sf-white-05);
7000
- border-radius: var(--sf-radius-8);
6964
+ background: var(--sf-veil-faint);
6965
+ border: 1px solid var(--sf-veil-soft);
6966
+ border-radius: var(--sf-radius-lg);
7001
6967
 
7002
6968
  transition: border-color var(--sf-time-quick);
7003
6969
  }
7004
6970
  .reasoning-entry:hover {
7005
- border-color: var(--sf-white-09);
6971
+ border-color: var(--sf-veil-soft);
7006
6972
  }
7007
6973
 
7008
6974
  /* Entry header row: badge + label */
7009
6975
  .reasoning-entry-header {
7010
6976
  display: flex;
7011
6977
  align-items: center;
7012
- gap: var(--sf-pad-6);
6978
+ gap: var(--sf-pad-md);
7013
6979
  }
7014
6980
  .reasoning-entry-badge {
7015
- font-size: var(--sf-text-9);
6981
+ font-size: var(--sf-text-xs);
7016
6982
 
7017
6983
  font-family: var(--font-mono);
7018
6984
  font-weight: 700;
7019
6985
  letter-spacing: 0.1em;
7020
- padding: 1px var(--sf-pad-5);
6986
+ padding: 1px var(--sf-pad-sm);
7021
6987
 
7022
- border-radius: var(--sf-radius-4);
6988
+ border-radius: var(--sf-radius-sm);
7023
6989
 
7024
6990
  flex-shrink: 0;
7025
6991
  }
7026
6992
  /* Thinking badge — cyan tint */
7027
6993
  .reasoning-entry-badge.badge-think {
7028
- background: var(--sf-cyan-10);
6994
+ background: var(--sf-cyan-veil);
7029
6995
  color: var(--accent-cyan);
7030
- border: 1px solid var(--sf-cyan-18);
6996
+ border: 1px solid var(--sf-cyan-edge);
7031
6997
  }
7032
6998
  /* Tool call badge — purple tint */
7033
6999
  .reasoning-entry-badge.badge-tool {
7034
- background: var(--sf-violet-12);
7000
+ background: var(--sf-violet-tint);
7035
7001
  color: var(--accent-purple);
7036
- border: 1px solid var(--sf-violet-20);
7002
+ border: 1px solid var(--sf-violet-edge);
7037
7003
  }
7038
7004
  /* Tool result badge — green tint */
7039
7005
  .reasoning-entry-badge.badge-result {
7040
- background: var(--sf-green-10);
7006
+ background: var(--sf-green-tint);
7041
7007
  color: var(--accent-green);
7042
- border: 1px solid var(--sf-green-18);
7008
+ border: 1px solid var(--sf-green-edge);
7043
7009
  }
7044
7010
  /* Narration badge — dim white tint */
7045
7011
  .reasoning-entry-badge.badge-narration {
7046
- background: var(--sf-white-06);
7012
+ background: var(--sf-veil-soft);
7047
7013
  color: var(--text-muted);
7048
- border: 1px solid var(--sf-white-10);
7014
+ border: 1px solid var(--sf-veil-strong);
7049
7015
  }
7050
7016
 
7051
7017
  .reasoning-entry-name {
7052
- font-size: var(--sf-text-11);
7018
+ font-size: var(--sf-text-md);
7053
7019
 
7054
7020
  font-family: var(--font-mono);
7055
7021
  color: var(--text-muted);
@@ -7061,7 +7027,7 @@ body {
7061
7027
 
7062
7028
  /* Thinking body */
7063
7029
  .reasoning-think-body {
7064
- font-size: var(--sf-text-10);
7030
+ font-size: var(--sf-text-sm);
7065
7031
 
7066
7032
  font-family: var(--font-mono);
7067
7033
  color: var(--text-muted);
@@ -7071,23 +7037,23 @@ body {
7071
7037
  max-height: var(--sf-bound-detail);
7072
7038
 
7073
7039
  overflow-y: auto;
7074
- padding: var(--sf-pad-4) var(--sf-pad-2) 0;
7040
+ padding: var(--sf-pad-sm) var(--sf-pad-xs) 0;
7075
7041
 
7076
7042
  opacity: 0.75;
7077
7043
  scrollbar-width: thin;
7078
- scrollbar-color: var(--sf-cyan-15) transparent;
7044
+ scrollbar-color: var(--sf-cyan-edge) transparent;
7079
7045
  }
7080
7046
  .reasoning-think-body::-webkit-scrollbar {
7081
7047
  width: 2px;
7082
7048
  }
7083
7049
  .reasoning-think-body::-webkit-scrollbar-thumb {
7084
- background: var(--sf-cyan-15);
7085
- border-radius: var(--sf-radius-2);
7050
+ background: var(--sf-cyan-edge);
7051
+ border-radius: var(--sf-radius-xs);
7086
7052
  }
7087
7053
 
7088
7054
  /* Tool detail — compact JSON preview, collapsible */
7089
7055
  .reasoning-tool-preview {
7090
- font-size: var(--sf-text-10);
7056
+ font-size: var(--sf-text-sm);
7091
7057
 
7092
7058
  font-family: var(--font-mono);
7093
7059
  color: var(--text-muted);
@@ -7095,17 +7061,17 @@ body {
7095
7061
  white-space: nowrap;
7096
7062
  overflow: hidden;
7097
7063
  text-overflow: ellipsis;
7098
- padding: var(--sf-pad-2) 0 0;
7064
+ padding: var(--sf-pad-xs) 0 0;
7099
7065
  }
7100
7066
  .reasoning-tool-detail {
7101
7067
  display: none;
7102
- font-size: var(--sf-text-10);
7068
+ font-size: var(--sf-text-sm);
7103
7069
 
7104
7070
  font-family: var(--font-mono);
7105
7071
  color: var(--text-muted);
7106
7072
  white-space: pre-wrap;
7107
7073
  word-break: break-all;
7108
- padding: var(--sf-pad-4) var(--sf-pad-2) 0;
7074
+ padding: var(--sf-pad-sm) var(--sf-pad-xs) 0;
7109
7075
 
7110
7076
  opacity: 0.65;
7111
7077
  max-height: var(--sf-bound-tool);
@@ -7121,10 +7087,10 @@ body {
7121
7087
 
7122
7088
  /* Result row */
7123
7089
  .reasoning-result-meta {
7124
- font-size: var(--sf-text-10);
7090
+ font-size: var(--sf-text-sm);
7125
7091
  font-family: var(--font-mono);
7126
7092
  color: var(--text-dim);
7127
- padding: var(--sf-pad-2) 0 0;
7093
+ padding: var(--sf-pad-xs) 0 0;
7128
7094
  }
7129
7095
 
7130
7096
  /* ── Lazy-load sentinel ──────────────────────────────────────────── */