collabmd 0.1.42 → 0.1.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/client/assets/{drawio-editor-Z2u5UkLg.js → drawio-editor-Bpeofg5c.js} +1 -1
  2. package/dist/client/assets/{drawioEditor-B_kenUdu.js → drawioEditor-DOeuNmoO.js} +2 -2
  3. package/dist/client/assets/embedded-editor-base-C9roKYpW.css +1 -0
  4. package/dist/client/assets/{excalidraw-editor-kQEbzoXi.js → excalidraw-editor-DV1u6p5J.js} +1 -1
  5. package/dist/client/assets/{excalidrawEditor-fUB8lhQG.js → excalidrawEditor-C5Z0GfUw.js} +2 -2
  6. package/dist/client/assets/exportDocument-C9v-bc7I.css +1 -0
  7. package/dist/client/assets/index-BakyykHU.css +1 -0
  8. package/dist/client/assets/{index-Burthu48.js → index-CvubXIUU.js} +2 -2
  9. package/dist/client/assets/keyboard-shortcuts-C3mlS_4N.css +1 -0
  10. package/dist/client/assets/{main-DdqVKzQ4.js → main-CKWxzJUx.js} +2 -8
  11. package/dist/client/assets/{navigation-ChYBdSlq.css → navigation-CoTUJ5Pi.css} +1 -1
  12. package/dist/client/drawio-editor.html +1 -1
  13. package/dist/client/excalidraw-editor.html +1 -1
  14. package/dist/client/export-document.html +2 -2
  15. package/dist/client/index.html +2 -2
  16. package/package.json +1 -1
  17. package/src/client/presentation/app-shell-template.js +0 -6
  18. package/src/client/presentation/comment-ui/comment-ui-card.js +10 -21
  19. package/src/client/presentation/file-action-controller.js +0 -2
  20. package/src/client/styles/components/navigation.css +1 -1
  21. package/src/client/styles/features/auth-gate.css +4 -13
  22. package/src/client/styles/features/backlinks.css +0 -1
  23. package/src/client/styles/features/collaboration-dialogs.css +2 -2
  24. package/src/client/styles/features/comment-card.css +23 -18
  25. package/src/client/styles/features/comment-overview.css +9 -4
  26. package/src/client/styles/features/comments-drawer.css +0 -1
  27. package/src/client/styles/features/diff-commit.css +0 -2
  28. package/src/client/styles/features/git-history.css +0 -2
  29. package/src/client/styles/features/quick-switcher.css +0 -8
  30. package/src/client/styles/foundation/themes.css +9 -18
  31. package/src/client/styles/layout/responsive.css +1 -1
  32. package/src/client/styles/layout/sidebar.css +17 -21
  33. package/dist/client/assets/embedded-editor-base-DziW8fkY.css +0 -1
  34. package/dist/client/assets/exportDocument-cl8dlTx1.css +0 -1
  35. package/dist/client/assets/index-CYVmRVJX.css +0 -1
  36. package/dist/client/assets/keyboard-shortcuts-CLixkZxp.css +0 -1
  37. /package/dist/client/assets/{exportDocument-DdfKM4AY.js → exportDocument-6GQGZvBv.js} +0 -0
  38. /package/dist/client/assets/{keyboard-shortcuts-CLyuDeFZ.js → keyboard-shortcuts-C5LvVwoE.js} +0 -0
@@ -6,15 +6,8 @@
6
6
  align-items: center;
7
7
  justify-content: center;
8
8
  padding: var(--space-6);
9
- background:
10
- radial-gradient(circle at 50% 8%, oklch(from var(--color-primary) l c h / 0.18), transparent 28%),
11
- radial-gradient(circle at 60% 45%, oklch(from var(--color-primary) l c h / 0.08), transparent 18%),
12
- linear-gradient(
13
- 180deg,
14
- oklch(from var(--color-bg) calc(l - 0.06) c h / 0.9),
15
- oklch(from var(--color-bg) calc(l - 0.08) c h / 0.96)
16
- );
17
- backdrop-filter: blur(18px);
9
+ background: oklch(from var(--color-bg) l c h / 0.94);
10
+ backdrop-filter: blur(12px);
18
11
  }
19
12
 
20
13
  .auth-gate-card {
@@ -22,11 +15,9 @@
22
15
  padding: var(--space-8);
23
16
  border: 1px solid var(--border-accent-soft);
24
17
  border-radius: var(--radius-xl);
25
- background: linear-gradient(180deg, var(--color-surface), var(--color-surface-2));
18
+ background: var(--color-surface);
26
19
  color: var(--color-text);
27
- box-shadow:
28
- var(--shadow-card-strong),
29
- var(--shadow-sheet-inset);
20
+ box-shadow: var(--shadow-card-strong);
30
21
  font-family: var(--font-body);
31
22
  }
32
23
 
@@ -222,7 +222,6 @@
222
222
  .backlink-item:hover {
223
223
  border-color: transparent;
224
224
  background: var(--color-surface-offset);
225
- box-shadow: inset 3px 0 0 var(--color-primary);
226
225
  }
227
226
 
228
227
  .backlink-item:focus-visible {
@@ -115,7 +115,7 @@
115
115
  display: grid;
116
116
  place-items: center;
117
117
  padding: var(--space-6);
118
- background: radial-gradient(circle at top, oklch(from var(--color-primary) l c h / 0.16), transparent 38%), oklch(from var(--color-bg) l c h / 0.82);
118
+ background: oklch(from var(--color-bg) l c h / 0.86);
119
119
  backdrop-filter: blur(10px);
120
120
  }
121
121
 
@@ -126,7 +126,7 @@
126
126
  padding: var(--space-6);
127
127
  border: 1px solid oklch(from var(--color-primary) l c h / 0.25);
128
128
  border-radius: var(--radius-xl);
129
- background: linear-gradient(180deg, var(--color-surface), var(--color-surface-2));
129
+ background: var(--color-surface);
130
130
  box-shadow: var(--shadow-lg);
131
131
  }
132
132
 
@@ -107,12 +107,27 @@
107
107
  justify-content: flex-end;
108
108
  }
109
109
 
110
- .comment-card-input,
111
- .comment-reply-input {
112
- padding: var(--space-3) var(--space-4);
110
+ .ui-input.comment-card-input,
111
+ .ui-input.comment-reply-input {
112
+ padding: var(--space-2) var(--space-3);
113
+ border-color: var(--border-comment-strong);
114
+ background: var(--surface-comment-subtle);
115
+ caret-color: var(--color-comment);
113
116
  line-height: 1.5;
114
117
  }
115
118
 
119
+ .ui-input.comment-card-input:hover:not(:focus),
120
+ .ui-input.comment-reply-input:hover:not(:focus) {
121
+ border-color: var(--border-comment-active);
122
+ }
123
+
124
+ .ui-input.comment-card-input:focus,
125
+ .ui-input.comment-reply-input:focus {
126
+ border-color: var(--color-comment);
127
+ background: var(--surface-comment-elevated);
128
+ box-shadow: var(--shadow-comment-outline), 0 0 0 3px var(--color-comment-soft);
129
+ }
130
+
116
131
  .comment-card-input {
117
132
  resize: vertical;
118
133
  min-height: 88px;
@@ -126,26 +141,11 @@
126
141
  border-top: 1px solid var(--color-divider);
127
142
  }
128
143
 
129
- .comment-thread-card-header {
130
- align-items: flex-start;
131
- flex-wrap: wrap;
132
- }
133
-
134
- .comment-thread-card-heading {
135
- display: flex;
136
- flex: 1 1 160px;
137
- flex-wrap: wrap;
138
- gap: var(--space-1) var(--space-2);
139
- min-width: 0;
140
- }
141
-
142
- .comment-thread-card-author,
143
144
  .comment-message-card-author {
144
145
  font-size: var(--text-label);
145
146
  font-weight: 700;
146
147
  }
147
148
 
148
- .comment-thread-card-time,
149
149
  .comment-message-card-time {
150
150
  color: var(--color-text-faint);
151
151
  font-size: var(--text-meta);
@@ -164,6 +164,11 @@
164
164
  background: transparent;
165
165
  }
166
166
 
167
+ .comment-message-card.is-thread-start {
168
+ padding-top: 0;
169
+ border-top: 0;
170
+ }
171
+
167
172
  .comment-message-card-body {
168
173
  margin-top: var(--space-1);
169
174
  font-size: var(--text-label);
@@ -87,11 +87,16 @@
87
87
  box-shadow var(--transition-interactive);
88
88
  }
89
89
 
90
- .comment-overview-thread:hover,
91
- .comment-overview-thread:focus-visible {
90
+ .comment-overview-thread:hover {
92
91
  border-color: transparent;
93
- background: var(--color-surface-offset);
94
- box-shadow: inset 3px 0 0 var(--color-comment);
92
+ background: var(--surface-comment-record-hover);
93
+ box-shadow: none;
94
+ }
95
+
96
+ .comment-overview-thread:focus-visible {
97
+ border-color: var(--border-comment-strong);
98
+ background: var(--surface-comment-record-hover);
99
+ box-shadow: var(--shadow-focus-compact);
95
100
  outline: none;
96
101
  }
97
102
 
@@ -46,7 +46,6 @@
46
46
  --ui-record-bg-hover: var(--color-surface-offset);
47
47
  --ui-record-border-active: var(--border-comment-active);
48
48
  --ui-record-bg-active: var(--color-surface-offset);
49
- --ui-record-shadow-active: inset 3px 0 0 var(--color-comment);
50
49
  }
51
50
 
52
51
  .comments-drawer-item-header {
@@ -80,7 +80,6 @@
80
80
  --ui-record-bg-hover: var(--color-surface-offset);
81
81
  --ui-record-border-active: transparent;
82
82
  --ui-record-bg-active: var(--color-surface-offset);
83
- --ui-record-shadow-active: inset 3px 0 0 var(--color-primary);
84
83
  }
85
84
 
86
85
  .diff-index-item-top,
@@ -121,7 +120,6 @@
121
120
 
122
121
  .diff-commit-section.active {
123
122
  border-color: var(--border-accent-strong);
124
- box-shadow: inset 3px 0 0 var(--color-primary);
125
123
  }
126
124
 
127
125
  .diff-commit-section-header {
@@ -16,7 +16,6 @@
16
16
  --ui-record-bg-hover: var(--color-surface-offset);
17
17
  --ui-record-border-active: transparent;
18
18
  --ui-record-bg-active: var(--color-surface-offset);
19
- --ui-record-shadow-active: inset 3px 0 0 var(--color-primary);
20
19
  }
21
20
 
22
21
  .git-history-subject {
@@ -152,7 +151,6 @@
152
151
  --ui-record-bg-hover: var(--color-surface-offset);
153
152
  --ui-record-border-active: transparent;
154
153
  --ui-record-bg-active: var(--color-surface-offset);
155
- --ui-record-shadow-active: inset 3px 0 0 var(--color-primary);
156
154
  box-sizing: border-box;
157
155
  display: block;
158
156
  max-width: 100%;
@@ -179,10 +179,6 @@
179
179
  .qs-result-item:hover,
180
180
  .qs-result-item.selected {
181
181
  background: var(--color-surface-offset);
182
- }
183
-
184
- .qs-result-item.selected {
185
- box-shadow: inset 3px 0 0 var(--color-primary);
186
182
  color: var(--color-text);
187
183
  }
188
184
 
@@ -286,10 +282,6 @@
286
282
  background: var(--color-surface-offset);
287
283
  }
288
284
 
289
- .qs-text-item.selected {
290
- box-shadow: inset 3px 0 0 var(--color-primary);
291
- }
292
-
293
285
  .qs-text-line {
294
286
  color: var(--color-text-faint);
295
287
  font-family: var(--font-mono);
@@ -68,11 +68,8 @@
68
68
  --surface-success-soft: color-mix(in oklab, var(--color-success) 14%, transparent);
69
69
  --surface-warning-soft: color-mix(in oklab, var(--color-warning) 14%, transparent);
70
70
  --surface-danger-soft: color-mix(in oklab, var(--color-error) 14%, transparent);
71
- --surface-comment-shell: linear-gradient(180deg, oklch(from var(--color-comment) l c h / 0.035), transparent 120px), color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);
72
71
  --surface-comment-shell-header: color-mix(in srgb, var(--color-surface) 97%, var(--color-comment) 3%);
73
- --surface-comment-record: linear-gradient(180deg, oklch(from var(--color-comment) l c h / 0.028), transparent 70%), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);
74
- --surface-comment-record-hover: linear-gradient(180deg, oklch(from var(--color-comment) l c h / 0.042), transparent 70%), color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);
75
- --surface-comment-record-active: linear-gradient(180deg, oklch(from var(--color-comment) l c h / 0.055), transparent 72%), color-mix(in srgb, var(--color-surface-2) 90%, var(--color-comment) 10%);
72
+ --surface-comment-record-hover: color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);
76
73
  --surface-comment-subtle: color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);
