dsh-mnemon-source-memory-spaces 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,486 @@
1
+ .entityHeading > span,
2
+ .inspectorHeading > span {
3
+ color: var(--mn-faint); font: 650 9px/1.2 var(--mn-code); letter-spacing: .12em; text-transform: uppercase;
4
+ }
5
+ .memoryHeaderActions { display: flex; align-items: center; gap: 7px; }
6
+ .memoryHeaderActions > button { white-space: nowrap; }
7
+ .asyncRegion { position: relative; min-width: 0; }
8
+ .asyncResults { position: relative; min-width: 0; min-height: 120px; }
9
+ .asyncPlaceholder { position: relative; display: grid; min-height: 220px; place-items: center; border: 1px solid var(--mn-line); border-radius: 13px; color: var(--mn-muted); background: var(--mn-layer-1); }
10
+ .muted { padding: 16px 0; color: var(--mn-faint); font-size: 12px; }
11
+
12
+ .readSources { display: grid; gap: 8px; margin: 0 0 14px; padding: 11px 12px; border: 1px solid var(--mn-line); border-radius: 11px; background: color-mix(in srgb, var(--mn-layer-1) 72%, transparent); }
13
+ .readSources > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
14
+ .readSources > header > div { display: grid; gap: 2px; }
15
+ .readSources > header strong { font-size: 11px; }
16
+ .readSources > header p { max-width: 92ch; margin: 0; color: var(--mn-muted); font-size: 9.5px; line-height: 1.45; }
17
+ .readSources > header > button { min-height: 26px; flex: 0 0 auto; border: 1px solid var(--mn-line); border-radius: 7px; padding: 0 8px; color: var(--mn-muted); background: var(--mn-layer-2); font-size: 9px; cursor: pointer; }
18
+ .readSources > header > button[data-selected] { border-color: color-mix(in srgb, var(--mn-accent) 42%, var(--mn-line)); color: var(--mn-accent); background: color-mix(in srgb, var(--mn-accent) 7%, var(--mn-layer-2)); }
19
+ .readSources > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 6px; }
20
+ .readSourceCard,
21
+ .bodyCard,
22
+ .metadataList > label { border: 1px solid var(--mn-line); border-radius: 8px; color: var(--mn-text); background: linear-gradient(90deg, color-mix(in srgb, var(--mn-provider-color) 5%, var(--mn-layer-1)), var(--mn-layer-1) 34%); box-shadow: inset 3px 0 0 color-mix(in srgb, var(--mn-provider-color) 68%, transparent); }
23
+ .readSourceCard { display: grid; min-width: 0; min-height: 58px; grid-template-columns: 7px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px 8px 7px 11px; text-align: left; }
24
+ button.readSourceCard { cursor: pointer; }
25
+ button.readSourceCard:hover { border-color: color-mix(in srgb, var(--mn-provider-color) 32%, var(--mn-line-strong)); background: linear-gradient(90deg, color-mix(in srgb, var(--mn-provider-color) 8%, var(--mn-hover)), var(--mn-hover) 40%); }
26
+ .readSourceCard[data-selected] { border-color: color-mix(in srgb, var(--mn-accent) 48%, var(--mn-line)); box-shadow: inset 3px 0 0 var(--mn-provider-color), inset 0 0 0 1px color-mix(in srgb, var(--mn-accent) 10%, transparent); }
27
+ .readSourceSignal { width: 7px; height: 7px; border-radius: 50%; background: var(--mn-success); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mn-success) 12%, transparent); }
28
+ .readSourceCard[data-mode="projection"] .readSourceSignal,
29
+ .readSourceCard[data-mode="enumerable"] .readSourceSignal { background: #6574d9; box-shadow: 0 0 0 3px color-mix(in srgb, #6574d9 14%, transparent); }
30
+ .readSourceCard[data-mode="query-only"] .readSourceSignal { background: #c38a32; box-shadow: 0 0 0 3px color-mix(in srgb, #c38a32 14%, transparent); }
31
+ .readSourceCard[data-status="unavailable"] .readSourceSignal,
32
+ .readSourceCard[data-status="unsupported"] .readSourceSignal { background: var(--mn-danger); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mn-danger) 12%, transparent); }
33
+ .readSourceCard[data-status="empty"] .readSourceSignal { background: var(--mn-faint); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mn-faint) 12%, transparent); }
34
+ .readSourceIdentity,
35
+ .readSourceState { display: grid; min-width: 0; gap: 1px; }
36
+ .readSourceIdentity strong { overflow: hidden; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
37
+ .readSourceMeta { display: flex; min-width: 0; align-items: center; gap: 5px; margin-top: 3px; }
38
+ .readSourceMeta > small { overflow: hidden; color: var(--mn-faint); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
39
+ .readSourceState { justify-items: end; text-align: right; }
40
+ .readSourceState em { width: fit-content; padding: 2px 5px; border-radius: 999px; color: var(--mn-accent); background: color-mix(in srgb, var(--mn-accent) 9%, transparent); font: 650 8px var(--mn-code); font-style: normal; white-space: nowrap; }
41
+ .readSourceState small { color: var(--mn-faint); font-size: 8px; white-space: nowrap; }
42
+
43
+ .bodyDirectory { position: relative; margin-bottom: 12px; padding: 12px 14px; border: 1px solid var(--mn-line); border-radius: 11px; background: color-mix(in srgb, var(--mn-layer-1) 72%, var(--mn-bg)); }
44
+ .bodyDirectoryHeader { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 10px; }
45
+ .bodyDirectoryHeader h3 { margin: 1px 0; font-size: 13px; }
46
+ .bodyDirectoryHeader p { margin: 0; color: var(--mn-muted); font-size: 10px; }
47
+ .bodyDirectoryPath { display: block; max-width: min(62vw, 720px); margin-top: 4px; overflow: hidden; color: var(--mn-faint); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
48
+ .bodyDirectoryControls { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: 6px; padding-right: 28px; }
49
+ .bodyDirectoryControls > strong { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; color: var(--mn-accent); background: color-mix(in srgb, var(--mn-accent) 9%, transparent); font: 650 9px var(--mn-code); }
50
+ .bodyGrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 7px; }
51
+ .bodyDirectoryEmpty { grid-column: 1 / -1; min-height: 92px; display: flex; align-items: center; justify-content: center; gap: 14px; border: 1px dashed color-mix(in srgb, var(--mn-line) 84%, transparent); border-radius: 12px; color: var(--mn-muted); }
52
+ .bodyDirectoryEmpty > span { font-size: 28px; opacity: .6; }
53
+ .bodyDirectoryEmpty strong { display: block; color: var(--mn-text); }
54
+ .bodyDirectoryEmpty p { margin: 3px 0 0; font-size: 10px; }
55
+ .bodyCard { --mn-body-accent: var(--mn-success); min-width: 0; padding: 9px 10px 9px 13px; opacity: .72; transition: opacity .18s, border-color .18s, background-color .18s; }
56
+ .bodyCard[data-active] { opacity: 1; box-shadow: inset 3px 0 0 color-mix(in srgb, var(--mn-provider-color) 78%, transparent); }
57
+ .bodyCard[data-reconnectable] { cursor: pointer; }
58
+ .bodyCard[data-reconnectable]:hover { border-color: color-mix(in srgb, var(--mn-provider-color) 46%, var(--mn-line)); }
59
+ .bodyCard[data-reconnectable]:focus-visible { outline: 2px solid color-mix(in srgb, var(--mn-accent) 58%, transparent); outline-offset: 2px; }
60
+ .bodySignal { width: 7px; height: 7px; border-radius: 50%; background: var(--mn-faint); }
61
+ .bodyCard[data-active] .bodySignal { background: var(--mn-body-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--mn-body-accent) 14%, transparent); }
62
+ .bodyCard:not([data-healthy]) .bodySignal { background: var(--mn-danger); box-shadow: 0 0 0 4px color-mix(in srgb, var(--mn-danger) 12%, transparent); }
63
+ .bodyCard[data-status-loading] .bodySignal { background: var(--mn-faint); box-shadow: 0 0 0 4px color-mix(in srgb, var(--mn-faint) 12%, transparent); }
64
+ .bodyCard[data-reconnecting] .bodySignal { box-sizing: border-box; width: 7px; height: 7px; border: 1.5px solid color-mix(in srgb, var(--mn-provider-color) 24%, transparent); border-top-color: var(--mn-provider-color); background: transparent; box-shadow: none; animation: mnemon-spin .72s linear infinite; }
65
+ .bodyHealth { color: var(--mn-success); font: 650 8px var(--mn-code); letter-spacing: .07em; text-transform: uppercase; }
66
+ .bodyCard:not([data-healthy]) .bodyHealth { color: var(--mn-danger); }
67
+ .bodyCard[data-status-loading] .bodyHealth { color: var(--mn-faint); }
68
+ .mnemonDefaultBadge { width: fit-content; padding: 2px 5px; border: 1px solid color-mix(in srgb, var(--mn-accent) 24%, var(--mn-line)); border-radius: 999px; color: var(--mn-accent); background: color-mix(in srgb, var(--mn-accent) 7%, transparent); font: 650 8px var(--mn-code); white-space: nowrap; }
69
+ .providerBadge { display: inline-flex; width: fit-content; min-height: 17px; max-width: 100%; flex: 0 0 auto; align-items: center; justify-content: center; padding: 2px 6px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--mn-provider-color) 34%, var(--mn-line)); border-radius: 999px; color: color-mix(in srgb, var(--mn-provider-color) 78%, var(--mn-text)); background: color-mix(in srgb, var(--mn-provider-color) 10%, var(--mn-layer-1)); font: 650 8px/11px var(--mn-code); text-align: center; text-overflow: ellipsis; vertical-align: middle; white-space: nowrap; }
70
+
71
+ .providerBadge,
72
+ .readSourceCard,
73
+ .bodyCard,
74
+ .metadataList > label,
75
+ .graphNode { --mn-provider-color: #64748b; }
76
+ .providerBadge[data-provider="mnemon-native"],
77
+ .readSourceCard[data-provider="mnemon-native"],
78
+ .bodyCard[data-provider="mnemon-native"],
79
+ .metadataList > label[data-provider="mnemon-native"],
80
+ .graphNode[data-provider="mnemon-native"] { --mn-provider-color: #64748b; }
81
+ .providerBadge[data-provider="openviking"],
82
+ .readSourceCard[data-provider="openviking"],
83
+ .bodyCard[data-provider="openviking"],
84
+ .metadataList > label[data-provider="openviking"],
85
+ .graphNode[data-provider="openviking"] { --mn-provider-color: #3b82d0; }
86
+ .providerBadge[data-provider="honcho"],
87
+ .readSourceCard[data-provider="honcho"],
88
+ .bodyCard[data-provider="honcho"],
89
+ .metadataList > label[data-provider="honcho"],
90
+ .graphNode[data-provider="honcho"] { --mn-provider-color: #c44fcf; }
91
+ .providerBadge[data-provider="mem0"],
92
+ .readSourceCard[data-provider="mem0"],
93
+ .bodyCard[data-provider="mem0"],
94
+ .metadataList > label[data-provider="mem0"],
95
+ .graphNode[data-provider="mem0"] { --mn-provider-color: #8b5cf6; }
96
+ .providerBadge[data-provider="hindsight"],
97
+ .readSourceCard[data-provider="hindsight"],
98
+ .bodyCard[data-provider="hindsight"],
99
+ .metadataList > label[data-provider="hindsight"],
100
+ .graphNode[data-provider="hindsight"] { --mn-provider-color: #0891b2; }
101
+ .providerBadge[data-provider="holographic"],
102
+ .readSourceCard[data-provider="holographic"],
103
+ .bodyCard[data-provider="holographic"],
104
+ .metadataList > label[data-provider="holographic"],
105
+ .graphNode[data-provider="holographic"] { --mn-provider-color: #6366d9; }
106
+ .providerBadge[data-provider="retaindb"],
107
+ .readSourceCard[data-provider="retaindb"],
108
+ .bodyCard[data-provider="retaindb"],
109
+ .metadataList > label[data-provider="retaindb"],
110
+ .graphNode[data-provider="retaindb"] { --mn-provider-color: #d08a28; }
111
+ .providerBadge[data-provider="byterover"],
112
+ .readSourceCard[data-provider="byterover"],
113
+ .bodyCard[data-provider="byterover"],
114
+ .metadataList > label[data-provider="byterover"],
115
+ .graphNode[data-provider="byterover"] { --mn-provider-color: #0f9a83; }
116
+ .providerBadge[data-provider="supermemory"],
117
+ .readSourceCard[data-provider="supermemory"],
118
+ .bodyCard[data-provider="supermemory"],
119
+ .metadataList > label[data-provider="supermemory"],
120
+ .graphNode[data-provider="supermemory"] { --mn-provider-color: #df4d72; }
121
+ .bodySwitch { display: flex; min-height: 32px; align-items: center; gap: 6px; border: 0; padding: 0 1px; color: var(--mn-faint); background: transparent; font-size: 9.5px; cursor: pointer; }
122
+ .bodySwitchTrack { position: relative; width: 29px; height: 17px; flex: 0 0 auto; border: 1px solid var(--mn-line-strong); border-radius: 999px; background: var(--mn-layer-2); transition: border-color .18s, background-color .18s; }
123
+ .bodySwitchTrack i { position: absolute; top: 2px; left: 2px; width: 11px; height: 11px; border-radius: 50%; background: var(--mn-faint); transition: transform .2s cubic-bezier(.2, .8, .2, 1), background-color .18s; }
124
+ .bodySwitch:hover { color: var(--mn-text); }
125
+ .bodySwitch:hover .bodySwitchTrack { border-color: var(--mn-body-accent); }
126
+ .bodySwitch[aria-checked="true"] { color: var(--mn-text); }
127
+ .bodySwitch[aria-checked="true"] .bodySwitchTrack { border-color: color-mix(in srgb, var(--mn-body-accent) 65%, var(--mn-line)); background: color-mix(in srgb, var(--mn-body-accent) 25%, var(--mn-layer-2)); }
128
+ .bodySwitch[aria-checked="true"] .bodySwitchTrack i { background: var(--mn-body-accent); transform: translateX(12px); }
129
+ .bodyCardActions { display: flex; align-items: center; gap: 6px; }
130
+ .bodyCreateForm { gap: 14px; padding-top: 0; }
131
+ .createSection { display: grid; gap: 11px; padding: 13px; border: 1px solid var(--mn-line); border-radius: 11px; background: color-mix(in srgb, var(--mn-layer-2) 42%, var(--mn-layer-1)); }
132
+ .createSectionHeading { display: flex; align-items: flex-start; gap: 9px; }
133
+ .createSectionHeading > span { display: grid; width: 25px; height: 19px; flex: 0 0 auto; place-items: center; border-radius: 6px; color: var(--mn-accent); background: color-mix(in srgb, var(--mn-accent) 9%, transparent); font: 650 8px var(--mn-code); }
134
+ .createSectionHeading > div { display: grid; min-width: 0; gap: 2px; }
135
+ .createSectionHeading strong { color: var(--mn-text); font-size: 11.5px; line-height: 17px; }
136
+ .createSectionHeading small { color: var(--mn-muted); font-size: 9px; line-height: 1.45; }
137
+ .createIdentityGrid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; align-items: stretch; }
138
+ .createIdentityGrid > label { align-content: start; }
139
+ .createIdentityGrid textarea { min-height: 70px; }
140
+ .strategyForm { gap: 14px; padding-top: 0; }
141
+ .strategyLoading { position: relative; display: flex; min-height: 88px; align-items: center; justify-content: center; border: 1px dashed var(--mn-line); border-radius: 10px; color: var(--mn-muted); font-size: 10px; }
142
+ .strategyLoading .sectionSpinner { top: 9px; right: 9px; }
143
+ .placementMode { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0; padding: 0; border: 0; }
144
+ .placementMode legend { margin-bottom: 5px; color: var(--mn-muted); font-size: 10px; }
145
+ .placementMode label { position: relative; display: grid; min-width: 0; grid-template-columns: 16px minmax(0, 1fr); align-items: center; gap: 8px; padding: 10px; border: 1px solid var(--mn-line); border-radius: 9px; cursor: pointer; background: color-mix(in srgb, var(--mn-layer-2) 62%, transparent); }
146
+ .placementMode label[data-selected] { border-color: color-mix(in srgb, var(--mn-accent) 52%, var(--mn-line)); background: color-mix(in srgb, var(--mn-accent) 5%, var(--mn-layer-2)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mn-accent) 12%, transparent); }
147
+ .placementMode label[data-disabled] { cursor: not-allowed; opacity: .58; }
148
+ .placementMode input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
149
+ .placementMode span { display: grid; gap: 3px; }
150
+ .placementMode strong { color: var(--mn-text); font-size: 11px; }
151
+ .placementMode strong em { margin-left: 4px; padding: 2px 5px; border-radius: 999px; color: var(--mn-accent); background: color-mix(in srgb, var(--mn-accent) 10%, transparent); font: 650 8px var(--mn-code); font-style: normal; }
152
+ .placementMode small { color: var(--mn-muted); font-size: 9px; line-height: 1.45; }
153
+ .placementPolicy { display: grid; gap: 9px; margin: 0; padding: 11px; border: 1px solid color-mix(in srgb, var(--mn-accent) 26%, var(--mn-line)); border-radius: 10px; background: color-mix(in srgb, var(--mn-accent) 4%, var(--mn-layer-1)); }
154
+ .placementPolicyHeading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
155
+ .placementPolicyHeading > div { display: grid; gap: 2px; }
156
+ .placementPolicyHeading strong { font-size: 11px; }
157
+ .placementPolicyHeading small { color: var(--mn-muted); font-size: 9px; line-height: 1.45; }
158
+ .placementPolicyHeading > span { flex: 0 0 auto; padding: 3px 6px; border: 1px solid color-mix(in srgb, var(--mn-accent) 22%, var(--mn-line)); border-radius: 999px; color: var(--mn-accent); font: 650 8px var(--mn-code); }
159
+ .placementRuleGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
160
+ .capabilityRules { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; border: 0; }
161
+ .capabilityRules legend { width: 100%; margin-bottom: 1px; color: var(--mn-faint); font-size: 9px; }
162
+ .capabilityRules label { position: relative; display: flex; width: fit-content; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid var(--mn-line); border-radius: 8px; color: var(--mn-muted); background: var(--mn-input); cursor: pointer; }
163
+ .capabilityRules label[data-selected] { border-color: color-mix(in srgb, var(--mn-accent) 42%, var(--mn-line)); color: var(--mn-text); background: color-mix(in srgb, var(--mn-accent) 7%, var(--mn-input)); }
164
+ .capabilityRules input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
165
+ .placementCandidates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
166
+ .placementCandidates > span,
167
+ .placementCandidates > label { position: relative; display: grid; min-width: 0; grid-template-columns: 28px minmax(0, 1fr) 16px; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid var(--mn-line); border-radius: 8px; background: color-mix(in srgb, var(--mn-layer-2) 70%, transparent); }
168
+ .placementCandidates > label { cursor: pointer; }
169
+ .placementCandidates > [data-selected] { border-color: color-mix(in srgb, var(--mn-accent) 38%, var(--mn-line)); background: color-mix(in srgb, var(--mn-accent) 7%, transparent); }
170
+ .placementCandidates > label[data-disabled] { cursor: not-allowed; opacity: .48; }
171
+ .placementCandidates input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
172
+ .placementCandidates > span > span:not(.candidateIcon),
173
+ .placementCandidates > label > span:not(.candidateIcon) { display: grid; min-width: 0; gap: 2px; }
174
+ .placementCandidates strong { color: var(--mn-text); font-size: 10px; }
175
+ .placementCandidates small { color: var(--mn-muted); font-size: 8.5px; line-height: 1.4; }
176
+ .providerChoice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; border: 0; }
177
+ .providerChoice legend { margin-bottom: 5px; color: var(--mn-muted); font-size: 10px; }
178
+ .providerChoice label { position: relative; display: grid; min-width: 0; grid-template-columns: 32px minmax(0, 1fr) 16px; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--mn-line); border-radius: 9px; cursor: pointer; background: color-mix(in srgb, var(--mn-layer-2) 72%, transparent); }
179
+ .providerChoice label[data-native] { grid-column: 1 / -1; border-color: color-mix(in srgb, var(--mn-accent) 20%, var(--mn-line)); }
180
+ .providerChoice label[data-selected] { border-color: color-mix(in srgb, var(--mn-accent) 48%, var(--mn-line)); background: color-mix(in srgb, var(--mn-accent) 5%, var(--mn-layer-2)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mn-accent) 12%, transparent); }
181
+ .providerChoice label[data-disabled] { cursor: not-allowed; opacity: .5; }
182
+ .providerChoice input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
183
+ .providerChoice span { display: grid; gap: 3px; }
184
+ .providerChoice strong { color: var(--mn-text); font-size: 11px; }
185
+ .providerChoice strong em { margin-left: 5px; padding: 2px 5px; border-radius: 999px; color: var(--mn-accent); background: color-mix(in srgb, var(--mn-accent) 10%, transparent); font: 650 8px var(--mn-code); font-style: normal; }
186
+ .providerChoice small { display: -webkit-box; overflow: hidden; color: var(--mn-muted); font-size: 9px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
187
+ .providerChoiceIcon,
188
+ .candidateIcon,
189
+ .providerFieldIcon { display: grid; box-sizing: border-box; place-items: center; overflow: hidden; border: 1px solid var(--mn-line); background: var(--mn-layer-1); }
190
+ .providerChoiceIcon { width: 32px; height: 32px; border-radius: 8px; padding: 3px; }
191
+ .candidateIcon { width: 28px; height: 28px; border-radius: 7px; padding: 3px; }
192
+ .providerFieldIcon { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 8px; padding: 3px; }
193
+ .providerChoiceIcon > img,
194
+ .providerChoiceIcon > svg,
195
+ .candidateIcon > img,
196
+ .candidateIcon > svg,
197
+ .providerFieldIcon > img,
198
+ .providerFieldIcon > svg { display: block; width: 100%; height: 100%; border-radius: 5px; object-fit: contain; }
199
+ .choiceControl { position: relative; display: grid; width: 16px; height: 16px; box-sizing: border-box; flex: 0 0 auto; place-items: center; border: 1px solid color-mix(in srgb, var(--mn-muted) 52%, var(--mn-line)); border-radius: 5px; background: var(--mn-layer-1); }
200
+ .choiceControl[data-kind='radio'] { border-radius: 50%; }
201
+ [data-selected] > .choiceControl { border-color: var(--mn-accent); background: var(--mn-accent); }
202
+ [data-selected] > .choiceControl[data-kind='check']::after { width: 7px; height: 4px; border-bottom: 1.5px solid white; border-left: 1.5px solid white; content: ''; transform: translateY(-1px) rotate(-45deg); }
203
+ [data-selected] > .choiceControl[data-kind='radio']::after { width: 6px; height: 6px; border-radius: 50%; content: ''; background: white; }
204
+ .placementMode label:focus-within,
205
+ .providerChoice label:focus-within,
206
+ .capabilityRules label:focus-within,
207
+ .placementCandidates label:focus-within { outline: 2px solid color-mix(in srgb, var(--mn-accent) 28%, transparent); outline-offset: 1px; }
208
+ .providerFields { display: grid; gap: 8px; padding: 10px; border: 1px solid color-mix(in srgb, #6574d9 25%, var(--mn-line)); border-radius: 9px; background: color-mix(in srgb, #6574d9 5%, transparent); }
209
+ .providerFieldHeading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
210
+ .providerFieldIdentity { display: flex; min-width: 0; align-items: center; gap: 8px; }
211
+ .providerFieldIdentity > div { display: grid; min-width: 0; gap: 2px; }
212
+ .providerFieldHeading strong { color: var(--mn-text); font-size: 11px; }
213
+ .providerFieldHeading small { color: var(--mn-muted); font-size: 9px; line-height: 1.45; }
214
+ .providerFieldHeading > span { flex: 0 0 auto; padding: 3px 6px; border: 1px solid color-mix(in srgb, #6574d9 24%, var(--mn-line)); border-radius: 999px; color: color-mix(in srgb, #8793ef 80%, var(--mn-text)); font: 650 8px var(--mn-code); }
215
+ .providerFields details { min-width: 0; }
216
+ .providerFields summary { width: fit-content; color: var(--mn-accent); cursor: pointer; font-size: 9px; }
217
+ .providerAdvancedGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
218
+ .providerFieldControl .providerSecretClear { display: flex; align-items: center; gap: 5px; color: var(--mn-muted); cursor: pointer; font-size: 8.5px; }
219
+ .providerWriteHint { display: block; margin-top: 4px; color: color-mix(in srgb, #8793ef 72%, var(--mn-muted)); font-size: 9px; line-height: 1.45; }
220
+ .placementReceipt { display: flex; min-width: 0; align-items: flex-start; gap: 7px; margin: 7px 0; padding: 7px 8px; border: 1px solid color-mix(in srgb, var(--mn-accent) 20%, var(--mn-line)); border-radius: 8px; color: var(--mn-accent); background: color-mix(in srgb, var(--mn-accent) 4%, transparent); }
221
+ .placementReceipt > span { flex: 0 0 auto; font-size: 10px; }
222
+ .placementReceipt > div { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; }
223
+ .placementReceipt strong,
224
+ .placementReceipt small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
225
+ .placementReceipt strong { font-size: 9px; }
226
+ .placementReceipt small { color: var(--mn-muted); font-size: 8px; }
227
+ .placementReceipt p { grid-column: 1 / -1; margin: 0; overflow: hidden; color: var(--mn-muted); font-size: 8.5px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
228
+ .bodyCard > p { min-height: 15px; margin: 7px 0; color: var(--mn-muted); font-size: 10px; line-height: 1.45; }
229
+ .bodyCard footer { display: flex; min-width: 0; flex-wrap: nowrap; gap: 5px 11px; padding-top: 6px; overflow: hidden; border-top: 1px solid var(--mn-line); color: var(--mn-faint); font-size: 9px; }
230
+ .bodyFooterBlock { display: block; min-width: 0; flex: 0 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
231
+ .bodyFooterGrow { flex: 1 1 auto; }
232
+
233
+ .graphLayout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 270px); gap: 10px; }
234
+ .graphPanel,
235
+ .graphInspector { border: 1px solid var(--mn-line); border-radius: 11px; background: var(--mn-layer-1); }
236
+ .graphPanel { position: relative; min-width: 0; overflow: hidden; }
237
+ .graphToolbar,
238
+ .graphFooter { display: flex; min-height: 43px; align-items: center; justify-content: space-between; gap: 14px; padding: 0 13px; color: var(--mn-muted); font-size: 10px; }
239
+ .graphToolbar { border-bottom: 1px solid var(--mn-line); }
240
+ .graphToolbar > div:first-child { display: flex; align-items: center; gap: 7px; }
241
+ .graphToolbar small { color: var(--mn-faint); }
242
+ .liveDot { width: 6px; height: 6px; border-radius: 50%; background: var(--mn-success); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mn-success) 15%, transparent); }
243
+ .graphLegend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px 10px; }
244
+ .graphLegend span { display: flex; align-items: center; gap: 4px; }
245
+ .graphLegend span::before { width: 13px; height: 2px; border-radius: 2px; content: ""; background: var(--edge-color); }
246
+ .graphLegend [data-edge="temporal"] { --edge-color: #87909f; }
247
+ .graphLegend [data-edge="scope"] { --edge-color: #708199; }
248
+ .graphLegend [data-edge="scope"]::before { background: repeating-linear-gradient(90deg, var(--edge-color) 0 4px, transparent 4px 7px); }
249
+ .graphLegend [data-edge="semantic"] { --edge-color: #4d7cfe; }
250
+ .graphLegend [data-edge="causal"] { --edge-color: #ef6b5b; }
251
+ .graphLegend [data-edge="entity"] { --edge-color: #22a879; }
252
+ .graphViewport { position: relative; min-height: clamp(390px, 42vw, 560px); overflow: hidden; background: radial-gradient(circle at 50% 48%, color-mix(in srgb, var(--mn-accent) 6%, transparent), transparent 47%); }
253
+ .graphCanvasControls { position: absolute; z-index: 2; top: 10px; right: 10px; display: flex; align-items: center; gap: 5px; padding: 4px; border: 1px solid var(--mn-line); border-radius: 9px; background: color-mix(in srgb, var(--mn-layer-1) 88%, transparent); box-shadow: 0 6px 18px color-mix(in srgb, var(--mn-text) 7%, transparent); backdrop-filter: blur(10px); }
254
+ .graphCanvasControls span { display: flex; align-items: center; gap: 5px; padding: 0 6px; color: var(--mn-faint); font: 9px var(--mn-code); }
255
+ .graphCanvasControls span i { width: 5px; height: 5px; border-radius: 50%; background: var(--mn-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mn-accent) 12%, transparent); }
256
+ .graphCanvasControls button { min-height: 30px; border: 1px solid transparent; border-radius: 6px; padding: 0 9px; color: var(--mn-muted); background: transparent; font-size: 9.5px; cursor: pointer; }
257
+ .graphCanvasControls button:hover,
258
+ .graphCanvasControls button[data-active] { border-color: var(--mn-line); color: var(--mn-text); background: var(--mn-hover); }
259
+ .graphCanvasControls button[data-active] { color: var(--mn-accent); }
260
+ .graphSvg { display: block; width: 100%; height: clamp(390px, 42vw, 560px); touch-action: pan-y pinch-zoom; user-select: none; }
261
+ .graphBackdrop { fill: var(--mn-layer-1); }
262
+ .graphGridLine { stroke: var(--mn-line); stroke-width: .6; opacity: .5; }
263
+ .graphEdge { fill: none; stroke: #87909f; stroke-width: 1; opacity: .32; vector-effect: non-scaling-stroke; }
264
+ .graphEdge[data-edge="scope"] { stroke: #708199; stroke-dasharray: 4 5; opacity: .28; }
265
+ .graphEdge[data-edge="semantic"] { stroke: #4d7cfe; opacity: .48; }
266
+ .graphEdge[data-edge="causal"] { stroke: #ef6b5b; opacity: .52; }
267
+ .graphEdge[data-edge="entity"] { stroke: #22a879; stroke-width: 1.45; opacity: .78; }
268
+ .graphNode { --node: #8290a8; outline: none; cursor: grab; touch-action: none; }
269
+ .graphNode[data-dragging] { cursor: grabbing; }
270
+ .graphNode[data-category="decision"] { --node: #ef8354; }
271
+ .graphNode[data-category="preference"] { --node: #a879e1; }
272
+ .graphNode[data-category="fact"] { --node: #4d7cfe; }
273
+ .graphNode[data-category="insight"] { --node: #19a77d; }
274
+ .graphNode[data-category="context"] { --node: #d8a624; }
275
+ .graphNode[data-kind="space"] { --node: var(--mn-provider-color); }
276
+ .graphNode[data-kind="entity"] { --node: #2b9db9; }
277
+ .nodeHalo { fill: color-mix(in srgb, var(--node) 18%, var(--mn-layer-1)); stroke: color-mix(in srgb, var(--node) 60%, var(--mn-layer-1)); stroke-width: 1.5; transition: r .16s; }
278
+ .nodeCore { fill: var(--node); }
279
+ .nodeLabel { fill: var(--mn-muted); font: 10px var(--mn-code); pointer-events: auto; }
280
+ .nodeBodyLabel { fill: var(--mn-faint); font: 650 8px var(--mn-code); letter-spacing: .04em; pointer-events: auto; }
281
+ .graphSvg[data-density="sparse"] .nodeLabel { font-size: 12px; }
282
+ .graphNode:hover .nodeHalo,
283
+ .graphNode:focus .nodeHalo,
284
+ .graphNode[data-selected] .nodeHalo { fill: color-mix(in srgb, var(--node) 28%, var(--mn-layer-1)); stroke: var(--node); }
285
+ .graphNode[data-selected] .nodeLabel { fill: var(--mn-text); font-weight: 650; }
286
+ .graphFooter { min-height: 38px; border-top: 1px solid var(--mn-line); color: var(--mn-faint); }
287
+ .graphInspector { min-width: 0; min-height: calc(clamp(390px, 42vw, 560px) + 83px); overflow: hidden; padding: 15px; }
288
+ .inspectorEmpty { display: flex; height: 100%; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
289
+ .inspectorLogo { width: 54px; height: 54px; margin-bottom: 15px; border-radius: 11px; opacity: .72; }
290
+ .inspectorEmpty h3 { margin: 7px 0 3px; font-size: 14px; }
291
+ .inspectorEmpty p { margin: 0; color: var(--mn-faint); font-size: 11px; }
292
+ .inspectorHeading { display: flex; align-items: center; justify-content: space-between; }
293
+ .inspectorHeading button { display: grid; width: 32px; height: 32px; place-items: center; border: 0; border-radius: 7px; color: var(--mn-muted); background: transparent; cursor: pointer; }
294
+ .inspectorHeading button:hover { background: var(--mn-hover); }
295
+ .inspectorChips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 24px; }
296
+ .categoryChip { display: inline-flex; padding: 3px 8px; border-radius: 999px; color: var(--mn-accent); background: color-mix(in srgb, var(--mn-accent) 10%, transparent); font-size: 10px; }
297
+ .inspectorTitleRow { display: flex; min-width: 0; align-items: flex-start; gap: 8px; margin: 12px 0 20px; }
298
+ .inspectorTitle { display: -webkit-box; min-width: 0; flex: 1; margin: 0; overflow: hidden; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; white-space: pre-wrap; -webkit-box-orient: vertical; -webkit-line-clamp: 6; }
299
+ .inspectorEye { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; border: 1px solid var(--mn-line); border-radius: 7px; color: var(--mn-muted); background: var(--mn-layer-1); cursor: pointer; transition: color .15s, border-color .15s, background-color .15s; }
300
+ .inspectorEye:hover { color: var(--mn-accent); border-color: var(--mn-line-strong); background: var(--mn-hover); }
301
+ .inspectorMeta { margin: 0; }
302
+ .inspectorMeta > div { display: grid; gap: 3px; padding: 11px 0; border-top: 1px solid var(--mn-line); }
303
+ .inspectorMeta dt { color: var(--mn-faint); font: 9px var(--mn-code); text-transform: uppercase; }
304
+ .inspectorMeta dd { margin: 0; overflow-wrap: anywhere; color: var(--mn-muted); font-size: 11px; }
305
+ .inspectorActions { display: grid; gap: 8px; margin-top: 20px; }
306
+ .previewContent { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--mn-text); font-size: 13px; line-height: 1.7; }
307
+
308
+ .searchBar { margin-bottom: 18px; padding: 13px; border: 1px solid var(--mn-line); border-radius: 13px; background: var(--mn-layer-1); }
309
+ .queryField { display: grid; grid-template-columns: 24px minmax(0, 1fr) 24px; align-items: center; gap: 5px; padding: 0 10px; border: 1px solid var(--mn-line-strong); border-radius: 9px; background: var(--mn-input); }
310
+ .queryField > span { color: var(--mn-accent); font: 18px var(--mn-code); }
311
+ .queryField input { width: 100%; height: 42px; border: 0; outline: 0; background: transparent; }
312
+ .queryField kbd { color: var(--mn-faint); font: 11px var(--mn-code); }
313
+ .searchControls { display: flex; align-items: flex-end; justify-content: flex-end; gap: 10px; padding-top: 10px; }
314
+ .searchActions { display: flex; align-items: center; gap: 7px; }
315
+ .agentAnswer { margin-bottom: 16px; padding: 16px 18px; border: 1px solid color-mix(in srgb, var(--mn-accent) 30%, var(--mn-line)); border-radius: 11px; background: linear-gradient(135deg, color-mix(in srgb, var(--mn-accent) 7%, var(--mn-layer-1)), var(--mn-layer-1) 60%); }
316
+ .agentAnswerHeading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
317
+ .agentAnswerHeading span { color: var(--mn-accent); font: 650 9px/1.2 var(--mn-code); letter-spacing: .08em; }
318
+ .agentAnswerHeading h3 { margin: 4px 0 0; font-size: 15px; }
319
+ .agentAnswerHeading > code { color: var(--mn-faint); font-size: 9px; }
320
+ .agentAnswer > p { margin: 12px 0; white-space: pre-wrap; color: var(--mn-text); font-size: 13px; line-height: 1.7; }
321
+ .agentCitations { display: flex; flex-wrap: wrap; gap: 5px; padding-top: 10px; border-top: 1px solid var(--mn-line); }
322
+ .agentCitations code { padding: 3px 6px; border-radius: 5px; color: var(--mn-muted); background: var(--mn-layer-2); font-size: 9px; }
323
+ .searchControls label,
324
+ .fieldWide { display: grid; gap: 5px; color: var(--mn-muted); font-size: 11px; }
325
+ .searchControls select,
326
+ .listToolbar input,
327
+ .listToolbar select,
328
+ .entitySearch input { min-width: 140px; height: 34px; border: 1px solid var(--mn-line); border-radius: 8px; outline: 0; padding: 0 9px; background: var(--mn-input); }
329
+ .searchControls select:focus,
330
+ .listToolbar input:focus,
331
+ .listToolbar select:focus,
332
+ .entitySearch input:focus,
333
+ .supervisedForm textarea:focus { border-color: var(--mn-accent); }
334
+ .singleColumn { max-width: 830px; }
335
+ .resultLayout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 14px; align-items: start; }
336
+ .results,
337
+ .relatedPane,
338
+ .entityResults { min-width: 0; }
339
+ .relatedPane { position: sticky; top: 12px; max-height: calc(100vh - 230px); max-height: calc(100dvh - 230px); overflow: auto; padding: 13px; border: 1px solid var(--mn-line); border-radius: 12px; background: var(--mn-layer-1); scroll-margin-top: 14px; -webkit-overflow-scrolling: touch; }
340
+ .relatedSource { margin: 0 0 13px; padding: 10px; border-radius: 8px; color: var(--mn-muted); background: var(--mn-layer-2); font-size: 11px; }
341
+
342
+ .insightCard { min-width: 0; margin-bottom: 9px; padding: 14px; border: 1px solid var(--mn-line); border-radius: 11px; background: var(--mn-layer-1); transition: border-color .15s, transform .15s, box-shadow .15s; }
343
+ .insightCard:hover { border-color: var(--mn-line-strong); transform: translateY(-1px); }
344
+ .cardTop { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
345
+ .badges,
346
+ .tags,
347
+ .entities { display: flex; flex-wrap: wrap; gap: 5px; }
348
+ .badge { padding: 2px 6px; border-radius: 999px; color: var(--mn-muted); background: var(--mn-layer-2); font-size: 9px; }
349
+ .id { color: var(--mn-faint); font: 9px var(--mn-code); }
350
+ .content { margin: 10px 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; }
351
+ .tags { color: var(--mn-accent); font-size: 10px; }
352
+ .entities { margin-top: 7px; }
353
+ .entities span { padding: 2px 6px; border: 1px solid var(--mn-line); border-radius: 5px; color: var(--mn-muted); font-size: 9px; }
354
+ .cardActions { display: flex; min-height: 30px; align-items: center; justify-content: flex-end; gap: 3px; margin-top: 10px; border-top: 1px solid var(--mn-line); padding-top: 8px; }
355
+
356
+ .entityLayout { display: grid; grid-template-columns: 265px minmax(0, 1fr); gap: 16px; align-items: start; }
357
+ .entityRail { position: sticky; top: 0; padding: 13px; border: 1px solid var(--mn-line); border-radius: 12px; background: var(--mn-layer-1); }
358
+ .entitySearch { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
359
+ .entitySearch input { min-width: 0; }
360
+ .entityHeading { display: flex; align-items: center; justify-content: space-between; margin: 18px 2px 7px; }
361
+ .entityHeading small { color: var(--mn-faint); font-size: 9px; }
362
+ .entityList { display: grid; gap: 3px; }
363
+ .entityList button { display: flex; min-height: 34px; align-items: center; justify-content: space-between; gap: 10px; border: 0; border-radius: 7px; padding: 0 9px; color: var(--mn-muted); background: transparent; cursor: pointer; text-align: left; }
364
+ .entityList button:hover,
365
+ .entityList button[aria-pressed="true"] { color: var(--mn-text); background: var(--mn-hover); }
366
+ .entityList button > span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
367
+ .entityList strong { flex: none; color: var(--mn-faint); font: 10px var(--mn-code); }
368
+ .entityResults > .emptyState { min-height: 360px; }
369
+
370
+ .supervisedComposer { border: 1px solid var(--mn-line); border-radius: 12px; background: var(--mn-layer-1); }
371
+ .supervisedComposer { overflow: hidden; }
372
+ .supervisedForm { padding: 18px; }
373
+ .supervisedHeading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
374
+ .supervisedHeading h3 { margin: 4px 0 0; font-size: 17px; }
375
+ .sessionReady,
376
+ .sessionMissing { padding: 4px 8px; border-radius: 999px; font: 650 9px var(--mn-code); }
377
+ .sessionReady { color: var(--mn-success); background: color-mix(in srgb, var(--mn-success) 10%, transparent); }
378
+ .sessionMissing { color: var(--mn-danger); background: color-mix(in srgb, var(--mn-danger) 10%, transparent); }
379
+ .supervisedForm textarea { width: 100%; resize: vertical; border: 1px solid var(--mn-line); border-radius: 9px; outline: 0; padding: 12px; color: var(--mn-text); background: var(--mn-input); line-height: 1.65; }
380
+ .sessionHint { margin: 9px 0 0; color: var(--mn-danger); font-size: 11px; }
381
+ .fieldWide { grid-column: 1 / -1; }
382
+ .advancedWrite { border-top: 1px solid var(--mn-line); background: color-mix(in srgb, var(--mn-layer-2) 45%, var(--mn-layer-1)); }
383
+ .advancedWrite summary { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 18px; cursor: pointer; list-style: none; }
384
+ .advancedWrite summary::-webkit-details-marker { display: none; }
385
+ .advancedWrite summary > span:first-child { display: grid; gap: 2px; }
386
+ .advancedWrite summary strong { font-size: 12px; }
387
+ .advancedWrite summary small { color: var(--mn-faint); font-size: 10px; }
388
+ .advancedWrite summary > span:last-child { color: var(--mn-accent); font: 10px var(--mn-code); }
389
+ .advancedWrite[open] summary { border-bottom: 1px solid var(--mn-line); }
390
+ .advancedWrite[open] summary > span:last-child { font-size: 0; }
391
+ .advancedWrite[open] summary > span:last-child::after { content: "−"; font-size: 13px; }
392
+ .manualForm { padding: 3px 18px 18px; }
393
+ .manualActions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 15px; }
394
+ .manualActions p { max-width: 520px; margin: 0; color: var(--mn-faint); font-size: 10px; }
395
+
396
+ .listToolbar { display: grid; grid-template-columns: minmax(0, 1fr) 170px auto; gap: 9px; padding: 12px; border: 1px solid var(--mn-line); border-radius: 11px; background: var(--mn-layer-1); }
397
+ .listToolbar input,
398
+ .listToolbar select { width: 100%; min-width: 0; }
399
+ .listNotice { margin: 10px 0 16px; color: var(--mn-faint); font-size: 10px; }
400
+ .listNotice span { margin-right: 7px; color: var(--mn-success); font: 650 9px var(--mn-code); letter-spacing: .08em; }
401
+ .memoryList { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; align-items: start; }
402
+ .memoryList .insightCard { height: 100%; margin: 0; }
403
+ .modalFooterNote { max-width: 54ch; margin: 0 auto 0 0; color: var(--mn-muted); font-size: 9px; line-height: 1.5; }
404
+ .modalInlineStatus { margin: 12px 0 0; color: var(--mn-muted); font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
405
+ .metadataDialog { display: grid; gap: 12px; }
406
+ .metadataToolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--mn-muted); font-size: 10px; }
407
+ .metadataToolbar > span { display: flex; min-width: 0; align-items: center; gap: 7px; }
408
+ .metadataToolbar em { padding: 2px 5px; border-radius: 999px; color: var(--mn-accent); background: color-mix(in srgb, var(--mn-accent) 9%, transparent); font: 650 8px var(--mn-code); font-style: normal; }
409
+ .metadataList { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
410
+ .metadataEmpty { grid-column: 1 / -1; padding: 18px; border: 1px dashed var(--mn-line); border-radius: 8px; color: var(--mn-muted); background: color-mix(in srgb, var(--mn-layer-2) 76%, transparent); font-size: 10px; text-align: center; }
411
+ .metadataList > label { position: relative; display: grid; min-width: 0; min-height: 76px; grid-template-columns: 16px minmax(0, 1fr); align-items: start; gap: 9px; padding: 10px 10px 10px 13px; cursor: pointer; }
412
+ .metadataList > label[data-selected] { border-color: color-mix(in srgb, var(--mn-accent) 48%, var(--mn-line)); box-shadow: inset 3px 0 0 var(--mn-provider-color), inset 0 0 0 1px color-mix(in srgb, var(--mn-accent) 10%, transparent); }
413
+ .metadataList > label[data-refreshing] { overflow: hidden; }
414
+ .metadataList > label[data-refreshing]::after { position: absolute; inset: 0; content: ""; background: linear-gradient(105deg, transparent 20%, color-mix(in srgb, var(--mn-provider-color) 16%, transparent) 45%, transparent 70%); transform: translateX(-120%); animation: mnemon-metadata-sweep .9s ease-in-out infinite; pointer-events: none; }
415
+ .metadataList > label[data-refreshed] { animation: mnemon-metadata-refreshed .9s ease-out; }
416
+ .metadataList > label[data-failed] { border-color: color-mix(in srgb, var(--mn-danger) 42%, var(--mn-line)); }
417
+ .metadataList > label > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
418
+ .metadataList > label > span { display: grid; min-width: 0; gap: 4px; }
419
+ .metadataList strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
420
+ .metadataList small { display: -webkit-box; overflow: hidden; color: var(--mn-muted); font-size: 9px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
421
+ .metadataList > label > span > span { display: flex; min-width: 0; align-items: center; gap: 6px; }
422
+ .metadataList code { overflow: hidden; color: var(--mn-faint); font: 8px var(--mn-code); text-overflow: ellipsis; white-space: nowrap; }
423
+ .metadataTaskStatus { min-width: 0; overflow: hidden; font: 650 8px var(--mn-code); text-overflow: ellipsis; white-space: nowrap; }
424
+ .metadataTaskStatus[data-status='running'] { color: var(--mn-provider-color); }
425
+ .metadataTaskStatus[data-status='success'] { color: var(--mn-success); }
426
+ .metadataTaskStatus[data-status='error'] { color: var(--mn-danger); }
427
+ @media (prefers-reduced-motion: reduce) { .metadataList > label[data-refreshing]::after,
428
+ .metadataList > label[data-refreshed] { animation: none; } }
429
+
430
+ @media (max-width: 1000px) {
431
+ .graphLayout { position: relative; display: block; }
432
+ .graphInspector { position: static; width: auto; min-height: 0; margin-top: 10px; overflow: visible; box-shadow: none; }
433
+ .graphInspector[data-empty] { display: none; }
434
+ .resultLayout { grid-template-columns: 1fr; }
435
+ .relatedPane { position: static; grid-row: 1; max-height: none; }
436
+ .memoryList { grid-template-columns: 1fr; }
437
+ }
438
+
439
+ @media (max-width: 760px) {
440
+ .metadataList { grid-template-columns: 1fr; }
441
+ .modalFooterNote { max-width: none; margin: 0; font-size: 10px; }
442
+ .modal .supervisedForm textarea { min-height: clamp(130px, 30vh, 210px); }
443
+ .entityLayout { grid-template-columns: 1fr; }
444
+ .manualActions { align-items: stretch; flex-direction: column; }
445
+ .entityRail { position: static; }
446
+ .searchControls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
447
+ .searchActions { grid-column: 1 / -1; }
448
+ .searchActions > button { flex: 1; }
449
+ .searchControls select { width: 100%; min-width: 0; }
450
+ .listToolbar { grid-template-columns: 1fr; }
451
+ .bodyDirectoryHeader { display: grid; }
452
+ .createIdentityGrid,
453
+ .placementMode,
454
+ .placementRuleGrid,
455
+ .placementCandidates,
456
+ .providerChoice,
457
+ .providerAdvancedGrid { grid-template-columns: 1fr; }
458
+ .graphViewport { min-height: 360px; }
459
+ .graphSvg { height: 390px; }
460
+ .graphCanvasControls { right: 7px; top: 7px; }
461
+ .graphCanvasControls span { display: none; }
462
+ }
463
+
464
+ @media (max-width: 520px) {
465
+ .memoryHeaderActions { width: 100%; }
466
+ .memoryHeaderActions > button { flex: 1; }
467
+ .supervisedHeading,
468
+ .cardTop { align-items: flex-start; flex-direction: column; }
469
+ .cardActions { align-items: stretch; flex-wrap: wrap; }
470
+ .cardActions button { flex: 1; }
471
+ .searchControls { grid-template-columns: 1fr; }
472
+ }
473
+
474
+ @supports (height: 100dvh) {
475
+ @media (max-width: 760px) {
476
+ .modal .supervisedForm textarea { min-height: clamp(130px, 30dvh, 210px); }
477
+ }
478
+ }
479
+ @media (max-width: 1000px) and (max-height: 760px) {
480
+ .graphViewport { min-height: 300px; }
481
+ .graphSvg { height: 300px; }
482
+ }
483
+
484
+ @media (prefers-reduced-motion: reduce) {
485
+ .insightCard:hover { transform: none; }
486
+ }