raffel 1.1.81 → 1.1.82-next.951a336

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 (34) hide show
  1. package/dist/docs/ui/assets/raffel-docs.css +357 -175
  2. package/dist/docs/ui/assets/raffel-docs.js +177 -64
  3. package/dist/docs/ui/runtime/index.js +177 -64
  4. package/dist/docs/ui/runtime/index.js.map +1 -1
  5. package/dist/docs/ui/style-sections/content.d.ts +1 -1
  6. package/dist/docs/ui/style-sections/content.d.ts.map +1 -1
  7. package/dist/docs/ui/style-sections/content.js +53 -52
  8. package/dist/docs/ui/style-sections/content.js.map +1 -1
  9. package/dist/docs/ui/style-sections/layout-navigation.d.ts +1 -1
  10. package/dist/docs/ui/style-sections/layout-navigation.d.ts.map +1 -1
  11. package/dist/docs/ui/style-sections/layout-navigation.js +26 -26
  12. package/dist/docs/ui/style-sections/schema-code.d.ts +1 -1
  13. package/dist/docs/ui/style-sections/schema-code.d.ts.map +1 -1
  14. package/dist/docs/ui/style-sections/schema-code.js +256 -75
  15. package/dist/docs/ui/style-sections/schema-code.js.map +1 -1
  16. package/dist/docs/ui/style-sections/shell.js +22 -22
  17. package/dist/ui/docs/ui/style-sections/content.d.ts +1 -1
  18. package/dist/ui/docs/ui/style-sections/content.d.ts.map +1 -1
  19. package/dist/ui/docs/ui/style-sections/layout-navigation.d.ts +1 -1
  20. package/dist/ui/docs/ui/style-sections/layout-navigation.d.ts.map +1 -1
  21. package/dist/ui/docs/ui/style-sections/schema-code.d.ts +1 -1
  22. package/dist/ui/docs/ui/style-sections/schema-code.d.ts.map +1 -1
  23. package/dist/ui/usd/builder/http.d.ts +17 -1
  24. package/dist/ui/usd/builder/http.d.ts.map +1 -1
  25. package/dist/ui/usd/spec/types.d.ts +5 -1
  26. package/dist/ui/usd/spec/types.d.ts.map +1 -1
  27. package/dist/usd/builder/http.d.ts +17 -1
  28. package/dist/usd/builder/http.d.ts.map +1 -1
  29. package/dist/usd/builder/http.js +10 -2
  30. package/dist/usd/builder/http.js.map +1 -1
  31. package/dist/usd/spec/types.d.ts +5 -1
  32. package/dist/usd/spec/types.d.ts.map +1 -1
  33. package/dist/usd/spec/types.js.map +1 -1
  34. package/package.json +1 -1
@@ -22,17 +22,17 @@
22
22
  --code-panel-header: #37474f;
23
23
 
24
24
  /* Compact documentation type scale. */
25
- --font-size-body: 14px;
26
- --font-size-small: 13px;
27
- --font-size-xs: 11px;
28
- --font-size-h1: 30px;
29
- --font-size-h2: 24px;
30
- --font-size-h3: 19px;
31
- --font-size-h4: 16px;
32
- --font-size-h5: 14px;
33
- --font-size-h6: 13px;
34
- --font-size-code: 12px;
35
- --line-height-body: 1.6;
25
+ --font-size-body: 13px;
26
+ --font-size-small: 12px;
27
+ --font-size-xs: 10px;
28
+ --font-size-h1: 28px;
29
+ --font-size-h2: 22px;
30
+ --font-size-h3: 18px;
31
+ --font-size-h4: 15px;
32
+ --font-size-h5: 13px;
33
+ --font-size-h6: 12px;
34
+ --font-size-code: 11px;
35
+ --line-height-body: 1.5;
36
36
  --line-height-tight: 1.25;
37
37
  }
38
38
 
@@ -134,7 +134,7 @@
134
134
  background: var(--bg-color);
135
135
  color: var(--text-color);
136
136
  font-size: var(--font-size-body);
137
- line-height: 1.6;
137
+ line-height: var(--line-height-body);
138
138
  }
139
139
 
140
140
  code,
@@ -149,9 +149,9 @@
149
149
  z-index: 50;
150
150
  display: flex;
151
151
  align-items: center;
152
- gap: 24px;
153
- min-height: 56px;
154
- padding: 0 24px;
152
+ gap: 20px;
153
+ min-height: 48px;
154
+ padding: 0 20px;
155
155
  border-bottom: 1px solid var(--border-color);
156
156
  background: color-mix(in srgb, var(--bg-color) 92%, transparent);
157
157
  backdrop-filter: blur(10px);
@@ -183,7 +183,7 @@
183
183
  .top-nav-menu summary {
184
184
  color: var(--text-color);
185
185
  text-decoration: none;
186
- font-size: 14px;
186
+ font-size: var(--font-size-body);
187
187
  font-weight: 500;
188
188
  white-space: nowrap;
189
189
  }
@@ -280,23 +280,23 @@
280
280
  .docs-state-pill {
281
281
  display: inline-flex;
282
282
  align-items: center;
283
- gap: 5px;
283
+ gap: 4px;
284
284
  min-width: 0;
285
- height: 26px;
286
- padding: 0 8px;
285
+ height: 22px;
286
+ padding: 0 6px;
287
287
  border: 1px solid var(--border-color);
288
288
  border-radius: 6px;
289
289
  background: color-mix(in srgb, var(--surface-color) 84%, transparent);
290
290
  color: var(--text-secondary);
291
- font-size: 11px;
291
+ font-size: var(--font-size-xs);
292
292
  font-weight: 600;
293
293
  line-height: 1;
294
294
  white-space: nowrap;
295
295
  }
296
296
 
