@starlove/orbit 1.0.6 → 1.1.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 +22 -7
- package/SKILL-ORBIT.md +28 -1
- package/build.mjs +2 -2
- package/dist/full/index.html +2 -2
- package/dist/full/js/app.a4f045fc.js +676 -0
- package/dist/full/js/app.a4f045fc.js.map +7 -0
- package/dist/full/{styles.c2e3d20a.css → styles.836872e7.css} +1117 -47
- package/dist/full/version.json +2 -2
- package/docs/AGENT_PROTOCOL.md +27 -5
- package/docs/MCP_SETUP.md +7 -3
- package/docs/ORBIT_DISPATCH.md +185 -0
- package/docs/setup/orbit-init-wizard.md +174 -0
- package/package.json +2 -2
- package/public/js/actor-labels.js +65 -0
- package/public/js/api.js +5 -1
- package/public/js/app.js +8 -1
- package/public/js/card-actions.js +526 -0
- package/public/js/config.js +2 -1
- package/public/js/drawer.js +2 -0
- package/public/js/format.js +336 -0
- package/public/js/kanban.js +25 -2
- package/public/js/local-backend.js +24 -8
- package/public/js/main.js +14 -6
- package/public/js/motion-preference.js +53 -0
- package/public/js/router.js +78 -58
- package/public/js/search.js +6 -3
- package/public/js/settings-tabs.js +1 -1
- package/public/js/settings.js +192 -29
- package/public/js/starscape.js +25 -18
- package/public/js/state.js +61 -2
- package/public/js/theme-preference.js +88 -0
- package/public/js/ticket-detail.js +432 -126
- package/public/js/url-routes.js +94 -0
- package/public/styles.css +1117 -47
- package/src/cli/orbit.js +217 -32
- package/src/core/agent.js +1 -18
- package/src/core/agents-md.js +16 -10
- package/src/core/attachments.js +238 -0
- package/src/core/auth.js +36 -0
- package/src/core/backups.js +9 -3
- package/src/core/board.js +32 -1
- package/src/core/boards.js +1 -1
- package/src/core/bootstrap.js +9 -1
- package/src/core/db.js +42 -2
- package/src/core/delete-board.js +87 -21
- package/src/core/dispatch.js +532 -0
- package/src/core/http.js +31 -11
- package/src/core/migrate.js +198 -0
- package/src/core/paths.js +6 -0
- package/src/core/registry.js +12 -9
- package/src/core/router.js +62 -6
- package/src/core/search.js +56 -22
- package/src/core/snapshots.js +14 -2
- package/src/mcp/orbit-client.js +223 -0
- package/src/mcp-server.js +89 -129
- package/src/server.js +20 -0
- package/dist/full/js/app.aedc1bfe.js +0 -554
- package/dist/full/js/app.aedc1bfe.js.map +0 -7
|
@@ -76,9 +76,13 @@ input[type="file"] {
|
|
|
76
76
|
--orbit-add-border: rgba(29, 37, 40, 0.12);
|
|
77
77
|
--orbit-phantom-border: rgba(29, 37, 40, 0.14);
|
|
78
78
|
--orbit-phantom-bg: rgba(29, 37, 40, 0.03);
|
|
79
|
+
--kanban-column-width: 22rem;
|
|
79
80
|
--scrollbar-thumb: rgba(var(--accent-rgb),0.45);
|
|
80
81
|
--scrollbar-thumb-hover: rgba(var(--accent-rgb),0.65);
|
|
81
82
|
--scrollbar-track: transparent;
|
|
83
|
+
/* Default text-control interior spacing; component-specific fields override this. */
|
|
84
|
+
--field-padding-y: 0.62rem;
|
|
85
|
+
--field-padding-x: 0.8rem;
|
|
82
86
|
/* RGB channels — use as rgba(var(--name), alpha) for arbitrary-opacity tints */
|
|
83
87
|
--paper-rgb: 255, 252, 246; /* warm cream paper — light-mode surface/inset base */
|
|
84
88
|
--warmth-rgb: 53, 43, 28; /* warm parchment brown — light-mode shadow tint */
|
|
@@ -96,10 +100,16 @@ input[type="file"] {
|
|
|
96
100
|
--indigo-rgb: 139, 92, 246; /* dark-mode epic gradient tint 2 / orbit-accent-2 */
|
|
97
101
|
--coral-rgb: 248, 113, 113; /* dark-mode bug card bezel (brighter than --red-rgb) */
|
|
98
102
|
/* Native <select> chevron: same horizontal inset for value text (left) and glyph (right). */
|
|
99
|
-
--select-chevron-pad-x:
|
|
103
|
+
--select-chevron-pad-x: var(--field-padding-x);
|
|
100
104
|
--select-chevron-size: 12px;
|
|
101
105
|
}
|
|
102
106
|
|
|
107
|
+
@media (max-width: 720px) {
|
|
108
|
+
:root {
|
|
109
|
+
--kanban-column-width: 18rem;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
103
113
|
* {
|
|
104
114
|
box-sizing: border-box;
|
|
105
115
|
}
|
|
@@ -248,6 +258,24 @@ textarea {
|
|
|
248
258
|
outline: none;
|
|
249
259
|
}
|
|
250
260
|
|
|
261
|
+
input:not([type]),
|
|
262
|
+
input[type="date"],
|
|
263
|
+
input[type="datetime-local"],
|
|
264
|
+
input[type="email"],
|
|
265
|
+
input[type="month"],
|
|
266
|
+
input[type="number"],
|
|
267
|
+
input[type="password"],
|
|
268
|
+
input[type="search"],
|
|
269
|
+
input[type="tel"],
|
|
270
|
+
input[type="text"],
|
|
271
|
+
input[type="time"],
|
|
272
|
+
input[type="url"],
|
|
273
|
+
input[type="week"],
|
|
274
|
+
select,
|
|
275
|
+
textarea {
|
|
276
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
277
|
+
}
|
|
278
|
+
|
|
251
279
|
input:focus,
|
|
252
280
|
select:focus,
|
|
253
281
|
textarea:focus {
|
|
@@ -529,6 +557,12 @@ h1 {
|
|
|
529
557
|
scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
|
|
530
558
|
}
|
|
531
559
|
|
|
560
|
+
#boardFlyout {
|
|
561
|
+
min-width: 20.25rem;
|
|
562
|
+
max-width: min(30rem, calc(100vw - 1.5rem));
|
|
563
|
+
max-height: min(36rem, calc(100vh - 4rem));
|
|
564
|
+
}
|
|
565
|
+
|
|
532
566
|
.menu-flyout--align-end {
|
|
533
567
|
right: 0;
|
|
534
568
|
left: auto;
|
|
@@ -641,7 +675,7 @@ h1 {
|
|
|
641
675
|
|
|
642
676
|
.menu-flyout-form input {
|
|
643
677
|
width: 100%;
|
|
644
|
-
padding:
|
|
678
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
645
679
|
border: 1px solid var(--line);
|
|
646
680
|
border-radius: 8px;
|
|
647
681
|
font: inherit;
|
|
@@ -940,7 +974,7 @@ h1 {
|
|
|
940
974
|
.create-flyout-form input[type="text"],
|
|
941
975
|
.create-flyout-form textarea {
|
|
942
976
|
width: 100%;
|
|
943
|
-
padding:
|
|
977
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
944
978
|
border: 1px solid var(--line);
|
|
945
979
|
border-radius: 10px;
|
|
946
980
|
font: inherit;
|
|
@@ -950,7 +984,7 @@ h1 {
|
|
|
950
984
|
|
|
951
985
|
.create-flyout-form select.select-chevron-field {
|
|
952
986
|
width: 100%;
|
|
953
|
-
padding:
|
|
987
|
+
padding: var(--field-padding-y) var(--select-chevron-pad-x);
|
|
954
988
|
padding-right: calc(var(--select-chevron-pad-x) * 2 + var(--select-chevron-size));
|
|
955
989
|
border: 1px solid var(--line);
|
|
956
990
|
border-radius: 10px;
|
|
@@ -1030,7 +1064,7 @@ h1 {
|
|
|
1030
1064
|
|
|
1031
1065
|
.topbar-search input {
|
|
1032
1066
|
width: 100%;
|
|
1033
|
-
padding:
|
|
1067
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
1034
1068
|
border: 1px solid var(--line);
|
|
1035
1069
|
border-radius: 10px;
|
|
1036
1070
|
background: var(--surface-input);
|
|
@@ -1050,7 +1084,7 @@ h1 {
|
|
|
1050
1084
|
.drawer-composer textarea,
|
|
1051
1085
|
.composer input,
|
|
1052
1086
|
.composer textarea {
|
|
1053
|
-
padding:
|
|
1087
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
1054
1088
|
}
|
|
1055
1089
|
|
|
1056
1090
|
.drawer-composer textarea,
|
|
@@ -1067,11 +1101,11 @@ h1 {
|
|
|
1067
1101
|
|
|
1068
1102
|
.composer-row select,
|
|
1069
1103
|
.composer-row input {
|
|
1070
|
-
padding:
|
|
1104
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
1071
1105
|
}
|
|
1072
1106
|
|
|
1073
1107
|
.composer-row select.select-chevron-field {
|
|
1074
|
-
padding:
|
|
1108
|
+
padding: var(--field-padding-y) var(--select-chevron-pad-x);
|
|
1075
1109
|
padding-right: calc(var(--select-chevron-pad-x) * 2 + var(--select-chevron-size));
|
|
1076
1110
|
}
|
|
1077
1111
|
|
|
@@ -1090,11 +1124,45 @@ h1 {
|
|
|
1090
1124
|
}
|
|
1091
1125
|
|
|
1092
1126
|
.search-hit {
|
|
1127
|
+
display: flex;
|
|
1128
|
+
align-items: center;
|
|
1129
|
+
gap: 0.65rem;
|
|
1093
1130
|
padding: 0.85rem;
|
|
1094
1131
|
border-bottom: 1px solid var(--line);
|
|
1095
1132
|
cursor: url('cursors/live_link.cur'), pointer;
|
|
1096
1133
|
}
|
|
1097
1134
|
|
|
1135
|
+
.search-hit-main {
|
|
1136
|
+
display: flex;
|
|
1137
|
+
flex: 1 1 auto;
|
|
1138
|
+
min-width: 0;
|
|
1139
|
+
gap: 0.35rem;
|
|
1140
|
+
align-items: baseline;
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
.search-hit-title {
|
|
1144
|
+
flex: 1 1 auto;
|
|
1145
|
+
min-width: 0;
|
|
1146
|
+
overflow: hidden;
|
|
1147
|
+
text-overflow: ellipsis;
|
|
1148
|
+
white-space: nowrap;
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
.search-hit-state {
|
|
1152
|
+
flex: 0 0 auto;
|
|
1153
|
+
margin-left: auto;
|
|
1154
|
+
padding: 0.1rem 0.5rem;
|
|
1155
|
+
border: 1px solid rgba(96, 165, 250, 0.28);
|
|
1156
|
+
border-radius: 999px;
|
|
1157
|
+
color: #3657c8;
|
|
1158
|
+
background-color: rgba(96, 165, 250, 0.12);
|
|
1159
|
+
font-size: 0.72rem;
|
|
1160
|
+
font-weight: 600;
|
|
1161
|
+
letter-spacing: 0.02em;
|
|
1162
|
+
line-height: 1.35;
|
|
1163
|
+
white-space: nowrap;
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1098
1166
|
.search-hit:hover {
|
|
1099
1167
|
background: var(--accent-hover);
|
|
1100
1168
|
}
|
|
@@ -1109,7 +1177,7 @@ h1 {
|
|
|
1109
1177
|
/* Horizontal scroll: styled thumb/track (Firefox + WebKit). */
|
|
1110
1178
|
.kanban {
|
|
1111
1179
|
display: grid;
|
|
1112
|
-
grid-auto-columns: minmax(
|
|
1180
|
+
grid-auto-columns: minmax(var(--kanban-column-width), 1fr);
|
|
1113
1181
|
grid-auto-flow: column;
|
|
1114
1182
|
grid-template-rows: minmax(0, 1fr);
|
|
1115
1183
|
flex: 1 1 auto;
|
|
@@ -1636,6 +1704,120 @@ h1 {
|
|
|
1636
1704
|
outline-offset: -1px;
|
|
1637
1705
|
}
|
|
1638
1706
|
|
|
1707
|
+
.card-action-menu {
|
|
1708
|
+
position: fixed;
|
|
1709
|
+
z-index: 1200;
|
|
1710
|
+
min-width: 13rem;
|
|
1711
|
+
max-height: calc(100vh - 16px);
|
|
1712
|
+
overflow: visible;
|
|
1713
|
+
color: var(--orbit-text);
|
|
1714
|
+
background: rgba(var(--paper-rgb), 0.98);
|
|
1715
|
+
border: 1px solid rgba(var(--warmth-rgb), 0.14);
|
|
1716
|
+
border-radius: 14px;
|
|
1717
|
+
box-shadow: 0 18px 48px rgba(var(--warmth-rgb), 0.2), 0 4px 14px rgba(0, 0, 0, 0.12);
|
|
1718
|
+
padding: 0.35rem;
|
|
1719
|
+
backdrop-filter: blur(18px);
|
|
1720
|
+
-webkit-backdrop-filter: blur(18px);
|
|
1721
|
+
}
|
|
1722
|
+
|
|
1723
|
+
.card-action-menu-list {
|
|
1724
|
+
list-style: none;
|
|
1725
|
+
margin: 0;
|
|
1726
|
+
padding: 0;
|
|
1727
|
+
}
|
|
1728
|
+
|
|
1729
|
+
.card-action-menu-item {
|
|
1730
|
+
position: relative;
|
|
1731
|
+
}
|
|
1732
|
+
|
|
1733
|
+
.card-action-button {
|
|
1734
|
+
width: 100%;
|
|
1735
|
+
min-width: 11.5rem;
|
|
1736
|
+
display: grid;
|
|
1737
|
+
grid-template-columns: 1.2rem 1fr auto;
|
|
1738
|
+
align-items: center;
|
|
1739
|
+
gap: 0.45rem;
|
|
1740
|
+
padding: 0.52rem 0.58rem;
|
|
1741
|
+
border: 0;
|
|
1742
|
+
border-radius: 10px;
|
|
1743
|
+
color: inherit;
|
|
1744
|
+
background: transparent;
|
|
1745
|
+
font: inherit;
|
|
1746
|
+
font-size: 0.88rem;
|
|
1747
|
+
text-align: left;
|
|
1748
|
+
cursor: url('cursors/live_link.cur'), pointer;
|
|
1749
|
+
}
|
|
1750
|
+
|
|
1751
|
+
.card-action-menu-item.has-submenu > .card-action-button {
|
|
1752
|
+
grid-template-columns: 1fr auto;
|
|
1753
|
+
}
|
|
1754
|
+
|
|
1755
|
+
.card-action-button:hover,
|
|
1756
|
+
.card-action-button:focus-visible,
|
|
1757
|
+
.card-action-menu-item.is-open > .card-action-button {
|
|
1758
|
+
outline: none;
|
|
1759
|
+
background: rgba(var(--accent-rgb), 0.12);
|
|
1760
|
+
}
|
|
1761
|
+
|
|
1762
|
+
.card-action-button:disabled {
|
|
1763
|
+
cursor: default;
|
|
1764
|
+
color: var(--orbit-text-muted);
|
|
1765
|
+
opacity: 0.82;
|
|
1766
|
+
}
|
|
1767
|
+
|
|
1768
|
+
.card-action-check,
|
|
1769
|
+
.card-action-arrow {
|
|
1770
|
+
color: var(--orbit-text-muted);
|
|
1771
|
+
}
|
|
1772
|
+
|
|
1773
|
+
.card-action-label {
|
|
1774
|
+
min-width: 0;
|
|
1775
|
+
overflow: hidden;
|
|
1776
|
+
text-overflow: ellipsis;
|
|
1777
|
+
white-space: nowrap;
|
|
1778
|
+
}
|
|
1779
|
+
|
|
1780
|
+
.card-action-menu-item.is-danger > .card-action-button {
|
|
1781
|
+
color: #b42318;
|
|
1782
|
+
}
|
|
1783
|
+
|
|
1784
|
+
.card-action-menu-item.is-danger > .card-action-button:hover,
|
|
1785
|
+
.card-action-menu-item.is-danger > .card-action-button:focus-visible {
|
|
1786
|
+
background: rgba(var(--red-rgb), 0.12);
|
|
1787
|
+
}
|
|
1788
|
+
|
|
1789
|
+
.card-action-submenu {
|
|
1790
|
+
position: fixed;
|
|
1791
|
+
top: 0;
|
|
1792
|
+
left: 0;
|
|
1793
|
+
z-index: 1201;
|
|
1794
|
+
display: none;
|
|
1795
|
+
min-width: 12rem;
|
|
1796
|
+
max-height: calc(100vh - 16px);
|
|
1797
|
+
overflow-y: auto;
|
|
1798
|
+
padding: 0.35rem;
|
|
1799
|
+
border: 1px solid rgba(var(--warmth-rgb), 0.14);
|
|
1800
|
+
border-radius: 14px;
|
|
1801
|
+
background: rgba(var(--paper-rgb), 0.98);
|
|
1802
|
+
box-shadow: 0 18px 48px rgba(var(--warmth-rgb), 0.18), 0 4px 14px rgba(0, 0, 0, 0.12);
|
|
1803
|
+
}
|
|
1804
|
+
|
|
1805
|
+
.card-action-submenu.is-open {
|
|
1806
|
+
display: block;
|
|
1807
|
+
}
|
|
1808
|
+
|
|
1809
|
+
[data-theme="dark"] .card-action-menu,
|
|
1810
|
+
[data-theme="dark"] .card-action-submenu {
|
|
1811
|
+
color: var(--starlight);
|
|
1812
|
+
background: rgba(var(--cosmos-rgb), 0.96);
|
|
1813
|
+
border-color: rgba(var(--starlight-rgb), 0.16);
|
|
1814
|
+
box-shadow: 0 18px 48px rgba(var(--void-rgb), 0.55), 0 0 0 1px rgba(var(--starlight-rgb), 0.04);
|
|
1815
|
+
}
|
|
1816
|
+
|
|
1817
|
+
[data-theme="dark"] .card-action-menu-item.is-danger > .card-action-button {
|
|
1818
|
+
color: #fca5a5;
|
|
1819
|
+
}
|
|
1820
|
+
|
|
1639
1821
|
/* Dark card glass — starscape palette. Hover uses filter+drop-shadow only
|
|
1640
1822
|
so per-type bezels survive. Selected uses outline so bezel box-shadow stays intact. */
|
|
1641
1823
|
[data-theme="dark"] .card {
|
|
@@ -1704,8 +1886,8 @@ h1 {
|
|
|
1704
1886
|
/* Epic-aware grouping inside a column.
|
|
1705
1887
|
`.epic-children` is a flex item nested in `.column` (which is itself flex-column,
|
|
1706
1888
|
gap 0.7rem). Right-aligning + narrowing it makes its cards read as indented
|
|
1707
|
-
children of the epic card or `.epic-mini-header` directly above.
|
|
1708
|
-
margin-top tightens the visual link by halving the column gap. */
|
|
1889
|
+
children of the epic card or full-width `.epic-mini-header` directly above.
|
|
1890
|
+
The negative margin-top tightens the visual link by halving the column gap. */
|
|
1709
1891
|
.epic-children {
|
|
1710
1892
|
display: flex;
|
|
1711
1893
|
flex-direction: column;
|
|
@@ -1744,15 +1926,14 @@ h1 {
|
|
|
1744
1926
|
0 8px 20px rgba(0, 0, 0, 0.25);
|
|
1745
1927
|
}
|
|
1746
1928
|
|
|
1747
|
-
/* Thin "header" that stands in for the epic when its children sit in
|
|
1748
|
-
column.
|
|
1749
|
-
|
|
1929
|
+
/* Thin full-width "header" that stands in for the epic when its children sit in
|
|
1930
|
+
a different column. Children remain narrowed underneath so the hierarchy is
|
|
1931
|
+
visible without cutting the lane width at the epic anchor. */
|
|
1750
1932
|
.epic-mini-header {
|
|
1751
1933
|
display: flex;
|
|
1752
1934
|
align-items: center;
|
|
1753
1935
|
gap: 0.4rem;
|
|
1754
|
-
width:
|
|
1755
|
-
align-self: flex-end;
|
|
1936
|
+
width: 100%;
|
|
1756
1937
|
padding: 0.45rem 0.6rem;
|
|
1757
1938
|
border-radius: 10px 10px 4px 4px;
|
|
1758
1939
|
background: rgba(var(--purple-rgb), 0.10);
|
|
@@ -2144,7 +2325,13 @@ h1 {
|
|
|
2144
2325
|
background: var(--drawer-bg);
|
|
2145
2326
|
box-shadow: 0 24px 60px rgba(12, 18, 26, 0.28);
|
|
2146
2327
|
transform: translateX(calc(100% + 1.5rem));
|
|
2147
|
-
transition:
|
|
2328
|
+
transition:
|
|
2329
|
+
transform 320ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
2330
|
+
width 180ms ease;
|
|
2331
|
+
}
|
|
2332
|
+
|
|
2333
|
+
.drawer.is-wide {
|
|
2334
|
+
width: min(58rem, calc(100vw - 1rem));
|
|
2148
2335
|
}
|
|
2149
2336
|
|
|
2150
2337
|
.drawer.is-open {
|
|
@@ -2205,6 +2392,7 @@ h1 {
|
|
|
2205
2392
|
the second line of cards in the lanes for visual consistency. */
|
|
2206
2393
|
.drawer-subtitle {
|
|
2207
2394
|
display: flex;
|
|
2395
|
+
flex-wrap: wrap;
|
|
2208
2396
|
align-items: center;
|
|
2209
2397
|
gap: 0.55rem;
|
|
2210
2398
|
margin-top: 0.45rem;
|
|
@@ -2223,6 +2411,280 @@ h1 {
|
|
|
2223
2411
|
font-variant-numeric: tabular-nums;
|
|
2224
2412
|
}
|
|
2225
2413
|
|
|
2414
|
+
.detail-meta-badge-row {
|
|
2415
|
+
display: inline-flex;
|
|
2416
|
+
flex-wrap: wrap;
|
|
2417
|
+
flex: 0 1 auto;
|
|
2418
|
+
align-items: center;
|
|
2419
|
+
gap: 0.42rem;
|
|
2420
|
+
max-width: 100%;
|
|
2421
|
+
min-width: 0;
|
|
2422
|
+
}
|
|
2423
|
+
|
|
2424
|
+
.detail-meta-badge {
|
|
2425
|
+
--badge-ring: rgba(var(--starlight-rgb), 0.2);
|
|
2426
|
+
flex: 0 1 auto;
|
|
2427
|
+
max-width: min(12rem, 100%);
|
|
2428
|
+
min-width: 0;
|
|
2429
|
+
min-height: 1.85rem;
|
|
2430
|
+
margin: 0;
|
|
2431
|
+
padding: 0.28rem 1.55rem 0.28rem 0.62rem;
|
|
2432
|
+
border: 1px solid var(--badge-ring);
|
|
2433
|
+
border-radius: 999px;
|
|
2434
|
+
color: var(--orbit-text-muted);
|
|
2435
|
+
background-color: rgba(var(--starlight-rgb), 0.08);
|
|
2436
|
+
font: inherit;
|
|
2437
|
+
font-size: 0.68rem;
|
|
2438
|
+
font-weight: 900;
|
|
2439
|
+
letter-spacing: 0.055em;
|
|
2440
|
+
line-height: 1;
|
|
2441
|
+
text-transform: uppercase;
|
|
2442
|
+
cursor: url('cursors/live_link.cur'), pointer;
|
|
2443
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 8px 20px rgba(12, 18, 26, 0.06);
|
|
2444
|
+
transition:
|
|
2445
|
+
transform 140ms ease,
|
|
2446
|
+
background-color 140ms ease,
|
|
2447
|
+
border-color 140ms ease,
|
|
2448
|
+
box-shadow 140ms ease,
|
|
2449
|
+
color 140ms ease;
|
|
2450
|
+
}
|
|
2451
|
+
|
|
2452
|
+
select.detail-meta-badge {
|
|
2453
|
+
appearance: none;
|
|
2454
|
+
-webkit-appearance: none;
|
|
2455
|
+
-moz-appearance: none;
|
|
2456
|
+
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
|
|
2457
|
+
background-repeat: no-repeat;
|
|
2458
|
+
background-position: right 0.48rem center;
|
|
2459
|
+
background-size: 0.78rem 0.78rem;
|
|
2460
|
+
}
|
|
2461
|
+
|
|
2462
|
+
select.detail-meta-badge::-ms-expand {
|
|
2463
|
+
display: none;
|
|
2464
|
+
}
|
|
2465
|
+
|
|
2466
|
+
.detail-meta-badge:hover:not(:disabled) {
|
|
2467
|
+
transform: translateY(-1px);
|
|
2468
|
+
border-color: rgba(var(--starlight-rgb), 0.36);
|
|
2469
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 10px 24px rgba(12, 18, 26, 0.1);
|
|
2470
|
+
}
|
|
2471
|
+
|
|
2472
|
+
.detail-meta-badge:focus {
|
|
2473
|
+
outline: none;
|
|
2474
|
+
border-color: var(--accent-focus-border);
|
|
2475
|
+
box-shadow: var(--accent-ring), inset 0 1px 0 rgba(255, 255, 255, 0.28);
|
|
2476
|
+
}
|
|
2477
|
+
|
|
2478
|
+
.detail-state-badge {
|
|
2479
|
+
width: clamp(7.25rem, 28vw, 9.75rem);
|
|
2480
|
+
color: #3657c8;
|
|
2481
|
+
background-color: rgba(96, 165, 250, 0.12);
|
|
2482
|
+
border-color: rgba(96, 165, 250, 0.28);
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2485
|
+
.detail-type-badge {
|
|
2486
|
+
width: 7rem;
|
|
2487
|
+
}
|
|
2488
|
+
|
|
2489
|
+
.detail-priority-badge {
|
|
2490
|
+
width: 6.55rem;
|
|
2491
|
+
}
|
|
2492
|
+
|
|
2493
|
+
.detail-state-badge.state-pill-ai-ready,
|
|
2494
|
+
.search-hit-state.state-pill-ai-ready,
|
|
2495
|
+
.detail-card-state.state-pill-ai-ready {
|
|
2496
|
+
color: #7c3aed;
|
|
2497
|
+
background-color: rgba(var(--purple-rgb), 0.12);
|
|
2498
|
+
border-color: rgba(var(--purple-rgb), 0.28);
|
|
2499
|
+
}
|
|
2500
|
+
|
|
2501
|
+
.detail-state-badge.state-pill-in-progress,
|
|
2502
|
+
.search-hit-state.state-pill-in-progress,
|
|
2503
|
+
.detail-card-state.state-pill-in-progress {
|
|
2504
|
+
color: #0369a1;
|
|
2505
|
+
background-color: rgba(14, 165, 233, 0.13);
|
|
2506
|
+
border-color: rgba(14, 165, 233, 0.28);
|
|
2507
|
+
}
|
|
2508
|
+
|
|
2509
|
+
.detail-state-badge.state-pill-review,
|
|
2510
|
+
.search-hit-state.state-pill-review,
|
|
2511
|
+
.detail-card-state.state-pill-review {
|
|
2512
|
+
color: #a4550f;
|
|
2513
|
+
background-color: rgba(var(--amber-rgb), 0.16);
|
|
2514
|
+
border-color: rgba(var(--amber-rgb), 0.32);
|
|
2515
|
+
}
|
|
2516
|
+
|
|
2517
|
+
.detail-state-badge.state-pill-done,
|
|
2518
|
+
.search-hit-state.state-pill-done,
|
|
2519
|
+
.detail-card-state.state-pill-done {
|
|
2520
|
+
color: #1e6f5c;
|
|
2521
|
+
background-color: rgba(var(--accent-rgb), 0.14);
|
|
2522
|
+
border-color: rgba(var(--accent-rgb), 0.28);
|
|
2523
|
+
}
|
|
2524
|
+
|
|
2525
|
+
.detail-type-badge.type-pill-epic {
|
|
2526
|
+
color: #8b5cf6;
|
|
2527
|
+
background-color: rgba(var(--purple-rgb),0.12);
|
|
2528
|
+
border-color: rgba(var(--purple-rgb),0.28);
|
|
2529
|
+
}
|
|
2530
|
+
|
|
2531
|
+
.detail-type-badge.type-pill-feature {
|
|
2532
|
+
color: #15803d;
|
|
2533
|
+
background-color: rgba(74, 222, 128, 0.12);
|
|
2534
|
+
border-color: rgba(74, 222, 128, 0.26);
|
|
2535
|
+
}
|
|
2536
|
+
|
|
2537
|
+
.detail-type-badge.type-pill-task {
|
|
2538
|
+
color: #2563eb;
|
|
2539
|
+
background-color: rgba(96, 165, 250, 0.12);
|
|
2540
|
+
border-color: rgba(96, 165, 250, 0.26);
|
|
2541
|
+
}
|
|
2542
|
+
|
|
2543
|
+
.detail-type-badge.type-pill-bug {
|
|
2544
|
+
color: #dc2626;
|
|
2545
|
+
background-color: rgba(var(--coral-rgb),0.13);
|
|
2546
|
+
border-color: rgba(var(--coral-rgb),0.3);
|
|
2547
|
+
}
|
|
2548
|
+
|
|
2549
|
+
.detail-priority-badge.priority-pill-maybe,
|
|
2550
|
+
.detail-priority-badge.priority-pill-low,
|
|
2551
|
+
.detail-priority-badge.priority-pill-med,
|
|
2552
|
+
.detail-priority-badge.priority-pill-high,
|
|
2553
|
+
.detail-priority-badge.priority-pill-urgent {
|
|
2554
|
+
border-color: currentColor;
|
|
2555
|
+
}
|
|
2556
|
+
|
|
2557
|
+
.detail-priority-badge.priority-pill-maybe {
|
|
2558
|
+
color: #6b7280;
|
|
2559
|
+
background-color: rgba(100, 116, 139, 0.14);
|
|
2560
|
+
}
|
|
2561
|
+
|
|
2562
|
+
.detail-priority-badge.priority-pill-low {
|
|
2563
|
+
color: #1e6f5c;
|
|
2564
|
+
background-color: rgba(var(--accent-rgb), 0.14);
|
|
2565
|
+
}
|
|
2566
|
+
|
|
2567
|
+
.detail-priority-badge.priority-pill-med {
|
|
2568
|
+
color: #a4550f;
|
|
2569
|
+
background-color: rgba(var(--amber-rgb), 0.16);
|
|
2570
|
+
}
|
|
2571
|
+
|
|
2572
|
+
.detail-priority-badge.priority-pill-high {
|
|
2573
|
+
color: #b53a1a;
|
|
2574
|
+
background-color: rgba(214, 86, 46, 0.2);
|
|
2575
|
+
}
|
|
2576
|
+
|
|
2577
|
+
.detail-priority-badge.priority-pill-urgent {
|
|
2578
|
+
color: #fff;
|
|
2579
|
+
background-color: #b91c1c;
|
|
2580
|
+
}
|
|
2581
|
+
|
|
2582
|
+
[data-theme="dark"] select.detail-meta-badge {
|
|
2583
|
+
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c4d3ff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
|
|
2584
|
+
background-repeat: no-repeat;
|
|
2585
|
+
background-position: right 0.48rem center;
|
|
2586
|
+
background-size: 0.78rem 0.78rem;
|
|
2587
|
+
}
|
|
2588
|
+
|
|
2589
|
+
[data-theme="dark"] .detail-meta-badge {
|
|
2590
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 8px 20px rgba(0, 0, 0, 0.2);
|
|
2591
|
+
}
|
|
2592
|
+
|
|
2593
|
+
[data-theme="dark"] .detail-state-badge,
|
|
2594
|
+
[data-theme="dark"] .search-hit-state,
|
|
2595
|
+
[data-theme="dark"] .detail-card-state {
|
|
2596
|
+
color: #93c5fd;
|
|
2597
|
+
background-color: rgba(96, 165, 250, 0.15);
|
|
2598
|
+
border-color: rgba(147, 197, 253, 0.3);
|
|
2599
|
+
}
|
|
2600
|
+
|
|
2601
|
+
[data-theme="dark"] .detail-state-badge.state-pill-ai-ready,
|
|
2602
|
+
[data-theme="dark"] .search-hit-state.state-pill-ai-ready,
|
|
2603
|
+
[data-theme="dark"] .detail-card-state.state-pill-ai-ready {
|
|
2604
|
+
color: #c084fc;
|
|
2605
|
+
background-color: rgba(var(--purple-rgb), 0.16);
|
|
2606
|
+
border-color: rgba(var(--purple-rgb), 0.35);
|
|
2607
|
+
}
|
|
2608
|
+
|
|
2609
|
+
[data-theme="dark"] .detail-state-badge.state-pill-in-progress,
|
|
2610
|
+
[data-theme="dark"] .search-hit-state.state-pill-in-progress,
|
|
2611
|
+
[data-theme="dark"] .detail-card-state.state-pill-in-progress {
|
|
2612
|
+
color: #67e8f9;
|
|
2613
|
+
background-color: rgba(14, 165, 233, 0.16);
|
|
2614
|
+
border-color: rgba(103, 232, 249, 0.32);
|
|
2615
|
+
}
|
|
2616
|
+
|
|
2617
|
+
[data-theme="dark"] .detail-state-badge.state-pill-review,
|
|
2618
|
+
[data-theme="dark"] .search-hit-state.state-pill-review,
|
|
2619
|
+
[data-theme="dark"] .detail-card-state.state-pill-review {
|
|
2620
|
+
color: #fbbf24;
|
|
2621
|
+
background-color: rgba(251, 191, 36, 0.18);
|
|
2622
|
+
border-color: rgba(251, 191, 36, 0.35);
|
|
2623
|
+
}
|
|
2624
|
+
|
|
2625
|
+
[data-theme="dark"] .detail-state-badge.state-pill-done,
|
|
2626
|
+
[data-theme="dark"] .search-hit-state.state-pill-done,
|
|
2627
|
+
[data-theme="dark"] .detail-card-state.state-pill-done {
|
|
2628
|
+
color: #4ade80;
|
|
2629
|
+
background-color: rgba(74, 222, 128, 0.15);
|
|
2630
|
+
border-color: rgba(74, 222, 128, 0.32);
|
|
2631
|
+
}
|
|
2632
|
+
|
|
2633
|
+
[data-theme="dark"] .detail-type-badge.type-pill-feature {
|
|
2634
|
+
color: #4ade80;
|
|
2635
|
+
}
|
|
2636
|
+
|
|
2637
|
+
[data-theme="dark"] .detail-type-badge.type-pill-task {
|
|
2638
|
+
color: #60a5fa;
|
|
2639
|
+
}
|
|
2640
|
+
|
|
2641
|
+
[data-theme="dark"] .detail-type-badge.type-pill-bug {
|
|
2642
|
+
color: #f87171;
|
|
2643
|
+
}
|
|
2644
|
+
|
|
2645
|
+
[data-theme="dark"] .detail-priority-badge.priority-pill-maybe {
|
|
2646
|
+
color: rgba(255, 255, 255, 0.62);
|
|
2647
|
+
background-color: rgba(255, 255, 255, 0.1);
|
|
2648
|
+
}
|
|
2649
|
+
|
|
2650
|
+
[data-theme="dark"] .detail-priority-badge.priority-pill-low {
|
|
2651
|
+
color: #4ade80;
|
|
2652
|
+
background-color: rgba(74, 222, 128, 0.15);
|
|
2653
|
+
}
|
|
2654
|
+
|
|
2655
|
+
[data-theme="dark"] .detail-priority-badge.priority-pill-med {
|
|
2656
|
+
color: #fbbf24;
|
|
2657
|
+
background-color: rgba(251, 191, 36, 0.18);
|
|
2658
|
+
}
|
|
2659
|
+
|
|
2660
|
+
[data-theme="dark"] .detail-priority-badge.priority-pill-high {
|
|
2661
|
+
color: #f87171;
|
|
2662
|
+
background-color: rgba(var(--coral-rgb), 0.2);
|
|
2663
|
+
}
|
|
2664
|
+
|
|
2665
|
+
[data-theme="dark"] .detail-priority-badge.priority-pill-urgent {
|
|
2666
|
+
color: #fff;
|
|
2667
|
+
background-color: #991b1b;
|
|
2668
|
+
}
|
|
2669
|
+
|
|
2670
|
+
@media (max-width: 640px) {
|
|
2671
|
+
.detail-meta-badge-row {
|
|
2672
|
+
width: 100%;
|
|
2673
|
+
}
|
|
2674
|
+
|
|
2675
|
+
.detail-state-badge {
|
|
2676
|
+
width: clamp(6.75rem, 38vw, 8.5rem);
|
|
2677
|
+
}
|
|
2678
|
+
|
|
2679
|
+
.detail-type-badge {
|
|
2680
|
+
width: 6.6rem;
|
|
2681
|
+
}
|
|
2682
|
+
|
|
2683
|
+
.detail-priority-badge {
|
|
2684
|
+
width: 6.2rem;
|
|
2685
|
+
}
|
|
2686
|
+
}
|
|
2687
|
+
|
|
2226
2688
|
.drawer-title-text {
|
|
2227
2689
|
margin: 0;
|
|
2228
2690
|
font-size: 1.2rem;
|
|
@@ -2286,8 +2748,8 @@ h1 {
|
|
|
2286
2748
|
border-color: var(--accent-border);
|
|
2287
2749
|
}
|
|
2288
2750
|
|
|
2289
|
-
.drawer-close
|
|
2290
|
-
|
|
2751
|
+
.drawer-close,
|
|
2752
|
+
.drawer-archive {
|
|
2291
2753
|
display: inline-grid;
|
|
2292
2754
|
place-items: center;
|
|
2293
2755
|
width: 2rem;
|
|
@@ -2297,10 +2759,14 @@ h1 {
|
|
|
2297
2759
|
border-radius: 10px;
|
|
2298
2760
|
background: var(--surface);
|
|
2299
2761
|
color: var(--ink);
|
|
2762
|
+
cursor: url('cursors/live_link.cur'), pointer;
|
|
2763
|
+
}
|
|
2764
|
+
|
|
2765
|
+
.drawer-close {
|
|
2766
|
+
grid-area: close;
|
|
2300
2767
|
font-size: 1.35rem;
|
|
2301
2768
|
font-weight: 400;
|
|
2302
2769
|
line-height: 1;
|
|
2303
|
-
cursor: url('cursors/live_link.cur'), pointer;
|
|
2304
2770
|
}
|
|
2305
2771
|
|
|
2306
2772
|
.drawer-close:hover {
|
|
@@ -2310,16 +2776,6 @@ h1 {
|
|
|
2310
2776
|
|
|
2311
2777
|
.drawer-archive {
|
|
2312
2778
|
grid-area: archive;
|
|
2313
|
-
display: inline-grid;
|
|
2314
|
-
place-items: center;
|
|
2315
|
-
width: 2rem;
|
|
2316
|
-
height: 2rem;
|
|
2317
|
-
padding: 0;
|
|
2318
|
-
border: 1px solid var(--line);
|
|
2319
|
-
border-radius: 10px;
|
|
2320
|
-
background: var(--surface);
|
|
2321
|
-
color: var(--ink);
|
|
2322
|
-
cursor: url('cursors/live_link.cur'), pointer;
|
|
2323
2779
|
}
|
|
2324
2780
|
|
|
2325
2781
|
.drawer-archive:hover {
|
|
@@ -2440,7 +2896,7 @@ h1 {
|
|
|
2440
2896
|
|
|
2441
2897
|
.inline-title-editor {
|
|
2442
2898
|
margin-inline: -0.35rem;
|
|
2443
|
-
padding:
|
|
2899
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
2444
2900
|
font-size: 1.35rem;
|
|
2445
2901
|
font-weight: inherit;
|
|
2446
2902
|
letter-spacing: -0.04em;
|
|
@@ -2449,7 +2905,7 @@ h1 {
|
|
|
2449
2905
|
|
|
2450
2906
|
.inline-desc-editor {
|
|
2451
2907
|
margin-top: 0.5rem;
|
|
2452
|
-
padding:
|
|
2908
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
2453
2909
|
min-height: 5rem;
|
|
2454
2910
|
font-size: 1rem;
|
|
2455
2911
|
line-height: 1.45;
|
|
@@ -2463,6 +2919,181 @@ h1 {
|
|
|
2463
2919
|
white-space: pre-wrap;
|
|
2464
2920
|
}
|
|
2465
2921
|
|
|
2922
|
+
.markdown-body {
|
|
2923
|
+
white-space: normal;
|
|
2924
|
+
overflow-wrap: anywhere;
|
|
2925
|
+
tab-size: 4;
|
|
2926
|
+
}
|
|
2927
|
+
|
|
2928
|
+
.markdown-body p,
|
|
2929
|
+
.markdown-body ul,
|
|
2930
|
+
.markdown-body ol,
|
|
2931
|
+
.markdown-body pre,
|
|
2932
|
+
.markdown-body blockquote,
|
|
2933
|
+
.markdown-body h1,
|
|
2934
|
+
.markdown-body h2,
|
|
2935
|
+
.markdown-body h3,
|
|
2936
|
+
.markdown-body h4,
|
|
2937
|
+
.markdown-body h5,
|
|
2938
|
+
.markdown-body h6 {
|
|
2939
|
+
margin: 0;
|
|
2940
|
+
}
|
|
2941
|
+
|
|
2942
|
+
/* Every adjacent block-element pair in markdown content gets the same gap.
|
|
2943
|
+
Listing each pair was the old approach; this universal sibling rule keeps
|
|
2944
|
+
headers, blockquotes, and hr in step with paragraphs/lists/code blocks
|
|
2945
|
+
without repeating the matrix. */
|
|
2946
|
+
.markdown-body > * + * {
|
|
2947
|
+
margin-top: 0.55rem;
|
|
2948
|
+
}
|
|
2949
|
+
|
|
2950
|
+
.markdown-body p {
|
|
2951
|
+
white-space: break-spaces;
|
|
2952
|
+
}
|
|
2953
|
+
|
|
2954
|
+
.preserved-text-body {
|
|
2955
|
+
overflow-x: auto;
|
|
2956
|
+
white-space: break-spaces;
|
|
2957
|
+
overflow-wrap: normal;
|
|
2958
|
+
tab-size: 4;
|
|
2959
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
|
|
2960
|
+
font-size: 0.92rem;
|
|
2961
|
+
line-height: 1.45;
|
|
2962
|
+
}
|
|
2963
|
+
|
|
2964
|
+
/* Headers carry more weight than body paragraphs and need a bit more breathing
|
|
2965
|
+
room above when they follow other content. Slightly tighter below so the
|
|
2966
|
+
header visually pairs with its first paragraph. */
|
|
2967
|
+
.markdown-body h1,
|
|
2968
|
+
.markdown-body h2,
|
|
2969
|
+
.markdown-body h3,
|
|
2970
|
+
.markdown-body h4,
|
|
2971
|
+
.markdown-body h5,
|
|
2972
|
+
.markdown-body h6 {
|
|
2973
|
+
font-weight: 700;
|
|
2974
|
+
line-height: 1.25;
|
|
2975
|
+
letter-spacing: -0.01em;
|
|
2976
|
+
}
|
|
2977
|
+
|
|
2978
|
+
.markdown-body > * + h1,
|
|
2979
|
+
.markdown-body > * + h2,
|
|
2980
|
+
.markdown-body > * + h3,
|
|
2981
|
+
.markdown-body > * + h4,
|
|
2982
|
+
.markdown-body > * + h5,
|
|
2983
|
+
.markdown-body > * + h6 {
|
|
2984
|
+
margin-top: 1rem;
|
|
2985
|
+
}
|
|
2986
|
+
|
|
2987
|
+
.markdown-body h1 { font-size: 1.35rem; }
|
|
2988
|
+
.markdown-body h2 { font-size: 1.2rem; }
|
|
2989
|
+
.markdown-body h3 { font-size: 1.05rem; }
|
|
2990
|
+
.markdown-body h4 { font-size: 0.95rem; }
|
|
2991
|
+
.markdown-body h5 { font-size: 0.88rem; text-transform: uppercase; letter-spacing: 0.04em; }
|
|
2992
|
+
.markdown-body h6 { font-size: 0.82rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; }
|
|
2993
|
+
|
|
2994
|
+
.markdown-body blockquote {
|
|
2995
|
+
border-left: 3px solid var(--accent-border);
|
|
2996
|
+
padding: 0.15rem 0.75rem;
|
|
2997
|
+
color: var(--muted);
|
|
2998
|
+
background: rgba(var(--blue-rgb), 0.04);
|
|
2999
|
+
border-radius: 0 8px 8px 0;
|
|
3000
|
+
}
|
|
3001
|
+
|
|
3002
|
+
.markdown-body blockquote > * + * {
|
|
3003
|
+
margin-top: 0.4rem;
|
|
3004
|
+
}
|
|
3005
|
+
|
|
3006
|
+
.markdown-body hr {
|
|
3007
|
+
height: 1px;
|
|
3008
|
+
border: 0;
|
|
3009
|
+
background: var(--line);
|
|
3010
|
+
margin: 0.85rem 0;
|
|
3011
|
+
}
|
|
3012
|
+
|
|
3013
|
+
.markdown-body ul.task-list {
|
|
3014
|
+
list-style: none;
|
|
3015
|
+
padding-left: 0.1rem;
|
|
3016
|
+
}
|
|
3017
|
+
|
|
3018
|
+
.markdown-body ul.task-list li.task-item {
|
|
3019
|
+
display: flex;
|
|
3020
|
+
align-items: baseline;
|
|
3021
|
+
gap: 0.45rem;
|
|
3022
|
+
}
|
|
3023
|
+
|
|
3024
|
+
.markdown-body ul.task-list li.task-item input[type="checkbox"] {
|
|
3025
|
+
margin: 0;
|
|
3026
|
+
transform: translateY(1px);
|
|
3027
|
+
cursor: default;
|
|
3028
|
+
}
|
|
3029
|
+
|
|
3030
|
+
.markdown-body ul.task-list li.task-item-done {
|
|
3031
|
+
color: var(--muted);
|
|
3032
|
+
text-decoration: line-through;
|
|
3033
|
+
text-decoration-color: rgba(var(--blue-rgb), 0.4);
|
|
3034
|
+
}
|
|
3035
|
+
|
|
3036
|
+
.markdown-body ul,
|
|
3037
|
+
.markdown-body ol {
|
|
3038
|
+
padding-left: 1.25rem;
|
|
3039
|
+
}
|
|
3040
|
+
|
|
3041
|
+
.markdown-body li + li {
|
|
3042
|
+
margin-top: 0.2rem;
|
|
3043
|
+
}
|
|
3044
|
+
|
|
3045
|
+
.markdown-body code {
|
|
3046
|
+
border: 1px solid rgba(var(--blue-rgb), 0.18);
|
|
3047
|
+
border-radius: 0.35rem;
|
|
3048
|
+
padding: 0.05rem 0.25rem;
|
|
3049
|
+
color: var(--ink);
|
|
3050
|
+
background: rgba(var(--blue-rgb), 0.08);
|
|
3051
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
|
|
3052
|
+
font-size: 0.9em;
|
|
3053
|
+
}
|
|
3054
|
+
|
|
3055
|
+
.markdown-body pre {
|
|
3056
|
+
padding: 0.65rem 0.75rem;
|
|
3057
|
+
overflow: auto;
|
|
3058
|
+
border: 1px solid var(--line);
|
|
3059
|
+
border-radius: 10px;
|
|
3060
|
+
background: var(--surface-card);
|
|
3061
|
+
}
|
|
3062
|
+
|
|
3063
|
+
.markdown-body pre code {
|
|
3064
|
+
display: block;
|
|
3065
|
+
border: 0;
|
|
3066
|
+
padding: 0;
|
|
3067
|
+
background: transparent;
|
|
3068
|
+
white-space: pre;
|
|
3069
|
+
}
|
|
3070
|
+
|
|
3071
|
+
.markdown-body a {
|
|
3072
|
+
color: var(--blue);
|
|
3073
|
+
font-weight: 700;
|
|
3074
|
+
text-decoration: underline;
|
|
3075
|
+
text-decoration-thickness: 0.08em;
|
|
3076
|
+
text-underline-offset: 0.15em;
|
|
3077
|
+
}
|
|
3078
|
+
|
|
3079
|
+
.card-description {
|
|
3080
|
+
margin-top: 0.45rem;
|
|
3081
|
+
color: var(--muted);
|
|
3082
|
+
font-size: 0.82rem;
|
|
3083
|
+
line-height: 1.45;
|
|
3084
|
+
}
|
|
3085
|
+
|
|
3086
|
+
.card .markdown-body p {
|
|
3087
|
+
display: block;
|
|
3088
|
+
overflow: visible;
|
|
3089
|
+
-webkit-line-clamp: unset;
|
|
3090
|
+
-webkit-box-orient: initial;
|
|
3091
|
+
}
|
|
3092
|
+
|
|
3093
|
+
.card .markdown-body pre {
|
|
3094
|
+
max-height: 8rem;
|
|
3095
|
+
}
|
|
3096
|
+
|
|
2466
3097
|
/* The detail pane's lede description is body copy, not a card excerpt — give
|
|
2467
3098
|
it more presence than the universal muted .description rule. */
|
|
2468
3099
|
.detail-head > .description {
|
|
@@ -2473,6 +3104,16 @@ h1 {
|
|
|
2473
3104
|
line-height: 1.55;
|
|
2474
3105
|
}
|
|
2475
3106
|
|
|
3107
|
+
.detail-head > .preserved-text-body {
|
|
3108
|
+
overflow-x: auto;
|
|
3109
|
+
white-space: break-spaces;
|
|
3110
|
+
overflow-wrap: normal;
|
|
3111
|
+
tab-size: 4;
|
|
3112
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
|
|
3113
|
+
font-size: 0.92rem;
|
|
3114
|
+
line-height: 1.45;
|
|
3115
|
+
}
|
|
3116
|
+
|
|
2476
3117
|
/* Project Repository tab metadata grid for read-only repository details. */
|
|
2477
3118
|
.meta-grid {
|
|
2478
3119
|
display: grid;
|
|
@@ -2577,7 +3218,7 @@ h1 {
|
|
|
2577
3218
|
.meta-inline {
|
|
2578
3219
|
width: 100%;
|
|
2579
3220
|
margin: 0;
|
|
2580
|
-
padding:
|
|
3221
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
2581
3222
|
border: 1px solid transparent;
|
|
2582
3223
|
border-radius: 10px;
|
|
2583
3224
|
/* Use background-color only — `background` shorthand resets background-image
|
|
@@ -2762,7 +3403,7 @@ input.meta-inline {
|
|
|
2762
3403
|
.label-add-input {
|
|
2763
3404
|
flex: 1;
|
|
2764
3405
|
min-width: 8rem;
|
|
2765
|
-
padding:
|
|
3406
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
2766
3407
|
font-size: 0.86rem;
|
|
2767
3408
|
}
|
|
2768
3409
|
|
|
@@ -2936,10 +3577,14 @@ details.section > summary .mcp-title-row {
|
|
|
2936
3577
|
|
|
2937
3578
|
.comment-body {
|
|
2938
3579
|
margin-top: 0.35rem;
|
|
2939
|
-
white-space: pre-wrap;
|
|
2940
3580
|
line-height: 1.4;
|
|
2941
3581
|
}
|
|
2942
3582
|
|
|
3583
|
+
/* Comments use the literal preserved renderer so pasted logs/plans keep spacing. */
|
|
3584
|
+
.comment-body.preserved-text-body {
|
|
3585
|
+
white-space: break-spaces;
|
|
3586
|
+
}
|
|
3587
|
+
|
|
2943
3588
|
.comment-form {
|
|
2944
3589
|
display: grid;
|
|
2945
3590
|
gap: 0.5rem;
|
|
@@ -2948,7 +3593,7 @@ details.section > summary .mcp-title-row {
|
|
|
2948
3593
|
|
|
2949
3594
|
.comment-form textarea {
|
|
2950
3595
|
min-height: 5rem;
|
|
2951
|
-
padding:
|
|
3596
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
2952
3597
|
resize: vertical;
|
|
2953
3598
|
}
|
|
2954
3599
|
|
|
@@ -2972,7 +3617,7 @@ details.section > summary .mcp-title-row {
|
|
|
2972
3617
|
|
|
2973
3618
|
.field-form textarea {
|
|
2974
3619
|
min-height: 6rem;
|
|
2975
|
-
padding:
|
|
3620
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
2976
3621
|
resize: vertical;
|
|
2977
3622
|
}
|
|
2978
3623
|
|
|
@@ -2994,8 +3639,42 @@ details.section > summary .mcp-title-row {
|
|
|
2994
3639
|
margin-top: 0.65rem;
|
|
2995
3640
|
}
|
|
2996
3641
|
|
|
2997
|
-
|
|
2998
|
-
|
|
3642
|
+
/* Click-to-edit field shared by AI plan/impl/review and board Notes. The
|
|
3643
|
+
label/body pairing replaces the old <label><span>…</span><textarea>…</textarea></label>
|
|
3644
|
+
form-row pattern; the body div is rendered markdown and the editable-field
|
|
3645
|
+
hover affordance signals it accepts clicks. */
|
|
3646
|
+
.ai-fields-grid {
|
|
3647
|
+
display: grid;
|
|
3648
|
+
gap: 1.1rem;
|
|
3649
|
+
}
|
|
3650
|
+
|
|
3651
|
+
.inline-md-field {
|
|
3652
|
+
display: grid;
|
|
3653
|
+
gap: 0.42rem;
|
|
3654
|
+
}
|
|
3655
|
+
|
|
3656
|
+
.inline-md-field-label {
|
|
3657
|
+
color: var(--muted);
|
|
3658
|
+
font-size: 0.76rem;
|
|
3659
|
+
font-weight: 800;
|
|
3660
|
+
letter-spacing: 0.06em;
|
|
3661
|
+
text-transform: uppercase;
|
|
3662
|
+
}
|
|
3663
|
+
|
|
3664
|
+
.inline-md-field-body {
|
|
3665
|
+
min-height: 2.4rem;
|
|
3666
|
+
padding: 0.45rem 0.6rem;
|
|
3667
|
+
margin-inline: -0.35rem;
|
|
3668
|
+
}
|
|
3669
|
+
|
|
3670
|
+
.inline-md-field-body.is-placeholder {
|
|
3671
|
+
min-height: 2rem;
|
|
3672
|
+
}
|
|
3673
|
+
|
|
3674
|
+
/* Board Notes is the long-form home for project guidance; reserve a textarea
|
|
3675
|
+
sized landing area so it doesn't collapse to a one-liner when empty. */
|
|
3676
|
+
.settings-notes-body {
|
|
3677
|
+
min-height: 11rem;
|
|
2999
3678
|
}
|
|
3000
3679
|
|
|
3001
3680
|
.ai-context-setup textarea[name="agent_instructions"] {
|
|
@@ -3111,7 +3790,7 @@ details.section > summary .mcp-title-row {
|
|
|
3111
3790
|
|
|
3112
3791
|
.repository-confirm-field input {
|
|
3113
3792
|
width: 100%;
|
|
3114
|
-
padding:
|
|
3793
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
3115
3794
|
}
|
|
3116
3795
|
|
|
3117
3796
|
[data-theme="dark"] .repository-danger-zone {
|
|
@@ -3137,11 +3816,11 @@ details.section > summary .mcp-title-row {
|
|
|
3137
3816
|
}
|
|
3138
3817
|
|
|
3139
3818
|
.project-entry-form input {
|
|
3140
|
-
padding:
|
|
3819
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
3141
3820
|
}
|
|
3142
3821
|
|
|
3143
3822
|
.project-entry-form select.select-chevron-field {
|
|
3144
|
-
padding:
|
|
3823
|
+
padding: var(--field-padding-y) var(--select-chevron-pad-x);
|
|
3145
3824
|
padding-right: calc(var(--select-chevron-pad-x) * 2 + var(--select-chevron-size));
|
|
3146
3825
|
}
|
|
3147
3826
|
|
|
@@ -3194,6 +3873,157 @@ details.section > summary .mcp-title-row {
|
|
|
3194
3873
|
margin-bottom: 0.85rem;
|
|
3195
3874
|
}
|
|
3196
3875
|
|
|
3876
|
+
.appearance-theme-section {
|
|
3877
|
+
margin-top: 0.4rem;
|
|
3878
|
+
}
|
|
3879
|
+
|
|
3880
|
+
.appearance-theme-section + .section:has(> .orbit-check:first-child) {
|
|
3881
|
+
margin-top: 1.25rem;
|
|
3882
|
+
}
|
|
3883
|
+
|
|
3884
|
+
.appearance-theme-field {
|
|
3885
|
+
display: grid;
|
|
3886
|
+
gap: 0.55rem;
|
|
3887
|
+
min-width: 0;
|
|
3888
|
+
margin: 0;
|
|
3889
|
+
padding: 0;
|
|
3890
|
+
border: 0;
|
|
3891
|
+
}
|
|
3892
|
+
|
|
3893
|
+
.appearance-theme-field legend {
|
|
3894
|
+
margin-bottom: 0.55rem;
|
|
3895
|
+
color: var(--ink);
|
|
3896
|
+
font-size: 0.88rem;
|
|
3897
|
+
font-weight: 800;
|
|
3898
|
+
}
|
|
3899
|
+
|
|
3900
|
+
.appearance-theme-options {
|
|
3901
|
+
display: grid;
|
|
3902
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3903
|
+
gap: 0.5rem;
|
|
3904
|
+
}
|
|
3905
|
+
|
|
3906
|
+
.appearance-theme-option {
|
|
3907
|
+
position: relative;
|
|
3908
|
+
display: inline-flex;
|
|
3909
|
+
min-width: 0;
|
|
3910
|
+
min-height: 2.5rem;
|
|
3911
|
+
align-items: center;
|
|
3912
|
+
justify-content: center;
|
|
3913
|
+
gap: 0.45rem;
|
|
3914
|
+
padding: 0.5rem 0.72rem;
|
|
3915
|
+
border: 1px solid var(--line);
|
|
3916
|
+
border-radius: 10px;
|
|
3917
|
+
background: var(--surface-dim);
|
|
3918
|
+
color: var(--ink);
|
|
3919
|
+
font-size: 0.86rem;
|
|
3920
|
+
font-weight: 700;
|
|
3921
|
+
cursor: url('cursors/live_link.cur'), pointer;
|
|
3922
|
+
transition:
|
|
3923
|
+
border-color 160ms ease,
|
|
3924
|
+
background 160ms ease,
|
|
3925
|
+
box-shadow 160ms ease,
|
|
3926
|
+
color 160ms ease;
|
|
3927
|
+
}
|
|
3928
|
+
|
|
3929
|
+
.appearance-theme-option:hover {
|
|
3930
|
+
border-color: var(--accent-border);
|
|
3931
|
+
background: var(--accent-hover);
|
|
3932
|
+
}
|
|
3933
|
+
|
|
3934
|
+
.appearance-theme-option input[type="radio"] {
|
|
3935
|
+
position: absolute;
|
|
3936
|
+
width: 1px;
|
|
3937
|
+
height: 1px;
|
|
3938
|
+
padding: 0;
|
|
3939
|
+
margin: -1px;
|
|
3940
|
+
overflow: hidden;
|
|
3941
|
+
clip: rect(0, 0, 0, 0);
|
|
3942
|
+
white-space: nowrap;
|
|
3943
|
+
border: 0;
|
|
3944
|
+
}
|
|
3945
|
+
|
|
3946
|
+
.appearance-theme-option-mark {
|
|
3947
|
+
display: grid;
|
|
3948
|
+
width: 1.35rem;
|
|
3949
|
+
height: 1.35rem;
|
|
3950
|
+
flex: 0 0 auto;
|
|
3951
|
+
place-items: center;
|
|
3952
|
+
border: 1px solid var(--accent-border);
|
|
3953
|
+
border-radius: 999px;
|
|
3954
|
+
background: var(--surface-input);
|
|
3955
|
+
transition:
|
|
3956
|
+
background 160ms ease,
|
|
3957
|
+
border-color 160ms ease,
|
|
3958
|
+
box-shadow 160ms ease;
|
|
3959
|
+
}
|
|
3960
|
+
|
|
3961
|
+
.appearance-theme-option-icon {
|
|
3962
|
+
width: 0.9rem;
|
|
3963
|
+
height: 0.9rem;
|
|
3964
|
+
}
|
|
3965
|
+
|
|
3966
|
+
.appearance-theme-option-label {
|
|
3967
|
+
min-width: 0;
|
|
3968
|
+
overflow: hidden;
|
|
3969
|
+
text-overflow: ellipsis;
|
|
3970
|
+
white-space: nowrap;
|
|
3971
|
+
}
|
|
3972
|
+
|
|
3973
|
+
.appearance-theme-option:has(input[type="radio"]:checked) {
|
|
3974
|
+
border-color: var(--accent);
|
|
3975
|
+
background:
|
|
3976
|
+
linear-gradient(135deg, rgba(var(--accent-rgb),0.12), rgba(var(--blue-rgb),0.08)),
|
|
3977
|
+
var(--surface-dim);
|
|
3978
|
+
box-shadow:
|
|
3979
|
+
inset 0 0 0 1px rgba(var(--accent-rgb),0.18),
|
|
3980
|
+
0 4px 10px rgba(var(--accent-rgb),0.12);
|
|
3981
|
+
}
|
|
3982
|
+
|
|
3983
|
+
.appearance-theme-option:has(input[type="radio"]:checked) .appearance-theme-option-mark {
|
|
3984
|
+
border-color: var(--accent);
|
|
3985
|
+
color: #fff;
|
|
3986
|
+
background:
|
|
3987
|
+
linear-gradient(135deg, rgba(var(--accent-rgb),0.95), rgba(var(--blue-rgb),0.95));
|
|
3988
|
+
}
|
|
3989
|
+
|
|
3990
|
+
.appearance-theme-option input[type="radio"]:focus-visible ~ .appearance-theme-option-mark {
|
|
3991
|
+
box-shadow: var(--accent-ring);
|
|
3992
|
+
}
|
|
3993
|
+
|
|
3994
|
+
[data-theme="dark"] .appearance-theme-option {
|
|
3995
|
+
background: rgba(15, 25, 50, 0.55);
|
|
3996
|
+
border-color: rgba(var(--starlight-rgb),0.16);
|
|
3997
|
+
}
|
|
3998
|
+
|
|
3999
|
+
[data-theme="dark"] .appearance-theme-option:hover {
|
|
4000
|
+
border-color: rgba(var(--starlight-rgb),0.4);
|
|
4001
|
+
background: rgba(var(--starlight-rgb),0.08);
|
|
4002
|
+
}
|
|
4003
|
+
|
|
4004
|
+
[data-theme="dark"] .appearance-theme-option-mark {
|
|
4005
|
+
border-color: rgba(var(--starlight-rgb),0.35);
|
|
4006
|
+
background:
|
|
4007
|
+
linear-gradient(135deg, rgba(var(--starlight-rgb),0.06), rgba(var(--cosmos-rgb),0) 65%),
|
|
4008
|
+
rgba(15, 25, 50, 0.7);
|
|
4009
|
+
}
|
|
4010
|
+
|
|
4011
|
+
[data-theme="dark"] .appearance-theme-option:has(input[type="radio"]:checked) {
|
|
4012
|
+
border-color: rgba(var(--starlight-rgb),0.55);
|
|
4013
|
+
background:
|
|
4014
|
+
linear-gradient(135deg, rgba(var(--starlight-rgb),0.13), rgba(var(--violet-rgb),0.08)),
|
|
4015
|
+
rgba(15, 25, 50, 0.65);
|
|
4016
|
+
box-shadow:
|
|
4017
|
+
inset 0 0 0 1px rgba(var(--starlight-rgb),0.18),
|
|
4018
|
+
0 4px 14px rgba(var(--starlight-rgb),0.16);
|
|
4019
|
+
}
|
|
4020
|
+
|
|
4021
|
+
[data-theme="dark"] .appearance-theme-option:has(input[type="radio"]:checked) .appearance-theme-option-mark {
|
|
4022
|
+
border-color: rgba(var(--starlight-rgb),0.7);
|
|
4023
|
+
color: #0a1024;
|
|
4024
|
+
background: linear-gradient(135deg, #d6e6ff, #a8c0ff);
|
|
4025
|
+
}
|
|
4026
|
+
|
|
3197
4027
|
/* Lanes tab opens directly with the checkbox — drop the default .section
|
|
3198
4028
|
top margin so it sits flush under the drawer tabs. */
|
|
3199
4029
|
.section:has(> .orbit-check:first-child) {
|
|
@@ -3483,7 +4313,7 @@ details.section > summary .mcp-title-row {
|
|
|
3483
4313
|
}
|
|
3484
4314
|
|
|
3485
4315
|
.mcp-flow select.select-chevron-field {
|
|
3486
|
-
padding:
|
|
4316
|
+
padding: var(--field-padding-y) var(--select-chevron-pad-x);
|
|
3487
4317
|
padding-right: calc(var(--select-chevron-pad-x) * 2 + var(--select-chevron-size));
|
|
3488
4318
|
font-size: 0.88rem;
|
|
3489
4319
|
}
|
|
@@ -3564,7 +4394,7 @@ details.section > summary .mcp-title-row {
|
|
|
3564
4394
|
|
|
3565
4395
|
.mcp-path-grid input {
|
|
3566
4396
|
min-width: 0;
|
|
3567
|
-
padding:
|
|
4397
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
3568
4398
|
font-size: 0.82rem;
|
|
3569
4399
|
}
|
|
3570
4400
|
|
|
@@ -3819,13 +4649,13 @@ details.section > summary .mcp-title-row {
|
|
|
3819
4649
|
.lane-row select,
|
|
3820
4650
|
.lane-create-form input,
|
|
3821
4651
|
.lane-create-form select {
|
|
3822
|
-
padding:
|
|
4652
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
3823
4653
|
font-size: 0.86rem;
|
|
3824
4654
|
}
|
|
3825
4655
|
|
|
3826
4656
|
.lane-row select.select-chevron-field,
|
|
3827
4657
|
.lane-create-form select.select-chevron-field {
|
|
3828
|
-
padding:
|
|
4658
|
+
padding: var(--field-padding-y) var(--select-chevron-pad-x);
|
|
3829
4659
|
padding-right: calc(var(--select-chevron-pad-x) * 2 + var(--select-chevron-size));
|
|
3830
4660
|
}
|
|
3831
4661
|
|
|
@@ -4044,6 +4874,30 @@ button:disabled,
|
|
|
4044
4874
|
margin-top: auto;
|
|
4045
4875
|
}
|
|
4046
4876
|
|
|
4877
|
+
.card--detail .card-expand-trigger--static {
|
|
4878
|
+
flex-wrap: wrap;
|
|
4879
|
+
row-gap: 0.4rem;
|
|
4880
|
+
}
|
|
4881
|
+
|
|
4882
|
+
.detail-card-state {
|
|
4883
|
+
display: inline-block;
|
|
4884
|
+
flex: 0 0 auto;
|
|
4885
|
+
max-width: min(9rem, 100%);
|
|
4886
|
+
overflow: hidden;
|
|
4887
|
+
padding: 0.14rem 0.48rem;
|
|
4888
|
+
border: 1px solid rgba(96, 165, 250, 0.28);
|
|
4889
|
+
border-radius: 999px;
|
|
4890
|
+
color: #3657c8;
|
|
4891
|
+
background-color: rgba(96, 165, 250, 0.12);
|
|
4892
|
+
font-size: 0.68rem;
|
|
4893
|
+
font-weight: 800;
|
|
4894
|
+
letter-spacing: 0.035em;
|
|
4895
|
+
line-height: 1.2;
|
|
4896
|
+
text-overflow: ellipsis;
|
|
4897
|
+
text-transform: uppercase;
|
|
4898
|
+
white-space: nowrap;
|
|
4899
|
+
}
|
|
4900
|
+
|
|
4047
4901
|
.card-eyebrow {
|
|
4048
4902
|
display: block;
|
|
4049
4903
|
margin-bottom: 0.3rem;
|
|
@@ -4141,7 +4995,7 @@ button:disabled,
|
|
|
4141
4995
|
.related-add-input {
|
|
4142
4996
|
flex: 1;
|
|
4143
4997
|
width: 100%;
|
|
4144
|
-
padding:
|
|
4998
|
+
padding: var(--field-padding-y) var(--field-padding-x);
|
|
4145
4999
|
font-size: 0.86rem;
|
|
4146
5000
|
}
|
|
4147
5001
|
|
|
@@ -4828,6 +5682,27 @@ button:disabled,
|
|
|
4828
5682
|
}
|
|
4829
5683
|
}
|
|
4830
5684
|
|
|
5685
|
+
[data-reduced-motion="reduce"] *,
|
|
5686
|
+
[data-reduced-motion="reduce"] *::before,
|
|
5687
|
+
[data-reduced-motion="reduce"] *::after {
|
|
5688
|
+
scroll-behavior: auto !important;
|
|
5689
|
+
transition-duration: 0.01ms !important;
|
|
5690
|
+
animation-duration: 0.01ms !important;
|
|
5691
|
+
animation-iteration-count: 1 !important;
|
|
5692
|
+
}
|
|
5693
|
+
|
|
5694
|
+
[data-reduced-motion="reduce"][data-theme="dark"] .starfield,
|
|
5695
|
+
[data-reduced-motion="reduce"][data-theme="dark"] .milky-way,
|
|
5696
|
+
[data-reduced-motion="reduce"][data-theme="dark"] .grain::before,
|
|
5697
|
+
[data-reduced-motion="reduce"][data-theme="dark"] .grain::after,
|
|
5698
|
+
[data-reduced-motion="reduce"][data-theme="dark"] .signature-star {
|
|
5699
|
+
animation: none;
|
|
5700
|
+
}
|
|
5701
|
+
|
|
5702
|
+
[data-reduced-motion="reduce"][data-theme="dark"] .meteor {
|
|
5703
|
+
display: none;
|
|
5704
|
+
}
|
|
5705
|
+
|
|
4831
5706
|
[data-theme="dark"] {
|
|
4832
5707
|
/* Tells the browser to render native widgets (dropdowns, scrollbars,
|
|
4833
5708
|
date pickers, etc.) in their dark variant so option popups match. */
|
|
@@ -4890,3 +5765,198 @@ button:disabled,
|
|
|
4890
5765
|
--scrollbar-thumb: rgba(var(--starlight-rgb),0.3);
|
|
4891
5766
|
--scrollbar-thumb-hover: rgba(var(--starlight-rgb),0.5);
|
|
4892
5767
|
}
|
|
5768
|
+
|
|
5769
|
+
.attachment-heading-row {
|
|
5770
|
+
display: flex;
|
|
5771
|
+
align-items: center;
|
|
5772
|
+
justify-content: space-between;
|
|
5773
|
+
gap: 0.75rem;
|
|
5774
|
+
margin-bottom: 0.7rem;
|
|
5775
|
+
}
|
|
5776
|
+
|
|
5777
|
+
.attachment-heading-row h3 {
|
|
5778
|
+
margin-bottom: 0;
|
|
5779
|
+
}
|
|
5780
|
+
|
|
5781
|
+
.attachment-upload-button {
|
|
5782
|
+
position: relative;
|
|
5783
|
+
display: inline-flex;
|
|
5784
|
+
align-items: center;
|
|
5785
|
+
justify-content: center;
|
|
5786
|
+
padding: 0.45rem 0.75rem;
|
|
5787
|
+
border: 1px solid var(--line);
|
|
5788
|
+
border-radius: 999px;
|
|
5789
|
+
cursor: url('cursors/live_link.cur'), pointer;
|
|
5790
|
+
font-size: 0.8rem;
|
|
5791
|
+
font-weight: 800;
|
|
5792
|
+
}
|
|
5793
|
+
|
|
5794
|
+
.attachment-upload-button input {
|
|
5795
|
+
position: absolute;
|
|
5796
|
+
inset: 0;
|
|
5797
|
+
opacity: 0;
|
|
5798
|
+
cursor: inherit;
|
|
5799
|
+
}
|
|
5800
|
+
|
|
5801
|
+
.attachment-dropzone {
|
|
5802
|
+
display: grid;
|
|
5803
|
+
gap: 0.18rem;
|
|
5804
|
+
padding: 0.9rem;
|
|
5805
|
+
border: 1px dashed var(--accent-border);
|
|
5806
|
+
border-radius: 14px;
|
|
5807
|
+
background: var(--surface-dim);
|
|
5808
|
+
color: var(--muted);
|
|
5809
|
+
outline: none;
|
|
5810
|
+
transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
|
|
5811
|
+
}
|
|
5812
|
+
|
|
5813
|
+
.attachment-dropzone strong {
|
|
5814
|
+
color: var(--ink);
|
|
5815
|
+
}
|
|
5816
|
+
|
|
5817
|
+
.attachment-dropzone span {
|
|
5818
|
+
font-size: 0.82rem;
|
|
5819
|
+
}
|
|
5820
|
+
|
|
5821
|
+
.attachment-dropzone:focus-visible,
|
|
5822
|
+
.attachment-dropzone.is-dragover {
|
|
5823
|
+
border-color: var(--accent-focus-border);
|
|
5824
|
+
background: var(--accent-hover);
|
|
5825
|
+
box-shadow: var(--accent-ring);
|
|
5826
|
+
}
|
|
5827
|
+
|
|
5828
|
+
.attachment-grid {
|
|
5829
|
+
display: grid;
|
|
5830
|
+
grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
|
|
5831
|
+
gap: 0.65rem;
|
|
5832
|
+
margin-top: 0.75rem;
|
|
5833
|
+
}
|
|
5834
|
+
|
|
5835
|
+
.attachment-card {
|
|
5836
|
+
position: relative;
|
|
5837
|
+
overflow: hidden;
|
|
5838
|
+
border: 1px solid var(--line);
|
|
5839
|
+
border-radius: 14px;
|
|
5840
|
+
background: var(--surface-card);
|
|
5841
|
+
}
|
|
5842
|
+
|
|
5843
|
+
.attachment-thumb-button {
|
|
5844
|
+
display: block;
|
|
5845
|
+
width: 100%;
|
|
5846
|
+
padding: 0;
|
|
5847
|
+
border: 0;
|
|
5848
|
+
background: var(--surface-dim);
|
|
5849
|
+
cursor: url('cursors/live_link.cur'), pointer;
|
|
5850
|
+
}
|
|
5851
|
+
|
|
5852
|
+
.attachment-thumb-button img,
|
|
5853
|
+
.attachment-missing-thumb {
|
|
5854
|
+
display: block;
|
|
5855
|
+
width: 100%;
|
|
5856
|
+
aspect-ratio: 4 / 3;
|
|
5857
|
+
object-fit: cover;
|
|
5858
|
+
}
|
|
5859
|
+
|
|
5860
|
+
.attachment-missing-thumb {
|
|
5861
|
+
display: grid;
|
|
5862
|
+
place-items: center;
|
|
5863
|
+
color: var(--muted);
|
|
5864
|
+
background: repeating-linear-gradient(45deg, var(--surface-dim), var(--surface-dim) 10px, var(--subtle-bg) 10px, var(--subtle-bg) 20px);
|
|
5865
|
+
font-size: 0.78rem;
|
|
5866
|
+
font-weight: 800;
|
|
5867
|
+
text-transform: uppercase;
|
|
5868
|
+
}
|
|
5869
|
+
|
|
5870
|
+
.attachment-card-meta {
|
|
5871
|
+
display: grid;
|
|
5872
|
+
gap: 0.15rem;
|
|
5873
|
+
min-width: 0;
|
|
5874
|
+
padding: 0.55rem 2rem 0.55rem 0.65rem;
|
|
5875
|
+
}
|
|
5876
|
+
|
|
5877
|
+
.attachment-card-meta strong,
|
|
5878
|
+
.attachment-card-meta span {
|
|
5879
|
+
overflow: hidden;
|
|
5880
|
+
text-overflow: ellipsis;
|
|
5881
|
+
white-space: nowrap;
|
|
5882
|
+
}
|
|
5883
|
+
|
|
5884
|
+
.attachment-card-meta strong {
|
|
5885
|
+
font-size: 0.82rem;
|
|
5886
|
+
}
|
|
5887
|
+
|
|
5888
|
+
.attachment-card-meta span {
|
|
5889
|
+
color: var(--muted);
|
|
5890
|
+
font-size: 0.72rem;
|
|
5891
|
+
}
|
|
5892
|
+
|
|
5893
|
+
.attachment-delete {
|
|
5894
|
+
position: absolute;
|
|
5895
|
+
right: 0.45rem;
|
|
5896
|
+
bottom: 0.45rem;
|
|
5897
|
+
display: inline-grid;
|
|
5898
|
+
width: 1.45rem;
|
|
5899
|
+
height: 1.45rem;
|
|
5900
|
+
place-items: center;
|
|
5901
|
+
padding: 0;
|
|
5902
|
+
border: 1px solid var(--line);
|
|
5903
|
+
border-radius: 999px;
|
|
5904
|
+
background: var(--surface);
|
|
5905
|
+
color: var(--muted);
|
|
5906
|
+
cursor: url('cursors/live_link.cur'), pointer;
|
|
5907
|
+
}
|
|
5908
|
+
|
|
5909
|
+
.attachment-delete:hover {
|
|
5910
|
+
color: var(--danger, #d44);
|
|
5911
|
+
border-color: rgba(var(--red-rgb),0.35);
|
|
5912
|
+
background: rgba(var(--red-rgb),0.08);
|
|
5913
|
+
}
|
|
5914
|
+
|
|
5915
|
+
.attachment-lightbox {
|
|
5916
|
+
position: fixed;
|
|
5917
|
+
inset: 0;
|
|
5918
|
+
z-index: 1200;
|
|
5919
|
+
display: grid;
|
|
5920
|
+
place-items: center;
|
|
5921
|
+
padding: 1rem;
|
|
5922
|
+
background: rgba(2, 6, 23, 0.82);
|
|
5923
|
+
}
|
|
5924
|
+
|
|
5925
|
+
.attachment-lightbox-panel {
|
|
5926
|
+
position: relative;
|
|
5927
|
+
display: grid;
|
|
5928
|
+
gap: 0.6rem;
|
|
5929
|
+
max-width: min(92vw, 72rem);
|
|
5930
|
+
max-height: 92vh;
|
|
5931
|
+
color: white;
|
|
5932
|
+
}
|
|
5933
|
+
|
|
5934
|
+
.attachment-lightbox-panel img {
|
|
5935
|
+
max-width: 100%;
|
|
5936
|
+
max-height: 82vh;
|
|
5937
|
+
border-radius: 16px;
|
|
5938
|
+
object-fit: contain;
|
|
5939
|
+
box-shadow: 0 24px 80px rgba(0,0,0,0.45);
|
|
5940
|
+
}
|
|
5941
|
+
|
|
5942
|
+
.attachment-lightbox-panel p {
|
|
5943
|
+
margin: 0;
|
|
5944
|
+
color: rgba(255,255,255,0.82);
|
|
5945
|
+
text-align: center;
|
|
5946
|
+
}
|
|
5947
|
+
|
|
5948
|
+
.attachment-lightbox-close {
|
|
5949
|
+
position: absolute;
|
|
5950
|
+
top: -0.75rem;
|
|
5951
|
+
right: -0.75rem;
|
|
5952
|
+
display: inline-grid;
|
|
5953
|
+
width: 2.2rem;
|
|
5954
|
+
height: 2.2rem;
|
|
5955
|
+
place-items: center;
|
|
5956
|
+
border: 1px solid rgba(255,255,255,0.25);
|
|
5957
|
+
border-radius: 999px;
|
|
5958
|
+
background: rgba(15, 23, 42, 0.92);
|
|
5959
|
+
color: white;
|
|
5960
|
+
font-size: 1.4rem;
|
|
5961
|
+
cursor: url('cursors/live_link.cur'), pointer;
|
|
5962
|
+
}
|