77
74
  --surface-comment-subtle-strong: color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);
78
75
  --surface-comment-card: color-mix(in srgb, var(--color-surface) 94%, var(--color-comment) 6%);
@@ -90,10 +87,10 @@
90
87
  --border-comment-strong: color-mix(in srgb, var(--color-border) 82%, var(--color-comment) 18%);
91
88
  --border-comment-active: color-mix(in srgb, var(--color-border) 78%, var(--color-comment) 22%);
92
89
  --shadow-comment-outline: 0 0 0 1px oklch(from var(--color-comment) l c h / 0.14);
93
- --surface-warning-toast: linear-gradient(135deg, color-mix(in oklab, #fcd34d 42%, white 58%), color-mix(in oklab, white 94%, #fff7ed 6%) 42%), #fff8e7;
90
+ --surface-warning-toast: var(--color-warning-highlight);
94
91
  --border-warning-toast: color-mix(in oklab, #f59e0b 84%, #b45309 16%);
95
92
  --text-warning-toast: #422006;
96
- --shadow-warning-toast: 0 16px 30px rgb(84 46 10 / 0.18), 0 0 0 1px rgb(245 158 11 / 0.12);
93
+ --shadow-warning-toast: var(--shadow-md);
97
94
  --border-accent-soft: color-mix(in oklab, var(--color-primary) 22%, transparent);
98
95
  --border-accent-muted: color-mix(in oklab, var(--color-primary) 24%, var(--color-border));
99
96
  --border-accent-strong: color-mix(in oklab, var(--color-primary) 34%, var(--color-border));
@@ -189,11 +186,8 @@
189
186
  --surface-success-soft: color-mix(in oklab, var(--color-success) 14%, transparent);
190
187
  --surface-warning-soft: color-mix(in oklab, var(--color-warning) 14%, transparent);
191
188
  --surface-danger-soft: color-mix(in oklab, var(--color-error) 14%, transparent);
192
- --surface-comment-shell: linear-gradient(180deg, oklch(from var(--color-comment) l c h / 0.035), transparent 120px), color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);
193
189
  --surface-comment-shell-header: color-mix(in srgb, var(--color-surface) 97%, var(--color-comment) 3%);
194
- --surface-comment-record: linear-gradient(180deg, oklch(from var(--color-comment) l c h / 0.028), transparent 70%), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);
195
- --surface-comment-record-hover: linear-gradient(180deg, oklch(from var(--color-comment) l c h / 0.042), transparent 70%), color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);
196
- --surface-comment-record-active: linear-gradient(180deg, oklch(from var(--color-comment) l c h / 0.055), transparent 72%), color-mix(in srgb, var(--color-surface-2) 90%, var(--color-comment) 10%);
190
+ --surface-comment-record-hover: color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);
197
191
  --surface-comment-subtle: color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);
198
192
  --surface-comment-subtle-strong: color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);
199
193
  --surface-comment-card: color-mix(in srgb, var(--color-surface) 94%, var(--color-comment) 6%);
@@ -211,10 +205,10 @@
211
205
  --border-comment-strong: color-mix(in srgb, var(--color-border) 82%, var(--color-comment) 18%);
212
206
  --border-comment-active: color-mix(in srgb, var(--color-border) 78%, var(--color-comment) 22%);
213
207
  --shadow-comment-outline: 0 0 0 1px oklch(from var(--color-comment) l c h / 0.14);
214
- --surface-warning-toast: linear-gradient(135deg, color-mix(in oklab, #f59e0b 32%, transparent), color-mix(in oklab, var(--color-surface) 86%, #0b1022 14%) 42%), color-mix(in oklab, var(--color-surface) 74%, #1b1320 26%);
208
+ --surface-warning-toast: var(--color-warning-highlight);
215
209
  --border-warning-toast: color-mix(in oklab, #f59e0b 78%, white 10%);
216
210
  --text-warning-toast: color-mix(in oklab, white 92%, #fef3c7 8%);
217
- --shadow-warning-toast: 0 18px 34px rgb(0 0 0 / 0.38), 0 0 0 1px color-mix(in oklab, #f59e0b 18%, transparent);
211
+ --shadow-warning-toast: var(--shadow-md);
218
212
  --border-accent-soft: color-mix(in oklab, var(--color-primary) 22%, transparent);
219
213
  --border-accent-muted: color-mix(in oklab, var(--color-primary) 24%, var(--color-border));
220
214
  --border-accent-strong: color-mix(in oklab, var(--color-primary) 34%, var(--color-border));
@@ -296,11 +290,8 @@
296
290
  --surface-success-soft: color-mix(in oklab, var(--color-success) 14%, transparent);
297
291
  --surface-warning-soft: color-mix(in oklab, var(--color-warning) 14%, transparent);
298
292
  --surface-danger-soft: color-mix(in oklab, var(--color-error) 14%, transparent);
299
- --surface-comment-shell: linear-gradient(180deg, oklch(from var(--color-comment) l c h / 0.035), transparent 120px), color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);
300
293
  --surface-comment-shell-header: color-mix(in srgb, var(--color-surface) 97%, var(--color-comment) 3%);
301
- --surface-comment-record: linear-gradient(180deg, oklch(from var(--color-comment) l c h / 0.028), transparent 70%), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);
302
- --surface-comment-record-hover: linear-gradient(180deg, oklch(from var(--color-comment) l c h / 0.042), transparent 70%), color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);
303
- --surface-comment-record-active: linear-gradient(180deg, oklch(from var(--color-comment) l c h / 0.055), transparent 72%), color-mix(in srgb, var(--color-surface-2) 90%, var(--color-comment) 10%);
294
+ --surface-comment-record-hover: color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);
304
295
  --surface-comment-subtle: color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);
305
296
  --surface-comment-subtle-strong: color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);
306
297
  --surface-comment-card: color-mix(in srgb, var(--color-surface) 94%, var(--color-comment) 6%);
@@ -318,10 +309,10 @@
318
309
  --border-comment-strong: color-mix(in srgb, var(--color-border) 82%, var(--color-comment) 18%);
319
310
  --border-comment-active: color-mix(in srgb, var(--color-border) 78%, var(--color-comment) 22%);
320
311
  --shadow-comment-outline: 0 0 0 1px oklch(from var(--color-comment) l c h / 0.14);