297
297
  .docs-state-dot {
298
- width: 7px;
299
- height: 7px;
298
+ width: 6px;
299
+ height: 6px;
300
300
  border-radius: 999px;
301
301
  background: var(--text-muted);
302
302
  flex: 0 0 auto;
@@ -675,7 +675,7 @@
675
675
 
676
676
  .app-container {
677
677
  display: grid;
678
- grid-template-columns: 300px 1fr;
678
+ grid-template-columns: 280px 1fr;
679
679
  min-height: calc(100vh - 300px);
680
680
  }
681
681
 
@@ -705,7 +705,7 @@
705
705
  .sidebar {
706
706
  background: var(--sidebar-bg);
707
707
  border-right: 1px solid var(--border-color);
708
- padding: 24px 0;
708
+ padding: 18px 0;
709
709
  overflow-y: auto;
710
710
  position: sticky;
711
711
  top: 0;
@@ -717,9 +717,9 @@
717
717
  }
718
718
 
719
719
  .sidebar-header {
720
- padding: 0 20px 20px;
720
+ padding: 0 14px 14px;
721
721
  border-bottom: 1px solid var(--border-color);
722
- margin-bottom: 16px;
722
+ margin-bottom: 12px;
723
723
  }
724
724
 
725
725
  .sidebar-logo {
@@ -738,10 +738,10 @@
738
738
 
739
739
  .sidebar-search input {
740
740
  width: 100%;
741
- padding: 10px 12px 10px 36px;
741
+ padding: 8px 10px 8px 32px;
742
742
  border: 1px solid var(--border-color);
743
743
  border-radius: 8px;
744
- font-size: 14px;
744
+ font-size: var(--font-size-small);
745
745
  background: var(--bg-color);
746
746
  color: var(--text-color);
747
747
  outline: none;
@@ -755,24 +755,24 @@
755
755
  .sidebar-search::before {
756
756
  content: '🔍';
757
757
  position: absolute;
758
- left: 12px;
758
+ left: 10px;
759
759
  top: 50%;
760
760
  transform: translateY(-50%);
761
- font-size: 14px;
761
+ font-size: var(--font-size-small);
762
762
  }
763
763
 
764
764
  .protocol-tabs {
765
765
  display: flex;
766
766
  flex-wrap: wrap;
767
- gap: 6px;
768
- padding: 0 20px;
769
- margin-bottom: 20px;
767
+ gap: 5px;
768
+ padding: 0 14px;
769
+ margin-bottom: 14px;
770
770
  }
771
771
 
772
772
  .protocol-tab {
773
- padding: 6px 12px;
773
+ padding: 5px 10px;
774
774
  border-radius: 20px;
775
- font-size: 12px;
775
+ font-size: 11px;
776
776
  font-weight: 500;
777
777
  cursor: pointer;
778
778
  background: var(--code-bg);
@@ -810,7 +810,7 @@
810
810
 
811
811
  /* ========== TAG GROUPS ========== */
812
812
  .sidebar-nav {
813
- padding: 0 12px;
813
+ padding: 0 10px;
814
814
  }
815
815
 
816
816
  .tag-group {
@@ -820,11 +820,11 @@
820
820
  .tag-group-header {
821
821
  display: flex;
822
822
  align-items: center;
823
- gap: 8px;
824
- padding: 10px 12px;
823
+ gap: 6px;
824
+ padding: 8px 10px;
825
825
  border-radius: 8px;
826
826
  cursor: pointer;
827
- font-size: 14px;
827
+ font-size: 13px;
828
828
  font-weight: 600;
829
829
  color: var(--text-secondary);
830
830
  transition: all 0.2s;
@@ -868,8 +868,8 @@
868
868
  .nav-item {
869
869
  display: flex;
870
870
  align-items: center;
871
- gap: 10px;
872
- padding: 6px 12px 6px 14px;
871
+ gap: 8px;
872
+ padding: 4px 10px 4px 12px;
873
873
  border-left: 2px solid transparent;
874
874
  border-radius: 0;
875
875
  text-decoration: none;
@@ -904,9 +904,9 @@
904
904
  color: var(--text-muted);
905
905
  cursor: pointer;
906
906
  font: inherit;
907
- font-size: 12px;
907
+ font-size: 11px;
908
908
  line-height: 1.35;
909
- padding: 5px 8px;
909
+ padding: 4px 7px;
910
910
  text-align: left;
911
911
  border-radius: 5px;
912
912
  overflow: hidden;
@@ -939,8 +939,8 @@
939
939
  .docs-sidebar-depth-6 { margin-left: 16px; }
940
940
 
941
941
  .nav-item-intro {
942
- margin-bottom: 16px;
943
- padding: 10px 12px;
942
+ margin-bottom: 12px;
943
+ padding: 8px 10px;
944
944
  background: var(--surface-color);
945
945
  border: 1px solid var(--border-color);
946
946
  font-weight: 500;
@@ -956,11 +956,11 @@
956
956
  }
957
957
 
958
958
  .nav-item-intro .nav-item-text {
959
- font-size: 14px;
959
+ font-size: 13px;
960
960
  }
961
961
 
962
962
  .nav-item-method {
963
- font-size: 10px;
963
+ font-size: 9px;
964
964
  font-weight: 600;
965
965
  padding: 1px 4px;
966
966
  border: 1px solid var(--border-color);
@@ -996,7 +996,7 @@
996
996
 
997
997
  .nav-item-path {
998
998
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
999
- font-size: 13px;
999
+ font-size: 12px;
1000
1000
  flex: 1;
1001
1001
  overflow: hidden;
1002
1002
  text-overflow: ellipsis;
@@ -1324,7 +1324,7 @@
1324
1324
 
1325
1325
  /* ========== MAIN CONTENT ========== */
1326
1326
  .main {
1327
- padding: 40px;
1327
+ padding: 32px;
1328
1328
  overflow-y: auto;
1329
1329
  width: 100%;
1330
1330
  }
@@ -1429,10 +1429,10 @@
1429
1429
 
1430
1430
  /* ========== INTRODUCTION SECTION ========== */
1431
1431
  .intro-section {
1432
- padding: 32px 40px;
1432
+ padding: 24px 32px;
1433
1433
  background: var(--surface-color);
1434
1434
  border-bottom: 1px solid var(--border-color);
1435
- margin: -40px -40px 40px -40px;
1435
+ margin: -32px -32px 32px -32px;
1436
1436
  }
1437
1437
 
1438
1438
  .intro-section .markdown-content {
@@ -1600,7 +1600,7 @@
1600
1600
 
1601
1601
  /* ========== ENDPOINT SECTIONS (Redoc-style) ========== */
1602
1602
  .endpoint-section {
1603
- padding: 32px 0;
1603
+ padding: 24px 0;
1604
1604
  border-bottom: 1px solid var(--border-color);
1605
1605
  }
1606
1606
 
@@ -1611,23 +1611,23 @@
1611
1611
  .endpoint-header {
1612
1612
  display: flex;
1613
1613
  align-items: flex-start;
1614
- gap: 16px;
1615
- margin-bottom: 20px;
1614
+ gap: 12px;
1615
+ margin-bottom: 14px;
1616
1616
  }
1617
1617
 
1618
1618
  .endpoint-method-path {
1619
1619
  display: flex;
1620
1620
  align-items: center;
1621
- gap: 12px;
1621
+ gap: 10px;
1622
1622
  flex-wrap: wrap;
1623
1623
  }
1624
1624
 
1625
1625
  .badge {
1626
1626
  display: inline-flex;
1627
1627
  align-items: center;
1628
- padding: 6px 12px;
1628
+ padding: 4px 9px;
1629
1629
  border-radius: 4px;
1630
- font-size: 12px;
1630
+ font-size: 11px;
1631
1631
  font-weight: 700;
1632
1632
  text-transform: uppercase;
1633
1633
  font-family: 'SF Mono', 'Monaco', monospace;
@@ -1642,23 +1642,24 @@
1642
1642
 
1643
1643
  .endpoint-path {
1644
1644
  font-family: 'SF Mono', 'Monaco', monospace;
1645
- font-size: 16px;
1645
+ font-size: 14px;
1646
1646
  font-weight: 500;
1647
1647
  color: var(--text-color);
1648
1648
  }
1649
1649
 
1650
1650
  .endpoint-title {
1651
- font-size: 24px;
1651
+ font-size: 21px;
1652
1652
  font-weight: 600;
1653
- margin-bottom: 8px;
1653
+ line-height: 1.3;
1654
+ margin-bottom: 6px;
1654
1655
  color: var(--text-color);
1655
1656
  }
1656
1657
 
1657
1658
  .endpoint-description {
1658
1659
  color: var(--text-muted);
1659
- font-size: 15px;
1660
- line-height: 1.7;
1661
- margin-bottom: 24px;
1660
+ font-size: 13px;
1661
+ line-height: 1.55;
1662
+ margin-bottom: 18px;
1662
1663
  }
1663
1664
 
1664
1665
  /* Markdown content styles */
@@ -2291,7 +2292,7 @@
2291
2292
  .endpoint-content {
2292
2293
  display: grid;
2293
2294
  grid-template-columns: 1fr 1fr;
2294
- gap: 40px;
2295
+ gap: 32px;
2295
2296
  }
2296
2297
 
2297
2298
  @media (min-width: 1400px) {
@@ -2318,18 +2319,18 @@
2318
2319
  min-width: 0; /* Prevent overflow */
2319
2320
  background: var(--code-panel-bg);
2320
2321
  border-radius: 8px;
2321
- padding: 20px;
2322
+ padding: 16px;
2322
2323
  color: var(--code-panel-text);
2323
2324
  }
2324
2325
 
2325
2326
  .endpoint-right-header {
2326
- font-size: 12px;
2327
+ font-size: 11px;
2327
2328
  font-weight: 600;
2328
2329
  text-transform: uppercase;
2329
2330
  letter-spacing: 0.5px;
2330
2331
  color: #90a4ae;
2331
- margin-bottom: 16px;
2332
- padding-bottom: 12px;
2332
+ margin-bottom: 12px;
2333
+ padding-bottom: 7px;
2333
2334
  border-bottom: 1px solid rgba(255,255,255,0.1);
2334
2335
  }
2335
2336
 
@@ -2340,17 +2341,17 @@
2340
2341
  }
2341
2342
 
2342
2343
  .endpoint-subsection {
2343
- margin-bottom: 28px;
2344
+ margin-bottom: 20px;
2344
2345
  }
2345
2346
 
2346
2347
  .endpoint-subsection-title {
2347
- font-size: 13px;
2348
+ font-size: 12px;
2348
2349
  font-weight: 600;
2349
2350
  color: var(--text-muted);
2350
2351
  text-transform: uppercase;
2351
2352
  letter-spacing: 0.5px;
2352
- margin-bottom: 12px;
2353
- padding-bottom: 8px;
2353
+ margin-bottom: 8px;
2354
+ padding-bottom: 6px;
2354
2355
  border-bottom: 1px solid var(--border-color);
2355
2356
  }
2356
2357
 
@@ -2361,12 +2362,12 @@
2361
2362
 
2362
2363
  /* ========== REDOC-STYLE PARAMETER LABELS ========== */
2363
2364
  .subsection-label {
2364
- font-size: 12px;
2365
+ font-size: 11px;
2365
2366
  font-weight: 600;
2366
2367
  color: var(--text-muted);
2367
2368
  text-transform: uppercase;
2368
2369
  letter-spacing: 0.5px;
2369
- margin-bottom: 16px;
2370
+ margin-bottom: 10px;
2370
2371
  }
2371
2372
 
2372
2373
  .content-type {
@@ -2385,8 +2386,8 @@
2385
2386
  /* ========== REDOC-STYLE PARAMETERS ========== */
2386
2387
  .param-row {
2387
2388
  display: flex;
2388
- padding: 12px;
2389
- margin-bottom: 12px;
2389
+ padding: 8px 10px;
2390
+ margin-bottom: 8px;
2390
2391
  border: 1px solid var(--border-color);
2391
2392
  border-radius: 6px;
2392
2393
  background: var(--surface-color);
@@ -2425,14 +2426,14 @@
2425
2426
  .param-header {
2426
2427
  display: flex;
2427
2428
  align-items: center;
2428
- gap: 12px;
2429
- margin-bottom: 8px;
2429
+ gap: 8px;
2430
+ margin-bottom: 4px;
2430
2431
  flex-wrap: wrap;
2431
2432
  }
2432
2433
 
2433
2434
  .param-name-text {
2434
2435
  font-family: 'SF Mono', 'Monaco', monospace;
2435
- font-size: 14px;
2436
+ font-size: 12px;
2436
2437
  font-weight: 600;
2437
2438
  color: var(--text-color);
2438
2439
  }
@@ -2440,7 +2441,7 @@
2440
2441
  .param-required-badge {
2441
2442
  font-size: 10px;
2442
2443
  font-weight: 700;
2443
- padding: 3px 8px;
2444
+ padding: 2px 6px;
2444
2445
  border-radius: 4px;
2445
2446
  background: #fee2e2;
2446
2447
  color: #991b1b;
@@ -2522,17 +2523,17 @@
2522
2523
  }
2523
2524
 
2524
2525
  .param-description {
2525
- font-size: 13px;
2526
+ font-size: 12px;
2526
2527
  color: var(--text-color);
2527
- line-height: 1.5;
2528
- margin-top: 8px;
2528
+ line-height: 1.4;
2529
+ margin-top: 4px;
2529
2530
  }
2530
2531
 
2531
2532
  /* ========== REDOC-STYLE RESPONSES ========== */
2532
2533
  .response-item {
2533
2534
  border: 1px solid var(--border-color);
2534
2535
  border-radius: 6px;
2535
- margin-bottom: 12px;
2536
+ margin-bottom: 8px;
2536
2537
  overflow: hidden;
2537
2538
  transition: border-color 0.15s, box-shadow 0.15s;
2538
2539
  }
@@ -2544,8 +2545,8 @@
2544
2545
  .response-header {
2545
2546
  display: flex;
2546
2547
  align-items: center;
2547
- gap: 12px;
2548
- padding: 14px 16px;
2548
+ gap: 8px;
2549
+ padding: 10px 12px;
2549
2550
  cursor: pointer;
2550
2551
  transition: background 0.15s;
2551
2552
  background: var(--surface-color);
@@ -2568,9 +2569,9 @@
2568
2569
  }
2569
2570
 
2570
2571
  .response-status {
2571
- font-size: 13px;
2572
+ font-size: 12px;
2572
2573
  font-weight: 700;
2573
- padding: 4px 10px;
2574
+ padding: 3px 8px;
2574
2575
  border-radius: 4px;
2575
2576
  min-width: 50px;
2576
2577
  text-align: center;
@@ -2609,13 +2610,13 @@
2609
2610
  }
2610
2611
 
2611
2612
  .response-desc {
2612
- font-size: 14px;
2613
+ font-size: 12px;
2613
2614
  color: var(--text-color);
2614
2615
  }
2615
2616
 
2616
2617
  .response-body {
2617
2618
  display: none;
2618
- padding: 16px;
2619
+ padding: 12px;
2619
2620
  border-top: 1px solid var(--border-color);
2620
2621
  background: var(--code-bg);
2621
2622
  }
@@ -2629,7 +2630,7 @@
2629
2630
  color: var(--text-muted);
2630
2631
  text-transform: uppercase;
2631
2632
  letter-spacing: 0.5px;
2632
- margin-bottom: 12px;
2633
+ margin-bottom: 8px;
2633
2634
  }
2634
2635
 
2635
2636
  .response-schema-label .content-type {
@@ -2637,8 +2638,8 @@
2637
2638
  }
2638
2639
 
2639
2640
  .response-headers-section {
2640
- margin-bottom: 20px;
2641
- padding-bottom: 16px;
2641
+ margin-bottom: 14px;
2642
+ padding-bottom: 10px;
2642
2643
  border-bottom: 1px solid var(--border-color);
2643
2644
  }
2644
2645
 
@@ -2647,13 +2648,13 @@
2647
2648
  color: var(--text-muted);
2648
2649
  text-transform: uppercase;
2649
2650
  letter-spacing: 0.5px;
2650
- margin-bottom: 12px;
2651
+ margin-bottom: 8px;
2651
2652
  }
2652
2653
 
2653
2654
  .response-header-row {
2654
2655
  display: flex;
2655
2656
  align-items: flex-start;
2656
- padding: 8px 0;
2657
+ padding: 5px 0;
2657
2658
  border-bottom: 1px solid var(--border-color);
2658
2659
  }
2659
2660
 
@@ -2663,11 +2664,11 @@
2663
2664
 
2664
2665
  .response-header-name {
2665
2666
  font-family: 'SF Mono', Monaco, Consolas, monospace;
2666
- font-size: 13px;
2667
+ font-size: 12px;
2667
2668
  font-weight: 600;
2668
2669
  color: var(--text-color);
2669
- min-width: 180px;
2670
- margin-right: 16px;
2670
+ min-width: 150px;
2671
+ margin-right: 12px;
2671
2672
  }
2672
2673
 
2673
2674
  .response-header-info {
@@ -2675,13 +2676,13 @@
2675
2676
  }
2676
2677
 
2677
2678
  .response-header-type {
2678
- font-size: 12px;
2679
+ font-size: 11px;
2679
2680
  color: var(--primary-color);
2680
2681
  margin-bottom: 4px;
2681
2682
  }
2682
2683
 
2683
2684
  .response-header-desc {
2684
- font-size: 13px;
2685
+ font-size: 12px;
2685
2686
  color: var(--text-muted);
2686
2687
  }
2687
2688
 
@@ -2878,11 +2879,11 @@
2878
2879
  }
2879
2880
  /* ========== RESPONSE SAMPLES (Right Panel) ========== */
2880
2881
  .response-samples {
2881
- margin-top: 20px;
2882
+ margin-top: 16px;
2882
2883
  }
2883
2884
 
2884
2885
  .response-samples-header {
2885
- font-size: 14px;
2886
+ font-size: 12px;
2886
2887
  font-weight: 600;
2887
2888
  color: var(--code-panel-text);
2888
2889
  margin-bottom: 12px;
@@ -2890,14 +2891,14 @@
2890
2891
 
2891
2892
  .sample-tabs {
2892
2893
  display: flex;
2893
- gap: 8px;
2894
- margin-bottom: 16px;
2894
+ gap: 6px;
2895
+ margin-bottom: 12px;
2895
2896
  }
2896
2897
 
2897
2898
  .sample-tab {
2898
- padding: 6px 14px;
2899
+ padding: 4px 10px;
2899
2900
  border-radius: 4px;
2900
- font-size: 13px;
2901
+ font-size: 11px;
2901
2902
  font-weight: 500;
2902
2903
  cursor: pointer;
2903
2904
  background: transparent;
@@ -2928,19 +2929,19 @@
2928
2929
  }
2929
2930
 
2930
2931
  .sample-content-type {
2931
- font-size: 12px;
2932
+ font-size: 11px;
2932
2933
  color: #90a4ae;
2933
2934
  margin-bottom: 8px;
2934
2935
  }
2935
2936
 
2936
2937
  .sample-actions {
2937
2938
  display: flex;
2938
- gap: 16px;
2939
- margin-bottom: 12px;
2939
+ gap: 12px;
2940
+ margin-bottom: 8px;
2940
2941
  }
2941
2942
 
2942
2943
  .sample-action {
2943
- font-size: 12px;
2944
+ font-size: 11px;
2944
2945
  color: #90a4ae;
2945
2946
  cursor: pointer;
2946
2947
  background: none;
@@ -2956,10 +2957,10 @@
2956
2957
  .sample-json {
2957
2958
  background: rgba(0,0,0,0.3);
2958
2959
  border-radius: 6px;
2959
- padding: 14px;
2960
+ padding: 10px;
2960
2961
  font-family: 'SF Mono', 'Monaco', monospace;
2961
- font-size: 12px;
2962
- line-height: 1.5;
2962
+ font-size: 11px;
2963
+ line-height: 1.4;
2963
2964
  color: #e2e8f0;
2964
2965
  overflow-x: auto;
2965
2966
  white-space: pre-wrap;
@@ -2976,7 +2977,7 @@
2976
2977
  .right-panel-content {
2977
2978
  display: flex;
2978
2979
  flex-direction: column;
2979
- gap: 24px;
2980
+ gap: 18px;
2980
2981
  }
2981
2982
 
2982
2983
  .right-section {
@@ -2984,13 +2985,13 @@
2984
2985
  }
2985
2986
 
2986
2987
  .right-section-header {
2987
- font-size: 13px;
2988
+ font-size: 11px;
2988
2989
  font-weight: 600;
2989
2990
  color: #90a4ae;
2990
2991
  text-transform: uppercase;
2991
2992
  letter-spacing: 0.5px;
2992
- margin-bottom: 16px;
2993
- padding-bottom: 8px;
2993
+ margin-bottom: 12px;
2994
+ padding-bottom: 6px;
2994
2995
  border-bottom: 1px solid rgba(255,255,255,0.1);
2995
2996
  }
2996
2997
 
@@ -3035,9 +3036,9 @@
3035
3036
  display: flex;
3036
3037
  align-items: center;
3037
3038
  justify-content: space-between;
3038
- padding: 10px 14px;
3039
+ padding: 8px 10px;
3039
3040
  background: var(--code-panel-header);
3040
- font-size: 12px;
3041
+ font-size: 11px;
3041
3042
  font-weight: 600;
3042
3043
  color: #90a4ae;
3043
3044
  text-transform: uppercase;
@@ -3050,32 +3051,33 @@
3050
3051
  border: none;
3051
3052
  border-radius: 0;
3052
3053
  color: #e2e8f0;
3053
- padding: 14px;
3054
+ padding: 10px;
3054
3055
  }
3055
3056
 
3056
3057
  .code-example code {
3057
3058
  color: #e2e8f0;
3058
3059
  white-space: pre-wrap;
3059
3060
  word-break: break-word;
3060
- font-size: 12px;
3061
+ font-size: 11px;
3062
+ line-height: 1.4;
3061
3063
  }
3062
3064
 
3063
3065
  /* Code language tabs */
3064
3066
  .code-tabs {
3065
3067
  display: flex;
3066
3068
  gap: 2px;
3067
- padding: 8px 14px;
3069
+ padding: 6px 10px;
3068
3070
  background: var(--code-panel-header);
3069
3071
  border-bottom: 1px solid rgba(255,255,255,0.1);
3070
3072
  }
3071
3073
 
3072
3074
  .code-tab {
3073
- padding: 6px 12px;
3075
+ padding: 4px 9px;
3074
3076
  border: none;
3075
3077
  border-radius: 4px;
3076
3078
  background: transparent;
3077
3079
  color: #90a4ae;
3078
- font-size: 12px;
3080
+ font-size: 11px;
3079
3081
  font-weight: 500;
3080
3082
  cursor: pointer;
3081
3083
  transition: all 0.15s;
@@ -3105,12 +3107,12 @@
3105
3107
 
3106
3108
  pre {
3107
3109
  background: var(--code-bg);
3108
- padding: 16px;
3110
+ padding: 12px;
3109
3111
  border-radius: 8px;
3110
3112
  overflow-x: auto;
3111
3113
  font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;
3112
- font-size: 13px;
3113
- line-height: 1.5;
3114
+ font-size: 11px;
3115
+ line-height: 1.45;
3114
3116
  border: 1px solid var(--border-color);
3115
3117
  }
3116
3118
 
@@ -3125,7 +3127,7 @@
3125
3127
  .schema-row {
3126
3128
  display: flex;
3127
3129
  align-items: flex-start;
3128
- padding: 12px 16px;
3130
+ padding: 8px 12px;
3129
3131
  border-bottom: 1px solid var(--border-color);
3130
3132
  transition: background 0.15s;
3131
3133
  }
@@ -3152,7 +3154,7 @@
3152
3154
 
3153
3155
  .schema-name {
3154
3156
  font-family: 'SF Mono', 'Monaco', monospace;
3155
- font-size: 13px;
3157
+ font-size: 12px;
3156
3158
  font-weight: 600;
3157
3159
  color: var(--text-color);
3158
3160
  }
@@ -3160,17 +3162,17 @@
3160
3162
  .schema-required {
3161
3163
  color: #ef4444;
3162
3164
  font-weight: 700;
3163
- font-size: 14px;
3165
+ font-size: 12px;
3164
3166
  }
3165
3167
 
3166
3168
  .schema-type {
3167
3169
  display: inline-flex;
3168
3170
  align-items: center;
3169
3171
  gap: 4px;
3170
- padding: 2px 8px;
3172
+ padding: 1px 6px;
3171
3173
  border-radius: 4px;
3172
3174
  font-family: 'SF Mono', 'Monaco', monospace;
3173
- font-size: 11px;
3175
+ font-size: 10px;
3174
3176
  font-weight: 500;
3175
3177
  }
3176
3178
 
@@ -3197,10 +3199,175 @@
3197
3199
 
3198
3200
  .schema-desc {
3199
3201
  color: var(--text-muted);
3200
- font-size: 13px;
3202
+ font-size: 12px;
3201
3203
  margin-bottom: 4px;
3202
3204
  }
3203
3205
 
3206
+ /* Compact ReDoc-style contract tree. Names and requiredness stay in a
3207
+ narrow left rail; type, examples, constraints and prose share the
3208
+ wider detail column. */
3209
+ .schema-tree-root {
3210
+ margin-top: 4px;
3211
+ border-left: 1px solid var(--border-color);
3212
+ border-left-color: color-mix(in srgb, var(--primary-color) 55%, var(--border-color));
3213
+ }
3214
+
3215
+ .schema-tree-nested {
3216
+ margin-left: 14px;
3217
+ border-left: 1px solid var(--border-color);
3218
+ }
3219
+
3220
+ .schema-tree-row {
3221
+ position: relative;
3222
+ display: grid;
3223
+ grid-template-columns: minmax(120px, 28%) minmax(0, 1fr);
3224
+ gap: 14px;
3225
+ padding: 7px 0 7px 10px;
3226
+ border-bottom: 1px solid var(--border-color);
3227
+ font-size: 12px;
3228
+ line-height: 1.4;
3229
+ }
3230
+
3231
+ .schema-tree-row::before {
3232
+ position: absolute;
3233
+ top: 13px;
3234
+ left: 0;
3235
+ width: 9px;
3236
+ border-top: 1px solid var(--border-color);
3237
+ border-top-color: color-mix(in srgb, var(--primary-color) 55%, var(--border-color));
3238
+ content: '';
3239
+ }
3240
+
3241
+ .schema-tree-key {
3242
+ position: relative;
3243
+ display: flex;
3244
+ min-width: 0;
3245
+ flex-direction: column;
3246
+ align-items: flex-start;
3247
+ gap: 1px;
3248
+ padding-left: 8px;
3249
+ }
3250
+
3251
+ .schema-tree-name {
3252
+ overflow-wrap: anywhere;
3253
+ background: transparent;
3254
+ font-family: 'SF Mono', 'Monaco', monospace;
3255
+ font-size: 11px;
3256
+ color: var(--text-primary);
3257
+ font-weight: 500;
3258
+ }
3259
+
3260
+ .schema-tree-required,
3261
+ .schema-tree-optional,
3262
+ .schema-tree-deprecated {
3263
+ font-size: 9px;
3264
+ font-weight: 600;
3265
+ letter-spacing: 0.35px;
3266
+ line-height: 1.35;
3267
+ text-transform: uppercase;
3268
+ }
3269
+
3270
+ .schema-tree-required {
3271
+ color: #ef4444;
3272
+ }
3273
+
3274
+ .schema-tree-optional { color: var(--text-muted); }
3275
+ .schema-tree-deprecated { color: #d97706; }
3276
+
3277
+ .schema-tree-toggle {
3278
+ position: absolute;
3279
+ top: -1px;
3280
+ left: -8px;
3281
+ width: 16px;
3282
+ height: 16px;
3283
+ padding: 0;
3284
+ transform: rotate(0deg);
3285
+ border: 0;
3286
+ background: transparent;
3287
+ color: var(--primary-color);
3288
+ cursor: pointer;
3289
+ font-size: 16px;
3290
+ line-height: 14px;
3291
+ transition: transform 120ms ease;
3292
+ }
3293
+
3294
+ .schema-tree-toggle.open { transform: rotate(90deg); }
3295
+
3296
+ .schema-tree-details { min-width: 0; }
3297
+
3298
+ .schema-tree-type {
3299
+ color: var(--text-muted);
3300
+ font-size: 11px;
3301
+ line-height: 1.35;
3302
+ }
3303
+
3304
+ .schema-tree-description {
3305
+ margin-top: 3px;
3306
+ color: var(--text-color);
3307
+ font-size: 12px;
3308
+ line-height: 1.42;
3309
+ }
3310
+
3311
+ .schema-tree-description.markdown-content p {
3312
+ margin: 0 0 3px;
3313
+ color: inherit;
3314
+ font-size: inherit;
3315
+ line-height: inherit;
3316
+ }
3317
+
3318
+ .schema-tree-description.markdown-content p:last-child { margin-bottom: 0; }
3319
+
3320
+ .schema-tree-description.markdown-content ul,
3321
+ .schema-tree-description.markdown-content ol {
3322
+ margin: 4px 0 2px 16px;
3323
+ padding: 0;
3324
+ }
3325
+
3326
+ .schema-tree-description.markdown-content li { margin: 1px 0; }
3327
+
3328
+ .schema-tree-example {
3329
+ display: flex;
3330
+ min-width: 0;
3331
+ align-items: baseline;
3332
+ gap: 5px;
3333
+ margin-top: 2px;
3334
+ color: var(--text-muted);
3335
+ font-size: 11px;
3336
+ }
3337
+
3338
+ .schema-tree-example code {
3339
+ overflow: hidden;
3340
+ padding: 0 3px;
3341
+ border: 1px solid var(--border-color);
3342
+ border-radius: 2px;
3343
+ background: var(--code-bg);
3344
+ color: var(--text-color);
3345
+ font-size: 10px;
3346
+ text-overflow: ellipsis;
3347
+ white-space: nowrap;
3348
+ }
3349
+
3350
+ .schema-tree-items-label {
3351
+ display: inline-block;
3352
+ margin-top: 3px;
3353
+ color: var(--text-muted);
3354
+ font-size: 10px;
3355
+ font-weight: 600;
3356
+ text-transform: uppercase;
3357
+ }
3358
+
3359
+ .schema-tree-children.collapsed { display: none; }
3360
+
3361
+ .schema-tree-meta {
3362
+ display: block;
3363
+ color: var(--text-secondary);
3364
+ }
3365
+
3366
+ .schema-tree-unresolved {
3367
+ color: var(--text-muted);
3368
+ font-style: italic;
3369
+ }
3370
+
3204
3371
  .schema-constraints {
3205
3372
  display: flex;
3206
3373
  flex-wrap: wrap;
@@ -3447,27 +3614,28 @@
3447
3614
 
3448
3615
  /* ========== HTTP ENDPOINT (ReDoc-style) ========== */
3449
3616
  .http-param-group {
3450
- margin-bottom: 20px;
3617
+ margin-bottom: 14px;
3451
3618
  }
3452
3619
 
3453
3620
  .http-param-group-title {
3454
- font-size: 12px;
3621
+ font-size: 11px;
3455
3622
  font-weight: 600;
3456
3623
  text-transform: uppercase;
3457
3624
  letter-spacing: 0.5px;
3458
3625
  color: var(--text-muted);
3459
- margin-bottom: 8px;
3626
+ margin-bottom: 0;
3627
+ padding-bottom: 5px;
3628
+ border-bottom: 1px solid var(--border-color);
3460
3629
  }
3461
3630
 
3462
3631
  .http-params {
3463
- border: 1px solid var(--border-color);
3464
- border-radius: 8px;
3465
- overflow: hidden;
3632
+ overflow: visible;
3466
3633
  }
3467
3634
 
3468
3635
  .http-param {
3469
- padding: 12px 16px;
3470
- border-bottom: 1px solid var(--border-color);
3636
+ padding-top: 7px;
3637
+ padding-right: 0;
3638
+ padding-bottom: 7px;
3471
3639
  }
3472
3640
 
3473
3641
  .http-param:last-child { border-bottom: none; }
@@ -3476,12 +3644,12 @@
3476
3644
  display: flex;
3477
3645
  align-items: center;
3478
3646
  flex-wrap: wrap;
3479
- gap: 8px;
3647
+ gap: 6px;
3480
3648
  }
3481
3649
 
3482
3650
  .http-param-name {
3483
3651
  font-family: 'SF Mono', 'Monaco', monospace;
3484
- font-size: 13px;
3652
+ font-size: 12px;
3485
3653
  font-weight: 600;
3486
3654
  color: var(--text-color);
3487
3655
  }
@@ -3504,22 +3672,22 @@
3504
3672
 
3505
3673
  .http-param-desc {
3506
3674
  color: var(--text-muted);
3507
- font-size: 13px;
3508
- margin-top: 6px;
3509
- line-height: 1.5;
3675
+ font-size: 12px;
3676
+ margin-top: 4px;
3677
+ line-height: 1.4;
3510
3678
  }
3511
3679
 
3512
3680
  /* Validation constraint chips (reuses .schema-constraint look) */
3513
3681
  .constraint-chips {
3514
3682
  display: flex;
3515
3683
  flex-wrap: wrap;
3516
- gap: 6px;
3517
- margin-top: 8px;
3684
+ gap: 4px;
3685
+ margin-top: 5px;
3518
3686
  }
3519
3687
 
3520
3688
  .constraint-chip {
3521
- font-size: 11px;
3522
- padding: 2px 8px;
3689
+ font-size: 10px;
3690
+ padding: 1px 6px;
3523
3691
  border-radius: 4px;
3524
3692
  background: var(--code-bg);
3525
3693
  color: var(--text-muted);
@@ -3540,29 +3708,34 @@
3540
3708
 
3541
3709
  /* Response accordions */
3542
3710
  .response-accordion {
3543
- border: 1px solid var(--border-color);
3544
- border-radius: 8px;
3545
- margin-bottom: 10px;
3711
+ border: 0;
3712
+ border-radius: 3px;
3713
+ margin-bottom: 8px;
3546
3714
  overflow: hidden;
3547
3715
  }
3548
3716
 
3549
3717
  .response-accordion-header {
3550
3718
  display: flex;
3551
3719
  align-items: center;
3552
- gap: 10px;
3720
+ gap: 8px;
3553
3721
  width: 100%;
3554
- padding: 12px 14px;
3722
+ padding: 8px 10px;
3555
3723
  background: var(--code-bg);
3556
3724
  border: none;
3557
3725
  cursor: pointer;
3558
3726
  text-align: left;
3559
- font-size: 13px;
3727
+ font-size: 12px;
3560
3728
  color: var(--text-color);
3561
3729
  transition: background 0.15s;
3562
3730
  }
3563
3731
 
3564
3732
  .response-accordion-header:hover { background: var(--hover-bg); }
3565
3733
 
3734
+ .response-accordion-header.status-2xx { background: rgba(16,185,129,0.08); }
3735
+ .response-accordion-header.status-3xx { background: rgba(59,130,246,0.08); }
3736
+ .response-accordion-header.status-4xx { background: rgba(245,158,11,0.09); }
3737
+ .response-accordion-header.status-5xx { background: rgba(239,68,68,0.09); }
3738
+
3566
3739
  .response-accordion-caret {
3567
3740
  flex-shrink: 0;
3568
3741
  font-size: 10px;
@@ -3575,8 +3748,8 @@
3575
3748
  }
3576
3749
 
3577
3750
  .response-status-dot {
3578
- width: 9px;
3579
- height: 9px;
3751
+ width: 8px;
3752
+ height: 8px;
3580
3753
  border-radius: 50%;
3581
3754
  flex-shrink: 0;
3582
3755
  }
@@ -3596,23 +3769,32 @@
3596
3769
  }
3597
3770
 
3598
3771
  .response-accordion-body {
3599
- padding: 14px;
3600
- border-top: 1px solid var(--border-color);
3772
+ padding: 9px 8px 5px;
3773
+ border-top: 0;
3601
3774
  display: none;
3602
3775
  }
3603
3776
 
3604
3777
  .response-accordion.open .response-accordion-body { display: block; }
3605
3778
 
3606
3779
  .response-subhead {
3607
- font-size: 11px;
3780
+ font-size: 10px;
3608
3781
  font-weight: 600;
3609
3782
  text-transform: uppercase;
3610
3783
  letter-spacing: 0.5px;
3611
3784
  color: var(--text-muted);
3612
- margin: 0 0 8px;
3785
+ margin: 0;
3786
+ padding-bottom: 5px;
3787
+ border-bottom: 1px solid var(--border-color);
3613
3788
  }
3614
3789
 
3615
- .response-block + .response-block { margin-top: 16px; }
3790
+ .response-block + .response-block { margin-top: 10px; }
3791
+
3792
+ @media (max-width: 640px) {
3793
+ .schema-tree-row {
3794
+ grid-template-columns: minmax(100px, 35%) minmax(0, 1fr);
3795
+ gap: 8px;
3796
+ }
3797
+ }
3616
3798
 
3617
3799
  /* Multi-language code samples */
3618
3800
  .http-code-samples {
@@ -3634,14 +3816,14 @@
3634
3816
 
3635
3817
  .http-code-sample-pre {
3636
3818
  margin: 0;
3637
- padding: 14px;
3819
+ padding: 10px;
3638
3820
  background: transparent;
3639
3821
  border: none;
3640
3822
  border-radius: 0;
3641
3823
  overflow-x: auto;
3642
3824
  font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;
3643
- font-size: 12px;
3644
- line-height: 1.55;
3825
+ font-size: 11px;
3826
+ line-height: 1.4;
3645
3827
  color: var(--text-color);
3646
3828
  white-space: pre;
3647
3829
  }
@@ -3649,12 +3831,12 @@
3649
3831
  .http-code-copy,
3650
3832
  .sample-code-copy {
3651
3833
  margin-left: auto;
3652
- padding: 4px 10px;
3834
+ padding: 3px 8px;
3653
3835
  background: transparent;
3654
3836
  border: 1px solid var(--border-color);
3655
3837
  border-radius: 4px;
3656
3838
  color: var(--text-muted);
3657
- font-size: 11px;
3839
+ font-size: 10px;
3658
3840
  cursor: pointer;
3659
3841
  transition: all 0.15s;
3660
3842
  }
@@ -3668,7 +3850,7 @@
3668
3850
  /* Right panel (third column): keep request/response samples dark & legible
3669
3851
  regardless of the active theme, matching ReDoc's sample column. */
3670
3852
  .endpoint-right .endpoint-right-section + .endpoint-right-section {
3671
- margin-top: 24px;
3853
+ margin-top: 18px;
3672
3854
  }
3673
3855
 
3674
3856
  .endpoint-right .http-code-samples {
@@ -3688,9 +3870,9 @@
3688
3870
  .response-example-toolbar {
3689
3871
  display: flex;
3690
3872
  align-items: center;
3691
- gap: 12px;
3692
- min-height: 28px;
3693
- margin: 4px 0 8px;
3873
+ gap: 8px;
3874
+ min-height: 24px;
3875
+ margin: 2px 0 6px;
3694
3876
  }
3695
3877
 
3696
3878
  .response-example-toolbar .response-example-name {
@@ -3699,7 +3881,7 @@
3699
3881
 
3700
3882
  .endpoint-right .sample-code {
3701
3883
  margin: 0;
3702
- padding: 14px;
3884
+ padding: 10px;
3703
3885
  overflow-x: auto;
3704
3886
  border: 1px solid rgba(255,255,255,0.1);
3705
3887
  border-radius: 6px;
@@ -3712,8 +3894,8 @@
3712
3894
  .endpoint-right .sample-code code {
3713
3895
  color: inherit;
3714
3896
  font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;
3715
- font-size: 12px;
3716
- line-height: 1.55;
3897
+ font-size: 11px;
3898
+ line-height: 1.4;
3717
3899
  white-space: inherit;
3718
3900
  }
3719
3901