ltcai 4.6.0 → 4.7.0

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.
Files changed (37) hide show
  1. package/README.md +145 -194
  2. package/docs/CHANGELOG.md +139 -1
  3. package/docs/PRODUCT_DIRECTION_REVIEW.md +88 -0
  4. package/docs/V4_6_0_LIVING_BRAIN_EXPERIENCE_REPORT.md +33 -19
  5. package/docs/V4_6_1_RELEASE_REFRESH_REPORT.md +42 -0
  6. package/docs/V4_7_0_ADMIN_SEPARATION_REPORT.md +42 -0
  7. package/docs/V4_DIGITAL_BRAIN_RECOVERY.md +20 -18
  8. package/frontend/src/App.tsx +1098 -171
  9. package/frontend/src/api/client.ts +2 -0
  10. package/frontend/src/components/BrainConversation.tsx +10 -2
  11. package/frontend/src/components/LivingBrain.tsx +197 -106
  12. package/frontend/src/components/ProductFlow.tsx +210 -129
  13. package/frontend/src/styles.css +1946 -36
  14. package/lattice_brain/__init__.py +1 -1
  15. package/lattice_brain/archive.py +86 -13
  16. package/lattice_brain/portability.py +82 -14
  17. package/lattice_brain/runtime/multi_agent.py +1 -1
  18. package/latticeai/__init__.py +1 -1
  19. package/latticeai/api/admin.py +30 -4
  20. package/latticeai/api/chat.py +25 -11
  21. package/latticeai/app_factory.py +8 -2
  22. package/latticeai/core/audit.py +3 -2
  23. package/latticeai/core/marketplace.py +1 -1
  24. package/latticeai/core/workspace_os.py +1 -1
  25. package/package.json +1 -1
  26. package/scripts/launch-pts-grok.sh +56 -0
  27. package/src-tauri/Cargo.lock +1 -1
  28. package/src-tauri/Cargo.toml +1 -1
  29. package/src-tauri/tauri.conf.json +1 -1
  30. package/static/app/asset-manifest.json +5 -5
  31. package/static/app/assets/index-DFmuiJ6t.css +2 -0
  32. package/static/app/assets/index-DwX3rNfA.js +16 -0
  33. package/static/app/assets/index-DwX3rNfA.js.map +1 -0
  34. package/static/app/index.html +2 -2
  35. package/static/app/assets/index-By-G-Kay.css +0 -2
  36. package/static/app/assets/index-CJx6WuQH.js +0 -336
  37. package/static/app/assets/index-CJx6WuQH.js.map +0 -1
@@ -3,46 +3,43 @@
3
3
 
4
4
  :root {
5
5
  color-scheme: dark;
6
- --background: 168 12% 7%;
7
- --foreground: 190 24% 94%;
8
- --card: 180 10% 11%;
9
- --card-foreground: 190 24% 94%;
10
- --muted: 205 11% 18%;
11
- --muted-foreground: 188 10% 67%;
12
- --primary: 166 68% 52%;
13
- --primary-foreground: 168 18% 7%;
14
- --secondary: 238 18% 23%;
15
- --secondary-foreground: 190 24% 94%;
16
- --destructive: 356 73% 59%;
17
- --destructive-foreground: 0 0% 100%;
18
- --border: 190 12% 26%;
19
- --input: 190 12% 30%;
20
- --ring: 166 68% 52%;
21
- --brain: 166 68% 52%;
22
- --ask: 205 80% 67%;
23
- --capture: 136 58% 56%;
24
- --act: 38 91% 60%;
25
- --library: 278 62% 70%;
26
- --system: 5 72% 66%;
6
+ /* Digital Brain — warm, private, alive */
7
+ --bg: 22 18% 5.5%;
8
+ --bg-elevated: 24 16% 8%;
9
+ --fg: 36 18% 94%;
10
+ --fg-muted: 30 12% 68%;
11
+ --brain-core: 38 72% 68%; /* warm ember-gold */
12
+ --brain-halo: 38 65% 78%;
13
+ --memory: 168 52% 62%; /* quiet teal pulse */
14
+ --knowledge: 200 48% 70%;
15
+ --connection: 280 42% 72%; /* soft violet for relationships */
16
+ --map: 32 38% 74%; /* contemplative gold for the Map */
17
+ --surface: 24 14% 9%;
18
+ --surface-glass: 24 14% 9% / 0.82;
19
+ --border: 28 12% 22%;
20
+ --accent: 38 72% 68%;
21
+ --destructive: 12 62% 58%;
22
+ --ring: 38 72% 68%;
27
23
  }
28
24
 
29
25
  :root[data-theme="light"] {
30
26
  color-scheme: light;
31
- --background: 180 16% 96%;
32
- --foreground: 205 18% 12%;
33
- --card: 180 24% 99%;
34
- --card-foreground: 205 18% 12%;
35
- --muted: 190 14% 91%;
36
- --muted-foreground: 200 10% 38%;
37
- --primary: 170 70% 30%;
38
- --primary-foreground: 0 0% 100%;
39
- --secondary: 236 20% 89%;
40
- --secondary-foreground: 205 18% 12%;
41
- --destructive: 356 70% 47%;
42
- --destructive-foreground: 0 0% 100%;
43
- --border: 190 14% 76%;
44
- --input: 190 14% 70%;
45
- --ring: 170 70% 30%;
27
+ --bg: 36 28% 96%;
28
+ --bg-elevated: 36 26% 98%;
29
+ --fg: 24 16% 11%;
30
+ --fg-muted: 28 10% 42%;
31
+ --brain-core: 32 58% 46%;
32
+ --brain-halo: 32 52% 58%;
33
+ --memory: 170 48% 42%;
34
+ --knowledge: 205 42% 48%;
35
+ --connection: 275 38% 52%;
36
+ --map: 30 36% 52%;
37
+ --surface: 36 22% 96%;
38
+ --surface-glass: 36 22% 96% / 0.9;
39
+ --border: 28 14% 78%;
40
+ --accent: 32 58% 46%;
41
+ --destructive: 10 58% 48%;
42
+ --ring: 32 58% 46%;
46
43
  }
47
44
 