321
- --surface-warning-toast: linear-gradient(135deg, color-mix(in oklab, #f59e0b 32%, transparent), color-mix(in oklab, var(--color-surface) 86%, #0b1022 14%) 42%), color-mix(in oklab, var(--color-surface) 74%, #1b1320 26%);
312
+ --surface-warning-toast: var(--color-warning-highlight);
322
313
  --border-warning-toast: color-mix(in oklab, #f59e0b 78%, white 10%);
323
314
  --text-warning-toast: color-mix(in oklab, white 92%, #fef3c7 8%);
324
- --shadow-warning-toast: 0 18px 34px rgb(0 0 0 / 0.38), 0 0 0 1px color-mix(in oklab, #f59e0b 18%, transparent);
315
+ --shadow-warning-toast: var(--shadow-md);
325
316
  --border-accent-soft: color-mix(in oklab, var(--color-primary) 22%, transparent);
326
317
  --border-accent-muted: color-mix(in oklab, var(--color-primary) 24%, var(--color-border));
327
318
  --border-accent-strong: color-mix(in oklab, var(--color-primary) 34%, var(--color-border));
@@ -196,7 +196,7 @@
196
196
  }
197
197
 
198
198
  .ui-nav-tabs {
199
- padding: var(--space-2) var(--space-2) 0;
199
+ padding: var(--space-1) var(--space-2) 0;
200
200
  }
201
201
 
202
202
  .ui-nav-tab {
@@ -410,38 +410,34 @@ body.is-file-tree-dragging * {
410
410
  min-height: 44px;
411
411
  }
412
412
 
413
- .create-action-sheet-option {
413
+ .ui-button.create-action-sheet-option {
414
414
  gap: 10px;
415
415
  min-height: 60px;
416
416
  padding: 0 14px;
417
417
  border: 1px solid var(--color-border);
418
418
  border-radius: var(--radius-lg);
419
- background:
420
- linear-gradient(180deg, oklch(from var(--color-surface-offset) calc(l + 0.02) c h / 0.9), var(--color-surface-offset)),
421
- var(--color-surface-offset);
419
+ background: var(--color-surface-offset);
422
420
  color: var(--color-text);
423
- box-shadow:
424
- inset 0 1px 0 oklch(from var(--color-text) l c h / 0.03),
425
- 0 10px 24px oklch(from var(--color-bg) l c h / 0.08);
421
+ box-shadow: var(--shadow-sm);
426
422
  transition:
427
423
  border-color var(--transition-interactive),
428
424
  background var(--transition-interactive),
429
- box-shadow var(--transition-interactive),
430
- transform var(--transition-interactive);
431
- }
432
-
433
- .create-action-sheet-option:hover,
434
- .create-action-sheet-option:focus-visible {
435
- border-color: oklch(from var(--color-primary) calc(l + 0.06) c h / 0.4);
436
- background:
437
- linear-gradient(180deg, oklch(from var(--color-primary-highlight) calc(l + 0.02) c h / 0.72), var(--color-surface-offset)),
438
- var(--color-surface-offset);
439
- box-shadow:
440
- inset 0 1px 0 oklch(from var(--color-text) l c h / 0.04),
441
- 0 14px 30px oklch(from var(--color-bg) l c h / 0.12);
425
+ box-shadow var(--transition-interactive);
426
+ }
427
+
428
+ .ui-button.create-action-sheet-option:hover {
429
+ border-color: var(--border-accent-muted);
430
+ background: var(--surface-accent-subtle);
431
+ box-shadow: var(--shadow-sm);
432
+ color: var(--color-text);
433
+ }
434
+
435
+ .ui-button.create-action-sheet-option:focus-visible {
436
+ border-color: var(--border-accent-strong);
437
+ background: var(--surface-accent-subtle);
438
+ box-shadow: var(--shadow-focus-compact);
442
439
  color: var(--color-text);
443
440
  outline: none;
444
- transform: translateY(-1px);
445
441
  }
446
442
 
447
443
  .create-action-sheet-option .create-menu-item-icon {
@@ -1 +0,0 @@
1
- :root{--text-xs:clamp(.75rem, .7rem + .25vw, .875rem);--text-sm:clamp(.875rem, .8rem + .35vw, 1rem);--text-base:clamp(1rem, .9rem + .5vw, 1.125rem);--text-lg:clamp(1.125rem, .95rem + .85vw, 1.5rem);--text-xl:clamp(1.5rem, 1rem + 1.5vw, 2.25rem);--text-2xl:clamp(2rem, 1.2rem + 2.5vw, 3.5rem);--text-label:12px;--text-meta:12px;--text-caption:11px;--text-micro:10px;--text-code-sm:12px;--text-ui-sm:13px;--text-ui-md:14px;--text-title-sm:15px;--text-title-md:18px;--font-body:"Inter Variable", "Inter", system-ui, sans-serif;--font-display:"Inter Variable", "Inter", system-ui, sans-serif;--font-prose:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", "SF Mono", monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xs:2px;--radius-xs:4px;--radius-lg-plus:10px;--radius-xl-plus:18px;--radius-full:9999px;--transition-interactive:.18s cubic-bezier(.16, 1, .3, 1);--content-narrow:640px;--content-default:960px;--content-wide:1200px;--preview-content-width:720px;--panel-comments-width:min(300px, 34vw);--panel-comments-min-width:240px;--panel-outline-width:220px;--toolbar-h:48px;--control-h-xs:28px;--control-h-sm:30px;--control-h-md:36px;--control-h-lg:44px;--control-target-min:44px;--control-icon-sm:14px;--control-icon-md:16px;--panel-border-width:1px}:root,[data-theme=light]{--color-bg:#f6f8fa;--color-surface:#fff;--color-surface-2:#fbfcfd;--color-surface-offset:#f0f3f6;--color-surface-offset-2:#e8edf2;--color-surface-dynamic:#dde3ea;--color-surface-raised:#fff;--color-surface-ink:#0b1118;--color-divider:#e3e8ee;--color-border:#cbd4df;--color-text:#17212b;--color-text-muted:#596675;--color-text-faint:#8391a1;--color-text-inverse:#f8fafc;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-active:#1e40af;--color-primary-contrast:#fff;--color-primary-highlight:#dbeafe;--color-comment:#2563eb;--color-comment-soft:#2563eb14;--color-comment-strong:#2563eb24;--color-comment-text:#1e40af;--color-error:#dc2626;--color-danger:#dc2626;--color-error-highlight:#fce8e8;--color-success:#16a34a;--color-success-highlight:#dcfce7;--color-warning:#d97706;--color-warning-highlight:#fef3c7;--diff-add-bg:#16a34a0f;--diff-add-line-bg:#16a34a24;--diff-add-text:#16a34a;--diff-del-bg:#dc26260f;--diff-del-line-bg:#dc262624;--diff-del-text:#dc2626;--diff-hunk-bg:#2563eb14;--diff-hunk-text:#2563eb;--diff-gutter:#8391a1;--surface-fill-subtle:color-mix(in oklab, var(--color-surface) 92%, var(--color-surface-offset) 8%);--surface-fill-strong:color-mix(in oklab, var(--color-surface-offset) 72%, var(--color-surface-offset-2) 28%);--surface-overlay:color-mix(in srgb, var(--color-surface) 84%, var(--color-surface-offset) 16%);--surface-overlay-soft:color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-offset) 12%);--surface-overlay-strong:color-mix(in srgb, var(--color-surface) 90%, var(--color-surface-offset) 10%);--surface-overlay-raised:color-mix(in oklab, var(--color-surface) 94%, transparent);--surface-overlay-header:color-mix(in srgb, var(--color-surface-offset) 76%, var(--color-bg) 24%);--surface-overlay-offset:color-mix(in oklab, var(--color-surface-offset) 82%, transparent);--surface-scrim:oklch(10% 0 0/.42);--surface-scrim-strong:oklch(8% .01 260/.82);--surface-inverse-glass:oklch(18% .02 260/.68);--surface-inverse-glass-hover:oklch(24% .02 260/.82);--surface-media-canvas:#000;--surface-embed-canvas:#fff;--surface-avatar-muted:#ffffff38;--surface-avatar-label:#0f1117d6;--surface-accent-subtle:color-mix(in oklab, var(--color-primary) 8%, var(--color-surface));--surface-accent-soft:color-mix(in oklab, var(--color-primary) 16%, transparent);--surface-accent-strong:color-mix(in oklab, var(--color-primary) 22%, transparent);--surface-success-soft:color-mix(in oklab, var(--color-success) 14%, transparent);--surface-warning-soft:color-mix(in oklab, var(--color-warning) 14%, transparent);--surface-danger-soft:color-mix(in oklab, var(--color-error) 14%, transparent);--surface-comment-shell:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .035), transparent 120px), color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);--surface-comment-shell-header:color-mix(in srgb, var(--color-surface) 97%, var(--color-comment) 3%);--surface-comment-record:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .028), transparent 70%), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);--surface-comment-record-hover:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .042), transparent 70%), color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);--surface-comment-record-active:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .055), transparent 72%), color-mix(in srgb, var(--color-surface-2) 90%, var(--color-comment) 10%);--surface-comment-subtle:color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);--surface-comment-subtle-strong:color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);--surface-comment-card:color-mix(in srgb, var(--color-surface) 94%, var(--color-comment) 6%);--surface-comment-elevated:color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);--surface-comment-offset:color-mix(in srgb, var(--color-surface-offset) 90%, var(--color-comment) 10%);--surface-comment-offset-soft:color-mix(in srgb, var(--color-surface-offset) 88%, var(--color-comment) 12%);--surface-comment-offset-strong:color-mix(in srgb, var(--color-surface-offset) 84%, var(--color-comment) 16%);--surface-comment-offset-active:color-mix(in srgb, var(--color-surface-offset) 72%, var(--color-comment) 28%);--surface-comment-highlight-hover:color-mix(in srgb, var(--color-comment-soft) 74%, var(--color-comment) 26%);--surface-comment-highlight-active:color-mix(in srgb, var(--color-comment-soft) 62%, var(--color-comment) 38%);--surface-comment-selection:color-mix(in srgb, var(--color-surface) 25%, var(--color-comment) 75%);--surface-comment-preview-fade:linear-gradient(180deg, oklch(0% 0 0/0), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%));--border-comment-soft:color-mix(in srgb, var(--color-divider) 90%, var(--color-comment) 10%);--border-comment-muted:color-mix(in srgb, var(--color-divider) 88%, var(--color-comment) 12%);--border-comment-strong:color-mix(in srgb, var(--color-border) 82%, var(--color-comment) 18%);--border-comment-active:color-mix(in srgb, var(--color-border) 78%, var(--color-comment) 22%);--shadow-comment-outline:0 0 0 1px oklch(from var(--color-comment) l c h / .14);--surface-warning-toast:linear-gradient(135deg, oklab(94.9166% -.0018052 .0644112), oklab(99.8777% .00026585 .000908241) 42%), #fff8e7;--border-warning-toast:oklab(73.4461% .062398 .147608);--text-warning-toast:#422006;--shadow-warning-toast:0 16px 30px #542e0a2e, 0 0 0 1px #f59e0b1f;--border-accent-soft:color-mix(in oklab, var(--color-primary) 22%, transparent);--border-accent-muted:color-mix(in oklab, var(--color-primary) 24%, var(--color-border));--border-accent-strong:color-mix(in oklab, var(--color-primary) 34%, var(--color-border));--border-accent-stronger:color-mix(in oklab, var(--color-primary) 40%, var(--color-border));--shadow-accent-inset:inset 0 0 0 1px color-mix(in oklab, var(--color-primary) 14%, transparent);--shadow-accent-outline:0 0 0 1px color-mix(in oklab, var(--color-primary) 16%, transparent);--shadow-accent-halo:0 0 0 3px oklch(from var(--color-primary) l c h / .16);--shadow-accent-ring:0 0 0 2px var(--color-surface), 0 0 0 4px oklch(from var(--color-primary) l c h / .18);--shadow-accent-ring-strong:0 0 0 2px var(--color-bg), 0 0 0 4px oklch(from var(--color-primary) l c h / .45);--shadow-accent-ring-solid:0 0 0 2px var(--color-primary), 0 0 0 4px oklch(from var(--color-primary) l c h / .2);--shadow-elevated-soft:0 10px 24px color-mix(in oklab, var(--color-surface-ink) 10%, transparent);--shadow-floating-soft:0 14px 34px oklch(0% 0 0/.18);--shadow-floating-hover:0 18px 40px oklch(0% 0 0/.2);--shadow-media-soft:0 16px 40px oklch(0% 0 0/.24);--shadow-media-stage:0 28px 80px oklch(0% 0 0/.28);--shadow-media-modal:0 10px 40px #00000059;--shadow-card-strong:0 20px 56px oklch(0% 0 0/.24);--shadow-sheet-inset:inset 0 1px 0 color-mix(in oklab, var(--color-text) 4%, transparent);--shadow-focus:0 0 0 3px oklch(from var(--color-primary) l c h / .15);--shadow-focus-compact:0 0 0 2px oklch(from var(--color-primary) l c h / .45);--interactive-border:color-mix(in oklab, var(--color-primary) 22%, transparent);--interactive-surface:color-mix(in oklab, var(--color-primary) 14%, transparent);--color-text-on-dark:#fff;--shadow-sm:0 1px 2px oklch(20% .02 260/.06);--shadow-md:0 4px 12px oklch(20% .02 260/.08);--shadow-lg:0 12px 32px oklch(20% .02 260/.12)}[data-theme=dark]{--color-bg:#0b0f14;--color-surface:#11161d;--color-surface-2:#171d26;--color-surface-offset:#141a22;--color-surface-offset-2:#1c2530;--color-surface-dynamic:#253140;--color-surface-raised:#1a222c;--color-surface-ink:#030608;--color-divider:#242e3a;--color-border:#303c4b;--color-text:#e6edf3;--color-text-muted:#9aa7b4;--color-text-faint:#687584;--color-text-inverse:#0b0f14;--color-primary:#60a5fa;--color-primary-hover:#3b82f6;--color-primary-active:#2563eb;--color-primary-contrast:#07111f;--color-primary-highlight:#172a45;--color-comment:#60a5fa;--color-comment-soft:#60a5fa1a;--color-comment-strong:#60a5fa29;--color-comment-text:#bfdbfe;--color-error:#f87171;--color-danger:#f87171;--color-error-highlight:#2a1a1a;--color-success:#4ade80;--color-success-highlight:#1a2a1a;--color-warning:#fbbf24;--color-warning-highlight:#2a261a;--diff-add-bg:#4ade8014;--diff-add-line-bg:#4ade8026;--diff-add-text:#4ade80;--diff-del-bg:#f8717114;--diff-del-line-bg:#f8717126;--diff-del-text:#f87171;--diff-hunk-bg:#60a5fa1a;--diff-hunk-text:#60a5fa;--diff-gutter:#687584;--surface-fill-subtle:color-mix(in oklab, var(--color-surface) 88%, var(--color-surface-offset) 12%);--surface-fill-strong:color-mix(in oklab, var(--color-surface-offset) 60%, var(--color-surface-offset-2) 40%);--surface-overlay:color-mix(in srgb, var(--color-surface) 84%, var(--color-surface-offset) 16%);--surface-overlay-soft:color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-offset) 12%);--surface-overlay-strong:color-mix(in srgb, var(--color-surface) 90%, var(--color-surface-offset) 10%);--surface-overlay-raised:color-mix(in oklab, var(--color-surface) 94%, transparent);--surface-overlay-header:color-mix(in srgb, var(--color-surface-offset) 76%, var(--color-bg) 24%);--surface-overlay-offset:color-mix(in oklab, var(--color-surface-offset) 82%, transparent);--surface-scrim:oklch(10% 0 0/.42);--surface-scrim-strong:oklch(8% .01 260/.82);--surface-inverse-glass:oklch(18% .02 260/.68);--surface-inverse-glass-hover:oklch(24% .02 260/.82);--surface-media-canvas:#000;--surface-embed-canvas:#121212;--surface-avatar-muted:#ffffff38;--surface-avatar-label:#0f1117d6;--surface-accent-subtle:color-mix(in oklab, var(--color-primary) 8%, var(--color-surface));--surface-accent-soft:color-mix(in oklab, var(--color-primary) 16%, transparent);--surface-accent-strong:color-mix(in oklab, var(--color-primary) 22%, transparent);--surface-success-soft:color-mix(in oklab, var(--color-success) 14%, transparent);--surface-warning-soft:color-mix(in oklab, var(--color-warning) 14%, transparent);--surface-danger-soft:color-mix(in oklab, var(--color-error) 14%, transparent);--surface-comment-shell:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .035), transparent 120px), color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);--surface-comment-shell-header:color-mix(in srgb, var(--color-surface) 97%, var(--color-comment) 3%);--surface-comment-record:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .028), transparent 70%), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);--surface-comment-record-hover:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .042), transparent 70%), color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);--surface-comment-record-active:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .055), transparent 72%), color-mix(in srgb, var(--color-surface-2) 90%, var(--color-comment) 10%);--surface-comment-subtle:color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);--surface-comment-subtle-strong:color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);--surface-comment-card:color-mix(in srgb, var(--color-surface) 94%, var(--color-comment) 6%);--surface-comment-elevated:color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);--surface-comment-offset:color-mix(in srgb, var(--color-surface-offset) 90%, var(--color-comment) 10%);--surface-comment-offset-soft:color-mix(in srgb, var(--color-surface-offset) 88%, var(--color-comment) 12%);--surface-comment-offset-strong:color-mix(in srgb, var(--color-surface-offset) 84%, var(--color-comment) 16%);--surface-comment-offset-active:color-mix(in srgb, var(--color-surface-offset) 72%, var(--color-comment) 28%);--surface-comment-highlight-hover:color-mix(in srgb, var(--color-comment-soft) 74%, var(--color-comment) 26%);--surface-comment-highlight-active:color-mix(in srgb, var(--color-comment-soft) 62%, var(--color-comment) 38%);--surface-comment-selection:color-mix(in srgb, var(--color-surface) 25%, var(--color-comment) 75%);--surface-comment-preview-fade:linear-gradient(180deg, oklch(0% 0 0/0), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%));--border-comment-soft:color-mix(in srgb, var(--color-divider) 90%, var(--color-comment) 10%);--border-comment-muted:color-mix(in srgb, var(--color-divider) 88%, var(--color-comment) 12%);--border-comment-strong:color-mix(in srgb, var(--color-border) 82%, var(--color-comment) 18%);--border-comment-active:color-mix(in srgb, var(--color-border) 78%, var(--color-comment) 22%);--shadow-comment-outline:0 0 0 1px oklch(from var(--color-comment) l c h / .14);--surface-warning-toast:linear-gradient(135deg, oklab(76.8591% .0560995 .154808/.32), color-mix(in oklab, var(--color-surface) 86%, #0b1022 14%) 42%), color-mix(in oklab, var(--color-surface) 74%, #1b1320 26%);--border-warning-toast:oklab(79.4887% .0497246 .137216/.88);--text-warning-toast:oklab(99.6952% -.000454402 .00461993);--shadow-warning-toast:0 18px 34px #00000061, 0 0 0 1px oklab(76.8591% .0560995 .154808/.18);--border-accent-soft:color-mix(in oklab, var(--color-primary) 22%, transparent);--border-accent-muted:color-mix(in oklab, var(--color-primary) 24%, var(--color-border));--border-accent-strong:color-mix(in oklab, var(--color-primary) 34%, var(--color-border));--border-accent-stronger:color-mix(in oklab, var(--color-primary) 40%, var(--color-border));--shadow-accent-inset:inset 0 0 0 1px color-mix(in oklab, var(--color-primary) 14%, transparent);--shadow-accent-outline:0 0 0 1px color-mix(in oklab, var(--color-primary) 16%, transparent);--shadow-accent-halo:0 0 0 3px oklch(from var(--color-primary) l c h / .16);--shadow-accent-ring:0 0 0 2px var(--color-surface), 0 0 0 4px oklch(from var(--color-primary) l c h / .18);--shadow-accent-ring-strong:0 0 0 2px var(--color-bg), 0 0 0 4px oklch(from var(--color-primary) l c h / .45);--shadow-accent-ring-solid:0 0 0 2px var(--color-primary), 0 0 0 4px oklch(from var(--color-primary) l c h / .2);--shadow-elevated-soft:0 10px 24px color-mix(in oklab, var(--color-surface-ink) 10%, transparent);--shadow-floating-soft:0 14px 34px oklch(0% 0 0/.18);--shadow-floating-hover:0 18px 40px oklch(0% 0 0/.2);--shadow-media-soft:0 16px 40px oklch(0% 0 0/.24);--shadow-media-stage:0 28px 80px oklch(0% 0 0/.28);--shadow-media-modal:0 16px 48px #0009;--shadow-card-strong:0 20px 56px oklch(0% 0 0/.24);--shadow-sheet-inset:inset 0 1px 0 color-mix(in oklab, var(--color-text) 4%, transparent);--shadow-focus:0 0 0 3px oklch(from var(--color-primary) l c h / .15);--shadow-focus-compact:0 0 0 2px oklch(from var(--color-primary) l c h / .45);--interactive-border:color-mix(in oklab, var(--color-primary) 32%, transparent);--interactive-surface:color-mix(in oklab, var(--color-primary) 18%, transparent);--color-text-on-dark:#fff;--shadow-sm:0 1px 2px oklch(0% 0 0/.22);--shadow-md:0 4px 12px oklch(0% 0 0/.3);--shadow-lg:0 16px 40px oklch(0% 0 0/.45)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:#0b0f14;--color-surface:#11161d;--color-surface-2:#171d26;--color-surface-offset:#141a22;--color-surface-offset-2:#1c2530;--color-surface-dynamic:#253140;--color-surface-raised:#1a222c;--color-surface-ink:#030608;--color-divider:#242e3a;--color-border:#303c4b;--color-text:#e6edf3;--color-text-muted:#9aa7b4;--color-text-faint:#687584;--color-text-inverse:#0b0f14;--color-primary:#60a5fa;--color-primary-hover:#3b82f6;--color-primary-active:#2563eb;--color-primary-contrast:#07111f;--color-primary-highlight:#172a45;--color-comment:#60a5fa;--color-comment-soft:#60a5fa1a;--color-comment-strong:#60a5fa29;--color-comment-text:#bfdbfe;--color-error:#f87171;--color-error-highlight:#2a1a1a;--color-success:#4ade80;--color-success-highlight:#1a2a1a;--color-warning:#fbbf24;--color-warning-highlight:#2a261a;--surface-fill-subtle:color-mix(in oklab, var(--color-surface) 88%, var(--color-surface-offset) 12%);--surface-fill-strong:color-mix(in oklab, var(--color-surface-offset) 60%, var(--color-surface-offset-2) 40%);--surface-overlay:color-mix(in srgb, var(--color-surface) 84%, var(--color-surface-offset) 16%);--surface-overlay-soft:color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-offset) 12%);--surface-overlay-strong:color-mix(in srgb, var(--color-surface) 90%, var(--color-surface-offset) 10%);--surface-overlay-raised:color-mix(in oklab, var(--color-surface) 94%, transparent);--surface-overlay-header:color-mix(in srgb, var(--color-surface-offset) 76%, var(--color-bg) 24%);--surface-overlay-offset:color-mix(in oklab, var(--color-surface-offset) 82%, transparent);--surface-scrim:oklch(10% 0 0/.42);--surface-scrim-strong:oklch(8% .01 260/.82);--surface-inverse-glass:oklch(18% .02 260/.68);--surface-inverse-glass-hover:oklch(24% .02 260/.82);--surface-media-canvas:#000;--surface-embed-canvas:#121212;--surface-avatar-muted:#ffffff38;--surface-avatar-label:#0f1117d6;--surface-accent-subtle:color-mix(in oklab, var(--color-primary) 8%, var(--color-surface));--surface-accent-soft:color-mix(in oklab, var(--color-primary) 16%, transparent);--surface-accent-strong:color-mix(in oklab, var(--color-primary) 22%, transparent);--surface-success-soft:color-mix(in oklab, var(--color-success) 14%, transparent);--surface-warning-soft:color-mix(in oklab, var(--color-warning) 14%, transparent);--surface-danger-soft:color-mix(in oklab, var(--color-error) 14%, transparent);--surface-comment-shell:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .035), transparent 120px), color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);--surface-comment-shell-header:color-mix(in srgb, var(--color-surface) 97%, var(--color-comment) 3%);--surface-comment-record:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .028), transparent 70%), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);--surface-comment-record-hover:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .042), transparent 70%), color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);--surface-comment-record-active:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .055), transparent 72%), color-mix(in srgb, var(--color-surface-2) 90%, var(--color-comment) 10%);--surface-comment-subtle:color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);--surface-comment-subtle-strong:color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);--surface-comment-card:color-mix(in srgb, var(--color-surface) 94%, var(--color-comment) 6%);--surface-comment-elevated:color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);--surface-comment-offset:color-mix(in srgb, var(--color-surface-offset) 90%, var(--color-comment) 10%);--surface-comment-offset-soft:color-mix(in srgb, var(--color-surface-offset) 88%, var(--color-comment) 12%);--surface-comment-offset-strong:color-mix(in srgb, var(--color-surface-offset) 84%, var(--color-comment) 16%);--surface-comment-offset-active:color-mix(in srgb, var(--color-surface-offset) 72%, var(--color-comment) 28%);--surface-comment-highlight-hover:color-mix(in srgb, var(--color-comment-soft) 74%, var(--color-comment) 26%);--surface-comment-highlight-active:color-mix(in srgb, var(--color-comment-soft) 62%, var(--color-comment) 38%);--surface-comment-selection:color-mix(in srgb, var(--color-surface) 25%, var(--color-comment) 75%);--surface-comment-preview-fade:linear-gradient(180deg, oklch(0% 0 0/0), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%));--border-comment-soft:color-mix(in srgb, var(--color-divider) 90%, var(--color-comment) 10%);--border-comment-muted:color-mix(in srgb, var(--color-divider) 88%, var(--color-comment) 12%);--border-comment-strong:color-mix(in srgb, var(--color-border) 82%, var(--color-comment) 18%);--border-comment-active:color-mix(in srgb, var(--color-border) 78%, var(--color-comment) 22%);--shadow-comment-outline:0 0 0 1px oklch(from var(--color-comment) l c h / .14);--surface-warning-toast:linear-gradient(135deg, oklab(76.8591% .0560995 .154808/.32), color-mix(in oklab, var(--color-surface) 86%, #0b1022 14%) 42%), color-mix(in oklab, var(--color-surface) 74%, #1b1320 26%);--border-warning-toast:oklab(79.4887% .0497246 .137216/.88);--text-warning-toast:oklab(99.6952% -.000454402 .00461993);--shadow-warning-toast:0 18px 34px #00000061, 0 0 0 1px oklab(76.8591% .0560995 .154808/.18);--border-accent-soft:color-mix(in oklab, var(--color-primary) 22%, transparent);--border-accent-muted:color-mix(in oklab, var(--color-primary) 24%, var(--color-border));--border-accent-strong:color-mix(in oklab, var(--color-primary) 34%, var(--color-border));--border-accent-stronger:color-mix(in oklab, var(--color-primary) 40%, var(--color-border));--shadow-accent-inset:inset 0 0 0 1px color-mix(in oklab, var(--color-primary) 14%, transparent);--shadow-accent-outline:0 0 0 1px color-mix(in oklab, var(--color-primary) 16%, transparent);--shadow-accent-halo:0 0 0 3px oklch(from var(--color-primary) l c h / .16);--shadow-accent-ring:0 0 0 2px var(--color-surface), 0 0 0 4px oklch(from var(--color-primary) l c h / .18);--shadow-accent-ring-strong:0 0 0 2px var(--color-bg), 0 0 0 4px oklch(from var(--color-primary) l c h / .45);--shadow-accent-ring-solid:0 0 0 2px var(--color-primary), 0 0 0 4px oklch(from var(--color-primary) l c h / .2);--shadow-elevated-soft:0 10px 24px color-mix(in oklab, var(--color-surface-ink) 10%, transparent);--shadow-floating-soft:0 14px 34px oklch(0% 0 0/.18);--shadow-floating-hover:0 18px 40px oklch(0% 0 0/.2);--shadow-media-soft:0 16px 40px oklch(0% 0 0/.24);--shadow-media-stage:0 28px 80px oklch(0% 0 0/.28);--shadow-media-modal:0 16px 48px #0009;--shadow-card-strong:0 20px 56px oklch(0% 0 0/.24);--shadow-sheet-inset:inset 0 1px 0 color-mix(in oklab, var(--color-text) 4%, transparent);--shadow-focus:0 0 0 3px oklch(from var(--color-primary) l c h / .15);--shadow-focus-compact:0 0 0 2px oklch(from var(--color-primary) l c h / .45);--interactive-border:color-mix(in oklab, var(--color-primary) 32%, transparent);--interactive-surface:color-mix(in oklab, var(--color-primary) 18%, transparent);--color-text-on-dark:#fff;--shadow-sm:0 1px 2px oklch(0% 0 0/.22);--shadow-md:0 4px 12px oklch(0% 0 0/.3);--shadow-lg:0 16px 40px oklch(0% 0 0/.45)}}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body[data-surface]{font-family:var(--font-body);font-size:var(--text-ui-sm);color:var(--color-text);background:var(--color-bg);line-height:1.4}#root{width:100%;height:100%}
@@ -1 +0,0 @@
1
- :root{--text-xs:clamp(.75rem, .7rem + .25vw, .875rem);--text-sm:clamp(.875rem, .8rem + .35vw, 1rem);--text-base:clamp(1rem, .9rem + .5vw, 1.125rem);--text-lg:clamp(1.125rem, .95rem + .85vw, 1.5rem);--text-xl:clamp(1.5rem, 1rem + 1.5vw, 2.25rem);--text-2xl:clamp(2rem, 1.2rem + 2.5vw, 3.5rem);--text-label:12px;--text-meta:12px;--text-caption:11px;--text-micro:10px;--text-code-sm:12px;--text-ui-sm:13px;--text-ui-md:14px;--text-title-sm:15px;--text-title-md:18px;--font-body:"Inter Variable", "Inter", system-ui, sans-serif;--font-display:"Inter Variable", "Inter", system-ui, sans-serif;--font-prose:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", "SF Mono", monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xs:2px;--radius-xs:4px;--radius-lg-plus:10px;--radius-xl-plus:18px;--radius-full:9999px;--transition-interactive:.18s cubic-bezier(.16, 1, .3, 1);--content-narrow:640px;--content-default:960px;--content-wide:1200px;--preview-content-width:720px;--panel-comments-width:min(300px, 34vw);--panel-comments-min-width:240px;--panel-outline-width:220px;--toolbar-h:48px;--control-h-xs:28px;--control-h-sm:30px;--control-h-md:36px;--control-h-lg:44px;--control-target-min:44px;--control-icon-sm:14px;--control-icon-md:16px;--panel-border-width:1px}:root,[data-theme=light]{--color-bg:#f6f8fa;--color-surface:#fff;--color-surface-2:#fbfcfd;--color-surface-offset:#f0f3f6;--color-surface-offset-2:#e8edf2;--color-surface-dynamic:#dde3ea;--color-surface-raised:#fff;--color-surface-ink:#0b1118;--color-divider:#e3e8ee;--color-border:#cbd4df;--color-text:#17212b;--color-text-muted:#596675;--color-text-faint:#8391a1;--color-text-inverse:#f8fafc;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-active:#1e40af;--color-primary-contrast:#fff;--color-primary-highlight:#dbeafe;--color-comment:#2563eb;--color-comment-soft:#2563eb14;--color-comment-strong:#2563eb24;--color-comment-text:#1e40af;--color-error:#dc2626;--color-danger:#dc2626;--color-error-highlight:#fce8e8;--color-success:#16a34a;--color-success-highlight:#dcfce7;--color-warning:#d97706;--color-warning-highlight:#fef3c7;--diff-add-bg:#16a34a0f;--diff-add-line-bg:#16a34a24;--diff-add-text:#16a34a;--diff-del-bg:#dc26260f;--diff-del-line-bg:#dc262624;--diff-del-text:#dc2626;--diff-hunk-bg:#2563eb14;--diff-hunk-text:#2563eb;--diff-gutter:#8391a1;--surface-fill-subtle:color-mix(in oklab, var(--color-surface) 92%, var(--color-surface-offset) 8%);--surface-fill-strong:color-mix(in oklab, var(--color-surface-offset) 72%, var(--color-surface-offset-2) 28%);--surface-overlay:color-mix(in srgb, var(--color-surface) 84%, var(--color-surface-offset) 16%);--surface-overlay-soft:color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-offset) 12%);--surface-overlay-strong:color-mix(in srgb, var(--color-surface) 90%, var(--color-surface-offset) 10%);--surface-overlay-raised:color-mix(in oklab, var(--color-surface) 94%, transparent);--surface-overlay-header:color-mix(in srgb, var(--color-surface-offset) 76%, var(--color-bg) 24%);--surface-overlay-offset:color-mix(in oklab, var(--color-surface-offset) 82%, transparent);--surface-scrim:oklch(10% 0 0/.42);--surface-scrim-strong:oklch(8% .01 260/.82);--surface-inverse-glass:oklch(18% .02 260/.68);--surface-inverse-glass-hover:oklch(24% .02 260/.82);--surface-media-canvas:#000;--surface-embed-canvas:#fff;--surface-avatar-muted:#ffffff38;--surface-avatar-label:#0f1117d6;--surface-accent-subtle:color-mix(in oklab, var(--color-primary) 8%, var(--color-surface));--surface-accent-soft:color-mix(in oklab, var(--color-primary) 16%, transparent);--surface-accent-strong:color-mix(in oklab, var(--color-primary) 22%, transparent);--surface-success-soft:color-mix(in oklab, var(--color-success) 14%, transparent);--surface-warning-soft:color-mix(in oklab, var(--color-warning) 14%, transparent);--surface-danger-soft:color-mix(in oklab, var(--color-error) 14%, transparent);--surface-comment-shell:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .035), transparent 120px), color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);--surface-comment-shell-header:color-mix(in srgb, var(--color-surface) 97%, var(--color-comment) 3%);--surface-comment-record:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .028), transparent 70%), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);--surface-comment-record-hover:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .042), transparent 70%), color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);--surface-comment-record-active:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .055), transparent 72%), color-mix(in srgb, var(--color-surface-2) 90%, var(--color-comment) 10%);--surface-comment-subtle:color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);--surface-comment-subtle-strong:color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);--surface-comment-card:color-mix(in srgb, var(--color-surface) 94%, var(--color-comment) 6%);--surface-comment-elevated:color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);--surface-comment-offset:color-mix(in srgb, var(--color-surface-offset) 90%, var(--color-comment) 10%);--surface-comment-offset-soft:color-mix(in srgb, var(--color-surface-offset) 88%, var(--color-comment) 12%);--surface-comment-offset-strong:color-mix(in srgb, var(--color-surface-offset) 84%, var(--color-comment) 16%);--surface-comment-offset-active:color-mix(in srgb, var(--color-surface-offset) 72%, var(--color-comment) 28%);--surface-comment-highlight-hover:color-mix(in srgb, var(--color-comment-soft) 74%, var(--color-comment) 26%);--surface-comment-highlight-active:color-mix(in srgb, var(--color-comment-soft) 62%, var(--color-comment) 38%);--surface-comment-selection:color-mix(in srgb, var(--color-surface) 25%, var(--color-comment) 75%);--surface-comment-preview-fade:linear-gradient(180deg, oklch(0% 0 0/0), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%));--border-comment-soft:color-mix(in srgb, var(--color-divider) 90%, var(--color-comment) 10%);--border-comment-muted:color-mix(in srgb, var(--color-divider) 88%, var(--color-comment) 12%);--border-comment-strong:color-mix(in srgb, var(--color-border) 82%, var(--color-comment) 18%);--border-comment-active:color-mix(in srgb, var(--color-border) 78%, var(--color-comment) 22%);--shadow-comment-outline:0 0 0 1px oklch(from var(--color-comment) l c h / .14);--surface-warning-toast:linear-gradient(135deg, oklab(94.9166% -.0018052 .0644112), oklab(99.8777% .00026585 .000908241) 42%), #fff8e7;--border-warning-toast:oklab(73.4461% .062398 .147608);--text-warning-toast:#422006;--shadow-warning-toast:0 16px 30px #542e0a2e, 0 0 0 1px #f59e0b1f;--border-accent-soft:color-mix(in oklab, var(--color-primary) 22%, transparent);--border-accent-muted:color-mix(in oklab, var(--color-primary) 24%, var(--color-border));--border-accent-strong:color-mix(in oklab, var(--color-primary) 34%, var(--color-border));--border-accent-stronger:color-mix(in oklab, var(--color-primary) 40%, var(--color-border));--shadow-accent-inset:inset 0 0 0 1px color-mix(in oklab, var(--color-primary) 14%, transparent);--shadow-accent-outline:0 0 0 1px color-mix(in oklab, var(--color-primary) 16%, transparent);--shadow-accent-halo:0 0 0 3px oklch(from var(--color-primary) l c h / .16);--shadow-accent-ring:0 0 0 2px var(--color-surface), 0 0 0 4px oklch(from var(--color-primary) l c h / .18);--shadow-accent-ring-strong:0 0 0 2px var(--color-bg), 0 0 0 4px oklch(from var(--color-primary) l c h / .45);--shadow-accent-ring-solid:0 0 0 2px var(--color-primary), 0 0 0 4px oklch(from var(--color-primary) l c h / .2);--shadow-elevated-soft:0 10px 24px color-mix(in oklab, var(--color-surface-ink) 10%, transparent);--shadow-floating-soft:0 14px 34px oklch(0% 0 0/.18);--shadow-floating-hover:0 18px 40px oklch(0% 0 0/.2);--shadow-media-soft:0 16px 40px oklch(0% 0 0/.24);--shadow-media-stage:0 28px 80px oklch(0% 0 0/.28);--shadow-media-modal:0 10px 40px #00000059;--shadow-card-strong:0 20px 56px oklch(0% 0 0/.24);--shadow-sheet-inset:inset 0 1px 0 color-mix(in oklab, var(--color-text) 4%, transparent);--shadow-focus:0 0 0 3px oklch(from var(--color-primary) l c h / .15);--shadow-focus-compact:0 0 0 2px oklch(from var(--color-primary) l c h / .45);--interactive-border:color-mix(in oklab, var(--color-primary) 22%, transparent);--interactive-surface:color-mix(in oklab, var(--color-primary) 14%, transparent);--color-text-on-dark:#fff;--shadow-sm:0 1px 2px oklch(20% .02 260/.06);--shadow-md:0 4px 12px oklch(20% .02 260/.08);--shadow-lg:0 12px 32px oklch(20% .02 260/.12)}[data-theme=dark]{--color-bg:#0b0f14;--color-surface:#11161d;--color-surface-2:#171d26;--color-surface-offset:#141a22;--color-surface-offset-2:#1c2530;--color-surface-dynamic:#253140;--color-surface-raised:#1a222c;--color-surface-ink:#030608;--color-divider:#242e3a;--color-border:#303c4b;--color-text:#e6edf3;--color-text-muted:#9aa7b4;--color-text-faint:#687584;--color-text-inverse:#0b0f14;--color-primary:#60a5fa;--color-primary-hover:#3b82f6;--color-primary-active:#2563eb;--color-primary-contrast:#07111f;--color-primary-highlight:#172a45;--color-comment:#60a5fa;--color-comment-soft:#60a5fa1a;--color-comment-strong:#60a5fa29;--color-comment-text:#bfdbfe;--color-error:#f87171;--color-danger:#f87171;--color-error-highlight:#2a1a1a;--color-success:#4ade80;--color-success-highlight:#1a2a1a;--color-warning:#fbbf24;--color-warning-highlight:#2a261a;--diff-add-bg:#4ade8014;--diff-add-line-bg:#4ade8026;--diff-add-text:#4ade80;--diff-del-bg:#f8717114;--diff-del-line-bg:#f8717126;--diff-del-text:#f87171;--diff-hunk-bg:#60a5fa1a;--diff-hunk-text:#60a5fa;--diff-gutter:#687584;--surface-fill-subtle:color-mix(in oklab, var(--color-surface) 88%, var(--color-surface-offset) 12%);--surface-fill-strong:color-mix(in oklab, var(--color-surface-offset) 60%, var(--color-surface-offset-2) 40%);--surface-overlay:color-mix(in srgb, var(--color-surface) 84%, var(--color-surface-offset) 16%);--surface-overlay-soft:color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-offset) 12%);--surface-overlay-strong:color-mix(in srgb, var(--color-surface) 90%, var(--color-surface-offset) 10%);--surface-overlay-raised:color-mix(in oklab, var(--color-surface) 94%, transparent);--surface-overlay-header:color-mix(in srgb, var(--color-surface-offset) 76%, var(--color-bg) 24%);--surface-overlay-offset:color-mix(in oklab, var(--color-surface-offset) 82%, transparent);--surface-scrim:oklch(10% 0 0/.42);--surface-scrim-strong:oklch(8% .01 260/.82);--surface-inverse-glass:oklch(18% .02 260/.68);--surface-inverse-glass-hover:oklch(24% .02 260/.82);--surface-media-canvas:#000;--surface-embed-canvas:#121212;--surface-avatar-muted:#ffffff38;--surface-avatar-label:#0f1117d6;--surface-accent-subtle:color-mix(in oklab, var(--color-primary) 8%, var(--color-surface));--surface-accent-soft:color-mix(in oklab, var(--color-primary) 16%, transparent);--surface-accent-strong:color-mix(in oklab, var(--color-primary) 22%, transparent);--surface-success-soft:color-mix(in oklab, var(--color-success) 14%, transparent);--surface-warning-soft:color-mix(in oklab, var(--color-warning) 14%, transparent);--surface-danger-soft:color-mix(in oklab, var(--color-error) 14%, transparent);--surface-comment-shell:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .035), transparent 120px), color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);--surface-comment-shell-header:color-mix(in srgb, var(--color-surface) 97%, var(--color-comment) 3%);--surface-comment-record:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .028), transparent 70%), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);--surface-comment-record-hover:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .042), transparent 70%), color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);--surface-comment-record-active:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .055), transparent 72%), color-mix(in srgb, var(--color-surface-2) 90%, var(--color-comment) 10%);--surface-comment-subtle:color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);--surface-comment-subtle-strong:color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);--surface-comment-card:color-mix(in srgb, var(--color-surface) 94%, var(--color-comment) 6%);--surface-comment-elevated:color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);--surface-comment-offset:color-mix(in srgb, var(--color-surface-offset) 90%, var(--color-comment) 10%);--surface-comment-offset-soft:color-mix(in srgb, var(--color-surface-offset) 88%, var(--color-comment) 12%);--surface-comment-offset-strong:color-mix(in srgb, var(--color-surface-offset) 84%, var(--color-comment) 16%);--surface-comment-offset-active:color-mix(in srgb, var(--color-surface-offset) 72%, var(--color-comment) 28%);--surface-comment-highlight-hover:color-mix(in srgb, var(--color-comment-soft) 74%, var(--color-comment) 26%);--surface-comment-highlight-active:color-mix(in srgb, var(--color-comment-soft) 62%, var(--color-comment) 38%);--surface-comment-selection:color-mix(in srgb, var(--color-surface) 25%, var(--color-comment) 75%);--surface-comment-preview-fade:linear-gradient(180deg, oklch(0% 0 0/0), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%));--border-comment-soft:color-mix(in srgb, var(--color-divider) 90%, var(--color-comment) 10%);--border-comment-muted:color-mix(in srgb, var(--color-divider) 88%, var(--color-comment) 12%);--border-comment-strong:color-mix(in srgb, var(--color-border) 82%, var(--color-comment) 18%);--border-comment-active:color-mix(in srgb, var(--color-border) 78%, var(--color-comment) 22%);--shadow-comment-outline:0 0 0 1px oklch(from var(--color-comment) l c h / .14);--surface-warning-toast:linear-gradient(135deg, oklab(76.8591% .0560995 .154808/.32), color-mix(in oklab, var(--color-surface) 86%, #0b1022 14%) 42%), color-mix(in oklab, var(--color-surface) 74%, #1b1320 26%);--border-warning-toast:oklab(79.4887% .0497246 .137216/.88);--text-warning-toast:oklab(99.6952% -.000454402 .00461993);--shadow-warning-toast:0 18px 34px #00000061, 0 0 0 1px oklab(76.8591% .0560995 .154808/.18);--border-accent-soft:color-mix(in oklab, var(--color-primary) 22%, transparent);--border-accent-muted:color-mix(in oklab, var(--color-primary) 24%, var(--color-border));--border-accent-strong:color-mix(in oklab, var(--color-primary) 34%, var(--color-border));--border-accent-stronger:color-mix(in oklab, var(--color-primary) 40%, var(--color-border));--shadow-accent-inset:inset 0 0 0 1px color-mix(in oklab, var(--color-primary) 14%, transparent);--shadow-accent-outline:0 0 0 1px color-mix(in oklab, var(--color-primary) 16%, transparent);--shadow-accent-halo:0 0 0 3px oklch(from var(--color-primary) l c h / .16);--shadow-accent-ring:0 0 0 2px var(--color-surface), 0 0 0 4px oklch(from var(--color-primary) l c h / .18);--shadow-accent-ring-strong:0 0 0 2px var(--color-bg), 0 0 0 4px oklch(from var(--color-primary) l c h / .45);--shadow-accent-ring-solid:0 0 0 2px var(--color-primary), 0 0 0 4px oklch(from var(--color-primary) l c h / .2);--shadow-elevated-soft:0 10px 24px color-mix(in oklab, var(--color-surface-ink) 10%, transparent);--shadow-floating-soft:0 14px 34px oklch(0% 0 0/.18);--shadow-floating-hover:0 18px 40px oklch(0% 0 0/.2);--shadow-media-soft:0 16px 40px oklch(0% 0 0/.24);--shadow-media-stage:0 28px 80px oklch(0% 0 0/.28);--shadow-media-modal:0 16px 48px #0009;--shadow-card-strong:0 20px 56px oklch(0% 0 0/.24);--shadow-sheet-inset:inset 0 1px 0 color-mix(in oklab, var(--color-text) 4%, transparent);--shadow-focus:0 0 0 3px oklch(from var(--color-primary) l c h / .15);--shadow-focus-compact:0 0 0 2px oklch(from var(--color-primary) l c h / .45);--interactive-border:color-mix(in oklab, var(--color-primary) 32%, transparent);--interactive-surface:color-mix(in oklab, var(--color-primary) 18%, transparent);--color-text-on-dark:#fff;--shadow-sm:0 1px 2px oklch(0% 0 0/.22);--shadow-md:0 4px 12px oklch(0% 0 0/.3);--shadow-lg:0 16px 40px oklch(0% 0 0/.45)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:#0b0f14;--color-surface:#11161d;--color-surface-2:#171d26;--color-surface-offset:#141a22;--color-surface-offset-2:#1c2530;--color-surface-dynamic:#253140;--color-surface-raised:#1a222c;--color-surface-ink:#030608;--color-divider:#242e3a;--color-border:#303c4b;--color-text:#e6edf3;--color-text-muted:#9aa7b4;--color-text-faint:#687584;--color-text-inverse:#0b0f14;--color-primary:#60a5fa;--color-primary-hover:#3b82f6;--color-primary-active:#2563eb;--color-primary-contrast:#07111f;--color-primary-highlight:#172a45;--color-comment:#60a5fa;--color-comment-soft:#60a5fa1a;--color-comment-strong:#60a5fa29;--color-comment-text:#bfdbfe;--color-error:#f87171;--color-error-highlight:#2a1a1a;--color-success:#4ade80;--color-success-highlight:#1a2a1a;--color-warning:#fbbf24;--color-warning-highlight:#2a261a;--surface-fill-subtle:color-mix(in oklab, var(--color-surface) 88%, var(--color-surface-offset) 12%);--surface-fill-strong:color-mix(in oklab, var(--color-surface-offset) 60%, var(--color-surface-offset-2) 40%);--surface-overlay:color-mix(in srgb, var(--color-surface) 84%, var(--color-surface-offset) 16%);--surface-overlay-soft:color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-offset) 12%);--surface-overlay-strong:color-mix(in srgb, var(--color-surface) 90%, var(--color-surface-offset) 10%);--surface-overlay-raised:color-mix(in oklab, var(--color-surface) 94%, transparent);--surface-overlay-header:color-mix(in srgb, var(--color-surface-offset) 76%, var(--color-bg) 24%);--surface-overlay-offset:color-mix(in oklab, var(--color-surface-offset) 82%, transparent);--surface-scrim:oklch(10% 0 0/.42);--surface-scrim-strong:oklch(8% .01 260/.82);--surface-inverse-glass:oklch(18% .02 260/.68);--surface-inverse-glass-hover:oklch(24% .02 260/.82);--surface-media-canvas:#000;--surface-embed-canvas:#121212;--surface-avatar-muted:#ffffff38;--surface-avatar-label:#0f1117d6;--surface-accent-subtle:color-mix(in oklab, var(--color-primary) 8%, var(--color-surface));--surface-accent-soft:color-mix(in oklab, var(--color-primary) 16%, transparent);--surface-accent-strong:color-mix(in oklab, var(--color-primary) 22%, transparent);--surface-success-soft:color-mix(in oklab, var(--color-success) 14%, transparent);--surface-warning-soft:color-mix(in oklab, var(--color-warning) 14%, transparent);--surface-danger-soft:color-mix(in oklab, var(--color-error) 14%, transparent);--surface-comment-shell:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .035), transparent 120px), color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);--surface-comment-shell-header:color-mix(in srgb, var(--color-surface) 97%, var(--color-comment) 3%);--surface-comment-record:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .028), transparent 70%), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);--surface-comment-record-hover:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .042), transparent 70%), color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);--surface-comment-record-active:linear-gradient(180deg, oklch(from var(--color-comment) l c h / .055), transparent 72%), color-mix(in srgb, var(--color-surface-2) 90%, var(--color-comment) 10%);--surface-comment-subtle:color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%);--surface-comment-subtle-strong:color-mix(in srgb, var(--color-surface-2) 92%, var(--color-comment) 8%);--surface-comment-card:color-mix(in srgb, var(--color-surface) 94%, var(--color-comment) 6%);--surface-comment-elevated:color-mix(in srgb, var(--color-surface) 96%, var(--color-comment) 4%);--surface-comment-offset:color-mix(in srgb, var(--color-surface-offset) 90%, var(--color-comment) 10%);--surface-comment-offset-soft:color-mix(in srgb, var(--color-surface-offset) 88%, var(--color-comment) 12%);--surface-comment-offset-strong:color-mix(in srgb, var(--color-surface-offset) 84%, var(--color-comment) 16%);--surface-comment-offset-active:color-mix(in srgb, var(--color-surface-offset) 72%, var(--color-comment) 28%);--surface-comment-highlight-hover:color-mix(in srgb, var(--color-comment-soft) 74%, var(--color-comment) 26%);--surface-comment-highlight-active:color-mix(in srgb, var(--color-comment-soft) 62%, var(--color-comment) 38%);--surface-comment-selection:color-mix(in srgb, var(--color-surface) 25%, var(--color-comment) 75%);--surface-comment-preview-fade:linear-gradient(180deg, oklch(0% 0 0/0), color-mix(in srgb, var(--color-surface-2) 95%, var(--color-comment) 5%));--border-comment-soft:color-mix(in srgb, var(--color-divider) 90%, var(--color-comment) 10%);--border-comment-muted:color-mix(in srgb, var(--color-divider) 88%, var(--color-comment) 12%);--border-comment-strong:color-mix(in srgb, var(--color-border) 82%, var(--color-comment) 18%);--border-comment-active:color-mix(in srgb, var(--color-border) 78%, var(--color-comment) 22%);--shadow-comment-outline:0 0 0 1px oklch(from var(--color-comment) l c h / .14);--surface-warning-toast:linear-gradient(135deg, oklab(76.8591% .0560995 .154808/.32), color-mix(in oklab, var(--color-surface) 86%, #0b1022 14%) 42%), color-mix(in oklab, var(--color-surface) 74%, #1b1320 26%);--border-warning-toast:oklab(79.4887% .0497246 .137216/.88);--text-warning-toast:oklab(99.6952% -.000454402 .00461993);--shadow-warning-toast:0 18px 34px #00000061, 0 0 0 1px oklab(76.8591% .0560995 .154808/.18);--border-accent-soft:color-mix(in oklab, var(--color-primary) 22%, transparent);--border-accent-muted:color-mix(in oklab, var(--color-primary) 24%, var(--color-border));--border-accent-strong:color-mix(in oklab, var(--color-primary) 34%, var(--color-border));--border-accent-stronger:color-mix(in oklab, var(--color-primary) 40%, var(--color-border));--shadow-accent-inset:inset 0 0 0 1px color-mix(in oklab, var(--color-primary) 14%, transparent);--shadow-accent-outline:0 0 0 1px color-mix(in oklab, var(--color-primary) 16%, transparent);--shadow-accent-halo:0 0 0 3px oklch(from var(--color-primary) l c h / .16);--shadow-accent-ring:0 0 0 2px var(--color-surface), 0 0 0 4px oklch(from var(--color-primary) l c h / .18);--shadow-accent-ring-strong:0 0 0 2px var(--color-bg), 0 0 0 4px oklch(from var(--color-primary) l c h / .45);--shadow-accent-ring-solid:0 0 0 2px var(--color-primary), 0 0 0 4px oklch(from var(--color-primary) l c h / .2);--shadow-elevated-soft:0 10px 24px color-mix(in oklab, var(--color-surface-ink) 10%, transparent);--shadow-floating-soft:0 14px 34px oklch(0% 0 0/.18);--shadow-floating-hover:0 18px 40px oklch(0% 0 0/.2);--shadow-media-soft:0 16px 40px oklch(0% 0 0/.24);--shadow-media-stage:0 28px 80px oklch(0% 0 0/.28);--shadow-media-modal:0 16px 48px #0009;--shadow-card-strong:0 20px 56px oklch(0% 0 0/.24);--shadow-sheet-inset:inset 0 1px 0 color-mix(in oklab, var(--color-text) 4%, transparent);--shadow-focus:0 0 0 3px oklch(from var(--color-primary) l c h / .15);--shadow-focus-compact:0 0 0 2px oklch(from var(--color-primary) l c h / .45);--interactive-border:color-mix(in oklab, var(--color-primary) 32%, transparent);--interactive-surface:color-mix(in oklab, var(--color-primary) 18%, transparent);--color-text-on-dark:#fff;--shadow-sm:0 1px 2px oklch(0% 0 0/.22);--shadow-md:0 4px 12px oklch(0% 0 0/.3);--shadow-lg:0 16px 40px oklch(0% 0 0/.45)}}.preview-content,.preview-content h1,.preview-content h2,.preview-content h3,.preview-content h4,.preview-content h5,.preview-content h6{font-family:var(--font-prose)}.preview-content h1{margin:var(--space-8) 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-divider);font-size:var(--text-xl);letter-spacing:-.02em;font-weight:700}.preview-content h1:first-child,.preview-content .frontmatter-block+h1{margin-top:0}.preview-content h2{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-lg);letter-spacing:-.01em;font-weight:600}.preview-content h3{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-base);font-weight:600}.preview-content h4,.preview-content h5,.preview-content h6{margin:var(--space-4) 0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.preview-content .preview-heading-link-button{border-radius:var(--radius-full);width:1.18em;min-width:1.18em;height:1.18em;color:color-mix(in oklab, var(--color-text-muted) 78%, transparent);transition:transform var(--transition-interactive), background var(--transition-interactive), box-shadow var(--transition-interactive), color var(--transition-interactive), opacity var(--transition-interactive);vertical-align:middle;opacity:0;background:0 0;border:0;margin-inline-start:.28em;display:inline-flex;transform:translateY(-.04em)}.preview-content .preview-heading-link-button>svg{stroke-width:2px;width:.74em;height:.74em}.preview-content .preview-heading-link-button:hover{background:color-mix(in oklab, var(--color-primary) 12%, transparent);box-shadow:var(--shadow-accent-outline);color:var(--color-primary);transform:translateY(-.04em)scale(1.04)}.preview-content h1:hover .preview-heading-link-button,.preview-content h2:hover .preview-heading-link-button,.preview-content h3:hover .preview-heading-link-button,.preview-content h4:hover .preview-heading-link-button,.preview-content h5:hover .preview-heading-link-button,.preview-content h6:hover .preview-heading-link-button,.preview-content .preview-heading-link-button:focus-visible{opacity:1}.preview-content .preview-heading-link-button:focus-visible{background:color-mix(in oklab, var(--color-primary) 14%, transparent);box-shadow:var(--shadow-focus-compact);color:var(--color-primary);outline:0}.preview-content p{max-width:72ch;margin-bottom:var(--space-4)}.preview-content .frontmatter-block{max-width:72ch;margin:0 0 var(--space-5);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in oklab, var(--color-surface-offset) 72%, var(--color-surface))}.preview-content .frontmatter-label{color:var(--color-text-muted);font-size:var(--text-ui-sm);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.preview-content .frontmatter-block>.frontmatter-label{margin-bottom:var(--space-3);display:block}.preview-content .frontmatter-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.preview-content .frontmatter-toggle{min-height:30px;padding:0 var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-ui-sm);cursor:pointer;border-radius:999px;flex-shrink:0}.preview-content .frontmatter-toggle:hover{background:var(--color-surface-offset)}.preview-content .frontmatter-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.preview-content .frontmatter-summary{margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:var(--text-ui-sm)}.preview-content .frontmatter-properties{gap:var(--space-3);margin:0;display:grid}.preview-content .frontmatter-property{gap:var(--space-3);grid-template-columns:minmax(0,160px) minmax(0,1fr);align-items:start;display:grid}.preview-content .frontmatter-key{color:var(--color-text-muted);font-size:var(--text-ui-sm);margin:0;font-weight:600}.preview-content .frontmatter-value{min-width:0;margin:0}.preview-content .frontmatter-value-text{color:var(--color-text);overflow-wrap:anywhere;display:inline-block}.preview-content .frontmatter-value-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.preview-content .frontmatter-value-pill{min-height:28px;padding:0 var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--text-ui-sm);border-radius:999px;align-items:center;display:inline-flex}.preview-content .frontmatter-value-code{border-radius:var(--radius-md);margin:0}.preview-content .frontmatter-value-code code{white-space:pre-wrap;word-break:break-word}.preview-content .frontmatter-empty{color:var(--color-text-muted);font-size:var(--text-ui-sm)}:is(.preview-content p:has(>.excalidraw-embed-placeholder:only-child),.preview-content p:has(>.bases-embed-placeholder:only-child),.preview-content p:has(>.video-embed-placeholder:only-child),.preview-content p:has(>.plantuml-shell:only-child)){max-width:none;margin-bottom:0}.preview-content .bases-shell{width:100%;margin:0 0 var(--space-5);border:1px solid var(--color-divider);border-radius:calc(var(--radius-lg) + 2px);background:var(--color-surface);box-shadow:var(--shadow-md);overflow:hidden}.preview-content .bases-embed-placeholder>.bases-shell{margin:0}.preview-content .bases-toolbar{gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-divider);border-radius:calc(var(--radius-lg) + 1px) calc(var(--radius-lg) + 1px) 0 0;background:var(--color-surface);display:grid}.preview-content .bases-toolbar-main,.preview-content .bases-toolbar-actions,.preview-content .bases-summaries,.preview-content .bases-value-list{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.preview-content .bases-toolbar-main{justify-content:space-between;gap:var(--space-3);min-width:0}.preview-content .bases-tabs{border:1px solid color-mix(in oklab, var(--color-divider) 82%, transparent);border-radius:var(--radius-full);background:color-mix(in oklab, var(--color-surface-offset) 78%, var(--color-surface));scrollbar-width:none;flex-wrap:nowrap;flex:auto;min-width:0;max-width:100%;padding:3px;overflow:auto hidden}.preview-content .bases-tabs::-webkit-scrollbar{display:none}.preview-content .bases-export-btn,.preview-content .bases-link-button{flex-shrink:0}.preview-content .bases-toolbar-actions{justify-content:space-between;gap:var(--space-3);width:100%}.preview-content .bases-toolbar-edit-actions,.preview-content .bases-panel-title-row,.preview-content .bases-toggle-row,.preview-content .bases-filter-group-header,.preview-content .bases-filter-actions-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.preview-content .bases-toolbar-edit-actions{border:1px solid var(--color-divider);border-radius:var(--radius-full);background:color-mix(in oklab, var(--color-surface) 72%, var(--color-surface-offset));box-shadow:inset 0 1px 0 oklch(from var(--color-text) l c h / .04);padding:3px;display:inline-flex}.preview-content .bases-panel-title-row,.preview-content .bases-filter-group-header{justify-content:space-between}.preview-content .bases-sort-row,.preview-content .bases-filter-row{gap:var(--space-2);align-items:stretch;width:100%;display:grid}.preview-content .bases-panel-section>.bases-sort-row{grid-template-columns:minmax(180px,1.35fr) minmax(140px,1fr) auto}.preview-content .bases-sort-list>.bases-sort-row{grid-template-columns:minmax(180px,1.35fr) minmax(140px,1fr) repeat(3,auto)}.preview-content .bases-filter-row{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(200px,1.35fr) auto}.preview-content .bases-sort-row>.ui-button,.preview-content .bases-filter-row>.ui-button,.preview-content .bases-filter-group-header>.ui-button,.preview-content .bases-filter-actions-row>.ui-button{align-self:stretch}.preview-content .bases-panels{padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-surface)}.preview-content .bases-panel-card{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-divider);border-radius:calc(var(--radius-lg) + 1px);background:var(--color-surface);box-shadow:var(--shadow-sm);display:grid}.preview-content .bases-panel-section{gap:var(--space-2);display:grid}.preview-content .bases-panel-section+.bases-panel-section{padding-top:var(--space-3);border-top:1px solid color-mix(in oklab, var(--color-divider) 86%, transparent)}.preview-content .bases-panel-title,.preview-content .bases-readonly-note{font-size:var(--text-ui-sm);color:var(--color-text-muted)}.preview-content .bases-panel-title{font-weight:600}.preview-content .bases-readonly-note{line-height:1.5}.preview-content .bases-select,.preview-content .bases-filter-value,.preview-content .bases-properties-search-input,.preview-content .bases-filter-advanced{width:100%;min-width:0}.preview-content .bases-select,.preview-content .bases-filter-value,.preview-content .bases-filter-value-combobox{min-height:var(--control-h-md)}.preview-content .bases-select{appearance:none;padding-right:calc(var(--space-6) + var(--space-3));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23838ea4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:16px 16px}.preview-content .bases-filter-value-combobox{min-width:0;position:relative}.preview-content .bases-filter-value{padding-right:var(--space-3)}.preview-content .bases-filter-value--suggestions{padding-right:calc(var(--space-6) + var(--space-3));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23838ea4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:16px 16px}.preview-content .bases-filter-suggestion-list{top:calc(100% + var(--space-1));z-index:3;max-height:224px;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);gap:2px;display:grid;position:absolute;left:0;right:0;overflow:auto}.preview-content .bases-filter-suggestion{gap:var(--space-2);width:100%;min-height:36px;padding:var(--space-2) var(--space-3);border-radius:calc(var(--radius-md) - 2px);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.preview-content .bases-filter-suggestion:hover,.preview-content .bases-filter-suggestion:focus-visible{background:var(--surface-fill-subtle);outline:none}.preview-content .bases-filter-suggestion[aria-selected=true]{background:color-mix(in oklab, var(--color-primary) 10%, var(--color-surface));color:var(--color-primary)}.preview-content .bases-filter-suggestion-label,.preview-content .bases-filter-suggestion-meta{min-width:0}.preview-content .bases-filter-suggestion-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-content .bases-filter-suggestion-meta{color:var(--color-text-muted);font-size:var(--text-ui-sm)}.preview-content .bases-filter-group{gap:var(--space-3);padding:var(--space-3);border:1px solid color-mix(in oklab, var(--color-divider) 88%, transparent);border-radius:calc(var(--radius-lg) + 1px);background:var(--color-surface);box-shadow:inset 0 1px 0 oklch(from var(--color-text) l c h / .04);display:grid}.preview-content .bases-filter-children,.preview-content .bases-sort-list{gap:var(--space-3);display:grid}.preview-content .bases-properties-search,.preview-content .bases-filter-advanced-label{width:100%;display:block}.preview-content .bases-properties-list{gap:var(--space-2);max-height:320px;padding:var(--space-1);border:1px solid color-mix(in oklab, var(--color-divider) 86%, transparent);border-radius:var(--radius-lg);background:color-mix(in oklab, var(--color-surface-offset) 54%, var(--color-surface));display:grid;overflow:auto}.preview-content .bases-property-option{gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface);transition:transform var(--transition-interactive), border-color var(--transition-interactive), box-shadow var(--transition-interactive), background var(--transition-interactive);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.preview-content .bases-property-option:hover{border-color:color-mix(in oklab, var(--color-divider) 55%, var(--color-primary) 45%);background:var(--surface-fill-subtle);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.preview-content .bases-property-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);margin:0}.preview-content .bases-property-option-label{min-width:0;font-weight:500}.preview-content .bases-property-option-meta{font-size:var(--text-ui-sm);color:var(--color-text-faint);text-transform:capitalize}.preview-content .bases-filter-advanced{min-height:180px;padding:var(--space-3);resize:vertical;line-height:1.5}.preview-content .bases-search-shell{border:1px solid color-mix(in oklab, var(--color-border) 82%, var(--color-primary) 18%);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;min-width:min(320px,100%);max-width:min(420px,100%);box-shadow:inset 0 1px 0 oklch(from var(--color-text) l c h / .04);transition:border-color var(--transition-interactive), box-shadow var(--transition-interactive), background var(--transition-interactive);flex:320px;align-items:center;margin-left:auto;display:flex;position:relative}.preview-content .bases-search-shell:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus), inset 0 1px 0 oklch(from var(--color-text) l c h / .04)}.preview-content .bases-search-icon{left:var(--space-3);color:var(--color-text-faint);pointer-events:none;position:absolute}.preview-content .bases-search-input{border-radius:inherit;min-width:0;box-shadow:none;padding-left:calc(var(--space-3) * 2 + 16px);background:0 0;border:0}.preview-content .bases-search-input:focus{box-shadow:none;border-color:#0000}.preview-content .bases-export-btn{min-height:var(--control-h-md);padding-inline:var(--space-4);font-size:var(--text-sm);font-weight:600}.preview-content .bases-export-btn:hover{border-color:color-mix(in oklab, var(--color-border) 45%, var(--color-primary) 55%)}.preview-content .bases-meta,.preview-content .bases-summary-label,.preview-content .bases-card-label{color:var(--color-text-muted);font-size:var(--text-ui-sm)}.preview-content .bases-meta{min-height:28px;padding:0 var(--space-3);border:1px solid color-mix(in oklab, var(--color-divider) 84%, transparent);border-radius:var(--radius-full);background:color-mix(in oklab, var(--color-surface-offset) 72%, var(--color-surface));box-shadow:inset 0 1px 0 oklch(from var(--color-text) l c h / .04);white-space:nowrap;align-items:center;display:inline-flex}.preview-content .bases-summaries{padding:var(--space-3) var(--space-4);border-top:1px solid color-mix(in oklab, var(--color-divider) 78%, transparent);border-bottom:1px solid var(--color-divider);background:var(--color-surface)}.preview-content .bases-summary{align-items:center;gap:var(--space-2);min-height:30px;padding:0 var(--space-3);border:1px solid color-mix(in oklab, var(--color-divider) 84%, transparent);background:var(--color-surface);box-shadow:inset 0 1px 0 oklch(from var(--color-text) l c h / .04);border-radius:999px;display:inline-flex}.preview-content .bases-summary-value{font-weight:600}.preview-content .bases-content{padding:var(--space-4)}.preview-content .bases-group+.bases-group{margin-top:var(--space-5)}.preview-content .bases-group-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.preview-content .bases-group-header h3{margin:0}.preview-content .bases-table-shell{border:1px solid color-mix(in oklab, var(--color-divider) 88%, transparent);border-radius:calc(var(--radius-lg) + 1px);background:var(--color-surface);box-shadow:inset 0 1px 0 oklch(from var(--color-text) l c h / .04);overflow-x:auto}.preview-content .bases-table{border-collapse:separate;border-spacing:0;width:100%;min-width:620px}.preview-content .bases-table th,.preview-content .bases-table td{padding:var(--space-3);border-bottom:1px solid var(--color-divider);text-align:left;vertical-align:top}.preview-content .bases-table th{z-index:1;background:color-mix(in oklab, var(--color-surface-offset) 72%, var(--color-surface));color:var(--color-text-muted);font-size:var(--text-ui-sm);white-space:nowrap;font-weight:600;position:sticky;top:0}.preview-content .bases-table tbody tr{transition:background var(--transition-interactive)}.preview-content .bases-table tbody tr:nth-child(2n){background:color-mix(in oklab, var(--color-surface-offset) 24%, transparent)}.preview-content .bases-table tbody tr:hover{background:color-mix(in oklab, var(--color-primary) 6%, var(--color-surface-offset))}.preview-content .bases-table tbody tr:last-child td{border-bottom:0}.preview-content .bases-list,.preview-content .bases-cards{max-width:none;margin:0;padding:0}.preview-content .bases-list{gap:var(--space-2);list-style:none;display:grid}.preview-content .bases-list-item{gap:var(--space-3);padding:var(--space-3);border:1px solid color-mix(in oklab, var(--color-divider) 88%, transparent);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:inset 0 1px 0 oklch(from var(--color-text) l c h / .04);flex-wrap:wrap;display:flex}.preview-content .bases-list-field{gap:2px;min-width:min(220px,100%);display:grid}.preview-content .bases-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.preview-content .bases-card{border:1px solid var(--color-border);border-radius:calc(var(--radius-lg) + 2px);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform var(--transition-interactive), box-shadow var(--transition-interactive), border-color var(--transition-interactive);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.preview-content .bases-card:hover{border-color:color-mix(in oklab, var(--color-border) 58%, var(--color-primary) 42%);box-shadow:var(--shadow-md);transform:translateY(-1px)}.preview-content .bases-card-media{object-fit:cover;background:color-mix(in oklab, var(--color-surface-offset) 50%, var(--color-surface));width:100%;height:140px;display:block}.preview-content .bases-card-media-color{background:var(--bases-card-swatch)}.preview-content .bases-card-body{gap:var(--space-3);padding:var(--space-4);display:grid}.preview-content .bases-card-field+.bases-card-field{padding-top:var(--space-3);border-top:1px solid color-mix(in oklab, var(--color-divider) 84%, transparent);margin-top:0}.preview-content .bases-link-button{min-height:auto;box-shadow:none;color:var(--color-primary);font-size:inherit;font-weight:600;line-height:inherit;background:0 0;border:0;border-radius:0;padding:0}.preview-content .bases-link-button:hover,.preview-content .bases-link-button:focus-visible{box-shadow:none;color:var(--color-primary);background:0 0;border-color:#0000}.preview-content .bases-value-pill{min-height:26px;padding:0 var(--space-3);border:1px solid var(--color-border);background:color-mix(in oklab, var(--color-surface-offset) 44%, var(--color-surface));box-shadow:inset 0 1px 0 oklch(from var(--color-text) l c h / .04);font-size:var(--text-ui-sm);border-radius:999px;align-items:center;display:inline-flex}.preview-content .bases-inline-image{border:1px solid color-mix(in oklab, var(--color-divider) 84%, transparent);border-radius:var(--radius-md);max-width:120px;max-height:80px;box-shadow:var(--shadow-sm);display:block}.preview-content .bases-unsupported{padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);background:color-mix(in oklab, var(--color-surface-offset) 52%, var(--color-surface))}@media (width<=900px){.preview-content .bases-toolbar-actions{justify-content:flex-start}.preview-content .bases-search-shell{max-width:none;margin-left:0}.preview-content .bases-panel-section>.bases-sort-row,.preview-content .bases-sort-list>.bases-sort-row,.preview-content .bases-filter-row{grid-template-columns:1fr}.preview-content .bases-sort-row>.ui-button,.preview-content .bases-filter-row>.ui-button{width:100%}}@media (width<=640px){.preview-content .bases-toolbar,.preview-content .bases-panels,.preview-content .bases-summaries,.preview-content .bases-content{padding-inline:var(--space-3)}.preview-content .bases-toolbar-edit-actions,.preview-content .bases-toggle-row,.preview-content .bases-filter-actions-row{width:100%}.preview-content .bases-toolbar-edit-actions{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;display:grid}.preview-content .bases-toolbar-edit-actions>.ui-button,.preview-content .bases-toggle-row>.ui-button,.preview-content .bases-filter-actions-row>.ui-button{flex:140px}.preview-content .bases-toolbar-edit-actions>.ui-button{width:100%;min-width:0}.preview-content .bases-toolbar-edit-actions>.ui-button:last-child:nth-child(odd){grid-column:1/-1}.preview-content .bases-property-option{grid-template-columns:auto minmax(0,1fr)}.preview-content .bases-property-option-meta{grid-column:2}.preview-content .bases-table{min-width:540px}}.preview-content a{color:var(--color-primary);border-bottom:1px solid oklch(from var(--color-primary) l c h / .3);transition:border-color var(--transition-interactive);text-decoration:none}.preview-content a:hover{border-bottom-color:var(--color-primary)}.preview-content strong{font-weight:600}.preview-content em{font-style:italic}.preview-content del{color:var(--color-text-muted);text-decoration:line-through}.preview-content ul,.preview-content ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}.preview-content li{margin-bottom:var(--space-1)}.preview-content li>ul,.preview-content li>ol{margin-top:var(--space-1);margin-bottom:0}.preview-content .task-list-item{list-style:none;position:relative}.preview-content .task-list-item input[type=checkbox]{top:.5em;left:calc(var(--space-5) * -1);accent-color:var(--color-primary);cursor:pointer;vertical-align:top;margin:0;position:absolute}.preview-content blockquote{margin:var(--space-4) 0;padding:var(--space-3) var(--space-5);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-surface);color:var(--color-text-muted)}.preview-content blockquote p:last-child{margin-bottom:0}.preview-content code{border-radius:var(--radius-sm);background:var(--color-surface-offset);color:var(--color-primary);font-family:var(--font-mono);padding:2px 6px;font-size:.875em}.preview-content pre{max-width:100%;margin:var(--space-4) 0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);-webkit-overflow-scrolling:touch;overflow-x:auto}.preview-content pre code{width:fit-content;min-width:100%;padding:var(--space-4);color:var(--color-text);font-size:var(--text-ui-sm);white-space:pre;word-wrap:normal;overflow-wrap:normal;background:0 0;line-height:1.6;display:block}.preview-content .table-wrapper{margin:var(--space-4) 0;border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-overflow-scrolling:touch;overflow-x:auto}.preview-content table{border-collapse:collapse;white-space:nowrap;width:100%;min-width:100%}.preview-content th,.preview-content td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-divider);text-align:left;font-size:var(--text-sm)}.preview-content th{background:var(--color-surface-offset);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;font-weight:600}.preview-content tr:last-child td{border-bottom:none}.preview-content tr:hover td{background:var(--color-surface-offset)}.preview-content hr{height:1px;margin:var(--space-8) 0;background:var(--color-divider);border:none}.preview-content img{max-width:100%;height:auto;margin:var(--space-4) 0;border-radius:var(--radius-md);cursor:zoom-in}@media (width<=768px){.preview-content .frontmatter-header{flex-flow:row;align-items:center}.preview-content .frontmatter-toggle{margin-left:auto}.preview-content .frontmatter-property{gap:var(--space-1);grid-template-columns:1fr}}[data-theme=light] .preview-content pre,[data-theme=light] .preview-content pre code,[data-theme=light] .hljs{background:var(--color-surface)!important}html[data-surface=export-document]{overscroll-behavior:auto;scrollbar-width:none;height:auto;min-height:100%;overflow:hidden}body[data-surface=export-document]{overscroll-behavior:auto;background:var(--color-bg);height:auto;color:var(--color-text);scrollbar-width:none;overflow:hidden}html[data-surface=export-document]::-webkit-scrollbar{display:none}body[data-surface=export-document]::-webkit-scrollbar{display:none}.export-page-shell{width:min(960px,100vw - 48px);margin:0 auto;padding:32px 0 72px}.export-page-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.export-page-header h1{margin-bottom:6px;font-size:28px}.export-page-header p{color:var(--color-text-muted);max-width:none}.export-warnings-panel{border:1px solid var(--border-warning-toast);background:var(--surface-warning-toast);color:var(--text-warning-toast);border-radius:12px;margin-bottom:20px;padding:14px 16px}.export-warnings-panel h2{margin-bottom:6px;font-size:14px}.export-warnings-panel ul{padding-left:20px}.export-content{border:1px solid var(--color-divider);background:var(--color-surface);box-shadow:var(--shadow-card-strong);border-radius:20px;padding:32px 40px}.export-content p,.export-content li,.export-content blockquote{max-width:none}.export-content .task-list-item input[type=checkbox]{cursor:default}.export-content .table-wrapper,.export-content .bases-table-shell,.export-content pre{overflow:visible}.export-content table{white-space:normal}.export-content pre code{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;width:auto}.export-diagram{justify-content:center;margin:18px 0 22px;display:flex}.export-diagram-surface,.export-diagram-image{border:1px solid var(--color-divider);background:var(--color-surface);border-radius:14px;max-width:100%;margin:0}.export-diagram-surface{display:inline-block;overflow:hidden}.export-diagram-image,.export-diagram-svg{width:auto;max-width:100%;height:auto;display:block}.export-video-poster{margin:18px 0 22px}.export-video-poster-card{border:1px solid var(--color-divider);background:var(--surface-fill-subtle);border-radius:14px;padding:16px 18px;overflow:hidden}.export-video-poster-media{border-bottom:1px solid var(--color-divider);background:var(--color-surface-offset);margin:-16px -18px 14px;position:relative;overflow:hidden}.export-video-poster-image{object-fit:cover;width:100%;height:auto;max-height:360px;display:block}.export-video-play-badge{background:oklch(from var(--color-surface) l c h / .86);min-width:72px;color:var(--color-text);text-align:center;box-shadow:var(--shadow-lg);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.export-video-poster-copy{flex-direction:column;gap:4px;display:flex}.export-video-poster-meta{color:var(--color-text-muted);margin-top:4px;font-size:13px;display:block}.export-video-link{word-break:break-word;margin-top:8px;display:inline-block}.export-warning{border:1px solid var(--border-warning-toast);background:var(--surface-warning-toast);color:var(--text-warning-toast);border-radius:12px;padding:12px 14px}.drawio-export-iframe{opacity:0;pointer-events:none;border:0;width:0;height:0;position:absolute}@media print{html[data-surface=export-document],body[data-surface=export-document]{background:var(--color-surface);scrollbar-width:none;height:auto;overflow:hidden!important}html[data-surface=export-document]::-webkit-scrollbar{display:none}body[data-surface=export-document]::-webkit-scrollbar{display:none}.export-content ::-webkit-scrollbar{display:none}.export-page-shell{width:auto;margin:0;padding:0}.export-page-header,.export-warnings-panel{display:none}.export-content{width:auto;box-shadow:none;border:0;border-radius:0;padding:0;overflow:visible}.export-content pre,.export-content .table-wrapper,.export-content .bases-table-shell{overflow:visible!important}.export-content pre code{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;width:auto}.export-content h1,.export-content h2,.export-content h3,.export-content h4,.export-content h5,.export-content h6{break-after:avoid-page;page-break-after:avoid}.export-content h1+*,.export-content h2+*,.export-content h3+*,.export-content h4+*,.export-content h5+*,.export-content h6+*{break-before:avoid-page;page-break-before:avoid}.export-content pre,.export-content blockquote,.export-content table,.export-content figure,.export-content img{break-inside:avoid}.export-content .export-keep-with-next{break-inside:avoid-page;page-break-inside:avoid}.export-content p,.export-content li,.export-content blockquote{orphans:3;widows:3}}