relay.app 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +23 -0
  3. data/LICENSE +17 -0
  4. data/README.md +132 -0
  5. data/app/concerns/attachment.rb +12 -0
  6. data/app/concerns/context.rb +147 -0
  7. data/app/concerns/roda.rb +50 -0
  8. data/app/concerns/view.rb +90 -0
  9. data/app/forms/mcp/forgejo.rb +55 -0
  10. data/app/forms/mcp/github.rb +47 -0
  11. data/app/forms/mcp.rb +89 -0
  12. data/app/hooks/require_user.rb +10 -0
  13. data/app/init/database.rb +36 -0
  14. data/app/init/env.rb +21 -0
  15. data/app/init/router.rb +164 -0
  16. data/app/models/context.rb +82 -0
  17. data/app/models/mcp/preset.rb +60 -0
  18. data/app/models/mcp.rb +165 -0
  19. data/app/models/model_record.rb +70 -0
  20. data/app/models/song.rb +11 -0
  21. data/app/models/user.rb +31 -0
  22. data/app/pages/base.rb +25 -0
  23. data/app/pages/chat.rb +18 -0
  24. data/app/pages/mcp.rb +12 -0
  25. data/app/pages/sign_in.rb +14 -0
  26. data/app/prompts/system.md +129 -0
  27. data/app/resources/jukebox.yml +90 -0
  28. data/app/routes/base.rb +36 -0
  29. data/app/routes/clear_attachment.rb +13 -0
  30. data/app/routes/list_chat.rb +11 -0
  31. data/app/routes/list_contexts.rb +17 -0
  32. data/app/routes/list_controls.rb +11 -0
  33. data/app/routes/list_mcp.rb +16 -0
  34. data/app/routes/list_models.rb +14 -0
  35. data/app/routes/list_providers.rb +11 -0
  36. data/app/routes/list_tools.rb +13 -0
  37. data/app/routes/mcp/base.rb +16 -0
  38. data/app/routes/mcp/create.rb +19 -0
  39. data/app/routes/mcp/delete.rb +17 -0
  40. data/app/routes/mcp/form.rb +11 -0
  41. data/app/routes/mcp/new.rb +16 -0
  42. data/app/routes/mcp/show.rb +17 -0
  43. data/app/routes/mcp/toggle.rb +17 -0
  44. data/app/routes/mcp/update.rb +20 -0
  45. data/app/routes/settings/new_context.rb +23 -0
  46. data/app/routes/settings/set_context.rb +26 -0
  47. data/app/routes/settings/set_model.rb +23 -0
  48. data/app/routes/settings/set_provider.rb +38 -0
  49. data/app/routes/sign_in.rb +39 -0
  50. data/app/routes/upload_attachment.rb +35 -0
  51. data/app/routes/websocket/connection.rb +247 -0
  52. data/app/routes/websocket/interrupt.rb +25 -0
  53. data/app/routes/websocket/stream.rb +46 -0
  54. data/app/routes/websocket.rb +62 -0
  55. data/app/tools/add_song.rb +27 -0
  56. data/app/tools/juke_box.rb +41 -0
  57. data/app/tools/relay_knowledge.rb +59 -0
  58. data/app/tools/remove_song.rb +53 -0
  59. data/app/validators/mcp.rb +42 -0
  60. data/app/views/fragments/_append_message.erb +1 -0
  61. data/app/views/fragments/_chat.erb +15 -0
  62. data/app/views/fragments/_contexts.erb +7 -0
  63. data/app/views/fragments/_contexts_body.erb +35 -0
  64. data/app/views/fragments/_controls.erb +15 -0
  65. data/app/views/fragments/_iframe.erb +8 -0
  66. data/app/views/fragments/_input.erb +67 -0
  67. data/app/views/fragments/_mcp_settings.erb +52 -0
  68. data/app/views/fragments/_message.erb +31 -0
  69. data/app/views/fragments/_models.erb +25 -0
  70. data/app/views/fragments/_providers.erb +26 -0
  71. data/app/views/fragments/_remove_empty_state.erb +1 -0
  72. data/app/views/fragments/_replace_last_message.erb +1 -0
  73. data/app/views/fragments/_sidebar_menu.erb +11 -0
  74. data/app/views/fragments/_sidebar_status.erb +21 -0
  75. data/app/views/fragments/_status.erb +40 -0
  76. data/app/views/fragments/_stream.erb +26 -0
  77. data/app/views/fragments/_tools.erb +34 -0
  78. data/app/views/fragments/_tools_panel.erb +4 -0
  79. data/app/views/fragments/mcp/_editor.erb +54 -0
  80. data/app/views/fragments/mcp/_fields_forgejo.erb +16 -0
  81. data/app/views/fragments/mcp/_fields_github.erb +12 -0
  82. data/app/views/fragments/mcp/_list.erb +55 -0
  83. data/app/views/fragments/mcp/_workspace.erb +14 -0
  84. data/app/views/fragments/models/_loading.erb +4 -0
  85. data/app/views/fragments/settings/_chat.erb +1 -0
  86. data/app/views/fragments/settings/_input.erb +1 -0
  87. data/app/views/fragments/settings/_replace_contexts.erb +1 -0
  88. data/app/views/fragments/settings/_workspace.erb +4 -0
  89. data/app/views/layout.erb +19 -0
  90. data/app/views/pages/chat.erb +13 -0
  91. data/app/views/pages/mcps.erb +10 -0
  92. data/app/views/pages/sign_in.erb +45 -0
  93. data/app/views/partials/_sidebar.erb +24 -0
  94. data/bin/relay +38 -0
  95. data/config.ru +21 -0
  96. data/db/migrate/20260319131927_create_users.rb +12 -0
  97. data/db/migrate/20260327000000_create_contexts.rb +20 -0
  98. data/db/migrate/20260426130000_create_mcps.rb +19 -0
  99. data/db/migrate/20260426170000_create_model_infos.rb +20 -0
  100. data/db/migrate/20260503120000_create_songs.rb +17 -0
  101. data/db/migrate/20260503153000_drop_chat_from_model_infos.rb +8 -0
  102. data/db/migrate/20260503160000_rename_model_infos_to_model_records.rb +5 -0
  103. data/db/seeds.rb +13 -0
  104. data/lib/relay/attachment/session.rb +154 -0
  105. data/lib/relay/attachment.rb +55 -0
  106. data/lib/relay/cache/in_memory_cache.rb +60 -0
  107. data/lib/relay/cache.rb +5 -0
  108. data/lib/relay/jukebox.rb +96 -0
  109. data/lib/relay/markdown.rb +45 -0
  110. data/lib/relay/model.rb +12 -0
  111. data/lib/relay/reloader.rb +29 -0
  112. data/lib/relay/task.rb +66 -0
  113. data/lib/relay/task_monitor.rb +80 -0
  114. data/lib/relay/test.rb +11 -0
  115. data/lib/relay/theme.rb +5 -0
  116. data/lib/relay/tool.rb +12 -0
  117. data/lib/relay/version.rb +5 -0
  118. data/lib/relay.rb +183 -0
  119. data/libexec/relay/bootstrap +10 -0
  120. data/libexec/relay/configure +100 -0
  121. data/libexec/relay/migrate +7 -0
  122. data/libexec/relay/setup +10 -0
  123. data/libexec/relay/start +31 -0
  124. data/public/.gitkeep +0 -0
  125. data/public/images/relay.png +0 -0
  126. data/public/js/relay.js +68669 -0
  127. data/public/js/relay.js.map +1 -0
  128. data/public/stylesheets/application.css +2292 -0
  129. data/public/stylesheets/application.css.map +1 -0
  130. metadata +465 -0
