raffel 1.1.82 → 1.1.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/ui/assets/raffel-docs.css +385 -196
- package/dist/docs/ui/assets/raffel-docs.js +269 -55
- package/dist/docs/ui/assets/sidebar-tree.js +3 -0
- package/dist/docs/ui/html-shell.d.ts.map +1 -1
- package/dist/docs/ui/html-shell.js +13 -0
- package/dist/docs/ui/html-shell.js.map +1 -1
- package/dist/docs/ui/runtime/index.js +269 -55
- package/dist/docs/ui/runtime/index.js.map +1 -1
- package/dist/docs/ui/runtime/sidebar-tree.js +3 -0
- package/dist/docs/ui/runtime/sidebar-tree.js.map +1 -1
- package/dist/docs/ui/style-sections/content.d.ts +1 -1
- package/dist/docs/ui/style-sections/content.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/content.js +54 -54
- package/dist/docs/ui/style-sections/edit-link.d.ts +1 -1
- package/dist/docs/ui/style-sections/edit-link.js +2 -2
- package/dist/docs/ui/style-sections/layout-navigation.d.ts +1 -1
- package/dist/docs/ui/style-sections/layout-navigation.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/layout-navigation.js +81 -20
- package/dist/docs/ui/style-sections/layout-navigation.js.map +1 -1
- package/dist/docs/ui/style-sections/schema-code.d.ts +1 -1
- package/dist/docs/ui/style-sections/schema-code.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/schema-code.js +204 -77
- package/dist/docs/ui/style-sections/schema-code.js.map +1 -1
- package/dist/docs/ui/style-sections/shell.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/shell.js +14 -13
- package/dist/docs/ui/style-sections/shell.js.map +1 -1
- package/dist/docs/ui/style-sections/try-it.d.ts +1 -1
- package/dist/docs/ui/style-sections/try-it.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/try-it.js +30 -30
- package/dist/docs/ui/types.d.ts +8 -0
- package/dist/docs/ui/types.d.ts.map +1 -1
- package/dist/docs/usd-middleware.d.ts +8 -0
- package/dist/docs/usd-middleware.d.ts.map +1 -1
- package/dist/docs/usd-middleware.js.map +1 -1
- package/dist/server/types/lifecycle-docs-types.d.ts +4 -0
- package/dist/server/types/lifecycle-docs-types.d.ts.map +1 -1
- package/dist/ui/docs/ui/html-shell.d.ts.map +1 -1
- package/dist/ui/docs/ui/style-sections/content.d.ts +1 -1
- package/dist/ui/docs/ui/style-sections/content.d.ts.map +1 -1
- package/dist/ui/docs/ui/style-sections/edit-link.d.ts +1 -1
- package/dist/ui/docs/ui/style-sections/layout-navigation.d.ts +1 -1
- package/dist/ui/docs/ui/style-sections/layout-navigation.d.ts.map +1 -1
- package/dist/ui/docs/ui/style-sections/schema-code.d.ts +1 -1
- package/dist/ui/docs/ui/style-sections/schema-code.d.ts.map +1 -1
- package/dist/ui/docs/ui/style-sections/shell.d.ts.map +1 -1
- package/dist/ui/docs/ui/style-sections/try-it.d.ts +1 -1
- package/dist/ui/docs/ui/style-sections/try-it.d.ts.map +1 -1
- package/dist/ui/docs/ui/types.d.ts +8 -0
- package/dist/ui/docs/ui/types.d.ts.map +1 -1
- package/dist/ui/docs/usd-middleware.d.ts +8 -0
- package/dist/ui/docs/usd-middleware.d.ts.map +1 -1
- package/dist/ui/usd/builder/http.d.ts +17 -1
- package/dist/ui/usd/builder/http.d.ts.map +1 -1
- package/dist/ui/usd/spec/types.d.ts +5 -1
- package/dist/ui/usd/spec/types.d.ts.map +1 -1
- package/dist/usd/builder/http.d.ts +17 -1
- package/dist/usd/builder/http.d.ts.map +1 -1
- package/dist/usd/builder/http.js +10 -2
- package/dist/usd/builder/http.js.map +1 -1
- package/dist/usd/spec/types.d.ts +5 -1
- package/dist/usd/spec/types.d.ts.map +1 -1
- package/dist/usd/spec/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -22,8 +22,9 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
.app-container {
|
|
25
|
+
--sidebar-width: 280px;
|
|
25
26
|
display: grid;
|
|
26
|
-
grid-template-columns:
|
|
27
|
+
grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
|
|
27
28
|
min-height: calc(100vh - 300px);
|
|
28
29
|
}
|
|
29
30
|
|
|
@@ -53,13 +54,59 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
53
54
|
.sidebar {
|
|
54
55
|
background: var(--sidebar-bg);
|
|
55
56
|
border-right: 1px solid var(--border-color);
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
display: flex;
|
|
58
|
+
flex-direction: column;
|
|
59
|
+
min-width: 0;
|
|
60
|
+
padding: 14px 0 0;
|
|
61
|
+
overflow: visible;
|
|
58
62
|
position: sticky;
|
|
59
63
|
top: 0;
|
|
60
64
|
height: 100vh;
|
|
61
65
|
}
|
|
62
66
|
|
|
67
|
+
.sidebar-resizer {
|
|
68
|
+
appearance: none;
|
|
69
|
+
position: absolute;
|
|
70
|
+
top: 0;
|
|
71
|
+
right: -5px;
|
|
72
|
+
z-index: 5;
|
|
73
|
+
width: 10px;
|
|
74
|
+
height: 100%;
|
|
75
|
+
padding: 0;
|
|
76
|
+
border: 0;
|
|
77
|
+
background: transparent;
|
|
78
|
+
cursor: col-resize;
|
|
79
|
+
touch-action: none;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.sidebar-resizer::before {
|
|
83
|
+
content: '';
|
|
84
|
+
position: absolute;
|
|
85
|
+
top: 0;
|
|
86
|
+
bottom: 0;
|
|
87
|
+
left: 4px;
|
|
88
|
+
width: 1px;
|
|
89
|
+
background: transparent;
|
|
90
|
+
transition: background-color 0.15s, box-shadow 0.15s;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.sidebar-resizer:hover::before,
|
|
94
|
+
.sidebar-resizer:focus-visible::before,
|
|
95
|
+
html.sidebar-is-resizing .sidebar-resizer::before {
|
|
96
|
+
background: var(--primary-color);
|
|
97
|
+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary-color) 18%, transparent);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.sidebar-resizer:focus-visible {
|
|
101
|
+
outline: 0;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
html.sidebar-is-resizing,
|
|
105
|
+
html.sidebar-is-resizing * {
|
|
106
|
+
cursor: col-resize !important;
|
|
107
|
+
user-select: none !important;
|
|
108
|
+
}
|
|
109
|
+
|
|
63
110
|
.sidebar-hidden {
|
|
64
111
|
display: none;
|
|
65
112
|
}
|
|
@@ -78,7 +125,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
78
125
|
}
|
|
79
126
|
|
|
80
127
|
.sidebar-logo img { height: 32px; }
|
|
81
|
-
.sidebar-logo h1 { font-size:
|
|
128
|
+
.sidebar-logo h1 { font-size: 16px; font-weight: 600; }
|
|
82
129
|
|
|
83
130
|
.sidebar-search {
|
|
84
131
|
position: relative;
|
|
@@ -120,7 +167,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
120
167
|
.protocol-tab {
|
|
121
168
|
padding: 5px 10px;
|
|
122
169
|
border-radius: 20px;
|
|
123
|
-
font-size:
|
|
170
|
+
font-size: 10px;
|
|
124
171
|
font-weight: 500;
|
|
125
172
|
cursor: pointer;
|
|
126
173
|
background: var(--code-bg);
|
|
@@ -147,7 +194,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
147
194
|
height: 18px;
|
|
148
195
|
padding: 0 5px;
|
|
149
196
|
margin-left: 6px;
|
|
150
|
-
font-size:
|
|
197
|
+
font-size: 9px;
|
|
151
198
|
border-radius: 9px;
|
|
152
199
|
background: rgba(0,0,0,0.15);
|
|
153
200
|
}
|
|
@@ -158,7 +205,12 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
158
205
|
|
|
159
206
|
/* ========== TAG GROUPS ========== */
|
|
160
207
|
.sidebar-nav {
|
|
208
|
+
flex: 1;
|
|
209
|
+
min-height: 0;
|
|
210
|
+
overflow-x: hidden;
|
|
211
|
+
overflow-y: auto;
|
|
161
212
|
padding: 0 10px;
|
|
213
|
+
scrollbar-gutter: stable;
|
|
162
214
|
}
|
|
163
215
|
|
|
164
216
|
.tag-group {
|
|
@@ -172,7 +224,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
172
224
|
padding: 8px 10px;
|
|
173
225
|
border-radius: 8px;
|
|
174
226
|
cursor: pointer;
|
|
175
|
-
font-size:
|
|
227
|
+
font-size: 12px;
|
|
176
228
|
font-weight: 600;
|
|
177
229
|
color: var(--text-secondary);
|
|
178
230
|
transition: all 0.2s;
|
|
@@ -189,7 +241,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
189
241
|
|
|
190
242
|
.tag-group-arrow {
|
|
191
243
|
transition: transform 0.2s;
|
|
192
|
-
font-size:
|
|
244
|
+
font-size: 9px;
|
|
193
245
|
}
|
|
194
246
|
|
|
195
247
|
.tag-group.collapsed .tag-group-arrow {
|
|
@@ -198,7 +250,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
198
250
|
|
|
199
251
|
.tag-group-count {
|
|
200
252
|
margin-left: auto;
|
|
201
|
-
font-size:
|
|
253
|
+
font-size: 10px;
|
|
202
254
|
color: var(--text-muted);
|
|
203
255
|
font-weight: 400;
|
|
204
256
|
}
|
|
@@ -252,7 +304,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
252
304
|
color: var(--text-muted);
|
|
253
305
|
cursor: pointer;
|
|
254
306
|
font: inherit;
|
|
255
|
-
font-size:
|
|
307
|
+
font-size: 10px;
|
|
256
308
|
line-height: 1.35;
|
|
257
309
|
padding: 4px 7px;
|
|
258
310
|
text-align: left;
|
|
@@ -300,11 +352,11 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
300
352
|
}
|
|
301
353
|
|
|
302
354
|
.nav-item-intro .nav-item-icon {
|
|
303
|
-
font-size:
|
|
355
|
+
font-size: 14px;
|
|
304
356
|
}
|
|
305
357
|
|
|
306
358
|
.nav-item-intro .nav-item-text {
|
|
307
|
-
font-size:
|
|
359
|
+
font-size: 12px;
|
|
308
360
|
}
|
|
309
361
|
|
|
310
362
|
.nav-item-method {
|
|
@@ -344,8 +396,17 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
344
396
|
|
|
345
397
|
.nav-item-path {
|
|
346
398
|
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
347
|
-
font-size:
|
|
399
|
+
font-size: 10px;
|
|
348
400
|
flex: 1;
|
|
401
|
+
min-width: 0;
|
|
402
|
+
overflow: hidden;
|
|
403
|
+
text-overflow: ellipsis;
|
|
404
|
+
white-space: nowrap;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
.nav-item-text,
|
|
408
|
+
.docs-sidebar-home {
|
|
409
|
+
min-width: 0;
|
|
349
410
|
overflow: hidden;
|
|
350
411
|
text-overflow: ellipsis;
|
|
351
412
|
white-space: nowrap;
|
|
@@ -504,7 +565,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
504
565
|
padding-left: 21px;
|
|
505
566
|
transition: color 0.15s, border-color 0.15s;
|
|
506
567
|
font-family: 'SF Mono', 'Monaco', monospace;
|
|
507
|
-
font-size:
|
|
568
|
+
font-size: 11px;
|
|
508
569
|
}
|
|
509
570
|
|
|
510
571
|
.toc-link:hover {
|
|
@@ -581,7 +642,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
581
642
|
border-radius: 6px;
|
|
582
643
|
background: var(--bg-color);
|
|
583
644
|
color: var(--text-color);
|
|
584
|
-
font-size:
|
|
645
|
+
font-size: 13px;
|
|
585
646
|
font-family: inherit;
|
|
586
647
|
outline: none;
|
|
587
648
|
}
|
|
@@ -592,7 +653,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
592
653
|
|
|
593
654
|
.search-modal-close {
|
|
594
655
|
padding: 6px 10px;
|
|
595
|
-
font-size:
|
|
656
|
+
font-size: 11px;
|
|
596
657
|
font-family: 'SF Mono', 'Monaco', monospace;
|
|
597
658
|
color: var(--text-muted);
|
|
598
659
|
background: var(--surface-color);
|
|
@@ -616,7 +677,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
616
677
|
padding: 24px 16px;
|
|
617
678
|
color: var(--text-muted);
|
|
618
679
|
text-align: center;
|
|
619
|
-
font-size:
|
|
680
|
+
font-size: 12px;
|
|
620
681
|
}
|
|
621
682
|
|
|
622
683
|
.search-modal-group {
|
|
@@ -625,7 +686,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
625
686
|
|
|
626
687
|
.search-modal-group-heading {
|
|
627
688
|
padding: 8px 12px 4px;
|
|
628
|
-
font-size:
|
|
689
|
+
font-size: 10px;
|
|
629
690
|
font-weight: 600;
|
|
630
691
|
letter-spacing: 0.06em;
|
|
631
692
|
text-transform: uppercase;
|
|
@@ -656,12 +717,12 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
656
717
|
}
|
|
657
718
|
|
|
658
719
|
.search-modal-result-title {
|
|
659
|
-
font-size:
|
|
720
|
+
font-size: 12px;
|
|
660
721
|
font-weight: 600;
|
|
661
722
|
}
|
|
662
723
|
|
|
663
724
|
.search-modal-result-desc {
|
|
664
|
-
font-size:
|
|
725
|
+
font-size: 11px;
|
|
665
726
|
color: var(--text-muted);
|
|
666
727
|
overflow: hidden;
|
|
667
728
|
text-overflow: ellipsis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-navigation.js","sourceRoot":"","sources":["../../../../src/docs/ui/style-sections/layout-navigation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG
|
|
1
|
+
{"version":3,"file":"layout-navigation.js","sourceRoot":"","sources":["../../../../src/docs/ui/style-sections/layout-navigation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6tBrC,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const schemaCodeStyles = " /* ========== RESPONSE SAMPLES (Right Panel) ========== */\n .response-samples {\n margin-top: 16px;\n }\n\n .response-samples-header {\n font-size: 12px;\n font-weight: 600;\n color: var(--code-panel-text);\n margin-bottom: 12px;\n }\n\n .sample-tabs {\n display: flex;\n gap: 6px;\n margin-bottom: 12px;\n }\n\n .sample-tab {\n padding: 4px 10px;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n background: transparent;\n border: 1px solid rgba(255,255,255,0.2);\n color: var(--code-panel-text);\n transition: all 0.15s;\n }\n\n .sample-tab:hover {\n background: rgba(255,255,255,0.1);\n }\n\n .sample-tab.active {\n background: rgba(255,255,255,0.15);\n border-color: rgba(255,255,255,0.3);\n }\n\n .sample-tab.status-2xx { color: #10b981; border-color: #10b981; }\n .sample-tab.status-4xx { color: #f59e0b; border-color: #f59e0b; }\n .sample-tab.status-5xx { color: #ef4444; border-color: #ef4444; }\n\n .sample-content {\n display: none;\n }\n\n .sample-content.active {\n display: block;\n }\n\n .sample-content-type {\n font-size: 11px;\n color: #90a4ae;\n margin-bottom: 8px;\n }\n\n .sample-actions {\n display: flex;\n gap: 12px;\n margin-bottom: 8px;\n }\n\n .sample-action {\n font-size: 11px;\n color: #90a4ae;\n cursor: pointer;\n background: none;\n border: none;\n padding: 0;\n transition: color 0.15s;\n }\n\n .sample-action:hover {\n color: white;\n }\n\n .sample-json {\n background: rgba(0,0,0,0.3);\n border-radius: 6px;\n padding: 10px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 11px;\n line-height: 1.4;\n color: #e2e8f0;\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n .sample-json .json-key { color: #f8b500; }\n .sample-json .json-string { color: #a5d6a7; }\n .sample-json .json-number { color: #82aaff; }\n .sample-json .json-boolean { color: #f78c6c; }\n .sample-json .json-null { color: #89ddff; }\n\n /* Right panel sections */\n .right-panel-content {\n display: flex;\n flex-direction: column;\n gap: 18px;\n }\n\n .right-section {\n margin-bottom: 0;\n }\n\n .right-section-header {\n font-size: 11px;\n font-weight: 600;\n color: #90a4ae;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 12px;\n padding-bottom: 6px;\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n .sample-contents {\n margin-top: 0;\n }\n\n .tab-status {\n font-weight: 600;\n }\n\n .tab-status.status-2xx { color: #10b981; }\n .tab-status.status-4xx { color: #f59e0b; }\n .tab-status.status-5xx { color: #ef4444; }\n\n .no-example {\n color: #90a4ae;\n font-style: italic;\n font-size: 13px;\n padding: 12px;\n background: rgba(0,0,0,0.2);\n border-radius: 6px;\n }\n\n .response-desc-only {\n color: #90a4ae;\n font-size: 13px;\n padding: 12px;\n background: rgba(0,0,0,0.2);\n border-radius: 6px;\n }\n\n /* ========== CODE EXAMPLES ========== */\n .code-example {\n background: rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .code-example-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 10px;\n background: var(--code-panel-header);\n font-size: 11px;\n font-weight: 600;\n color: #90a4ae;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .code-example pre {\n margin: 0;\n background: transparent;\n border: none;\n border-radius: 0;\n color: #e2e8f0;\n padding: 10px;\n }\n\n .code-example code {\n color: #e2e8f0;\n white-space: pre-wrap;\n word-break: break-word;\n font-size: 11px;\n line-height: 1.4;\n }\n\n /* Code language tabs */\n .code-tabs {\n display: flex;\n gap: 2px;\n padding: 6px 10px;\n background: var(--code-panel-header);\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n .code-tab {\n padding: 4px 9px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #90a4ae;\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .code-tab:hover {\n background: rgba(255,255,255,0.1);\n color: var(--code-panel-text);\n }\n\n .code-tab.active {\n background: rgba(255,255,255,0.15);\n color: var(--code-panel-text);\n }\n\n .code-contents {\n padding: 0;\n }\n\n .code-content {\n display: none;\n }\n\n .code-content.active {\n display: block;\n }\n\n pre {\n background: var(--code-bg);\n padding: 12px;\n border-radius: 8px;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 11px;\n line-height: 1.45;\n border: 1px solid var(--border-color);\n }\n\n /* ========== SCHEMA VISUALIZATION (Redoc-style) ========== */\n .schema-container {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .schema-row {\n display: flex;\n align-items: flex-start;\n padding: 8px 12px;\n border-bottom: 1px solid var(--border-color);\n transition: background 0.15s;\n }\n\n .schema-row:last-child { border-bottom: none; }\n .schema-row:hover { background: var(--hover-bg); }\n\n .schema-row.nested {\n padding-left: 32px;\n background: rgba(0,0,0,0.02);\n }\n\n .schema-row.nested-2 { padding-left: 48px; }\n .schema-row.nested-3 { padding-left: 64px; }\n .schema-row.nested-4 { padding-left: 80px; }\n\n .schema-property {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 200px;\n flex-shrink: 0;\n }\n\n .schema-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .schema-required {\n color: #ef4444;\n font-weight: 700;\n font-size: 12px;\n }\n\n .schema-type {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 1px 6px;\n border-radius: 4px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 10px;\n font-weight: 500;\n }\n\n .type-string { background: #dbeafe; color: #1d4ed8; }\n .type-number, .type-integer { background: #fef3c7; color: #b45309; }\n .type-boolean { background: #fce7f3; color: #be185d; }\n .type-object { background: #e0e7ff; color: #4338ca; }\n .type-array { background: #d1fae5; color: #047857; }\n .type-null { background: #f3f4f6; color: #6b7280; }\n .type-ref { background: #fef3c7; color: #92400e; font-style: italic; }\n\n [data-theme=\"dark\"] .type-string { background: #1e3a5f; color: #93c5fd; }\n [data-theme=\"dark\"] .type-number, [data-theme=\"dark\"] .type-integer { background: #451a03; color: #fcd34d; }\n [data-theme=\"dark\"] .type-boolean { background: #4a0519; color: #f9a8d4; }\n [data-theme=\"dark\"] .type-object { background: #312e81; color: #c7d2fe; }\n [data-theme=\"dark\"] .type-array { background: #064e3b; color: #6ee7b7; }\n [data-theme=\"dark\"] .type-null { background: #374151; color: #9ca3af; }\n [data-theme=\"dark\"] .type-ref { background: #451a03; color: #fbbf24; }\n\n .schema-details {\n flex: 1;\n padding-left: 16px;\n }\n\n .schema-desc {\n color: var(--text-muted);\n font-size: 12px;\n margin-bottom: 4px;\n }\n\n /* Compact response-body tree. Nested wrappers use a fixed step so\n indentation grows predictably instead of compounding by depth. */\n .schema-tree-root {\n margin-top: 6px;\n }\n\n .schema-tree-nested {\n padding-left: 10px;\n }\n\n .schema-tree-row {\n padding: 4px 0;\n font-size: 12px;\n line-height: 1.35;\n }\n\n .schema-tree-root > .schema-tree-row {\n padding-left: 6px;\n border-left: 1px solid var(--border-color);\n }\n\n .schema-tree-property {\n display: flex;\n align-items: center;\n gap: 5px;\n color: var(--text-primary);\n font-weight: 500;\n }\n\n .schema-tree-required {\n color: #ef4444;\n }\n\n .schema-tree-description {\n margin-top: 2px;\n color: var(--text-muted);\n font-size: 11px;\n line-height: 1.4;\n }\n\n .schema-tree-label {\n color: var(--text-primary);\n font-weight: 500;\n }\n\n .schema-tree-meta {\n color: var(--text-secondary);\n }\n\n .schema-tree-unresolved {\n color: var(--text-muted);\n font-style: italic;\n }\n\n .schema-constraints {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 6px;\n }\n\n .schema-constraint {\n font-size: 11px;\n padding: 2px 6px;\n border-radius: 4px;\n background: var(--code-bg);\n color: var(--text-muted);\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .schema-enum {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 6px;\n }\n\n .schema-enum-value {\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: #fef3c7;\n color: #92400e;\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n [data-theme=\"dark\"] .schema-enum-value {\n background: #451a03;\n color: #fbbf24;\n }\n\n .schema-default {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 4px;\n }\n\n .schema-default code {\n background: var(--code-bg);\n padding: 1px 4px;\n border-radius: 3px;\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .schema-toggle {\n cursor: pointer;\n user-select: none;\n color: var(--primary-color);\n font-size: 12px;\n margin-left: 8px;\n }\n\n .schema-toggle:hover { text-decoration: underline; }\n\n .schema-nested-container {\n overflow: hidden;\n transition: max-height 0.3s ease;\n }\n\n .schema-nested-container.collapsed {\n max-height: 0 !important;\n }\n\n .schema-example {\n margin-top: 16px;\n background: var(--code-bg);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .schema-example-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n background: rgba(0,0,0,0.05);\n border-bottom: 1px solid var(--border-color);\n font-size: 12px;\n font-weight: 600;\n color: var(--text-muted);\n text-transform: uppercase;\n }\n\n .schema-example-body {\n padding: 12px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n /* Response tabs */\n .response-tabs {\n display: flex;\n gap: 2px;\n margin-bottom: 12px;\n border-bottom: 2px solid var(--border-color);\n }\n\n .response-tab {\n padding: 8px 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n border: none;\n background: none;\n color: var(--text-muted);\n border-bottom: 2px solid transparent;\n margin-bottom: -2px;\n transition: all 0.15s;\n }\n\n .response-tab:hover { color: var(--text-color); }\n\n .response-tab.active {\n color: var(--primary-color);\n border-bottom-color: var(--primary-color);\n }\n\n .response-tab.status-2xx { color: #10b981; }\n .response-tab.status-2xx.active { border-bottom-color: #10b981; }\n .response-tab.status-4xx { color: #f59e0b; }\n .response-tab.status-4xx.active { border-bottom-color: #f59e0b; }\n .response-tab.status-5xx { color: #ef4444; }\n .response-tab.status-5xx.active { border-bottom-color: #ef4444; }\n\n .response-content { display: none; }\n .response-content.active { display: block; }\n\n /* Parameters table */\n .params-table {\n width: 100%;\n border-collapse: collapse;\n margin-bottom: 16px;\n }\n\n .params-table th {\n text-align: left;\n padding: 8px 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n color: var(--text-muted);\n background: var(--code-bg);\n border-bottom: 1px solid var(--border-color);\n }\n\n .params-table td {\n padding: 10px 12px;\n border-bottom: 1px solid var(--border-color);\n font-size: 13px;\n }\n\n .params-table tr:last-child td { border-bottom: none; }\n\n .param-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-weight: 600;\n }\n\n .param-in {\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 3px;\n background: var(--code-bg);\n color: var(--text-muted);\n text-transform: uppercase;\n margin-left: 8px;\n }\n\n /* ========== CHANNEL TYPES ========== */\n .channel-type-public { background: #10b981; color: white; }\n .channel-type-private { background: #f59e0b; color: white; }\n .channel-type-presence { background: #8b5cf6; color: white; }\n\n /* ========== INFO GRID ========== */\n .info-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\n gap: 12px;\n margin-bottom: 24px;\n }\n\n .info-card {\n background: var(--code-bg);\n padding: 16px;\n border-radius: 10px;\n border: 1px solid var(--border-color);\n }\n\n .info-card-title {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 6px;\n }\n\n .info-card-value {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n /* ========== RESPONSIVE ========== */\n @media (max-width: 900px) {\n .app-container { grid-template-columns: 1fr; }\n .sidebar {\n display: none;\n position: fixed;\n left: 0;\n top: 0;\n width: 300px;\n z-index: 100;\n }\n .sidebar.mobile-open { display: block; }\n .hero { padding: 40px 24px; min-height: 100vh; }\n .hero-logo { height: 80px; margin-bottom: 24px; }\n .hero-title { font-size: 36px; }\n .hero-version { font-size: 12px; margin-left: 8px; }\n .hero-tagline { font-size: 17px; margin-bottom: 20px; }\n .hero-features { flex-direction: column; align-items: center; gap: 12px; }\n .hero-features li { font-size: 15px; }\n .hero-btn { padding: 12px 24px; font-size: 15px; }\n .github-corner svg { width: 60px; height: 60px; }\n .main { padding: 24px; }\n }\n\n /* ========== ANIMATIONS ========== */\n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n .endpoint-section {\n animation: fadeIn 0.3s ease-out;\n }\n\n /* ========== HTTP ENDPOINT (ReDoc-style) ========== */\n .http-param-group {\n margin-bottom: 14px;\n }\n\n .http-param-group-title {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin-bottom: 8px;\n }\n\n .http-params {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .http-param {\n padding: 8px 12px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .http-param:last-child { border-bottom: none; }\n\n .http-param-head {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n }\n\n .http-param-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .http-param-required {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: #ef4444;\n }\n\n .http-param-deprecated {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: #f59e0b;\n }\n\n .http-param-desc {\n color: var(--text-muted);\n font-size: 12px;\n margin-top: 4px;\n line-height: 1.4;\n }\n\n /* Validation constraint chips (reuses .schema-constraint look) */\n .constraint-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 5px;\n }\n\n .constraint-chip {\n font-size: 10px;\n padding: 1px 6px;\n border-radius: 4px;\n background: var(--code-bg);\n color: var(--text-muted);\n border: 1px solid var(--border-color);\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .constraint-chip.constraint-enum {\n background: #fef3c7;\n color: #92400e;\n border-color: transparent;\n }\n\n [data-theme=\"dark\"] .constraint-chip.constraint-enum {\n background: #451a03;\n color: #fbbf24;\n }\n\n /* Response accordions */\n .response-accordion {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n margin-bottom: 8px;\n overflow: hidden;\n }\n\n .response-accordion-header {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 9px 12px;\n background: var(--code-bg);\n border: none;\n cursor: pointer;\n text-align: left;\n font-size: 12px;\n color: var(--text-color);\n transition: background 0.15s;\n }\n\n .response-accordion-header:hover { background: var(--hover-bg); }\n\n .response-accordion-caret {\n flex-shrink: 0;\n font-size: 10px;\n color: var(--text-muted);\n transition: transform 0.2s ease;\n }\n\n .response-accordion.open .response-accordion-caret {\n transform: rotate(90deg);\n }\n\n .response-status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .response-status-dot.status-2xx { background: #10b981; }\n .response-status-dot.status-3xx { background: #3b82f6; }\n .response-status-dot.status-4xx { background: #f59e0b; }\n .response-status-dot.status-5xx { background: #ef4444; }\n\n .response-status-code {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-weight: 600;\n }\n\n .response-status-desc {\n color: var(--text-muted);\n }\n\n .response-accordion-body {\n padding: 10px 12px;\n border-top: 1px solid var(--border-color);\n display: none;\n }\n\n .response-accordion.open .response-accordion-body { display: block; }\n\n .response-subhead {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 6px;\n }\n\n .response-block + .response-block { margin-top: 12px; }\n\n /* Multi-language code samples */\n .http-code-samples {\n margin-top: 8px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n background: var(--code-bg);\n }\n\n .http-code-samples .code-tabs {\n flex-wrap: wrap;\n background: rgba(0,0,0,0.04);\n }\n\n [data-theme=\"dark\"] .http-code-samples .code-tabs {\n background: rgba(255,255,255,0.03);\n }\n\n .http-code-sample-pre {\n margin: 0;\n padding: 10px;\n background: transparent;\n border: none;\n border-radius: 0;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 11px;\n line-height: 1.4;\n color: var(--text-color);\n white-space: pre;\n }\n\n .http-code-copy,\n .sample-code-copy {\n margin-left: auto;\n padding: 3px 8px;\n background: transparent;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n color: var(--text-muted);\n font-size: 10px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .http-code-copy:hover,\n .sample-code-copy:hover {\n color: #fff;\n border-color: #90a4ae;\n }\n\n /* Right panel (third column): keep request/response samples dark & legible\n regardless of the active theme, matching ReDoc's sample column. */\n .endpoint-right .endpoint-right-section + .endpoint-right-section {\n margin-top: 18px;\n }\n\n .endpoint-right .http-code-samples {\n background: rgba(0,0,0,0.25);\n border-color: rgba(255,255,255,0.1);\n }\n\n .endpoint-right .http-code-samples .code-tabs {\n background: rgba(0,0,0,0.2);\n border-color: rgba(255,255,255,0.1);\n }\n\n .endpoint-right .http-code-sample-pre {\n color: var(--code-panel-text);\n }\n\n .response-example-toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n min-height: 24px;\n margin: 2px 0 6px;\n }\n\n .response-example-toolbar .response-example-name {\n margin: 0;\n }\n\n .endpoint-right .sample-code {\n margin: 0;\n padding: 10px;\n overflow-x: auto;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 6px;\n background: rgba(0,0,0,0.25);\n color: var(--code-panel-text);\n white-space: pre;\n word-break: normal;\n }\n\n .endpoint-right .sample-code code {\n color: inherit;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 11px;\n line-height: 1.4;\n white-space: inherit;\n }\n\n .endpoint-right .token.comment,\n .endpoint-right .token.prolog,\n .endpoint-right .token.doctype,\n .endpoint-right .token.cdata {\n color: #90a4ae;\n }\n\n .endpoint-right .token.punctuation { color: #cfd8dc; }\n\n .endpoint-right .token.property,\n .endpoint-right .token.tag,\n .endpoint-right .token.boolean,\n .endpoint-right .token.number,\n .endpoint-right .token.constant,\n .endpoint-right .token.symbol {\n color: #f8b500;\n }\n\n .endpoint-right .token.selector,\n .endpoint-right .token.attr-name,\n .endpoint-right .token.string,\n .endpoint-right .token.char,\n .endpoint-right .token.builtin {\n color: #a5d6a7;\n }\n\n .endpoint-right .token.operator,\n .endpoint-right .token.entity,\n .endpoint-right .token.url,\n .endpoint-right .token.variable {\n color: #89ddff;\n }\n\n .endpoint-right .token.atrule,\n .endpoint-right .token.attr-value,\n .endpoint-right .token.function,\n .endpoint-right .token.class-name {\n color: #82aaff;\n }\n\n .endpoint-right .token.keyword { color: #c792ea; }\n\n .endpoint-right .code-tab {\n color: #90a4ae;\n }\n\n .endpoint-right .code-tab.active {\n background: rgba(255,255,255,0.12);\n color: #fff;\n }\n\n .endpoint-right .response-subhead {\n color: #90a4ae;\n }\n\n /* ========== AUTHENTICATION ========== */\n .authentication-section {\n margin: 28px 36px 36px;\n padding: 24px;\n border: 1px solid var(--border-color);\n border-radius: 10px;\n background: var(--surface-color);\n }\n\n .authentication-header h2 {\n margin: 4px 0 6px;\n font-size: var(--font-size-h2);\n color: var(--text-primary);\n }\n\n .authentication-header p,\n .auth-scheme-description,\n .auth-scheme-meta {\n color: var(--text-muted);\n font-size: var(--font-size-small);\n }\n\n .auth-environment {\n display: grid;\n gap: 6px;\n margin: 18px 0;\n }\n\n .auth-environment-select,\n .auth-input,\n .auth-operation-body {\n width: 100%;\n padding: 8px 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n background: var(--bg-primary);\n color: var(--text-primary);\n font: inherit;\n font-size: var(--font-size-small);\n }\n\n .auth-operation-body {\n min-height: 112px;\n resize: vertical;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: var(--font-size-code);\n }\n\n .auth-schemes {\n display: grid;\n gap: 12px;\n }\n\n .auth-scheme {\n padding: 16px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n background: var(--bg-primary);\n }\n\n .auth-scheme-title {\n display: flex;\n align-items: baseline;\n gap: 10px;\n margin-bottom: 10px;\n color: var(--text-primary);\n }\n\n .auth-scheme-title span,\n .auth-field-label,\n .auth-status {\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n }\n\n .auth-form,\n .auth-field {\n display: grid;\n gap: 6px;\n }\n\n .auth-form { gap: 10px; }\n\n .auth-oauth-flow {\n display: grid;\n gap: 10px;\n margin: 6px 0;\n padding: 14px;\n border: 1px solid var(--border-color);\n border-radius: 7px;\n }\n\n .auth-oauth-flow legend {\n padding: 0 6px;\n font-weight: 600;\n font-size: var(--font-size-small);\n }\n\n .auth-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 10px;\n }\n\n .auth-save,\n .auth-request-token,\n .auth-oauth-token,\n .auth-oauth-authorize,\n .auth-oidc-authorize {\n padding: 7px 12px;\n border: 1px solid var(--primary-color);\n border-radius: 6px;\n background: transparent;\n color: var(--primary-color);\n cursor: pointer;\n font-size: var(--font-size-small);\n font-weight: 600;\n }\n\n .auth-status-error { color: #dc2626; }\n\n @media (max-width: 760px) {\n .authentication-section { margin: 20px 16px 28px; padding: 18px; }\n }\n\n .docs-overview-server-variables {\n width: 100%;\n margin-top: 8px;\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n }\n\n .docs-overview-server-variables ul {\n display: grid;\n gap: 5px;\n margin-top: 5px;\n list-style: none;\n }\n\n .docs-overview-server-variables li {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n }\n\n .endpoint-deprecated,\n .http-param-deprecated {\n padding: 2px 6px;\n border: 1px solid #d97706;\n border-radius: 4px;\n color: #b45309;\n font-size: var(--font-size-xs);\n font-weight: 600;\n }\n\n .response-media-sample + .response-media-sample,\n .request-example + .request-example {\n margin-top: 14px;\n padding-top: 14px;\n border-top: 1px solid rgba(255,255,255,0.12);\n }\n\n .response-example-name {\n margin: 6px 0;\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n font-weight: 600;\n }\n\n .sample-code-error { color: #fca5a5; }\n\n .response-link {\n display: grid;\n gap: 4px;\n margin-top: 8px;\n padding: 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n font-size: var(--font-size-small);\n }\n\n .response-link-parameters { white-space: pre-wrap; }\n\n .http-try {\n display: grid;\n gap: 10px;\n margin-top: 12px;\n }\n\n .http-try-run {\n justify-self: start;\n padding: 7px 12px;\n border: 1px solid #8bc34a;\n border-radius: 6px;\n background: transparent;\n color: #c5e1a5;\n cursor: pointer;\n font-size: var(--font-size-small);\n font-weight: 600;\n }\n\n .http-try-run:disabled { cursor: wait; opacity: 0.6; }\n\n .http-try-result {\n max-height: 280px;\n overflow: auto;\n padding: 12px;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 6px;\n color: var(--code-panel-text);\n white-space: pre-wrap;\n }\n\n .async-contracts {\n margin: 28px 36px;\n padding: 22px;\n border: 1px solid var(--border-color);\n border-radius: 9px;\n background: var(--surface-color);\n }\n\n .endpoint-left > .async-contracts { margin: 16px 0 0; }\n\n .async-contracts h2 { font-size: var(--font-size-h3); }\n .async-contracts h3 { margin-top: 14px; font-size: var(--font-size-h5); }\n .async-contract-note { margin: 5px 0 12px; color: var(--text-muted); font-size: var(--font-size-small); }\n\n .async-contract {\n display: grid;\n gap: 7px;\n margin-top: 8px;\n padding: 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n }\n\n .async-contract-operation {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n font-size: var(--font-size-small);\n }\n\n @media (max-width: 760px) {\n .async-contracts { margin: 20px 16px; padding: 18px; }\n }\n\n";
|
|
1
|
+
export declare const schemaCodeStyles = " /* ========== RESPONSE SAMPLES (Right Panel) ========== */\n .response-samples {\n margin-top: 16px;\n }\n\n .response-samples-header {\n font-size: 11px;\n font-weight: 600;\n color: var(--code-panel-text);\n margin-bottom: 12px;\n }\n\n .sample-tabs {\n display: flex;\n gap: 6px;\n margin-bottom: 12px;\n }\n\n .sample-tab {\n padding: 4px 10px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 500;\n cursor: pointer;\n background: transparent;\n border: 1px solid rgba(255,255,255,0.2);\n color: var(--code-panel-text);\n transition: all 0.15s;\n }\n\n .sample-tab:hover {\n background: rgba(255,255,255,0.1);\n }\n\n .sample-tab.active {\n background: rgba(255,255,255,0.15);\n border-color: rgba(255,255,255,0.3);\n }\n\n .sample-tab.status-2xx { color: #10b981; border-color: #10b981; }\n .sample-tab.status-4xx { color: #f59e0b; border-color: #f59e0b; }\n .sample-tab.status-5xx { color: #ef4444; border-color: #ef4444; }\n\n .sample-content {\n display: none;\n }\n\n .sample-content.active {\n display: block;\n }\n\n .sample-content-type {\n font-size: 10px;\n color: #90a4ae;\n margin-bottom: 8px;\n }\n\n .sample-actions {\n display: flex;\n gap: 12px;\n margin-bottom: 8px;\n }\n\n .sample-action {\n font-size: 10px;\n color: #90a4ae;\n cursor: pointer;\n background: none;\n border: none;\n padding: 0;\n transition: color 0.15s;\n }\n\n .sample-action:hover {\n color: white;\n }\n\n .sample-json {\n background: rgba(0,0,0,0.3);\n border-radius: 6px;\n padding: 10px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 10px;\n line-height: 1.4;\n color: #e2e8f0;\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n .sample-json .json-key { color: #f8b500; }\n .sample-json .json-string { color: #a5d6a7; }\n .sample-json .json-number { color: #82aaff; }\n .sample-json .json-boolean { color: #f78c6c; }\n .sample-json .json-null { color: #89ddff; }\n\n /* Right panel sections */\n .right-panel-content {\n display: flex;\n flex-direction: column;\n gap: 18px;\n }\n\n .right-section {\n margin-bottom: 0;\n }\n\n .right-section-header {\n font-size: 10px;\n font-weight: 600;\n color: #90a4ae;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 12px;\n padding-bottom: 6px;\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n .sample-contents {\n margin-top: 0;\n }\n\n .tab-status {\n font-weight: 600;\n }\n\n .tab-status.status-2xx { color: #10b981; }\n .tab-status.status-4xx { color: #f59e0b; }\n .tab-status.status-5xx { color: #ef4444; }\n\n .no-example {\n color: #90a4ae;\n font-style: italic;\n font-size: 12px;\n padding: 12px;\n background: rgba(0,0,0,0.2);\n border-radius: 6px;\n }\n\n .response-desc-only {\n color: #90a4ae;\n font-size: 12px;\n padding: 12px;\n background: rgba(0,0,0,0.2);\n border-radius: 6px;\n }\n\n /* ========== CODE EXAMPLES ========== */\n .code-example {\n background: rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .code-example-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 10px;\n background: var(--code-panel-header);\n font-size: 10px;\n font-weight: 600;\n color: #90a4ae;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .code-example pre {\n margin: 0;\n background: transparent;\n border: none;\n border-radius: 0;\n color: #e2e8f0;\n padding: 10px;\n }\n\n .code-example code {\n color: #e2e8f0;\n white-space: pre-wrap;\n word-break: break-word;\n font-size: 10px;\n line-height: 1.4;\n }\n\n /* Code language tabs */\n .code-tabs {\n display: flex;\n gap: 2px;\n padding: 6px 10px;\n background: var(--code-panel-header);\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n .code-tab {\n padding: 4px 9px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #90a4ae;\n font-size: 10px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .code-tab:hover {\n background: rgba(255,255,255,0.1);\n color: var(--code-panel-text);\n }\n\n .code-tab.active {\n background: rgba(255,255,255,0.15);\n color: var(--code-panel-text);\n }\n\n .code-contents {\n padding: 0;\n }\n\n .code-content {\n display: none;\n }\n\n .code-content.active {\n display: block;\n }\n\n pre {\n background: var(--code-bg);\n padding: 12px;\n border-radius: 8px;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 10px;\n line-height: 1.45;\n border: 1px solid var(--border-color);\n }\n\n /* ========== SCHEMA VISUALIZATION (Redoc-style) ========== */\n .schema-container {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .schema-row {\n display: flex;\n align-items: flex-start;\n padding: 8px 12px;\n border-bottom: 1px solid var(--border-color);\n transition: background 0.15s;\n }\n\n .schema-row:last-child { border-bottom: none; }\n .schema-row:hover { background: var(--hover-bg); }\n\n .schema-row.nested {\n padding-left: 32px;\n background: rgba(0,0,0,0.02);\n }\n\n .schema-row.nested-2 { padding-left: 48px; }\n .schema-row.nested-3 { padding-left: 64px; }\n .schema-row.nested-4 { padding-left: 80px; }\n\n .schema-property {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 200px;\n flex-shrink: 0;\n }\n\n .schema-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 11px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .schema-required {\n color: #ef4444;\n font-weight: 700;\n font-size: 11px;\n }\n\n .schema-type {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 1px 6px;\n border-radius: 4px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 9px;\n font-weight: 500;\n }\n\n .type-string { background: #dbeafe; color: #1d4ed8; }\n .type-number, .type-integer { background: #fef3c7; color: #b45309; }\n .type-boolean { background: #fce7f3; color: #be185d; }\n .type-object { background: #e0e7ff; color: #4338ca; }\n .type-array { background: #d1fae5; color: #047857; }\n .type-null { background: #f3f4f6; color: #6b7280; }\n .type-ref { background: #fef3c7; color: #92400e; font-style: italic; }\n\n [data-theme=\"dark\"] .type-string { background: #1e3a5f; color: #93c5fd; }\n [data-theme=\"dark\"] .type-number, [data-theme=\"dark\"] .type-integer { background: #451a03; color: #fcd34d; }\n [data-theme=\"dark\"] .type-boolean { background: #4a0519; color: #f9a8d4; }\n [data-theme=\"dark\"] .type-object { background: #312e81; color: #c7d2fe; }\n [data-theme=\"dark\"] .type-array { background: #064e3b; color: #6ee7b7; }\n [data-theme=\"dark\"] .type-null { background: #374151; color: #9ca3af; }\n [data-theme=\"dark\"] .type-ref { background: #451a03; color: #fbbf24; }\n\n .schema-details {\n flex: 1;\n padding-left: 16px;\n }\n\n .schema-desc {\n color: var(--text-muted);\n font-size: 11px;\n margin-bottom: 4px;\n }\n\n /* Compact ReDoc-style contract tree. Names and requiredness stay in a\n narrow left rail; type, examples, constraints and prose share the\n wider detail column. */\n .schema-tree-root {\n margin-top: 4px;\n border-left: 1px solid var(--border-color);\n border-left-color: color-mix(in srgb, var(--primary-color) 55%, var(--border-color));\n }\n\n .schema-tree-nested {\n margin-left: 14px;\n border-left: 1px solid var(--border-color);\n }\n\n .schema-tree-row {\n position: relative;\n display: grid;\n grid-template-columns: minmax(120px, 28%) minmax(0, 1fr);\n gap: 14px;\n padding: 7px 0 7px 10px;\n border-bottom: 1px solid var(--border-color);\n font-size: 11px;\n line-height: 1.4;\n }\n\n .schema-tree-row::before {\n position: absolute;\n top: 13px;\n left: 0;\n width: 9px;\n border-top: 1px solid var(--border-color);\n border-top-color: color-mix(in srgb, var(--primary-color) 55%, var(--border-color));\n content: '';\n }\n\n .schema-tree-key {\n position: relative;\n display: flex;\n min-width: 0;\n flex-direction: column;\n align-items: flex-start;\n gap: 1px;\n padding-left: 8px;\n }\n\n .schema-tree-name {\n overflow-wrap: anywhere;\n background: transparent;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 10px;\n color: var(--text-primary);\n font-weight: 500;\n }\n\n .schema-tree-required,\n .schema-tree-optional,\n .schema-tree-deprecated {\n font-size: 9px;\n font-weight: 600;\n letter-spacing: 0.35px;\n line-height: 1.35;\n text-transform: uppercase;\n }\n\n .schema-tree-required {\n color: #ef4444;\n }\n\n .schema-tree-optional { color: var(--text-muted); }\n .schema-tree-deprecated { color: #d97706; }\n\n .schema-tree-toggle {\n position: absolute;\n top: -1px;\n left: -8px;\n width: 16px;\n height: 16px;\n padding: 0;\n transform: rotate(0deg);\n border: 0;\n background: transparent;\n color: var(--primary-color);\n cursor: pointer;\n font-size: 14px;\n line-height: 14px;\n transition: transform 120ms ease;\n }\n\n .schema-tree-toggle.open { transform: rotate(90deg); }\n\n .schema-tree-details { min-width: 0; }\n\n .schema-tree-type {\n color: var(--text-muted);\n font-size: 10px;\n line-height: 1.35;\n }\n\n .schema-tree-description {\n margin-top: 3px;\n color: var(--text-color);\n font-size: 11px;\n line-height: 1.42;\n }\n\n .schema-tree-description.markdown-content p {\n margin: 0 0 3px;\n color: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n .schema-tree-description.markdown-content p:last-child { margin-bottom: 0; }\n\n .schema-tree-description.markdown-content ul,\n .schema-tree-description.markdown-content ol {\n margin: 4px 0 2px 16px;\n padding: 0;\n }\n\n .schema-tree-description.markdown-content li { margin: 1px 0; }\n\n .schema-tree-example {\n display: flex;\n min-width: 0;\n align-items: baseline;\n gap: 5px;\n margin-top: 2px;\n color: var(--text-muted);\n font-size: 10px;\n }\n\n .schema-tree-example code {\n overflow: hidden;\n padding: 0 3px;\n border: 1px solid var(--border-color);\n border-radius: 2px;\n background: var(--code-bg);\n color: var(--text-color);\n font-size: 9px;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .schema-tree-items-label {\n display: inline-block;\n margin-top: 3px;\n color: var(--text-muted);\n font-size: 9px;\n font-weight: 600;\n text-transform: uppercase;\n }\n\n .schema-tree-children.collapsed { display: none; }\n\n .schema-tree-meta {\n display: block;\n color: var(--text-secondary);\n }\n\n .schema-tree-unresolved {\n color: var(--text-muted);\n font-style: italic;\n }\n\n .schema-constraints {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 6px;\n }\n\n .schema-constraint {\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 4px;\n background: var(--code-bg);\n color: var(--text-muted);\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .schema-enum {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 6px;\n }\n\n .schema-enum-value {\n font-size: 10px;\n padding: 2px 8px;\n border-radius: 4px;\n background: #fef3c7;\n color: #92400e;\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n [data-theme=\"dark\"] .schema-enum-value {\n background: #451a03;\n color: #fbbf24;\n }\n\n .schema-default {\n font-size: 11px;\n color: var(--text-muted);\n margin-top: 4px;\n }\n\n .schema-default code {\n background: var(--code-bg);\n padding: 1px 4px;\n border-radius: 3px;\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .schema-toggle {\n cursor: pointer;\n user-select: none;\n color: var(--primary-color);\n font-size: 11px;\n margin-left: 8px;\n }\n\n .schema-toggle:hover { text-decoration: underline; }\n\n .schema-nested-container {\n overflow: hidden;\n transition: max-height 0.3s ease;\n }\n\n .schema-nested-container.collapsed {\n max-height: 0 !important;\n }\n\n .schema-example {\n margin-top: 16px;\n background: var(--code-bg);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .schema-example-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n background: rgba(0,0,0,0.05);\n border-bottom: 1px solid var(--border-color);\n font-size: 11px;\n font-weight: 600;\n color: var(--text-muted);\n text-transform: uppercase;\n }\n\n .schema-example-body {\n padding: 12px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 11px;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n /* Response tabs */\n .response-tabs {\n display: flex;\n gap: 2px;\n margin-bottom: 12px;\n border-bottom: 2px solid var(--border-color);\n }\n\n .response-tab {\n padding: 8px 16px;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n border: none;\n background: none;\n color: var(--text-muted);\n border-bottom: 2px solid transparent;\n margin-bottom: -2px;\n transition: all 0.15s;\n }\n\n .response-tab:hover { color: var(--text-color); }\n\n .response-tab.active {\n color: var(--primary-color);\n border-bottom-color: var(--primary-color);\n }\n\n .response-tab.status-2xx { color: #10b981; }\n .response-tab.status-2xx.active { border-bottom-color: #10b981; }\n .response-tab.status-4xx { color: #f59e0b; }\n .response-tab.status-4xx.active { border-bottom-color: #f59e0b; }\n .response-tab.status-5xx { color: #ef4444; }\n .response-tab.status-5xx.active { border-bottom-color: #ef4444; }\n\n .response-content { display: none; }\n .response-content.active { display: block; }\n\n /* Parameters table */\n .params-table {\n width: 100%;\n border-collapse: collapse;\n margin-bottom: 16px;\n }\n\n .params-table th {\n text-align: left;\n padding: 8px 12px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n color: var(--text-muted);\n background: var(--code-bg);\n border-bottom: 1px solid var(--border-color);\n }\n\n .params-table td {\n padding: 10px 12px;\n border-bottom: 1px solid var(--border-color);\n font-size: 12px;\n }\n\n .params-table tr:last-child td { border-bottom: none; }\n\n .param-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-weight: 600;\n }\n\n .param-in {\n font-size: 9px;\n padding: 2px 6px;\n border-radius: 3px;\n background: var(--code-bg);\n color: var(--text-muted);\n text-transform: uppercase;\n margin-left: 8px;\n }\n\n /* ========== CHANNEL TYPES ========== */\n .channel-type-public { background: #10b981; color: white; }\n .channel-type-private { background: #f59e0b; color: white; }\n .channel-type-presence { background: #8b5cf6; color: white; }\n\n /* ========== INFO GRID ========== */\n .info-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\n gap: 12px;\n margin-bottom: 24px;\n }\n\n .info-card {\n background: var(--code-bg);\n padding: 16px;\n border-radius: 10px;\n border: 1px solid var(--border-color);\n }\n\n .info-card-title {\n font-size: 10px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 6px;\n }\n\n .info-card-value {\n font-size: 14px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n /* ========== RESPONSIVE ========== */\n @media (max-width: 900px) {\n .app-container { grid-template-columns: 1fr; }\n .sidebar {\n display: none;\n position: fixed;\n left: 0;\n top: 0;\n width: 300px;\n z-index: 100;\n }\n .sidebar-resizer { display: none; }\n .sidebar.mobile-open { display: flex; }\n .hero { padding: 40px 24px; min-height: 100vh; }\n .hero-logo { height: 80px; margin-bottom: 24px; }\n .hero-title { font-size: 32px; }\n .hero-version { font-size: 11px; margin-left: 8px; }\n .hero-tagline { font-size: 15px; margin-bottom: 20px; }\n .hero-features { flex-direction: column; align-items: center; gap: 12px; }\n .hero-features li { font-size: 13px; }\n .hero-btn { padding: 12px 24px; font-size: 13px; }\n .github-corner svg { width: 60px; height: 60px; }\n .main { padding: 24px; }\n }\n\n /* ========== ANIMATIONS ========== */\n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n .endpoint-section {\n animation: fadeIn 0.3s ease-out;\n }\n\n /* ========== HTTP ENDPOINT (ReDoc-style) ========== */\n .http-param-group {\n margin-bottom: 14px;\n }\n\n .http-param-group-title {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin-bottom: 0;\n padding-bottom: 5px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .http-params {\n overflow: visible;\n }\n\n .http-param {\n padding-top: 7px;\n padding-right: 0;\n padding-bottom: 7px;\n }\n\n .http-param:last-child { border-bottom: none; }\n\n .http-param-head {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n }\n\n .http-param-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 11px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .http-param-required {\n font-size: 9px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: #ef4444;\n }\n\n .http-param-deprecated {\n font-size: 9px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: #f59e0b;\n }\n\n .http-param-desc {\n color: var(--text-muted);\n font-size: 11px;\n margin-top: 4px;\n line-height: 1.4;\n }\n\n /* Validation constraint chips (reuses .schema-constraint look) */\n .constraint-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 5px;\n }\n\n .constraint-chip {\n font-size: 9px;\n padding: 1px 6px;\n border-radius: 4px;\n background: var(--code-bg);\n color: var(--text-muted);\n border: 1px solid var(--border-color);\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .constraint-chip.constraint-enum {\n background: #fef3c7;\n color: #92400e;\n border-color: transparent;\n }\n\n [data-theme=\"dark\"] .constraint-chip.constraint-enum {\n background: #451a03;\n color: #fbbf24;\n }\n\n /* Response accordions */\n .response-accordion {\n border: 0;\n border-radius: 3px;\n margin-bottom: 8px;\n overflow: hidden;\n }\n\n .response-accordion-header {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 8px 10px;\n background: var(--code-bg);\n border: none;\n cursor: pointer;\n text-align: left;\n font-size: 11px;\n color: var(--text-color);\n transition: background 0.15s;\n }\n\n .response-accordion-header:hover { background: var(--hover-bg); }\n\n .response-accordion-header.status-2xx { background: rgba(16,185,129,0.08); }\n .response-accordion-header.status-3xx { background: rgba(59,130,246,0.08); }\n .response-accordion-header.status-4xx { background: rgba(245,158,11,0.09); }\n .response-accordion-header.status-5xx { background: rgba(239,68,68,0.09); }\n\n .response-accordion-caret {\n flex-shrink: 0;\n font-size: 9px;\n color: var(--text-muted);\n transition: transform 0.2s ease;\n }\n\n .response-accordion.open .response-accordion-caret {\n transform: rotate(90deg);\n }\n\n .response-status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .response-status-dot.status-2xx { background: #10b981; }\n .response-status-dot.status-3xx { background: #3b82f6; }\n .response-status-dot.status-4xx { background: #f59e0b; }\n .response-status-dot.status-5xx { background: #ef4444; }\n\n .response-status-code {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-weight: 600;\n }\n\n .response-status-desc {\n color: var(--text-muted);\n }\n\n .response-accordion-body {\n padding: 9px 8px 5px;\n border-top: 0;\n display: none;\n }\n\n .response-accordion.open .response-accordion-body { display: block; }\n\n .response-subhead {\n font-size: 9px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0;\n padding-bottom: 5px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .response-block + .response-block { margin-top: 10px; }\n\n @media (max-width: 640px) {\n .schema-tree-row {\n grid-template-columns: minmax(100px, 35%) minmax(0, 1fr);\n gap: 8px;\n }\n }\n\n /* Multi-language code samples */\n .http-code-samples {\n margin-top: 8px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n background: var(--code-bg);\n }\n\n .http-code-samples .code-tabs {\n flex-wrap: wrap;\n background: rgba(0,0,0,0.04);\n }\n\n [data-theme=\"dark\"] .http-code-samples .code-tabs {\n background: rgba(255,255,255,0.03);\n }\n\n .http-code-sample-pre {\n margin: 0;\n padding: 10px;\n background: transparent;\n border: none;\n border-radius: 0;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 10px;\n line-height: 1.4;\n color: var(--text-color);\n white-space: pre;\n }\n\n .http-code-copy,\n .sample-code-copy {\n margin-left: auto;\n padding: 3px 8px;\n background: transparent;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n color: var(--text-muted);\n font-size: 9px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .http-code-copy:hover,\n .sample-code-copy:hover {\n color: #fff;\n border-color: #90a4ae;\n }\n\n /* Right panel (third column): keep request/response samples dark & legible\n regardless of the active theme, matching ReDoc's sample column. */\n .endpoint-right .endpoint-right-section + .endpoint-right-section {\n margin-top: 18px;\n }\n\n .endpoint-right .http-code-samples {\n background: rgba(0,0,0,0.25);\n border-color: rgba(255,255,255,0.1);\n }\n\n .endpoint-right .http-code-samples .code-tabs {\n background: rgba(0,0,0,0.2);\n border-color: rgba(255,255,255,0.1);\n }\n\n .endpoint-right .http-code-sample-pre {\n color: var(--code-panel-text);\n }\n\n .response-example-toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n min-height: 24px;\n margin: 2px 0 6px;\n }\n\n .response-example-toolbar .response-example-name {\n margin: 0;\n }\n\n .endpoint-right .sample-code {\n margin: 0;\n padding: 10px;\n overflow-x: auto;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 6px;\n background: rgba(0,0,0,0.25);\n color: var(--code-panel-text);\n white-space: pre;\n word-break: normal;\n }\n\n .endpoint-right .sample-code code {\n color: inherit;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 10px;\n line-height: 1.4;\n white-space: inherit;\n }\n\n .endpoint-right .token.comment,\n .endpoint-right .token.prolog,\n .endpoint-right .token.doctype,\n .endpoint-right .token.cdata {\n color: #90a4ae;\n }\n\n .endpoint-right .token.punctuation { color: #cfd8dc; }\n\n .endpoint-right .token.property,\n .endpoint-right .token.tag,\n .endpoint-right .token.boolean,\n .endpoint-right .token.number,\n .endpoint-right .token.constant,\n .endpoint-right .token.symbol {\n color: #f8b500;\n }\n\n .endpoint-right .token.selector,\n .endpoint-right .token.attr-name,\n .endpoint-right .token.string,\n .endpoint-right .token.char,\n .endpoint-right .token.builtin {\n color: #a5d6a7;\n }\n\n .endpoint-right .token.operator,\n .endpoint-right .token.entity,\n .endpoint-right .token.url,\n .endpoint-right .token.variable {\n color: #89ddff;\n }\n\n .endpoint-right .token.atrule,\n .endpoint-right .token.attr-value,\n .endpoint-right .token.function,\n .endpoint-right .token.class-name {\n color: #82aaff;\n }\n\n .endpoint-right .token.keyword { color: #c792ea; }\n\n .endpoint-right .code-tab {\n color: #90a4ae;\n }\n\n .endpoint-right .code-tab.active {\n background: rgba(255,255,255,0.12);\n color: #fff;\n }\n\n .endpoint-right .response-subhead {\n color: #90a4ae;\n }\n\n /* ========== AUTHENTICATION ========== */\n .authentication-section {\n margin: 28px 36px 36px;\n padding: 24px;\n border: 1px solid var(--border-color);\n border-radius: 10px;\n background: var(--surface-color);\n }\n\n .authentication-header h2 {\n margin: 4px 0 6px;\n font-size: var(--font-size-h2);\n color: var(--text-primary);\n }\n\n .authentication-header p,\n .auth-scheme-description,\n .auth-scheme-meta {\n color: var(--text-muted);\n font-size: var(--font-size-small);\n }\n\n .auth-environment {\n display: grid;\n gap: 6px;\n margin: 18px 0;\n }\n\n .auth-environment-select,\n .auth-input,\n .auth-operation-body {\n width: 100%;\n padding: 8px 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n background: var(--bg-primary);\n color: var(--text-primary);\n font: inherit;\n font-size: var(--font-size-small);\n }\n\n .auth-operation-body {\n min-height: 112px;\n resize: vertical;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: var(--font-size-code);\n }\n\n .auth-schemes {\n display: grid;\n gap: 12px;\n }\n\n .auth-scheme {\n padding: 16px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n background: var(--bg-primary);\n }\n\n .auth-scheme-title {\n display: flex;\n align-items: baseline;\n gap: 10px;\n margin-bottom: 10px;\n color: var(--text-primary);\n }\n\n .auth-scheme-title span,\n .auth-field-label,\n .auth-status {\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n }\n\n .auth-form,\n .auth-field {\n display: grid;\n gap: 6px;\n }\n\n .auth-form { gap: 10px; }\n\n .auth-oauth-flow {\n display: grid;\n gap: 10px;\n margin: 6px 0;\n padding: 14px;\n border: 1px solid var(--border-color);\n border-radius: 7px;\n }\n\n .auth-oauth-flow legend {\n padding: 0 6px;\n font-weight: 600;\n font-size: var(--font-size-small);\n }\n\n .auth-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 10px;\n }\n\n .auth-save,\n .auth-request-token,\n .auth-oauth-token,\n .auth-oauth-authorize,\n .auth-oidc-authorize {\n padding: 7px 12px;\n border: 1px solid var(--primary-color);\n border-radius: 6px;\n background: transparent;\n color: var(--primary-color);\n cursor: pointer;\n font-size: var(--font-size-small);\n font-weight: 600;\n }\n\n .auth-status-error { color: #dc2626; }\n\n @media (max-width: 760px) {\n .authentication-section { margin: 20px 16px 28px; padding: 18px; }\n }\n\n .docs-overview-server-variables {\n width: 100%;\n margin-top: 8px;\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n }\n\n .docs-overview-server-variables ul {\n display: grid;\n gap: 5px;\n margin-top: 5px;\n list-style: none;\n }\n\n .docs-overview-server-variables li {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n }\n\n .endpoint-deprecated,\n .http-param-deprecated {\n padding: 2px 6px;\n border: 1px solid #d97706;\n border-radius: 4px;\n color: #b45309;\n font-size: var(--font-size-xs);\n font-weight: 600;\n }\n\n .response-media-sample + .response-media-sample,\n .request-example + .request-example {\n margin-top: 14px;\n padding-top: 14px;\n border-top: 1px solid rgba(255,255,255,0.12);\n }\n\n .response-example-name {\n margin: 6px 0;\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n font-weight: 600;\n }\n\n .sample-code-error { color: #fca5a5; }\n\n .response-link {\n display: grid;\n gap: 4px;\n margin-top: 8px;\n padding: 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n font-size: var(--font-size-small);\n }\n\n .response-link-parameters { white-space: pre-wrap; }\n\n .http-try {\n display: grid;\n gap: 10px;\n margin-top: 12px;\n }\n\n .http-try-run {\n justify-self: start;\n padding: 7px 12px;\n border: 1px solid #8bc34a;\n border-radius: 6px;\n background: transparent;\n color: #c5e1a5;\n cursor: pointer;\n font-size: var(--font-size-small);\n font-weight: 600;\n }\n\n .http-try-run:disabled { cursor: wait; opacity: 0.6; }\n\n .http-try-result {\n max-height: 280px;\n overflow: auto;\n padding: 12px;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 6px;\n color: var(--code-panel-text);\n white-space: pre-wrap;\n }\n\n .async-contracts {\n margin: 28px 36px;\n padding: 22px;\n border: 1px solid var(--border-color);\n border-radius: 9px;\n background: var(--surface-color);\n }\n\n .endpoint-left > .async-contracts { margin: 16px 0 0; }\n\n .async-contracts h2 { font-size: var(--font-size-h3); }\n .async-contracts h3 { margin-top: 14px; font-size: var(--font-size-h5); }\n .async-contract-note { margin: 5px 0 12px; color: var(--text-muted); font-size: var(--font-size-small); }\n\n .async-contract {\n display: grid;\n gap: 7px;\n margin-top: 8px;\n padding: 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n }\n\n .async-contract-operation {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n font-size: var(--font-size-small);\n }\n\n @media (max-width: 760px) {\n .async-contracts { margin: 20px 16px; padding: 18px; }\n }\n\n";
|
|
2
2
|
//# sourceMappingURL=schema-code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-code.d.ts","sourceRoot":"","sources":["../../../../src/docs/ui/style-sections/schema-code.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"schema-code.d.ts","sourceRoot":"","sources":["../../../../src/docs/ui/style-sections/schema-code.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,u1gCA+yC5B,CAAA"}
|