mock-service-cli 4.10.0 → 4.11.1

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.
@@ -0,0 +1,1016 @@
1
+ :root {
2
+ color-scheme: light;
3
+ --bg: #f5f6f8;
4
+ --surface: #fff;
5
+ --subtle: #f8f9fb;
6
+ --text: #202735;
7
+ --muted: #778091;
8
+ --border: #e6e9ef;
9
+ --accent: #5364df;
10
+ --accent-soft: #eef0ff;
11
+ --green: #128366;
12
+ --red: #d44c56;
13
+ --shadow: 0 16px 60px #17214420;
14
+ --left: 258px;
15
+ --request: 52%;
16
+ --syntax-key: #2259a5;
17
+ --syntax-string: #217344;
18
+ --syntax-number: #a34c0a;
19
+ --syntax-keyword: #843f9d;
20
+ }
21
+ :root[data-theme='dark'] {
22
+ color-scheme: dark;
23
+ --bg: #14171e;
24
+ --surface: #1b1f28;
25
+ --subtle: #202530;
26
+ --text: #e2e7f0;
27
+ --muted: #939caf;
28
+ --border: #2d3442;
29
+ --accent: #9aa6ff;
30
+ --accent-soft: #2b3150;
31
+ --green: #61d7b2;
32
+ --red: #ff858d;
33
+ --shadow: 0 16px 60px #0006;
34
+ --syntax-key: #88baff;
35
+ --syntax-string: #99d9aa;
36
+ --syntax-number: #f1bc85;
37
+ --syntax-keyword: #d9a5f5;
38
+ }
39
+ .syntax-key {
40
+ color: var(--syntax-key);
41
+ }
42
+ .syntax-string {
43
+ color: var(--syntax-string);
44
+ }
45
+ .syntax-number {
46
+ color: var(--syntax-number);
47
+ }
48
+ .syntax-keyword {
49
+ color: var(--syntax-keyword);
50
+ }
51
+ .syntax-punctuation {
52
+ color: var(--text);
53
+ }
54
+ .syntax-comment {
55
+ color: var(--muted);
56
+ font-style: italic;
57
+ }
58
+ * {
59
+ box-sizing: border-box;
60
+ }
61
+ body {
62
+ margin: 0;
63
+ background: var(--bg);
64
+ color: var(--text);
65
+ font:
66
+ 13px/1.5 -apple-system,
67
+ BlinkMacSystemFont,
68
+ 'Segoe UI',
69
+ 'Microsoft YaHei',
70
+ sans-serif;
71
+ }
72
+ button,
73
+ input,
74
+ select,
75
+ textarea {
76
+ font: inherit;
77
+ color: inherit;
78
+ }
79
+ button,
80
+ select {
81
+ background: var(--surface);
82
+ border: 1px solid var(--border);
83
+ border-radius: 6px;
84
+ min-height: 32px;
85
+ padding: 5px 10px;
86
+ }
87
+ button {
88
+ cursor: pointer;
89
+ white-space: nowrap;
90
+ transition:
91
+ background 0.12s,
92
+ color 0.12s;
93
+ }
94
+ button:hover {
95
+ background: var(--subtle);
96
+ border-color: var(--muted);
97
+ }
98
+ button:disabled {
99
+ opacity: 0.5;
100
+ cursor: wait;
101
+ }
102
+ button.primary {
103
+ background: var(--accent);
104
+ color: #fff;
105
+ border-color: var(--accent);
106
+ }
107
+ input,
108
+ textarea {
109
+ border: 1px solid var(--border);
110
+ border-radius: 5px;
111
+ background: var(--surface);
112
+ padding: 8px 10px;
113
+ min-width: 0;
114
+ }
115
+ input[type='checkbox'] {
116
+ accent-color: var(--accent);
117
+ width: 15px;
118
+ height: 15px;
119
+ }
120
+ input:focus,
121
+ textarea:focus {
122
+ border-color: var(--accent);
123
+ outline: none;
124
+ }
125
+ :focus-visible {
126
+ outline: 2px solid var(--accent);
127
+ outline-offset: 2px;
128
+ }
129
+ button.danger {
130
+ color: var(--red);
131
+ }
132
+ a {
133
+ color: var(--accent);
134
+ text-decoration: none;
135
+ }
136
+ h1,
137
+ h2,
138
+ h3,
139
+ p {
140
+ margin-top: 0;
141
+ }
142
+ h2 {
143
+ font-size: 17px;
144
+ margin-bottom: 0;
145
+ }
146
+ h3 {
147
+ font-size: 16px;
148
+ }
149
+ small,
150
+ .muted {
151
+ color: var(--muted);
152
+ }
153
+ kbd {
154
+ font-size: 10px;
155
+ color: var(--muted);
156
+ margin-left: 8px;
157
+ }
158
+ .spacer {
159
+ flex: 1;
160
+ }
161
+ .topbar {
162
+ height: 68px;
163
+ display: flex;
164
+ align-items: center;
165
+ gap: 10px;
166
+ padding: 0 22px;
167
+ border-bottom: 1px solid var(--border);
168
+ background: var(--surface);
169
+ }
170
+ .brand {
171
+ display: flex;
172
+ align-items: center;
173
+ gap: 10px;
174
+ font-size: 17px;
175
+ font-weight: 700;
176
+ letter-spacing: -0.5px;
177
+ color: var(--text);
178
+ white-space: nowrap;
179
+ }
180
+ .brand small {
181
+ display: block;
182
+ font-size: 8px;
183
+ letter-spacing: 2px;
184
+ margin-top: -3px;
185
+ }
186
+ .logo {
187
+ display: inline-flex;
188
+ align-items: center;
189
+ justify-content: center;
190
+ width: 35px;
191
+ height: 35px;
192
+ border-radius: 10px;
193
+ background: var(--accent);
194
+ color: white;
195
+ font-size: 24px;
196
+ font-weight: 750;
197
+ }
198
+ .logo span {
199
+ font-size: 18px;
200
+ }
201
+ .workspace-badge {
202
+ padding: 5px 10px;
203
+ border: 1px solid var(--border);
204
+ border-radius: 20px;
205
+ color: var(--muted);
206
+ font-size: 11px;
207
+ margin-left: 15px;
208
+ max-width: 180px;
209
+ overflow: hidden;
210
+ text-overflow: ellipsis;
211
+ white-space: nowrap;
212
+ }
213
+ .layout {
214
+ display: grid;
215
+ grid-template-columns: var(--left) 5px minmax(320px, var(--request)) 5px minmax(300px, 1fr);
216
+ height: calc(100dvh - 68px);
217
+ overflow: hidden;
218
+ }
219
+ .sidebar {
220
+ min-width: 0;
221
+ display: flex;
222
+ flex-direction: column;
223
+ background: var(--subtle);
224
+ }
225
+ .sidebar-heading {
226
+ display: flex;
227
+ align-items: center;
228
+ justify-content: space-between;
229
+ padding: 20px 16px 12px;
230
+ }
231
+ .sidebar-heading button {
232
+ font-size: 11px;
233
+ }
234
+ .search-wrap {
235
+ padding: 0 14px 12px;
236
+ }
237
+ .search-wrap input {
238
+ width: 100%;
239
+ background: var(--surface);
240
+ font-size: 12px;
241
+ }
242
+ .segment {
243
+ display: flex;
244
+ gap: 3px;
245
+ margin: 0 14px 12px;
246
+ background: var(--bg);
247
+ border: 1px solid var(--border);
248
+ border-radius: 7px;
249
+ padding: 3px;
250
+ }
251
+ .segment button {
252
+ flex: 1;
253
+ border: 0;
254
+ background: transparent;
255
+ min-height: 28px;
256
+ padding: 3px;
257
+ }
258
+ .segment .active {
259
+ background: var(--surface);
260
+ box-shadow: 0 1px 4px #0001;
261
+ color: var(--accent);
262
+ }
263
+ .tree {
264
+ flex: 1;
265
+ overflow: auto;
266
+ position: relative;
267
+ min-height: 0;
268
+ }
269
+ .tree-row {
270
+ height: 36px;
271
+ display: flex;
272
+ align-items: center;
273
+ gap: 8px;
274
+ padding: 0 12px;
275
+ cursor: pointer;
276
+ white-space: nowrap;
277
+ min-width: 0;
278
+ border-left: 2px solid transparent;
279
+ }
280
+ .tree-row:hover {
281
+ background: var(--border);
282
+ }
283
+ .tree-row.selected {
284
+ background: var(--accent-soft);
285
+ border-left-color: var(--accent);
286
+ }
287
+ .tree-row .row-name {
288
+ overflow: hidden;
289
+ text-overflow: ellipsis;
290
+ flex: 1;
291
+ }
292
+ .tree-row .row-menu {
293
+ border: 0;
294
+ background: none;
295
+ padding: 0 6px;
296
+ min-height: 24px;
297
+ visibility: hidden;
298
+ }
299
+ .tree-row:hover .row-menu,
300
+ .tree-row:focus-within .row-menu {
301
+ visibility: visible;
302
+ }
303
+ .method-tag {
304
+ font:
305
+ 700 9px ui-monospace,
306
+ SFMono-Regular,
307
+ Consolas,
308
+ monospace;
309
+ color: var(--green);
310
+ min-width: 38px;
311
+ }
312
+ .method-tag.POST {
313
+ color: #d79b25;
314
+ }
315
+ .method-tag.DELETE {
316
+ color: var(--red);
317
+ }
318
+ .method-tag.PUT,
319
+ .method-tag.PATCH {
320
+ color: var(--accent);
321
+ }
322
+ .sidebar-footer {
323
+ padding: 15px;
324
+ font-size: 10px;
325
+ color: var(--muted);
326
+ border-top: 1px solid var(--border);
327
+ white-space: nowrap;
328
+ overflow: hidden;
329
+ }
330
+ .status-dot {
331
+ display: inline-block;
332
+ width: 6px;
333
+ height: 6px;
334
+ background: var(--green);
335
+ border-radius: 50%;
336
+ margin-right: 6px;
337
+ }
338
+ .splitter {
339
+ background: var(--border);
340
+ cursor: col-resize;
341
+ width: 5px;
342
+ z-index: 1;
343
+ }
344
+ .splitter:hover {
345
+ background: var(--accent);
346
+ }
347
+ .request-pane,
348
+ .response-pane {
349
+ background: var(--surface);
350
+ min-width: 0;
351
+ display: flex;
352
+ flex-direction: column;
353
+ overflow: hidden;
354
+ }
355
+ .tabs {
356
+ height: 36px;
357
+ flex-shrink: 0;
358
+ display: flex;
359
+ overflow: auto;
360
+ background: var(--subtle);
361
+ border-bottom: 1px solid var(--border);
362
+ }
363
+ .tabs button {
364
+ display: flex;
365
+ flex-shrink: 0;
366
+ gap: 4px;
367
+ padding: 4px 8px;
368
+ align-items: center;
369
+ border: 0;
370
+ border-right: 1px solid var(--border);
371
+ border-radius: 0;
372
+ background: none;
373
+ max-width: 168px;
374
+ min-width: 112px;
375
+ font-size: 11px;
376
+ }
377
+ .tabs button.active {
378
+ background: var(--surface);
379
+ box-shadow: inset 0 2px var(--accent);
380
+ }
381
+ .tabs .tab-title {
382
+ min-width: 0;
383
+ overflow: hidden;
384
+ text-overflow: ellipsis;
385
+ white-space: nowrap;
386
+ }
387
+ .tabs .method-tag {
388
+ flex-shrink: 0;
389
+ min-width: 0;
390
+ font-size: 9px;
391
+ }
392
+ .tabs .tab-close {
393
+ flex-shrink: 0;
394
+ margin-left: auto;
395
+ padding: 2px 4px;
396
+ }
397
+ .request-heading,
398
+ .response-heading {
399
+ display: flex;
400
+ align-items: center;
401
+ gap: 8px;
402
+ padding: 22px 20px 18px;
403
+ }
404
+ .request-heading > div {
405
+ flex: 1;
406
+ min-width: 0;
407
+ }
408
+ .eyebrow {
409
+ font-size: 9px;
410
+ letter-spacing: 1.5px;
411
+ font-weight: 700;
412
+ color: var(--muted);
413
+ display: block;
414
+ margin-bottom: 5px;
415
+ }
416
+ .request-heading input {
417
+ border: 0;
418
+ padding: 0;
419
+ font-size: 17px;
420
+ font-weight: 650;
421
+ width: 100%;
422
+ background: transparent;
423
+ }
424
+ .url-bar {
425
+ display: flex;
426
+ margin: 0 20px 8px;
427
+ gap: 7px;
428
+ }
429
+ .url-bar select {
430
+ font-weight: 700;
431
+ color: var(--green);
432
+ font-size: 12px;
433
+ padding: 8px;
434
+ }
435
+ .url-bar input {
436
+ flex: 1;
437
+ font:
438
+ 12px ui-monospace,
439
+ SFMono-Regular,
440
+ Consolas,
441
+ monospace;
442
+ min-width: 30px;
443
+ }
444
+ .url-bar .primary {
445
+ min-width: 70px;
446
+ }
447
+ .url-preview {
448
+ color: var(--muted);
449
+ padding: 0 20px;
450
+ height: 30px;
451
+ flex-shrink: 0;
452
+ overflow: hidden;
453
+ text-overflow: ellipsis;
454
+ font:
455
+ 10px/24px ui-monospace,
456
+ monospace;
457
+ white-space: nowrap;
458
+ }
459
+ .panel-tabs {
460
+ display: flex;
461
+ border-bottom: 1px solid var(--border);
462
+ padding: 0 15px;
463
+ gap: 4px;
464
+ flex-shrink: 0;
465
+ overflow: auto;
466
+ }
467
+ .panel-tabs button {
468
+ border: 0;
469
+ border-radius: 0;
470
+ background: none;
471
+ color: var(--muted);
472
+ padding: 10px 9px;
473
+ font-size: 12px;
474
+ }
475
+ .panel-tabs .active {
476
+ color: var(--accent);
477
+ box-shadow: inset 0 -2px var(--accent);
478
+ }
479
+ .request-content {
480
+ padding: 20px;
481
+ flex: 1;
482
+ overflow: auto;
483
+ min-height: 0;
484
+ }
485
+ .section-label {
486
+ font-size: 11px;
487
+ font-weight: 650;
488
+ margin-bottom: 12px;
489
+ color: var(--muted);
490
+ }
491
+ .hint {
492
+ color: var(--muted);
493
+ font-size: 11px;
494
+ line-height: 1.7;
495
+ margin: 10px 0;
496
+ }
497
+ .kv-table {
498
+ width: 100%;
499
+ border-collapse: collapse;
500
+ table-layout: fixed;
501
+ font-size: 12px;
502
+ }
503
+ .kv-table th {
504
+ text-align: left;
505
+ padding: 7px;
506
+ color: var(--muted);
507
+ font-size: 10px;
508
+ font-weight: 600;
509
+ border-bottom: 1px solid var(--border);
510
+ }
511
+ .kv-table th:first-child {
512
+ width: 30px;
513
+ }
514
+ .kv-table th:last-child {
515
+ width: 32px;
516
+ }
517
+ .kv-table td {
518
+ border-bottom: 1px solid var(--border);
519
+ padding: 3px;
520
+ }
521
+ .kv-table input:not([type='checkbox']) {
522
+ width: 100%;
523
+ border: 0;
524
+ background: transparent;
525
+ font:
526
+ 12px ui-monospace,
527
+ monospace;
528
+ padding: 7px 4px;
529
+ }
530
+ .kv-table button {
531
+ border: 0;
532
+ background: transparent;
533
+ padding: 0;
534
+ min-height: 24px;
535
+ color: var(--muted);
536
+ }
537
+ .toolbar {
538
+ display: flex;
539
+ gap: 8px;
540
+ align-items: center;
541
+ flex-wrap: wrap;
542
+ margin: 12px 0;
543
+ }
544
+ .toolbar button {
545
+ font-size: 11px;
546
+ }
547
+ .editor-host {
548
+ min-height: 220px;
549
+ height: calc(100% - 90px);
550
+ border: 1px solid var(--border);
551
+ border-radius: 6px;
552
+ overflow: hidden;
553
+ background: var(--surface);
554
+ }
555
+ .editor-host textarea {
556
+ width: 100%;
557
+ height: 100%;
558
+ min-height: 220px;
559
+ resize: vertical;
560
+ font:
561
+ 12px/1.8 ui-monospace,
562
+ monospace;
563
+ border: 0;
564
+ }
565
+ .editor-host .cm-editor {
566
+ height: 100%;
567
+ min-height: 220px;
568
+ font:
569
+ 12px/1.8 ui-monospace,
570
+ monospace;
571
+ }
572
+ .editor-host .cm-scroller {
573
+ overflow: auto;
574
+ }
575
+ .editor-host .cm-gutters {
576
+ background: var(--subtle);
577
+ color: var(--muted);
578
+ border-color: var(--border);
579
+ }
580
+ .cm-editor .cm-content {
581
+ caret-color: var(--text);
582
+ }
583
+ .request-footer,
584
+ .response-footer {
585
+ border-top: 1px solid var(--border);
586
+ padding: 10px 16px;
587
+ display: flex;
588
+ justify-content: space-between;
589
+ font-size: 10px;
590
+ color: var(--muted);
591
+ gap: 8px;
592
+ }
593
+ .response-heading {
594
+ height: 100px;
595
+ }
596
+ .response-metrics {
597
+ height: 53px;
598
+ display: flex;
599
+ align-items: center;
600
+ padding: 0 20px;
601
+ gap: 12px;
602
+ font-size: 11px;
603
+ }
604
+ .metric {
605
+ background: var(--subtle);
606
+ border-radius: 5px;
607
+ padding: 4px 8px;
608
+ white-space: nowrap;
609
+ }
610
+ .success {
611
+ color: var(--green);
612
+ }
613
+ .failure {
614
+ color: var(--red);
615
+ }
616
+ .response-tools {
617
+ display: flex;
618
+ align-items: center;
619
+ gap: 6px;
620
+ padding: 12px 16px;
621
+ border-bottom: 1px solid var(--border);
622
+ }
623
+ .response-tools input {
624
+ flex: 1;
625
+ width: 30px;
626
+ font-size: 11px;
627
+ padding: 5px;
628
+ }
629
+ .response-tools button,
630
+ .response-tools select {
631
+ font-size: 10px;
632
+ min-height: 27px;
633
+ padding: 3px 7px;
634
+ }
635
+ .response-content {
636
+ flex: 1;
637
+ overflow: auto;
638
+ min-height: 0;
639
+ position: relative;
640
+ padding: 16px;
641
+ }
642
+ .empty-state {
643
+ height: 100%;
644
+ min-height: 250px;
645
+ display: flex;
646
+ flex-direction: column;
647
+ align-items: center;
648
+ justify-content: center;
649
+ text-align: center;
650
+ color: var(--muted);
651
+ }
652
+ .empty-state h3 {
653
+ color: var(--text);
654
+ margin-bottom: 8px;
655
+ }
656
+ .empty-state p {
657
+ font-size: 12px;
658
+ line-height: 1.9;
659
+ }
660
+ .empty-symbol {
661
+ font-size: 35px;
662
+ background: var(--accent-soft);
663
+ color: var(--accent);
664
+ width: 68px;
665
+ height: 68px;
666
+ line-height: 68px;
667
+ border-radius: 18px;
668
+ margin-bottom: 22px;
669
+ }
670
+ .shortcut {
671
+ font:
672
+ 10px ui-monospace,
673
+ monospace;
674
+ border: 1px solid var(--border);
675
+ border-radius: 5px;
676
+ padding: 5px 10px;
677
+ }
678
+ .response-line {
679
+ height: 21px;
680
+ white-space: pre;
681
+ font:
682
+ 11px/21px ui-monospace,
683
+ SFMono-Regular,
684
+ Consolas,
685
+ monospace;
686
+ }
687
+ .line-number {
688
+ display: inline-block;
689
+ min-width: 36px;
690
+ text-align: right;
691
+ color: var(--muted);
692
+ padding-right: 12px;
693
+ user-select: none;
694
+ }
695
+ .json-tree {
696
+ font:
697
+ 12px/1.8 ui-monospace,
698
+ monospace;
699
+ }
700
+ .json-tree details {
701
+ margin-left: 14px;
702
+ }
703
+ .json-tree summary {
704
+ cursor: pointer;
705
+ }
706
+ .json-leaf {
707
+ padding-left: 14px;
708
+ overflow-wrap: anywhere;
709
+ }
710
+ .form-grid {
711
+ display: grid;
712
+ grid-template-columns: 140px 1fr;
713
+ gap: 14px;
714
+ align-items: center;
715
+ }
716
+ .form-grid input,
717
+ .form-grid select {
718
+ width: 100%;
719
+ }
720
+ .check-label {
721
+ display: flex;
722
+ align-items: center;
723
+ gap: 8px;
724
+ }
725
+ .rule-row {
726
+ display: flex;
727
+ flex-wrap: wrap;
728
+ align-items: center;
729
+ gap: 6px;
730
+ padding: 10px 0;
731
+ border-bottom: 1px solid var(--border);
732
+ }
733
+ .rule-row input {
734
+ width: 110px;
735
+ flex: 1;
736
+ }
737
+ .rule-row select {
738
+ font-size: 11px;
739
+ }
740
+ .rule-row button {
741
+ padding: 3px 7px;
742
+ }
743
+ .result-card {
744
+ border: 1px solid var(--border);
745
+ border-radius: 6px;
746
+ padding: 12px;
747
+ margin-bottom: 8px;
748
+ }
749
+ .result-card pre {
750
+ white-space: pre-wrap;
751
+ overflow-wrap: anywhere;
752
+ font-size: 11px;
753
+ }
754
+ .result-card button {
755
+ margin-left: 8px;
756
+ }
757
+ .notice {
758
+ border-left: 3px solid var(--accent);
759
+ padding: 10px 12px;
760
+ background: var(--accent-soft);
761
+ font-size: 12px;
762
+ margin: 10px 0;
763
+ }
764
+ .error-notice {
765
+ border-color: var(--red);
766
+ color: var(--red);
767
+ }
768
+ dialog {
769
+ border: 1px solid var(--border);
770
+ border-radius: 14px;
771
+ background: var(--surface);
772
+ color: var(--text);
773
+ box-shadow: var(--shadow);
774
+ padding: 0;
775
+ width: min(760px, 94vw);
776
+ max-height: 88dvh;
777
+ }
778
+ dialog::backdrop {
779
+ background: #11182755;
780
+ backdrop-filter: blur(3px);
781
+ }
782
+ .modal-head {
783
+ display: flex;
784
+ align-items: center;
785
+ justify-content: space-between;
786
+ padding: 18px 22px;
787
+ border-bottom: 1px solid var(--border);
788
+ }
789
+ .modal-head button {
790
+ border: 0;
791
+ font-size: 20px;
792
+ }
793
+ #modal-body {
794
+ padding: 22px;
795
+ max-height: 65dvh;
796
+ overflow: auto;
797
+ }
798
+ #modal-actions {
799
+ display: flex;
800
+ justify-content: flex-end;
801
+ gap: 8px;
802
+ padding: 15px 22px;
803
+ border-top: 1px solid var(--border);
804
+ }
805
+ #modal-body textarea {
806
+ width: 100%;
807
+ min-height: 180px;
808
+ font:
809
+ 12px/1.6 ui-monospace,
810
+ monospace;
811
+ }
812
+ #modal-body label {
813
+ display: block;
814
+ margin: 10px 0;
815
+ }
816
+ #modal-body label input:not([type='checkbox']) {
817
+ width: 100%;
818
+ margin-top: 5px;
819
+ }
820
+ #toast {
821
+ position: fixed;
822
+ bottom: 30px;
823
+ left: 50%;
824
+ transform: translateX(-50%);
825
+ max-width: 90vw;
826
+ padding: 12px 20px;
827
+ background: var(--text);
828
+ color: var(--surface);
829
+ border-radius: 9px;
830
+ box-shadow: var(--shadow);
831
+ z-index: 10;
832
+ }
833
+ #toast.error {
834
+ background: #a43441;
835
+ color: #fff;
836
+ }
837
+ .login-page {
838
+ display: grid;
839
+ place-items: center;
840
+ min-height: 100dvh;
841
+ background: radial-gradient(ellipse at top, #5364df15, transparent 60%), var(--bg);
842
+ }
843
+ .login-card {
844
+ width: min(420px, 90vw);
845
+ background: var(--surface);
846
+ padding: 36px;
847
+ border: 1px solid var(--border);
848
+ border-radius: 16px;
849
+ box-shadow: var(--shadow);
850
+ }
851
+ .login-card h1 {
852
+ margin: 22px 0 10px;
853
+ }
854
+ .login-card p {
855
+ color: var(--muted);
856
+ font-size: 12px;
857
+ }
858
+ .login-card label {
859
+ display: block;
860
+ margin: 24px 0;
861
+ }
862
+ .login-card input {
863
+ display: block;
864
+ width: 100%;
865
+ margin-top: 8px;
866
+ }
867
+ .login-card button {
868
+ width: 100%;
869
+ }
870
+ .loading-ring {
871
+ width: 32px;
872
+ height: 32px;
873
+ border: 3px solid var(--border);
874
+ border-top-color: var(--accent);
875
+ border-radius: 50%;
876
+ animation: spin 0.8s linear infinite;
877
+ margin-bottom: 18px;
878
+ }
879
+ @keyframes spin {
880
+ to {
881
+ transform: rotate(360deg);
882
+ }
883
+ }
884
+ [hidden] {
885
+ display: none !important;
886
+ }
887
+ @media (max-width: 1200px) {
888
+ .layout {
889
+ --left: 220px;
890
+ --request: 46%;
891
+ }
892
+ .workspace-badge {
893
+ display: none;
894
+ }
895
+ .topbar {
896
+ gap: 6px;
897
+ padding: 0 14px;
898
+ }
899
+ .topbar button {
900
+ font-size: 11px;
901
+ }
902
+ .request-heading {
903
+ padding: 16px 12px;
904
+ }
905
+ .url-bar {
906
+ margin-left: 12px;
907
+ margin-right: 12px;
908
+ }
909
+ .request-content {
910
+ padding: 14px;
911
+ }
912
+ .response-tools {
913
+ flex-wrap: wrap;
914
+ }
915
+ }
916
+ @media (max-width: 960px) {
917
+ .layout {
918
+ grid-template-columns: 210px 4px minmax(0, 1fr);
919
+ grid-template-rows: 55% 45%;
920
+ overflow: auto;
921
+ }
922
+ .sidebar {
923
+ grid-row: 1/3;
924
+ }
925
+ .request-pane {
926
+ grid-column: 3;
927
+ grid-row: 1;
928
+ }
929
+ .response-pane {
930
+ grid-column: 3;
931
+ grid-row: 2;
932
+ border-top: 1px solid var(--border);
933
+ }
934
+ #left-split {
935
+ grid-row: 1/3;
936
+ }
937
+ #right-split {
938
+ display: none;
939
+ }
940
+ .response-heading {
941
+ height: 60px;
942
+ padding: 12px 16px;
943
+ }
944
+ .response-metrics {
945
+ height: 35px;
946
+ }
947
+ .topbar .brand small {
948
+ display: none;
949
+ }
950
+ .topbar {
951
+ flex-wrap: wrap;
952
+ height: auto;
953
+ min-height: 68px;
954
+ padding: 10px;
955
+ }
956
+ .topbar #logout {
957
+ display: none;
958
+ }
959
+ .layout {
960
+ height: calc(100dvh - 90px);
961
+ }
962
+ }
963
+ @media (max-width: 640px) {
964
+ .layout {
965
+ display: flex;
966
+ flex-direction: column;
967
+ overflow: auto;
968
+ height: auto;
969
+ }
970
+ .sidebar {
971
+ height: 190px;
972
+ flex-shrink: 0;
973
+ }
974
+ .sidebar-heading {
975
+ padding: 10px;
976
+ }
977
+ .sidebar-footer,
978
+ .splitter {
979
+ display: none;
980
+ }
981
+ .request-pane {
982
+ min-height: 540px;
983
+ }
984
+ .response-pane {
985
+ height: 520px;
986
+ }
987
+ .topbar .brand {
988
+ font-size: 14px;
989
+ }
990
+ .topbar #cookies {
991
+ display: none;
992
+ }
993
+ .topbar #theme {
994
+ width: 70px;
995
+ }
996
+ .topbar #environment {
997
+ max-width: 95px;
998
+ }
999
+ .form-grid {
1000
+ grid-template-columns: 100px 1fr;
1001
+ }
1002
+ .request-footer {
1003
+ font-size: 9px;
1004
+ }
1005
+ }
1006
+ @media (prefers-reduced-motion: reduce) {
1007
+ * {
1008
+ animation: none !important;
1009
+ transition: none !important;
1010
+ }
1011
+ }
1012
+ .sidebar,
1013
+ .request-pane,
1014
+ .response-pane {
1015
+ min-height: 0;
1016
+ }