@@ -0,0 +1,2292 @@
1
+ /*!*************************************************************************************************************************************************************************************!*\
2
+ !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./css/application.scss ***!
3
+ \*************************************************************************************************************************************************************************************/
4
+ /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
5
+ @charset "UTF-8";
6
+ @layer properties;
7
+ :root, :host {
8
+ --font-display: Georgia, "Iowan Old Style", "Palatino Linotype", serif;
9
+ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
10
+ "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
11
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
12
+ "Courier New", monospace;
13
+ --spacing: 0.25rem;
14
+ --container-xs: 20rem;
15
+ --container-md: 28rem;
16
+ --container-2xl: 42rem;
17
+ --text-xs: 0.75rem;
18
+ --text-xs--line-height: calc(1 / 0.75);
19
+ --text-sm: 0.875rem;
20
+ --text-sm--line-height: calc(1.25 / 0.875);
21
+ --text-lg: 1.125rem;
22
+ --text-lg--line-height: calc(1.75 / 1.125);
23
+ --font-weight-medium: 500;
24
+ --font-weight-semibold: 600;
25
+ --tracking-tight: -0.025em;
26
+ --radius-sm: 0.25rem;
27
+ --radius-lg: 0.5rem;
28
+ --radius-xl: 0.75rem;
29
+ --radius-2xl: 1rem;
30
+ --radius-3xl: 1.5rem;
31
+ --blur-sm: 8px;
32
+ --default-transition-duration: 150ms;
33
+ --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
34
+ --default-font-family: var(--font-sans);
35
+ --default-mono-font-family: var(--font-mono);
36
+ }
37
+ @keyframes activity-pulse {
38
+ 0%, 100% {
39
+ transform: scale(0.92);
40
+ opacity: 0.72;
41
+ }
42
+ 50% {
43
+ transform: scale(1);
44
+ opacity: 1;
45
+ }
46
+ }
47
+ @layer base {
48
+ body {
49
+ min-height: 100vh;
50
+ -webkit-font-smoothing: antialiased;
51
+ -moz-osx-font-smoothing: grayscale;
52
+ background-color: var(--theme-bg);
53
+ color: var(--theme-text);
54
+ }
55
+ ::selection {
56
+ background-color: var(--theme-accent-soft);
57
+ color: var(--theme-text);
58
+ }
59
+ option {
60
+ background-color: var(--theme-surface);
61
+ color: var(--theme-text);
62
+ }
63
+ }
64
+ :root,
65
+ body[data-theme=dark] {
66
+ --theme-bg: #0f1115;
67
+ --theme-text: #f5f7fa;
68
+ --theme-muted: #7b8595;
69
+ --theme-panel: #181d25;
70
+ --theme-panel-border: #2a313c;
71
+ --theme-surface: #11161d;
72
+ --theme-surface-2: #0b0f14;
73
+ --theme-surface-3: #1e2530;
74
+ --theme-accent: #34d399;
75
+ --theme-accent-strong: #6ee7b7;
76
+ --theme-accent-soft: rgb(52 211 153 / 0.12);
77
+ --theme-accent-border: rgb(52 211 153 / 0.32);
78
+ --theme-link: #67e8f9;
79
+ --theme-link-hover: #a5f3fc;
80
+ --theme-warn: #fbbf24;
81
+ --theme-accent-foreground: #04130d;
82
+ --theme-placeholder: #667085;
83
+ --theme-progress-start: #34d399;
84
+ --theme-progress-end: #67e8f9;
85
+ --theme-danger-bg: #3a1518;
86
+ --theme-danger-border: #7f1d1d;
87
+ --theme-danger-text: #fecaca;
88
+ --theme-success-bg: #113127;
89
+ --theme-success-border: #1f6b52;
90
+ --theme-success-text: #d1fae5;
91
+ --theme-toggle-off-bg: #202632;
92
+ --theme-toggle-off-border: #3d4656;
93
+ --theme-toggle-off-text: #c6d0e1;
94
+ --theme-embed-bg: #05070b;
95
+ }
96
+ @layer components {
97
+ .assistant-content {
98
+ max-width: none;
99
+ --tw-leading: calc(var(--spacing) * 7);
100
+ line-height: calc(var(--spacing) * 7);
101
+ white-space: normal;
102
+ }
103
+ .assistant-content p {
104
+ margin-block: calc(var(--spacing) * 4);
105
+ }
106
+ .assistant-content p:first-child {
107
+ margin-top: calc(var(--spacing) * 0);
108
+ }
109
+ .assistant-content p:last-child {
110
+ margin-bottom: calc(var(--spacing) * 0);
111
+ }
112
+ .assistant-content a {
113
+ --tw-font-weight: var(--font-weight-medium);
114
+ font-weight: var(--font-weight-medium);
115
+ text-decoration-line: underline;
116
+ text-underline-offset: 3px;
117
+ color: var(--theme-link);
118
+ text-decoration-color: var(--theme-link);
119
+ }
120
+ .assistant-content a:hover {
121
+ color: var(--theme-link-hover);
122
+ text-decoration-color: var(--theme-link-hover);
123
+ }
124
+ .assistant-content ul {
125
+ margin-block: calc(var(--spacing) * 4);
126
+ list-style-type: disc;
127
+ padding-left: calc(var(--spacing) * 6);
128
+ }
129
+ .assistant-content ol {
130
+ margin-block: calc(var(--spacing) * 4);
131
+ list-style-type: decimal;
132
+ padding-left: calc(var(--spacing) * 6);
133
+ }
134
+ .assistant-content li {
135
+ margin-block: calc(var(--spacing) * 1.5);
136
+ }
137
+ .assistant-content pre {
138
+ margin-block: calc(var(--spacing) * 4);
139
+ overflow-x: auto;
140
+ border-radius: var(--radius-2xl);
141
+ border-style: var(--tw-border-style);
142
+ border-width: 1px;
143
+ padding: calc(var(--spacing) * 3);
144
+ border-color: var(--theme-panel-border);
145
+ background-color: var(--theme-surface-2);
146
+ }
147
+ .assistant-content pre code.hljs {
148
+ display: block;
149
+ border-radius: var(--radius-xl);
150
+ padding: calc(var(--spacing) * 0);
151
+ font-size: 13px;
152
+ --tw-leading: calc(var(--spacing) * 6);
153
+ line-height: calc(var(--spacing) * 6);
154
+ background-color: var(--theme-surface-2);
155
+ color: var(--theme-text);
156
+ }
157
+ .assistant-content code {
158
+ font-family: var(--font-mono);
159
+ }
160
+ .assistant-content .hljs-keyword,
161
+ .assistant-content .hljs-selector-tag,
162
+ .assistant-content .hljs-title,
163
+ .assistant-content .hljs-section,
164
+ .assistant-content .hljs-built_in,
165
+ .assistant-content .hljs-type {
166
+ color: var(--theme-link);
167
+ }
168
+ .assistant-content .hljs-string,
169
+ .assistant-content .hljs-attr,
170
+ .assistant-content .hljs-template-tag,
171
+ .assistant-content .hljs-template-variable {
172
+ color: var(--theme-accent-strong);
173
+ }
174
+ .assistant-content .hljs-number,
175
+ .assistant-content .hljs-literal,
176
+ .assistant-content .hljs-symbol,
177
+ .assistant-content .hljs-bullet {
178
+ color: var(--theme-warn);
179
+ }
180
+ .assistant-content .hljs-comment,
181
+ .assistant-content .hljs-quote {
182
+ font-style: italic;
183
+ color: var(--theme-muted);
184
+ }
185
+ .assistant-content blockquote {
186
+ margin-block: calc(var(--spacing) * 4);
187
+ border-left-style: var(--tw-border-style);
188
+ border-left-width: 4px;
189
+ padding-left: calc(var(--spacing) * 4);
190
+ border-color: var(--theme-accent-border);
191
+ color: var(--theme-text);
192
+ }
193
+ .assistant-content img {
194
+ margin-top: calc(var(--spacing) * 2);
195
+ height: auto;
196
+ max-height: 32rem;
197
+ width: 100%;
198
+ max-width: var(--container-2xl);
199
+ border-radius: var(--radius-2xl);
200
+ object-fit: contain;
201
+ }
202
+ .label {
203
+ display: block;
204
+ font-size: 11px;
205
+ --tw-font-weight: var(--font-weight-semibold);
206
+ font-weight: var(--font-weight-semibold);
207
+ --tw-tracking: 0.18em;
208
+ letter-spacing: 0.18em;
209
+ text-transform: uppercase;
210
+ color: var(--theme-accent);
211
+ @supports (color: color-mix(in lab, red, red)) {
212
+ color: color-mix(in srgb, var(--theme-accent) 80%, white 10%);
213
+ }
214
+ }
215
+ .section-kicker {
216
+ font-size: 11px;
217
+ --tw-font-weight: var(--font-weight-semibold);
218
+ font-weight: var(--font-weight-semibold);
219
+ --tw-tracking: 0.18em;
220
+ letter-spacing: 0.18em;
221
+ text-transform: uppercase;
222
+ color: var(--theme-accent);
223
+ @supports (color: color-mix(in lab, red, red)) {
224
+ color: color-mix(in srgb, var(--theme-accent) 78%, white 10%);
225
+ }
226
+ }
227
+ .theme-accent {
228
+ color: var(--theme-accent);
229
+ @supports (color: color-mix(in lab, red, red)) {
230
+ color: color-mix(in srgb, var(--theme-accent) 80%, white 10%);
231
+ }
232
+ }
233
+ .theme-divider {
234
+ height: 1px;
235
+ background-color: var(--theme-panel-border);
236
+ }
237
+ .theme-strong {
238
+ color: var(--theme-text);
239
+ }
240
+ .theme-muted {
241
+ color: var(--theme-muted);
242
+ }
243
+ }
244
+ @layer components {
245
+ .activity-indicator {
246
+ pointer-events: none;
247
+ position: fixed;
248
+ top: calc(var(--spacing) * 4);
249
+ right: calc(var(--spacing) * 4);
250
+ z-index: 60;
251
+ display: none;
252
+ align-items: center;
253
+ gap: calc(var(--spacing) * 2);
254
+ border-radius: calc(infinity * 1px);
255
+ border-style: var(--tw-border-style);
256
+ border-width: 1px;
257
+ padding-inline: calc(var(--spacing) * 3);
258
+ padding-block: calc(var(--spacing) * 1.5);
259
+ font-size: var(--text-xs);
260
+ line-height: var(--tw-leading, var(--text-xs--line-height));
261
+ --tw-font-weight: var(--font-weight-medium);
262
+ font-weight: var(--font-weight-medium);
263
+ --tw-backdrop-blur: blur(var(--blur-sm));
264
+ -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
265
+ backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
266
+ border-color: var(--theme-accent-border);
267
+ background-color: var(--theme-panel);
268
+ @supports (color: color-mix(in lab, red, red)) {
269
+ background-color: color-mix(in srgb, var(--theme-panel) 88%, transparent);
270
+ }
271
+ color: var(--theme-text);
272
+ }
273
+ .activity-indicator.is-active {
274
+ display: flex;
275
+ }
276
+ .activity-indicator__dot {
277
+ height: calc(var(--spacing) * 2);
278
+ width: calc(var(--spacing) * 2);
279
+ border-radius: calc(infinity * 1px);
280
+ background-color: var(--theme-accent);
281
+ animation: activity-pulse 1.2s ease-in-out infinite;
282
+ }
283
+ .activity-bar {
284
+ pointer-events: none;
285
+ position: fixed;
286
+ top: calc(var(--spacing) * 0);
287
+ left: calc(var(--spacing) * 0);
288
+ z-index: 70;
289
+ height: calc(var(--spacing) * 0.5);
290
+ width: 100%;
291
+ transform-origin: 0;
292
+ --tw-scale-x: 0%;
293
+ scale: var(--tw-scale-x) var(--tw-scale-y);
294
+ opacity: 0%;
295
+ background: linear-gradient(90deg, var(--theme-accent), var(--theme-link));
296
+ transition: opacity 140ms ease, transform 180ms ease;
297
+ }
298
+ .activity-bar.is-active {
299
+ --tw-scale-x: 100%;
300
+ scale: var(--tw-scale-x) var(--tw-scale-y);
301
+ opacity: 100%;
302
+ }
303
+ }
304
+ @layer components {
305
+ .auth-shell {
306
+ background-color: var(--theme-bg);
307
+ }
308
+ .auth-panel {
309
+ border-radius: 2rem;
310
+ border-style: var(--tw-border-style);
311
+ border-width: 1px;
312
+ border-color: var(--theme-panel-border);
313
+ @supports (color: color-mix(in lab, red, red)) {
314
+ border-color: color-mix(in srgb, var(--theme-panel-border) 88%, black 10%);
315
+ }
316
+ background-color: var(--theme-panel);
317
+ @supports (color: color-mix(in lab, red, red)) {
318
+ background-color: color-mix(in srgb, var(--theme-panel) 94%, var(--theme-surface-2) 6%);
319
+ }
320
+ }
321
+ .auth-field {
322
+ border-radius: var(--radius-2xl);
323
+ padding-inline: calc(var(--spacing) * 4);
324
+ padding-block: calc(var(--spacing) * 3.5);
325
+ background-color: var(--theme-surface);
326
+ @supports (color: color-mix(in lab, red, red)) {
327
+ background-color: color-mix(in srgb, var(--theme-surface) 92%, black 8%);
328
+ }
329
+ }
330
+ .auth-button {
331
+ width: 100%;
332
+ border-radius: var(--radius-2xl);
333
+ padding-inline: calc(var(--spacing) * 4);
334
+ padding-block: calc(var(--spacing) * 3);
335
+ font-size: var(--text-sm);
336
+ line-height: var(--tw-leading, var(--text-sm--line-height));
337
+ --tw-font-weight: var(--font-weight-semibold);
338
+ font-weight: var(--font-weight-semibold);
339
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
340
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
341
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
342
+ background-color: var(--theme-accent);
343
+ color: var(--theme-accent-foreground);
344
+ }
345
+ .auth-button:hover {
346
+ filter: brightness(1.08);
347
+ }
348
+ }
349
+ @layer components {
350
+ .app-shell {
351
+ background-color: var(--theme-bg);
352
+ color: var(--theme-text);
353
+ }
354
+ .panel {
355
+ border-radius: var(--radius-3xl);
356
+ border-style: var(--tw-border-style);
357
+ border-width: 1px;
358
+ --tw-backdrop-blur: blur(var(--blur-sm));
359
+ -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
360
+ backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
361
+ border-color: var(--theme-panel-border);
362
+ background-color: var(--theme-panel);
363
+ }
364
+ .workspace-frame {
365
+ box-sizing: border-box;
366
+ max-width: 100%;
367
+ }
368
+ .workspace-chat {
369
+ min-height: calc(var(--spacing) * 0);
370
+ min-width: calc(var(--spacing) * 0);
371
+ flex: 1;
372
+ }
373
+ .chat-surface {
374
+ display: flex;
375
+ height: 100%;
376
+ min-height: calc(var(--spacing) * 0);
377
+ flex-direction: column;
378
+ overflow: hidden;
379
+ border-radius: 1.5rem;
380
+ border-style: var(--tw-border-style);
381
+ border-width: 1px;
382
+ border-color: var(--theme-panel-border);
383
+ @supports (color: color-mix(in lab, red, red)) {
384
+ border-color: color-mix(in srgb, var(--theme-panel-border) 88%, black 12%);
385
+ }
386
+ background-color: var(--theme-panel);
387
+ @supports (color: color-mix(in lab, red, red)) {
388
+ background-color: color-mix(in srgb, var(--theme-panel) 96%, transparent);
389
+ }
390
+ }
391
+ .chat-meta {
392
+ display: flex;
393
+ align-items: center;
394
+ justify-content: space-between;
395
+ gap: calc(var(--spacing) * 3);
396
+ border-bottom-style: var(--tw-border-style);
397
+ border-bottom-width: 1px;
398
+ padding-inline: calc(var(--spacing) * 5);
399
+ padding-block: calc(var(--spacing) * 4);
400
+ border-color: var(--theme-panel-border);
401
+ @supports (color: color-mix(in lab, red, red)) {
402
+ border-color: color-mix(in srgb, var(--theme-panel-border) 82%, transparent);
403
+ }
404
+ background-color: var(--theme-panel);
405
+ @supports (color: color-mix(in lab, red, red)) {
406
+ background-color: color-mix(in srgb, var(--theme-panel) 88%, transparent);
407
+ }
408
+ }
409
+ .chat-meta-badge {
410
+ display: inline-flex;
411
+ align-items: center;
412
+ border-radius: calc(infinity * 1px);
413
+ border-style: var(--tw-border-style);
414
+ border-width: 1px;
415
+ padding-inline: calc(var(--spacing) * 3);
416
+ padding-block: calc(var(--spacing) * 1);
417
+ font-size: 11px;
418
+ --tw-font-weight: var(--font-weight-semibold);
419
+ font-weight: var(--font-weight-semibold);
420
+ --tw-tracking: 0.16em;
421
+ letter-spacing: 0.16em;
422
+ text-transform: uppercase;
423
+ border-color: var(--theme-accent-border);
424
+ background-color: var(--theme-accent-soft);
425
+ color: var(--theme-accent);
426
+ @supports (color: color-mix(in lab, red, red)) {
427
+ color: color-mix(in srgb, var(--theme-accent) 78%, white 12%);
428
+ }
429
+ }
430
+ .chat-footer {
431
+ padding-inline: calc(var(--spacing) * 5);
432
+ padding-block: calc(var(--spacing) * 4);
433
+ border-top: 0;
434
+ background-color: transparent;
435
+ }
436
+ .chat-stream {
437
+ min-height: calc(var(--spacing) * 0);
438
+ flex: 1;
439
+ padding-inline: calc(var(--spacing) * 5);
440
+ padding-block: calc(var(--spacing) * 5);
441
+ font-size: 15px;
442
+ --tw-leading: calc(var(--spacing) * 7);
443
+ line-height: calc(var(--spacing) * 7);
444
+ background-color: transparent;
445
+ color: var(--theme-text);
446
+ }
447
+ .chat-bubble-user {
448
+ border-radius: var(--radius-2xl);
449
+ border-style: var(--tw-border-style);
450
+ border-width: 1px;
451
+ padding-inline: calc(var(--spacing) * 4);
452
+ padding-block: calc(var(--spacing) * 3);
453
+ --tw-leading: calc(var(--spacing) * 7);
454
+ line-height: calc(var(--spacing) * 7);
455
+ border-color: var(--theme-accent-border);
456
+ background-color: var(--theme-accent-soft);
457
+ color: var(--theme-text);
458
+ }
459
+ .chat-bubble-assistant {
460
+ border-radius: var(--radius-2xl);
461
+ border-style: var(--tw-border-style);
462
+ border-width: 1px;
463
+ padding-inline: calc(var(--spacing) * 4);
464
+ padding-block: calc(var(--spacing) * 3);
465
+ --tw-leading: calc(var(--spacing) * 7);
466
+ line-height: calc(var(--spacing) * 7);
467
+ border-color: var(--theme-panel-border);
468
+ background-color: var(--theme-panel);
469
+ color: var(--theme-text);
470
+ }
471
+ .chat-empty-state {
472
+ border-radius: 1.75rem;
473
+ border-style: var(--tw-border-style);
474
+ border-width: 1px;
475
+ padding-inline: calc(var(--spacing) * 5);
476
+ padding-block: calc(var(--spacing) * 5);
477
+ font-size: var(--text-sm);
478
+ line-height: var(--tw-leading, var(--text-sm--line-height));
479
+ --tw-leading: calc(var(--spacing) * 7);
480
+ line-height: calc(var(--spacing) * 7);
481
+ border-color: var(--theme-panel-border);
482
+ background-color: var(--theme-panel);
483
+ @supports (color: color-mix(in lab, red, red)) {
484
+ background-color: color-mix(in srgb, var(--theme-panel) 92%, transparent);
485
+ }
486
+ box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
487
+ }
488
+ .message-avatar {
489
+ display: flex;
490
+ height: calc(var(--spacing) * 8);
491
+ width: calc(var(--spacing) * 8);
492
+ flex-shrink: 0;
493
+ align-items: center;
494
+ justify-content: center;
495
+ border-radius: calc(infinity * 1px);
496
+ font-size: var(--text-xs);
497
+ line-height: var(--tw-leading, var(--text-xs--line-height));
498
+ --tw-font-weight: var(--font-weight-semibold);
499
+ font-weight: var(--font-weight-semibold);
500
+ background-color: var(--theme-accent-soft);
501
+ @supports (color: color-mix(in lab, red, red)) {
502
+ background-color: color-mix(in srgb, var(--theme-accent-soft) 72%, transparent);
503
+ }
504
+ color: var(--theme-text);
505
+ }
506
+ .message-row {
507
+ margin-top: calc(var(--spacing) * 3);
508
+ display: flex;
509
+ gap: calc(var(--spacing) * 3);
510
+ &:first-child {
511
+ margin-top: calc(var(--spacing) * 0);
512
+ }
513
+ }
514
+ .message-stack {
515
+ min-width: calc(var(--spacing) * 0);
516
+ }
517
+ .message-label {
518
+ margin-bottom: calc(var(--spacing) * 1);
519
+ font-size: var(--text-xs);
520
+ line-height: var(--tw-leading, var(--text-xs--line-height));
521
+ --tw-font-weight: var(--font-weight-medium);
522
+ font-weight: var(--font-weight-medium);
523
+ color: var(--theme-muted);
524
+ }
525
+ @media (max-width: 1400px), (max-height: 820px) {
526
+ .workspace-frame {
527
+ gap: calc(var(--spacing) * 3);
528
+ padding-inline: calc(var(--spacing) * 3);
529
+ padding-block: calc(var(--spacing) * 3.5);
530
+ }
531
+ .chat-surface {
532
+ border-radius: 1.35rem;
533
+ }
534
+ .chat-meta {
535
+ padding-inline: calc(var(--spacing) * 4);
536
+ padding-block: calc(var(--spacing) * 3);
537
+ }
538
+ .chat-stream {
539
+ padding-inline: calc(var(--spacing) * 4);
540
+ padding-block: calc(var(--spacing) * 4);
541
+ font-size: 14px;
542
+ --tw-leading: calc(var(--spacing) * 6);
543
+ line-height: calc(var(--spacing) * 6);
544
+ }
545
+ .chat-footer {
546
+ padding-inline: calc(var(--spacing) * 4);
547
+ padding-block: calc(var(--spacing) * 3);
548
+ }
549
+ .message-row {
550
+ margin-top: calc(var(--spacing) * 2.5);
551
+ gap: calc(var(--spacing) * 2.5);
552
+ }
553
+ .message-avatar {
554
+ height: calc(var(--spacing) * 8);
555
+ width: calc(var(--spacing) * 8);
556
+ font-size: 11px;
557
+ }
558
+ }
559
+ }
560
+ @layer components {
561
+ .upload-indicator {
562
+ display: none;
563
+ color: var(--theme-muted);
564
+ }
565
+ .upload-indicator.is-active {
566
+ display: block;
567
+ }
568
+ .composer-input {
569
+ max-height: calc(var(--spacing) * 60);
570
+ min-height: calc(var(--spacing) * 14);
571
+ flex: 1;
572
+ resize: none;
573
+ overflow-y: auto;
574
+ border-radius: var(--radius-2xl);
575
+ border-style: var(--tw-border-style);
576
+ border-width: 1px;
577
+ padding-inline: calc(var(--spacing) * 4);
578
+ padding-block: calc(var(--spacing) * 3);
579
+ font-size: 15px;
580
+ --tw-outline-style: none;
581
+ outline-style: none;
582
+ &:focus {
583
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
584
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
585
+ }
586
+ border-color: var(--theme-panel-border);
587
+ background-color: var(--theme-surface-3);
588
+ color: var(--theme-text);
589
+ --tw-ring-color: var(--theme-accent);
590
+ @supports (color: color-mix(in lab, red, red)) {
591
+ --tw-ring-color: color-mix(in srgb, var(--theme-accent) 12%, transparent);
592
+ }
593
+ }
594
+ .composer-input::placeholder {
595
+ color: var(--theme-placeholder);
596
+ }
597
+ .composer-submit {
598
+ min-width: calc(var(--spacing) * 24);
599
+ flex-shrink: 0;
600
+ border-radius: calc(infinity * 1px);
601
+ padding-inline: calc(var(--spacing) * 4);
602
+ padding-block: calc(var(--spacing) * 3);
603
+ font-size: var(--text-sm);
604
+ line-height: var(--tw-leading, var(--text-sm--line-height));
605
+ --tw-font-weight: var(--font-weight-semibold);
606
+ font-weight: var(--font-weight-semibold);
607
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
608
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
609
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
610
+ &:focus {
611
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
612
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
613
+ }
614
+ &:focus {
615
+ --tw-outline-style: none;
616
+ outline-style: none;
617
+ }
618
+ background-color: var(--theme-panel);
619
+ color: var(--theme-text);
620
+ --tw-ring-color: var(--theme-accent);
621
+ @supports (color: color-mix(in lab, red, red)) {
622
+ --tw-ring-color: color-mix(in srgb, var(--theme-accent) 12%, transparent);
623
+ }
624
+ }
625
+ .composer-submit:hover {
626
+ background-color: var(--theme-surface-3);
627
+ }
628
+ .button-subtle {
629
+ border: 1px solid var(--theme-panel-border);
630
+ background-color: var(--theme-panel);
631
+ @supports (color: color-mix(in lab, red, red)) {
632
+ background-color: color-mix(in srgb, var(--theme-panel) 82%, transparent);
633
+ }
634
+ }
635
+ .button-subtle:hover {
636
+ background-color: var(--theme-surface-3);
637
+ @supports (color: color-mix(in lab, red, red)) {
638
+ background-color: color-mix(in srgb, var(--theme-surface-3) 72%, transparent);
639
+ }
640
+ }
641
+ .button-primary {
642
+ background-color: var(--theme-accent);
643
+ color: var(--theme-accent-foreground);
644
+ }
645
+ .button-primary:hover {
646
+ filter: brightness(1.05);
647
+ }
648
+ @media (max-width: 1400px), (max-height: 820px) {
649
+ .composer-input {
650
+ min-height: calc(var(--spacing) * 12);
651
+ padding-inline: calc(var(--spacing) * 3.5);
652
+ padding-block: calc(var(--spacing) * 2.5);
653
+ font-size: 14px;
654
+ }
655
+ .composer-submit {
656
+ min-width: calc(var(--spacing) * 20);
657
+ padding-inline: calc(var(--spacing) * 3.5);
658
+ padding-block: calc(var(--spacing) * 2.5);
659
+ font-size: 13px;
660
+ }
661
+ }
662
+ }
663
+ @layer components {
664
+ .field {
665
+ width: 100%;
666
+ border-radius: var(--radius-2xl);
667
+ border-style: var(--tw-border-style);
668
+ border-width: 1px;
669
+ padding-inline: calc(var(--spacing) * 3);
670
+ padding-block: calc(var(--spacing) * 3);
671
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
672
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
673
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
674
+ --tw-outline-style: none;
675
+ outline-style: none;
676
+ &:focus {
677
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
678
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
679
+ }
680
+ border-color: var(--theme-panel-border);
681
+ background-color: var(--theme-surface);
682
+ color: var(--theme-text);
683
+ --tw-ring-color: var(--theme-accent);
684
+ @supports (color: color-mix(in lab, red, red)) {
685
+ --tw-ring-color: color-mix(in srgb, var(--theme-accent) 12%, transparent);
686
+ }
687
+ }
688
+ .select-field {
689
+ width: 100%;
690
+ appearance: none;
691
+ border-bottom-style: var(--tw-border-style);
692
+ border-bottom-width: 1px;
693
+ background-color: transparent;
694
+ padding-block: calc(var(--spacing) * 1);
695
+ padding-right: calc(var(--spacing) * 8);
696
+ padding-left: calc(var(--spacing) * 0);
697
+ --tw-font-weight: var(--font-weight-medium);
698
+ font-weight: var(--font-weight-medium);
699
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
700
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
701
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
702
+ --tw-outline-style: none;
703
+ outline-style: none;
704
+ border-color: var(--theme-panel-border);
705
+ color: var(--theme-text);
706
+ background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27 fill=%27none%27%3E%3Cpath d=%27M6 8l4 4 4-4%27 stroke=%27%2394a3b8%27 stroke-width=%271.75%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
707
+ background-position: right 0.1rem center;
708
+ background-repeat: no-repeat;
709
+ background-size: 1rem 1rem;
710
+ }
711
+ .select-field:hover {
712
+ color: var(--theme-text);
713
+ }
714
+ .tooltip {
715
+ font-size: var(--text-xs);
716
+ line-height: var(--tw-leading, var(--text-xs--line-height));
717
+ --tw-leading: calc(var(--spacing) * 5);
718
+ line-height: calc(var(--spacing) * 5);
719
+ color: var(--theme-text);
720
+ }
721
+ .detail-button {
722
+ border-radius: calc(infinity * 1px);
723
+ border-style: var(--tw-border-style);
724
+ border-width: 1px;
725
+ padding-inline: calc(var(--spacing) * 2);
726
+ padding-block: calc(var(--spacing) * 0.5);
727
+ font-size: 10px;
728
+ --tw-font-weight: var(--font-weight-medium);
729
+ font-weight: var(--font-weight-medium);
730
+ --tw-tracking: 0.14em;
731
+ letter-spacing: 0.14em;
732
+ text-transform: uppercase;
733
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
734
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
735
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
736
+ &:focus {
737
+ --tw-outline-style: none;
738
+ outline-style: none;
739
+ }
740
+ border-color: var(--theme-panel-border);
741
+ background-color: var(--theme-panel);
742
+ color: var(--theme-accent-strong);
743
+ }
744
+ .detail-button:hover, .detail-button:focus {
745
+ border-color: var(--theme-accent-border);
746
+ background-color: var(--theme-surface-3);
747
+ color: var(--theme-accent-strong);
748
+ }
749
+ }
750
+ @layer components {
751
+ .media-body {
752
+ font-size: var(--text-sm);
753
+ line-height: var(--tw-leading, var(--text-sm--line-height));
754
+ background-color: var(--theme-surface-2);
755
+ color: var(--theme-muted);
756
+ }
757
+ .playing-notice {
758
+ margin-block: calc(var(--spacing) * 3);
759
+ border-radius: var(--radius-2xl);
760
+ border-style: var(--tw-border-style);
761
+ border-width: 1px;
762
+ padding-inline: calc(var(--spacing) * 4);
763
+ padding-block: calc(var(--spacing) * 3);
764
+ font-size: var(--text-sm);
765
+ line-height: var(--tw-leading, var(--text-sm--line-height));
766
+ --tw-font-weight: var(--font-weight-medium);
767
+ font-weight: var(--font-weight-medium);
768
+ border-color: var(--theme-accent-border);
769
+ background-color: var(--theme-accent-soft);
770
+ color: var(--theme-text);
771
+ }
772
+ }
773
+ @layer components {
774
+ .mcp-workspace-body {
775
+ display: grid;
776
+ min-height: calc(var(--spacing) * 0);
777
+ flex: 1;
778
+ gap: calc(var(--spacing) * 4);
779
+ padding-inline: calc(var(--spacing) * 5);
780
+ padding-block: calc(var(--spacing) * 5);
781
+ @media (width >= 64rem) {
782
+ grid-template-columns: minmax(0,1.2fr) 18rem;
783
+ }
784
+ }
785
+ .mcp-pane {
786
+ border-color: var(--theme-panel-border);
787
+ }
788
+ .mcp-helper-copy {
789
+ border-radius: var(--radius-2xl);
790
+ border-style: var(--tw-border-style);
791
+ border-width: 1px;
792
+ padding-inline: calc(var(--spacing) * 4);
793
+ padding-block: calc(var(--spacing) * 4);
794
+ border-color: var(--theme-panel-border);
795
+ background-color: var(--theme-panel);
796
+ @supports (color: color-mix(in lab, red, red)) {
797
+ background-color: color-mix(in srgb, var(--theme-panel) 92%, transparent);
798
+ }
799
+ }
800
+ #mcp-settings {
801
+ min-height: calc(var(--spacing) * 0);
802
+ }
803
+ .mcp-settings-list {
804
+ min-height: calc(var(--spacing) * 0);
805
+ border-radius: var(--radius-2xl);
806
+ border-style: var(--tw-border-style);
807
+ border-width: 1px;
808
+ padding: calc(var(--spacing) * 1);
809
+ max-height: 8.75rem;
810
+ border-color: var(--theme-panel-border);
811
+ @supports (color: color-mix(in lab, red, red)) {
812
+ border-color: color-mix(in srgb, var(--theme-panel-border) 64%, transparent);
813
+ }
814
+ background-color: var(--theme-surface);
815
+ @supports (color: color-mix(in lab, red, red)) {
816
+ background-color: color-mix(in srgb, var(--theme-surface) 30%, transparent);
817
+ }
818
+ }
819
+ #mcp-settings .sidebar-list-item {
820
+ padding-top: 0.55rem;
821
+ padding-bottom: 0.55rem;
822
+ padding-left: 0.7rem;
823
+ padding-right: 0.7rem;
824
+ }
825
+ .mcp-transport-grid {
826
+ display: grid;
827
+ gap: calc(var(--spacing) * 2);
828
+ @media (width >= 40rem) {
829
+ grid-template-columns: repeat(2, minmax(0, 1fr));
830
+ }
831
+ }
832
+ .mcp-transport-option {
833
+ display: block;
834
+ cursor: pointer;
835
+ border-radius: var(--radius-sm);
836
+ border-style: var(--tw-border-style);
837
+ border-width: 1px;
838
+ padding-inline: calc(var(--spacing) * 3);
839
+ padding-block: calc(var(--spacing) * 2);
840
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
841
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
842
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
843
+ border-color: var(--theme-accent);
844
+ @supports (color: color-mix(in lab, red, red)) {
845
+ border-color: color-mix(in srgb, var(--theme-accent) 34%, var(--theme-panel-border) 66%);
846
+ }
847
+ background-color: transparent;
848
+ }
849
+ .mcp-transport-option:hover {
850
+ border-color: var(--theme-accent);
851
+ @supports (color: color-mix(in lab, red, red)) {
852
+ border-color: color-mix(in srgb, var(--theme-accent) 62%, var(--theme-panel-border) 38%);
853
+ }
854
+ background-color: var(--theme-accent-soft);
855
+ @supports (color: color-mix(in lab, red, red)) {
856
+ background-color: color-mix(in srgb, var(--theme-accent-soft) 35%, transparent);
857
+ }
858
+ }
859
+ .mcp-transport-option.is-active {
860
+ border-color: var(--theme-accent);
861
+ @supports (color: color-mix(in lab, red, red)) {
862
+ border-color: color-mix(in srgb, var(--theme-accent) 78%, white 6%);
863
+ }
864
+ background-color: var(--theme-accent-soft);
865
+ @supports (color: color-mix(in lab, red, red)) {
866
+ background-color: color-mix(in srgb, var(--theme-accent-soft) 58%, transparent);
867
+ }
868
+ box-shadow: inset 0 0 0 1px rgba(52, 211, 153, 0.24);
869
+ }
870
+ .mcp-transport-copy {
871
+ display: flex;
872
+ flex-direction: column;
873
+ gap: calc(var(--spacing) * 1);
874
+ }
875
+ .mcp-transport-title {
876
+ font-size: var(--text-xs);
877
+ line-height: var(--tw-leading, var(--text-xs--line-height));
878
+ --tw-font-weight: var(--font-weight-semibold);
879
+ font-weight: var(--font-weight-semibold);
880
+ --tw-tracking: 0.2em;
881
+ letter-spacing: 0.2em;
882
+ text-transform: uppercase;
883
+ color: var(--theme-accent-strong);
884
+ @supports (color: color-mix(in lab, red, red)) {
885
+ color: color-mix(in srgb, var(--theme-accent-strong) 92%, white 8%);
886
+ }
887
+ }
888
+ .mcp-transport-hint {
889
+ font-size: 11px;
890
+ --tw-leading: calc(var(--spacing) * 4);
891
+ line-height: calc(var(--spacing) * 4);
892
+ color: var(--theme-muted);
893
+ }
894
+ .mcp-nav-link {
895
+ border-radius: var(--radius-sm);
896
+ border-style: var(--tw-border-style);
897
+ border-width: 1px;
898
+ padding-inline: calc(var(--spacing) * 3);
899
+ padding-block: calc(var(--spacing) * 1.5);
900
+ font-size: var(--text-xs);
901
+ line-height: var(--tw-leading, var(--text-xs--line-height));
902
+ --tw-font-weight: var(--font-weight-semibold);
903
+ font-weight: var(--font-weight-semibold);
904
+ --tw-tracking: 0.18em;
905
+ letter-spacing: 0.18em;
906
+ text-transform: uppercase;
907
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
908
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
909
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
910
+ border-color: var(--theme-accent);
911
+ @supports (color: color-mix(in lab, red, red)) {
912
+ border-color: color-mix(in srgb, var(--theme-accent) 50%, var(--theme-panel-border) 50%);
913
+ }
914
+ background-color: transparent;
915
+ color: var(--theme-accent-strong);
916
+ @supports (color: color-mix(in lab, red, red)) {
917
+ color: color-mix(in srgb, var(--theme-accent-strong) 90%, white 10%);
918
+ }
919
+ }
920
+ .mcp-nav-link:hover {
921
+ background-color: var(--theme-accent-soft);
922
+ @supports (color: color-mix(in lab, red, red)) {
923
+ background-color: color-mix(in srgb, var(--theme-accent-soft) 35%, transparent);
924
+ }
925
+ }
926
+ .mcp-card {
927
+ border-radius: var(--radius-sm);
928
+ border-style: var(--tw-border-style);
929
+ border-width: 1px;
930
+ padding-inline: calc(var(--spacing) * 2.5);
931
+ padding-block: calc(var(--spacing) * 2);
932
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
933
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
934
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
935
+ border-color: var(--theme-accent);
936
+ @supports (color: color-mix(in lab, red, red)) {
937
+ border-color: color-mix(in srgb, var(--theme-accent) 28%, var(--theme-panel-border) 72%);
938
+ }
939
+ background-color: transparent;
940
+ color: var(--theme-text);
941
+ }
942
+ .mcp-card:hover {
943
+ border-color: var(--theme-accent);
944
+ @supports (color: color-mix(in lab, red, red)) {
945
+ border-color: color-mix(in srgb, var(--theme-accent) 56%, var(--theme-panel-border) 44%);
946
+ }
947
+ background-color: var(--theme-accent-soft);
948
+ @supports (color: color-mix(in lab, red, red)) {
949
+ background-color: color-mix(in srgb, var(--theme-accent-soft) 26%, transparent);
950
+ }
951
+ }
952
+ .mcp-card.is-active {
953
+ border-color: var(--theme-accent);
954
+ @supports (color: color-mix(in lab, red, red)) {
955
+ border-color: color-mix(in srgb, var(--theme-accent) 78%, white 6%);
956
+ }
957
+ background-color: var(--theme-accent-soft);
958
+ @supports (color: color-mix(in lab, red, red)) {
959
+ background-color: color-mix(in srgb, var(--theme-accent-soft) 44%, transparent);
960
+ }
961
+ box-shadow: inset 0 0 0 1px rgba(52, 211, 153, 0.2);
962
+ }
963
+ .mcp-card-status {
964
+ flex-shrink: 0;
965
+ border-radius: var(--radius-sm);
966
+ border-style: var(--tw-border-style);
967
+ border-width: 1px;
968
+ padding-inline: calc(var(--spacing) * 1.5);
969
+ padding-block: calc(var(--spacing) * 0.5);
970
+ font-size: 9px;
971
+ --tw-font-weight: var(--font-weight-semibold);
972
+ font-weight: var(--font-weight-semibold);
973
+ --tw-tracking: 0.2em;
974
+ letter-spacing: 0.2em;
975
+ text-transform: uppercase;
976
+ border-color: var(--theme-accent);
977
+ @supports (color: color-mix(in lab, red, red)) {
978
+ border-color: color-mix(in srgb, var(--theme-accent) 46%, var(--theme-panel-border) 54%);
979
+ }
980
+ background-color: transparent;
981
+ color: var(--theme-accent-strong);
982
+ @supports (color: color-mix(in lab, red, red)) {
983
+ color: color-mix(in srgb, var(--theme-accent-strong) 88%, white 12%);
984
+ }
985
+ }
986
+ .mcp-card-delete {
987
+ display: flex;
988
+ height: calc(var(--spacing) * 6);
989
+ width: calc(var(--spacing) * 6);
990
+ align-items: center;
991
+ justify-content: center;
992
+ border-radius: var(--radius-sm);
993
+ border-style: var(--tw-border-style);
994
+ border-width: 1px;
995
+ font-size: 10px;
996
+ --tw-font-weight: var(--font-weight-semibold);
997
+ font-weight: var(--font-weight-semibold);
998
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
999
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1000
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1001
+ border-color: #ef4444;
1002
+ @supports (color: color-mix(in lab, red, red)) {
1003
+ border-color: color-mix(in srgb, #ef4444 52%, var(--theme-panel-border) 48%);
1004
+ }
1005
+ background-color: transparent;
1006
+ color: #fca5a5;
1007
+ }
1008
+ .mcp-card-delete:hover {
1009
+ background-color: rgba(239, 68, 68, 0.14);
1010
+ }
1011
+ }
1012
+ @layer components {
1013
+ .workspace-rail {
1014
+ border-radius: 1.5rem;
1015
+ border-style: var(--tw-border-style);
1016
+ border-width: 1px;
1017
+ border-color: var(--theme-panel-border);
1018
+ @supports (color: color-mix(in lab, red, red)) {
1019
+ border-color: color-mix(in srgb, var(--theme-panel-border) 76%, transparent);
1020
+ }
1021
+ background-color: var(--theme-panel);
1022
+ }
1023
+ .sidebar-body {
1024
+ display: flex;
1025
+ min-height: calc(var(--spacing) * 0);
1026
+ flex: 1;
1027
+ flex-direction: column;
1028
+ }
1029
+ .sidebar-contexts {
1030
+ min-height: calc(var(--spacing) * 0);
1031
+ flex: 1;
1032
+ }
1033
+ .sidebar-contexts-list {
1034
+ padding-bottom: 0.25rem;
1035
+ }
1036
+ .sidebar-group {
1037
+ min-height: calc(var(--spacing) * 0);
1038
+ }
1039
+ .sidebar-group-body {
1040
+ border-radius: var(--radius-2xl);
1041
+ border-style: var(--tw-border-style);
1042
+ border-width: 1px;
1043
+ padding-inline: calc(var(--spacing) * 3);
1044
+ padding-block: calc(var(--spacing) * 3);
1045
+ border-color: var(--theme-panel-border);
1046
+ @supports (color: color-mix(in lab, red, red)) {
1047
+ border-color: color-mix(in srgb, var(--theme-panel-border) 64%, transparent);
1048
+ }
1049
+ background-color: var(--theme-surface);
1050
+ @supports (color: color-mix(in lab, red, red)) {
1051
+ background-color: color-mix(in srgb, var(--theme-surface) 42%, transparent);
1052
+ }
1053
+ }
1054
+ .rail-section {
1055
+ min-height: calc(var(--spacing) * 0);
1056
+ flex: 1;
1057
+ padding-inline: calc(var(--spacing) * 1);
1058
+ padding-block: calc(var(--spacing) * 1);
1059
+ background-color: transparent;
1060
+ }
1061
+ .sidebar-section {
1062
+ border-radius: var(--radius-2xl);
1063
+ padding-inline: calc(var(--spacing) * 0);
1064
+ padding-block: calc(var(--spacing) * 0);
1065
+ border: 0;
1066
+ background: transparent;
1067
+ }
1068
+ .sidebar-section summary {
1069
+ display: flex;
1070
+ cursor: pointer;
1071
+ list-style-type: none;
1072
+ align-items: center;
1073
+ justify-content: space-between;
1074
+ gap: calc(var(--spacing) * 3);
1075
+ padding-block: calc(var(--spacing) * 1);
1076
+ font-size: var(--text-sm);
1077
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1078
+ --tw-font-weight: var(--font-weight-medium);
1079
+ font-weight: var(--font-weight-medium);
1080
+ color: var(--theme-text);
1081
+ }
1082
+ .sidebar-section summary::-webkit-details-marker {
1083
+ display: none;
1084
+ }
1085
+ .sidebar-section summary::after {
1086
+ content: "+";
1087
+ color: var(--theme-muted);
1088
+ }
1089
+ .sidebar-section[open] summary::after {
1090
+ content: "−";
1091
+ }
1092
+ .sidebar-section-body {
1093
+ padding-top: calc(var(--spacing) * 2);
1094
+ }
1095
+ .sidebar-list-item {
1096
+ width: 100%;
1097
+ border-radius: var(--radius-xl);
1098
+ padding-inline: calc(var(--spacing) * 3);
1099
+ padding-block: calc(var(--spacing) * 2.5);
1100
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
1101
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1102
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1103
+ background-color: transparent;
1104
+ }
1105
+ .sidebar-list-item:hover {
1106
+ background-color: var(--theme-surface);
1107
+ @supports (color: color-mix(in lab, red, red)) {
1108
+ background-color: color-mix(in srgb, var(--theme-surface) 42%, transparent);
1109
+ }
1110
+ }
1111
+ .sidebar-list-item.is-active {
1112
+ background-color: var(--theme-accent-soft);
1113
+ @supports (color: color-mix(in lab, red, red)) {
1114
+ background-color: color-mix(in srgb, var(--theme-accent-soft) 62%, transparent);
1115
+ }
1116
+ }
1117
+ .sidebar-meta {
1118
+ font-size: 11px;
1119
+ color: var(--theme-muted);
1120
+ }
1121
+ .sidebar-avatar {
1122
+ display: flex;
1123
+ height: calc(var(--spacing) * 9);
1124
+ width: calc(var(--spacing) * 9);
1125
+ flex-shrink: 0;
1126
+ align-items: center;
1127
+ justify-content: center;
1128
+ border-radius: calc(infinity * 1px);
1129
+ font-size: var(--text-xs);
1130
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1131
+ --tw-font-weight: var(--font-weight-semibold);
1132
+ font-weight: var(--font-weight-semibold);
1133
+ background-color: var(--theme-accent-soft);
1134
+ @supports (color: color-mix(in lab, red, red)) {
1135
+ background-color: color-mix(in srgb, var(--theme-accent-soft) 72%, transparent);
1136
+ }
1137
+ color: var(--theme-text);
1138
+ }
1139
+ .sidebar-presence {
1140
+ display: inline-block;
1141
+ height: calc(var(--spacing) * 2);
1142
+ width: calc(var(--spacing) * 2);
1143
+ flex-shrink: 0;
1144
+ border-radius: calc(infinity * 1px);
1145
+ background-color: var(--theme-accent);
1146
+ @supports (color: color-mix(in lab, red, red)) {
1147
+ background-color: color-mix(in srgb, var(--theme-accent) 84%, white 6%);
1148
+ }
1149
+ }
1150
+ .sidebar-overflow {
1151
+ position: relative;
1152
+ }
1153
+ .sidebar-overflow summary {
1154
+ display: flex;
1155
+ height: calc(var(--spacing) * 8);
1156
+ width: calc(var(--spacing) * 8);
1157
+ cursor: pointer;
1158
+ list-style-type: none;
1159
+ align-items: center;
1160
+ justify-content: center;
1161
+ border-radius: var(--radius-lg);
1162
+ font-size: var(--text-lg);
1163
+ line-height: var(--tw-leading, var(--text-lg--line-height));
1164
+ --tw-leading: 1;
1165
+ line-height: 1;
1166
+ color: var(--theme-muted);
1167
+ }
1168
+ .sidebar-overflow summary::-webkit-details-marker {
1169
+ display: none;
1170
+ }
1171
+ .sidebar-overflow-menu {
1172
+ position: absolute;
1173
+ top: calc(var(--spacing) * 10);
1174
+ right: calc(var(--spacing) * 0);
1175
+ z-index: 30;
1176
+ width: calc(var(--spacing) * 64);
1177
+ border-radius: var(--radius-2xl);
1178
+ border-style: var(--tw-border-style);
1179
+ border-width: 1px;
1180
+ padding: calc(var(--spacing) * 4);
1181
+ border-color: var(--theme-panel-border);
1182
+ background-color: var(--theme-panel);
1183
+ }
1184
+ @media (max-width: 1400px), (max-height: 820px) {
1185
+ .workspace-rail {
1186
+ border-radius: 1.35rem;
1187
+ padding-inline: calc(var(--spacing) * 3.5);
1188
+ padding-block: calc(var(--spacing) * 3.5);
1189
+ }
1190
+ .sidebar-header {
1191
+ gap: calc(var(--spacing) * 2);
1192
+ }
1193
+ .sidebar-body {
1194
+ margin-top: 1rem;
1195
+ }
1196
+ .sidebar-group-body {
1197
+ padding-inline: calc(var(--spacing) * 2.5);
1198
+ padding-block: calc(var(--spacing) * 2.5);
1199
+ }
1200
+ .sidebar-contexts-list {
1201
+ min-height: 10rem;
1202
+ }
1203
+ .sidebar-list-item {
1204
+ padding-inline: calc(var(--spacing) * 2.5);
1205
+ padding-block: calc(var(--spacing) * 2);
1206
+ }
1207
+ .sidebar-avatar {
1208
+ height: calc(var(--spacing) * 8);
1209
+ width: calc(var(--spacing) * 8);
1210
+ font-size: 11px;
1211
+ }
1212
+ }
1213
+ }
1214
+ @layer components {
1215
+ .context-progress {
1216
+ color: var(--theme-progress-end);
1217
+ }
1218
+ .context-progress::-webkit-progress-bar {
1219
+ background-color: var(--theme-surface-3);
1220
+ border-radius: 9999px;
1221
+ }
1222
+ .context-progress::-webkit-progress-value {
1223
+ background: var(--theme-progress-start);
1224
+ border-radius: 9999px;
1225
+ }
1226
+ .context-progress::-moz-progress-bar {
1227
+ background: var(--theme-progress-start);
1228
+ border-radius: 9999px;
1229
+ }
1230
+ .timer-value {
1231
+ margin-left: calc(var(--spacing) * 2);
1232
+ display: inline-flex;
1233
+ align-items: center;
1234
+ justify-content: center;
1235
+ font-size: 12px;
1236
+ --tw-font-weight: var(--font-weight-semibold);
1237
+ font-weight: var(--font-weight-semibold);
1238
+ --tw-tracking: 0.02em;
1239
+ letter-spacing: 0.02em;
1240
+ --tw-numeric-spacing: tabular-nums;
1241
+ font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
1242
+ color: var(--theme-accent);
1243
+ @supports (color: color-mix(in lab, red, red)) {
1244
+ color: color-mix(in srgb, var(--theme-accent) 82%, var(--theme-text) 18%);
1245
+ }
1246
+ }
1247
+ .status-active {
1248
+ display: inline-flex;
1249
+ align-items: center;
1250
+ border-radius: calc(infinity * 1px);
1251
+ padding-inline: calc(var(--spacing) * 2.5);
1252
+ padding-block: calc(var(--spacing) * 1);
1253
+ font-size: var(--text-sm);
1254
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1255
+ --tw-font-weight: var(--font-weight-medium);
1256
+ font-weight: var(--font-weight-medium);
1257
+ background-color: var(--theme-accent-soft);
1258
+ @supports (color: color-mix(in lab, red, red)) {
1259
+ background-color: color-mix(in srgb, var(--theme-accent-soft) 64%, var(--theme-panel) 36%);
1260
+ }
1261
+ color: var(--theme-text);
1262
+ }
1263
+ .status-strip {
1264
+ display: grid;
1265
+ grid-template-columns: minmax(0,1fr) minmax(15rem,22rem) minmax(0,1fr);
1266
+ align-items: center;
1267
+ gap: calc(var(--spacing) * 6);
1268
+ border-top-style: var(--tw-border-style);
1269
+ border-top-width: 1px;
1270
+ padding-inline: calc(var(--spacing) * 5);
1271
+ padding-block: calc(var(--spacing) * 3);
1272
+ font-size: var(--text-sm);
1273
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1274
+ border-color: var(--theme-panel-border);
1275
+ @supports (color: color-mix(in lab, red, red)) {
1276
+ border-color: color-mix(in srgb, var(--theme-panel-border) 82%, transparent);
1277
+ }
1278
+ background-color: var(--theme-surface);
1279
+ @supports (color: color-mix(in lab, red, red)) {
1280
+ background-color: color-mix(in srgb, var(--theme-surface) 68%, transparent);
1281
+ }
1282
+ }
1283
+ .status-meta {
1284
+ font-size: 11px;
1285
+ --tw-font-weight: var(--font-weight-medium);
1286
+ font-weight: var(--font-weight-medium);
1287
+ --tw-tracking: 0.04em;
1288
+ letter-spacing: 0.04em;
1289
+ color: var(--theme-muted);
1290
+ }
1291
+ .status-block {
1292
+ min-width: calc(var(--spacing) * 0);
1293
+ }
1294
+ .status-block--center {
1295
+ justify-self: center;
1296
+ width: 100%;
1297
+ max-width: 18rem;
1298
+ text-align: center;
1299
+ }
1300
+ .status-block--right {
1301
+ justify-self: end;
1302
+ text-align: right;
1303
+ }
1304
+ .status-label {
1305
+ font-size: 11px;
1306
+ --tw-font-weight: var(--font-weight-semibold);
1307
+ font-weight: var(--font-weight-semibold);
1308
+ --tw-tracking: 0.18em;
1309
+ letter-spacing: 0.18em;
1310
+ text-transform: uppercase;
1311
+ color: var(--theme-accent);
1312
+ @supports (color: color-mix(in lab, red, red)) {
1313
+ color: color-mix(in srgb, var(--theme-accent) 78%, white 10%);
1314
+ }
1315
+ }
1316
+ .status-value-inline {
1317
+ margin-top: calc(var(--spacing) * 1);
1318
+ display: flex;
1319
+ min-width: calc(var(--spacing) * 0);
1320
+ align-items: center;
1321
+ gap: calc(var(--spacing) * 2);
1322
+ --tw-font-weight: var(--font-weight-medium);
1323
+ font-weight: var(--font-weight-medium);
1324
+ color: var(--theme-text);
1325
+ }
1326
+ .status-text {
1327
+ min-width: calc(var(--spacing) * 0);
1328
+ }
1329
+ .status-window {
1330
+ margin-inline: auto;
1331
+ margin-top: calc(var(--spacing) * 1);
1332
+ display: flex;
1333
+ width: 100%;
1334
+ max-width: 18rem;
1335
+ flex-direction: column;
1336
+ gap: calc(var(--spacing) * 2);
1337
+ }
1338
+ @media (max-width: 1400px), (max-height: 820px) {
1339
+ .status-strip {
1340
+ grid-template-columns: minmax(0,1fr) minmax(13rem,17rem) minmax(0,1fr);
1341
+ gap: calc(var(--spacing) * 4);
1342
+ padding-inline: calc(var(--spacing) * 4);
1343
+ padding-block: calc(var(--spacing) * 2.5);
1344
+ }
1345
+ }
1346
+ }
1347
+ @layer theme, base, components, utilities;
1348
+ @layer theme;
1349
+ @layer base {
1350
+ *,
1351
+ ::after,
1352
+ ::before,
1353
+ ::backdrop,
1354
+ ::file-selector-button {
1355
+ box-sizing: border-box;
1356
+ margin: 0;
1357
+ padding: 0;
1358
+ border: 0 solid;
1359
+ }
1360
+ html,
1361
+ :host {
1362
+ line-height: 1.5;
1363
+ -webkit-text-size-adjust: 100%;
1364
+ tab-size: 4;
1365
+ font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
1366
+ font-feature-settings: var(--default-font-feature-settings, normal);
1367
+ font-variation-settings: var(--default-font-variation-settings, normal);
1368
+ -webkit-tap-highlight-color: transparent;
1369
+ }
1370
+ hr {
1371
+ height: 0;
1372
+ color: inherit;
1373
+ border-top-width: 1px;
1374
+ }
1375
+ abbr:where([title]) {
1376
+ -webkit-text-decoration: underline dotted;
1377
+ text-decoration: underline dotted;
1378
+ }
1379
+ h1,
1380
+ h2,
1381
+ h3,
1382
+ h4,
1383
+ h5,
1384
+ h6 {
1385
+ font-size: inherit;
1386
+ font-weight: inherit;
1387
+ }
1388
+ a {
1389
+ color: inherit;
1390
+ -webkit-text-decoration: inherit;
1391
+ text-decoration: inherit;
1392
+ }
1393
+ b,
1394
+ strong {
1395
+ font-weight: bolder;
1396
+ }
1397
+ code,
1398
+ kbd,
1399
+ samp,
1400
+ pre {
1401
+ font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
1402
+ font-feature-settings: var(--default-mono-font-feature-settings, normal);
1403
+ font-variation-settings: var(--default-mono-font-variation-settings, normal);
1404
+ font-size: 1em;
1405
+ }
1406
+ small {
1407
+ font-size: 80%;
1408
+ }
1409
+ sub,
1410
+ sup {
1411
+ font-size: 75%;
1412
+ line-height: 0;
1413
+ position: relative;
1414
+ vertical-align: baseline;
1415
+ }
1416
+ sub {
1417
+ bottom: -0.25em;
1418
+ }
1419
+ sup {
1420
+ top: -0.5em;
1421
+ }
1422
+ table {
1423
+ text-indent: 0;
1424
+ border-color: inherit;
1425
+ border-collapse: collapse;
1426
+ }
1427
+ :-moz-focusring {
1428
+ outline: auto;
1429
+ }
1430
+ progress {
1431
+ vertical-align: baseline;
1432
+ }
1433
+ summary {
1434
+ display: list-item;
1435
+ }
1436
+ ol,
1437
+ ul,
1438
+ menu {
1439
+ list-style: none;
1440
+ }
1441
+ img,
1442
+ svg,
1443
+ video,
1444
+ canvas,
1445
+ audio,
1446
+ iframe,
1447
+ embed,
1448
+ object {
1449
+ display: block;
1450
+ vertical-align: middle;
1451
+ }
1452
+ img,
1453
+ video {
1454
+ max-width: 100%;
1455
+ height: auto;
1456
+ }
1457
+ button,
1458
+ input,
1459
+ select,
1460
+ optgroup,
1461
+ textarea,
1462
+ ::file-selector-button {
1463
+ font: inherit;
1464
+ font-feature-settings: inherit;
1465
+ font-variation-settings: inherit;
1466
+ letter-spacing: inherit;
1467
+ color: inherit;
1468
+ border-radius: 0;
1469
+ background-color: transparent;
1470
+ opacity: 1;
1471
+ }
1472
+ :where(select:is([multiple], [size])) optgroup {
1473
+ font-weight: bolder;
1474
+ }
1475
+ :where(select:is([multiple], [size])) optgroup option {
1476
+ padding-inline-start: 20px;
1477
+ }
1478
+ ::file-selector-button {
1479
+ margin-inline-end: 4px;
1480
+ }
1481
+ ::placeholder {
1482
+ opacity: 1;
1483
+ }
1484
+ @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
1485
+ ::placeholder {
1486
+ color: currentcolor;
1487
+ @supports (color: color-mix(in lab, red, red)) {
1488
+ color: color-mix(in oklab, currentcolor 50%, transparent);
1489
+ }
1490
+ }
1491
+ }
1492
+ textarea {
1493
+ resize: vertical;
1494
+ }
1495
+ ::-webkit-search-decoration {
1496
+ -webkit-appearance: none;
1497
+ }
1498
+ ::-webkit-date-and-time-value {
1499
+ min-height: 1lh;
1500
+ text-align: inherit;
1501
+ }
1502
+ ::-webkit-datetime-edit {
1503
+ display: inline-flex;
1504
+ }
1505
+ ::-webkit-datetime-edit-fields-wrapper {
1506
+ padding: 0;
1507
+ }
1508
+ ::-webkit-datetime-edit,
1509
+ ::-webkit-datetime-edit-year-field,
1510
+ ::-webkit-datetime-edit-month-field,
1511
+ ::-webkit-datetime-edit-day-field,
1512
+ ::-webkit-datetime-edit-hour-field,
1513
+ ::-webkit-datetime-edit-minute-field,
1514
+ ::-webkit-datetime-edit-second-field,
1515
+ ::-webkit-datetime-edit-millisecond-field,
1516
+ ::-webkit-datetime-edit-meridiem-field {
1517
+ padding-block: 0;
1518
+ }
1519
+ ::-webkit-calendar-picker-indicator {
1520
+ line-height: 1;
1521
+ }
1522
+ :-moz-ui-invalid {
1523
+ box-shadow: none;
1524
+ }
1525
+ button,
1526
+ input:where([type=button], [type=reset], [type=submit]),
1527
+ ::file-selector-button {
1528
+ appearance: button;
1529
+ }
1530
+ ::-webkit-inner-spin-button,
1531
+ ::-webkit-outer-spin-button {
1532
+ height: auto;
1533
+ }
1534
+ [hidden]:where(:not([hidden=until-found])) {
1535
+ display: none !important;
1536
+ }
1537
+ }
1538
+ @layer utilities {
1539
+ .sr-only {
1540
+ position: absolute;
1541
+ width: 1px;
1542
+ height: 1px;
1543
+ padding: 0;
1544
+ margin: -1px;
1545
+ overflow: hidden;
1546
+ clip-path: inset(50%);
1547
+ white-space: nowrap;
1548
+ border-width: 0;
1549
+ }
1550
+ .relative {
1551
+ position: relative;
1552
+ }
1553
+ .start {
1554
+ inset-inline-start: var(--spacing);
1555
+ }
1556
+ .end {
1557
+ inset-inline-end: var(--spacing);
1558
+ }
1559
+ .container {
1560
+ width: 100%;
1561
+ @media (width >= 40rem) {
1562
+ max-width: 40rem;
1563
+ }
1564
+ @media (width >= 48rem) {
1565
+ max-width: 48rem;
1566
+ }
1567
+ @media (width >= 64rem) {
1568
+ max-width: 64rem;
1569
+ }
1570
+ @media (width >= 80rem) {
1571
+ max-width: 80rem;
1572
+ }
1573
+ @media (width >= 96rem) {
1574
+ max-width: 96rem;
1575
+ }
1576
+ }
1577
+ .mx-auto {
1578
+ margin-inline: auto;
1579
+ }
1580
+ .my-2 {
1581
+ margin-block: calc(var(--spacing) * 2);
1582
+ }
1583
+ .mt-0\.5 {
1584
+ margin-top: calc(var(--spacing) * 0.5);
1585
+ }
1586
+ .mt-1 {
1587
+ margin-top: calc(var(--spacing) * 1);
1588
+ }
1589
+ .mt-1\.5 {
1590
+ margin-top: calc(var(--spacing) * 1.5);
1591
+ }
1592
+ .mt-2 {
1593
+ margin-top: calc(var(--spacing) * 2);
1594
+ }
1595
+ .mt-2\.5 {
1596
+ margin-top: calc(var(--spacing) * 2.5);
1597
+ }
1598
+ .mt-3 {
1599
+ margin-top: calc(var(--spacing) * 3);
1600
+ }
1601
+ .mt-5 {
1602
+ margin-top: calc(var(--spacing) * 5);
1603
+ }
1604
+ .mt-\[20px\] {
1605
+ margin-top: 20px;
1606
+ }
1607
+ .mb-4 {
1608
+ margin-bottom: calc(var(--spacing) * 4);
1609
+ }
1610
+ .line-clamp-1 {
1611
+ overflow: hidden;
1612
+ display: -webkit-box;
1613
+ -webkit-box-orient: vertical;
1614
+ -webkit-line-clamp: 1;
1615
+ }
1616
+ .block {
1617
+ display: block;
1618
+ }
1619
+ .flex {
1620
+ display: flex;
1621
+ }
1622
+ .grid {
1623
+ display: grid;
1624
+ }
1625
+ .hidden {
1626
+ display: none;
1627
+ }
1628
+ .inline-flex {
1629
+ display: inline-flex;
1630
+ }
1631
+ .h-2 {
1632
+ height: calc(var(--spacing) * 2);
1633
+ }
1634
+ .h-5 {
1635
+ height: calc(var(--spacing) * 5);
1636
+ }
1637
+ .h-10 {
1638
+ height: calc(var(--spacing) * 10);
1639
+ }
1640
+ .h-\[calc\(100vh-2\.5rem\)\] {
1641
+ height: calc(100vh - 2.5rem);
1642
+ }
1643
+ .h-dvh {
1644
+ height: 100dvh;
1645
+ }
1646
+ .h-full {
1647
+ height: 100%;
1648
+ }
1649
+ .max-h-14 {
1650
+ max-height: calc(var(--spacing) * 14);
1651
+ }
1652
+ .min-h-0 {
1653
+ min-height: calc(var(--spacing) * 0);
1654
+ }
1655
+ .min-h-\[calc\(100vh-3rem\)\] {
1656
+ min-height: calc(100vh - 3rem);
1657
+ }
1658
+ .min-h-screen {
1659
+ min-height: 100vh;
1660
+ }
1661
+ .w-5 {
1662
+ width: calc(var(--spacing) * 5);
1663
+ }
1664
+ .w-10 {
1665
+ width: calc(var(--spacing) * 10);
1666
+ }
1667
+ .w-auto {
1668
+ width: auto;
1669
+ }
1670
+ .w-fit {
1671
+ width: fit-content;
1672
+ }
1673
+ .w-full {
1674
+ width: 100%;
1675
+ }
1676
+ .max-w-2xl {
1677
+ max-width: var(--container-2xl);
1678
+ }
1679
+ .max-w-\[10rem\] {
1680
+ max-width: 10rem;
1681
+ }
1682
+ .max-w-\[75\%\] {
1683
+ max-width: 75%;
1684
+ }
1685
+ .max-w-\[88\%\] {
1686
+ max-width: 88%;
1687
+ }
1688
+ .max-w-md {
1689
+ max-width: var(--container-md);
1690
+ }
1691
+ .max-w-none {
1692
+ max-width: none;
1693
+ }
1694
+ .max-w-xs {
1695
+ max-width: var(--container-xs);
1696
+ }
1697
+ .min-w-0 {
1698
+ min-width: calc(var(--spacing) * 0);
1699
+ }
1700
+ .min-w-\[4rem\] {
1701
+ min-width: 4rem;
1702
+ }
1703
+ .flex-1 {
1704
+ flex: 1;
1705
+ }
1706
+ .shrink-0 {
1707
+ flex-shrink: 0;
1708
+ }
1709
+ .cursor-pointer {
1710
+ cursor: pointer;
1711
+ }
1712
+ .flex-col {
1713
+ flex-direction: column;
1714
+ }
1715
+ .flex-wrap {
1716
+ flex-wrap: wrap;
1717
+ }
1718
+ .items-center {
1719
+ align-items: center;
1720
+ }
1721
+ .items-end {
1722
+ align-items: flex-end;
1723
+ }
1724
+ .items-start {
1725
+ align-items: flex-start;
1726
+ }
1727
+ .justify-between {
1728
+ justify-content: space-between;
1729
+ }
1730
+ .justify-center {
1731
+ justify-content: center;
1732
+ }
1733
+ .justify-end {
1734
+ justify-content: flex-end;
1735
+ }
1736
+ .gap-1 {
1737
+ gap: calc(var(--spacing) * 1);
1738
+ }
1739
+ .gap-2 {
1740
+ gap: calc(var(--spacing) * 2);
1741
+ }
1742
+ .gap-3 {
1743
+ gap: calc(var(--spacing) * 3);
1744
+ }
1745
+ .gap-4 {
1746
+ gap: calc(var(--spacing) * 4);
1747
+ }
1748
+ .space-y-1 {
1749
+ :where(& > :not(:last-child)) {
1750
+ --tw-space-y-reverse: 0;
1751
+ margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
1752
+ margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
1753
+ }
1754
+ }
1755
+ .space-y-2 {
1756
+ :where(& > :not(:last-child)) {
1757
+ --tw-space-y-reverse: 0;
1758
+ margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
1759
+ margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
1760
+ }
1761
+ }
1762
+ .space-y-2\.5 {
1763
+ :where(& > :not(:last-child)) {
1764
+ --tw-space-y-reverse: 0;
1765
+ margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
1766
+ margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
1767
+ }
1768
+ }
1769
+ .space-y-3 {
1770
+ :where(& > :not(:last-child)) {
1771
+ --tw-space-y-reverse: 0;
1772
+ margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
1773
+ margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
1774
+ }
1775
+ }
1776
+ .space-y-4 {
1777
+ :where(& > :not(:last-child)) {
1778
+ --tw-space-y-reverse: 0;
1779
+ margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
1780
+ margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
1781
+ }
1782
+ }
1783
+ .space-y-5 {
1784
+ :where(& > :not(:last-child)) {
1785
+ --tw-space-y-reverse: 0;
1786
+ margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
1787
+ margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
1788
+ }
1789
+ }
1790
+ .space-y-8 {
1791
+ :where(& > :not(:last-child)) {
1792
+ --tw-space-y-reverse: 0;
1793
+ margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
1794
+ margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
1795
+ }
1796
+ }
1797
+ .self-start {
1798
+ align-self: flex-start;
1799
+ }
1800
+ .self-stretch {
1801
+ align-self: stretch;
1802
+ }
1803
+ .truncate {
1804
+ overflow: hidden;
1805
+ text-overflow: ellipsis;
1806
+ white-space: nowrap;
1807
+ }
1808
+ .overflow-hidden {
1809
+ overflow: hidden;
1810
+ }
1811
+ .overflow-y-auto {
1812
+ overflow-y: auto;
1813
+ }
1814
+ .rounded-2xl {
1815
+ border-radius: var(--radius-2xl);
1816
+ }
1817
+ .rounded-full {
1818
+ border-radius: calc(infinity * 1px);
1819
+ }
1820
+ .rounded-lg {
1821
+ border-radius: var(--radius-lg);
1822
+ }
1823
+ .border {
1824
+ border-style: var(--tw-border-style);
1825
+ border-width: 1px;
1826
+ }
1827
+ .border-b {
1828
+ border-bottom-style: var(--tw-border-style);
1829
+ border-bottom-width: 1px;
1830
+ }
1831
+ .border-l {
1832
+ border-left-style: var(--tw-border-style);
1833
+ border-left-width: 1px;
1834
+ }
1835
+ .border-current\/20 {
1836
+ border-color: currentcolor;
1837
+ @supports (color: color-mix(in lab, red, red)) {
1838
+ border-color: color-mix(in oklab, currentcolor 20%, transparent);
1839
+ }
1840
+ }
1841
+ .px-1 {
1842
+ padding-inline: calc(var(--spacing) * 1);
1843
+ }
1844
+ .px-2 {
1845
+ padding-inline: calc(var(--spacing) * 2);
1846
+ }
1847
+ .px-3 {
1848
+ padding-inline: calc(var(--spacing) * 3);
1849
+ }
1850
+ .px-4 {
1851
+ padding-inline: calc(var(--spacing) * 4);
1852
+ }
1853
+ .px-6 {
1854
+ padding-inline: calc(var(--spacing) * 6);
1855
+ }
1856
+ .py-0\.5 {
1857
+ padding-block: calc(var(--spacing) * 0.5);
1858
+ }
1859
+ .py-1 {
1860
+ padding-block: calc(var(--spacing) * 1);
1861
+ }
1862
+ .py-2 {
1863
+ padding-block: calc(var(--spacing) * 2);
1864
+ }
1865
+ .py-2\.5 {
1866
+ padding-block: calc(var(--spacing) * 2.5);
1867
+ }
1868
+ .py-4 {
1869
+ padding-block: calc(var(--spacing) * 4);
1870
+ }
1871
+ .py-5 {
1872
+ padding-block: calc(var(--spacing) * 5);
1873
+ }
1874
+ .py-6 {
1875
+ padding-block: calc(var(--spacing) * 6);
1876
+ }
1877
+ .py-8 {
1878
+ padding-block: calc(var(--spacing) * 8);
1879
+ }
1880
+ .pt-6 {
1881
+ padding-top: calc(var(--spacing) * 6);
1882
+ }
1883
+ .pr-1 {
1884
+ padding-right: calc(var(--spacing) * 1);
1885
+ }
1886
+ .pr-2 {
1887
+ padding-right: calc(var(--spacing) * 2);
1888
+ }
1889
+ .pb-3 {
1890
+ padding-bottom: calc(var(--spacing) * 3);
1891
+ }
1892
+ .pb-6 {
1893
+ padding-bottom: calc(var(--spacing) * 6);
1894
+ }
1895
+ .pl-4 {
1896
+ padding-left: calc(var(--spacing) * 4);
1897
+ }
1898
+ .text-center {
1899
+ text-align: center;
1900
+ }
1901
+ .text-left {
1902
+ text-align: left;
1903
+ }
1904
+ .font-display {
1905
+ font-family: var(--font-display);
1906
+ }
1907
+ .font-mono {
1908
+ font-family: var(--font-mono);
1909
+ }
1910
+ .font-sans {
1911
+ font-family: var(--font-sans);
1912
+ }
1913
+ .text-lg {
1914
+ font-size: var(--text-lg);
1915
+ line-height: var(--tw-leading, var(--text-lg--line-height));
1916
+ }
1917
+ .text-sm {
1918
+ font-size: var(--text-sm);
1919
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1920
+ }
1921
+ .text-xs {
1922
+ font-size: var(--text-xs);
1923
+ line-height: var(--tw-leading, var(--text-xs--line-height));
1924
+ }
1925
+ .text-\[1\.8rem\] {
1926
+ font-size: 1.8rem;
1927
+ }
1928
+ .text-\[10px\] {
1929
+ font-size: 10px;
1930
+ }
1931
+ .text-\[11px\] {
1932
+ font-size: 11px;
1933
+ }
1934
+ .leading-4 {
1935
+ --tw-leading: calc(var(--spacing) * 4);
1936
+ line-height: calc(var(--spacing) * 4);
1937
+ }
1938
+ .leading-5 {
1939
+ --tw-leading: calc(var(--spacing) * 5);
1940
+ line-height: calc(var(--spacing) * 5);
1941
+ }
1942
+ .leading-6 {
1943
+ --tw-leading: calc(var(--spacing) * 6);
1944
+ line-height: calc(var(--spacing) * 6);
1945
+ }
1946
+ .leading-none {
1947
+ --tw-leading: 1;
1948
+ line-height: 1;
1949
+ }
1950
+ .font-medium {
1951
+ --tw-font-weight: var(--font-weight-medium);
1952
+ font-weight: var(--font-weight-medium);
1953
+ }
1954
+ .font-semibold {
1955
+ --tw-font-weight: var(--font-weight-semibold);
1956
+ font-weight: var(--font-weight-semibold);
1957
+ }
1958
+ .tracking-\[-0\.035em\] {
1959
+ --tw-tracking: -0.035em;
1960
+ letter-spacing: -0.035em;
1961
+ }
1962
+ .tracking-\[0\.16em\] {
1963
+ --tw-tracking: 0.16em;
1964
+ letter-spacing: 0.16em;
1965
+ }
1966
+ .tracking-tight {
1967
+ --tw-tracking: var(--tracking-tight);
1968
+ letter-spacing: var(--tracking-tight);
1969
+ }
1970
+ .text-\[color\:var\(--theme-muted\)\] {
1971
+ color: var(--theme-muted);
1972
+ }
1973
+ .uppercase {
1974
+ text-transform: uppercase;
1975
+ }
1976
+ .opacity-60 {
1977
+ opacity: 60%;
1978
+ }
1979
+ .opacity-80 {
1980
+ opacity: 80%;
1981
+ }
1982
+ .shadow-sm {
1983
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1984
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1985
+ }
1986
+ .transition {
1987
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
1988
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1989
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1990
+ }
1991
+ .first\:mt-0 {
1992
+ &:first-child {
1993
+ margin-top: calc(var(--spacing) * 0);
1994
+ }
1995
+ }
1996
+ .first\:pt-0 {
1997
+ &:first-child {
1998
+ padding-top: calc(var(--spacing) * 0);
1999
+ }
2000
+ }
2001
+ .last\:pb-0 {
2002
+ &:last-child {
2003
+ padding-bottom: calc(var(--spacing) * 0);
2004
+ }
2005
+ }
2006
+ .hover\:underline {
2007
+ &:hover {
2008
+ @media (hover: hover) {
2009
+ text-decoration-line: underline;
2010
+ }
2011
+ }
2012
+ }
2013
+ .focus\:ring-4 {
2014
+ &:focus {
2015
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
2016
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2017
+ }
2018
+ }
2019
+ .focus\:outline-none {
2020
+ &:focus {
2021
+ --tw-outline-style: none;
2022
+ outline-style: none;
2023
+ }
2024
+ }
2025
+ .sm\:px-5 {
2026
+ @media (width >= 40rem) {
2027
+ padding-inline: calc(var(--spacing) * 5);
2028
+ }
2029
+ }
2030
+ .sm\:px-6 {
2031
+ @media (width >= 40rem) {
2032
+ padding-inline: calc(var(--spacing) * 6);
2033
+ }
2034
+ }
2035
+ .sm\:px-8 {
2036
+ @media (width >= 40rem) {
2037
+ padding-inline: calc(var(--spacing) * 8);
2038
+ }
2039
+ }
2040
+ .md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\] {
2041
+ @media (width >= 48rem) {
2042
+ grid-template-columns: minmax(0,1fr) minmax(0,1fr);
2043
+ }
2044
+ }
2045
+ .lg\:sticky {
2046
+ @media (width >= 64rem) {
2047
+ position: sticky;
2048
+ }
2049
+ }
2050
+ .lg\:top-5 {
2051
+ @media (width >= 64rem) {
2052
+ top: calc(var(--spacing) * 5);
2053
+ }
2054
+ }
2055
+ .lg\:flex {
2056
+ @media (width >= 64rem) {
2057
+ display: flex;
2058
+ }
2059
+ }
2060
+ .lg\:w-\[17rem\] {
2061
+ @media (width >= 64rem) {
2062
+ width: 17rem;
2063
+ }
2064
+ }
2065
+ .lg\:flex-col {
2066
+ @media (width >= 64rem) {
2067
+ flex-direction: column;
2068
+ }
2069
+ }
2070
+ .lg\:flex-row {
2071
+ @media (width >= 64rem) {
2072
+ flex-direction: row;
2073
+ }
2074
+ }
2075
+ .lg\:gap-5 {
2076
+ @media (width >= 64rem) {
2077
+ gap: calc(var(--spacing) * 5);
2078
+ }
2079
+ }
2080
+ .lg\:gap-6 {
2081
+ @media (width >= 64rem) {
2082
+ gap: calc(var(--spacing) * 6);
2083
+ }
2084
+ }
2085
+ .\[\&_\*\]\:text-inherit {
2086
+ & * {
2087
+ color: inherit;
2088
+ }
2089
+ }
2090
+ }
2091
+ @property --tw-leading {
2092
+ syntax: "*";
2093
+ inherits: false;
2094
+ }
2095
+ @property --tw-font-weight {
2096
+ syntax: "*";
2097
+ inherits: false;
2098
+ }
2099
+ @property --tw-border-style {
2100
+ syntax: "*";
2101
+ inherits: false;
2102
+ initial-value: solid;
2103
+ }
2104
+ @property --tw-tracking {
2105
+ syntax: "*";
2106
+ inherits: false;
2107
+ }
2108
+ @property --tw-backdrop-blur {
2109
+ syntax: "*";
2110
+ inherits: false;
2111
+ }
2112
+ @property --tw-backdrop-brightness {
2113
+ syntax: "*";
2114
+ inherits: false;
2115
+ }
2116
+ @property --tw-backdrop-contrast {
2117
+ syntax: "*";
2118
+ inherits: false;
2119
+ }
2120
+ @property --tw-backdrop-grayscale {
2121
+ syntax: "*";
2122
+ inherits: false;
2123
+ }
2124
+ @property --tw-backdrop-hue-rotate {
2125
+ syntax: "*";
2126
+ inherits: false;
2127
+ }
2128
+ @property --tw-backdrop-invert {
2129
+ syntax: "*";
2130
+ inherits: false;
2131
+ }
2132
+ @property --tw-backdrop-opacity {
2133
+ syntax: "*";
2134
+ inherits: false;
2135
+ }
2136
+ @property --tw-backdrop-saturate {
2137
+ syntax: "*";
2138
+ inherits: false;
2139
+ }
2140
+ @property --tw-backdrop-sepia {
2141
+ syntax: "*";
2142
+ inherits: false;
2143
+ }
2144
+ @property --tw-scale-x {
2145
+ syntax: "*";
2146
+ inherits: false;
2147
+ initial-value: 1;
2148
+ }
2149
+ @property --tw-scale-y {
2150
+ syntax: "*";
2151
+ inherits: false;
2152
+ initial-value: 1;
2153
+ }
2154
+ @property --tw-scale-z {
2155
+ syntax: "*";
2156
+ inherits: false;
2157
+ initial-value: 1;
2158
+ }
2159
+ @property --tw-shadow {
2160
+ syntax: "*";
2161
+ inherits: false;
2162
+ initial-value: 0 0 #0000;
2163
+ }
2164
+ @property --tw-shadow-color {
2165
+ syntax: "*";
2166
+ inherits: false;
2167
+ }
2168
+ @property --tw-shadow-alpha {
2169
+ syntax: "<percentage>";
2170
+ inherits: false;
2171
+ initial-value: 100%;
2172
+ }
2173
+ @property --tw-inset-shadow {
2174
+ syntax: "*";
2175
+ inherits: false;
2176
+ initial-value: 0 0 #0000;
2177
+ }
2178
+ @property --tw-inset-shadow-color {
2179
+ syntax: "*";
2180
+ inherits: false;
2181
+ }
2182
+ @property --tw-inset-shadow-alpha {
2183
+ syntax: "<percentage>";
2184
+ inherits: false;
2185
+ initial-value: 100%;
2186
+ }
2187
+ @property --tw-ring-color {
2188
+ syntax: "*";
2189
+ inherits: false;
2190
+ }
2191
+ @property --tw-ring-shadow {
2192
+ syntax: "*";
2193
+ inherits: false;
2194
+ initial-value: 0 0 #0000;
2195
+ }
2196
+ @property --tw-inset-ring-color {
2197
+ syntax: "*";
2198
+ inherits: false;
2199
+ }
2200
+ @property --tw-inset-ring-shadow {
2201
+ syntax: "*";
2202
+ inherits: false;
2203
+ initial-value: 0 0 #0000;
2204
+ }
2205
+ @property --tw-ring-inset {
2206
+ syntax: "*";
2207
+ inherits: false;
2208
+ }
2209
+ @property --tw-ring-offset-width {
2210
+ syntax: "<length>";
2211
+ inherits: false;
2212
+ initial-value: 0px;
2213
+ }
2214
+ @property --tw-ring-offset-color {
2215
+ syntax: "*";
2216
+ inherits: false;
2217
+ initial-value: #fff;
2218
+ }
2219
+ @property --tw-ring-offset-shadow {
2220
+ syntax: "*";
2221
+ inherits: false;
2222
+ initial-value: 0 0 #0000;
2223
+ }
2224
+ @property --tw-ordinal {
2225
+ syntax: "*";
2226
+ inherits: false;
2227
+ }
2228
+ @property --tw-slashed-zero {
2229
+ syntax: "*";
2230
+ inherits: false;
2231
+ }
2232
+ @property --tw-numeric-figure {
2233
+ syntax: "*";
2234
+ inherits: false;
2235
+ }
2236
+ @property --tw-numeric-spacing {
2237
+ syntax: "*";
2238
+ inherits: false;
2239
+ }
2240
+ @property --tw-numeric-fraction {
2241
+ syntax: "*";
2242
+ inherits: false;
2243
+ }
2244
+ @property --tw-space-y-reverse {
2245
+ syntax: "*";
2246
+ inherits: false;
2247
+ initial-value: 0;
2248
+ }
2249
+ @layer properties {
2250
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
2251
+ *, ::before, ::after, ::backdrop {
2252
+ --tw-leading: initial;
2253
+ --tw-font-weight: initial;
2254
+ --tw-border-style: solid;
2255
+ --tw-tracking: initial;
2256
+ --tw-backdrop-blur: initial;
2257
+ --tw-backdrop-brightness: initial;
2258
+ --tw-backdrop-contrast: initial;
2259
+ --tw-backdrop-grayscale: initial;
2260
+ --tw-backdrop-hue-rotate: initial;
2261
+ --tw-backdrop-invert: initial;
2262
+ --tw-backdrop-opacity: initial;
2263
+ --tw-backdrop-saturate: initial;
2264
+ --tw-backdrop-sepia: initial;
2265
+ --tw-scale-x: 1;
2266
+ --tw-scale-y: 1;
2267
+ --tw-scale-z: 1;
2268
+ --tw-shadow: 0 0 #0000;
2269
+ --tw-shadow-color: initial;
2270
+ --tw-shadow-alpha: 100%;
2271
+ --tw-inset-shadow: 0 0 #0000;
2272
+ --tw-inset-shadow-color: initial;
2273
+ --tw-inset-shadow-alpha: 100%;
2274
+ --tw-ring-color: initial;
2275
+ --tw-ring-shadow: 0 0 #0000;
2276
+ --tw-inset-ring-color: initial;
2277
+ --tw-inset-ring-shadow: 0 0 #0000;
2278
+ --tw-ring-inset: initial;
2279
+ --tw-ring-offset-width: 0px;
2280
+ --tw-ring-offset-color: #fff;
2281
+ --tw-ring-offset-shadow: 0 0 #0000;
2282
+ --tw-ordinal: initial;
2283
+ --tw-slashed-zero: initial;
2284
+ --tw-numeric-figure: initial;
2285
+ --tw-numeric-spacing: initial;
2286
+ --tw-numeric-fraction: initial;
2287
+ --tw-space-y-reverse: 0;
2288
+ }
2289
+ }
2290
+ }
2291
+
2292
+ /*# sourceMappingURL=application.css.map*/