declare-cc 0.6.0 → 1.0.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.
- package/README.md +72 -32
- package/dist/declare-tools.cjs +2043 -543
- package/dist/public/app.js +2576 -385
- package/dist/public/index.html +984 -37
- package/package.json +6 -1
package/dist/public/index.html
CHANGED
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
background: var(--bg);
|
|
91
91
|
color: var(--text);
|
|
92
92
|
font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
93
|
-
font-size:
|
|
93
|
+
font-size: 16px;
|
|
94
94
|
line-height: 1.5;
|
|
95
95
|
height: 100vh;
|
|
96
96
|
display: flex;
|
|
@@ -269,6 +269,11 @@
|
|
|
269
269
|
color: var(--accent);
|
|
270
270
|
}
|
|
271
271
|
#execute-main-btn.btn-plan:hover { background: rgba(208, 236, 26, 0.18); border-color: rgba(208, 236, 26, 0.4); }
|
|
272
|
+
#execute-main-btn.btn-done {
|
|
273
|
+
background: rgba(134, 239, 172, 0.08);
|
|
274
|
+
border-color: rgba(134, 239, 172, 0.2);
|
|
275
|
+
color: #86efac;
|
|
276
|
+
}
|
|
272
277
|
|
|
273
278
|
/* ── Main layout ── */
|
|
274
279
|
#main {
|
|
@@ -786,7 +791,6 @@
|
|
|
786
791
|
display: flex;
|
|
787
792
|
align-items: center;
|
|
788
793
|
gap: 6px;
|
|
789
|
-
border-bottom: 1px solid var(--border);
|
|
790
794
|
}
|
|
791
795
|
#activity-pulse {
|
|
792
796
|
width: 6px; height: 6px;
|
|
@@ -801,6 +805,37 @@
|
|
|
801
805
|
50% { opacity: 0.3; }
|
|
802
806
|
}
|
|
803
807
|
|
|
808
|
+
#activity-tabs {
|
|
809
|
+
display: flex;
|
|
810
|
+
gap: 4px;
|
|
811
|
+
align-items: center;
|
|
812
|
+
flex: 1;
|
|
813
|
+
}
|
|
814
|
+
.activity-tab {
|
|
815
|
+
font-size: 10px;
|
|
816
|
+
font-weight: 700;
|
|
817
|
+
letter-spacing: 0.06em;
|
|
818
|
+
text-transform: uppercase;
|
|
819
|
+
color: var(--text-muted);
|
|
820
|
+
cursor: pointer;
|
|
821
|
+
padding: 2px 6px;
|
|
822
|
+
border-radius: 3px;
|
|
823
|
+
transition: color 0.15s, background 0.15s;
|
|
824
|
+
}
|
|
825
|
+
.activity-tab:hover { color: var(--text-dim); }
|
|
826
|
+
.activity-tab.active { color: var(--text-bright); background: var(--surface3); }
|
|
827
|
+
|
|
828
|
+
.activity-tab-content { display: none; }
|
|
829
|
+
.activity-tab-content.active { display: flex; flex-direction: column; flex: 1; overflow: hidden; }
|
|
830
|
+
|
|
831
|
+
#activity-cards.active { overflow-y: auto; padding: 8px; gap: 8px; }
|
|
832
|
+
#activity-cards-active { display: flex; flex-direction: column; gap: 6px; }
|
|
833
|
+
#activity-cards-recent { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--border); }
|
|
834
|
+
#activity-cards-recent:empty { display: none; }
|
|
835
|
+
#activity-cards::-webkit-scrollbar { width: 4px; }
|
|
836
|
+
#activity-cards::-webkit-scrollbar-track { background: transparent; }
|
|
837
|
+
#activity-cards::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 2px; }
|
|
838
|
+
|
|
804
839
|
#activity-list {
|
|
805
840
|
flex: 1;
|
|
806
841
|
overflow-y: auto;
|
|
@@ -825,7 +860,9 @@
|
|
|
825
860
|
border-bottom: 1px solid rgba(255,255,255,0.03);
|
|
826
861
|
transition: background 0.15s;
|
|
827
862
|
}
|
|
828
|
-
.activity-event:hover { background: var(--surface2); }
|
|
863
|
+
.activity-event:hover { background: var(--surface2); cursor: default; }
|
|
864
|
+
.activity-event.clickable { cursor: pointer; }
|
|
865
|
+
.activity-event.clickable:hover { background: var(--surface3); }
|
|
829
866
|
.activity-event:last-child { border-bottom: none; }
|
|
830
867
|
.activity-event.is-new {
|
|
831
868
|
animation: activity-flash 1.5s ease-out;
|
|
@@ -1060,6 +1097,505 @@
|
|
|
1060
1097
|
#drill-list::-webkit-scrollbar-track { background: transparent; }
|
|
1061
1098
|
#drill-list::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 3px; }
|
|
1062
1099
|
|
|
1100
|
+
/* ── Lifecycle stage sections ── */
|
|
1101
|
+
.lifecycle-stages {
|
|
1102
|
+
display: flex;
|
|
1103
|
+
flex-direction: column;
|
|
1104
|
+
gap: 24px;
|
|
1105
|
+
}
|
|
1106
|
+
.lifecycle-section {
|
|
1107
|
+
display: flex;
|
|
1108
|
+
flex-direction: column;
|
|
1109
|
+
gap: 10px;
|
|
1110
|
+
}
|
|
1111
|
+
.lifecycle-section.collapsed .lifecycle-cards { display: none; }
|
|
1112
|
+
.lifecycle-header {
|
|
1113
|
+
display: flex;
|
|
1114
|
+
align-items: center;
|
|
1115
|
+
gap: 8px;
|
|
1116
|
+
padding: 6px 0;
|
|
1117
|
+
user-select: none;
|
|
1118
|
+
}
|
|
1119
|
+
.lifecycle-icon {
|
|
1120
|
+
font-size: 14px;
|
|
1121
|
+
width: 20px;
|
|
1122
|
+
text-align: center;
|
|
1123
|
+
}
|
|
1124
|
+
.lifecycle-label {
|
|
1125
|
+
font-size: 13px;
|
|
1126
|
+
font-weight: 600;
|
|
1127
|
+
color: var(--text-dim);
|
|
1128
|
+
text-transform: uppercase;
|
|
1129
|
+
letter-spacing: 0.05em;
|
|
1130
|
+
}
|
|
1131
|
+
.lifecycle-count {
|
|
1132
|
+
font-size: 11px;
|
|
1133
|
+
font-weight: 700;
|
|
1134
|
+
padding: 1px 7px;
|
|
1135
|
+
border-radius: 10px;
|
|
1136
|
+
}
|
|
1137
|
+
.lifecycle-toggle {
|
|
1138
|
+
font-size: 10px;
|
|
1139
|
+
color: var(--text-muted);
|
|
1140
|
+
margin-left: 4px;
|
|
1141
|
+
}
|
|
1142
|
+
.lifecycle-header-spacer { flex: 1; }
|
|
1143
|
+
.lifecycle-stage-btn {
|
|
1144
|
+
font-size: 12px;
|
|
1145
|
+
font-weight: 600;
|
|
1146
|
+
padding: 4px 14px;
|
|
1147
|
+
border-radius: 14px;
|
|
1148
|
+
border: 1px solid var(--border-strong);
|
|
1149
|
+
background: var(--surface2);
|
|
1150
|
+
color: var(--text);
|
|
1151
|
+
cursor: pointer;
|
|
1152
|
+
font-family: inherit;
|
|
1153
|
+
transition: all 0.15s ease;
|
|
1154
|
+
}
|
|
1155
|
+
.lifecycle-stage-btn:hover {
|
|
1156
|
+
background: var(--surface3);
|
|
1157
|
+
border-color: var(--accent-border);
|
|
1158
|
+
color: var(--text-bright);
|
|
1159
|
+
}
|
|
1160
|
+
.lifecycle-stage-btn + .lifecycle-stage-btn {
|
|
1161
|
+
margin-left: 4px;
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
/* ── Card derivation progress ── */
|
|
1165
|
+
.drill-card-deriving {
|
|
1166
|
+
border-color: var(--executing-border) !important;
|
|
1167
|
+
background: var(--executing-bg) !important;
|
|
1168
|
+
}
|
|
1169
|
+
.derive-card-indicator {
|
|
1170
|
+
display: flex;
|
|
1171
|
+
align-items: center;
|
|
1172
|
+
gap: 8px;
|
|
1173
|
+
padding: 8px 12px;
|
|
1174
|
+
font-size: 12px;
|
|
1175
|
+
color: var(--executing-color);
|
|
1176
|
+
font-weight: 600;
|
|
1177
|
+
}
|
|
1178
|
+
.derive-spinner {
|
|
1179
|
+
display: inline-block;
|
|
1180
|
+
width: 14px;
|
|
1181
|
+
height: 14px;
|
|
1182
|
+
border: 2px solid var(--executing-border);
|
|
1183
|
+
border-top-color: var(--executing-color);
|
|
1184
|
+
border-radius: 50%;
|
|
1185
|
+
animation: derive-spin 0.8s linear infinite;
|
|
1186
|
+
}
|
|
1187
|
+
@keyframes derive-spin {
|
|
1188
|
+
to { transform: rotate(360deg); }
|
|
1189
|
+
}
|
|
1190
|
+
.derive-card-status {
|
|
1191
|
+
display: inline-flex;
|
|
1192
|
+
align-items: center;
|
|
1193
|
+
gap: 4px;
|
|
1194
|
+
font-size: 11px;
|
|
1195
|
+
color: var(--executing-color);
|
|
1196
|
+
font-weight: 600;
|
|
1197
|
+
margin-left: 4px;
|
|
1198
|
+
}
|
|
1199
|
+
.derive-card-status .derive-spinner {
|
|
1200
|
+
width: 10px;
|
|
1201
|
+
height: 10px;
|
|
1202
|
+
border-width: 1.5px;
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1205
|
+
/* ── Filter chips ── */
|
|
1206
|
+
.lifecycle-filter-chips {
|
|
1207
|
+
display: flex;
|
|
1208
|
+
gap: 6px;
|
|
1209
|
+
flex-wrap: wrap;
|
|
1210
|
+
}
|
|
1211
|
+
.lifecycle-chip {
|
|
1212
|
+
font-size: 12px;
|
|
1213
|
+
padding: 4px 12px;
|
|
1214
|
+
border-radius: 14px;
|
|
1215
|
+
border: 1px solid var(--border);
|
|
1216
|
+
background: transparent;
|
|
1217
|
+
color: var(--text-dim);
|
|
1218
|
+
cursor: pointer;
|
|
1219
|
+
transition: all 0.15s ease;
|
|
1220
|
+
font-family: inherit;
|
|
1221
|
+
}
|
|
1222
|
+
.lifecycle-chip:hover {
|
|
1223
|
+
border-color: var(--border-strong);
|
|
1224
|
+
color: var(--text);
|
|
1225
|
+
}
|
|
1226
|
+
.lifecycle-chip.active {
|
|
1227
|
+
background: var(--chip-color, var(--accent));
|
|
1228
|
+
border-color: var(--chip-color, var(--accent));
|
|
1229
|
+
color: var(--bg);
|
|
1230
|
+
font-weight: 600;
|
|
1231
|
+
}
|
|
1232
|
+
.chip-count {
|
|
1233
|
+
font-weight: 700;
|
|
1234
|
+
margin-left: 2px;
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1237
|
+
/* ── Type badge ── */
|
|
1238
|
+
.lifecycle-type-badge {
|
|
1239
|
+
font-size: 10px;
|
|
1240
|
+
font-weight: 700;
|
|
1241
|
+
padding: 1px 6px;
|
|
1242
|
+
border-radius: 4px;
|
|
1243
|
+
text-transform: uppercase;
|
|
1244
|
+
letter-spacing: 0.04em;
|
|
1245
|
+
}
|
|
1246
|
+
.lifecycle-type-badge.type-declaration {
|
|
1247
|
+
background: rgba(134, 239, 172, 0.12);
|
|
1248
|
+
color: #86efac;
|
|
1249
|
+
}
|
|
1250
|
+
.lifecycle-type-badge.type-milestone {
|
|
1251
|
+
background: rgba(165, 149, 255, 0.12);
|
|
1252
|
+
color: #a595ff;
|
|
1253
|
+
}
|
|
1254
|
+
.lifecycle-type-badge.type-action {
|
|
1255
|
+
background: rgba(147, 197, 253, 0.12);
|
|
1256
|
+
color: #93c5fd;
|
|
1257
|
+
}
|
|
1258
|
+
|
|
1259
|
+
.lifecycle-cards {
|
|
1260
|
+
max-width: none;
|
|
1261
|
+
margin: 0;
|
|
1262
|
+
}
|
|
1263
|
+
|
|
1264
|
+
/* ── Empty state / Onboarding ── */
|
|
1265
|
+
.onboarding-empty {
|
|
1266
|
+
max-width: 560px;
|
|
1267
|
+
margin: 60px auto 0;
|
|
1268
|
+
text-align: center;
|
|
1269
|
+
display: flex;
|
|
1270
|
+
flex-direction: column;
|
|
1271
|
+
align-items: center;
|
|
1272
|
+
gap: 16px;
|
|
1273
|
+
}
|
|
1274
|
+
.onboarding-project {
|
|
1275
|
+
font-size: 28px;
|
|
1276
|
+
font-weight: 700;
|
|
1277
|
+
color: var(--text-bright);
|
|
1278
|
+
letter-spacing: -0.02em;
|
|
1279
|
+
}
|
|
1280
|
+
.onboarding-heading {
|
|
1281
|
+
font-size: 18px;
|
|
1282
|
+
font-weight: 600;
|
|
1283
|
+
color: var(--accent);
|
|
1284
|
+
}
|
|
1285
|
+
.onboarding-desc {
|
|
1286
|
+
font-size: 14px;
|
|
1287
|
+
color: var(--text-dim);
|
|
1288
|
+
line-height: 1.6;
|
|
1289
|
+
max-width: 380px;
|
|
1290
|
+
}
|
|
1291
|
+
.onboarding-form {
|
|
1292
|
+
width: 100%;
|
|
1293
|
+
display: flex;
|
|
1294
|
+
flex-direction: column;
|
|
1295
|
+
gap: 10px;
|
|
1296
|
+
margin-top: 8px;
|
|
1297
|
+
}
|
|
1298
|
+
.onboarding-input, .onboarding-textarea {
|
|
1299
|
+
width: 100%;
|
|
1300
|
+
padding: 10px 14px;
|
|
1301
|
+
font-size: 14px;
|
|
1302
|
+
font-family: inherit;
|
|
1303
|
+
background: var(--surface);
|
|
1304
|
+
border: 1px solid var(--border);
|
|
1305
|
+
border-radius: var(--radius);
|
|
1306
|
+
color: var(--text);
|
|
1307
|
+
outline: none;
|
|
1308
|
+
transition: border-color 0.15s ease;
|
|
1309
|
+
}
|
|
1310
|
+
.onboarding-input:focus, .onboarding-textarea:focus {
|
|
1311
|
+
border-color: var(--accent-border);
|
|
1312
|
+
}
|
|
1313
|
+
.onboarding-textarea { resize: vertical; min-height: 240px; }
|
|
1314
|
+
.onboarding-btn {
|
|
1315
|
+
padding: 10px 24px;
|
|
1316
|
+
font-size: 14px;
|
|
1317
|
+
font-weight: 600;
|
|
1318
|
+
font-family: inherit;
|
|
1319
|
+
background: var(--accent);
|
|
1320
|
+
color: var(--bg);
|
|
1321
|
+
border: none;
|
|
1322
|
+
border-radius: var(--radius);
|
|
1323
|
+
cursor: pointer;
|
|
1324
|
+
transition: opacity 0.15s ease;
|
|
1325
|
+
}
|
|
1326
|
+
.onboarding-btn:hover { opacity: 0.9; }
|
|
1327
|
+
.onboarding-btn:disabled { opacity: 0.5; cursor: default; }
|
|
1328
|
+
.onboarding-error {
|
|
1329
|
+
font-size: 13px;
|
|
1330
|
+
color: var(--broken-color);
|
|
1331
|
+
min-height: 18px;
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
/* ── Onboarding flow (vision → questions → proposals) ── */
|
|
1335
|
+
.onboard-container {
|
|
1336
|
+
width: 100%;
|
|
1337
|
+
padding: 16px 0;
|
|
1338
|
+
}
|
|
1339
|
+
.onboard-stream {
|
|
1340
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
1341
|
+
font-size: 11px;
|
|
1342
|
+
line-height: 1.5;
|
|
1343
|
+
color: var(--text-muted);
|
|
1344
|
+
max-height: 160px;
|
|
1345
|
+
overflow-y: auto;
|
|
1346
|
+
white-space: pre-wrap;
|
|
1347
|
+
word-break: break-word;
|
|
1348
|
+
margin: 0 0 12px 0;
|
|
1349
|
+
padding: 10px 12px;
|
|
1350
|
+
background: var(--surface);
|
|
1351
|
+
border-radius: var(--radius);
|
|
1352
|
+
border: 1px solid var(--border);
|
|
1353
|
+
}
|
|
1354
|
+
.onboard-stream.streaming {
|
|
1355
|
+
border-color: var(--accent-border);
|
|
1356
|
+
}
|
|
1357
|
+
.onboard-phase-label {
|
|
1358
|
+
font-size: 13px;
|
|
1359
|
+
font-weight: 600;
|
|
1360
|
+
color: var(--accent);
|
|
1361
|
+
text-transform: uppercase;
|
|
1362
|
+
letter-spacing: 0.05em;
|
|
1363
|
+
margin-bottom: 12px;
|
|
1364
|
+
}
|
|
1365
|
+
.onboard-questions {
|
|
1366
|
+
display: flex;
|
|
1367
|
+
flex-direction: column;
|
|
1368
|
+
gap: 10px;
|
|
1369
|
+
}
|
|
1370
|
+
.onboard-question {
|
|
1371
|
+
background: var(--surface);
|
|
1372
|
+
border: 1px solid transparent;
|
|
1373
|
+
border-radius: var(--radius-lg);
|
|
1374
|
+
padding: 18px 20px;
|
|
1375
|
+
display: flex;
|
|
1376
|
+
flex-direction: column;
|
|
1377
|
+
gap: 10px;
|
|
1378
|
+
transition: border-color 0.15s ease;
|
|
1379
|
+
}
|
|
1380
|
+
.onboard-question:focus-within {
|
|
1381
|
+
border-color: var(--accent-border);
|
|
1382
|
+
}
|
|
1383
|
+
.onboard-question .oq-number {
|
|
1384
|
+
font-size: 11px;
|
|
1385
|
+
font-weight: 700;
|
|
1386
|
+
color: var(--accent);
|
|
1387
|
+
letter-spacing: 0.04em;
|
|
1388
|
+
}
|
|
1389
|
+
.onboard-question label {
|
|
1390
|
+
font-size: 15px;
|
|
1391
|
+
font-weight: 600;
|
|
1392
|
+
color: var(--text-bright);
|
|
1393
|
+
line-height: 1.4;
|
|
1394
|
+
}
|
|
1395
|
+
.onboard-question .oq-context {
|
|
1396
|
+
font-size: 13px;
|
|
1397
|
+
color: var(--text-dim);
|
|
1398
|
+
line-height: 1.5;
|
|
1399
|
+
}
|
|
1400
|
+
.onboard-question .oq-options {
|
|
1401
|
+
display: flex;
|
|
1402
|
+
flex-wrap: wrap;
|
|
1403
|
+
gap: 8px;
|
|
1404
|
+
}
|
|
1405
|
+
.onboard-question .oq-option {
|
|
1406
|
+
padding: 6px 14px;
|
|
1407
|
+
font-size: 13px;
|
|
1408
|
+
background: var(--surface2);
|
|
1409
|
+
border: 1px solid var(--border);
|
|
1410
|
+
border-radius: 14px;
|
|
1411
|
+
color: var(--text);
|
|
1412
|
+
cursor: pointer;
|
|
1413
|
+
transition: all 0.15s;
|
|
1414
|
+
}
|
|
1415
|
+
.onboard-question .oq-option:hover { border-color: var(--accent); color: var(--accent); }
|
|
1416
|
+
.onboard-question .oq-option.selected { background: var(--accent); color: var(--bg); border-color: var(--accent); }
|
|
1417
|
+
.onboard-question textarea {
|
|
1418
|
+
width: 100%;
|
|
1419
|
+
padding: 10px 14px;
|
|
1420
|
+
font-size: 14px;
|
|
1421
|
+
font-family: inherit;
|
|
1422
|
+
background: var(--surface2);
|
|
1423
|
+
border: 1px solid var(--border);
|
|
1424
|
+
border-radius: var(--radius);
|
|
1425
|
+
color: var(--text);
|
|
1426
|
+
outline: none;
|
|
1427
|
+
resize: vertical;
|
|
1428
|
+
min-height: 48px;
|
|
1429
|
+
line-height: 1.5;
|
|
1430
|
+
}
|
|
1431
|
+
.onboard-question textarea::placeholder { color: var(--text-dim); }
|
|
1432
|
+
.onboard-question textarea:focus { border-color: var(--accent-border); background: var(--surface); }
|
|
1433
|
+
.onboard-actions {
|
|
1434
|
+
display: flex;
|
|
1435
|
+
gap: 10px;
|
|
1436
|
+
margin-top: 16px;
|
|
1437
|
+
padding-top: 8px;
|
|
1438
|
+
}
|
|
1439
|
+
.onboard-actions button {
|
|
1440
|
+
padding: 10px 24px;
|
|
1441
|
+
font-size: 14px;
|
|
1442
|
+
font-weight: 600;
|
|
1443
|
+
font-family: inherit;
|
|
1444
|
+
border-radius: var(--radius-lg);
|
|
1445
|
+
cursor: pointer;
|
|
1446
|
+
transition: all 0.15s;
|
|
1447
|
+
}
|
|
1448
|
+
.onboard-btn-primary {
|
|
1449
|
+
background: var(--accent);
|
|
1450
|
+
color: var(--bg);
|
|
1451
|
+
border: none;
|
|
1452
|
+
}
|
|
1453
|
+
.onboard-btn-primary:hover { opacity: 0.9; }
|
|
1454
|
+
.onboard-btn-secondary {
|
|
1455
|
+
background: transparent;
|
|
1456
|
+
color: var(--text-dim);
|
|
1457
|
+
border: 1px solid var(--border);
|
|
1458
|
+
}
|
|
1459
|
+
.onboard-btn-secondary:hover { border-color: var(--text-dim); color: var(--text); }
|
|
1460
|
+
.onboard-proposal {
|
|
1461
|
+
background: var(--surface);
|
|
1462
|
+
border: 1px solid transparent;
|
|
1463
|
+
border-radius: var(--radius-lg);
|
|
1464
|
+
padding: 18px 20px;
|
|
1465
|
+
margin-bottom: 10px;
|
|
1466
|
+
transition: all 0.2s;
|
|
1467
|
+
}
|
|
1468
|
+
.onboard-proposal:hover {
|
|
1469
|
+
background: var(--surface2);
|
|
1470
|
+
}
|
|
1471
|
+
.onboard-proposal.current {
|
|
1472
|
+
border-color: var(--accent);
|
|
1473
|
+
background: linear-gradient(135deg, rgba(134, 239, 172, 0.03) 0%, var(--surface) 60%);
|
|
1474
|
+
}
|
|
1475
|
+
.onboard-proposal.approved {
|
|
1476
|
+
border-left: 3px solid var(--done-color);
|
|
1477
|
+
opacity: 0.65;
|
|
1478
|
+
}
|
|
1479
|
+
.onboard-proposal .op-header {
|
|
1480
|
+
display: flex;
|
|
1481
|
+
align-items: center;
|
|
1482
|
+
gap: 8px;
|
|
1483
|
+
margin-bottom: 8px;
|
|
1484
|
+
}
|
|
1485
|
+
.onboard-proposal .op-check {
|
|
1486
|
+
font-size: 18px;
|
|
1487
|
+
color: var(--done-color);
|
|
1488
|
+
}
|
|
1489
|
+
.onboard-proposal .op-index {
|
|
1490
|
+
font-size: 12px;
|
|
1491
|
+
font-weight: 700;
|
|
1492
|
+
color: var(--text-dim);
|
|
1493
|
+
min-width: 20px;
|
|
1494
|
+
}
|
|
1495
|
+
.onboard-proposal .op-id {
|
|
1496
|
+
font-size: 12px;
|
|
1497
|
+
font-weight: 600;
|
|
1498
|
+
color: var(--accent);
|
|
1499
|
+
}
|
|
1500
|
+
.onboard-title {
|
|
1501
|
+
width: 100%;
|
|
1502
|
+
padding: 8px 14px;
|
|
1503
|
+
font-size: 15px;
|
|
1504
|
+
font-weight: 600;
|
|
1505
|
+
font-family: inherit;
|
|
1506
|
+
background: var(--surface2);
|
|
1507
|
+
border: 1px solid var(--border);
|
|
1508
|
+
border-radius: var(--radius);
|
|
1509
|
+
color: var(--text-bright);
|
|
1510
|
+
outline: none;
|
|
1511
|
+
}
|
|
1512
|
+
.onboard-title:focus { border-color: var(--accent-border); background: var(--surface); }
|
|
1513
|
+
.onboard-statement {
|
|
1514
|
+
width: 100%;
|
|
1515
|
+
padding: 8px 14px;
|
|
1516
|
+
font-size: 14px;
|
|
1517
|
+
font-family: inherit;
|
|
1518
|
+
background: var(--surface2);
|
|
1519
|
+
border: 1px solid var(--border);
|
|
1520
|
+
border-radius: var(--radius);
|
|
1521
|
+
color: var(--text);
|
|
1522
|
+
outline: none;
|
|
1523
|
+
resize: vertical;
|
|
1524
|
+
min-height: 44px;
|
|
1525
|
+
margin-top: 8px;
|
|
1526
|
+
line-height: 1.5;
|
|
1527
|
+
}
|
|
1528
|
+
.onboard-statement:focus { border-color: var(--accent-border); background: var(--surface); }
|
|
1529
|
+
.onboard-reason {
|
|
1530
|
+
font-size: 13px;
|
|
1531
|
+
color: var(--text-dim);
|
|
1532
|
+
margin-top: 8px;
|
|
1533
|
+
font-style: italic;
|
|
1534
|
+
line-height: 1.4;
|
|
1535
|
+
}
|
|
1536
|
+
.onboard-progress {
|
|
1537
|
+
font-size: 14px;
|
|
1538
|
+
color: var(--text-dim);
|
|
1539
|
+
margin-bottom: 12px;
|
|
1540
|
+
font-weight: 600;
|
|
1541
|
+
}
|
|
1542
|
+
|
|
1543
|
+
/* ── Reconnecting banner ── */
|
|
1544
|
+
#reconnect-banner {
|
|
1545
|
+
position: fixed;
|
|
1546
|
+
top: 0;
|
|
1547
|
+
left: 50%;
|
|
1548
|
+
transform: translateX(-50%) translateY(-100%);
|
|
1549
|
+
background: var(--executing-color);
|
|
1550
|
+
color: var(--bg);
|
|
1551
|
+
padding: 6px 20px;
|
|
1552
|
+
font-size: 13px;
|
|
1553
|
+
font-weight: 600;
|
|
1554
|
+
border-radius: 0 0 var(--radius) var(--radius);
|
|
1555
|
+
z-index: 9999;
|
|
1556
|
+
transition: transform 0.3s ease;
|
|
1557
|
+
}
|
|
1558
|
+
#reconnect-banner.visible {
|
|
1559
|
+
transform: translateX(-50%) translateY(0);
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1562
|
+
/* ── Lifecycle card transitions (disabled — instant render) ── */
|
|
1563
|
+
|
|
1564
|
+
/* ── Loading skeleton ── */
|
|
1565
|
+
.skeleton-card {
|
|
1566
|
+
background: var(--surface);
|
|
1567
|
+
border-radius: var(--radius-lg);
|
|
1568
|
+
padding: 18px 20px;
|
|
1569
|
+
animation: skeletonPulse 1.5s ease-in-out infinite;
|
|
1570
|
+
}
|
|
1571
|
+
.skeleton-line {
|
|
1572
|
+
height: 12px;
|
|
1573
|
+
background: var(--surface3);
|
|
1574
|
+
border-radius: 4px;
|
|
1575
|
+
margin-bottom: 8px;
|
|
1576
|
+
}
|
|
1577
|
+
.skeleton-line.short { width: 40%; }
|
|
1578
|
+
.skeleton-line.medium { width: 70%; }
|
|
1579
|
+
.skeleton-line.long { width: 90%; }
|
|
1580
|
+
@keyframes skeletonPulse {
|
|
1581
|
+
0%, 100% { opacity: 0.6; }
|
|
1582
|
+
50% { opacity: 1; }
|
|
1583
|
+
}
|
|
1584
|
+
|
|
1585
|
+
/* ── Lifecycle progress bar ── */
|
|
1586
|
+
.lifecycle-progress {
|
|
1587
|
+
display: flex;
|
|
1588
|
+
gap: 2px;
|
|
1589
|
+
height: 4px;
|
|
1590
|
+
border-radius: 2px;
|
|
1591
|
+
overflow: hidden;
|
|
1592
|
+
margin-top: 4px;
|
|
1593
|
+
}
|
|
1594
|
+
.lifecycle-progress-segment {
|
|
1595
|
+
height: 100%;
|
|
1596
|
+
transition: width 0.3s ease;
|
|
1597
|
+
}
|
|
1598
|
+
|
|
1063
1599
|
.drill-cards {
|
|
1064
1600
|
max-width: 640px;
|
|
1065
1601
|
margin: 0 auto;
|
|
@@ -1090,12 +1626,8 @@
|
|
|
1090
1626
|
}
|
|
1091
1627
|
.drill-card.focused {
|
|
1092
1628
|
background: var(--surface2);
|
|
1093
|
-
border-color: var(--border-strong);
|
|
1094
|
-
box-shadow: inset 2px 0 0 var(--accent);
|
|
1095
|
-
}
|
|
1096
|
-
.drill-card.current-review {
|
|
1097
|
-
border-color: var(--card-tint-border, var(--accent-border));
|
|
1098
|
-
box-shadow: inset 3px 0 0 var(--card-tint, var(--accent)), 0 0 0 1px var(--card-tint-border, var(--accent-border)), 0 4px 16px var(--card-tint-glow, rgba(208, 236, 26, 0.08));
|
|
1629
|
+
border-color: var(--card-tint-border, var(--border-strong));
|
|
1630
|
+
box-shadow: inset 2px 0 0 var(--card-tint, var(--accent));
|
|
1099
1631
|
}
|
|
1100
1632
|
|
|
1101
1633
|
/* ── Node-type tint colors on cards ── */
|
|
@@ -1138,22 +1670,22 @@
|
|
|
1138
1670
|
background: linear-gradient(135deg, rgba(147, 197, 253, 0.06) 0%, var(--surface2) 60%);
|
|
1139
1671
|
}
|
|
1140
1672
|
|
|
1141
|
-
/*
|
|
1142
|
-
.drill-cards[data-node-type="declaration"] .drill-card.
|
|
1673
|
+
/* Focused card gets stronger tint background */
|
|
1674
|
+
.drill-cards[data-node-type="declaration"] .drill-card.focused {
|
|
1143
1675
|
background: linear-gradient(135deg, rgba(134, 239, 172, 0.06) 0%, var(--surface2) 60%);
|
|
1144
1676
|
}
|
|
1145
|
-
.drill-cards[data-node-type="milestone"] .drill-card.
|
|
1677
|
+
.drill-cards[data-node-type="milestone"] .drill-card.focused {
|
|
1146
1678
|
background: linear-gradient(135deg, rgba(165, 149, 255, 0.06) 0%, var(--surface2) 60%);
|
|
1147
1679
|
}
|
|
1148
|
-
.drill-cards[data-node-type="action"] .drill-card.
|
|
1680
|
+
.drill-cards[data-node-type="action"] .drill-card.focused {
|
|
1149
1681
|
background: linear-gradient(135deg, rgba(147, 197, 253, 0.06) 0%, var(--surface2) 60%);
|
|
1150
1682
|
}
|
|
1151
|
-
.drill-card
|
|
1683
|
+
.drill-card .drill-review-btn.approve-btn {
|
|
1152
1684
|
background: rgba(134, 239, 172, 0.10);
|
|
1153
1685
|
border-color: rgba(134, 239, 172, 0.35);
|
|
1154
1686
|
color: #86efac;
|
|
1155
1687
|
}
|
|
1156
|
-
.drill-card
|
|
1688
|
+
.drill-card .drill-review-btn.revision-btn {
|
|
1157
1689
|
background: rgba(248, 113, 113, 0.06);
|
|
1158
1690
|
border-color: rgba(248, 113, 113, 0.2);
|
|
1159
1691
|
color: #f87171;
|
|
@@ -1207,6 +1739,38 @@
|
|
|
1207
1739
|
color: var(--accent);
|
|
1208
1740
|
font-weight: 600;
|
|
1209
1741
|
}
|
|
1742
|
+
/* Inline action list on milestone cards */
|
|
1743
|
+
.drill-card-action-list {
|
|
1744
|
+
list-style: none;
|
|
1745
|
+
padding: 0;
|
|
1746
|
+
margin: 6px 0 0 0;
|
|
1747
|
+
display: flex;
|
|
1748
|
+
flex-direction: column;
|
|
1749
|
+
gap: 2px;
|
|
1750
|
+
}
|
|
1751
|
+
.drill-card-action-list li {
|
|
1752
|
+
font-size: 11px;
|
|
1753
|
+
color: var(--text-dim);
|
|
1754
|
+
display: flex;
|
|
1755
|
+
align-items: baseline;
|
|
1756
|
+
gap: 6px;
|
|
1757
|
+
}
|
|
1758
|
+
.drill-card-action-list li .al-icon {
|
|
1759
|
+
width: 10px;
|
|
1760
|
+
text-align: center;
|
|
1761
|
+
flex-shrink: 0;
|
|
1762
|
+
font-size: 10px;
|
|
1763
|
+
}
|
|
1764
|
+
.drill-card-action-list li.done { color: var(--text-muted); text-decoration: line-through; }
|
|
1765
|
+
.drill-card-action-list li.done .al-icon { color: var(--done-color, #86efac); }
|
|
1766
|
+
.drill-card-action-list li.planned .al-icon { color: var(--accent); }
|
|
1767
|
+
.drill-card-action-list li.unplanned .al-icon { color: var(--text-muted); }
|
|
1768
|
+
.drill-card-no-actions {
|
|
1769
|
+
font-size: 11px;
|
|
1770
|
+
color: var(--text-muted);
|
|
1771
|
+
font-style: italic;
|
|
1772
|
+
margin-top: 6px;
|
|
1773
|
+
}
|
|
1210
1774
|
|
|
1211
1775
|
/* Card-level status pill */
|
|
1212
1776
|
.drill-status-pill {
|
|
@@ -1287,6 +1851,15 @@
|
|
|
1287
1851
|
border-color: var(--border-strong);
|
|
1288
1852
|
color: var(--text);
|
|
1289
1853
|
}
|
|
1854
|
+
.drill-action-btn.drill-action-primary {
|
|
1855
|
+
background: var(--accent-dim);
|
|
1856
|
+
border-color: var(--accent-border);
|
|
1857
|
+
color: var(--accent);
|
|
1858
|
+
font-weight: 600;
|
|
1859
|
+
}
|
|
1860
|
+
.drill-action-btn.drill-action-primary:hover {
|
|
1861
|
+
background: var(--accent-border);
|
|
1862
|
+
}
|
|
1290
1863
|
.drill-action-btn.drill-action-danger {
|
|
1291
1864
|
color: var(--text-dim);
|
|
1292
1865
|
}
|
|
@@ -1354,8 +1927,8 @@
|
|
|
1354
1927
|
border-color: var(--accent-border);
|
|
1355
1928
|
}
|
|
1356
1929
|
|
|
1357
|
-
/* Expandable
|
|
1358
|
-
.drill-
|
|
1930
|
+
/* Expandable plan preview */
|
|
1931
|
+
.drill-plan-toggle {
|
|
1359
1932
|
font-size: 11px;
|
|
1360
1933
|
color: var(--text-muted);
|
|
1361
1934
|
cursor: pointer;
|
|
@@ -1364,8 +1937,8 @@
|
|
|
1364
1937
|
font-weight: 500;
|
|
1365
1938
|
transition: color 0.12s;
|
|
1366
1939
|
}
|
|
1367
|
-
.drill-
|
|
1368
|
-
.drill-
|
|
1940
|
+
.drill-plan-toggle:hover { color: var(--text); }
|
|
1941
|
+
.drill-plan-content {
|
|
1369
1942
|
display: none;
|
|
1370
1943
|
margin-top: 6px;
|
|
1371
1944
|
padding: 12px 14px;
|
|
@@ -1378,7 +1951,7 @@
|
|
|
1378
1951
|
max-height: 200px;
|
|
1379
1952
|
overflow-y: auto;
|
|
1380
1953
|
}
|
|
1381
|
-
.drill-
|
|
1954
|
+
.drill-plan-content.open { display: block; }
|
|
1382
1955
|
|
|
1383
1956
|
/* ── Bottom prompt bar ── */
|
|
1384
1957
|
#drill-prompt {
|
|
@@ -1390,21 +1963,100 @@
|
|
|
1390
1963
|
justify-content: center;
|
|
1391
1964
|
gap: 12px;
|
|
1392
1965
|
flex-shrink: 0;
|
|
1393
|
-
font-size: 13px;
|
|
1966
|
+
font-size: 13px;
|
|
1967
|
+
}
|
|
1968
|
+
.drill-prompt-text {
|
|
1969
|
+
color: var(--text);
|
|
1970
|
+
}
|
|
1971
|
+
.drill-prompt-text .drill-prompt-target {
|
|
1972
|
+
color: var(--accent);
|
|
1973
|
+
font-weight: 600;
|
|
1974
|
+
cursor: pointer;
|
|
1975
|
+
}
|
|
1976
|
+
.drill-prompt-text .drill-prompt-target:hover { text-decoration: underline; }
|
|
1977
|
+
.drill-prompt-complete {
|
|
1978
|
+
color: var(--accent);
|
|
1979
|
+
font-weight: 600;
|
|
1980
|
+
}
|
|
1981
|
+
/* Command card in agents panel */
|
|
1982
|
+
#command-card {
|
|
1983
|
+
background: var(--surface2);
|
|
1984
|
+
border: 1px solid var(--border);
|
|
1985
|
+
border-radius: 18px;
|
|
1986
|
+
padding: 8px 14px;
|
|
1987
|
+
cursor: default;
|
|
1988
|
+
transition: all 0.15s ease;
|
|
1989
|
+
margin-bottom: 4px;
|
|
1990
|
+
}
|
|
1991
|
+
#command-card:hover, #command-card:focus-within { border-color: var(--accent-border); }
|
|
1992
|
+
#command-card .cmd-label {
|
|
1993
|
+
display: none;
|
|
1994
|
+
}
|
|
1995
|
+
#command-card .cmd-key {
|
|
1996
|
+
display: none;
|
|
1997
|
+
}
|
|
1998
|
+
#command-card .cmd-row {
|
|
1999
|
+
display: flex;
|
|
2000
|
+
align-items: center;
|
|
2001
|
+
gap: 8px;
|
|
2002
|
+
}
|
|
2003
|
+
#command-card .cmd-shortcut {
|
|
2004
|
+
background: var(--surface3);
|
|
2005
|
+
border: 1px solid var(--border);
|
|
2006
|
+
border-radius: 4px;
|
|
2007
|
+
padding: 1px 6px;
|
|
2008
|
+
font-size: 10px;
|
|
2009
|
+
font-weight: 700;
|
|
2010
|
+
color: var(--text-dim);
|
|
2011
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
2012
|
+
flex-shrink: 0;
|
|
2013
|
+
line-height: 1.6;
|
|
1394
2014
|
}
|
|
1395
|
-
|
|
2015
|
+
#command-card:focus-within .cmd-shortcut { display: none; }
|
|
2016
|
+
#command-card.editing {
|
|
2017
|
+
border-color: var(--accent);
|
|
2018
|
+
border-style: solid;
|
|
2019
|
+
cursor: default;
|
|
2020
|
+
}
|
|
2021
|
+
#command-card-input {
|
|
2022
|
+
display: block;
|
|
2023
|
+
width: 100%;
|
|
2024
|
+
background: transparent;
|
|
2025
|
+
border: none;
|
|
1396
2026
|
color: var(--text);
|
|
2027
|
+
font-size: 13px;
|
|
2028
|
+
padding: 2px 0;
|
|
2029
|
+
outline: none;
|
|
2030
|
+
font-family: inherit;
|
|
2031
|
+
resize: none;
|
|
2032
|
+
line-height: 1.4;
|
|
2033
|
+
min-width: 0;
|
|
2034
|
+
flex: 1;
|
|
1397
2035
|
}
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
font-
|
|
1401
|
-
|
|
2036
|
+
#command-card-hint {
|
|
2037
|
+
display: none;
|
|
2038
|
+
font-size: 10px;
|
|
2039
|
+
color: var(--text-dim);
|
|
2040
|
+
margin-top: 4px;
|
|
1402
2041
|
}
|
|
1403
|
-
.
|
|
1404
|
-
.
|
|
1405
|
-
|
|
1406
|
-
|
|
2042
|
+
#command-card.editing #command-card-hint { display: block; }
|
|
2043
|
+
#command-card.running { border-color: var(--executing-color); border-style: solid; }
|
|
2044
|
+
#command-card.running .cmd-label { display: none; }
|
|
2045
|
+
#command-card.running #command-card-input { display: none; }
|
|
2046
|
+
#command-card.running #command-card-hint { display: none; }
|
|
2047
|
+
.command-output-stream {
|
|
2048
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
2049
|
+
font-size: 11px;
|
|
2050
|
+
line-height: 1.5;
|
|
2051
|
+
color: var(--text-muted);
|
|
2052
|
+
max-height: 200px;
|
|
2053
|
+
overflow-y: auto;
|
|
2054
|
+
white-space: pre-wrap;
|
|
2055
|
+
word-break: break-word;
|
|
2056
|
+
margin: 0;
|
|
2057
|
+
padding: 0;
|
|
1407
2058
|
}
|
|
2059
|
+
.command-output-stream.streaming { color: var(--executing-color); }
|
|
1408
2060
|
.drill-next-btn {
|
|
1409
2061
|
background: var(--accent-dim);
|
|
1410
2062
|
border: 1px solid var(--accent-border);
|
|
@@ -1430,6 +2082,31 @@
|
|
|
1430
2082
|
background: rgba(208, 236, 26, 0.08);
|
|
1431
2083
|
margin-right: 2px;
|
|
1432
2084
|
}
|
|
2085
|
+
.drill-approve-all-btn {
|
|
2086
|
+
background: rgba(134, 239, 172, 0.08);
|
|
2087
|
+
border: 1px solid rgba(134, 239, 172, 0.3);
|
|
2088
|
+
color: #86efac;
|
|
2089
|
+
padding: 6px 16px;
|
|
2090
|
+
border-radius: var(--radius);
|
|
2091
|
+
cursor: pointer;
|
|
2092
|
+
font-size: 13px;
|
|
2093
|
+
font-weight: 600;
|
|
2094
|
+
margin-left: 12px;
|
|
2095
|
+
transition: all 0.15s ease;
|
|
2096
|
+
}
|
|
2097
|
+
.drill-approve-all-btn:hover { background: rgba(134, 239, 172, 0.15); }
|
|
2098
|
+
.drill-approve-all-btn kbd {
|
|
2099
|
+
display: inline-block;
|
|
2100
|
+
padding: 0 5px;
|
|
2101
|
+
border: 1px solid rgba(134, 239, 172, 0.3);
|
|
2102
|
+
border-radius: 3px;
|
|
2103
|
+
font-size: 10px;
|
|
2104
|
+
font-family: inherit;
|
|
2105
|
+
font-weight: 700;
|
|
2106
|
+
color: #86efac;
|
|
2107
|
+
background: rgba(134, 239, 172, 0.08);
|
|
2108
|
+
margin-right: 2px;
|
|
2109
|
+
}
|
|
1433
2110
|
|
|
1434
2111
|
.col-empty {
|
|
1435
2112
|
padding: 40px 20px;
|
|
@@ -1502,14 +2179,80 @@
|
|
|
1502
2179
|
}
|
|
1503
2180
|
.col-empty-invite .output-log {
|
|
1504
2181
|
width: 100%;
|
|
1505
|
-
max-width:
|
|
2182
|
+
max-width: 560px;
|
|
1506
2183
|
text-align: left;
|
|
2184
|
+
max-height: 200px;
|
|
2185
|
+
overflow-y: auto;
|
|
2186
|
+
font-size: 12px;
|
|
2187
|
+
line-height: 1.6;
|
|
2188
|
+
color: var(--text-dim);
|
|
2189
|
+
padding: 12px 16px;
|
|
2190
|
+
border-radius: var(--radius);
|
|
2191
|
+
background: var(--surface);
|
|
2192
|
+
border: 1px solid var(--border);
|
|
2193
|
+
}
|
|
2194
|
+
.col-empty-invite .output-log .derive-log-line {
|
|
2195
|
+
opacity: 0.5;
|
|
2196
|
+
transition: opacity 0.3s;
|
|
2197
|
+
}
|
|
2198
|
+
.col-empty-invite .output-log .derive-log-line:last-child {
|
|
2199
|
+
opacity: 1;
|
|
2200
|
+
color: var(--text);
|
|
1507
2201
|
}
|
|
1508
2202
|
.col-empty-invite .derivation-checklist {
|
|
1509
2203
|
text-align: left;
|
|
1510
2204
|
width: 100%;
|
|
1511
|
-
max-width:
|
|
2205
|
+
max-width: 560px;
|
|
2206
|
+
}
|
|
2207
|
+
.col-empty-invite #derivation-proposals {
|
|
2208
|
+
width: 100%;
|
|
2209
|
+
max-width: 560px;
|
|
2210
|
+
text-align: left;
|
|
2211
|
+
}
|
|
2212
|
+
.derivation-progress {
|
|
2213
|
+
width: 100%;
|
|
2214
|
+
max-width: 560px;
|
|
2215
|
+
margin-top: 16px;
|
|
2216
|
+
padding: 14px 18px;
|
|
2217
|
+
background: var(--surface);
|
|
2218
|
+
border: 1px solid var(--border);
|
|
2219
|
+
border-radius: var(--radius-lg);
|
|
2220
|
+
}
|
|
2221
|
+
.derive-phase {
|
|
2222
|
+
display: flex;
|
|
2223
|
+
align-items: center;
|
|
2224
|
+
gap: 10px;
|
|
2225
|
+
animation: derive-phase-in 0.4s ease;
|
|
2226
|
+
}
|
|
2227
|
+
.derive-phase-icon {
|
|
2228
|
+
font-size: 18px;
|
|
2229
|
+
flex-shrink: 0;
|
|
2230
|
+
}
|
|
2231
|
+
.derive-phase-text {
|
|
2232
|
+
font-size: 13px;
|
|
2233
|
+
color: var(--text);
|
|
2234
|
+
font-weight: 500;
|
|
2235
|
+
}
|
|
2236
|
+
@keyframes derive-phase-in {
|
|
2237
|
+
from { opacity: 0; transform: translateY(4px); }
|
|
2238
|
+
to { opacity: 1; transform: translateY(0); }
|
|
2239
|
+
}
|
|
2240
|
+
.derive-stream-output {
|
|
2241
|
+
margin-top: 10px;
|
|
2242
|
+
padding: 10px 12px;
|
|
2243
|
+
background: var(--bg);
|
|
2244
|
+
border: 1px solid var(--border);
|
|
2245
|
+
border-radius: var(--radius);
|
|
2246
|
+
font-size: 12px;
|
|
2247
|
+
line-height: 1.5;
|
|
2248
|
+
color: var(--text-dim);
|
|
2249
|
+
max-height: 160px;
|
|
2250
|
+
overflow-y: auto;
|
|
2251
|
+
white-space: pre-wrap;
|
|
2252
|
+
word-break: break-word;
|
|
2253
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
1512
2254
|
}
|
|
2255
|
+
|
|
1513
2256
|
.derive-spinner {
|
|
1514
2257
|
display: inline-block;
|
|
1515
2258
|
width: 12px;
|
|
@@ -1837,7 +2580,7 @@
|
|
|
1837
2580
|
word-break: break-all;
|
|
1838
2581
|
color: var(--text);
|
|
1839
2582
|
}
|
|
1840
|
-
/* Clickable file links in
|
|
2583
|
+
/* Clickable file links in plan detail */
|
|
1841
2584
|
.file-link {
|
|
1842
2585
|
cursor: pointer;
|
|
1843
2586
|
transition: border-color 0.15s;
|
|
@@ -2288,6 +3031,196 @@
|
|
|
2288
3031
|
flex-shrink: 0;
|
|
2289
3032
|
}
|
|
2290
3033
|
|
|
3034
|
+
/* ── Agent activity cards ── */
|
|
3035
|
+
.agent-card {
|
|
3036
|
+
background: var(--surface2);
|
|
3037
|
+
border: 1px solid var(--border);
|
|
3038
|
+
border-radius: var(--radius);
|
|
3039
|
+
padding: 10px 12px;
|
|
3040
|
+
display: flex;
|
|
3041
|
+
flex-direction: column;
|
|
3042
|
+
gap: 6px;
|
|
3043
|
+
transition: background 0.15s;
|
|
3044
|
+
}
|
|
3045
|
+
.agent-card:hover { background: var(--surface3); }
|
|
3046
|
+
.agent-card.status-running { border-left: 3px solid var(--executing-color); }
|
|
3047
|
+
.agent-card.status-complete,
|
|
3048
|
+
.agent-card.status-done { border-left: 3px solid var(--act-color); opacity: 0.8; }
|
|
3049
|
+
.agent-card.status-failed { border-left: 3px solid var(--broken-color); opacity: 0.8; }
|
|
3050
|
+
.agent-card-header {
|
|
3051
|
+
display: flex;
|
|
3052
|
+
align-items: center;
|
|
3053
|
+
gap: 8px;
|
|
3054
|
+
}
|
|
3055
|
+
.agent-card-icon {
|
|
3056
|
+
font-size: 14px;
|
|
3057
|
+
flex-shrink: 0;
|
|
3058
|
+
width: 20px;
|
|
3059
|
+
text-align: center;
|
|
3060
|
+
}
|
|
3061
|
+
.agent-card-target {
|
|
3062
|
+
font-size: 12px;
|
|
3063
|
+
font-weight: 600;
|
|
3064
|
+
color: var(--text-bright);
|
|
3065
|
+
overflow: hidden;
|
|
3066
|
+
text-overflow: ellipsis;
|
|
3067
|
+
white-space: nowrap;
|
|
3068
|
+
flex: 1;
|
|
3069
|
+
}
|
|
3070
|
+
.agent-card-badge {
|
|
3071
|
+
font-size: 10px;
|
|
3072
|
+
font-weight: 700;
|
|
3073
|
+
letter-spacing: 0.04em;
|
|
3074
|
+
text-transform: uppercase;
|
|
3075
|
+
padding: 2px 6px;
|
|
3076
|
+
border-radius: 3px;
|
|
3077
|
+
flex-shrink: 0;
|
|
3078
|
+
}
|
|
3079
|
+
.agent-card-badge.badge-running { color: var(--executing-color); background: var(--executing-bg); }
|
|
3080
|
+
.agent-card-badge.badge-complete,
|
|
3081
|
+
.agent-card-badge.badge-done { color: var(--act-color); background: var(--act-bg); }
|
|
3082
|
+
.agent-card-badge.badge-failed { color: var(--broken-color); background: var(--broken-bg); }
|
|
3083
|
+
.agent-card-meta {
|
|
3084
|
+
display: flex;
|
|
3085
|
+
align-items: center;
|
|
3086
|
+
gap: 8px;
|
|
3087
|
+
font-size: 11px;
|
|
3088
|
+
color: var(--text-dim);
|
|
3089
|
+
}
|
|
3090
|
+
.agent-card-type { text-transform: capitalize; }
|
|
3091
|
+
.agent-card-timer {
|
|
3092
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
3093
|
+
font-size: 11px;
|
|
3094
|
+
color: var(--text-dim);
|
|
3095
|
+
}
|
|
3096
|
+
.status-running .agent-card-timer { color: var(--executing-color); }
|
|
3097
|
+
.agent-card-error {
|
|
3098
|
+
font-size: 11px;
|
|
3099
|
+
color: var(--broken-color);
|
|
3100
|
+
margin-top: 2px;
|
|
3101
|
+
overflow: hidden;
|
|
3102
|
+
text-overflow: ellipsis;
|
|
3103
|
+
white-space: nowrap;
|
|
3104
|
+
}
|
|
3105
|
+
.agent-card-summary {
|
|
3106
|
+
font-size: 12px;
|
|
3107
|
+
color: var(--text-dim);
|
|
3108
|
+
margin-top: 4px;
|
|
3109
|
+
white-space: nowrap;
|
|
3110
|
+
overflow: hidden;
|
|
3111
|
+
text-overflow: ellipsis;
|
|
3112
|
+
}
|
|
3113
|
+
.agent-card-view-result {
|
|
3114
|
+
display: inline-block;
|
|
3115
|
+
margin-top: 6px;
|
|
3116
|
+
padding: 3px 10px;
|
|
3117
|
+
font-size: 11px;
|
|
3118
|
+
font-weight: 500;
|
|
3119
|
+
color: var(--act-color);
|
|
3120
|
+
background: transparent;
|
|
3121
|
+
border: 1px solid var(--act-color);
|
|
3122
|
+
border-radius: 4px;
|
|
3123
|
+
cursor: pointer;
|
|
3124
|
+
transition: background 0.15s, color 0.15s;
|
|
3125
|
+
align-self: flex-start;
|
|
3126
|
+
}
|
|
3127
|
+
.agent-card-view-result:hover {
|
|
3128
|
+
background: var(--act-color);
|
|
3129
|
+
color: var(--surface1);
|
|
3130
|
+
}
|
|
3131
|
+
|
|
3132
|
+
/* ── Discuss (interview) flow ── */
|
|
3133
|
+
.discuss-container {
|
|
3134
|
+
margin-top: 8px;
|
|
3135
|
+
border: 1px solid var(--border);
|
|
3136
|
+
border-radius: var(--radius);
|
|
3137
|
+
padding: 10px;
|
|
3138
|
+
background: var(--surface2);
|
|
3139
|
+
}
|
|
3140
|
+
.discuss-loading { display: flex; flex-direction: column; gap: 8px; }
|
|
3141
|
+
.discuss-streaming {
|
|
3142
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
3143
|
+
font-size: 11px;
|
|
3144
|
+
color: var(--executing-color);
|
|
3145
|
+
max-height: 120px;
|
|
3146
|
+
overflow-y: auto;
|
|
3147
|
+
white-space: pre-wrap;
|
|
3148
|
+
word-break: break-word;
|
|
3149
|
+
margin: 0;
|
|
3150
|
+
}
|
|
3151
|
+
.discuss-header {
|
|
3152
|
+
font-size: 12px;
|
|
3153
|
+
font-weight: 600;
|
|
3154
|
+
color: var(--text-bright);
|
|
3155
|
+
margin-bottom: 8px;
|
|
3156
|
+
}
|
|
3157
|
+
.discuss-q {
|
|
3158
|
+
margin-bottom: 10px;
|
|
3159
|
+
padding-bottom: 8px;
|
|
3160
|
+
border-bottom: 1px solid var(--border);
|
|
3161
|
+
}
|
|
3162
|
+
.discuss-q:last-of-type { border-bottom: none; }
|
|
3163
|
+
.discuss-q-label {
|
|
3164
|
+
font-size: 12px;
|
|
3165
|
+
font-weight: 600;
|
|
3166
|
+
color: var(--text-bright);
|
|
3167
|
+
display: block;
|
|
3168
|
+
margin-bottom: 4px;
|
|
3169
|
+
}
|
|
3170
|
+
.discuss-q-context {
|
|
3171
|
+
font-size: 11px;
|
|
3172
|
+
color: var(--text-dim);
|
|
3173
|
+
margin-bottom: 6px;
|
|
3174
|
+
font-style: italic;
|
|
3175
|
+
}
|
|
3176
|
+
.discuss-q-options {
|
|
3177
|
+
display: flex;
|
|
3178
|
+
flex-wrap: wrap;
|
|
3179
|
+
gap: 4px;
|
|
3180
|
+
margin-bottom: 6px;
|
|
3181
|
+
}
|
|
3182
|
+
.discuss-option-btn {
|
|
3183
|
+
padding: 3px 10px;
|
|
3184
|
+
font-size: 11px;
|
|
3185
|
+
border: 1px solid var(--border);
|
|
3186
|
+
border-radius: 4px;
|
|
3187
|
+
background: var(--surface3);
|
|
3188
|
+
color: var(--text-muted);
|
|
3189
|
+
cursor: pointer;
|
|
3190
|
+
}
|
|
3191
|
+
.discuss-option-btn:hover {
|
|
3192
|
+
border-color: var(--accent);
|
|
3193
|
+
color: var(--accent);
|
|
3194
|
+
}
|
|
3195
|
+
.discuss-q-input {
|
|
3196
|
+
width: 100%;
|
|
3197
|
+
background: var(--surface1);
|
|
3198
|
+
border: 1px solid var(--border);
|
|
3199
|
+
border-radius: 4px;
|
|
3200
|
+
color: var(--text-bright);
|
|
3201
|
+
font-size: 12px;
|
|
3202
|
+
padding: 6px 8px;
|
|
3203
|
+
resize: vertical;
|
|
3204
|
+
font-family: inherit;
|
|
3205
|
+
}
|
|
3206
|
+
.discuss-q-input:focus {
|
|
3207
|
+
outline: none;
|
|
3208
|
+
border-color: var(--accent);
|
|
3209
|
+
}
|
|
3210
|
+
.discuss-actions {
|
|
3211
|
+
display: flex;
|
|
3212
|
+
gap: 8px;
|
|
3213
|
+
margin-top: 10px;
|
|
3214
|
+
}
|
|
3215
|
+
.discuss-error {
|
|
3216
|
+
font-size: 12px;
|
|
3217
|
+
color: var(--text-muted);
|
|
3218
|
+
margin-bottom: 8px;
|
|
3219
|
+
}
|
|
3220
|
+
.agent-timer-final {
|
|
3221
|
+
color: var(--text-muted);
|
|
3222
|
+
}
|
|
3223
|
+
|
|
2291
3224
|
/* ── Classification toggle buttons ── */
|
|
2292
3225
|
.classify-btn {
|
|
2293
3226
|
background: var(--surface2);
|
|
@@ -3299,12 +4232,26 @@
|
|
|
3299
4232
|
|
|
3300
4233
|
<!-- Activity feed placeholder (moved into drill-body via JS) -->
|
|
3301
4234
|
<div id="activity-feed">
|
|
3302
|
-
<div id="activity-pinned"></div>
|
|
3303
4235
|
<div id="activity-toggle">
|
|
3304
4236
|
<div id="activity-pulse"></div>
|
|
3305
|
-
<
|
|
4237
|
+
<div id="activity-tabs">
|
|
4238
|
+
<span class="activity-tab active" data-tab="cards">Agents</span>
|
|
4239
|
+
<span class="activity-tab" data-tab="log">Log</span>
|
|
4240
|
+
</div>
|
|
4241
|
+
</div>
|
|
4242
|
+
<div id="activity-cards" class="activity-tab-content active">
|
|
4243
|
+
<div id="command-card" class="editing" tabindex="0">
|
|
4244
|
+
<div class="cmd-label"><span class="cmd-key">C</span> Chat</div>
|
|
4245
|
+
<div class="cmd-row">
|
|
4246
|
+
<textarea id="command-card-input" rows="1" placeholder="Ask anything..."></textarea>
|
|
4247
|
+
<kbd class="cmd-shortcut">C</kbd>
|
|
4248
|
+
</div>
|
|
4249
|
+
<div id="command-card-hint">Enter to send · Esc to cancel</div>
|
|
4250
|
+
</div>
|
|
4251
|
+
<div id="activity-cards-active"></div>
|
|
4252
|
+
<div id="activity-cards-recent"></div>
|
|
3306
4253
|
</div>
|
|
3307
|
-
<div id="activity-list">
|
|
4254
|
+
<div id="activity-list" class="activity-tab-content">
|
|
3308
4255
|
<div style="padding:16px;color:var(--text-muted);font-size:11px;text-align:center;">No activity yet</div>
|
|
3309
4256
|
</div>
|
|
3310
4257
|
</div>
|
|
@@ -3330,6 +4277,6 @@
|
|
|
3330
4277
|
</div>
|
|
3331
4278
|
</div>
|
|
3332
4279
|
|
|
3333
|
-
<script src="/public/app.js?v=
|
|
4280
|
+
<script src="/public/app.js?v=25"></script>
|
|
3334
4281
|
</body>
|
|
3335
4282
|
</html>
|