48
45
  @theme inline {
@@ -941,6 +938,1914 @@ button {
941
938
  margin-bottom: 0.8rem;
942
939
  }
943
940
 
941
+ /* ═══════════════════════════════════════════════════════════════
942
+ DIGITAL BRAIN EXPERIENCE — Complete Immersive Redesign
943
+ The Brain is the product. Everything else is discovered depth.
944
+ Warm, private, alive, human.
945
+ ═══════════════════════════════════════════════════════════════ */
946
+
947
+ html, body, #root {
948
+ height: 100%;
949
+ }
950
+
951
+ body {
952
+ font-family: ui-sans-serif, system-ui, -apple-system, "SF Pro Text", Inter, sans-serif;
953
+ -webkit-font-smoothing: antialiased;
954
+ text-rendering: optimizeLegibility;
955
+ }
956
+
957
+ /* The entire post-onboarding experience is a living room with the Brain */
958
+ .brain-space {
959
+ min-height: 100vh;
960
+ display: flex;
961
+ flex-direction: column;
962
+ background: radial-gradient(120% 80% at 50% 20%, hsl(var(--bg-elevated)) 0%, hsl(var(--bg)) 55%);
963
+ position: relative;
964
+ overflow: hidden;
965
+ }
966
+
967
+ /* Subtle living field behind everything */
968
+ .brain-field {
969
+ position: fixed;
970
+ inset: 0;
971
+ z-index: 0;
972
+ pointer-events: none;
973
+ background:
974
+ radial-gradient(circle at 30% 25%, hsl(var(--brain-core) / 0.035) 0%, transparent 55%),
975
+ radial-gradient(circle at 72% 68%, hsl(var(--memory) / 0.03) 0%, transparent 60%);
976
+ transition: opacity 1200ms ease;
977
+ }
978
+
979
+ /* The living presence — large, primary, always visible, reactive */
980
+ .brain-presence {
981
+ position: relative;
982
+ z-index: 2;
983
+ display: flex;
984
+ flex-direction: column;
985
+ align-items: center;
986
+ justify-content: center;
987
+ padding: 2.25rem 1.5rem 1.5rem;
988
+ flex: 0 0 auto;
989
+ }
990
+
991
+ .brain-presence.large {
992
+ padding-top: 2.75rem;
993
+ padding-bottom: 1.25rem;
994
+ }
995
+
996
+ /* The actual living visual object */
997
+ .brain-organism {
998
+ position: relative;
999
+ width: clamp(220px, 28vw, 320px);
1000
+ height: clamp(220px, 28vw, 320px);
1001
+ display: grid;
1002
+ place-items: center;
1003
+ padding: 0;
1004
+ border: 0;
1005
+ background: transparent;
1006
+ color: inherit;
1007
+ cursor: pointer;
1008
+ transition: transform 600ms cubic-bezier(0.23, 1, 0.32, 1), filter 400ms ease;
1009
+ will-change: transform, filter;
1010
+ }
1011
+
1012
+ .brain-organism:focus-visible {
1013
+ outline: 2px solid hsl(var(--brain-core) / 0.78);
1014
+ outline-offset: 0.5rem;
1015
+ border-radius: 34% 44% 44% 34%;
1016
+ }
1017
+
1018
+ .brain-organism[data-state="listening"] { transform: scale(1.015); filter: brightness(1.06) saturate(1.08); }
1019
+ .brain-organism[data-state="thinking"] { transform: scale(0.985); filter: brightness(0.96) saturate(0.92); }
1020
+ .brain-organism[data-state="recalling"] { filter: brightness(1.12) saturate(1.15); }
1021
+ .brain-organism[data-state="synthesizing"] { transform: scale(1.01); }
1022
+ .brain-organism[data-state="planning"] { filter: saturate(1.12) hue-rotate(8deg); }
1023
+ .brain-organism[data-state="acting"] { filter: brightness(1.08) saturate(1.22); }
1024
+
1025
+ .brain-core {
1026
+ position: absolute;
1027
+ inset: 7% 2% 2%;
1028
+ display: grid;
1029
+ place-items: center;
1030
+ border-radius: 42% 47% 38% 42%;
1031
+ background:
1032
+ radial-gradient(55% 50% at 38% 34%, hsl(var(--brain-halo) / 0.38), transparent 70%),
1033
+ radial-gradient(58% 54% at 68% 44%, hsl(var(--connection) / 0.16), transparent 74%);
1034
+ box-shadow:
1035
+ 0 0 72px hsl(var(--brain-core) / 0.28),
1036
+ 0 16px 44px hsl(22 20% 3% / 0.5);
1037
+ transition: all 520ms cubic-bezier(0.23, 1, 0.32, 1);
1038
+ }
1039
+
1040
+ .brain-anatomy {
1041
+ position: relative;
1042
+ z-index: 2;
1043
+ width: 100%;
1044
+ height: 100%;
1045
+ overflow: visible;
1046
+ filter: drop-shadow(0 18px 30px hsl(200 80% 4% / 0.46));
1047
+ }
1048
+
1049
+ .brain-lobe,
1050
+ .brain-bridge,
1051
+ .brain-stem {
1052
+ transform-origin: center;
1053
+ fill: hsl(var(--brain-core) / 0.24);
1054
+ stroke: hsl(var(--brain-core) / 0.82);
1055
+ stroke-linejoin: round;
1056
+ stroke-width: 3;
1057
+ animation: brain-living-breathe 5.8s ease-in-out infinite;
1058
+ }
1059
+
1060
+ .brain-lobe-right {
1061
+ fill: hsl(var(--connection) / 0.16);
1062
+ stroke: hsl(var(--connection) / 0.7);
1063
+ animation-delay: -1.4s;
1064
+ }
1065
+
1066
+ .brain-bridge {
1067
+ fill: hsl(var(--memory) / 0.14);
1068
+ stroke: hsl(var(--memory) / 0.52);
1069
+ stroke-width: 2;
1070
+ }
1071
+
1072
+ .brain-stem {
1073
+ fill: hsl(var(--knowledge) / 0.14);
1074
+ stroke: hsl(var(--knowledge) / 0.54);
1075
+ stroke-width: 2.5;
1076
+ }
1077
+
1078
+ .brain-fold {
1079
+ fill: none;
1080
+ stroke: hsl(var(--fg) / 0.52);
1081
+ stroke-linecap: round;
1082
+ stroke-width: 4.2;
1083
+ stroke-dasharray: 16 22;
1084
+ opacity: 0.68;
1085
+ animation: brain-fold-flow 4.8s linear infinite;
1086
+ }
1087
+
1088
+ .fold-b,
1089
+ .fold-e {
1090
+ stroke: hsl(var(--memory) / 0.76);
1091
+ animation-delay: -1.6s;
1092
+ }
1093
+
1094
+ .fold-c,
1095
+ .fold-f {
1096
+ stroke: hsl(var(--knowledge) / 0.72);
1097
+ animation-delay: -2.9s;
1098
+ }
1099
+
1100
+ .fold-mid {
1101
+ stroke: hsl(var(--brain-core) / 0.54);
1102
+ stroke-width: 2.4;
1103
+ stroke-dasharray: 7 12;
1104
+ opacity: 0.75;
1105
+ }
1106
+
1107
+ .brain-aura {
1108
+ position: absolute;
1109
+ inset: 8%;
1110
+ border-radius: 44% 51% 42% 46%;
1111
+ border: 1px solid hsl(var(--brain-core) / 0.28);
1112
+ box-shadow:
1113
+ 0 0 86px hsl(var(--brain-core) / 0.2),
1114
+ 0 0 70px hsl(var(--memory) / 0.08);
1115
+ animation: brain-halo-breathe 6.4s ease-in-out infinite;
1116
+ }
1117
+
1118
+ .brain-organism[data-state="thinking"] .brain-aura { animation-duration: 1.8s; }
1119
+ .brain-organism[data-state="recalling"] .brain-aura { animation-duration: 2.8s; }
1120
+ .brain-organism[data-state="acting"] .brain-aura { animation-duration: 2s; }
1121
+
1122
+ @keyframes brain-halo-breathe {
1123
+ 0%, 100% { transform: scale(1); opacity: 0.65; }
1124
+ 50% { transform: scale(1.035); opacity: 0.95; }
1125
+ }
1126
+
1127
+ @keyframes brain-living-breathe {
1128
+ 0%,
1129
+ 100% {
1130
+ transform: scale(0.992);
1131
+ }
1132
+ 50% {
1133
+ transform: scale(1.018);
1134
+ }
1135
+ }
1136
+
1137
+ @keyframes brain-fold-flow {
1138
+ from {
1139
+ stroke-dashoffset: 80;
1140
+ }
1141
+ to {
1142
+ stroke-dashoffset: 0;
1143
+ }
1144
+ }
1145
+
1146
+ /* Thought activity layer (subtle drifting lines / embers) */
1147
+ .thought-activity {
1148
+ position: absolute;
1149
+ inset: 12%;
1150
+ border-radius: 999px;
1151
+ overflow: hidden;
1152
+ pointer-events: none;
1153
+ }
1154
+
1155
+ .thought-particle {
1156
+ position: absolute;
1157
+ width: 3px;
1158
+ height: 3px;
1159
+ background: hsl(var(--brain-halo) / 0.9);
1160
+ border-radius: 999px;
1161
+ box-shadow: 0 0 6px hsl(var(--brain-halo));
1162
+ animation: thought-drift 4.2s linear infinite;
1163
+ opacity: 0.0;
1164
+ }
1165
+
1166
+ .brain-organism[data-state="thinking"] .thought-particle { opacity: 0.55; animation-duration: 2.1s; }
1167
+ .brain-organism[data-state="synthesizing"] .thought-particle { opacity: 0.7; }
1168
+ .brain-organism[data-state="planning"] .thought-particle,
1169
+ .brain-organism[data-state="acting"] .thought-particle {
1170
+ opacity: 0.78;
1171
+ animation-duration: 1.85s;
1172
+ }
1173
+
1174
+ @keyframes thought-drift {
1175
+ 0% { transform: translateY(12%) scale(0.6); }
1176
+ 40% { transform: translateY(-18%) scale(1); }
1177
+ 100% { transform: translateY(-42%) scale(0.3); opacity: 0; }
1178
+ }
1179
+
1180
+ /* Memory pulses — fire on recall / important moments */
1181
+ .memory-ripple {
1182
+ position: absolute;
1183
+ inset: 22%;
1184
+ border-radius: 999px;
1185
+ border: 1.5px solid hsl(var(--memory) / 0.65);
1186
+ opacity: 0;
1187
+ pointer-events: none;
1188
+ }
1189
+
1190
+ .brain-organism.pulse .memory-ripple {
1191
+ animation: memory-ripple 1250ms ease-out forwards;
1192
+ }
1193
+
1194
+ @keyframes memory-ripple {
1195
+ 0% { transform: scale(0.7); opacity: 0.7; }
1196
+ 70% { opacity: 0.18; }
1197
+ 100% { transform: scale(1.65); opacity: 0; }
1198
+ }
1199
+
1200
+ /* Gentle label / state under the organism */
1201
+ .brain-presence-label {
1202
+ margin-top: 1.1rem;
1203
+ font-size: 0.78rem;
1204
+ letter-spacing: 0.5px;
1205
+ text-transform: uppercase;
1206
+ font-weight: 600;
1207
+ color: hsl(var(--fg-muted));
1208
+ display: inline-flex;
1209
+ align-items: center;
1210
+ gap: 0.5rem;
1211
+ }
1212
+
1213
+ .brain-presence-label .dot {
1214
+ width: 5px;
1215
+ height: 5px;
1216
+ border-radius: 999px;
1217
+ background: hsl(var(--brain-core));
1218
+ box-shadow: 0 0 0 3px hsl(var(--brain-core) / 0.18);
1219
+ animation: presence-dot 2.8s ease-in-out infinite;
1220
+ }
1221
+
1222
+ .brain-presence-label[data-state="thinking"] .dot { background: hsl(var(--memory)); animation-duration: 1.1s; }
1223
+
1224
+ /* The intimate conversation — primary interaction, spacious, human */
1225
+ .brain-conversation {
1226
+ position: relative;
1227
+ z-index: 3;
1228
+ flex: 1 1 auto;
1229
+ display: flex;
1230
+ flex-direction: column;
1231
+ max-width: 780px;
1232
+ margin: 0 auto;
1233
+ width: 100%;
1234
+ padding: 0 1.25rem 1.75rem;
1235
+ }
1236
+
1237
+ .brain-conversation-header {
1238
+ display: flex;
1239
+ align-items: center;
1240
+ justify-content: space-between;
1241
+ gap: 0.75rem;
1242
+ padding-bottom: 0.65rem;
1243
+ color: hsl(var(--fg-muted));
1244
+ font-size: 0.75rem;
1245
+ letter-spacing: 0.4px;
1246
+ text-transform: uppercase;
1247
+ }
1248
+
1249
+ .brain-ownership-strip {
1250
+ display: flex;
1251
+ flex: 1 1 auto;
1252
+ justify-content: center;
1253
+ gap: 0.45rem;
1254
+ min-width: 0;
1255
+ }
1256
+
1257
+ .brain-ownership-strip span {
1258
+ border: 1px solid hsl(var(--border) / 0.58);
1259
+ border-radius: 999px;
1260
+ background: hsl(var(--surface-glass));
1261
+ padding: 0.28rem 0.58rem;
1262
+ color: hsl(var(--fg-muted));
1263
+ font-size: 0.62rem;
1264
+ font-weight: 780;
1265
+ white-space: nowrap;
1266
+ }
1267
+
1268
+ .brain-admin-link {
1269
+ display: inline-flex;
1270
+ min-height: 2rem;
1271
+ align-items: center;
1272
+ gap: 0.35rem;
1273
+ border: 1px solid hsl(var(--border) / 0.58);
1274
+ border-radius: 999px;
1275
+ background: hsl(var(--surface-glass));
1276
+ color: hsl(var(--fg-muted));
1277
+ padding: 0 0.62rem;
1278
+ font-size: 0.68rem;
1279
+ font-weight: 820;
1280
+ letter-spacing: 0;
1281
+ text-transform: none;
1282
+ transition: border-color 150ms ease, color 150ms ease, background 150ms ease;
1283
+ }
1284
+
1285
+ .brain-admin-link:hover,
1286
+ .brain-admin-link:focus-visible {
1287
+ border-color: hsl(var(--brain-core) / 0.72);
1288
+ background: hsl(var(--brain-core) / 0.08);
1289
+ color: hsl(var(--fg));
1290
+ outline: none;
1291
+ }
1292
+
1293
+ .brain-stream {
1294
+ flex: 1 1 auto;
1295
+ overflow-y: auto;
1296
+ padding: 1rem 0.25rem 1.5rem;
1297
+ scroll-behavior: smooth;
1298
+ mask-image: linear-gradient(transparent, black 6%, black 92%, transparent);
1299
+ }
1300
+
1301
+ .brain-message {
1302
+ max-width: 78%;
1303
+ margin-bottom: 1.1rem;
1304
+ animation: message-enter 260ms cubic-bezier(0.23, 1, 0.32, 1);
1305
+ }
1306
+
1307
+ .brain-message.user { margin-left: auto; text-align: right; }
1308
+
1309
+ .brain-message-bubble {
1310
+ padding: 0.85rem 1.1rem;
1311
+ border-radius: 18px;
1312
+ font-size: 1.01rem;
1313
+ line-height: 1.45;
1314
+ white-space: pre-wrap;
1315
+ box-shadow: 0 1px 2px hsl(0 0% 0% / 0.12);
1316
+ }
1317
+
1318
+ .brain-message.user .brain-message-bubble {
1319
+ background: hsl(var(--brain-core) / 0.12);
1320
+ color: hsl(var(--fg));
1321
+ border-bottom-right-radius: 6px;
1322
+ }
1323
+
1324
+ .brain-message.assistant .brain-message-bubble {
1325
+ background: hsl(var(--surface) / 0.96);
1326
+ border: 1px solid hsl(var(--border) / 0.7);
1327
+ color: hsl(var(--fg));
1328
+ border-bottom-left-radius: 6px;
1329
+ }
1330
+
1331
+ @keyframes message-enter {
1332
+ from { opacity: 0; transform: translateY(6px); }
1333
+ to { opacity: 1; transform: none; }
1334
+ }
1335
+
1336
+ .brain-composer {
1337
+ position: relative;
1338
+ z-index: 10;
1339
+ margin-top: auto;
1340
+ padding: 0.85rem 0.6rem 0.35rem;
1341
+ background: linear-gradient(180deg, transparent, hsl(var(--bg)) 36%);
1342
+ }
1343
+
1344
+ .brain-composer textarea {
1345
+ width: 100%;
1346
+ min-height: 3.4rem;
1347
+ max-height: 9.5rem;
1348
+ resize: none;
1349
+ background: hsl(var(--surface) / 0.92);
1350
+ border: 1px solid hsl(var(--border) / 0.8);
1351
+ border-radius: 16px;
1352
+ padding: 0.95rem 1.15rem;
1353
+ font-size: 1.02rem;
1354
+ line-height: 1.4;
1355
+ color: hsl(var(--fg));
1356
+ outline: none;
1357
+ transition: border-color 160ms ease, box-shadow 160ms ease;
1358
+ }
1359
+
1360
+ .brain-composer textarea:focus {
1361
+ border-color: hsl(var(--brain-core) / 0.6);
1362
+ box-shadow: 0 0 0 3px hsl(var(--brain-core) / 0.08);
1363
+ }
1364
+
1365
+ .brain-composer-actions {
1366
+ display: flex;
1367
+ align-items: center;
1368
+ gap: 0.6rem;
1369
+ margin-top: 0.55rem;
1370
+ padding: 0 0.35rem;
1371
+ }
1372
+
1373
+ /* Progressive depths navigation — subtle, never a "sidebar" */
1374
+ .depths {
1375
+ position: fixed;
1376
+ bottom: 1.35rem;
1377
+ left: 50%;
1378
+ transform: translateX(-50%);
1379
+ z-index: 40;
1380
+ display: flex;
1381
+ gap: 0.35rem;
1382
+ padding: 0.25rem;
1383
+ background: hsl(var(--surface-glass));
1384
+ border: 1px solid hsl(var(--border) / 0.6);
1385
+ border-radius: 999px;
1386
+ backdrop-filter: blur(18px);
1387
+ }
1388
+
1389
+ .depth {
1390
+ display: inline-flex;
1391
+ align-items: center;
1392
+ gap: 0.4rem;
1393
+ padding: 0.38rem 0.95rem;
1394
+ font-size: 0.78rem;
1395
+ letter-spacing: 0.2px;
1396
+ color: hsl(var(--fg-muted));
1397
+ border-radius: 999px;
1398
+ transition: all 160ms ease;
1399
+ cursor: pointer;
1400
+ user-select: none;
1401
+ }
1402
+
1403
+ .depth:hover {
1404
+ color: hsl(var(--fg));
1405
+ background: hsl(var(--bg) / 0.6);
1406
+ }
1407
+
1408
+ .depth.active {
1409
+ color: hsl(var(--fg));
1410
+ background: hsl(var(--brain-core) / 0.11);
1411
+ }
1412
+
1413
+ /* Full-bleed contemplative chambers for Memory / Knowledge / Relationships / Map */
1414
+ .mind-chamber {
1415
+ position: fixed;
1416
+ inset: 0;
1417
+ z-index: 50;
1418
+ background: hsl(var(--bg));
1419
+ display: flex;
1420
+ flex-direction: column;
1421
+ overflow: hidden;
1422
+ animation: chamber-enter 420ms cubic-bezier(0.23, 1.0, 0.32, 1);
1423
+ }
1424
+
1425
+ @keyframes chamber-enter {
1426
+ from { opacity: 0; transform: translateY(12px); }
1427
+ to { opacity: 1; transform: none; }
1428
+ }
1429
+
1430
+ .chamber-head {
1431
+ display: flex;
1432
+ align-items: center;
1433
+ justify-content: space-between;
1434
+ padding: 1.35rem 2rem 0.9rem;
1435
+ border-bottom: 1px solid hsl(var(--border) / 0.5);
1436
+ flex-shrink: 0;
1437
+ }
1438
+
1439
+ .chamber-head .brain-trace {
1440
+ width: 38px;
1441
+ height: 38px;
1442
+ opacity: 0.6;
1443
+ }
1444
+
1445
+ .chamber-title {
1446
+ font-size: 1.05rem;
1447
+ font-weight: 620;
1448
+ letter-spacing: -0.1px;
1449
+ }
1450
+
1451
+ .chamber-body {
1452
+ flex: 1 1 auto;
1453
+ overflow-y: auto;
1454
+ padding: 1.75rem 2rem 3.5rem;
1455
+ max-width: 1080px;
1456
+ margin: 0 auto;
1457
+ width: 100%;
1458
+ }
1459
+
1460
+ /* The Map — artistic, slow, contemplative. Not a tool. */
1461
+ .mind-map-frame {
1462
+ height: calc(100vh - 9.5rem);
1463
+ border-radius: 18px;
1464
+ border: 1px solid hsl(var(--border) / 0.55);
1465
+ background: hsl(var(--bg-elevated));
1466
+ overflow: hidden;
1467
+ box-shadow: inset 0 0 120px hsl(0 0% 0% / 0.35);
1468
+ position: relative;
1469
+ }
1470
+
1471
+ /* Brain as living entry point — progressive revelation / travel into the mind */
1472
+ .brain-exploration {
1473
+ position: relative;
1474
+ flex: 1;
1475
+ display: flex;
1476
+ align-items: center;
1477
+ justify-content: center;
1478
+ min-height: 320px;
1479
+ transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1);
1480
+ }
1481
+
1482
+ .brain-field-layer {
1483
+ position: absolute;
1484
+ inset: 0;
1485
+ pointer-events: none;
1486
+ z-index: 1;
1487
+ }
1488
+
1489
+ .brain-exploration[data-depth="1"] .brain-field-layer {
1490
+ pointer-events: auto;
1491
+ }
1492
+
1493
+ .memory-orb, .knowledge-node {
1494
+ position: absolute;
1495
+ background: hsl(var(--memory) / 0.85);
1496
+ color: hsl(var(--bg));
1497
+ border-radius: 999px;
1498
+ font-size: 0.7rem;
1499
+ padding: 0.25rem 0.6rem;
1500
+ box-shadow: 0 2px 8px hsl(0 0% 0% / 0.3);
1501
+ white-space: nowrap;
1502
+ max-width: 160px;
1503
+ overflow: hidden;
1504
+ text-overflow: ellipsis;
1505
+ cursor: pointer;
1506
+ transition: transform 200ms ease, opacity 400ms ease, background 200ms ease;
1507
+ pointer-events: auto;
1508
+ transform-origin: center;
1509
+ }
1510
+
1511
+ .memory-orb {
1512
+ background: hsl(var(--memory));
1513
+ font-size: 0.65rem;
1514
+ padding: 0.2rem 0.5rem;
1515
+ }
1516
+
1517
+ .knowledge-node {
1518
+ background: hsl(var(--knowledge) / 0.9);
1519
+ border-radius: 8px;
1520
+ font-size: 0.72rem;
1521
+ }
1522
+
1523
+ .brain-exploration[data-depth="2"] .memory-orb,
1524
+ .brain-exploration[data-depth="3"] .memory-orb {
1525
+ animation: emerge-from-brain 800ms ease forwards;
1526
+ }
1527
+
1528
+ .brain-exploration[data-depth="3"] .knowledge-node,
1529
+ .brain-exploration[data-depth="4"] .knowledge-node {
1530
+ animation: emerge-from-brain 900ms ease forwards;
1531
+ }
1532
+
1533
+ @keyframes emerge-from-brain {
1534
+ from { transform: scale(0.2) translateY(40px); opacity: 0; }
1535
+ to { transform: scale(1) translateY(0); opacity: 1; }
1536
+ }
1537
+
1538
+ .relationship-edge {
1539
+ position: absolute;
1540
+ height: 1px;
1541
+ background: linear-gradient(90deg, transparent, hsl(var(--connection) / 0.6), transparent);
1542
+ pointer-events: none;
1543
+ z-index: 0;
1544
+ transition: opacity 400ms ease;
1545
+ }
1546
+
1547
+ .brain-exploration[data-depth="0"] .brain-field-layer > * { opacity: 0; pointer-events: none; }
1548
+ .brain-exploration[data-depth="1"] .memory-orb { opacity: 0.9; }
1549
+ .brain-exploration[data-depth="2"] .memory-orb { opacity: 1; }
1550
+ .brain-exploration[data-depth="3"] .knowledge-node { opacity: 0.95; }
1551
+ .brain-exploration[data-depth="4"] .relationship-edge { opacity: 0.7; }
1552
+ .brain-exploration[data-depth="5"] .mind-core-graph { opacity: 1; pointer-events: auto; }
1553
+
1554
+ .mind-core-graph {
1555
+ position: absolute;
1556
+ inset: 8%;
1557
+ border-radius: 50%;
1558
+ background: hsl(var(--bg) / 0.6);
1559
+ border: 1px solid hsl(var(--brain-core) / 0.3);
1560
+ overflow: hidden;
1561
+ opacity: 0;
1562
+ transition: opacity 500ms ease;
1563
+ z-index: 2;
1564
+ }
1565
+
1566
+ .brain-surface-control {
1567
+ position: absolute;
1568
+ top: 1rem;
1569
+ right: 1rem;
1570
+ z-index: 10;
1571
+ font-size: 0.7rem;
1572
+ padding: 0.25rem 0.6rem;
1573
+ background: hsl(var(--surface-glass));
1574
+ border: 1px solid hsl(var(--border) / 0.6);
1575
+ border-radius: 999px;
1576
+ cursor: pointer;
1577
+ opacity: 0.7;
1578
+ transition: opacity 150ms;
1579
+ }
1580
+
1581
+ .brain-surface-control:hover { opacity: 1; }
1582
+
1583
+ .brain-depth-indicator {
1584
+ position: absolute;
1585
+ bottom: -1.6rem;
1586
+ left: 50%;
1587
+ transform: translateX(-50%);
1588
+ font-size: 0.65rem;
1589
+ letter-spacing: 1px;
1590
+ text-transform: uppercase;
1591
+ color: hsl(var(--fg-muted));
1592
+ white-space: nowrap;
1593
+ }
1594
+
1595
+ .brain-organism.depth-1 .thought-particle { opacity: 0.7; }
1596
+ .brain-organism.depth-3 .thought-particle.resolving,
1597
+ .brain-organism.depth-4 .thought-particle.resolving,
1598
+ .brain-organism.depth-5 .thought-particle.resolving {
1599
+ background: hsl(var(--knowledge));
1600
+ box-shadow: 0 0 4px hsl(var(--knowledge));
1601
+ animation-duration: 1.8s;
1602
+ }
1603
+
1604
+ .brain-inner-structure {
1605
+ position: absolute;
1606
+ inset: 22%;
1607
+ opacity: 0.45;
1608
+ transition: opacity 400ms ease;
1609
+ }
1610
+
1611
+ .brain-exploration.is-exploring .brain-inner-structure {
1612
+ opacity: 0.75;
1613
+ }
1614
+
1615
+ .brain-surface-control {
1616
+ position: absolute;
1617
+ top: 0.6rem;
1618
+ right: 0.6rem;
1619
+ z-index: 10;
1620
+ font-size: 0.68rem;
1621
+ padding: 0.2rem 0.55rem;
1622
+ background: hsl(var(--surface-glass));
1623
+ border: 1px solid hsl(var(--border) / 0.55);
1624
+ border-radius: 999px;
1625
+ cursor: pointer;
1626
+ color: hsl(var(--fg-muted));
1627
+ transition: all 150ms;
1628
+ }
1629
+
1630
+ .brain-surface-control:hover {
1631
+ color: hsl(var(--fg));
1632
+ border-color: hsl(var(--brain-core) / 0.4);
1633
+ }
1634
+
1635
+ .mind-map-frame::before {
1636
+ content: "The architecture of your mind";
1637
+ position: absolute;
1638
+ top: 1.1rem;
1639
+ left: 1.35rem;
1640
+ font-size: 0.72rem;
1641
+ letter-spacing: 1.5px;
1642
+ text-transform: uppercase;
1643
+ color: hsl(var(--fg-muted) / 0.7);
1644
+ z-index: 2;
1645
+ pointer-events: none;
1646
+ }
1647
+
1648
+ .mind-map-frame .brain-trace {
1649
+ position: absolute;
1650
+ top: 1rem;
1651
+ right: 1.25rem;
1652
+ z-index: 2;
1653
+ opacity: 0.5;
1654
+ }
1655
+
1656
+ /* Small persistent trace of the Brain when in depths */
1657
+ .brain-trace {
1658
+ width: 42px;
1659
+ height: 42px;
1660
+ border-radius: 999px;
1661
+ background: radial-gradient(circle at 40% 32%, hsl(var(--brain-halo)), hsl(var(--brain-core)));
1662
+ box-shadow: 0 0 0 1px hsl(var(--brain-core) / 0.3), 0 0 18px hsl(var(--brain-core) / 0.25);
1663
+ display: grid;
1664
+ place-items: center;
1665
+ font-size: 10px;
1666
+ color: hsl(var(--bg));
1667
+ font-weight: 700;
1668
+ letter-spacing: 0.5px;
1669
+ }
1670
+
1671
+ .brain-home {
1672
+ position: relative;
1673
+ z-index: 1;
1674
+ display: flex;
1675
+ min-height: 100vh;
1676
+ flex-direction: column;
1677
+ }
1678
+
1679
+ .brain-organism {
1680
+ z-index: 3;
1681
+ }
1682
+
1683
+ .brain-exploration {
1684
+ width: min(100%, 58rem);
1685
+ margin-inline: auto;
1686
+ }
1687
+
1688
+ .brain-exploration[data-depth="1"] .brain-field-layer {
1689
+ pointer-events: none;
1690
+ }
1691
+
1692
+ .brain-exploration[data-depth="2"] .brain-field-layer,
1693
+ .brain-exploration[data-depth="3"] .brain-field-layer,
1694
+ .brain-exploration[data-depth="4"] .brain-field-layer,
1695
+ .brain-exploration[data-depth="5"] .brain-field-layer {
1696
+ z-index: 4;
1697
+ pointer-events: none;
1698
+ }
1699
+
1700
+ .brain-exploration[data-depth="5"] {
1701
+ width: min(calc(100vw - 2rem), 980px);
1702
+ min-height: min(62vh, 570px);
1703
+ }
1704
+
1705
+ .brain-exploration[data-depth="5"] .brain-field-layer {
1706
+ z-index: 7;
1707
+ }
1708
+
1709
+ .brain-exploration[data-depth="5"] .brain-organism {
1710
+ opacity: 0.2;
1711
+ pointer-events: none;
1712
+ }
1713
+
1714
+ .brain-depth-badge {
1715
+ position: absolute;
1716
+ left: 50%;
1717
+ bottom: 0.2rem;
1718
+ z-index: 5;
1719
+ display: grid;
1720
+ min-width: 11rem;
1721
+ transform: translateX(-50%);
1722
+ justify-items: center;
1723
+ gap: 0.18rem;
1724
+ border: 1px solid hsl(var(--border) / 0.58);
1725
+ border-radius: 999px;
1726
+ background: hsl(var(--surface-glass));
1727
+ padding: 0.48rem 0.95rem;
1728
+ backdrop-filter: blur(18px);
1729
+ box-shadow: 0 12px 32px hsl(200 30% 3% / 0.22);
1730
+ }
1731
+
1732
+ .brain-depth-badge span {
1733
+ color: hsl(var(--fg-muted));
1734
+ font-size: 0.62rem;
1735
+ font-weight: 800;
1736
+ text-transform: uppercase;
1737
+ }
1738
+
1739
+ .brain-depth-badge strong {
1740
+ font-size: 0.88rem;
1741
+ line-height: 1.05;
1742
+ }
1743
+
1744
+ .memory-fragment,
1745
+ .concept-signal,
1746
+ .graph-node {
1747
+ position: absolute;
1748
+ left: var(--x, 50%);
1749
+ top: var(--y, 50%);
1750
+ z-index: 4;
1751
+ transform: translate(-50%, -50%);
1752
+ border: 1px solid hsl(var(--border) / 0.72);
1753
+ background: hsl(var(--surface-glass));
1754
+ color: hsl(var(--fg));
1755
+ text-align: left;
1756
+ backdrop-filter: blur(16px);
1757
+ animation: emerge-from-brain 680ms cubic-bezier(0.23, 1, 0.32, 1) both;
1758
+ animation-delay: var(--delay, 0ms);
1759
+ }
1760
+
1761
+ .memory-fragment {
1762
+ display: grid;
1763
+ min-width: 8.2rem;
1764
+ max-width: 12.5rem;
1765
+ gap: 0.12rem;
1766
+ border-color: hsl(var(--memory) / 0.38);
1767
+ border-radius: 8px;
1768
+ padding: 0.58rem 0.7rem;
1769
+ box-shadow:
1770
+ 0 0 0 1px hsl(var(--memory) / 0.08) inset,
1771
+ 0 14px 32px hsl(190 35% 3% / 0.24);
1772
+ }
1773
+
1774
+ .memory-fragment span,
1775
+ .concept-signal span,
1776
+ .graph-node span,
1777
+ .brain-graph-head span,
1778
+ .brain-graph-focus span {
1779
+ color: hsl(var(--fg-muted));
1780
+ font-size: 0.62rem;
1781
+ font-weight: 800;
1782
+ text-transform: uppercase;
1783
+ }
1784
+
1785
+ .memory-fragment strong {
1786
+ overflow: hidden;
1787
+ color: hsl(var(--fg));
1788
+ font-size: 0.82rem;
1789
+ line-height: 1.18;
1790
+ text-overflow: ellipsis;
1791
+ white-space: nowrap;
1792
+ }
1793
+
1794
+ .memory-fragment:hover,
1795
+ .memory-fragment:focus-visible,
1796
+ .concept-signal:hover,
1797
+ .concept-signal:focus-visible,
1798
+ .graph-node:hover,
1799
+ .graph-node:focus-visible {
1800
+ border-color: hsl(var(--brain-core) / 0.66);
1801
+ outline: none;
1802
+ box-shadow: 0 0 0 3px hsl(var(--brain-core) / 0.08), 0 16px 38px hsl(200 35% 3% / 0.28);
1803
+ }
1804
+
1805
+ .memory-fragment.is-empty,
1806
+ .concept-signal.is-empty {
1807
+ left: 50%;
1808
+ top: 78%;
1809
+ pointer-events: none;
1810
+ color: hsl(var(--fg-muted));
1811
+ }
1812
+
1813
+ .concept-signal {
1814
+ display: inline-flex;
1815
+ max-width: 11rem;
1816
+ align-items: center;
1817
+ gap: 0.45rem;
1818
+ border-color: hsl(var(--knowledge) / 0.42);
1819
+ border-radius: 999px;
1820
+ padding: 0.42rem 0.72rem;
1821
+ color: hsl(var(--fg));
1822
+ font-size: 0.78rem;
1823
+ white-space: nowrap;
1824
+ }
1825
+
1826
+ .relationship-weave,
1827
+ .brain-graph-edges {
1828
+ position: absolute;
1829
+ inset: 0;
1830
+ z-index: 2;
1831
+ width: 100%;
1832
+ height: 100%;
1833
+ overflow: visible;
1834
+ pointer-events: none;
1835
+ }
1836
+
1837
+ .relationship-weave line {
1838
+ stroke: hsl(var(--connection) / 0.55);
1839
+ stroke-linecap: round;
1840
+ stroke-width: 0.42;
1841
+ stroke-dasharray: 3 5;
1842
+ animation: relationship-flow 2.8s linear infinite;
1843
+ }
1844
+
1845
+ .mind-core-graph {
1846
+ inset: 0;
1847
+ z-index: 8;
1848
+ display: grid;
1849
+ grid-template-rows: auto minmax(18rem, 1fr) auto;
1850
+ gap: 0.75rem;
1851
+ border-radius: 8px;
1852
+ border: 1px solid hsl(var(--brain-core) / 0.38);
1853
+ background:
1854
+ radial-gradient(42% 46% at 50% 42%, hsl(var(--brain-core) / 0.12), transparent 72%),
1855
+ linear-gradient(145deg, hsl(var(--surface) / 0.92), hsl(var(--bg) / 0.84));
1856
+ padding: 0.8rem;
1857
+ box-shadow: 0 28px 90px hsl(205 40% 3% / 0.46);
1858
+ backdrop-filter: blur(22px);
1859
+ pointer-events: auto;
1860
+ }
1861
+
1862
+ .brain-graph-head,
1863
+ .brain-graph-search,
1864
+ .brain-graph-focus {
1865
+ display: flex;
1866
+ align-items: center;
1867
+ }
1868
+
1869
+ .brain-graph-head {
1870
+ justify-content: space-between;
1871
+ gap: 0.85rem;
1872
+ }
1873
+
1874
+ .brain-graph-head strong {
1875
+ display: block;
1876
+ margin-top: 0.1rem;
1877
+ font-size: 1.05rem;
1878
+ }
1879
+
1880
+ .brain-graph-search {
1881
+ width: min(100%, 15rem);
1882
+ min-height: 2.25rem;
1883
+ gap: 0.45rem;
1884
+ border: 1px solid hsl(var(--border) / 0.72);
1885
+ border-radius: 999px;
1886
+ background: hsl(var(--bg) / 0.48);
1887
+ padding: 0 0.68rem;
1888
+ color: hsl(var(--fg-muted));
1889
+ }
1890
+
1891
+ .brain-graph-search input {
1892
+ min-width: 0;
1893
+ width: 100%;
1894
+ border: 0;
1895
+ background: transparent;
1896
+ color: hsl(var(--fg));
1897
+ outline: none;
1898
+ font-size: 0.86rem;
1899
+ }
1900
+
1901
+ .brain-graph-canvas {
1902
+ position: relative;
1903
+ min-height: 19rem;
1904
+ overflow: hidden;
1905
+ border: 1px solid hsl(var(--border) / 0.45);
1906
+ border-radius: 8px;
1907
+ background:
1908
+ radial-gradient(ellipse at center, hsl(var(--brain-core) / 0.09), transparent 54%),
1909
+ linear-gradient(hsl(var(--border) / 0.12) 1px, transparent 1px),
1910
+ linear-gradient(90deg, hsl(var(--border) / 0.12) 1px, transparent 1px);
1911
+ background-size: auto, 28px 28px, 28px 28px;
1912
+ }
1913
+
1914
+ .brain-graph-edges line {
1915
+ stroke: hsl(var(--connection) / 0.52);
1916
+ stroke-linecap: round;
1917
+ stroke-width: calc(var(--weight, 1) * 0.28);
1918
+ }
1919
+
1920
+ .graph-node {
1921
+ display: grid;
1922
+ max-width: 8.6rem;
1923
+ min-width: 5.3rem;
1924
+ gap: 0.08rem;
1925
+ border-color: hsl(var(--knowledge) / 0.4);
1926
+ border-radius: 8px;
1927
+ padding: 0.42rem 0.55rem;
1928
+ font-size: 0.76rem;
1929
+ line-height: 1.14;
1930
+ }
1931
+
1932
+ .graph-node.is-selected {
1933
+ border-color: hsl(var(--brain-core) / 0.86);
1934
+ background: hsl(var(--brain-core) / 0.14);
1935
+ }
1936
+
1937
+ .brain-graph-focus {
1938
+ min-height: 4rem;
1939
+ align-items: flex-start;
1940
+ gap: 0.72rem;
1941
+ border: 1px solid hsl(var(--border) / 0.55);
1942
+ border-radius: 8px;
1943
+ background: hsl(var(--bg) / 0.48);
1944
+ padding: 0.72rem;
1945
+ }
1946
+
1947
+ .brain-graph-focus strong,
1948
+ .brain-graph-focus p {
1949
+ display: block;
1950
+ }
1951
+
1952
+ .brain-graph-focus strong {
1953
+ font-size: 0.95rem;
1954
+ }
1955
+
1956
+ .brain-graph-focus p {
1957
+ margin: 0.18rem 0 0;
1958
+ color: hsl(var(--fg-muted));
1959
+ font-size: 0.84rem;
1960
+ line-height: 1.45;
1961
+ }
1962
+
1963
+ .brain-graph-empty {
1964
+ display: grid;
1965
+ min-height: 19rem;
1966
+ place-items: center;
1967
+ color: hsl(var(--fg-muted));
1968
+ }
1969
+
1970
+ .brain-conversation-header h1 {
1971
+ margin: 0;
1972
+ color: hsl(var(--fg));
1973
+ font-size: 1rem;
1974
+ line-height: 1.05;
1975
+ }
1976
+
1977
+ .brain-conversation-header span {
1978
+ display: block;
1979
+ margin-top: 0.2rem;
1980
+ }
1981
+
1982
+ .brain-care-panel {
1983
+ display: grid;
1984
+ border: 1px solid hsl(var(--border) / 0.64);
1985
+ border-radius: 8px;
1986
+ background:
1987
+ linear-gradient(135deg, hsl(var(--surface-glass)), hsl(var(--bg) / 0.68)),
1988
+ linear-gradient(90deg, hsl(var(--memory) / 0.08), transparent 45%, hsl(var(--brain-core) / 0.08));
1989
+ overflow: hidden;
1990
+ box-shadow: 0 14px 36px hsl(200 30% 3% / 0.2);
1991
+ backdrop-filter: blur(18px);
1992
+ }
1993
+
1994
+ .brain-care-summary {
1995
+ display: flex;
1996
+ width: 100%;
1997
+ align-items: center;
1998
+ justify-content: space-between;
1999
+ gap: 0.75rem;
2000
+ border: 0;
2001
+ background: transparent;
2002
+ color: inherit;
2003
+ padding: 0.72rem 0.82rem;
2004
+ text-align: left;
2005
+ }
2006
+
2007
+ .brain-care-summary:hover,
2008
+ .brain-care-summary:focus-visible {
2009
+ background: hsl(var(--memory) / 0.07);
2010
+ outline: none;
2011
+ }
2012
+
2013
+ .brain-care-summary-main {
2014
+ display: grid;
2015
+ min-width: 0;
2016
+ gap: 0.16rem;
2017
+ }
2018
+
2019
+ .brain-care-summary-main span,
2020
+ .brain-care-proof span,
2021
+ .brain-care-button small,
2022
+ .brain-care-note,
2023
+ .brain-care-result {
2024
+ color: hsl(var(--fg-muted));
2025
+ font-size: 0.72rem;
2026
+ }
2027
+
2028
+ .brain-care-summary-main span {
2029
+ display: inline-flex;
2030
+ align-items: center;
2031
+ gap: 0.36rem;
2032
+ font-weight: 800;
2033
+ text-transform: uppercase;
2034
+ }
2035
+
2036
+ .brain-care-summary-main strong {
2037
+ display: block;
2038
+ overflow: hidden;
2039
+ color: hsl(var(--fg));
2040
+ font-size: 0.94rem;
2041
+ line-height: 1.16;
2042
+ text-overflow: ellipsis;
2043
+ white-space: nowrap;
2044
+ }
2045
+
2046
+ .brain-care-proof {
2047
+ display: flex;
2048
+ flex-wrap: wrap;
2049
+ justify-content: flex-end;
2050
+ gap: 0.35rem;
2051
+ }
2052
+
2053
+ .brain-care-proof span {
2054
+ border: 1px solid hsl(var(--border) / 0.58);
2055
+ border-radius: 999px;
2056
+ background: hsl(var(--bg) / 0.42);
2057
+ padding: 0.25rem 0.48rem;
2058
+ white-space: nowrap;
2059
+ }
2060
+
2061
+ .brain-care-toggle {
2062
+ flex: 0 0 auto;
2063
+ color: hsl(var(--fg-muted));
2064
+ transition: transform 150ms ease;
2065
+ }
2066
+
2067
+ .brain-care-panel.is-expanded .brain-care-toggle {
2068
+ transform: rotate(180deg);
2069
+ }
2070
+
2071
+ .brain-care-details {
2072
+ display: grid;
2073
+ gap: 0.75rem;
2074
+ border-top: 1px solid hsl(var(--border) / 0.5);
2075
+ padding: 0.82rem;
2076
+ }
2077
+
2078
+ .brain-care-actions,
2079
+ .brain-care-archive,
2080
+ .brain-care-archive-actions {
2081
+ display: flex;
2082
+ gap: 0.5rem;
2083
+ }
2084
+
2085
+ .brain-care-actions {
2086
+ flex-wrap: wrap;
2087
+ }
2088
+
2089
+ .brain-care-button {
2090
+ display: inline-flex;
2091
+ min-width: 7.2rem;
2092
+ flex: 1 1 7.2rem;
2093
+ align-items: center;
2094
+ gap: 0.52rem;
2095
+ border: 1px solid hsl(var(--border) / 0.68);
2096
+ border-radius: 8px;
2097
+ background: hsl(var(--bg) / 0.42);
2098
+ padding: 0.58rem 0.62rem;
2099
+ color: hsl(var(--fg));
2100
+ text-align: left;
2101
+ transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
2102
+ }
2103
+
2104
+ .brain-care-button:hover:not(:disabled),
2105
+ .brain-care-button:focus-visible {
2106
+ border-color: hsl(var(--memory) / 0.72);
2107
+ background: hsl(var(--memory) / 0.08);
2108
+ outline: none;
2109
+ transform: translateY(-1px);
2110
+ }
2111
+
2112
+ .brain-care-button:disabled {
2113
+ cursor: not-allowed;
2114
+ opacity: 0.52;
2115
+ }
2116
+
2117
+ .brain-care-button svg {
2118
+ flex: 0 0 auto;
2119
+ color: hsl(var(--memory));
2120
+ }
2121
+
2122
+ .brain-care-button span {
2123
+ display: grid;
2124
+ min-width: 0;
2125
+ gap: 0.08rem;
2126
+ }
2127
+
2128
+ .brain-care-button strong {
2129
+ overflow: hidden;
2130
+ font-size: 0.82rem;
2131
+ line-height: 1.12;
2132
+ text-overflow: ellipsis;
2133
+ white-space: nowrap;
2134
+ }
2135
+
2136
+ .brain-care-button small {
2137
+ overflow: hidden;
2138
+ line-height: 1.1;
2139
+ text-overflow: ellipsis;
2140
+ white-space: nowrap;
2141
+ }
2142
+
2143
+ .brain-care-archive {
2144
+ flex-wrap: wrap;
2145
+ }
2146
+
2147
+ .brain-care-archive input {
2148
+ min-width: 0;
2149
+ min-height: 2.2rem;
2150
+ flex: 1 1 12rem;
2151
+ border: 1px solid hsl(var(--border) / 0.68);
2152
+ border-radius: 8px;
2153
+ background: hsl(var(--bg) / 0.5);
2154
+ color: hsl(var(--fg));
2155
+ outline: none;
2156
+ padding: 0 0.68rem;
2157
+ font-size: 0.82rem;
2158
+ }
2159
+
2160
+ .brain-care-archive input:focus {
2161
+ border-color: hsl(var(--brain-core) / 0.68);
2162
+ box-shadow: 0 0 0 3px hsl(var(--brain-core) / 0.1);
2163
+ }
2164
+
2165
+ .brain-care-archive-actions {
2166
+ flex: 1 1 14rem;
2167
+ flex-wrap: wrap;
2168
+ }
2169
+
2170
+ .brain-care-archive-actions button {
2171
+ flex: 1 1 6.6rem;
2172
+ min-height: 2.2rem;
2173
+ border-radius: 8px;
2174
+ }
2175
+
2176
+ .brain-care-note,
2177
+ .brain-care-result {
2178
+ margin: 0;
2179
+ line-height: 1.35;
2180
+ }
2181
+
2182
+ .brain-care-result {
2183
+ border: 1px solid hsl(var(--border) / 0.58);
2184
+ border-radius: 8px;
2185
+ background: hsl(var(--bg) / 0.38);
2186
+ padding: 0.48rem 0.58rem;
2187
+ }
2188
+
2189
+ .brain-care-result.is-ok {
2190
+ border-color: hsl(var(--memory) / 0.46);
2191
+ color: hsl(var(--memory));
2192
+ }
2193
+
2194
+ .brain-care-result.is-error {
2195
+ border-color: hsl(var(--destructive) / 0.46);
2196
+ color: hsl(var(--destructive));
2197
+ }
2198
+
2199
+ .admin-console {
2200
+ position: relative;
2201
+ z-index: 2;
2202
+ width: min(1180px, calc(100vw - 2rem));
2203
+ margin: 0 auto;
2204
+ padding: clamp(1rem, 3vw, 2.25rem) 0 3rem;
2205
+ }
2206
+
2207
+ .admin-console-header {
2208
+ display: flex;
2209
+ align-items: flex-start;
2210
+ gap: 1rem;
2211
+ margin-bottom: 1rem;
2212
+ border-bottom: 1px solid hsl(var(--border) / 0.55);
2213
+ padding-bottom: 1rem;
2214
+ }
2215
+
2216
+ .admin-console-header h1,
2217
+ .admin-panel-head h2 {
2218
+ margin: 0;
2219
+ color: hsl(var(--fg));
2220
+ letter-spacing: 0;
2221
+ }
2222
+
2223
+ .admin-console-header h1 {
2224
+ font-size: clamp(1.75rem, 4vw, 3rem);
2225
+ line-height: 1;
2226
+ }
2227
+
2228
+ .admin-console-header span,
2229
+ .admin-panel-head span,
2230
+ .admin-metric span,
2231
+ .admin-list-row span,
2232
+ .admin-empty,
2233
+ .admin-operation span,
2234
+ .admin-metric small {
2235
+ color: hsl(var(--fg-muted));
2236
+ }
2237
+
2238
+ .admin-console-header > div > span,
2239
+ .admin-panel-head span,
2240
+ .admin-metric span {
2241
+ font-size: 0.72rem;
2242
+ font-weight: 850;
2243
+ text-transform: uppercase;
2244
+ }
2245
+
2246
+ .admin-console-header p {
2247
+ max-width: 44rem;
2248
+ margin: 0.5rem 0 0;
2249
+ color: hsl(var(--fg-muted));
2250
+ line-height: 1.45;
2251
+ }
2252
+
2253
+ .admin-back-button {
2254
+ display: inline-flex;
2255
+ flex: 0 0 auto;
2256
+ min-height: 2.4rem;
2257
+ align-items: center;
2258
+ gap: 0.45rem;
2259
+ border: 1px solid hsl(var(--border) / 0.7);
2260
+ border-radius: 999px;
2261
+ background: hsl(var(--surface-glass));
2262
+ color: hsl(var(--fg));
2263
+ padding: 0 0.85rem;
2264
+ }
2265
+
2266
+ .admin-back-button:hover,
2267
+ .admin-back-button:focus-visible {
2268
+ border-color: hsl(var(--brain-core) / 0.72);
2269
+ outline: none;
2270
+ }
2271
+
2272
+ .admin-metrics,
2273
+ .admin-grid {
2274
+ display: grid;
2275
+ gap: 0.85rem;
2276
+ }
2277
+
2278
+ .admin-metrics {
2279
+ grid-template-columns: repeat(4, minmax(0, 1fr));
2280
+ margin-bottom: 0.85rem;
2281
+ }
2282
+
2283
+ .admin-metric,
2284
+ .admin-panel {
2285
+ border: 1px solid hsl(var(--border) / 0.68);
2286
+ border-radius: 8px;
2287
+ background:
2288
+ linear-gradient(180deg, hsl(var(--surface-glass)), hsl(var(--bg) / 0.68)),
2289
+ linear-gradient(90deg, hsl(var(--memory) / 0.06), transparent 42%, hsl(var(--knowledge) / 0.06));
2290
+ box-shadow: 0 18px 46px hsl(200 30% 3% / 0.22);
2291
+ backdrop-filter: blur(18px);
2292
+ }
2293
+
2294
+ .admin-metric {
2295
+ display: grid;
2296
+ gap: 0.18rem;
2297
+ min-height: 8.2rem;
2298
+ padding: 0.9rem;
2299
+ }
2300
+
2301
+ .admin-metric > div {
2302
+ display: grid;
2303
+ width: 2.1rem;
2304
+ height: 2.1rem;
2305
+ place-items: center;
2306
+ border-radius: 8px;
2307
+ background: hsl(var(--brain-core) / 0.12);
2308
+ color: hsl(var(--brain-core));
2309
+ }
2310
+
2311
+ .admin-metric strong {
2312
+ overflow: hidden;
2313
+ font-size: 1.45rem;
2314
+ line-height: 1.05;
2315
+ text-overflow: ellipsis;
2316
+ white-space: nowrap;
2317
+ }
2318
+
2319
+ .admin-metric small {
2320
+ overflow: hidden;
2321
+ font-size: 0.74rem;
2322
+ text-overflow: ellipsis;
2323
+ white-space: nowrap;
2324
+ }
2325
+
2326
+ .admin-grid {
2327
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2328
+ }
2329
+
2330
+ .admin-panel {
2331
+ display: grid;
2332
+ align-content: start;
2333
+ gap: 0.8rem;
2334
+ min-height: 20rem;
2335
+ padding: 0.95rem;
2336
+ }
2337
+
2338
+ .admin-panel-head {
2339
+ display: grid;
2340
+ gap: 0.14rem;
2341
+ }
2342
+
2343
+ .admin-panel-head h2 {
2344
+ font-size: 1.1rem;
2345
+ }
2346
+
2347
+ .admin-list {
2348
+ display: grid;
2349
+ gap: 0.45rem;
2350
+ }
2351
+
2352
+ .admin-list-row {
2353
+ display: flex;
2354
+ min-height: 3.15rem;
2355
+ align-items: center;
2356
+ justify-content: space-between;
2357
+ gap: 0.75rem;
2358
+ border: 1px solid hsl(var(--border) / 0.48);
2359
+ border-radius: 8px;
2360
+ background: hsl(var(--bg) / 0.35);
2361
+ padding: 0.58rem 0.65rem;
2362
+ }
2363
+
2364
+ .admin-list-row strong,
2365
+ .admin-list-row span {
2366
+ overflow: hidden;
2367
+ text-overflow: ellipsis;
2368
+ white-space: nowrap;
2369
+ }
2370
+
2371
+ .admin-list-row strong {
2372
+ min-width: 0;
2373
+ font-size: 0.88rem;
2374
+ }
2375
+
2376
+ .admin-list-row span {
2377
+ flex: 0 1 45%;
2378
+ text-align: right;
2379
+ font-size: 0.74rem;
2380
+ }
2381
+
2382
+ .admin-empty {
2383
+ display: grid;
2384
+ min-height: 11rem;
2385
+ place-items: center;
2386
+ border: 1px dashed hsl(var(--border) / 0.6);
2387
+ border-radius: 8px;
2388
+ background: hsl(var(--bg) / 0.28);
2389
+ font-size: 0.86rem;
2390
+ text-align: center;
2391
+ }
2392
+
2393
+ .admin-operation {
2394
+ display: flex;
2395
+ align-items: center;
2396
+ justify-content: space-between;
2397
+ gap: 0.85rem;
2398
+ border: 1px solid hsl(var(--border) / 0.48);
2399
+ border-radius: 8px;
2400
+ background: hsl(var(--bg) / 0.35);
2401
+ padding: 0.78rem;
2402
+ }
2403
+
2404
+ .admin-operation > div {
2405
+ display: grid;
2406
+ min-width: 0;
2407
+ gap: 0.16rem;
2408
+ }
2409
+
2410
+ .admin-operation span {
2411
+ font-size: 0.8rem;
2412
+ line-height: 1.35;
2413
+ }
2414
+
2415
+ .admin-policy-strip {
2416
+ display: flex;
2417
+ flex-wrap: wrap;
2418
+ gap: 0.45rem;
2419
+ }
2420
+
2421
+ .admin-policy-strip span {
2422
+ border: 1px solid hsl(var(--border) / 0.58);
2423
+ border-radius: 999px;
2424
+ background: hsl(var(--bg) / 0.42);
2425
+ color: hsl(var(--fg-muted));
2426
+ padding: 0.32rem 0.56rem;
2427
+ font-size: 0.74rem;
2428
+ }
2429
+
2430
+ .brain-image-input {
2431
+ display: inline-flex;
2432
+ cursor: pointer;
2433
+ align-items: center;
2434
+ gap: 0.4rem;
2435
+ border: 1px solid hsl(var(--border) / 0.68);
2436
+ border-radius: 999px;
2437
+ padding: 0.42rem 0.78rem;
2438
+ color: hsl(var(--fg-muted));
2439
+ font-size: 0.78rem;
2440
+ }
2441
+
2442
+ .mind-empty-kicker {
2443
+ margin-bottom: 0.4rem;
2444
+ font-size: 0.72rem;
2445
+ font-weight: 800;
2446
+ letter-spacing: 1.5px;
2447
+ text-transform: uppercase;
2448
+ opacity: 0.52;
2449
+ }
2450
+
2451
+ @keyframes relationship-flow {
2452
+ from {
2453
+ stroke-dashoffset: 24;
2454
+ }
2455
+ to {
2456
+ stroke-dashoffset: 0;
2457
+ }
2458
+ }
2459
+
2460
+ /* Product flow — now a quiet ritual, not a wizard */
2461
+ .product-flow-shell {
2462
+ min-height: 100vh;
2463
+ display: grid;
2464
+ place-items: center;
2465
+ padding: 2.5rem 1.25rem;
2466
+ background: radial-gradient(100% 70% at 50% 15%, hsl(var(--bg-elevated)), hsl(var(--bg)));
2467
+ }
2468
+
2469
+ .product-flow-shell .living-brain { transform: scale(0.82); }
2470
+
2471
+ .flow-ritual {
2472
+ width: min(100%, 620px);
2473
+ text-align: center;
2474
+ }
2475
+
2476
+ .flow-ritual h1 {
2477
+ font-size: clamp(2.1rem, 5.2vw, 3.1rem);
2478
+ font-weight: 700;
2479
+ line-height: 1.0;
2480
+ margin: 1.1rem 0 0.6rem;
2481
+ }
2482
+
2483
+ .flow-ritual p {
2484
+ color: hsl(var(--fg-muted));
2485
+ font-size: 1.01rem;
2486
+ max-width: 42ch;
2487
+ margin: 0 auto;
2488
+ }
2489
+
2490
+ .ritual-brain {
2491
+ margin: 1.4rem auto 1.6rem;
2492
+ }
2493
+
2494
+ /* Make old chrome and dock very quiet or hidden in main brain experience */
2495
+ .app-chrome, .primary-dock, .ambient-brain {
2496
+ display: none !important;
2497
+ }
2498
+
2499
+ .page-shell {
2500
+ padding: 0;
2501
+ max-width: none;
2502
+ width: 100%;
2503
+ }
2504
+
2505
+ /* Gentle empty / loading for the mind */
2506
+ .mind-empty {
2507
+ text-align: center;
2508
+ padding: 2.4rem 1rem;
2509
+ color: hsl(var(--fg-muted));
2510
+ }
2511
+
2512
+ .mind-empty-title {
2513
+ max-width: 34rem;
2514
+ margin: 0 auto 0.5rem;
2515
+ color: hsl(var(--fg));
2516
+ font-size: 1.1rem;
2517
+ font-weight: 650;
2518
+ line-height: 1.2;
2519
+ }
2520
+
2521
+ .mind-empty p {
2522
+ max-width: 39rem;
2523
+ margin: 0 auto;
2524
+ font-size: 0.9rem;
2525
+ line-height: 1.45;
2526
+ }
2527
+
2528
+ .mind-empty-prompts {
2529
+ display: flex;
2530
+ flex-wrap: wrap;
2531
+ justify-content: center;
2532
+ gap: 0.48rem;
2533
+ margin-top: 1rem;
2534
+ }
2535
+
2536
+ .mind-empty-prompts button {
2537
+ max-width: 100%;
2538
+ border: 1px solid hsl(var(--border) / 0.62);
2539
+ border-radius: 999px;
2540
+ background: hsl(var(--bg) / 0.46);
2541
+ color: hsl(var(--fg));
2542
+ padding: 0.46rem 0.7rem;
2543
+ font-size: 0.78rem;
2544
+ line-height: 1.15;
2545
+ transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
2546
+ }
2547
+
2548
+ .mind-empty-prompts button:hover,
2549
+ .mind-empty-prompts button:focus-visible {
2550
+ border-color: hsl(var(--memory) / 0.7);
2551
+ background: hsl(var(--memory) / 0.08);
2552
+ outline: none;
2553
+ transform: translateY(-1px);
2554
+ }
2555
+
2556
+ .mind-empty .icon {
2557
+ opacity: 0.5;
2558
+ margin-bottom: 0.8rem;
2559
+ }
2560
+
2561
+ /* Loading as thinking */
2562
+ .thinking {
2563
+ animation: thinking-subtle 1.6s ease-in-out infinite;
2564
+ }
2565
+
2566
+ @keyframes thinking-subtle {
2567
+ 0%,100% { opacity: 0.6; }
2568
+ 50% { opacity: 1; }
2569
+ }
2570
+
2571
+ /* Success is quiet */
2572
+ .brain-quiet-success {
2573
+ font-size: 0.78rem;
2574
+ color: hsl(var(--memory));
2575
+ display: inline-flex;
2576
+ align-items: center;
2577
+ gap: 0.35rem;
2578
+ }
2579
+
2580
+ /* Responsive care */
2581
+ @media (max-width: 720px) {
2582
+ .brain-presence { padding-top: 1.4rem; }
2583
+ .brain-organism { width: 200px; height: 200px; }
2584
+ .brain-conversation { padding-bottom: 5.5rem; }
2585
+ .brain-conversation-header { flex-wrap: wrap; }
2586
+ .brain-care-summary {
2587
+ display: grid;
2588
+ }
2589
+ .brain-care-proof {
2590
+ justify-content: flex-start;
2591
+ }
2592
+ .brain-care-button,
2593
+ .brain-care-archive input,
2594
+ .brain-care-archive-actions {
2595
+ flex-basis: 100%;
2596
+ }
2597
+ .brain-care-archive-actions button {
2598
+ flex-basis: calc(50% - 0.25rem);
2599
+ }
2600
+ .admin-console {
2601
+ width: min(100% - 1rem, 1180px);
2602
+ }
2603
+ .admin-console-header {
2604
+ display: grid;
2605
+ }
2606
+ .admin-metrics,
2607
+ .admin-grid {
2608
+ grid-template-columns: 1fr;
2609
+ }
2610
+ .admin-list-row,
2611
+ .admin-operation {
2612
+ align-items: flex-start;
2613
+ flex-direction: column;
2614
+ }
2615
+ .admin-list-row span {
2616
+ flex-basis: auto;
2617
+ max-width: 100%;
2618
+ text-align: left;
2619
+ }
2620
+ .mind-empty {
2621
+ padding-inline: 0.4rem;
2622
+ }
2623
+ .mind-empty-prompts {
2624
+ display: grid;
2625
+ }
2626
+ .mind-empty-prompts button {
2627
+ width: 100%;
2628
+ text-align: left;
2629
+ }
2630
+ .ritual-promise {
2631
+ grid-template-columns: 1fr;
2632
+ }
2633
+ .brain-ownership-strip { order: 3; flex-basis: 100%; justify-content: flex-start; overflow-x: auto; }
2634
+ .depths { bottom: 0.9rem; }
2635
+ }
2636
+
2637
+ /* Ritual / Onboarding flow — uses the same living language as the Brain experience */
2638
+ .ritual-shell {
2639
+ min-height: 100vh;
2640
+ display: flex;
2641
+ align-items: center;
2642
+ justify-content: center;
2643
+ padding: 2rem 1rem;
2644
+ background: radial-gradient(120% 80% at 50% 15%, hsl(var(--bg-elevated)), hsl(var(--bg)));
2645
+ }
2646
+
2647
+ .ritual-container {
2648
+ width: min(100%, 720px);
2649
+ text-align: center;
2650
+ }
2651
+
2652
+ .ritual-brain {
2653
+ margin: 0 auto 1.75rem;
2654
+ }
2655
+
2656
+ .ritual-title {
2657
+ font-size: clamp(1.85rem, 5vw, 2.85rem);
2658
+ font-weight: 680;
2659
+ letter-spacing: -0.3px;
2660
+ line-height: 1.05;
2661
+ margin-bottom: 0.5rem;
2662
+ }
2663
+
2664
+ .ritual-subtitle {
2665
+ color: hsl(var(--fg-muted));
2666
+ font-size: 1.02rem;
2667
+ max-width: 44ch;
2668
+ margin: 0 auto 1.5rem;
2669
+ }
2670
+
2671
+ .ritual-promise {
2672
+ display: grid;
2673
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2674
+ gap: 0.65rem;
2675
+ margin: 0 auto 1.15rem;
2676
+ max-width: 680px;
2677
+ }
2678
+
2679
+ .ritual-promise div {
2680
+ border: 1px solid hsl(var(--border) / 0.54);
2681
+ border-radius: 8px;
2682
+ background: hsl(var(--bg) / 0.42);
2683
+ padding: 0.72rem 0.78rem;
2684
+ text-align: left;
2685
+ }
2686
+
2687
+ .ritual-promise span {
2688
+ display: block;
2689
+ color: hsl(var(--fg-muted));
2690
+ font-size: 0.68rem;
2691
+ font-weight: 800;
2692
+ text-transform: uppercase;
2693
+ }
2694
+
2695
+ .ritual-promise strong {
2696
+ display: block;
2697
+ margin-top: 0.18rem;
2698
+ color: hsl(var(--fg));
2699
+ font-size: 0.84rem;
2700
+ font-weight: 620;
2701
+ line-height: 1.25;
2702
+ }
2703
+
2704
+ .ritual-card {
2705
+ background: hsl(var(--surface-glass));
2706
+ border: 1px solid hsl(var(--border) / 0.65);
2707
+ border-radius: 20px;
2708
+ padding: 1.25rem 1.5rem;
2709
+ text-align: left;
2710
+ margin-bottom: 1rem;
2711
+ transition: border-color 180ms ease, transform 180ms ease;
2712
+ }
2713
+
2714
+ .ritual-card:hover {
2715
+ border-color: hsl(var(--brain-core) / 0.55);
2716
+ transform: translateY(-1px);
2717
+ }
2718
+
2719
+ .ritual-card.selected {
2720
+ border-color: hsl(var(--brain-core));
2721
+ box-shadow: 0 0 0 1px hsl(var(--brain-core) / 0.25);
2722
+ }
2723
+
2724
+ .ritual-fact-grid {
2725
+ display: grid;
2726
+ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
2727
+ gap: 0.75rem;
2728
+ margin: 1.25rem 0;
2729
+ }
2730
+
2731
+ .ritual-fact {
2732
+ background: hsl(var(--bg) / 0.6);
2733
+ border: 1px solid hsl(var(--border) / 0.5);
2734
+ border-radius: 14px;
2735
+ padding: 0.85rem 1rem;
2736
+ text-align: left;
2737
+ }
2738
+
2739
+ .ritual-fact-label {
2740
+ font-size: 0.72rem;
2741
+ text-transform: uppercase;
2742
+ letter-spacing: 0.8px;
2743
+ color: hsl(var(--fg-muted));
2744
+ margin-bottom: 0.25rem;
2745
+ }
2746
+
2747
+ .ritual-fact-value {
2748
+ font-size: 1.05rem;
2749
+ font-weight: 620;
2750
+ color: hsl(var(--fg));
2751
+ }
2752
+
2753
+ .ritual-model-card {
2754
+ text-align: left;
2755
+ padding: 1.15rem 1.35rem;
2756
+ margin-bottom: 0.7rem;
2757
+ cursor: pointer;
2758
+ border: 1px solid hsl(var(--border) / 0.6);
2759
+ border-radius: 18px;
2760
+ background: hsl(var(--surface));
2761
+ transition: all 160ms ease;
2762
+ }
2763
+
2764
+ .ritual-model-card:hover {
2765
+ border-color: hsl(var(--brain-core) / 0.5);
2766
+ background: hsl(var(--surface) / 0.95);
2767
+ }
2768
+
2769
+ .ritual-model-card .role {
2770
+ font-size: 0.7rem;
2771
+ letter-spacing: 1px;
2772
+ text-transform: uppercase;
2773
+ color: hsl(var(--brain-core));
2774
+ margin-bottom: 0.3rem;
2775
+ }
2776
+
2777
+ .ritual-model-card .name {
2778
+ font-size: 1.25rem;
2779
+ font-weight: 650;
2780
+ }
2781
+
2782
+ .ritual-model-card .reason {
2783
+ font-size: 0.92rem;
2784
+ color: hsl(var(--fg-muted));
2785
+ margin-top: 0.25rem;
2786
+ }
2787
+
2788
+ .ritual-progress {
2789
+ margin: 1.5rem 0;
2790
+ }
2791
+
2792
+ .ritual-stage-list {
2793
+ display: flex;
2794
+ flex-direction: column;
2795
+ gap: 0.4rem;
2796
+ margin: 1rem 0;
2797
+ text-align: left;
2798
+ font-size: 0.95rem;
2799
+ }
2800
+
2801
+ .ritual-stage {
2802
+ display: flex;
2803
+ align-items: center;
2804
+ gap: 0.6rem;
2805
+ padding: 0.35rem 0.7rem;
2806
+ border-radius: 10px;
2807
+ color: hsl(var(--fg-muted));
2808
+ }
2809
+
2810
+ .ritual-stage.is-active {
2811
+ color: hsl(var(--fg));
2812
+ background: hsl(var(--brain-core) / 0.08);
2813
+ }
2814
+
2815
+ .ritual-stage.is-done {
2816
+ color: hsl(var(--fg));
2817
+ }
2818
+
2819
+ .ritual-bar {
2820
+ height: 6px;
2821
+ background: hsl(var(--border) / 0.6);
2822
+ border-radius: 999px;
2823
+ overflow: hidden;
2824
+ margin-top: 0.6rem;
2825
+ }
2826
+
2827
+ .ritual-bar > span {
2828
+ display: block;
2829
+ height: 100%;
2830
+ background: linear-gradient(90deg, hsl(var(--brain-core)), hsl(var(--memory)));
2831
+ transition: width 280ms ease;
2832
+ }
2833
+
2834
+ .ritual-status {
2835
+ font-size: 0.95rem;
2836
+ color: hsl(var(--fg-muted));
2837
+ margin: 0.8rem 0;
2838
+ }
2839
+
2840
+ .ritual-success {
2841
+ text-align: center;
2842
+ padding: 1.5rem;
2843
+ }
2844
+
2845
+ .ritual-success .brain {
2846
+ margin-bottom: 1rem;
2847
+ }
2848
+
944
2849
  .drawer-panel .primary-dock {
945
2850
  display: grid;
946
2851
  align-items: stretch;
@@ -1725,8 +3630,13 @@ button {
1725
3630
 
1726
3631
  @media (prefers-reduced-motion: reduce) {
1727
3632
  .brain-mass,
3633
+ .brain-lobe,
3634
+ .brain-bridge,
3635
+ .brain-stem,
3636
+ .brain-fold,
1728
3637
  .thought-path,
1729
3638
  .memory-pulse,
3639
+ .brain-aura,
1730
3640
  .brain-halo,
1731
3641
  .brain-wave {
1732
3642
  animation: none;