@musnows/scriverse 0.7.12 → 0.8.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.en.md +4 -0
- package/README.md +5 -0
- package/dist/ai-chat-tab-limit.js +14 -0
- package/dist/ai-chat-tab-limit.js.map +1 -0
- package/dist/ai-protocol.js +10 -2
- package/dist/ai-protocol.js.map +1 -1
- package/dist/ai-retry.js +52 -0
- package/dist/ai-retry.js.map +1 -0
- package/dist/ai.js +611 -152
- package/dist/ai.js.map +1 -1
- package/dist/app.js +41 -12
- package/dist/app.js.map +1 -1
- package/dist/cli-contract.js +2 -1
- package/dist/cli-contract.js.map +1 -1
- package/dist/database.js +127 -2
- package/dist/database.js.map +1 -1
- package/dist/domain.js +1 -0
- package/dist/domain.js.map +1 -1
- package/dist/public/ai-chat-tabs.js +75 -0
- package/dist/public/ai-request-manager.js +32 -15
- package/dist/public/app.js +1340 -315
- package/dist/public/background-task-center.d.ts +9 -0
- package/dist/public/background-task-center.js +18 -0
- package/dist/public/chapter-search.d.ts +6 -0
- package/dist/public/chapter-search.js +23 -0
- package/dist/public/character-filters.d.ts +3 -1
- package/dist/public/character-filters.js +17 -2
- package/dist/public/character-version.js +1 -0
- package/dist/public/display-labels.d.ts +1 -0
- package/dist/public/display-labels.js +5 -1
- package/dist/public/index.html +68 -27
- package/dist/public/model-config.d.ts +3 -1
- package/dist/public/model-config.js +13 -0
- package/dist/public/relationship-filters.d.ts +5 -0
- package/dist/public/relationship-filters.js +31 -0
- package/dist/public/relationship-graph.js +289 -58
- package/dist/public/stream-typewriter.d.ts +12 -1
- package/dist/public/stream-typewriter.js +65 -5
- package/dist/public/styles.css +239 -45
- package/dist/server-runtime.js +6 -0
- package/dist/server-runtime.js.map +1 -1
- package/dist/store.js +264 -65
- package/dist/store.js.map +1 -1
- package/dist/version.js +6 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
package/dist/public/styles.css
CHANGED
|
@@ -371,6 +371,9 @@ input[type="checkbox"][hidden] { display: none; }
|
|
|
371
371
|
radial-gradient(circle at 50% -20%, var(--app-glow), transparent 45%),
|
|
372
372
|
var(--paper);
|
|
373
373
|
}
|
|
374
|
+
.app-shell:not(.shelf-mode):not(.ai-workspace-mode) { grid-template-columns: var(--left-panel-width) minmax(480px, 1fr); }
|
|
375
|
+
.app-shell:not(.shelf-mode):not(.ai-workspace-mode) .ai-panel { display: none; }
|
|
376
|
+
.app-shell.ai-workspace-mode > :is(.topbar, .left-panel, .main-panel) { visibility: hidden; pointer-events: none; }
|
|
374
377
|
|
|
375
378
|
.topbar {
|
|
376
379
|
grid-column: 1 / -1;
|
|
@@ -552,7 +555,7 @@ input[type="checkbox"][hidden] { display: none; }
|
|
|
552
555
|
.left-panel, .ai-panel { position: relative; min-height: 0; background: var(--panel); }
|
|
553
556
|
.left-panel { display: flex; flex-direction: column; border-right: 1px solid var(--line); padding: 0; overflow: hidden; }
|
|
554
557
|
.left-panel-body { flex: 1 1 auto; min-height: 0; padding: 18px 14px 16px; overflow-y: auto; }
|
|
555
|
-
.ai-panel { border-left: 1px solid var(--line); display: flex; flex-direction: column; padding: 14px 16px 18px; min-width: 0; }
|
|
558
|
+
.ai-panel { container-type: inline-size; border-left: 1px solid var(--line); display: flex; flex-direction: column; padding: 14px 16px 18px; min-width: 0; }
|
|
556
559
|
.panel-collapse-button { z-index: 8; flex: 0 0 auto; width: 24px; height: 24px; padding: 0; border: 1px solid var(--line); border-radius: 4px; background: var(--panel); color: var(--muted); font-size: 18px; line-height: 1; }
|
|
557
560
|
.ai-heading #ai-panel-toggle { flex-basis: 30px; width: 30px; height: 30px; }
|
|
558
561
|
.panel-resize-handle { position: absolute; z-index: 7; top: 0; bottom: 0; width: 7px; cursor: col-resize; touch-action: none; }
|
|
@@ -976,8 +979,9 @@ body.work-viewer-mode .character-editor-actions { display: none !important; }
|
|
|
976
979
|
.replace-dialog > form { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: 100%; min-height: 0; }
|
|
977
980
|
.replace-dialog-body { display: grid; min-height: 0; gap: 16px; padding: 20px 24px 6px; overflow-y: auto; }
|
|
978
981
|
.replace-field { display: grid; gap: 6px; color: var(--muted); font-size: 11px; }
|
|
979
|
-
.replace-field input, .replace-field textarea { width: 100%; padding: 9px 10px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); font-size: 13px; line-height: 1.6; }
|
|
982
|
+
.replace-field input, .replace-field textarea, .replace-field select { width: 100%; padding: 9px 10px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); font-size: 13px; line-height: 1.6; }
|
|
980
983
|
.replace-field textarea { min-height: 96px; resize: vertical; }
|
|
984
|
+
.replace-field select:disabled { cursor: not-allowed; opacity: .55; }
|
|
981
985
|
.replace-scope-fieldset { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-soft); }
|
|
982
986
|
.replace-scope-fieldset legend { padding: 0 6px; color: var(--ink); font-size: 12px; font-weight: 650; }
|
|
983
987
|
.replace-scope-fieldset legend, .replace-scope-fieldset > p { grid-column: 1 / -1; }
|
|
@@ -991,6 +995,7 @@ body.work-viewer-mode .character-editor-actions { display: none !important; }
|
|
|
991
995
|
.replace-scope-option input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
992
996
|
.replace-permission-note { margin: 0; color: var(--accent-dark); font-size: 10px; line-height: 1.5; }
|
|
993
997
|
.replace-permission-note:empty { display: none; }
|
|
998
|
+
.replace-range-note { margin: -8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
|
|
994
999
|
.replace-dialog .primary-button:disabled { cursor: not-allowed; opacity: .42; }
|
|
995
1000
|
.search-results { display: grid; gap: 8px; max-height: min(52vh, 480px); overflow: auto; }
|
|
996
1001
|
.search-results-summary { margin: 0; padding: 2px 2px 5px; color: var(--muted); font-size: 10px; }
|
|
@@ -1285,6 +1290,9 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
1285
1290
|
.module-nav .ai-analysis-entry,
|
|
1286
1291
|
.module-nav .ai-analysis-entry:hover,
|
|
1287
1292
|
.module-nav .ai-analysis-entry.active { background: transparent; color: var(--accent-dark); font-weight: 650; }
|
|
1293
|
+
.module-nav .ai-assistant-entry,
|
|
1294
|
+
.module-nav .ai-assistant-entry:hover,
|
|
1295
|
+
.module-nav .ai-assistant-entry.active { background: color-mix(in srgb, var(--accent) 10%, var(--surface)); color: var(--accent-dark); font-weight: 650; }
|
|
1288
1296
|
#module-more-button { grid-column: 2; color: var(--accent-dark); text-align: center; }
|
|
1289
1297
|
.panel-heading { display: flex; align-items: center; gap: 8px; padding: 15px 0 9px 7px; color: var(--muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
|
|
1290
1298
|
.panel-heading-actions { display: flex; align-items: center; gap: 7px; margin-left: auto; }
|
|
@@ -1303,7 +1311,7 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
1303
1311
|
.chapter-add-button { flex: none; }
|
|
1304
1312
|
.volume-chapters { display: block; }
|
|
1305
1313
|
.volume-node.is-collapsed .volume-chapters { display: none; }
|
|
1306
|
-
.chapter-node { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 8px; width: calc(100% + 6px); padding: 9px 8px 9px
|
|
1314
|
+
.chapter-node { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 8px; width: calc(100% + 6px); padding: 9px 8px 9px 24px; border: 0; background: transparent; border-radius: 4px; text-align: left; font-size: 12px; }
|
|
1307
1315
|
.chapter-node:hover, .chapter-node.active { background: var(--row-active); }
|
|
1308
1316
|
.chapter-node[draggable="true"] { cursor: grab; }
|
|
1309
1317
|
.chapter-node.is-dragging { opacity: .42; cursor: grabbing; }
|
|
@@ -1360,12 +1368,26 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
1360
1368
|
|
|
1361
1369
|
.hidden { display: none !important; }
|
|
1362
1370
|
.editor-view { container-name: editor-workspace; container-type: inline-size; display: grid; grid-template-rows: auto auto minmax(0, 1fr); height: 100%; }
|
|
1363
|
-
.editor-toolbar { display: grid; grid-template-areas: "path path" "title actions"; grid-template-columns: minmax(0, 1fr) auto; align-items: flex-end; column-gap: 20px; row-gap: 6px; padding: 25px 7% 18px; border-bottom: 1px solid var(--line); }
|
|
1371
|
+
.editor-toolbar { position: relative; display: grid; grid-template-areas: "path path" "title actions"; grid-template-columns: minmax(0, 1fr) auto; align-items: flex-end; column-gap: 20px; row-gap: 6px; padding: 25px 7% 18px; border-bottom: 1px solid var(--line); }
|
|
1364
1372
|
#chapter-path { grid-area: path; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
1365
1373
|
.chapter-title { grid-area: title; display: block; width: 100%; min-width: 0; border: 0; border-radius: 0; background: transparent; font-size: 27px; padding: 0; }
|
|
1366
1374
|
.chapter-title:focus { box-shadow: none; border-bottom: 1px solid var(--accent); }
|
|
1367
1375
|
.editor-actions { grid-area: actions; display: flex; align-items: center; gap: 10px; }
|
|
1368
1376
|
.chapter-stats { color: var(--muted); font-size: 11px; }
|
|
1377
|
+
.chapter-search-panel { position: absolute; z-index: 8; top: calc(100% + 8px); right: 7%; display: grid; width: min(520px, calc(100% - 14%)); gap: 12px; padding: 14px; border: 1px solid var(--line-strong); outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 7px; background: var(--panel); box-shadow: 0 16px 36px rgba(36, 30, 24, .22); }
|
|
1378
|
+
.chapter-search-panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
|
|
1379
|
+
.chapter-search-panel-header .eyebrow { margin-bottom: 4px; }
|
|
1380
|
+
.chapter-search-panel-header h2 { margin: 0; color: var(--ink); font-size: 15px; font-weight: 650; }
|
|
1381
|
+
.chapter-search-panel-header p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
|
|
1382
|
+
.chapter-search-panel-header .dialog-close { flex: 0 0 auto; }
|
|
1383
|
+
.chapter-search-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
|
|
1384
|
+
.chapter-search-fields label { display: grid; gap: 5px; min-width: 0; color: var(--muted); font-size: 10px; }
|
|
1385
|
+
.chapter-search-fields input { width: 100%; min-width: 0; min-height: 34px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); font-size: 12px; }
|
|
1386
|
+
.chapter-search-fields input:focus { border-color: var(--accent); outline: none; box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 16%, transparent); }
|
|
1387
|
+
.chapter-search-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
|
|
1388
|
+
.chapter-search-actions > span { flex: 1 1 120px; min-width: 0; color: var(--muted); font-size: 10px; line-height: 1.4; }
|
|
1389
|
+
.chapter-search-actions button { min-height: 32px; padding: 6px 9px; font-size: 10px; }
|
|
1390
|
+
.chapter-search-actions button:disabled { cursor: not-allowed; opacity: .45; }
|
|
1369
1391
|
.chapter-foreshadow-reminder { --reminder-color: #80713d; display: grid; grid-template-areas: "summary actions" "details details"; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 9px 18px; padding: 10px 7%; border-bottom: 1px solid color-mix(in srgb, var(--reminder-color) 32%, var(--line)); background: color-mix(in srgb, var(--reminder-color) 7%, var(--surface)); }
|
|
1370
1392
|
.chapter-foreshadow-reminder[data-role="payoff"] { --reminder-color: #49745c; }
|
|
1371
1393
|
.chapter-foreshadow-reminder-summary { grid-area: summary; display: flex; min-width: 0; align-items: center; gap: 10px; }
|
|
@@ -1465,6 +1487,7 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
1465
1487
|
.entity-lifecycle-badge { display: inline-flex; align-items: center; min-height: 20px; margin-left: 7px; padding: 2px 7px; border: 1px solid color-mix(in srgb, var(--accent) 58%, var(--line)); border-radius: 10px; background: color-mix(in srgb, var(--accent) 13%, var(--surface)); color: var(--accent-dark); font-size: 9px; font-weight: 650; line-height: 1; vertical-align: middle; white-space: nowrap; }
|
|
1466
1488
|
.character-lock-badge svg { width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
|
|
1467
1489
|
.character-filter-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: 12px; align-items: start; width: 100%; min-width: 0; box-sizing: border-box; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--line); background: var(--surface-soft); }
|
|
1490
|
+
.character-filter-toolbar-with-extra-filters { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; }
|
|
1468
1491
|
.character-filter-dropdown { position: relative; min-width: 0; }
|
|
1469
1492
|
.character-filter-dropdown summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 38px; padding: 0 11px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); cursor: pointer; list-style: none; }
|
|
1470
1493
|
.character-filter-dropdown summary::-webkit-details-marker { display: none; }
|
|
@@ -1572,6 +1595,7 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
1572
1595
|
.platform-image-tool-field select { width: 100%; height: 36px; min-height: 36px; padding: 8px 10px; font-size: 12px; }
|
|
1573
1596
|
.platform-image-tool-panel .config-save-button { flex: 0 0 auto; min-height: 36px; padding: 8px 14px; }
|
|
1574
1597
|
.task-auto-run-panel {
|
|
1598
|
+
position: relative;
|
|
1575
1599
|
display: grid;
|
|
1576
1600
|
grid-template-columns: minmax(0, 1fr) 268px;
|
|
1577
1601
|
gap: 12px;
|
|
@@ -1618,14 +1642,14 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
1618
1642
|
.task-auto-run-alert strong { color: var(--ink); }
|
|
1619
1643
|
.task-auto-run-alert span, .task-auto-run-alert small { color: var(--muted); }
|
|
1620
1644
|
.task-auto-run-progress {
|
|
1645
|
+
position: absolute;
|
|
1646
|
+
top: 50%;
|
|
1647
|
+
right: 90px;
|
|
1621
1648
|
display: grid;
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
align-self: center;
|
|
1625
|
-
justify-self: start;
|
|
1626
|
-
width: 192px;
|
|
1649
|
+
width: 184px;
|
|
1650
|
+
transform: translateY(-50%);
|
|
1627
1651
|
}
|
|
1628
|
-
.task-auto-run-progress-ring { position: relative; display: grid; width:
|
|
1652
|
+
.task-auto-run-progress-ring { position: relative; display: grid; width: 184px; height: 184px; place-items: center; }
|
|
1629
1653
|
.task-auto-run-progress-ring svg { display: block; width: 100%; height: 100%; overflow: visible; transform: rotate(-90deg); }
|
|
1630
1654
|
.task-auto-run-progress-ring-track, .task-auto-run-progress-ring-value { fill: none; stroke-width: 8; }
|
|
1631
1655
|
.task-auto-run-progress-ring-track { stroke: color-mix(in srgb, var(--line) 72%, transparent); }
|
|
@@ -1788,6 +1812,8 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
1788
1812
|
.character-extraction-editor-toolbar { justify-content: flex-end; }
|
|
1789
1813
|
.character-extraction-editor-toolbar > span { margin-right: auto; color: var(--accent-dark); font-weight: 600; }
|
|
1790
1814
|
.character-extraction-editor-toolbar button { padding: 6px 9px; font-size: 9px; }
|
|
1815
|
+
.character-extraction-apply-button { flex: 0 0 auto; }
|
|
1816
|
+
.character-extraction-apply-note { margin: -5px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
|
|
1791
1817
|
.character-extraction-candidate-list { display: grid; gap: 9px; min-width: 0; }
|
|
1792
1818
|
.character-extraction-candidate { display: grid; gap: 10px; min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-soft); transition: opacity .15s ease, border-color .15s ease; }
|
|
1793
1819
|
.character-extraction-candidate.is-skipped { opacity: .7; }
|
|
@@ -2092,6 +2118,7 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
2092
2118
|
.relationship-network.is-panning { cursor: grabbing; }
|
|
2093
2119
|
.relationship-network-stage { contain: layout paint style; will-change: transform; }
|
|
2094
2120
|
.relationship-network-stage.is-view-animating { transition: transform .34s cubic-bezier(.22,.78,.3,1); }
|
|
2121
|
+
.relationship-network-edge-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
|
|
2095
2122
|
.relationship-network svg { overflow: visible; }
|
|
2096
2123
|
.relationship-network .mind-edge-hit {
|
|
2097
2124
|
stroke-width: 14px;
|
|
@@ -2233,6 +2260,13 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
2233
2260
|
z-index: 3;
|
|
2234
2261
|
will-change: left, top;
|
|
2235
2262
|
}
|
|
2263
|
+
.relationship-network.is-dense .obsidian-node:not(:hover):not(:focus-visible):not(.is-hovered):not(.is-selected):not(.is-edge-endpoint) {
|
|
2264
|
+
box-shadow: none;
|
|
2265
|
+
}
|
|
2266
|
+
.relationship-network.is-dense .obsidian-node {
|
|
2267
|
+
transition: opacity .08s linear, transform .08s linear;
|
|
2268
|
+
will-change: auto;
|
|
2269
|
+
}
|
|
2236
2270
|
.relationship-network .mind-node.is-settling { animation: relationship-node-settle .18s ease-out; }
|
|
2237
2271
|
.relationship-network-focus, .relationship-network-help { position: absolute; z-index: 6; color: var(--relationship-focus); pointer-events: none; }
|
|
2238
2272
|
.relationship-network-focus { top: 14px; left: 16px; display: grid; gap: 3px; }
|
|
@@ -2376,10 +2410,11 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
2376
2410
|
.galaxy-node span { opacity: 0; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 3px 6px; border-radius: 4px; background: rgba(5,7,13,.68); font-size: 10px; text-align: center; text-shadow: 0 1px 3px #000; transform: translate3d(0, var(--node-label-offset, 0px), 0); transition: opacity .14s ease; }
|
|
2377
2411
|
.galaxy-node.show-label span, .galaxy-node:hover span, .galaxy-node:focus-visible span, .galaxy-node.is-selected span, .galaxy-node.is-related span, .galaxy-node.is-edge-endpoint span { opacity: 1; }.galaxy-node.is-selected i { background: #fff4bd; box-shadow: 0 0 5px #fff, 0 0 18px #ffc86b, 0 0 42px rgba(255,173,66,.82); }.galaxy-node.is-related i { background: #d8f4ff; box-shadow: 0 0 4px #fff, 0 0 15px #438cff, 0 0 28px rgba(67,140,255,.56); }.galaxy-node.is-edge-endpoint i { background: #fff; box-shadow: 0 0 6px #fff, 0 0 22px #6fcaff, 0 0 48px rgba(67,140,255,.92); }.galaxy-node.is-dimmed { opacity: .16; }.galaxy-node.is-selected, .galaxy-node.is-related, .galaxy-node.is-edge-endpoint { z-index: 2; }
|
|
2378
2412
|
.galaxy-node.is-dragging { cursor: grabbing; z-index: 6; }
|
|
2379
|
-
.galaxy-
|
|
2413
|
+
.galaxy-shell.is-motion-off .galaxy-background, .galaxy-shell.is-motion-off .galaxy-node i, .galaxy-shell.is-motion-off .galaxy-node span { transition: none; animation: none; }
|
|
2414
|
+
.galaxy-close { position: fixed; z-index: 8; top: 22px; right: 25px; width: 36px; height: 36px; min-height: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(5,7,13,.62); color: #fff; font-size: 21px; }
|
|
2380
2415
|
.galaxy-stats { position: fixed; z-index: 7; left: 22px; bottom: 20px; color: rgba(235,245,255,.82); font-size: 11px; }
|
|
2381
2416
|
.relationship-node-search.is-galaxy { position: fixed; z-index: 9; top: 22px; left: 50%; width: min(320px, calc(100vw - 180px)); max-width: none; min-width: 0; margin: 0; color: rgba(220,235,250,.72); transform: translateX(-50%); }
|
|
2382
|
-
.relationship-node-search.is-galaxy input { min-height:
|
|
2417
|
+
.relationship-node-search.is-galaxy input { min-height: 36px; padding-block: 5px; border-color: rgba(255,255,255,.18); border-radius: 7px; background: rgba(5,7,13,.74); color: #eef6ff; box-shadow: 0 8px 24px rgba(0,0,0,.26); backdrop-filter: blur(14px); font-size: 12px; }
|
|
2383
2418
|
.relationship-node-search.is-galaxy input::placeholder { color: rgba(220,235,250,.58); }
|
|
2384
2419
|
.relationship-node-search.is-galaxy input:focus { border-color: rgba(132,197,255,.66); outline-color: rgba(97,184,255,.24); }
|
|
2385
2420
|
.relationship-node-search.is-galaxy .relationship-node-search-results { border-color: rgba(255,255,255,.16); background: rgba(5,7,13,.9); box-shadow: 0 14px 34px rgba(0,0,0,.42); backdrop-filter: blur(16px); }
|
|
@@ -2388,6 +2423,11 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
2388
2423
|
.relationship-node-search.is-galaxy .relationship-node-search-results button small, .relationship-node-search.is-galaxy .relationship-node-search-empty { color: rgba(220,235,250,.64); }
|
|
2389
2424
|
.galaxy-controls { position: fixed; z-index: 7; right: 23px; top: 50%; display: grid; width: 104px; gap: 7px; transform: translateY(-50%); padding: 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; background: rgba(5,7,13,.66); backdrop-filter: blur(12px); }
|
|
2390
2425
|
.galaxy-controls button { border: 1px solid rgba(255,255,255,.14); border-radius: 5px; padding: 7px; background: rgba(255,255,255,.05); color: #dcecff; font-size: 9px; }
|
|
2426
|
+
.galaxy-controls button:disabled { opacity: .56; cursor: not-allowed; }
|
|
2427
|
+
.galaxy-motion-field { display: grid; gap: 4px; color: rgba(220,235,250,.72); font-size: 8px; }
|
|
2428
|
+
.galaxy-motion-field select { width: 100%; min-height: 28px; padding: 5px 22px 5px 7px; border: 1px solid rgba(255,255,255,.14); border-radius: 5px; background-color: rgba(255,255,255,.05); color: #dcecff; color-scheme: dark; font: 9px/1.25 var(--font-latin), monospace; }
|
|
2429
|
+
.galaxy-motion-field select option { background: #101722; color: #dcecff; }
|
|
2430
|
+
.galaxy-motion-status { min-height: 20px; color: rgba(220,235,250,.58); font-size: 8px; line-height: 1.35; }
|
|
2391
2431
|
.galaxy-legend { position: fixed; z-index: 7; right: 22px; bottom: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px 12px; margin: 0; padding: 11px; list-style: none; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: rgba(5,7,13,.66); color: rgba(235,245,255,.8); font-size: 9px; }.galaxy-legend li { display: flex; align-items: center; gap: 5px; }
|
|
2392
2432
|
.galaxy-detail { position: fixed; z-index: 7; left: 22px; top: 22px; width: min(300px, 30vw); max-height: 55vh; overflow: auto; padding: 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(5,7,13,.74); backdrop-filter: blur(14px); }.galaxy-detail strong, .galaxy-detail small { display: block; }.galaxy-detail strong { font-size: 18px; }.galaxy-detail small, .galaxy-detail p { color: rgba(220,235,250,.65); font-size: 9px; }.galaxy-detail ul { display: grid; gap: 7px; padding: 0; list-style: none; font-size: 9px; }.galaxy-detail li { display: flex; align-items: center; gap: 6px; }
|
|
2393
2433
|
.galaxy-shell .relationship-node-search, .galaxy-shell .relationship-node-search * { cursor: auto; }
|
|
@@ -2403,11 +2443,70 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
2403
2443
|
.ai-heading-title { display: flex; flex: 0 0 auto; gap: 8px; align-items: center; }
|
|
2404
2444
|
.ai-heading-title strong { white-space: nowrap; }
|
|
2405
2445
|
.ai-heading-actions { display: flex; align-items: center; min-width: 0; margin-left: auto; gap: 5px; }
|
|
2406
|
-
.ai-heading-actions > span { min-width: 0; max-width: 88px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
|
|
2407
2446
|
.ai-heading-actions button { min-width: 28px; height: 28px; padding: 0 7px; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--muted); font-size: 9px; }
|
|
2408
2447
|
.ai-heading-action-icon { display: block; width: 15px; height: 15px; margin: auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
|
|
2409
2448
|
.ai-heading-actions #ai-new-conversation { padding: 0; font: 17px/1 var(--font-latin), monospace; }
|
|
2410
2449
|
.ai-heading-actions button:hover, .ai-heading-actions button[aria-expanded="true"] { background: var(--paper-deep); color: var(--ink); }
|
|
2450
|
+
.ai-heading-actions .ai-conversation-switcher { display: flex; align-items: center; gap: 6px; width: min(116px, 29vw); min-width: 0; max-width: 116px; padding-inline: 8px 6px; color: var(--ink); text-align: left; }
|
|
2451
|
+
.ai-conversation-switcher > span { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
2452
|
+
.ai-conversation-switcher > small { display: grid; place-items: center; width: 16px; height: 16px; flex: 0 0 auto; border-radius: 50%; background: var(--paper-deep); color: var(--muted); font: 9px/1 var(--font-latin), monospace; }
|
|
2453
|
+
.ai-conversation-switcher > svg { width: 9px; height: 6px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
|
|
2454
|
+
.ai-conversation-switcher.has-background-activity > small { background: var(--accent); color: #fff; }
|
|
2455
|
+
.ai-panel.is-single-conversation .ai-conversation-switcher { cursor: default; border-color: transparent; background: transparent; }
|
|
2456
|
+
.ai-panel.is-single-conversation .ai-conversation-switcher > small,
|
|
2457
|
+
.ai-panel.is-single-conversation .ai-conversation-switcher > svg { display: none; }
|
|
2458
|
+
.ai-conversation-switcher-menu { position: absolute; z-index: 46; top: 51px; right: 12px; display: grid; width: min(340px, calc(100% - 24px)); max-height: min(520px, calc(100% - 70px)); overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: var(--panel); box-shadow: 0 16px 38px rgba(36, 30, 24, .2); }
|
|
2459
|
+
.ai-conversation-switcher-menu > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 12px 10px; border-bottom: 1px solid var(--line); }
|
|
2460
|
+
.ai-conversation-switcher-menu > header > div { display: grid; gap: 2px; }
|
|
2461
|
+
.ai-conversation-switcher-menu > header strong { font-size: 12px; }
|
|
2462
|
+
.ai-conversation-switcher-menu > header small { color: var(--muted); font: 9px/1.3 var(--font-latin), monospace; }
|
|
2463
|
+
.ai-conversation-switcher-menu > header button,
|
|
2464
|
+
.ai-open-conversation-close { width: 28px; min-width: 28px; height: 28px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--muted); font: 16px/1 var(--font-latin), monospace; }
|
|
2465
|
+
.ai-conversation-switcher-menu > header button:hover,
|
|
2466
|
+
.ai-open-conversation-close:hover { background: var(--paper-deep); color: var(--accent-dark); }
|
|
2467
|
+
.ai-open-conversation-list { display: grid; gap: 5px; min-height: 0; padding: 7px; overflow-y: auto; }
|
|
2468
|
+
.ai-open-conversation-row { display: grid; grid-template-columns: minmax(0, 1fr) 28px; align-items: stretch; min-width: 0; border: 1px solid transparent; border-radius: 5px; }
|
|
2469
|
+
.ai-open-conversation-row:hover { background: var(--surface-soft); }
|
|
2470
|
+
.ai-open-conversation-row.is-active { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); background: var(--row-active); }
|
|
2471
|
+
.ai-open-conversation-select { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 9px 8px; border: 0; background: transparent; color: var(--ink); text-align: left; }
|
|
2472
|
+
.ai-open-conversation-copy { display: grid; gap: 3px; min-width: 0; }
|
|
2473
|
+
.ai-open-conversation-copy strong,
|
|
2474
|
+
.ai-open-conversation-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
2475
|
+
.ai-open-conversation-copy strong { font-size: 11px; font-weight: 600; }
|
|
2476
|
+
.ai-open-conversation-copy small { color: var(--muted); font-size: 9px; }
|
|
2477
|
+
.ai-conversation-switcher-menu > footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 8px; border-top: 1px solid var(--line); }
|
|
2478
|
+
.ai-conversation-switcher-menu > footer button { min-width: 0; min-height: 31px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--muted); font-size: 10px; }
|
|
2479
|
+
.ai-conversation-switcher-menu > footer button:hover { border-color: var(--accent); background: var(--paper-deep); color: var(--accent-dark); }
|
|
2480
|
+
.ai-chat-tabs { display: flex; flex: 0 0 auto; gap: 5px; min-width: 0; margin: 8px -3px 0; padding: 0 3px 4px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-color: var(--muted) transparent; scrollbar-width: thin; }
|
|
2481
|
+
.ai-chat-tab { display: flex; flex: 0 0 auto; min-width: 0; max-width: 172px; min-height: 30px; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: var(--surface-soft); }
|
|
2482
|
+
.ai-chat-tab:has(.ai-chat-tab-select[aria-selected="true"]) { border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); background: var(--row-active); box-shadow: inset 0 -2px var(--accent); }
|
|
2483
|
+
.ai-chat-tab-select { display: flex; align-items: center; gap: 7px; min-width: 82px; max-width: 142px; padding: 5px 7px; border: 0; background: transparent; color: var(--muted); font-size: 10px; text-align: left; }
|
|
2484
|
+
.ai-chat-tab-select > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
2485
|
+
.ai-chat-tab-select:hover, .ai-chat-tab-select:focus-visible, .ai-chat-tab-select[aria-selected="true"] { color: var(--ink); }
|
|
2486
|
+
.ai-chat-tab-select:focus-visible, .ai-chat-tab-close:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
|
|
2487
|
+
.ai-chat-tab-status { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 2px color-mix(in srgb, var(--green) 14%, transparent); }
|
|
2488
|
+
.ai-chat-tab-status.is-streaming { background: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent); animation: ai-chat-tab-pulse 1.1s ease-in-out infinite; }
|
|
2489
|
+
.ai-chat-tab-status.is-error { background: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent); }
|
|
2490
|
+
.ai-chat-tab-status.is-unread { background: var(--ink); box-shadow: 0 0 0 2px color-mix(in srgb, var(--ink) 14%, transparent); }
|
|
2491
|
+
.ai-chat-tab-close { width: 25px; min-width: 25px; padding: 0; border: 0; border-left: 1px solid color-mix(in srgb, var(--line) 72%, transparent); background: transparent; color: var(--muted); font: 15px/1 var(--font-latin), monospace; }
|
|
2492
|
+
.ai-chat-tab-close:hover { background: color-mix(in srgb, var(--accent) 9%, transparent); color: var(--accent-dark); }
|
|
2493
|
+
.ai-chat-panels { display: flex; flex: 1; min-height: 0; }
|
|
2494
|
+
.ai-chat-panels > .ai-feed { width: 100%; }
|
|
2495
|
+
.ai-panel.is-conversation-workspace { position: fixed; z-index: 44; inset: 0; width: auto; height: 100dvh; max-height: 100dvh; padding: max(18px, env(safe-area-inset-top)) max(24px, calc((100vw - 1040px) / 2)) max(20px, env(safe-area-inset-bottom)); border: 0; box-shadow: 0 18px 50px rgba(36, 30, 24, .18); }
|
|
2496
|
+
.app-shell.ai-workspace-mode.ai-panel-collapsed .ai-panel.is-conversation-workspace { inset: 0; height: 100dvh; padding-block: max(18px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-bottom)); transform: none; }
|
|
2497
|
+
.app-shell.ai-workspace-mode .ai-panel.is-conversation-workspace .ai-heading { display: flex; justify-content: space-between; padding: 0 0 9px; }
|
|
2498
|
+
.app-shell.ai-workspace-mode .ai-panel.is-conversation-workspace .ai-heading > :not(.panel-collapse-button) { display: flex; }
|
|
2499
|
+
.app-shell.ai-workspace-mode .ai-panel.is-conversation-workspace > .quick-actions { display: grid; }
|
|
2500
|
+
.app-shell.ai-workspace-mode .ai-panel.is-conversation-workspace > .ai-chat-panels { display: flex; }
|
|
2501
|
+
.app-shell.ai-workspace-mode .ai-panel.is-conversation-workspace > .prompt-box { display: block; }
|
|
2502
|
+
.ai-panel.is-conversation-workspace > .panel-resize-handle { display: none; }
|
|
2503
|
+
.ai-panel.is-conversation-workspace > :is(.ai-heading, .quick-actions, .ai-chat-panels, .prompt-box) { width: min(1040px, 100%); margin-inline: auto; }
|
|
2504
|
+
.ai-panel.is-conversation-workspace .ai-conversation-switcher-menu { right: max(24px, calc((100vw - 1040px) / 2)); }
|
|
2505
|
+
@container (max-width: 300px) {
|
|
2506
|
+
.ai-heading-title strong { display: none; }
|
|
2507
|
+
.ai-heading-actions .ai-conversation-switcher { width: min(96px, 40cqw); max-width: 96px; }
|
|
2508
|
+
}
|
|
2509
|
+
@keyframes ai-chat-tab-pulse { 50% { opacity: .35; transform: scale(.72); } }
|
|
2411
2510
|
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(94,118,92,.14); }
|
|
2412
2511
|
.status-dot.is-error { background: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
|
|
2413
2512
|
.ai-history-dialog-body { min-height: min(360px, 55vh); max-height: 65vh; overflow-y: auto; padding: 18px 24px 24px; }
|
|
@@ -2582,7 +2681,11 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
2582
2681
|
.ai-tool-call-info code, .ai-tool-call-info time { font-family: var(--font-latin), monospace; }
|
|
2583
2682
|
.ai-tool-call-detail section { min-width: 0; }
|
|
2584
2683
|
.ai-tool-call-detail h3 { margin: 0 0 7px; color: var(--muted); font-size: 10px; font-weight: 600; }
|
|
2585
|
-
.ai-tool-call-
|
|
2684
|
+
.ai-tool-call-code-block { position: relative; min-width: 0; }
|
|
2685
|
+
.ai-tool-call-detail pre { min-height: 120px; max-height: 32vh; overflow: auto; margin: 0; padding: 12px 44px 12px 12px; border: 1px solid var(--line); border-radius: 5px; background: var(--paper-deep); color: var(--ink); font: 10px/1.55 var(--font-latin), monospace; white-space: pre-wrap; word-break: break-word; }
|
|
2686
|
+
.ai-tool-call-copy-button { position: absolute; z-index: 1; top: 6px; right: 6px; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; min-height: 0; padding: 0; border: 1px solid transparent; border-radius: 4px; background: color-mix(in srgb, var(--paper-deep) 86%, var(--ink)); color: var(--muted); }
|
|
2687
|
+
.ai-tool-call-copy-button svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
|
|
2688
|
+
.ai-tool-call-copy-button:hover, .ai-tool-call-copy-button:focus-visible, .ai-tool-call-copy-button.is-copied { border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); background: color-mix(in srgb, var(--accent) 12%, var(--paper-deep)); color: var(--accent-dark); outline: none; }
|
|
2586
2689
|
#ai-tool-call-arguments { min-height: 0; max-height: 26vh; }
|
|
2587
2690
|
.ai-tool-call-detail section:last-child pre { min-height: 180px; }
|
|
2588
2691
|
@media (max-width: 680px) { .ai-tool-call-info { grid-template-columns: minmax(0, 1fr); }.ai-tool-call-detail pre { min-height: 100px; max-height: 26vh; }#ai-tool-call-arguments { min-height: 0; max-height: 20vh; }.ai-tool-call-detail section:last-child pre { min-height: 140px; } }
|
|
@@ -2649,8 +2752,12 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
2649
2752
|
.ai-context-distribution-row[data-key="skills"] { --distribution-color: var(--muted); }
|
|
2650
2753
|
.ai-context-distribution-row[data-key="context"] { --distribution-color: var(--green); }
|
|
2651
2754
|
.ai-context-distribution-row[data-key="left"] { --distribution-color: color-mix(in srgb, var(--muted) 55%, transparent); }
|
|
2652
|
-
.ai-send-button { min-width:
|
|
2653
|
-
.ai-send-button:hover { background: var(--accent-dark);
|
|
2755
|
+
.ai-send-button { display: grid; flex: 0 0 32px; place-items: center; width: 32px; min-width: 32px; height: 32px; padding: 0; border: 0; border-radius: 4px; background: var(--accent); color: #fff; box-shadow: 0 4px 12px rgba(139,61,44,.2); }
|
|
2756
|
+
.ai-send-button:hover, .ai-send-button:focus-visible { background: var(--accent-dark); outline: 0; }
|
|
2757
|
+
.ai-send-button:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent), 0 4px 12px rgba(139,61,44,.2); }
|
|
2758
|
+
.ai-send-button:disabled { cursor: wait; opacity: .62; }
|
|
2759
|
+
.ai-send-button-icon { width: 17px; height: 17px; overflow: visible; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
|
|
2760
|
+
.ai-send-button.is-stop .ai-send-button-icon { width: 15px; height: 15px; fill: currentColor; stroke: none; }
|
|
2654
2761
|
.ai-citations { display: grid; gap: 6px; max-height: 190px; overflow-y: auto; margin-bottom: 8px; }
|
|
2655
2762
|
.ai-citation-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; border: 1px solid var(--line); border-radius: 5px; background: var(--paper); overflow: hidden; }
|
|
2656
2763
|
.ai-citation-main { min-width: 0; padding: 8px 9px; border: 0; background: transparent; text-align: left; }
|
|
@@ -2701,6 +2808,7 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
2701
2808
|
line-height: 1.55;
|
|
2702
2809
|
animation: toast-appear-top .18s ease;
|
|
2703
2810
|
}
|
|
2811
|
+
.toast.ai-new-conversation-toast { white-space: pre-line; }
|
|
2704
2812
|
.toast-region[data-position="bottom-right"] .toast { animation-name: toast-appear-bottom; }
|
|
2705
2813
|
.toast.error {
|
|
2706
2814
|
border-color: color-mix(in srgb, var(--toast-error-fg) 16%, transparent);
|
|
@@ -2835,6 +2943,10 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
2835
2943
|
.dialog-fields .form-field-note { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
|
|
2836
2944
|
.dialog-fields label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; }
|
|
2837
2945
|
.dialog-fields input, .dialog-fields textarea, .dialog-fields select { width: 100%; padding: 9px 10px; font-size: 13px; }
|
|
2946
|
+
.dialog-fields select { padding-inline-end: 28px; }
|
|
2947
|
+
.dialog-fields .character-extraction-candidate-toggle { display: inline-flex; width: auto; align-items: center; gap: 7px; margin: 0; color: var(--ink); font-size: 9px; white-space: nowrap; }
|
|
2948
|
+
.dialog-fields .character-extraction-candidate-toggle input[type="checkbox"] { flex: 0 0 18px; width: 18px; min-width: 18px; height: 18px; padding: 0; }
|
|
2949
|
+
.dialog-fields .character-extraction-candidate-toggle input[type="checkbox"]:focus-visible { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
|
|
2838
2950
|
.dialog-fields textarea { resize: vertical; min-height: 90px; line-height: 1.6; }
|
|
2839
2951
|
.system-restart-dialog { width: min(500px, 92vw); }
|
|
2840
2952
|
.system-restart-message { margin: 0; color: var(--ink); font-size: 13px; line-height: 1.7; }
|
|
@@ -2880,30 +2992,78 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
2880
2992
|
.task-chapter-field select:disabled { cursor: not-allowed; }
|
|
2881
2993
|
.task-scope-field { min-width: 0; transition: opacity .15s ease; }
|
|
2882
2994
|
.task-scope-field.is-disabled { opacity: .48; }
|
|
2995
|
+
.task-scope-field-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-width: 0; color: var(--muted); font-size: 11px; }
|
|
2996
|
+
.task-scope-field-heading > span { min-width: 0; }
|
|
2997
|
+
.task-scope-field-heading small { color: var(--muted); font-size: 9px; }
|
|
2883
2998
|
.task-scope-picker { display: grid; gap: 8px; min-width: 0; }
|
|
2884
|
-
.dialog-fields .task-scope-trigger { display: flex; width: 100%; min-height: 42px; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); font-size: 12px; text-align: left; }
|
|
2999
|
+
.dialog-fields .task-scope-trigger { display: flex; width: 100%; min-height: 42px; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); font-size: 12px; line-height: 1.2; text-align: left; }
|
|
2885
3000
|
.task-scope-trigger:hover, .task-scope-trigger:focus-visible, .task-scope-trigger[aria-expanded="true"] { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 12%, transparent); outline: none; }
|
|
2886
3001
|
.task-scope-trigger:disabled { cursor: not-allowed; opacity: .48; }
|
|
2887
3002
|
.task-scope-trigger > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
2888
|
-
.task-scope-trigger-meta { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; color: var(--muted); font-family: var(--font-latin), monospace; font-size: 10px; }
|
|
2889
|
-
.task-scope-chevron { font-size: 15px; line-height: 1; transition: transform .15s ease; }
|
|
3003
|
+
.task-scope-trigger-meta { display: inline-flex; flex: 0 0 auto; height: 18px; align-items: center; gap: 8px; color: var(--muted); font-family: var(--font-latin), monospace; font-size: 10px; line-height: 1; }
|
|
3004
|
+
.task-scope-chevron { display: inline-grid; width: 16px; height: 18px; place-items: center; font-size: 15px; line-height: 1; transition: transform .15s ease; }
|
|
2890
3005
|
.task-scope-trigger[aria-expanded="true"] .task-scope-chevron { transform: rotate(180deg); }
|
|
2891
|
-
.task-scope-
|
|
2892
|
-
.task-scope-
|
|
2893
|
-
.
|
|
2894
|
-
.
|
|
2895
|
-
.task-scope-
|
|
2896
|
-
.task-scope-
|
|
2897
|
-
.task-scope-
|
|
2898
|
-
.task-scope-
|
|
2899
|
-
.
|
|
3006
|
+
.task-scope-panel { display: grid; gap: 14px; min-width: 0; padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 36%, var(--line)); border-radius: 8px; background: var(--surface-soft); box-shadow: 0 12px 30px rgba(48,39,31,.12); }
|
|
3007
|
+
.task-scope-panel.hidden { display: none; }
|
|
3008
|
+
.task-scope-panel-header, .task-scope-panel-section-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
|
|
3009
|
+
.task-scope-panel-header > div, .task-scope-panel-section-header > div { display: grid; gap: 3px; min-width: 0; }
|
|
3010
|
+
.task-scope-panel-header strong, .task-scope-panel-section-header strong { color: var(--ink); font-size: 11px; font-weight: 650; }
|
|
3011
|
+
.task-scope-panel-header small { color: var(--muted); font-size: 9px; line-height: 1.5; }
|
|
3012
|
+
.task-scope-author-note-banner { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 8px; padding: 9px 10px; border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line)); border-left: 3px solid var(--accent); border-radius: 6px; background: color-mix(in srgb, var(--accent) 8%, var(--surface)); color: var(--muted); font-size: 9px; line-height: 1.55; }
|
|
3013
|
+
.task-scope-author-note-banner-icon { display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: var(--accent); color: #fff; font-family: var(--font-latin), monospace; font-size: 11px; font-weight: 700; line-height: 1; }
|
|
3014
|
+
.task-scope-author-note-banner div { display: grid; gap: 2px; min-width: 0; }
|
|
3015
|
+
.task-scope-author-note-banner strong { color: var(--accent-dark); font-size: 10px; }
|
|
3016
|
+
.task-scope-clear { flex: 0 0 auto; padding: 5px 7px; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--accent-dark); font-size: 9px; }
|
|
3017
|
+
.task-scope-clear:hover:not(:disabled), .task-scope-clear:focus-visible { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, transparent); outline: none; }
|
|
3018
|
+
.task-scope-clear:disabled { cursor: default; opacity: .45; }
|
|
3019
|
+
.task-scope-panel-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(230px, .8fr); gap: 12px; min-width: 0; }
|
|
3020
|
+
.task-scope-available, .task-scope-selected { display: grid; align-content: start; gap: 10px; min-width: 0; min-height: 360px; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
|
|
3021
|
+
.task-scope-panel-section-header > span { flex: 0 0 auto; color: var(--muted); font-family: var(--font-latin), monospace; font-size: 9px; }
|
|
3022
|
+
.task-scope-search { gap: 5px !important; }
|
|
3023
|
+
.task-scope-search > span { color: var(--muted); font-size: 9px; }
|
|
3024
|
+
.dialog-fields .task-scope-search input { min-height: 34px; padding: 6px 9px; background: var(--surface-soft); font-size: 10px; }
|
|
3025
|
+
.task-scope-options { display: grid; align-content: start; gap: 6px; max-height: min(42vh, 360px); overflow-y: auto; padding: 2px 4px 2px 0; }
|
|
3026
|
+
.task-scope-volume-group { display: grid; gap: 5px; min-width: 0; padding: 5px 0 7px; border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent); }
|
|
3027
|
+
.task-scope-volume-group:last-child { border-bottom: 0; }
|
|
3028
|
+
.task-scope-volume-group > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 2px 2px; }
|
|
3029
|
+
.task-scope-volume-group > header strong { overflow: hidden; color: var(--accent-dark); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
|
|
3030
|
+
.task-scope-volume-group > header > .task-scope-volume-count { flex: 0 0 auto; color: var(--muted); font-family: var(--font-latin), monospace; font-size: 8px; }
|
|
3031
|
+
.task-scope-volume-options { display: grid; gap: 5px; min-width: 0; }
|
|
3032
|
+
.task-scope-volume-group.is-collapsed > .task-scope-volume-options { display: none; }
|
|
3033
|
+
.dialog-fields .task-scope-volume-option { position: relative; display: grid; flex: 1 1 auto; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 8px; min-width: 0; margin: 0; color: var(--ink); cursor: pointer; }
|
|
3034
|
+
.task-scope-volume-option input { position: absolute; width: 1px !important; min-width: 1px; height: 1px; padding: 0; border: 0; opacity: 0; }
|
|
3035
|
+
.task-scope-volume-option:hover, .task-scope-volume-option:has(input:focus-visible) { color: var(--accent-dark); }
|
|
3036
|
+
.task-scope-volume-option:has(input:checked) .task-scope-checkbox, .task-scope-volume-option:has(input:indeterminate) .task-scope-checkbox { border-color: var(--accent); background: var(--accent); }
|
|
3037
|
+
.task-scope-volume-option:has(input:checked) .task-scope-checkbox::after { opacity: 1; transform: translateY(-1px) rotate(-45deg) scale(1); }
|
|
3038
|
+
.task-scope-volume-option input:indeterminate + .task-scope-checkbox::after { width: 8px; height: 2px; border: 0; background: #fff; opacity: 1; transform: none; }
|
|
3039
|
+
.task-scope-volume-copy { display: grid; gap: 2px; min-width: 0; }
|
|
3040
|
+
.task-scope-volume-copy strong { overflow: hidden; color: inherit !important; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
|
|
3041
|
+
.task-scope-volume-copy small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
|
|
3042
|
+
.task-scope-volume-collapse { display: inline-grid; flex: 0 0 auto; width: 24px; height: 24px; place-items: center; margin-left: 2px; padding: 0; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--muted); font-size: 14px; line-height: 1; }
|
|
3043
|
+
.task-scope-volume-collapse > span { display: block; transition: transform .15s ease; }
|
|
3044
|
+
.task-scope-volume-collapse[aria-expanded="false"] > span { transform: rotate(180deg); }
|
|
3045
|
+
.task-scope-volume-collapse:hover, .task-scope-volume-collapse:focus-visible { border-color: var(--line); background: var(--surface); color: var(--accent-dark); outline: none; }
|
|
3046
|
+
.dialog-fields .task-scope-option { position: relative; display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 8px; min-width: 0; padding: 8px 9px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface-soft); color: var(--muted); cursor: pointer; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
|
|
2900
3047
|
.dialog-fields .task-scope-option.hidden { display: none; }
|
|
2901
|
-
.
|
|
2902
|
-
.task-scope-option
|
|
3048
|
+
.task-scope-option:hover, .task-scope-option:has(input:focus-visible) { border-color: color-mix(in srgb, var(--accent) 54%, var(--line)); }
|
|
3049
|
+
.task-scope-option input { position: absolute; width: 1px !important; min-width: 1px; height: 1px; padding: 0; border: 0; opacity: 0; }
|
|
3050
|
+
.task-scope-checkbox { display: inline-grid; width: 18px; height: 18px; place-items: center; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
|
|
3051
|
+
.task-scope-checkbox::after { width: 8px; height: 5px; border: solid #fff; border-width: 0 0 2px 2px; content: ""; opacity: 0; transform: translateY(-1px) rotate(-45deg) scale(.7); transition: opacity .12s ease, transform .12s ease; }
|
|
2903
3052
|
.task-scope-option strong { overflow: hidden; color: var(--ink); font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
|
|
3053
|
+
.task-scope-option-copy { display: grid; gap: 2px; min-width: 0; }
|
|
2904
3054
|
.task-scope-option small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
|
|
2905
|
-
.task-scope-option:has(input:checked) { border-color: color-mix(in srgb, var(--accent) 62%, var(--line)); background: color-mix(in srgb, var(--accent) 7%, var(--surface)); }
|
|
2906
|
-
.task-scope-option
|
|
3055
|
+
.task-scope-option:has(input:checked) { border-color: color-mix(in srgb, var(--accent) 62%, var(--line)); background: color-mix(in srgb, var(--accent) 7%, var(--surface)); box-shadow: inset 2px 0 var(--accent); }
|
|
3056
|
+
.task-scope-option:has(input:checked) .task-scope-checkbox { border-color: var(--accent); background: var(--accent); }
|
|
3057
|
+
.task-scope-option:has(input:checked) .task-scope-checkbox::after { opacity: 1; transform: translateY(-1px) rotate(-45deg) scale(1); }
|
|
3058
|
+
.task-scope-selected-note { margin: -2px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
|
|
3059
|
+
.task-scope-selected-list { display: grid; align-content: start; gap: 6px; max-height: min(42vh, 360px); overflow-y: auto; padding: 2px 4px 2px 0; }
|
|
3060
|
+
.task-scope-selected-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; padding: 8px 9px; border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line)); border-radius: 5px; background: color-mix(in srgb, var(--accent) 5%, var(--surface)); }
|
|
3061
|
+
.task-scope-selected-copy { display: grid; gap: 2px; min-width: 0; }
|
|
3062
|
+
.task-scope-selected-copy strong { overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
|
|
3063
|
+
.task-scope-selected-copy small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
|
|
3064
|
+
.task-scope-selected-item button { display: grid; width: 24px; height: 24px; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 50%; background: transparent; color: var(--muted); font-size: 16px; line-height: 1; }
|
|
3065
|
+
.task-scope-selected-item button:hover, .task-scope-selected-item button:focus-visible { border-color: var(--line); background: var(--surface); color: var(--accent-dark); outline: none; }
|
|
3066
|
+
.task-scope-selected-empty { margin: 0; padding: 28px 12px; border: 1px dashed var(--line); color: var(--muted); font-size: 10px; line-height: 1.5; text-align: center; }
|
|
2907
3067
|
.task-scope-empty { margin: 0; padding: 18px 8px; color: var(--muted); font-size: 10px; text-align: center; }
|
|
2908
3068
|
.relationship-analysis-options { display: grid; gap: 14px; }
|
|
2909
3069
|
.relationship-character-field { min-width: 0; }
|
|
@@ -2985,9 +3145,9 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
2985
3145
|
.character-code { display: flex; align-items: center; gap: 7px; margin-top: 10px; color: var(--muted); font-size: 10px; }
|
|
2986
3146
|
.character-code b { font-weight: 500; }
|
|
2987
3147
|
.character-code .pill { display: inline-flex; align-items: center; justify-content: center; margin: 0; min-height: 18px; padding: 2px 8px; line-height: 1; font-family: var(--font-latin), var(--font-cjk), monospace; }
|
|
2988
|
-
.character-species { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 6px; margin-top: 8px; color: var(--muted); font-size: 10px; }
|
|
2989
|
-
.character-species b { font-weight: 500; }
|
|
2990
|
-
.character-species .pill { display: inline-flex; align-items: center; justify-content: center; justify-self: start; min-width: 0; max-width: 100%; margin: 0; min-height: 18px; padding: 2px 8px; line-height: 1.25; overflow-wrap: anywhere; }
|
|
3148
|
+
.character-species, .character-gender { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 6px; margin-top: 8px; color: var(--muted); font-size: 10px; }
|
|
3149
|
+
.character-species b, .character-gender b { font-weight: 500; }
|
|
3150
|
+
.character-species .pill, .character-gender .pill { display: inline-flex; align-items: center; justify-content: center; justify-self: start; min-width: 0; max-width: 100%; margin: 0; min-height: 18px; padding: 2px 8px; line-height: 1.25; overflow-wrap: anywhere; }
|
|
2991
3151
|
.character-detail-list { display: grid; gap: 5px; margin: 12px 0; }
|
|
2992
3152
|
.character-detail-list div { display: grid; grid-template-columns: minmax(70px, .42fr) minmax(0, 1fr); gap: 8px; font-size: 10px; }
|
|
2993
3153
|
.character-detail-list dt { color: var(--muted); }
|
|
@@ -3073,6 +3233,7 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
3073
3233
|
.import-mode-options { grid-template-columns: 1fr; }
|
|
3074
3234
|
.import-mode-dialog .dialog-actions { flex-wrap: wrap; }
|
|
3075
3235
|
.character-filter-toolbar { grid-template-columns: minmax(0, 1fr); }
|
|
3236
|
+
.character-filter-toolbar-with-extra-filters { grid-template-columns: minmax(0, 1fr); }
|
|
3076
3237
|
.character-filter-toolbar-actions { justify-content: flex-start; }
|
|
3077
3238
|
.draft-filter-toolbar { grid-template-columns: minmax(0, 1fr); }
|
|
3078
3239
|
.setting-filter-toolbar { grid-template-columns: minmax(0, 1fr); }
|
|
@@ -3226,6 +3387,7 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
3226
3387
|
.character-relationship-row { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface-soft); }
|
|
3227
3388
|
.character-relationship-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
|
|
3228
3389
|
.character-relationship-heading > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; min-width: 0; }
|
|
3390
|
+
.character-relationship-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 6px; }
|
|
3229
3391
|
.character-relationship-heading strong { font-size: 14px; }
|
|
3230
3392
|
.character-relationship-heading span { color: var(--muted); font-size: 10px; }
|
|
3231
3393
|
.character-relationship-heading button { flex: 0 0 auto; padding: 6px 9px; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--muted); font-size: 10px; }
|
|
@@ -3410,7 +3572,7 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
3410
3572
|
.task-auto-run-panel { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
|
|
3411
3573
|
.task-auto-run-header, .task-auto-run-controls, .task-auto-run-meta { grid-column: 1; }
|
|
3412
3574
|
.task-auto-run-help, .task-auto-run-alert { grid-column: 1; }
|
|
3413
|
-
.task-auto-run-progress {
|
|
3575
|
+
.task-auto-run-progress { position: static; top: auto; right: auto; width: 100%; transform: none; }
|
|
3414
3576
|
.task-auto-run-progress-ring { display: none; }
|
|
3415
3577
|
.task-auto-run-progress-bar-layout { display: grid; gap: 6px; width: 100%; }
|
|
3416
3578
|
.settings-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
@@ -3483,6 +3645,7 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
3483
3645
|
body { -webkit-text-size-adjust: 100%; }
|
|
3484
3646
|
button, select, input, textarea, [contenteditable="true"] { touch-action: manipulation; }
|
|
3485
3647
|
button, .ghost-button, .primary-button, .danger-button, select { min-height: 40px; }
|
|
3648
|
+
.task-scope-volume-collapse { width: 40px; min-width: 40px; height: 40px; min-height: 40px; }
|
|
3486
3649
|
|
|
3487
3650
|
.app-shell {
|
|
3488
3651
|
grid-template-columns: minmax(0, 1fr);
|
|
@@ -3511,7 +3674,7 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
3511
3674
|
.brand-block .brand-mark { width: 30px; height: 30px; }
|
|
3512
3675
|
.brand-block strong { font-size: 14px; }
|
|
3513
3676
|
.brand-block small { display: none; }
|
|
3514
|
-
.mobile-module-tab { position: fixed; z-index: 38; top:
|
|
3677
|
+
.mobile-module-tab { position: fixed; z-index: 38; top: 124px; right: 0; display: grid; width: 34px; height: 42px; padding: 0; place-items: center; border: 1px solid var(--line); border-right: 0; border-radius: 5px 0 0 5px; background: var(--surface-soft); color: var(--accent-dark); font-size: 10px; writing-mode: vertical-rl; }
|
|
3515
3678
|
.app-shell.shelf-mode .mobile-module-tab { display: none; }
|
|
3516
3679
|
.mobile-panel-backdrop { position: fixed; z-index: 36; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(20, 17, 14, .28); }
|
|
3517
3680
|
.app-shell:not(.shelf-mode):not(.left-panel-collapsed) .mobile-panel-backdrop { display: block; }
|
|
@@ -3575,7 +3738,8 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
3575
3738
|
.module-nav .module-nav-secondary.hidden { display: none !important; }
|
|
3576
3739
|
.panel-heading { display: flex; margin-top: 8px; }
|
|
3577
3740
|
#novel-tree { display: block; padding-bottom: 18px; }
|
|
3578
|
-
.volume-detail-button { display: inline-flex; flex:
|
|
3741
|
+
.volume-detail-button { display: inline-flex; flex: 0 0 40px; align-items: center; justify-content: center; width: 40px; min-width: 40px; min-height: 40px; padding: 0; }
|
|
3742
|
+
.volume-detail-icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
|
|
3579
3743
|
.app-shell.left-panel-collapsed .left-panel-body { padding: 8px var(--mobile-gutter) 0; }
|
|
3580
3744
|
.app-shell.left-panel-collapsed .left-actions { display: block; padding: 0; }
|
|
3581
3745
|
|
|
@@ -3606,11 +3770,25 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
3606
3770
|
transform: translateY(0);
|
|
3607
3771
|
transition: transform .2s ease;
|
|
3608
3772
|
}
|
|
3773
|
+
.ai-heading { gap: 6px; }
|
|
3774
|
+
.ai-heading-actions { gap: 4px; }
|
|
3775
|
+
.ai-heading-actions button { height: 32px; min-height: 32px; }
|
|
3776
|
+
.ai-heading-actions .ai-conversation-switcher { width: min(106px, 28vw); max-width: 106px; }
|
|
3777
|
+
.ai-conversation-switcher-menu { position: fixed; top: auto; right: var(--mobile-gutter); bottom: calc(var(--mobile-gutter) + env(safe-area-inset-bottom)); left: var(--mobile-gutter); width: auto; max-height: min(540px, calc(100dvh - 28px)); border-radius: 8px; }
|
|
3778
|
+
.ai-conversation-switcher-menu > header button { min-height: 28px; }
|
|
3779
|
+
.ai-conversation-switcher-menu > footer { grid-template-columns: minmax(0, 1fr); }
|
|
3780
|
+
.ai-panel.is-conversation-workspace { z-index: 44; inset: 0; width: auto; height: auto; padding: 12px var(--mobile-gutter) calc(18px + env(safe-area-inset-bottom)); border-top: 0; }
|
|
3781
|
+
.ai-panel.is-conversation-workspace > :is(.ai-heading, .quick-actions, .ai-chat-panels, .prompt-box) { width: 100%; }
|
|
3782
|
+
.ai-panel.is-conversation-workspace .ai-conversation-switcher-menu { right: var(--mobile-gutter); }
|
|
3609
3783
|
.app-shell.shelf-mode .ai-panel { display: none; }
|
|
3610
3784
|
.ai-panel > .panel-resize-handle { display: none; }
|
|
3611
3785
|
.app-shell.ai-panel-collapsed .ai-panel { top: auto; height: 58px; padding-block: 8px; transform: translateY(0); }
|
|
3612
3786
|
.app-shell.ai-panel-collapsed .ai-panel > :not(.ai-heading) { display: none; }
|
|
3613
3787
|
.app-shell.ai-panel-collapsed .ai-heading { display: flex; justify-content: space-between; padding: 0; }
|
|
3788
|
+
.app-shell.ai-workspace-mode.ai-panel-collapsed .ai-panel.is-conversation-workspace .ai-heading > :not(.panel-collapse-button) { display: flex; }
|
|
3789
|
+
.app-shell.ai-workspace-mode.ai-panel-collapsed .ai-panel.is-conversation-workspace > .quick-actions { display: grid; }
|
|
3790
|
+
.app-shell.ai-workspace-mode.ai-panel-collapsed .ai-panel.is-conversation-workspace > .ai-chat-panels { display: flex; }
|
|
3791
|
+
.app-shell.ai-workspace-mode.ai-panel-collapsed .ai-panel.is-conversation-workspace > .prompt-box { display: block; }
|
|
3614
3792
|
|
|
3615
3793
|
.shelf-view { height: 100%; min-height: 0; padding: 28px var(--mobile-gutter) 42px; }
|
|
3616
3794
|
#shelf-view, #settings-hub-view { padding-bottom: 0; }
|
|
@@ -3631,13 +3809,15 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
3631
3809
|
.welcome-grid { grid-template-columns: 1fr; margin-top: 34px; }
|
|
3632
3810
|
|
|
3633
3811
|
.editor-toolbar { padding: 18px var(--mobile-gutter) 14px; }
|
|
3812
|
+
.chapter-search-panel { top: calc(100% + 8px); right: var(--mobile-gutter); left: var(--mobile-gutter); width: auto; max-height: calc(100dvh - 120px); overflow-y: auto; }
|
|
3813
|
+
.chapter-search-fields { grid-template-columns: minmax(0, 1fr); }
|
|
3634
3814
|
.chapter-foreshadow-reminder { padding: 10px var(--mobile-gutter); }
|
|
3635
3815
|
.chapter-foreshadow-reminder-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
|
|
3636
3816
|
.chapter-foreshadow-reminder-counter { grid-column: 1 / -1; justify-self: start; }
|
|
3637
3817
|
.chapter-foreshadow-reminder-actions button { width: 100%; min-width: 0; min-height: 38px; }
|
|
3638
3818
|
.chapter-foreshadow-reminder[data-multiple="true"] #chapter-foreshadow-reminder-resolve { grid-column: span 2; }
|
|
3639
|
-
.editor-actions { position:
|
|
3640
|
-
.app-shell.left-panel-collapsed .editor-actions { transform:
|
|
3819
|
+
.editor-actions { position: static; z-index: auto; right: auto; bottom: auto; left: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; max-width: none; gap: 6px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; transform: none; transition: none; }
|
|
3820
|
+
.app-shell.left-panel-collapsed .editor-actions { transform: none; pointer-events: auto; }
|
|
3641
3821
|
.editor-actions .chapter-stats { grid-column: 1 / -1; }
|
|
3642
3822
|
.editor-actions > button { min-width: 0; min-height: 36px; padding-inline: 8px; font-size: 11px; }
|
|
3643
3823
|
.chapter-title { font-size: 23px; }
|
|
@@ -3683,6 +3863,9 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
|
|
|
3683
3863
|
.replace-scope-fieldset legend, .replace-scope-fieldset > p { grid-column: auto; }
|
|
3684
3864
|
.task-detail-overview { grid-template-columns: minmax(0, 1fr); padding: 12px; }
|
|
3685
3865
|
.task-detail-overview > * { grid-column: 1 !important; }
|
|
3866
|
+
.task-scope-panel-grid { grid-template-columns: minmax(0, 1fr); }
|
|
3867
|
+
.task-scope-available, .task-scope-selected { min-height: 0; }
|
|
3868
|
+
.task-scope-options, .task-scope-selected-list { max-height: 28vh; }
|
|
3686
3869
|
.task-result-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
3687
3870
|
.task-result-item-details, .task-result-json-loader { grid-template-columns: minmax(0, 1fr); }
|
|
3688
3871
|
.task-result-json-loader button { justify-self: start; }
|
|
@@ -3790,7 +3973,10 @@ body { font-size: var(--ui-font-size); }
|
|
|
3790
3973
|
.ai-history-dialog,
|
|
3791
3974
|
.ai-tool-call-dialog { font-size: var(--ai-font-size); }
|
|
3792
3975
|
.ai-heading-title strong { font-size: calc(14px * var(--ai-font-scale)); }
|
|
3793
|
-
.ai-heading-actions
|
|
3976
|
+
.ai-heading-actions button { font-size: calc(9px * var(--ai-font-scale)); }
|
|
3977
|
+
.ai-open-conversation-copy strong { font-size: calc(11px * var(--ai-font-scale)); }
|
|
3978
|
+
.ai-open-conversation-copy small, .ai-conversation-switcher-menu > header small { font-size: calc(9px * var(--ai-font-scale)); }
|
|
3979
|
+
.ai-chat-tab-select { font-size: calc(10px * var(--ai-font-scale)); }
|
|
3794
3980
|
.quick-actions button { font-size: calc(10px * var(--ai-font-scale)); }
|
|
3795
3981
|
.ai-context-compaction-divider { font-size: calc(9px * var(--ai-font-scale)); }
|
|
3796
3982
|
.assistant-message, .user-message { font-size: var(--ai-font-size); }
|
|
@@ -3815,7 +4001,6 @@ body { font-size: var(--ui-font-size); }
|
|
|
3815
4001
|
.ai-context-popover-header strong { font-size: calc(12px * var(--ai-font-scale)); }
|
|
3816
4002
|
.ai-context-popover-header small, .ai-context-distribution-label { font-size: calc(10px * var(--ai-font-scale)); }
|
|
3817
4003
|
.ai-context-distribution-label small, .ai-context-distribution-label strong { font-size: calc(9px * var(--ai-font-scale)); }
|
|
3818
|
-
.ai-send-button { font-size: calc(10px * var(--ai-font-scale)); }
|
|
3819
4004
|
.ai-citation-main strong { font-size: calc(10px * var(--ai-font-scale)); }
|
|
3820
4005
|
.ai-citation-main small, .ai-citation-main span, .message-citations span, .user-message-mentions { font-size: calc(9px * var(--ai-font-scale)); }
|
|
3821
4006
|
.ai-history-item strong { font-size: calc(14px * var(--ai-font-scale)); }
|
|
@@ -3949,6 +4134,9 @@ body { font-size: var(--ui-font-size); }
|
|
|
3949
4134
|
background: var(--reader-surface);
|
|
3950
4135
|
box-shadow: 0 18px 44px rgba(20, 18, 15, .2);
|
|
3951
4136
|
}
|
|
4137
|
+
.reader-settings-group { display: grid; min-width: 0; gap: 10px; }
|
|
4138
|
+
.reader-settings-section-title { color: var(--reader-ink); font-size: 10px; font-weight: 600; }
|
|
4139
|
+
.reader-navigation-group { padding-top: 10px; border-top: 1px solid var(--reader-line); }
|
|
3952
4140
|
.reader-settings-panel label,
|
|
3953
4141
|
.reader-jump-controls label { display: grid; min-width: 0; gap: 4px; color: var(--reader-muted); font-size: 9px; }
|
|
3954
4142
|
.reader-settings-panel select,
|
|
@@ -3971,6 +4159,14 @@ body { font-size: var(--ui-font-size); }
|
|
|
3971
4159
|
width: min(920px, 100%);
|
|
3972
4160
|
margin: 0 auto;
|
|
3973
4161
|
}
|
|
4162
|
+
.reader-settings-panel .reader-jump-controls {
|
|
4163
|
+
grid-column: auto;
|
|
4164
|
+
grid-template-columns: minmax(0, 1fr);
|
|
4165
|
+
width: 100%;
|
|
4166
|
+
margin: 0;
|
|
4167
|
+
gap: 8px;
|
|
4168
|
+
}
|
|
4169
|
+
.reader-settings-panel .reader-jump-controls label:last-child { grid-column: auto; }
|
|
3974
4170
|
.reader-viewport {
|
|
3975
4171
|
position: relative;
|
|
3976
4172
|
min-width: 0;
|
|
@@ -3982,7 +4178,7 @@ body { font-size: var(--ui-font-size); }
|
|
|
3982
4178
|
scrollbar-gutter: stable;
|
|
3983
4179
|
}
|
|
3984
4180
|
.reader-viewport:focus { outline: none; }
|
|
3985
|
-
.reader-viewport:focus-visible { box-shadow:
|
|
4181
|
+
.reader-viewport:focus-visible { box-shadow: none; }
|
|
3986
4182
|
.reader-document {
|
|
3987
4183
|
box-sizing: border-box;
|
|
3988
4184
|
width: min(820px, calc(100% - 32px));
|
|
@@ -4077,8 +4273,6 @@ body { font-size: var(--ui-font-size); }
|
|
|
4077
4273
|
.reader-settings > summary { min-height: 40px; }
|
|
4078
4274
|
.reader-settings > summary { padding: 7px 10px; }
|
|
4079
4275
|
.reader-settings-panel { position: static; width: min(250px, calc(100vw - 24px)); margin-top: 9px; }
|
|
4080
|
-
.reader-jump-controls { grid-column: 1 / -1; grid-row: 3; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 7px; }
|
|
4081
|
-
.reader-jump-controls label:last-child { grid-column: 1 / -1; }
|
|
4082
4276
|
.reader-settings-panel select, .reader-jump-controls select { min-height: 40px; font-size: 10px; }
|
|
4083
4277
|
.reader-document { width: 100%; padding: 34px 20px 58px; border: 0; box-shadow: none; }
|
|
4084
4278
|
.reader-chapter-header { margin-bottom: 30px; }
|