@symerian/symi 3.5.30 → 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.
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +4 -4
- package/dist/bundled/session-memory/handler.js +4 -4
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{chrome-3jl2ulOE.js → chrome-CmQwGAuL.js} +4 -4
- package/dist/{chrome-OTJg3QKn.js → chrome-DNssqQJs.js} +4 -4
- package/dist/control-ui/css/style.css +503 -281
- package/dist/{deliver-BiWlR84Y.js → deliver-B04yNX82.js} +4 -4
- package/dist/{deliver-f3cIWxXT.js → deliver-q23ar_Pm.js} +4 -4
- package/dist/extensionAPI.js +4 -4
- package/dist/llm-slug-generator.js +4 -4
- package/dist/{manager-fgUC_sHR.js → manager-DM2oPS8M.js} +1 -1
- package/dist/{manager-DogrTmEo.js → manager-NDn8AFhr.js} +1 -1
- package/dist/{pi-embedded-DdoLFoXg.js → pi-embedded-V-5MAZNb.js} +10 -10
- package/dist/plugin-sdk/index.js +6 -6
- package/dist/{pw-ai-DY_6l11g.js → pw-ai-DLsdzdgc.js} +1 -1
- package/dist/{pw-ai-DOAsQ5NX.js → pw-ai-v__CyAlM.js} +1 -1
- package/dist/{synthesis-Cggd0_wq.js → synthesis-BfVWACNx.js} +4 -4
- package/dist/{synthesis-D6pnRAxI.js → synthesis-Bfhs-a4F.js} +4 -4
- package/dist/{unified-runner-H3Qh_NZO.js → unified-runner-C7BRCFJF.js} +10 -10
- package/extensions/memory-core/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +12 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/package.json +1 -1
|
@@ -865,36 +865,143 @@ 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 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)
|
|
885
|
+
*/
|
|
886
|
+
:root {
|
|
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);
|
|
904
|
+
|
|
905
|
+
/* ── Surface fills (dark blue-tinted glass) ── */
|
|
906
|
+
--sf-surface-card: rgba(10, 16, 26, 0.62);
|
|
907
|
+
--sf-surface-menu: rgba(10, 16, 26, 0.95);
|
|
908
|
+
|
|
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;
|
|
949
|
+
--sf-radius-pill: 50%;
|
|
950
|
+
|
|
951
|
+
/* ── Content bounds (semantic, unchanged) ── */
|
|
952
|
+
--sf-bound-row: 38px;
|
|
953
|
+
--sf-bound-tool: 100px;
|
|
954
|
+
--sf-bound-detail: 120px;
|
|
955
|
+
--sf-bound-list: 200px;
|
|
956
|
+
--sf-bound-media: 280px;
|
|
957
|
+
--sf-bound-body: 320px;
|
|
958
|
+
|
|
959
|
+
/* ── Motion durations ── */
|
|
960
|
+
--sf-time-fast: 0.15s;
|
|
961
|
+
--sf-time-quick: 0.2s;
|
|
962
|
+
--sf-time-normal: 0.4s;
|
|
963
|
+
--sf-time-medium: 0.6s;
|
|
964
|
+
--sf-time-easy: 0.8s;
|
|
965
|
+
--sf-time-slow: 1s;
|
|
966
|
+
--sf-time-pulse: 1.2s;
|
|
967
|
+
--sf-time-breathe: 3.2s;
|
|
968
|
+
}
|
|
969
|
+
|
|
868
970
|
.symframe {
|
|
869
971
|
display: grid;
|
|
870
972
|
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
871
|
-
gap:
|
|
973
|
+
gap: var(--sf-pad-lg);
|
|
974
|
+
|
|
872
975
|
flex: 1 1 0;
|
|
873
976
|
min-height: 0;
|
|
874
977
|
overflow: hidden;
|
|
875
978
|
}
|
|
876
979
|
.symframe-header {
|
|
877
|
-
padding:
|
|
878
|
-
|
|
879
|
-
|
|
980
|
+
padding: var(--sf-pad-lg) var(--sf-pad-xl) var(--sf-pad-xl);
|
|
981
|
+
|
|
982
|
+
border-bottom: 1px solid var(--sf-cyan-veil);
|
|
983
|
+
margin-bottom: var(--sf-pad-sm);
|
|
984
|
+
|
|
880
985
|
min-height: 0;
|
|
881
986
|
}
|
|
882
987
|
.symframe-header-row {
|
|
883
988
|
display: flex;
|
|
884
989
|
align-items: baseline;
|
|
885
990
|
justify-content: space-between;
|
|
886
|
-
gap:
|
|
991
|
+
gap: var(--sf-pad-xl);
|
|
887
992
|
}
|
|
888
993
|
.symframe-title {
|
|
889
994
|
font-family: var(--font-mono);
|
|
890
|
-
font-size:
|
|
995
|
+
font-size: var(--sf-text-lg);
|
|
996
|
+
|
|
891
997
|
font-weight: 600;
|
|
892
998
|
letter-spacing: 0.14em;
|
|
893
999
|
color: var(--accent-cyan);
|
|
894
1000
|
}
|
|
895
1001
|
.symframe-count {
|
|
896
1002
|
font-family: var(--font-mono);
|
|
897
|
-
font-size:
|
|
1003
|
+
font-size: var(--sf-text-xs);
|
|
1004
|
+
|
|
898
1005
|
letter-spacing: 0.06em;
|
|
899
1006
|
color: var(--text-dim);
|
|
900
1007
|
opacity: 0.7;
|
|
@@ -902,11 +1009,13 @@ body {
|
|
|
902
1009
|
}
|
|
903
1010
|
.symframe-sub {
|
|
904
1011
|
font-family: var(--font-mono);
|
|
905
|
-
font-size:
|
|
1012
|
+
font-size: var(--sf-text-xs);
|
|
1013
|
+
|
|
906
1014
|
letter-spacing: 0.04em;
|
|
907
1015
|
color: var(--text-dim);
|
|
908
1016
|
opacity: 0.55;
|
|
909
|
-
margin-top:
|
|
1017
|
+
margin-top: var(--sf-pad-sm);
|
|
1018
|
+
|
|
910
1019
|
line-height: 1.4;
|
|
911
1020
|
}
|
|
912
1021
|
|
|
@@ -914,14 +1023,16 @@ body {
|
|
|
914
1023
|
.symframe-modes {
|
|
915
1024
|
display: flex;
|
|
916
1025
|
align-items: center;
|
|
917
|
-
gap:
|
|
918
|
-
|
|
1026
|
+
gap: var(--sf-pad-md);
|
|
1027
|
+
|
|
1028
|
+
margin-top: var(--sf-pad-md);
|
|
919
1029
|
}
|
|
920
1030
|
.mode-chip {
|
|
921
1031
|
width: 10px;
|
|
922
1032
|
height: 10px;
|
|
923
|
-
border-radius:
|
|
924
|
-
|
|
1033
|
+
border-radius: var(--sf-radius-pill);
|
|
1034
|
+
|
|
1035
|
+
border: 1px solid var(--sf-cyan-pulse);
|
|
925
1036
|
background: transparent;
|
|
926
1037
|
padding: 0;
|
|
927
1038
|
cursor: pointer;
|
|
@@ -933,32 +1044,35 @@ body {
|
|
|
933
1044
|
}
|
|
934
1045
|
.mode-chip:hover {
|
|
935
1046
|
border-color: var(--accent-cyan);
|
|
936
|
-
background:
|
|
1047
|
+
background: var(--sf-cyan-edge);
|
|
937
1048
|
transform: scale(1.15);
|
|
938
1049
|
}
|
|
939
1050
|
.mode-chip.active {
|
|
940
1051
|
background: var(--accent-cyan);
|
|
941
1052
|
border-color: var(--accent-cyan);
|
|
942
|
-
box-shadow: 0 0 6px
|
|
1053
|
+
box-shadow: 0 0 6px var(--sf-cyan-flash);
|
|
943
1054
|
}
|
|
944
1055
|
.mode-auto {
|
|
945
1056
|
margin-left: auto;
|
|
946
|
-
padding:
|
|
1057
|
+
padding: var(--sf-pad-xs) var(--sf-pad-lg);
|
|
1058
|
+
|
|
947
1059
|
font-family: var(--font-mono);
|
|
948
|
-
font-size:
|
|
1060
|
+
font-size: var(--sf-text-xs);
|
|
1061
|
+
|
|
949
1062
|
font-weight: 700;
|
|
950
1063
|
letter-spacing: 0.12em;
|
|
951
1064
|
color: var(--accent-cyan);
|
|
952
|
-
background:
|
|
953
|
-
border: 1px solid
|
|
954
|
-
border-radius:
|
|
1065
|
+
background: var(--sf-cyan-veil);
|
|
1066
|
+
border: 1px solid var(--sf-cyan-pulse);
|
|
1067
|
+
border-radius: var(--sf-radius-lg);
|
|
1068
|
+
|
|
955
1069
|
cursor: pointer;
|
|
956
1070
|
transition:
|
|
957
1071
|
background 0.15s ease,
|
|
958
1072
|
color 0.15s ease;
|
|
959
1073
|
}
|
|
960
1074
|
.mode-auto:hover {
|
|
961
|
-
background:
|
|
1075
|
+
background: var(--sf-cyan-edge);
|
|
962
1076
|
color: var(--text);
|
|
963
1077
|
}
|
|
964
1078
|
|
|
@@ -967,15 +1081,19 @@ body {
|
|
|
967
1081
|
AND adds .considering-weighing to #symframe (CSS below) which dims
|
|
968
1082
|
non-weighing cards for the duration. */
|
|
969
1083
|
.considering-btn {
|
|
970
|
-
margin-left:
|
|
971
|
-
|
|
972
|
-
|
|
1084
|
+
margin-left: var(--sf-pad-sm);
|
|
1085
|
+
|
|
1086
|
+
padding: var(--sf-pad-xs) 7px;
|
|
1087
|
+
|
|
1088
|
+
font-size: var(--sf-text-md);
|
|
1089
|
+
|
|
973
1090
|
line-height: 1;
|
|
974
1091
|
font-family: var(--font-mono);
|
|
975
1092
|
color: #f5b73a; /* amber — same hue as weighing intent */
|
|
976
1093
|
background: transparent;
|
|
977
|
-
border: 1px solid
|
|
978
|
-
border-radius:
|
|
1094
|
+
border: 1px solid var(--sf-amber-edge);
|
|
1095
|
+
border-radius: var(--sf-radius-lg);
|
|
1096
|
+
|
|
979
1097
|
cursor: pointer;
|
|
980
1098
|
transition:
|
|
981
1099
|
background 0.15s ease,
|
|
@@ -983,7 +1101,7 @@ body {
|
|
|
983
1101
|
transform 0.15s ease;
|
|
984
1102
|
}
|
|
985
1103
|
.considering-btn:hover {
|
|
986
|
-
background:
|
|
1104
|
+
background: var(--sf-amber-tint);
|
|
987
1105
|
border-color: #f5b73a;
|
|
988
1106
|
}
|
|
989
1107
|
.considering-btn:active {
|
|
@@ -992,16 +1110,16 @@ body {
|
|
|
992
1110
|
/* Brief red flash when clicked while no weighing cards exist —
|
|
993
1111
|
tells the user "I have nothing to surface here." */
|
|
994
1112
|
.considering-btn.considering-empty {
|
|
995
|
-
animation: considering-empty-pulse
|
|
1113
|
+
animation: considering-empty-pulse var(--sf-time-easy) ease-out;
|
|
996
1114
|
}
|
|
997
1115
|
@keyframes considering-empty-pulse {
|
|
998
1116
|
0%,
|
|
999
1117
|
100% {
|
|
1000
|
-
border-color:
|
|
1118
|
+
border-color: var(--sf-amber-edge);
|
|
1001
1119
|
}
|
|
1002
1120
|
50% {
|
|
1003
|
-
border-color:
|
|
1004
|
-
background:
|
|
1121
|
+
border-color: var(--sf-pink-strong);
|
|
1122
|
+
background: var(--sf-pink-tint);
|
|
1005
1123
|
}
|
|
1006
1124
|
}
|
|
1007
1125
|
/* While considering-weighing is active, dim non-weighing cards so the
|
|
@@ -1015,14 +1133,15 @@ body {
|
|
|
1015
1133
|
}
|
|
1016
1134
|
.symframe.considering-weighing .symframe-substrate {
|
|
1017
1135
|
opacity: 0.45;
|
|
1018
|
-
transition: opacity
|
|
1136
|
+
transition: opacity var(--sf-time-normal) ease;
|
|
1019
1137
|
}
|
|
1020
1138
|
@media (prefers-reduced-motion: reduce) {
|
|
1021
1139
|
.considering-btn.considering-empty {
|
|
1022
1140
|
animation: none;
|
|
1023
1141
|
}
|
|
1024
1142
|
.symframe.considering-weighing .symframe-card-dynamic:not([data-intent="weighing"]) {
|
|
1025
|
-
transition: opacity
|
|
1143
|
+
transition: opacity var(--sf-time-quick) ease;
|
|
1144
|
+
|
|
1026
1145
|
filter: none;
|
|
1027
1146
|
}
|
|
1028
1147
|
}
|
|
@@ -1038,8 +1157,10 @@ body {
|
|
|
1038
1157
|
border-bottom: 1px dashed currentColor;
|
|
1039
1158
|
cursor: pointer;
|
|
1040
1159
|
font-weight: 500;
|
|
1041
|
-
padding: 0
|
|
1042
|
-
|
|
1160
|
+
padding: 0 var(--sf-pad-xs);
|
|
1161
|
+
|
|
1162
|
+
border-radius: var(--sf-radius-xs);
|
|
1163
|
+
|
|
1043
1164
|
transition:
|
|
1044
1165
|
background 0.15s ease,
|
|
1045
1166
|
border-bottom-style 0.15s ease;
|
|
@@ -1050,7 +1171,7 @@ body {
|
|
|
1050
1171
|
opacity: 0.7;
|
|
1051
1172
|
}
|
|
1052
1173
|
.panel-ref:hover {
|
|
1053
|
-
background:
|
|
1174
|
+
background: var(--sf-cyan-veil);
|
|
1054
1175
|
border-bottom-style: solid;
|
|
1055
1176
|
}
|
|
1056
1177
|
/* Orphan reference — the card is no longer in the panel. Subdued so
|
|
@@ -1065,15 +1186,15 @@ body {
|
|
|
1065
1186
|
/* Click-miss flash: a brief pink tint signals "I tried to dwell but
|
|
1066
1187
|
that card isn't currently registered." */
|
|
1067
1188
|
.panel-ref.panel-ref-miss {
|
|
1068
|
-
animation: panel-ref-miss-pulse
|
|
1189
|
+
animation: panel-ref-miss-pulse var(--sf-time-slow) ease-out;
|
|
1069
1190
|
}
|
|
1070
1191
|
@keyframes panel-ref-miss-pulse {
|
|
1071
1192
|
0%,
|
|
1072
1193
|
100% {
|
|
1073
|
-
background:
|
|
1194
|
+
background: var(--sf-cyan-veil);
|
|
1074
1195
|
}
|
|
1075
1196
|
50% {
|
|
1076
|
-
background:
|
|
1197
|
+
background: var(--sf-pink-edge);
|
|
1077
1198
|
}
|
|
1078
1199
|
}
|
|
1079
1200
|
|
|
@@ -1104,7 +1225,7 @@ body {
|
|
|
1104
1225
|
/* When focusedId is set, dim non-matching cards. */
|
|
1105
1226
|
.symframe[data-mode="focus"][data-focus-id] .symframe-card-dynamic {
|
|
1106
1227
|
opacity: 0.25;
|
|
1107
|
-
transition: opacity
|
|
1228
|
+
transition: opacity var(--sf-time-normal) ease;
|
|
1108
1229
|
}
|
|
1109
1230
|
.symframe[data-mode="focus"][data-focus-id] .symframe-card-dynamic:hover {
|
|
1110
1231
|
opacity: 0.6;
|
|
@@ -1121,9 +1242,9 @@ body {
|
|
|
1121
1242
|
plenty of focus signal on their own. */
|
|
1122
1243
|
opacity: 1 !important;
|
|
1123
1244
|
box-shadow:
|
|
1124
|
-
0 0 24px
|
|
1125
|
-
inset 0 1px 0
|
|
1126
|
-
0 4px 12px
|
|
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);
|
|
1127
1248
|
border-color: var(--accent-cyan) !important;
|
|
1128
1249
|
transition:
|
|
1129
1250
|
box-shadow 0.4s ease,
|
|
@@ -1159,7 +1280,8 @@ body {
|
|
|
1159
1280
|
opacity: 0.35;
|
|
1160
1281
|
}
|
|
1161
1282
|
.symframe[data-mode="awaiting"] .symframe-card-dynamic {
|
|
1162
|
-
max-height:
|
|
1283
|
+
max-height: var(--sf-bound-row);
|
|
1284
|
+
|
|
1163
1285
|
overflow: hidden;
|
|
1164
1286
|
transition:
|
|
1165
1287
|
max-height 0.4s ease,
|
|
@@ -1174,9 +1296,10 @@ body {
|
|
|
1174
1296
|
"dominant" without exceeding the column. The `overflow: hidden`
|
|
1175
1297
|
from C.4 still clips any overflow from misbehaving children. */
|
|
1176
1298
|
max-height: 80%;
|
|
1177
|
-
background:
|
|
1178
|
-
border-radius:
|
|
1179
|
-
|
|
1299
|
+
background: var(--sf-cyan-hairline);
|
|
1300
|
+
border-radius: var(--sf-radius-xl);
|
|
1301
|
+
|
|
1302
|
+
margin-top: var(--sf-pad-lg);
|
|
1180
1303
|
}
|
|
1181
1304
|
.symframe[data-mode="awaiting"] .awaiting-list {
|
|
1182
1305
|
/* The footer is now sized larger than baseline. Let the list flex
|
|
@@ -1242,10 +1365,11 @@ body {
|
|
|
1242
1365
|
min-height: 0;
|
|
1243
1366
|
display: flex;
|
|
1244
1367
|
flex-direction: column;
|
|
1245
|
-
gap:
|
|
1368
|
+
gap: var(--sf-pad-xl);
|
|
1369
|
+
|
|
1246
1370
|
overflow-y: auto;
|
|
1247
1371
|
scrollbar-width: thin;
|
|
1248
|
-
scrollbar-color:
|
|
1372
|
+
scrollbar-color: var(--sf-cyan-veil) transparent;
|
|
1249
1373
|
/* Let scroll/click events fall through the empty space between cards
|
|
1250
1374
|
down to the substrate, so the user can scroll reasoning even when
|
|
1251
1375
|
foreground cards are foregrounded. Cards themselves re-enable
|
|
@@ -1259,8 +1383,8 @@ body {
|
|
|
1259
1383
|
width: 3px;
|
|
1260
1384
|
}
|
|
1261
1385
|
.symframe-cards::-webkit-scrollbar-thumb {
|
|
1262
|
-
background:
|
|
1263
|
-
border-radius:
|
|
1386
|
+
background: var(--sf-cyan-veil);
|
|
1387
|
+
border-radius: var(--sf-radius-xs);
|
|
1264
1388
|
}
|
|
1265
1389
|
|
|
1266
1390
|
/* ── Substrate (ambient reasoning layer, Stage B) ──────────────────── */
|
|
@@ -1275,17 +1399,19 @@ body {
|
|
|
1275
1399
|
overflow-y: auto;
|
|
1276
1400
|
display: flex;
|
|
1277
1401
|
flex-direction: column;
|
|
1278
|
-
gap:
|
|
1279
|
-
|
|
1402
|
+
gap: var(--sf-pad-md);
|
|
1403
|
+
|
|
1404
|
+
padding: var(--sf-pad-xs) var(--sf-pad-sm) var(--sf-pad-sm);
|
|
1405
|
+
|
|
1280
1406
|
scrollbar-width: thin;
|
|
1281
|
-
scrollbar-color:
|
|
1407
|
+
scrollbar-color: var(--sf-cyan-edge) transparent;
|
|
1282
1408
|
}
|
|
1283
1409
|
.symframe-substrate::-webkit-scrollbar {
|
|
1284
1410
|
width: 3px;
|
|
1285
1411
|
}
|
|
1286
1412
|
.symframe-substrate::-webkit-scrollbar-thumb {
|
|
1287
|
-
background:
|
|
1288
|
-
border-radius:
|
|
1413
|
+
background: var(--sf-cyan-edge);
|
|
1414
|
+
border-radius: var(--sf-radius-xs);
|
|
1289
1415
|
}
|
|
1290
1416
|
|
|
1291
1417
|
/* Substrate entry — decay-driven visual. Custom properties are written
|
|
@@ -1308,17 +1434,20 @@ body {
|
|
|
1308
1434
|
opacity: 1;
|
|
1309
1435
|
filter: none;
|
|
1310
1436
|
transform: none;
|
|
1311
|
-
border-color:
|
|
1312
|
-
box-shadow: 0 0 12px
|
|
1437
|
+
border-color: var(--sf-cyan-pulse);
|
|
1438
|
+
box-shadow: 0 0 12px var(--sf-cyan-veil);
|
|
1313
1439
|
}
|
|
1314
1440
|
.substrate-live-dot {
|
|
1315
1441
|
display: inline-block;
|
|
1316
1442
|
width: 6px;
|
|
1317
1443
|
height: 6px;
|
|
1318
|
-
border-radius:
|
|
1444
|
+
border-radius: var(--sf-radius-pill);
|
|
1445
|
+
|
|
1319
1446
|
background: var(--accent-cyan);
|
|
1320
|
-
margin-right:
|
|
1321
|
-
|
|
1447
|
+
margin-right: var(--sf-pad-md);
|
|
1448
|
+
|
|
1449
|
+
animation: pulse var(--sf-time-pulse) ease-in-out infinite;
|
|
1450
|
+
|
|
1322
1451
|
flex-shrink: 0;
|
|
1323
1452
|
}
|
|
1324
1453
|
|
|
@@ -1329,13 +1458,15 @@ body {
|
|
|
1329
1458
|
max-height: 2px;
|
|
1330
1459
|
padding: 0;
|
|
1331
1460
|
border-width: 0;
|
|
1332
|
-
border-top: 1px solid
|
|
1461
|
+
border-top: 1px solid var(--sf-cyan-hairline);
|
|
1333
1462
|
overflow: hidden;
|
|
1334
1463
|
}
|
|
1335
1464
|
.substrate-entry.substrate-texture:hover {
|
|
1336
|
-
max-height:
|
|
1337
|
-
|
|
1338
|
-
|
|
1465
|
+
max-height: var(--sf-bound-list);
|
|
1466
|
+
|
|
1467
|
+
padding: var(--sf-pad-md) var(--sf-pad-lg);
|
|
1468
|
+
|
|
1469
|
+
border: 1px solid var(--sf-cyan-edge);
|
|
1339
1470
|
opacity: 0.7;
|
|
1340
1471
|
filter: none;
|
|
1341
1472
|
}
|
|
@@ -1356,7 +1487,8 @@ body {
|
|
|
1356
1487
|
flex-direction: column;
|
|
1357
1488
|
align-items: center;
|
|
1358
1489
|
justify-content: center;
|
|
1359
|
-
gap:
|
|
1490
|
+
gap: var(--sf-pad-xl);
|
|
1491
|
+
|
|
1360
1492
|
padding: 40px 0;
|
|
1361
1493
|
margin: auto;
|
|
1362
1494
|
opacity: 0.85;
|
|
@@ -1364,17 +1496,15 @@ body {
|
|
|
1364
1496
|
.substrate-quiet-dot {
|
|
1365
1497
|
width: 14px;
|
|
1366
1498
|
height: 14px;
|
|
1367
|
-
border-radius:
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
rgba(0, 212, 255, 0) 70%
|
|
1372
|
-
);
|
|
1373
|
-
animation: quiet-pulse 3.2s ease-in-out infinite;
|
|
1499
|
+
border-radius: var(--sf-radius-pill);
|
|
1500
|
+
|
|
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;
|
|
1374
1503
|
}
|
|
1375
1504
|
.substrate-quiet-label {
|
|
1376
1505
|
font-family: var(--font-mono);
|
|
1377
|
-
font-size:
|
|
1506
|
+
font-size: var(--sf-text-xs);
|
|
1507
|
+
|
|
1378
1508
|
letter-spacing: 0.18em;
|
|
1379
1509
|
text-transform: uppercase;
|
|
1380
1510
|
color: var(--text-dim);
|
|
@@ -1397,7 +1527,8 @@ body {
|
|
|
1397
1527
|
informative; the panel stays still. */
|
|
1398
1528
|
@media (prefers-reduced-motion: reduce) {
|
|
1399
1529
|
.substrate-entry {
|
|
1400
|
-
transition: opacity
|
|
1530
|
+
transition: opacity var(--sf-time-quick) ease;
|
|
1531
|
+
|
|
1401
1532
|
filter: none !important;
|
|
1402
1533
|
transform: none !important;
|
|
1403
1534
|
}
|
|
@@ -1417,22 +1548,24 @@ body {
|
|
|
1417
1548
|
the substrate breathe through. The backdrop-filter blurs whatever
|
|
1418
1549
|
substrate texture is behind, so even at moderate transparency the
|
|
1419
1550
|
card body stays crisp. */
|
|
1420
|
-
background:
|
|
1551
|
+
background: var(--sf-surface-card);
|
|
1421
1552
|
backdrop-filter: blur(10px) saturate(140%);
|
|
1422
1553
|
-webkit-backdrop-filter: blur(10px) saturate(140%);
|
|
1423
|
-
border: 1px solid
|
|
1424
|
-
border-radius:
|
|
1425
|
-
|
|
1554
|
+
border: 1px solid var(--sf-cyan-veil);
|
|
1555
|
+
border-radius: var(--sf-radius-xl);
|
|
1556
|
+
|
|
1557
|
+
padding: var(--sf-pad-xl) var(--sf-pad-2xl);
|
|
1558
|
+
|
|
1426
1559
|
box-shadow:
|
|
1427
|
-
inset 0 1px 0
|
|
1428
|
-
0 4px 12px
|
|
1560
|
+
inset 0 1px 0 var(--sf-veil-faint),
|
|
1561
|
+
0 4px 12px var(--sf-shadow-mid);
|
|
1429
1562
|
}
|
|
1430
1563
|
.symframe .symframe-card::before,
|
|
1431
1564
|
.symframe .symframe-card::after {
|
|
1432
1565
|
display: none;
|
|
1433
1566
|
}
|
|
1434
1567
|
.symframe .symframe-card:hover {
|
|
1435
|
-
border-color:
|
|
1568
|
+
border-color: var(--sf-cyan-edge);
|
|
1436
1569
|
}
|
|
1437
1570
|
|
|
1438
1571
|
/* Phase 2: dynamic-card sub-elements (only present on cards added via
|
|
@@ -1441,17 +1574,19 @@ body {
|
|
|
1441
1574
|
display: flex;
|
|
1442
1575
|
align-items: center;
|
|
1443
1576
|
justify-content: space-between;
|
|
1444
|
-
gap:
|
|
1577
|
+
gap: var(--sf-pad-lg);
|
|
1445
1578
|
}
|
|
1446
1579
|
.symframe-card-dismiss {
|
|
1447
1580
|
background: transparent;
|
|
1448
1581
|
border: none;
|
|
1449
1582
|
color: var(--text-dim);
|
|
1450
|
-
font-size:
|
|
1583
|
+
font-size: var(--sf-text-xl);
|
|
1584
|
+
|
|
1451
1585
|
line-height: 1;
|
|
1452
1586
|
width: 18px;
|
|
1453
1587
|
height: 18px;
|
|
1454
|
-
border-radius:
|
|
1588
|
+
border-radius: var(--sf-radius-sm);
|
|
1589
|
+
|
|
1455
1590
|
cursor: pointer;
|
|
1456
1591
|
opacity: 0.6;
|
|
1457
1592
|
transition:
|
|
@@ -1466,7 +1601,7 @@ body {
|
|
|
1466
1601
|
.symframe-card-dismiss:hover {
|
|
1467
1602
|
opacity: 1;
|
|
1468
1603
|
color: var(--accent-cyan);
|
|
1469
|
-
background:
|
|
1604
|
+
background: var(--sf-cyan-veil);
|
|
1470
1605
|
}
|
|
1471
1606
|
|
|
1472
1607
|
/* Stage C: pin glyph — replaces dismiss button on pinned cards. Click
|
|
@@ -1477,11 +1612,13 @@ body {
|
|
|
1477
1612
|
background: transparent;
|
|
1478
1613
|
border: none;
|
|
1479
1614
|
color: var(--accent-cyan);
|
|
1480
|
-
font-size:
|
|
1615
|
+
font-size: var(--sf-text-lg);
|
|
1616
|
+
|
|
1481
1617
|
line-height: 1;
|
|
1482
1618
|
width: 18px;
|
|
1483
1619
|
height: 18px;
|
|
1484
|
-
border-radius:
|
|
1620
|
+
border-radius: var(--sf-radius-sm);
|
|
1621
|
+
|
|
1485
1622
|
cursor: pointer;
|
|
1486
1623
|
opacity: 0.8;
|
|
1487
1624
|
padding: 0;
|
|
@@ -1494,33 +1631,33 @@ body {
|
|
|
1494
1631
|
}
|
|
1495
1632
|
.symframe-card-pin:hover {
|
|
1496
1633
|
opacity: 1;
|
|
1497
|
-
background:
|
|
1634
|
+
background: var(--sf-cyan-veil);
|
|
1498
1635
|
}
|
|
1499
1636
|
|
|
1500
1637
|
/* Stage C: dwell pulse — 600ms cyan border + glow then return. */
|
|
1501
1638
|
.symframe-card.symframe-dwelling {
|
|
1502
|
-
animation: symframe-dwell
|
|
1639
|
+
animation: symframe-dwell var(--sf-time-medium) ease-out;
|
|
1503
1640
|
}
|
|
1504
1641
|
@keyframes symframe-dwell {
|
|
1505
1642
|
0% {
|
|
1506
1643
|
border-color: var(--accent-cyan);
|
|
1507
1644
|
box-shadow:
|
|
1508
|
-
0 0 0 0
|
|
1509
|
-
inset 0 1px 0
|
|
1510
|
-
0 4px 12px
|
|
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);
|
|
1511
1648
|
}
|
|
1512
1649
|
60% {
|
|
1513
|
-
border-color:
|
|
1650
|
+
border-color: var(--sf-cyan-flash);
|
|
1514
1651
|
box-shadow:
|
|
1515
1652
|
0 0 0 6px rgba(0, 212, 255, 0),
|
|
1516
|
-
inset 0 1px 0
|
|
1517
|
-
0 4px 12px
|
|
1653
|
+
inset 0 1px 0 var(--sf-veil-faint),
|
|
1654
|
+
0 4px 12px var(--sf-shadow-mid);
|
|
1518
1655
|
}
|
|
1519
1656
|
100% {
|
|
1520
|
-
border-color:
|
|
1657
|
+
border-color: var(--sf-cyan-veil);
|
|
1521
1658
|
box-shadow:
|
|
1522
|
-
inset 0 1px 0
|
|
1523
|
-
0 4px 12px
|
|
1659
|
+
inset 0 1px 0 var(--sf-veil-faint),
|
|
1660
|
+
0 4px 12px var(--sf-shadow-mid);
|
|
1524
1661
|
}
|
|
1525
1662
|
}
|
|
1526
1663
|
|
|
@@ -1529,10 +1666,10 @@ body {
|
|
|
1529
1666
|
on transitionend or after a 900ms fail-safe timeout. */
|
|
1530
1667
|
.symframe-card.symframe-releasing {
|
|
1531
1668
|
transition:
|
|
1532
|
-
opacity
|
|
1533
|
-
transform
|
|
1534
|
-
max-height
|
|
1535
|
-
margin
|
|
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;
|
|
1536
1673
|
opacity: 0;
|
|
1537
1674
|
transform: scale(0.92);
|
|
1538
1675
|
max-height: 0;
|
|
@@ -1549,7 +1686,7 @@ body {
|
|
|
1549
1686
|
border-color: var(--accent-cyan);
|
|
1550
1687
|
}
|
|
1551
1688
|
.symframe-card.symframe-releasing {
|
|
1552
|
-
transition: opacity
|
|
1689
|
+
transition: opacity var(--sf-time-quick) ease;
|
|
1553
1690
|
transform: none;
|
|
1554
1691
|
max-height: none;
|
|
1555
1692
|
}
|
|
@@ -1564,12 +1701,15 @@ body {
|
|
|
1564
1701
|
Click [+ Add] → menu with "Spawn subagent" / "Add scheduled task". */
|
|
1565
1702
|
.symframe-awaiting {
|
|
1566
1703
|
position: relative;
|
|
1567
|
-
border-top: 1px solid
|
|
1568
|
-
margin-top:
|
|
1569
|
-
|
|
1704
|
+
border-top: 1px solid var(--sf-cyan-veil);
|
|
1705
|
+
margin-top: var(--sf-pad-lg);
|
|
1706
|
+
|
|
1707
|
+
padding: var(--sf-pad-lg) var(--sf-pad-md) var(--sf-pad-sm);
|
|
1708
|
+
|
|
1570
1709
|
display: flex;
|
|
1571
1710
|
flex-direction: column;
|
|
1572
|
-
gap:
|
|
1711
|
+
gap: var(--sf-pad-sm);
|
|
1712
|
+
|
|
1573
1713
|
/* Stage C.4: cap the AWAITING footer so it can't claim more than ~40%
|
|
1574
1714
|
of the column height even if the user has many cron jobs. The
|
|
1575
1715
|
list inside still scrolls (max-height: 200px on .awaiting-list)
|
|
@@ -1584,19 +1724,22 @@ body {
|
|
|
1584
1724
|
.awaiting-header {
|
|
1585
1725
|
display: flex;
|
|
1586
1726
|
align-items: baseline;
|
|
1587
|
-
gap:
|
|
1588
|
-
|
|
1727
|
+
gap: var(--sf-pad-lg);
|
|
1728
|
+
|
|
1729
|
+
padding: 0 var(--sf-pad-sm) var(--sf-pad-sm);
|
|
1589
1730
|
}
|
|
1590
1731
|
.awaiting-title {
|
|
1591
1732
|
font-family: var(--font-mono);
|
|
1592
|
-
font-size:
|
|
1733
|
+
font-size: var(--sf-text-sm);
|
|
1734
|
+
|
|
1593
1735
|
font-weight: 600;
|
|
1594
1736
|
letter-spacing: 0.14em;
|
|
1595
1737
|
color: var(--accent-cyan);
|
|
1596
1738
|
}
|
|
1597
1739
|
.awaiting-count {
|
|
1598
1740
|
font-family: var(--font-mono);
|
|
1599
|
-
font-size:
|
|
1741
|
+
font-size: var(--sf-text-xs);
|
|
1742
|
+
|
|
1600
1743
|
letter-spacing: 0.04em;
|
|
1601
1744
|
color: var(--text-dim);
|
|
1602
1745
|
opacity: 0.6;
|
|
@@ -1605,38 +1748,44 @@ body {
|
|
|
1605
1748
|
.awaiting-list {
|
|
1606
1749
|
display: flex;
|
|
1607
1750
|
flex-direction: column;
|
|
1608
|
-
gap:
|
|
1609
|
-
|
|
1751
|
+
gap: var(--sf-pad-xs);
|
|
1752
|
+
|
|
1753
|
+
max-height: var(--sf-bound-list);
|
|
1754
|
+
|
|
1610
1755
|
overflow-y: auto;
|
|
1611
1756
|
scrollbar-width: thin;
|
|
1612
|
-
scrollbar-color:
|
|
1757
|
+
scrollbar-color: var(--sf-cyan-edge) transparent;
|
|
1613
1758
|
}
|
|
1614
1759
|
.awaiting-list::-webkit-scrollbar {
|
|
1615
1760
|
width: 3px;
|
|
1616
1761
|
}
|
|
1617
1762
|
.awaiting-list::-webkit-scrollbar-thumb {
|
|
1618
|
-
background:
|
|
1619
|
-
border-radius:
|
|
1763
|
+
background: var(--sf-cyan-edge);
|
|
1764
|
+
border-radius: var(--sf-radius-xs);
|
|
1620
1765
|
}
|
|
1621
1766
|
.awaiting-item {
|
|
1622
1767
|
display: grid;
|
|
1623
1768
|
grid-template-columns: 18px 1fr auto;
|
|
1624
1769
|
align-items: center;
|
|
1625
|
-
gap:
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1770
|
+
gap: var(--sf-pad-md);
|
|
1771
|
+
|
|
1772
|
+
padding: var(--sf-pad-sm) var(--sf-pad-lg);
|
|
1773
|
+
|
|
1774
|
+
border-radius: var(--sf-radius-md);
|
|
1775
|
+
|
|
1776
|
+
background: var(--sf-veil-faint);
|
|
1629
1777
|
border: 1px solid transparent;
|
|
1630
1778
|
font-family: var(--font-mono);
|
|
1631
|
-
font-size:
|
|
1779
|
+
font-size: var(--sf-text-sm);
|
|
1780
|
+
|
|
1632
1781
|
cursor: pointer;
|
|
1633
1782
|
transition:
|
|
1634
1783
|
background 0.15s ease,
|
|
1635
1784
|
border-color 0.15s ease;
|
|
1636
1785
|
}
|
|
1637
1786
|
.awaiting-item:hover {
|
|
1638
|
-
background:
|
|
1639
|
-
border-color:
|
|
1787
|
+
background: var(--sf-cyan-hairline);
|
|
1788
|
+
border-color: var(--sf-cyan-edge);
|
|
1640
1789
|
}
|
|
1641
1790
|
.awaiting-item-disabled {
|
|
1642
1791
|
opacity: 0.45;
|
|
@@ -1647,7 +1796,8 @@ body {
|
|
|
1647
1796
|
display: inline-flex;
|
|
1648
1797
|
align-items: center;
|
|
1649
1798
|
justify-content: center;
|
|
1650
|
-
font-size:
|
|
1799
|
+
font-size: var(--sf-text-md);
|
|
1800
|
+
|
|
1651
1801
|
line-height: 1;
|
|
1652
1802
|
}
|
|
1653
1803
|
.awaiting-glyph-subagent {
|
|
@@ -1669,7 +1819,8 @@ body {
|
|
|
1669
1819
|
.awaiting-meta {
|
|
1670
1820
|
color: var(--text-dim);
|
|
1671
1821
|
opacity: 0.75;
|
|
1672
|
-
font-size:
|
|
1822
|
+
font-size: var(--sf-text-xs);
|
|
1823
|
+
|
|
1673
1824
|
letter-spacing: 0.04em;
|
|
1674
1825
|
text-transform: lowercase;
|
|
1675
1826
|
white-space: nowrap;
|
|
@@ -1678,10 +1829,12 @@ body {
|
|
|
1678
1829
|
/* Empty-state placeholder when no subagents and no schedules exist. */
|
|
1679
1830
|
.awaiting-empty {
|
|
1680
1831
|
font-family: var(--font-mono);
|
|
1681
|
-
font-size:
|
|
1832
|
+
font-size: var(--sf-text-sm);
|
|
1833
|
+
|
|
1682
1834
|
color: var(--text-dim);
|
|
1683
1835
|
opacity: 0.55;
|
|
1684
|
-
padding:
|
|
1836
|
+
padding: var(--sf-pad-lg) var(--sf-pad-xl);
|
|
1837
|
+
|
|
1685
1838
|
text-align: center;
|
|
1686
1839
|
font-style: italic;
|
|
1687
1840
|
}
|
|
@@ -1690,16 +1843,21 @@ body {
|
|
|
1690
1843
|
.awaiting-add-btn {
|
|
1691
1844
|
display: inline-flex;
|
|
1692
1845
|
align-items: center;
|
|
1693
|
-
gap:
|
|
1694
|
-
|
|
1846
|
+
gap: var(--sf-pad-md);
|
|
1847
|
+
|
|
1848
|
+
margin-top: var(--sf-pad-sm);
|
|
1849
|
+
|
|
1695
1850
|
align-self: flex-start;
|
|
1696
|
-
padding:
|
|
1851
|
+
padding: var(--sf-pad-sm) var(--sf-pad-xl);
|
|
1852
|
+
|
|
1697
1853
|
background: transparent;
|
|
1698
|
-
border: 1px dashed
|
|
1699
|
-
border-radius:
|
|
1854
|
+
border: 1px dashed var(--sf-cyan-edge);
|
|
1855
|
+
border-radius: var(--sf-radius-md);
|
|
1856
|
+
|
|
1700
1857
|
color: var(--text-dim);
|
|
1701
1858
|
font-family: var(--font-mono);
|
|
1702
|
-
font-size:
|
|
1859
|
+
font-size: var(--sf-text-sm);
|
|
1860
|
+
|
|
1703
1861
|
letter-spacing: 0.04em;
|
|
1704
1862
|
cursor: pointer;
|
|
1705
1863
|
transition:
|
|
@@ -1710,7 +1868,7 @@ body {
|
|
|
1710
1868
|
.awaiting-add-btn:hover {
|
|
1711
1869
|
color: var(--accent-cyan);
|
|
1712
1870
|
border-color: var(--accent-cyan);
|
|
1713
|
-
background:
|
|
1871
|
+
background: var(--sf-cyan-hairline);
|
|
1714
1872
|
}
|
|
1715
1873
|
.awaiting-add-btn svg {
|
|
1716
1874
|
width: 12px;
|
|
@@ -1720,36 +1878,44 @@ body {
|
|
|
1720
1878
|
position: absolute;
|
|
1721
1879
|
left: 10px;
|
|
1722
1880
|
bottom: 100%;
|
|
1723
|
-
margin-bottom:
|
|
1724
|
-
|
|
1881
|
+
margin-bottom: var(--sf-pad-md);
|
|
1882
|
+
|
|
1883
|
+
background: var(--sf-surface-menu);
|
|
1725
1884
|
backdrop-filter: blur(12px) saturate(140%);
|
|
1726
1885
|
-webkit-backdrop-filter: blur(12px) saturate(140%);
|
|
1727
|
-
border: 1px solid
|
|
1728
|
-
border-radius:
|
|
1729
|
-
|
|
1886
|
+
border: 1px solid var(--sf-cyan-edge);
|
|
1887
|
+
border-radius: var(--sf-radius-lg);
|
|
1888
|
+
|
|
1889
|
+
padding: var(--sf-pad-sm);
|
|
1890
|
+
|
|
1730
1891
|
display: flex;
|
|
1731
1892
|
flex-direction: column;
|
|
1732
|
-
gap:
|
|
1893
|
+
gap: var(--sf-pad-xs);
|
|
1894
|
+
|
|
1733
1895
|
min-width: 180px;
|
|
1734
|
-
box-shadow: 0 8px 24px
|
|
1896
|
+
box-shadow: 0 8px 24px var(--sf-shadow-deep);
|
|
1735
1897
|
z-index: 20;
|
|
1736
1898
|
}
|
|
1737
1899
|
.awaiting-add-item {
|
|
1738
1900
|
display: flex;
|
|
1739
1901
|
align-items: center;
|
|
1740
|
-
gap:
|
|
1741
|
-
|
|
1902
|
+
gap: var(--sf-pad-lg);
|
|
1903
|
+
|
|
1904
|
+
padding: var(--sf-pad-md) var(--sf-pad-xl);
|
|
1905
|
+
|
|
1742
1906
|
background: transparent;
|
|
1743
1907
|
border: none;
|
|
1744
|
-
border-radius:
|
|
1908
|
+
border-radius: var(--sf-radius-sm);
|
|
1909
|
+
|
|
1745
1910
|
color: var(--text);
|
|
1746
1911
|
font-family: var(--font-mono);
|
|
1747
|
-
font-size:
|
|
1912
|
+
font-size: var(--sf-text-md);
|
|
1913
|
+
|
|
1748
1914
|
cursor: pointer;
|
|
1749
1915
|
text-align: left;
|
|
1750
1916
|
}
|
|
1751
1917
|
.awaiting-add-item:hover {
|
|
1752
|
-
background:
|
|
1918
|
+
background: var(--sf-cyan-veil);
|
|
1753
1919
|
color: var(--accent-cyan);
|
|
1754
1920
|
}
|
|
1755
1921
|
.awaiting-add-glyph {
|
|
@@ -1760,49 +1926,58 @@ body {
|
|
|
1760
1926
|
|
|
1761
1927
|
.symframe-card-body {
|
|
1762
1928
|
font-family: var(--font-mono);
|
|
1763
|
-
font-size:
|
|
1929
|
+
font-size: var(--sf-text-md);
|
|
1930
|
+
|
|
1764
1931
|
line-height: 1.5;
|
|
1765
1932
|
color: var(--text);
|
|
1766
|
-
margin-top:
|
|
1933
|
+
margin-top: var(--sf-pad-lg);
|
|
1934
|
+
|
|
1767
1935
|
white-space: pre-wrap;
|
|
1768
1936
|
word-break: break-word;
|
|
1769
|
-
max-height:
|
|
1937
|
+
max-height: var(--sf-bound-body);
|
|
1938
|
+
|
|
1770
1939
|
overflow-y: auto;
|
|
1771
1940
|
}
|
|
1772
1941
|
.symframe-card-actions {
|
|
1773
1942
|
display: flex;
|
|
1774
|
-
gap:
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1943
|
+
gap: var(--sf-pad-md);
|
|
1944
|
+
|
|
1945
|
+
margin-top: var(--sf-pad-xl);
|
|
1946
|
+
|
|
1947
|
+
padding-top: var(--sf-pad-lg);
|
|
1948
|
+
|
|
1949
|
+
border-top: 1px solid var(--sf-veil-soft);
|
|
1778
1950
|
flex-wrap: wrap;
|
|
1779
1951
|
}
|
|
1780
1952
|
.symframe-card-action {
|
|
1781
1953
|
flex: 1 1 auto;
|
|
1782
1954
|
min-width: 60px;
|
|
1783
|
-
padding:
|
|
1955
|
+
padding: var(--sf-pad-md) var(--sf-pad-xl);
|
|
1956
|
+
|
|
1784
1957
|
border: 1px solid var(--glass-border);
|
|
1785
|
-
border-radius:
|
|
1786
|
-
|
|
1958
|
+
border-radius: var(--sf-radius-sm);
|
|
1959
|
+
|
|
1960
|
+
background: var(--sf-veil-faint);
|
|
1787
1961
|
color: var(--text-dim);
|
|
1788
1962
|
font-family: var(--font-mono);
|
|
1789
|
-
font-size:
|
|
1963
|
+
font-size: var(--sf-text-sm);
|
|
1964
|
+
|
|
1790
1965
|
letter-spacing: 0.04em;
|
|
1791
1966
|
cursor: pointer;
|
|
1792
|
-
transition: all
|
|
1967
|
+
transition: all var(--sf-time-fast) ease;
|
|
1793
1968
|
}
|
|
1794
1969
|
.symframe-card-action:hover {
|
|
1795
1970
|
border-color: var(--accent-cyan);
|
|
1796
1971
|
color: var(--text);
|
|
1797
1972
|
}
|
|
1798
1973
|
.symframe-card-action-primary {
|
|
1799
|
-
background:
|
|
1974
|
+
background: var(--sf-cyan-veil);
|
|
1800
1975
|
border-color: var(--accent-cyan);
|
|
1801
1976
|
color: var(--accent-cyan);
|
|
1802
1977
|
}
|
|
1803
1978
|
.symframe-card-action-primary:hover {
|
|
1804
|
-
background:
|
|
1805
|
-
box-shadow: 0 0 8px
|
|
1979
|
+
background: var(--sf-cyan-veil);
|
|
1980
|
+
box-shadow: 0 0 8px var(--sf-cyan-edge);
|
|
1806
1981
|
}
|
|
1807
1982
|
|
|
1808
1983
|
/* ── Stage D.1 (3.5.27): intent-aware visual treatment ──────────── */
|
|
@@ -1826,14 +2001,17 @@ body {
|
|
|
1826
2001
|
position: absolute;
|
|
1827
2002
|
top: 0;
|
|
1828
2003
|
left: 0;
|
|
1829
|
-
padding:
|
|
2004
|
+
padding: var(--sf-pad-xs) var(--sf-pad-lg) var(--sf-pad-xs) var(--sf-pad-md);
|
|
2005
|
+
|
|
1830
2006
|
font-family: var(--font-mono);
|
|
1831
|
-
font-size:
|
|
2007
|
+
font-size: var(--sf-text-xs);
|
|
2008
|
+
|
|
1832
2009
|
font-weight: 700;
|
|
1833
2010
|
letter-spacing: 0.14em;
|
|
1834
2011
|
text-transform: uppercase;
|
|
1835
|
-
background:
|
|
1836
|
-
border-radius:
|
|
2012
|
+
background: var(--sf-ink-badge);
|
|
2013
|
+
border-radius: var(--sf-radius-xl) 0 var(--sf-radius-md) 0;
|
|
2014
|
+
|
|
1837
2015
|
border-right: 1px solid currentColor;
|
|
1838
2016
|
border-bottom: 1px solid currentColor;
|
|
1839
2017
|
pointer-events: none;
|
|
@@ -1849,9 +2027,9 @@ body {
|
|
|
1849
2027
|
/* holding — cyan; working memory */
|
|
1850
2028
|
.symframe-card-dynamic[data-intent="holding"] {
|
|
1851
2029
|
box-shadow:
|
|
1852
|
-
inset 3px 0 0 0
|
|
1853
|
-
inset 0 1px 0
|
|
1854
|
-
0 4px 12px
|
|
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);
|
|
1855
2033
|
}
|
|
1856
2034
|
.symframe-card-dynamic[data-intent="holding"]::before {
|
|
1857
2035
|
color: var(--accent-cyan);
|
|
@@ -1861,8 +2039,8 @@ body {
|
|
|
1861
2039
|
.symframe-card-dynamic[data-intent="weighing"] {
|
|
1862
2040
|
box-shadow:
|
|
1863
2041
|
inset 3px 0 0 0 #f5b73a,
|
|
1864
|
-
inset 0 1px 0
|
|
1865
|
-
0 4px 12px
|
|
2042
|
+
inset 0 1px 0 var(--sf-veil-faint),
|
|
2043
|
+
0 4px 12px var(--sf-shadow-mid);
|
|
1866
2044
|
}
|
|
1867
2045
|
.symframe-card-dynamic[data-intent="weighing"]::before {
|
|
1868
2046
|
color: #f5b73a;
|
|
@@ -1870,22 +2048,22 @@ body {
|
|
|
1870
2048
|
|
|
1871
2049
|
/* producing — green; actively drafting, slow pulse on the stripe */
|
|
1872
2050
|
.symframe-card-dynamic[data-intent="producing"] {
|
|
1873
|
-
animation: intent-producing-pulse
|
|
2051
|
+
animation: intent-producing-pulse var(--sf-time-breathe) ease-in-out infinite;
|
|
1874
2052
|
}
|
|
1875
2053
|
@keyframes intent-producing-pulse {
|
|
1876
2054
|
0%,
|
|
1877
2055
|
100% {
|
|
1878
2056
|
box-shadow:
|
|
1879
|
-
inset 3px 0 0 0
|
|
1880
|
-
inset 0 1px 0
|
|
1881
|
-
0 4px 12px
|
|
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);
|
|
1882
2060
|
}
|
|
1883
2061
|
50% {
|
|
1884
2062
|
box-shadow:
|
|
1885
|
-
inset 3px 0 0 0
|
|
1886
|
-
inset 0 1px 0
|
|
1887
|
-
0 4px 12px
|
|
1888
|
-
0 0 14px
|
|
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);
|
|
1889
2067
|
}
|
|
1890
2068
|
}
|
|
1891
2069
|
.symframe-card-dynamic[data-intent="producing"]::before {
|
|
@@ -1897,8 +2075,8 @@ body {
|
|
|
1897
2075
|
.symframe-card-dynamic[data-intent="drafted"] {
|
|
1898
2076
|
box-shadow:
|
|
1899
2077
|
inset 3px 0 0 0 #8b5cf6,
|
|
1900
|
-
inset 0 1px 0
|
|
1901
|
-
0 4px 12px
|
|
2078
|
+
inset 0 1px 0 var(--sf-veil-faint),
|
|
2079
|
+
0 4px 12px var(--sf-shadow-mid);
|
|
1902
2080
|
}
|
|
1903
2081
|
.symframe-card-dynamic[data-intent="drafted"]::before {
|
|
1904
2082
|
color: #8b5cf6;
|
|
@@ -1906,30 +2084,30 @@ body {
|
|
|
1906
2084
|
/* Emphasize action buttons on drafted cards — these cards exist to
|
|
1907
2085
|
be acted on (Send / Copy / Open). Make the buttons more clickable. */
|
|
1908
2086
|
.symframe-card-dynamic[data-intent="drafted"] .symframe-card-action {
|
|
1909
|
-
border-color:
|
|
2087
|
+
border-color: var(--sf-violet-strong);
|
|
1910
2088
|
color: var(--text);
|
|
1911
2089
|
font-weight: 600;
|
|
1912
2090
|
}
|
|
1913
2091
|
.symframe-card-dynamic[data-intent="drafted"] .symframe-card-action:hover {
|
|
1914
|
-
background:
|
|
2092
|
+
background: var(--sf-violet-tint);
|
|
1915
2093
|
border-color: #8b5cf6;
|
|
1916
2094
|
}
|
|
1917
2095
|
.symframe-card-dynamic[data-intent="drafted"] .symframe-card-action-primary {
|
|
1918
|
-
background:
|
|
2096
|
+
background: var(--sf-violet-edge);
|
|
1919
2097
|
border-color: #8b5cf6;
|
|
1920
2098
|
color: var(--text);
|
|
1921
2099
|
}
|
|
1922
2100
|
.symframe-card-dynamic[data-intent="drafted"] .symframe-card-action-primary:hover {
|
|
1923
|
-
background:
|
|
1924
|
-
box-shadow: 0 0 10px
|
|
2101
|
+
background: var(--sf-violet-mid);
|
|
2102
|
+
box-shadow: 0 0 10px var(--sf-violet-edge);
|
|
1925
2103
|
}
|
|
1926
2104
|
|
|
1927
2105
|
/* reference — muted gray; passive read-only context */
|
|
1928
2106
|
.symframe-card-dynamic[data-intent="reference"] {
|
|
1929
2107
|
box-shadow:
|
|
1930
2108
|
inset 3px 0 0 0 rgba(255, 255, 255, 0.22),
|
|
1931
|
-
inset 0 1px 0
|
|
1932
|
-
0 4px 12px
|
|
2109
|
+
inset 0 1px 0 var(--sf-veil-faint),
|
|
2110
|
+
0 4px 12px var(--sf-shadow-mid);
|
|
1933
2111
|
opacity: 0.88;
|
|
1934
2112
|
filter: saturate(0.75);
|
|
1935
2113
|
}
|
|
@@ -1943,13 +2121,13 @@ body {
|
|
|
1943
2121
|
miscategorization. */
|
|
1944
2122
|
.symframe-card-dynamic[data-intent="awaiting"] {
|
|
1945
2123
|
box-shadow:
|
|
1946
|
-
inset 3px 0 0 0
|
|
1947
|
-
inset 0 1px 0
|
|
1948
|
-
0 4px 12px
|
|
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);
|
|
1949
2127
|
}
|
|
1950
2128
|
.symframe-card-dynamic[data-intent="awaiting"]::before {
|
|
1951
2129
|
content: "awaiting → footer";
|
|
1952
|
-
color:
|
|
2130
|
+
color: var(--sf-pink-text);
|
|
1953
2131
|
}
|
|
1954
2132
|
|
|
1955
2133
|
/* Reduced-motion: skip the producing pulse but keep the static
|
|
@@ -1958,9 +2136,9 @@ body {
|
|
|
1958
2136
|
.symframe-card-dynamic[data-intent="producing"] {
|
|
1959
2137
|
animation: none;
|
|
1960
2138
|
box-shadow:
|
|
1961
|
-
inset 3px 0 0 0
|
|
1962
|
-
inset 0 1px 0
|
|
1963
|
-
0 4px 12px
|
|
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);
|
|
1964
2142
|
}
|
|
1965
2143
|
}
|
|
1966
2144
|
|
|
@@ -1973,54 +2151,64 @@ body {
|
|
|
1973
2151
|
.symframe-body-markdown h2,
|
|
1974
2152
|
.symframe-body-markdown h3,
|
|
1975
2153
|
.symframe-body-markdown h4 {
|
|
1976
|
-
font-size:
|
|
2154
|
+
font-size: var(--sf-text-lg);
|
|
2155
|
+
|
|
1977
2156
|
font-weight: 600;
|
|
1978
|
-
margin:
|
|
2157
|
+
margin: var(--sf-pad-lg) 0 var(--sf-pad-sm);
|
|
2158
|
+
|
|
1979
2159
|
color: var(--text);
|
|
1980
2160
|
}
|
|
1981
2161
|
.symframe-body-markdown p {
|
|
1982
|
-
margin:
|
|
2162
|
+
margin: var(--sf-pad-sm) 0;
|
|
1983
2163
|
}
|
|
1984
2164
|
.symframe-body-markdown ul,
|
|
1985
2165
|
.symframe-body-markdown ol {
|
|
1986
2166
|
padding-left: 18px;
|
|
1987
|
-
margin:
|
|
2167
|
+
margin: var(--sf-pad-sm) 0;
|
|
1988
2168
|
}
|
|
1989
2169
|
.symframe-body-markdown code {
|
|
1990
2170
|
font-family: var(--font-mono);
|
|
1991
|
-
font-size:
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
2171
|
+
font-size: var(--sf-text-sm);
|
|
2172
|
+
|
|
2173
|
+
padding: 1px var(--sf-pad-sm);
|
|
2174
|
+
|
|
2175
|
+
background: var(--sf-veil-faint);
|
|
2176
|
+
border-radius: var(--sf-radius-xs);
|
|
1995
2177
|
}
|
|
1996
2178
|
.symframe-body-markdown pre {
|
|
1997
|
-
background:
|
|
1998
|
-
border: 1px solid
|
|
1999
|
-
border-radius:
|
|
2000
|
-
|
|
2179
|
+
background: var(--sf-shadow-mid);
|
|
2180
|
+
border: 1px solid var(--sf-veil-soft);
|
|
2181
|
+
border-radius: var(--sf-radius-sm);
|
|
2182
|
+
|
|
2183
|
+
padding: var(--sf-pad-lg);
|
|
2184
|
+
|
|
2001
2185
|
overflow-x: auto;
|
|
2002
|
-
margin:
|
|
2186
|
+
margin: var(--sf-pad-md) 0;
|
|
2003
2187
|
}
|
|
2004
2188
|
.symframe-body-markdown pre code {
|
|
2005
2189
|
background: transparent;
|
|
2006
2190
|
padding: 0;
|
|
2007
|
-
font-size:
|
|
2191
|
+
font-size: var(--sf-text-sm);
|
|
2008
2192
|
}
|
|
2009
2193
|
|
|
2010
2194
|
/* Code body — pre/code wrapper with hljs theme-friendly chrome. */
|
|
2011
2195
|
.symframe-body-code {
|
|
2012
|
-
background:
|
|
2013
|
-
border: 1px solid
|
|
2014
|
-
border-radius:
|
|
2015
|
-
|
|
2196
|
+
background: var(--sf-shadow-mid);
|
|
2197
|
+
border: 1px solid var(--sf-veil-soft);
|
|
2198
|
+
border-radius: var(--sf-radius-sm);
|
|
2199
|
+
|
|
2200
|
+
padding: var(--sf-pad-lg) var(--sf-pad-xl);
|
|
2201
|
+
|
|
2016
2202
|
margin: 0;
|
|
2017
2203
|
overflow-x: auto;
|
|
2018
|
-
max-height:
|
|
2204
|
+
max-height: var(--sf-bound-body);
|
|
2205
|
+
|
|
2019
2206
|
overflow-y: auto;
|
|
2020
2207
|
}
|
|
2021
2208
|
.symframe-body-code code {
|
|
2022
2209
|
font-family: var(--font-mono);
|
|
2023
|
-
font-size:
|
|
2210
|
+
font-size: var(--sf-text-sm);
|
|
2211
|
+
|
|
2024
2212
|
line-height: 1.45;
|
|
2025
2213
|
color: var(--text);
|
|
2026
2214
|
background: transparent;
|
|
@@ -2030,28 +2218,33 @@ body {
|
|
|
2030
2218
|
.symframe-body-email {
|
|
2031
2219
|
display: flex;
|
|
2032
2220
|
flex-direction: column;
|
|
2033
|
-
gap:
|
|
2221
|
+
gap: var(--sf-pad-sm);
|
|
2034
2222
|
}
|
|
2035
2223
|
.symframe-email-row {
|
|
2036
2224
|
display: flex;
|
|
2037
|
-
gap:
|
|
2225
|
+
gap: var(--sf-pad-md);
|
|
2226
|
+
|
|
2038
2227
|
font-family: var(--font-mono);
|
|
2039
|
-
font-size:
|
|
2228
|
+
font-size: var(--sf-text-sm);
|
|
2229
|
+
|
|
2040
2230
|
letter-spacing: 0.02em;
|
|
2041
|
-
padding:
|
|
2042
|
-
|
|
2231
|
+
padding: var(--sf-pad-xs) 0;
|
|
2232
|
+
|
|
2233
|
+
border-bottom: 1px dashed var(--sf-veil-soft);
|
|
2043
2234
|
}
|
|
2044
2235
|
.symframe-email-row:last-of-type {
|
|
2045
|
-
border-bottom: 1px solid
|
|
2046
|
-
margin-bottom:
|
|
2047
|
-
|
|
2236
|
+
border-bottom: 1px solid var(--sf-veil-soft);
|
|
2237
|
+
margin-bottom: var(--sf-pad-sm);
|
|
2238
|
+
|
|
2239
|
+
padding-bottom: var(--sf-pad-sm);
|
|
2048
2240
|
}
|
|
2049
2241
|
.symframe-email-label {
|
|
2050
2242
|
flex: 0 0 auto;
|
|
2051
2243
|
color: var(--text-dim);
|
|
2052
2244
|
text-transform: uppercase;
|
|
2053
2245
|
letter-spacing: 0.06em;
|
|
2054
|
-
font-size:
|
|
2246
|
+
font-size: var(--sf-text-xs);
|
|
2247
|
+
|
|
2055
2248
|
min-width: 48px;
|
|
2056
2249
|
opacity: 0.7;
|
|
2057
2250
|
}
|
|
@@ -2061,26 +2254,29 @@ body {
|
|
|
2061
2254
|
}
|
|
2062
2255
|
.symframe-email-body {
|
|
2063
2256
|
font-family: var(--font-mono);
|
|
2064
|
-
font-size:
|
|
2257
|
+
font-size: var(--sf-text-md);
|
|
2258
|
+
|
|
2065
2259
|
line-height: 1.5;
|
|
2066
2260
|
color: var(--text);
|
|
2067
2261
|
white-space: pre-wrap;
|
|
2068
2262
|
word-break: break-word;
|
|
2069
|
-
margin-top:
|
|
2263
|
+
margin-top: var(--sf-pad-sm);
|
|
2070
2264
|
}
|
|
2071
2265
|
|
|
2072
2266
|
/* PDF embed */
|
|
2073
2267
|
.symframe-body-pdf {
|
|
2074
2268
|
display: flex;
|
|
2075
2269
|
flex-direction: column;
|
|
2076
|
-
gap:
|
|
2270
|
+
gap: var(--sf-pad-md);
|
|
2077
2271
|
}
|
|
2078
2272
|
.symframe-pdf-iframe {
|
|
2079
2273
|
width: 100%;
|
|
2080
|
-
height:
|
|
2081
|
-
|
|
2082
|
-
border
|
|
2083
|
-
|
|
2274
|
+
height: var(--sf-bound-media);
|
|
2275
|
+
|
|
2276
|
+
border: 1px solid var(--sf-veil-soft);
|
|
2277
|
+
border-radius: var(--sf-radius-sm);
|
|
2278
|
+
|
|
2279
|
+
background: var(--sf-shadow-soft);
|
|
2084
2280
|
}
|
|
2085
2281
|
|
|
2086
2282
|
/* Audio + video shared chrome */
|
|
@@ -2088,23 +2284,26 @@ body {
|
|
|
2088
2284
|
.symframe-body-video {
|
|
2089
2285
|
display: flex;
|
|
2090
2286
|
flex-direction: column;
|
|
2091
|
-
gap:
|
|
2287
|
+
gap: var(--sf-pad-md);
|
|
2092
2288
|
}
|
|
2093
2289
|
.symframe-audio,
|
|
2094
2290
|
.symframe-video {
|
|
2095
2291
|
width: 100%;
|
|
2096
|
-
border-radius:
|
|
2097
|
-
|
|
2292
|
+
border-radius: var(--sf-radius-sm);
|
|
2293
|
+
|
|
2294
|
+
background: var(--sf-shadow-soft);
|
|
2098
2295
|
}
|
|
2099
2296
|
.symframe-video {
|
|
2100
|
-
max-height:
|
|
2297
|
+
max-height: var(--sf-bound-media);
|
|
2298
|
+
|
|
2101
2299
|
object-fit: contain;
|
|
2102
2300
|
}
|
|
2103
2301
|
|
|
2104
2302
|
/* Empty-media placeholder when url is missing */
|
|
2105
2303
|
.symframe-body-empty {
|
|
2106
2304
|
font-family: var(--font-mono);
|
|
2107
|
-
font-size:
|
|
2305
|
+
font-size: var(--sf-text-sm);
|
|
2306
|
+
|
|
2108
2307
|
color: var(--text-dim);
|
|
2109
2308
|
opacity: 0.6;
|
|
2110
2309
|
font-style: italic;
|
|
@@ -2113,15 +2312,19 @@ body {
|
|
|
2113
2312
|
/* Download link — used by pdf/audio/video renderers */
|
|
2114
2313
|
.symframe-download {
|
|
2115
2314
|
display: inline-block;
|
|
2116
|
-
padding:
|
|
2315
|
+
padding: var(--sf-pad-sm) var(--sf-pad-lg);
|
|
2316
|
+
|
|
2117
2317
|
border: 1px solid var(--glass-border);
|
|
2118
|
-
border-radius:
|
|
2318
|
+
border-radius: var(--sf-radius-sm);
|
|
2319
|
+
|
|
2119
2320
|
font-family: var(--font-mono);
|
|
2120
|
-
font-size:
|
|
2321
|
+
font-size: var(--sf-text-sm);
|
|
2322
|
+
|
|
2121
2323
|
letter-spacing: 0.04em;
|
|
2122
2324
|
color: var(--text-dim);
|
|
2123
2325
|
text-decoration: none;
|
|
2124
|
-
transition: all
|
|
2326
|
+
transition: all var(--sf-time-fast) ease;
|
|
2327
|
+
|
|
2125
2328
|
align-self: flex-start;
|
|
2126
2329
|
}
|
|
2127
2330
|
.symframe-download:hover {
|
|
@@ -6703,17 +6906,20 @@ body {
|
|
|
6703
6906
|
display: inline-block;
|
|
6704
6907
|
width: 6px;
|
|
6705
6908
|
height: 6px;
|
|
6706
|
-
border-radius:
|
|
6909
|
+
border-radius: var(--sf-radius-pill);
|
|
6910
|
+
|
|
6707
6911
|
background: var(--accent-cyan);
|
|
6708
|
-
margin-left:
|
|
6912
|
+
margin-left: var(--sf-pad-md);
|
|
6913
|
+
|
|
6709
6914
|
vertical-align: middle;
|
|
6710
6915
|
opacity: 0;
|
|
6711
|
-
transition: opacity
|
|
6916
|
+
transition: opacity var(--sf-time-normal) ease;
|
|
6917
|
+
|
|
6712
6918
|
flex-shrink: 0;
|
|
6713
6919
|
}
|
|
6714
6920
|
.reasoning-live-dot.active {
|
|
6715
6921
|
opacity: 1;
|
|
6716
|
-
animation: pulse
|
|
6922
|
+
animation: pulse var(--sf-time-pulse) ease-in-out infinite;
|
|
6717
6923
|
}
|
|
6718
6924
|
|
|
6719
6925
|
/* The .reasoning-panel / .reasoning-feed / .reasoning-empty* rules were
|
|
@@ -6726,18 +6932,20 @@ body {
|
|
|
6726
6932
|
.reasoning-run-sep {
|
|
6727
6933
|
display: flex;
|
|
6728
6934
|
align-items: center;
|
|
6729
|
-
gap:
|
|
6730
|
-
|
|
6935
|
+
gap: var(--sf-pad-lg);
|
|
6936
|
+
|
|
6937
|
+
margin: var(--sf-pad-sm) 0 var(--sf-pad-xs);
|
|
6731
6938
|
}
|
|
6732
6939
|
.reasoning-run-sep::before,
|
|
6733
6940
|
.reasoning-run-sep::after {
|
|
6734
6941
|
content: "";
|
|
6735
6942
|
flex: 1;
|
|
6736
6943
|
height: 1px;
|
|
6737
|
-
background:
|
|
6944
|
+
background: var(--sf-veil-soft);
|
|
6738
6945
|
}
|
|
6739
6946
|
.reasoning-run-sep-label {
|
|
6740
|
-
font-size:
|
|
6947
|
+
font-size: var(--sf-text-xs);
|
|
6948
|
+
|
|
6741
6949
|
font-family: var(--font-mono);
|
|
6742
6950
|
font-weight: 600;
|
|
6743
6951
|
letter-spacing: 0.1em;
|
|
@@ -6749,59 +6957,66 @@ body {
|
|
|
6749
6957
|
.reasoning-entry {
|
|
6750
6958
|
display: flex;
|
|
6751
6959
|
flex-direction: column;
|
|
6752
|
-
gap:
|
|
6753
|
-
|
|
6754
|
-
|
|
6755
|
-
|
|
6756
|
-
|
|
6757
|
-
|
|
6960
|
+
gap: var(--sf-pad-sm);
|
|
6961
|
+
|
|
6962
|
+
padding: var(--sf-pad-md) var(--sf-pad-lg);
|
|
6963
|
+
|
|
6964
|
+
background: var(--sf-veil-faint);
|
|
6965
|
+
border: 1px solid var(--sf-veil-soft);
|
|
6966
|
+
border-radius: var(--sf-radius-lg);
|
|
6967
|
+
|
|
6968
|
+
transition: border-color var(--sf-time-quick);
|
|
6758
6969
|
}
|
|
6759
6970
|
.reasoning-entry:hover {
|
|
6760
|
-
border-color:
|
|
6971
|
+
border-color: var(--sf-veil-soft);
|
|
6761
6972
|
}
|
|
6762
6973
|
|
|
6763
6974
|
/* Entry header row: badge + label */
|
|
6764
6975
|
.reasoning-entry-header {
|
|
6765
6976
|
display: flex;
|
|
6766
6977
|
align-items: center;
|
|
6767
|
-
gap:
|
|
6978
|
+
gap: var(--sf-pad-md);
|
|
6768
6979
|
}
|
|
6769
6980
|
.reasoning-entry-badge {
|
|
6770
|
-
font-size:
|
|
6981
|
+
font-size: var(--sf-text-xs);
|
|
6982
|
+
|
|
6771
6983
|
font-family: var(--font-mono);
|
|
6772
6984
|
font-weight: 700;
|
|
6773
6985
|
letter-spacing: 0.1em;
|
|
6774
|
-
padding: 1px
|
|
6775
|
-
|
|
6986
|
+
padding: 1px var(--sf-pad-sm);
|
|
6987
|
+
|
|
6988
|
+
border-radius: var(--sf-radius-sm);
|
|
6989
|
+
|
|
6776
6990
|
flex-shrink: 0;
|
|
6777
6991
|
}
|
|
6778
6992
|
/* Thinking badge — cyan tint */
|
|
6779
6993
|
.reasoning-entry-badge.badge-think {
|
|
6780
|
-
background:
|
|
6994
|
+
background: var(--sf-cyan-veil);
|
|
6781
6995
|
color: var(--accent-cyan);
|
|
6782
|
-
border: 1px solid
|
|
6996
|
+
border: 1px solid var(--sf-cyan-edge);
|
|
6783
6997
|
}
|
|
6784
6998
|
/* Tool call badge — purple tint */
|
|
6785
6999
|
.reasoning-entry-badge.badge-tool {
|
|
6786
|
-
background:
|
|
7000
|
+
background: var(--sf-violet-tint);
|
|
6787
7001
|
color: var(--accent-purple);
|
|
6788
|
-
border: 1px solid
|
|
7002
|
+
border: 1px solid var(--sf-violet-edge);
|
|
6789
7003
|
}
|
|
6790
7004
|
/* Tool result badge — green tint */
|
|
6791
7005
|
.reasoning-entry-badge.badge-result {
|
|
6792
|
-
background:
|
|
7006
|
+
background: var(--sf-green-tint);
|
|
6793
7007
|
color: var(--accent-green);
|
|
6794
|
-
border: 1px solid
|
|
7008
|
+
border: 1px solid var(--sf-green-edge);
|
|
6795
7009
|
}
|
|
6796
7010
|
/* Narration badge — dim white tint */
|
|
6797
7011
|
.reasoning-entry-badge.badge-narration {
|
|
6798
|
-
background:
|
|
7012
|
+
background: var(--sf-veil-soft);
|
|
6799
7013
|
color: var(--text-muted);
|
|
6800
|
-
border: 1px solid
|
|
7014
|
+
border: 1px solid var(--sf-veil-strong);
|
|
6801
7015
|
}
|
|
6802
7016
|
|
|
6803
7017
|
.reasoning-entry-name {
|
|
6804
|
-
font-size:
|
|
7018
|
+
font-size: var(--sf-text-md);
|
|
7019
|
+
|
|
6805
7020
|
font-family: var(--font-mono);
|
|
6806
7021
|
color: var(--text-muted);
|
|
6807
7022
|
white-space: nowrap;
|
|
@@ -6812,48 +7027,55 @@ body {
|
|
|
6812
7027
|
|
|
6813
7028
|
/* Thinking body */
|
|
6814
7029
|
.reasoning-think-body {
|
|
6815
|
-
font-size:
|
|
7030
|
+
font-size: var(--sf-text-sm);
|
|
7031
|
+
|
|
6816
7032
|
font-family: var(--font-mono);
|
|
6817
7033
|
color: var(--text-muted);
|
|
6818
7034
|
line-height: 1.55;
|
|
6819
7035
|
white-space: pre-wrap;
|
|
6820
7036
|
word-break: break-word;
|
|
6821
|
-
max-height:
|
|
7037
|
+
max-height: var(--sf-bound-detail);
|
|
7038
|
+
|
|
6822
7039
|
overflow-y: auto;
|
|
6823
|
-
padding:
|
|
7040
|
+
padding: var(--sf-pad-sm) var(--sf-pad-xs) 0;
|
|
7041
|
+
|
|
6824
7042
|
opacity: 0.75;
|
|
6825
7043
|
scrollbar-width: thin;
|
|
6826
|
-
scrollbar-color:
|
|
7044
|
+
scrollbar-color: var(--sf-cyan-edge) transparent;
|
|
6827
7045
|
}
|
|
6828
7046
|
.reasoning-think-body::-webkit-scrollbar {
|
|
6829
7047
|
width: 2px;
|
|
6830
7048
|
}
|
|
6831
7049
|
.reasoning-think-body::-webkit-scrollbar-thumb {
|
|
6832
|
-
background:
|
|
6833
|
-
border-radius:
|
|
7050
|
+
background: var(--sf-cyan-edge);
|
|
7051
|
+
border-radius: var(--sf-radius-xs);
|
|
6834
7052
|
}
|
|
6835
7053
|
|
|
6836
7054
|
/* Tool detail — compact JSON preview, collapsible */
|
|
6837
7055
|
.reasoning-tool-preview {
|
|
6838
|
-
font-size:
|
|
7056
|
+
font-size: var(--sf-text-sm);
|
|
7057
|
+
|
|
6839
7058
|
font-family: var(--font-mono);
|
|
6840
7059
|
color: var(--text-muted);
|
|
6841
7060
|
opacity: 0.65;
|
|
6842
7061
|
white-space: nowrap;
|
|
6843
7062
|
overflow: hidden;
|
|
6844
7063
|
text-overflow: ellipsis;
|
|
6845
|
-
padding:
|
|
7064
|
+
padding: var(--sf-pad-xs) 0 0;
|
|
6846
7065
|
}
|
|
6847
7066
|
.reasoning-tool-detail {
|
|
6848
7067
|
display: none;
|
|
6849
|
-
font-size:
|
|
7068
|
+
font-size: var(--sf-text-sm);
|
|
7069
|
+
|
|
6850
7070
|
font-family: var(--font-mono);
|
|
6851
7071
|
color: var(--text-muted);
|
|
6852
7072
|
white-space: pre-wrap;
|
|
6853
7073
|
word-break: break-all;
|
|
6854
|
-
padding:
|
|
7074
|
+
padding: var(--sf-pad-sm) var(--sf-pad-xs) 0;
|
|
7075
|
+
|
|
6855
7076
|
opacity: 0.65;
|
|
6856
|
-
max-height:
|
|
7077
|
+
max-height: var(--sf-bound-tool);
|
|
7078
|
+
|
|
6857
7079
|
overflow-y: auto;
|
|
6858
7080
|
}
|
|
6859
7081
|
.reasoning-entry.expanded .reasoning-tool-detail {
|
|
@@ -6865,10 +7087,10 @@ body {
|
|
|
6865
7087
|
|
|
6866
7088
|
/* Result row */
|
|
6867
7089
|
.reasoning-result-meta {
|
|
6868
|
-
font-size:
|
|
7090
|
+
font-size: var(--sf-text-sm);
|
|
6869
7091
|
font-family: var(--font-mono);
|
|
6870
7092
|
color: var(--text-dim);
|
|
6871
|
-
padding:
|
|
7093
|
+
padding: var(--sf-pad-xs) 0 0;
|
|
6872
7094
|
}
|
|
6873
7095
|
|
|
6874
7096
|
/* ── Lazy-load sentinel ──────────────────────────────────────────── */
|