pulp-image 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/ui/styles.css ADDED
@@ -0,0 +1,929 @@
1
+ /* Citrus/Clementine Pulp Inspired Design - Cute but Clean */
2
+
3
+ :root {
4
+ --orange-primary: #ff8c42;
5
+ --orange-light: #ffb366;
6
+ --orange-dark: #e6732a;
7
+ --orange-bg: #fff5e6;
8
+ --orange-bg-light: #fffaf0;
9
+ --orange-accent: #ffa366;
10
+
11
+ --yellow-light: #ffe6cc;
12
+ --yellow-bg: #fff9f0;
13
+
14
+ --text-primary: #333;
15
+ --text-secondary: #666;
16
+ --text-muted: #999;
17
+
18
+ --border-color: #ffd9b3;
19
+ --border-radius: 8px;
20
+ --border-radius-lg: 12px;
21
+
22
+ --shadow-sm: 0 2px 4px rgba(255, 140, 66, 0.1);
23
+ --shadow-md: 0 4px 6px rgba(255, 140, 66, 0.15);
24
+ --shadow-lg: 0 8px 16px rgba(255, 140, 66, 0.2);
25
+
26
+ --success: #4caf50;
27
+ --warning: #ff9800;
28
+ --danger: #f44336;
29
+ --info: #2196f3;
30
+ }
31
+
32
+ * {
33
+ box-sizing: border-box;
34
+ margin: 0;
35
+ padding: 0;
36
+ }
37
+
38
+ body {
39
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
40
+ background: linear-gradient(135deg, var(--orange-bg) 0%, var(--yellow-light) 100%);
41
+ color: var(--text-primary);
42
+ line-height: 1.6;
43
+ min-height: 100vh;
44
+ padding: 1rem;
45
+ }
46
+
47
+ .container {
48
+ max-width: 900px;
49
+ margin: 0 auto;
50
+ background: white;
51
+ border-radius: var(--border-radius-lg);
52
+ box-shadow: var(--shadow-lg);
53
+ overflow: hidden;
54
+ }
55
+
56
+ /* Header */
57
+ .header {
58
+ background: linear-gradient(135deg, #ffa366 0%, #ff8c42 50%, #ff7a3d 100%);
59
+ color: white;
60
+ padding: 1.5rem 2rem;
61
+ text-align: center;
62
+ position: relative;
63
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
64
+ }
65
+
66
+ .brand {
67
+ display: flex;
68
+ align-items: center;
69
+ justify-content: center;
70
+ gap: 1rem;
71
+ flex-wrap: wrap;
72
+ }
73
+
74
+ .logo {
75
+ height: 80px;
76
+ width: auto;
77
+ display: block;
78
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
79
+ flex-shrink: 0;
80
+ }
81
+
82
+ .brand-text {
83
+ display: flex;
84
+ flex-direction: column;
85
+ align-items: center;
86
+ }
87
+
88
+ .brand-text h1 {
89
+ font-size: 2.5rem;
90
+ font-weight: 700;
91
+ margin: 0;
92
+ text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.15);
93
+ letter-spacing: -0.02em;
94
+ line-height: 1.2;
95
+ }
96
+
97
+ .brand-subtitle {
98
+ font-size: 0.9rem;
99
+ opacity: 0.9;
100
+ margin-top: 0.25rem;
101
+ display: flex;
102
+ align-items: center;
103
+ justify-content: center;
104
+ gap: 0.5rem;
105
+ flex-wrap: wrap;
106
+ line-height: 1.4;
107
+ }
108
+
109
+ .brand-subtitle .version {
110
+ font-size: 0.7rem;
111
+ opacity: 0.75;
112
+ font-weight: 400;
113
+ font-family: 'Monaco', 'Menlo', 'Courier New', monospace;
114
+ background: rgba(255, 255, 255, 0.12);
115
+ padding: 0.15rem 0.35rem;
116
+ border-radius: 3px;
117
+ margin-left: 0.25rem;
118
+ }
119
+
120
+ /* Tabs */
121
+ .tabs {
122
+ display: flex;
123
+ border-bottom: 2px solid var(--border-color);
124
+ background: var(--orange-bg-light);
125
+ }
126
+
127
+ .tab-button {
128
+ flex: 1;
129
+ padding: 1rem;
130
+ background: transparent;
131
+ border: none;
132
+ border-bottom: 3px solid transparent;
133
+ cursor: pointer;
134
+ font-size: 1rem;
135
+ font-weight: 500;
136
+ color: var(--text-secondary);
137
+ transition: all 0.2s;
138
+ }
139
+
140
+ .tab-button:hover {
141
+ background: rgba(255, 140, 66, 0.1);
142
+ color: var(--orange-primary);
143
+ }
144
+
145
+ .tab-button.active {
146
+ color: var(--orange-primary);
147
+ border-bottom-color: var(--orange-primary);
148
+ background: white;
149
+ }
150
+
151
+ .tab-content {
152
+ display: none;
153
+ padding: 2rem;
154
+ }
155
+
156
+ .tab-content.active {
157
+ display: block;
158
+ }
159
+
160
+ /* Form Styles */
161
+ .process-form {
162
+ display: flex;
163
+ flex-direction: column;
164
+ gap: 1.5rem;
165
+ }
166
+
167
+ .form-group {
168
+ display: flex;
169
+ flex-direction: column;
170
+ gap: 0.5rem;
171
+ }
172
+
173
+ .form-row {
174
+ display: grid;
175
+ grid-template-columns: 1fr 1fr;
176
+ gap: 1rem;
177
+ }
178
+
179
+ .form-label {
180
+ font-weight: 600;
181
+ color: var(--text-primary);
182
+ font-size: 0.95rem;
183
+ }
184
+
185
+ .required {
186
+ color: var(--danger);
187
+ }
188
+
189
+ .input-helper {
190
+ font-size: 0.85rem;
191
+ color: var(--text-secondary);
192
+ margin-top: -0.25rem;
193
+ }
194
+
195
+ .button-helper-text {
196
+ font-size: 0.85rem;
197
+ color: var(--text-secondary);
198
+ line-height: 1.4;
199
+ white-space: pre-line;
200
+ }
201
+
202
+ .folder-open-fallback {
203
+ padding: 0.75rem;
204
+ background: var(--orange-bg-light);
205
+ border: 1px solid var(--border-color);
206
+ border-radius: var(--border-radius);
207
+ margin-top: 0.5rem;
208
+ }
209
+
210
+ .folder-open-fallback-message {
211
+ font-size: 0.9rem;
212
+ color: var(--text-primary);
213
+ line-height: 1.5;
214
+ white-space: pre-line;
215
+ margin-bottom: 0.5rem;
216
+ }
217
+
218
+ .folder-open-fallback-path {
219
+ font-size: 0.85rem;
220
+ font-family: 'Monaco', 'Menlo', 'Courier New', monospace;
221
+ color: var(--orange-primary);
222
+ background: white;
223
+ padding: 0.5rem 0.75rem;
224
+ border-radius: 4px;
225
+ border: 1px solid var(--border-color);
226
+ word-break: break-all;
227
+ user-select: all;
228
+ cursor: text;
229
+ }
230
+
231
+ .warning-text {
232
+ color: var(--warning);
233
+ font-weight: 500;
234
+ }
235
+
236
+ .danger-text {
237
+ color: var(--danger);
238
+ font-weight: 600;
239
+ }
240
+
241
+ .preview-text {
242
+ font-size: 0.85rem;
243
+ color: var(--orange-primary);
244
+ font-family: 'Courier New', monospace;
245
+ padding: 0.5rem;
246
+ background: var(--orange-bg);
247
+ border-radius: var(--border-radius);
248
+ margin-top: 0.25rem;
249
+ }
250
+
251
+ .value-display {
252
+ color: var(--orange-primary);
253
+ font-weight: 600;
254
+ margin-left: 0.5rem;
255
+ }
256
+
257
+ /* Input Styles */
258
+ .text-input,
259
+ .number-input,
260
+ .select-input {
261
+ padding: 0.75rem;
262
+ border: 2px solid var(--border-color);
263
+ border-radius: var(--border-radius);
264
+ font-size: 1rem;
265
+ transition: all 0.2s;
266
+ background: white;
267
+ }
268
+
269
+ .text-input:focus,
270
+ .number-input:focus,
271
+ .select-input:focus {
272
+ outline: none;
273
+ border-color: var(--orange-primary);
274
+ box-shadow: 0 0 0 3px rgba(255, 140, 66, 0.1);
275
+ }
276
+
277
+ .text-input:disabled,
278
+ .number-input:disabled,
279
+ .select-input:disabled {
280
+ background: #f5f5f5;
281
+ color: var(--text-muted);
282
+ cursor: not-allowed;
283
+ }
284
+
285
+ .file-input {
286
+ padding: 0.75rem;
287
+ border: 2px dashed var(--border-color);
288
+ border-radius: var(--border-radius);
289
+ background: var(--orange-bg-light);
290
+ cursor: pointer;
291
+ transition: all 0.2s;
292
+ }
293
+
294
+ .file-input:hover {
295
+ border-color: var(--orange-primary);
296
+ background: var(--orange-bg);
297
+ }
298
+
299
+ .input-preview {
300
+ padding: 0.75rem;
301
+ background: var(--orange-bg);
302
+ border-radius: var(--border-radius);
303
+ font-size: 0.9rem;
304
+ color: var(--text-secondary);
305
+ }
306
+
307
+ .file-list-summary {
308
+ display: flex;
309
+ justify-content: space-between;
310
+ align-items: center;
311
+ margin-bottom: 0.5rem;
312
+ }
313
+
314
+ .toggle-file-list-btn {
315
+ padding: 0.25rem 0.75rem;
316
+ background: var(--orange-primary);
317
+ color: white;
318
+ border: none;
319
+ border-radius: 4px;
320
+ font-size: 0.85rem;
321
+ cursor: pointer;
322
+ transition: all 0.2s;
323
+ }
324
+
325
+ .toggle-file-list-btn:hover {
326
+ background: var(--orange-dark);
327
+ }
328
+
329
+ .toggle-file-list-btn-secondary {
330
+ background: transparent;
331
+ color: var(--text-secondary);
332
+ border: 1px solid var(--border-color);
333
+ font-weight: 400;
334
+ }
335
+
336
+ .toggle-file-list-btn-secondary:hover {
337
+ background: var(--orange-bg-light);
338
+ color: var(--text-primary);
339
+ border-color: var(--orange-primary);
340
+ }
341
+
342
+ .file-list-detail {
343
+ max-height: 200px;
344
+ overflow-y: auto;
345
+ padding: 0.5rem;
346
+ background: white;
347
+ border-radius: var(--border-radius);
348
+ border: 1px solid var(--border-color);
349
+ margin-top: 0.5rem;
350
+ }
351
+
352
+ .file-list-item {
353
+ padding: 0.5rem;
354
+ border-bottom: 1px solid var(--border-color);
355
+ font-size: 0.85rem;
356
+ display: flex;
357
+ justify-content: space-between;
358
+ }
359
+
360
+ .file-list-item:last-child {
361
+ border-bottom: none;
362
+ }
363
+
364
+ .file-list-item-name {
365
+ color: var(--text-primary);
366
+ font-family: 'Courier New', monospace;
367
+ }
368
+
369
+ .file-list-item-size {
370
+ color: var(--text-secondary);
371
+ font-size: 0.8rem;
372
+ }
373
+
374
+ .ignored-files-list {
375
+ margin-top: 0.5rem;
376
+ background: #f5f5f5;
377
+ }
378
+
379
+ .file-list-item.ignored-file {
380
+ opacity: 0.6;
381
+ }
382
+
383
+ .file-list-item-badge {
384
+ color: var(--text-secondary);
385
+ font-size: 0.75rem;
386
+ font-style: italic;
387
+ }
388
+
389
+ .input-mode-switch {
390
+ display: flex;
391
+ gap: 1rem;
392
+ margin-bottom: 0.75rem;
393
+ }
394
+
395
+ .advanced-options {
396
+ margin-top: 1rem;
397
+ padding: 1rem;
398
+ background: var(--orange-bg-light);
399
+ border-radius: var(--border-radius);
400
+ border: 1px solid var(--border-color);
401
+ }
402
+
403
+ .advanced-options-summary {
404
+ cursor: pointer;
405
+ font-weight: 600;
406
+ color: var(--orange-primary);
407
+ user-select: none;
408
+ }
409
+
410
+ .advanced-options-summary:hover {
411
+ color: var(--orange-dark);
412
+ }
413
+
414
+ .advanced-options-content {
415
+ margin-top: 1rem;
416
+ padding-top: 1rem;
417
+ border-top: 1px solid var(--border-color);
418
+ }
419
+
420
+ .form-actions-inline {
421
+ display: flex;
422
+ gap: 0.5rem;
423
+ align-items: center;
424
+ }
425
+
426
+ .text-input[readonly] {
427
+ background: var(--orange-bg-light);
428
+ cursor: not-allowed;
429
+ }
430
+
431
+ .privacy-notice {
432
+ margin-top: 0.75rem;
433
+ padding: 1rem;
434
+ background: #e8f5e9;
435
+ border-left: 4px solid #4caf50;
436
+ border-radius: var(--border-radius);
437
+ }
438
+
439
+ .privacy-notice-content {
440
+ color: var(--text-primary);
441
+ font-size: 0.9rem;
442
+ line-height: 1.5;
443
+ }
444
+
445
+ .privacy-notice-content strong {
446
+ color: #2e7d32;
447
+ }
448
+
449
+ /* Slider */
450
+ .slider-input {
451
+ width: 100%;
452
+ height: 8px;
453
+ border-radius: 4px;
454
+ background: var(--border-color);
455
+ outline: none;
456
+ -webkit-appearance: none;
457
+ }
458
+
459
+ .slider-input::-webkit-slider-thumb {
460
+ -webkit-appearance: none;
461
+ appearance: none;
462
+ width: 20px;
463
+ height: 20px;
464
+ border-radius: 50%;
465
+ background: var(--orange-primary);
466
+ cursor: pointer;
467
+ box-shadow: var(--shadow-sm);
468
+ transition: all 0.2s;
469
+ }
470
+
471
+ .slider-input::-webkit-slider-thumb:hover {
472
+ background: var(--orange-dark);
473
+ transform: scale(1.1);
474
+ }
475
+
476
+ .slider-input::-moz-range-thumb {
477
+ width: 20px;
478
+ height: 20px;
479
+ border-radius: 50%;
480
+ background: var(--orange-primary);
481
+ cursor: pointer;
482
+ border: none;
483
+ box-shadow: var(--shadow-sm);
484
+ }
485
+
486
+ .slider-input:disabled {
487
+ opacity: 0.5;
488
+ cursor: not-allowed;
489
+ }
490
+
491
+ /* Toggle Switch */
492
+ .toggle-label {
493
+ display: flex;
494
+ align-items: center;
495
+ gap: 0.75rem;
496
+ cursor: pointer;
497
+ }
498
+
499
+ .toggle-input {
500
+ display: none;
501
+ }
502
+
503
+ .toggle-slider {
504
+ position: relative;
505
+ width: 50px;
506
+ height: 26px;
507
+ background: var(--border-color);
508
+ border-radius: 13px;
509
+ transition: all 0.3s;
510
+ }
511
+
512
+ .toggle-slider::before {
513
+ content: '';
514
+ position: absolute;
515
+ width: 20px;
516
+ height: 20px;
517
+ border-radius: 50%;
518
+ background: white;
519
+ top: 3px;
520
+ left: 3px;
521
+ transition: all 0.3s;
522
+ box-shadow: var(--shadow-sm);
523
+ }
524
+
525
+ .toggle-input:checked + .toggle-slider {
526
+ background: var(--orange-primary);
527
+ }
528
+
529
+ .toggle-input:checked + .toggle-slider::before {
530
+ transform: translateX(24px);
531
+ }
532
+
533
+ .toggle-input:disabled + .toggle-slider {
534
+ opacity: 0.5;
535
+ cursor: not-allowed;
536
+ }
537
+
538
+ .toggle-text {
539
+ font-weight: 500;
540
+ }
541
+
542
+ /* Checkbox */
543
+ .checkbox-label {
544
+ display: flex;
545
+ align-items: center;
546
+ gap: 0.75rem;
547
+ cursor: pointer;
548
+ }
549
+
550
+ .checkbox-input {
551
+ width: 20px;
552
+ height: 20px;
553
+ cursor: pointer;
554
+ accent-color: var(--orange-primary);
555
+ }
556
+
557
+ .checkbox-text {
558
+ font-weight: 500;
559
+ }
560
+
561
+ /* Radio Buttons */
562
+ .radio-group {
563
+ display: flex;
564
+ gap: 1.5rem;
565
+ margin-top: 0.5rem;
566
+ }
567
+
568
+ .radio-label {
569
+ display: flex;
570
+ align-items: center;
571
+ gap: 0.5rem;
572
+ cursor: pointer;
573
+ }
574
+
575
+ .radio-label input[type="radio"] {
576
+ width: 18px;
577
+ height: 18px;
578
+ cursor: pointer;
579
+ accent-color: var(--orange-primary);
580
+ }
581
+
582
+ /* Color Picker */
583
+ .color-input-wrapper {
584
+ display: flex;
585
+ gap: 0.5rem;
586
+ align-items: center;
587
+ }
588
+
589
+ .color-input {
590
+ width: 60px;
591
+ height: 40px;
592
+ border: 2px solid var(--border-color);
593
+ border-radius: var(--border-radius);
594
+ cursor: pointer;
595
+ padding: 0;
596
+ }
597
+
598
+ .color-text-input {
599
+ flex: 1;
600
+ padding: 0.75rem;
601
+ border: 2px solid var(--border-color);
602
+ border-radius: var(--border-radius);
603
+ font-family: 'Courier New', monospace;
604
+ background: var(--orange-bg-light);
605
+ }
606
+
607
+ /* Buttons */
608
+ .form-actions {
609
+ display: flex;
610
+ gap: 1rem;
611
+ margin-top: 1rem;
612
+ padding-top: 1.5rem;
613
+ border-top: 2px solid var(--border-color);
614
+ }
615
+
616
+ .button {
617
+ padding: 0.875rem 2rem;
618
+ border: none;
619
+ border-radius: var(--border-radius);
620
+ font-size: 1rem;
621
+ font-weight: 600;
622
+ cursor: pointer;
623
+ transition: all 0.2s;
624
+ box-shadow: var(--shadow-sm);
625
+ }
626
+
627
+ .button-primary {
628
+ background: var(--orange-primary);
629
+ color: white;
630
+ flex: 1;
631
+ }
632
+
633
+ .button-primary:hover:not(:disabled) {
634
+ background: var(--orange-dark);
635
+ box-shadow: var(--shadow-md);
636
+ transform: translateY(-1px);
637
+ }
638
+
639
+ .button-primary:disabled {
640
+ opacity: 0.6;
641
+ cursor: not-allowed;
642
+ }
643
+
644
+ .button-secondary {
645
+ background: white;
646
+ color: var(--orange-primary);
647
+ border: 2px solid var(--orange-primary);
648
+ }
649
+
650
+ .button-secondary:hover:not(:disabled) {
651
+ background: var(--orange-bg);
652
+ }
653
+
654
+ .button-secondary:disabled {
655
+ opacity: 0.6;
656
+ cursor: not-allowed;
657
+ }
658
+
659
+ /* Results Section */
660
+ .results-section {
661
+ margin-top: 2rem;
662
+ padding-top: 2rem;
663
+ border-top: 3px solid var(--border-color);
664
+ }
665
+
666
+ .results-title {
667
+ color: var(--orange-primary);
668
+ margin-bottom: 1.5rem;
669
+ }
670
+
671
+ .result-item {
672
+ padding: 1rem;
673
+ background: var(--orange-bg-light);
674
+ border-radius: var(--border-radius);
675
+ margin-bottom: 1rem;
676
+ border-left: 4px solid var(--orange-primary);
677
+ }
678
+
679
+ .result-item.success {
680
+ border-left-color: var(--success);
681
+ }
682
+
683
+ .result-item.error {
684
+ border-left-color: var(--danger);
685
+ background: #ffebee;
686
+ }
687
+
688
+ .result-item-header {
689
+ display: flex;
690
+ justify-content: space-between;
691
+ align-items: center;
692
+ margin-bottom: 0.5rem;
693
+ flex-wrap: wrap;
694
+ gap: 0.5rem;
695
+ }
696
+
697
+ @media (max-width: 600px) {
698
+ .result-item-header {
699
+ flex-direction: column;
700
+ align-items: flex-start;
701
+ }
702
+
703
+ .result-item-status {
704
+ align-self: flex-start;
705
+ }
706
+ }
707
+
708
+ .result-item-title {
709
+ font-weight: 600;
710
+ color: var(--text-primary);
711
+ }
712
+
713
+ .result-item-status {
714
+ padding: 0.25rem 0.75rem;
715
+ border-radius: 12px;
716
+ font-size: 0.85rem;
717
+ font-weight: 600;
718
+ }
719
+
720
+ .result-item-status.success {
721
+ background: var(--success);
722
+ color: white;
723
+ }
724
+
725
+ .result-item-status.error {
726
+ background: var(--danger);
727
+ color: white;
728
+ }
729
+
730
+ .result-item-details {
731
+ display: grid;
732
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
733
+ gap: 0.75rem;
734
+ margin-top: 0.75rem;
735
+ font-size: 0.9rem;
736
+ }
737
+
738
+ .result-detail {
739
+ color: var(--text-secondary);
740
+ }
741
+
742
+ .result-detail strong {
743
+ color: var(--text-primary);
744
+ }
745
+
746
+ .result-summary {
747
+ margin-top: 2rem;
748
+ padding: 1.5rem;
749
+ background: linear-gradient(135deg, var(--orange-bg) 0%, var(--yellow-light) 100%);
750
+ border-radius: var(--border-radius-lg);
751
+ border: 2px solid var(--orange-primary);
752
+ }
753
+
754
+ .result-summary-title {
755
+ color: var(--orange-primary);
756
+ margin-bottom: 1rem;
757
+ font-size: 1.25rem;
758
+ }
759
+
760
+ .result-summary-stats {
761
+ display: grid;
762
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
763
+ gap: 1rem;
764
+ }
765
+
766
+ .summary-stat {
767
+ text-align: center;
768
+ padding: 1rem;
769
+ background: white;
770
+ border-radius: var(--border-radius);
771
+ box-shadow: var(--shadow-sm);
772
+ }
773
+
774
+ .summary-stat-value {
775
+ font-size: 1.5rem;
776
+ font-weight: 700;
777
+ color: var(--orange-primary);
778
+ }
779
+
780
+ .summary-stat-label {
781
+ font-size: 0.85rem;
782
+ color: var(--text-secondary);
783
+ margin-top: 0.25rem;
784
+ }
785
+
786
+ /* Help Tab */
787
+ .help-content {
788
+ max-width: 800px;
789
+ }
790
+
791
+ .help-content h2 {
792
+ color: var(--orange-primary);
793
+ margin-bottom: 1rem;
794
+ }
795
+
796
+ .help-content h3 {
797
+ color: var(--orange-dark);
798
+ margin-top: 2rem;
799
+ margin-bottom: 1rem;
800
+ }
801
+
802
+ .help-mapping {
803
+ margin: 2rem 0;
804
+ }
805
+
806
+ .help-table {
807
+ width: 100%;
808
+ border-collapse: collapse;
809
+ margin-top: 1rem;
810
+ }
811
+
812
+ .help-table td {
813
+ padding: 0.75rem;
814
+ border-bottom: 1px solid var(--border-color);
815
+ }
816
+
817
+ .help-table td:first-child {
818
+ font-weight: 600;
819
+ color: var(--text-primary);
820
+ }
821
+
822
+ .help-table code {
823
+ background: var(--orange-bg);
824
+ padding: 0.25rem 0.5rem;
825
+ border-radius: 4px;
826
+ font-family: 'Courier New', monospace;
827
+ color: var(--orange-primary);
828
+ }
829
+
830
+ .help-examples {
831
+ margin: 2rem 0;
832
+ }
833
+
834
+ .example-block {
835
+ margin: 1rem 0;
836
+ padding: 1rem;
837
+ background: var(--orange-bg-light);
838
+ border-radius: var(--border-radius);
839
+ border-left: 4px solid var(--orange-primary);
840
+ }
841
+
842
+ .example-block code {
843
+ display: block;
844
+ font-family: 'Courier New', monospace;
845
+ color: var(--orange-primary);
846
+ font-weight: 600;
847
+ margin-bottom: 0.5rem;
848
+ }
849
+
850
+ .example-block p {
851
+ color: var(--text-secondary);
852
+ font-size: 0.9rem;
853
+ }
854
+
855
+ .help-info {
856
+ margin: 2rem 0;
857
+ padding: 1.5rem;
858
+ background: var(--orange-bg);
859
+ border-radius: var(--border-radius);
860
+ }
861
+
862
+ .help-info ul {
863
+ margin-left: 1.5rem;
864
+ margin-top: 0.5rem;
865
+ }
866
+
867
+ .help-info li {
868
+ margin: 0.5rem 0;
869
+ color: var(--text-secondary);
870
+ }
871
+
872
+ /* Responsive */
873
+ @media (max-width: 768px) {
874
+ .form-row {
875
+ grid-template-columns: 1fr;
876
+ }
877
+
878
+ .result-item-details {
879
+ grid-template-columns: 1fr;
880
+ }
881
+
882
+ .result-summary-stats {
883
+ grid-template-columns: 1fr;
884
+ }
885
+
886
+ .header {
887
+ padding: 1.25rem 1.5rem;
888
+ }
889
+
890
+ .brand {
891
+ gap: 0.75rem;
892
+ }
893
+
894
+ .logo {
895
+ height: 36px;
896
+ }
897
+
898
+ .brand-text h1 {
899
+ font-size: 2rem;
900
+ }
901
+
902
+ .brand-subtitle {
903
+ font-size: 0.85rem;
904
+ }
905
+
906
+ .brand-subtitle .version {
907
+ font-size: 0.65rem;
908
+ margin-left: 0.25rem;
909
+ }
910
+ }
911
+
912
+ @media (max-width: 480px) {
913
+ .header {
914
+ padding: 1rem 1.25rem;
915
+ }
916
+
917
+ .logo {
918
+ height: 32px;
919
+ }
920
+
921
+ .brand-text h1 {
922
+ font-size: 1.75rem;
923
+ }
924
+
925
+ .brand-subtitle {
926
+ font-size: 0.8rem;
927
+ }
928
+ }
929
+