DawnC commited on
Commit
1741d17
1 Parent(s): 6dcaa2e

Delete styles.py

Browse files
Files changed (1) hide show
  1. styles.py +0 -1238
styles.py DELETED
@@ -1,1238 +0,0 @@
1
-
2
- def get_css_styles():
3
- return """
4
- .dog-info-card {
5
- margin: 0 0 20px 0;
6
- padding: 0;
7
- border-radius: 12px;
8
- box-shadow: 0 2px 12px rgba(0,0,0,0.08);
9
- overflow: hidden;
10
- transition: all 0.3s ease;
11
- background: white;
12
- border: 1px solid #e1e4e8;
13
- position: relative;
14
- }
15
-
16
- .dog-info-card:hover {
17
- box-shadow: 0 4px 16px rgba(0,0,0,0.12);
18
- }
19
-
20
- .dog-info-card:before {
21
- content: '';
22
- position: absolute;
23
- left: 0;
24
- top: 0;
25
- bottom: 0;
26
- width: 8px;
27
- background-color: inherit;
28
- }
29
-
30
- .dog-info-header {
31
- padding: 24px 28px; /* 增加內距 */
32
- margin: 0;
33
- font-size: 22px;
34
- font-weight: bold;
35
- border-bottom: 1px solid #e1e4e8;
36
- }
37
-
38
- .dog-info-header {
39
- background-color: transparent;
40
- }
41
-
42
- .colored-border {
43
- position: absolute;
44
- left: 0;
45
- top: 0;
46
- bottom: 0;
47
- width: 8px;
48
- }
49
-
50
- .dog-info-header {
51
- border-left-width: 8px;
52
- border-left-style: solid;
53
- }
54
-
55
- .breed-info {
56
- padding: 28px; /* 增加整體內距 */
57
- line-height: 1.6;
58
- font-size: 1rem;
59
- border: none;
60
- }
61
-
62
- .section-title {
63
- font-size: 1.2em !important;
64
- font-weight: 700;
65
- color: #2c3e50;
66
- margin: 32px 0 20px 0;
67
- padding: 12px 0;
68
- border-bottom: 2px solid #e1e4e8;
69
- text-transform: uppercase;
70
- letter-spacing: 0.5px;
71
- display: flex;
72
- align-items: center;
73
- gap: 8px;
74
- position: relative;
75
- }
76
-
77
- .section-header {
78
- color: #2c3e50;
79
- font-size: 1.15rem;
80
- font-weight: 600;
81
- margin: 20px 0 12px 0;
82
- display: flex;
83
- align-items: center;
84
- gap: 8px;
85
- }
86
-
87
- .icon {
88
- font-size: 1.2em;
89
- display: inline-flex;
90
- align-items: center;
91
- justify-content: center;
92
- }
93
-
94
- .info-section, .care-section, .family-section {
95
- display: flex;
96
- flex-wrap: wrap;
97
- gap: 16px;
98
- margin-bottom: 28px; /* 增加底部間距 */
99
- padding: 20px; /* 增加內距 */
100
- background: #f8f9fa;
101
- border-radius: 12px;
102
- border: 1px solid #e1e4e8; /* 添加邊框 */
103
- }
104
-
105
- .info-item {
106
- background: white; /* 改為白色背景 */
107
- padding: 14px 18px; /* 增加內距 */
108
- border-radius: 8px;
109
- display: flex;
110
- align-items: center;
111
- gap: 10px;
112
- box-shadow: 0 2px 4px rgba(0,0,0,0.05);
113
- border: 1px solid #e1e4e8;
114
- flex: 1 1 auto;
115
- min-width: 200px;
116
- }
117
-
118
- .label {
119
- color: #666;
120
- font-weight: 600;
121
- font-size: 1.1rem;
122
- }
123
-
124
- .value {
125
- color: #2c3e50;
126
- font-weight: 500;
127
- font-size: 1.1rem;
128
- }
129
-
130
- .temperament-section {
131
- background: #f8f9fa;
132
- padding: 20px; /* 增加內距 */
133
- border-radius: 12px;
134
- margin-bottom: 28px; /* 增加間距 */
135
- color: #444;
136
- border: 1px solid #e1e4e8; /* 添加邊框 */
137
- }
138
-
139
- .description-section {
140
- background: #f8f9fa;
141
- padding: 24px; /* 增加內距 */
142
- border-radius: 12px;
143
- margin: 28px 0; /* 增加上下間距 */
144
- line-height: 1.8;
145
- color: #444;
146
- border: 1px solid #e1e4e8; /* 添加邊框 */
147
- fontsize: 1.1rem;
148
- }
149
- .description-section p {
150
- margin: 0;
151
- padding: 0;
152
- text-align: justify; /* 文字兩端對齊 */
153
- word-wrap: break-word; /* 確保長單字會換行 */
154
- white-space: pre-line; /* 保留換行但合併空白 */
155
- max-width: 100%; /* 確保不會超出容器 */
156
- }
157
-
158
- .action-section {
159
- margin-top: 24px;
160
- text-align: center;
161
- }
162
-
163
- .akc-button,
164
- .breed-section .akc-link,
165
- .breed-option .akc-link {
166
- display: inline-flex;
167
- align-items: center;
168
- padding: 14px 28px;
169
- background: linear-gradient(145deg, #00509E, #003F7F);
170
- color: white;
171
- border-radius: 12px; /* 增加圓角 */
172
- text-decoration: none;
173
- gap: 12px; /* 增加圖標和文字間距 */
174
- transition: all 0.3s ease;
175
- font-weight: 600;
176
- font-size: 1.1em;
177
- box-shadow:
178
- 0 2px 4px rgba(0,0,0,0.1),
179
- inset 0 1px 1px rgba(255,255,255,0.1);
180
- border: 1px solid rgba(255,255,255,0.1);
181
- }
182
-
183
- .akc-button:hover,
184
- .breed-section .akc-link:hover,
185
- .breed-option .akc-link:hover {
186
- background: linear-gradient(145deg, #003F7F, #00509E);
187
- transform: translateY(-2px);
188
- color: white;
189
- box-shadow:
190
- 0 6px 12px rgba(0,0,0,0.2),
191
- inset 0 1px 1px rgba(255,255,255,0.2);
192
- border: 1px solid rgba(255,255,255,0.2);
193
- }
194
- .icon {
195
- font-size: 1.3em;
196
- filter: drop-shadow(0 1px 1px rgba(0,0,0,0.2));
197
- }
198
-
199
- .warning-message {
200
- display: flex;
201
- align-items: center;
202
- gap: 8px;
203
- color: #ff3b30;
204
- font-weight: 500;
205
- margin: 0;
206
- padding: 16px;
207
- background: #fff5f5;
208
- border-radius: 8px;
209
- }
210
-
211
- .model-uncertainty-note {
212
- display: flex;
213
- align-items: center;
214
- gap: 12px;
215
- padding: 16px;
216
- background-color: #f8f9fa;
217
- margin-bottom: 20px;
218
- color: #495057;
219
- border-radius: 4px;
220
- }
221
-
222
- .breeds-list {
223
- display: flex;
224
- flex-direction: column;
225
- gap: 20px;
226
- }
227
-
228
- .breed-option {
229
- background: white;
230
- border: 1px solid #e1e4e8;
231
- border-radius: 8px;
232
- overflow: hidden;
233
- }
234
-
235
- .breed-header {
236
- display: flex;
237
- align-items: center;
238
- padding: 16px;
239
- background: #f8f9fa;
240
- gap: 12px;
241
- border-bottom: 1px solid #e1e4e8;
242
- }
243
-
244
- .option-number {
245
- font-weight: 600;
246
- color: #666;
247
- padding: 4px 8px;
248
- background: #e1e4e8;
249
- border-radius: 4px;
250
- }
251
-
252
- .breed-name {
253
- font-size: 1.2em !important; # 從 1.5em 改為 1.2em
254
- font-weight: bold;
255
- color: #2c3e50;
256
- flex-grow: 1;
257
- }
258
-
259
- .confidence-badge {
260
- padding: 4px 12px;
261
- border-radius: 20px;
262
- font-size: 0.9em;
263
- font-weight: 500;
264
- }
265
-
266
- .breed-content {
267
- padding: 20px;
268
- }
269
- .breed-content li {
270
- margin-bottom: 8px;
271
- display: flex;
272
- align-items: flex-start; /* 改為頂部對齊 */
273
- gap: 8px;
274
- flex-wrap: wrap; /* 允許內容換行 */
275
- }
276
- .breed-content li strong {
277
- flex: 0 0 auto; /* 不讓標題縮放 */
278
- min-width: 100px; /* 給標題一個固定最小寬度 */
279
- }
280
-
281
- ul {
282
- padding-left: 0;
283
- margin: 0;
284
- list-style-type: none;
285
- }
286
-
287
- li {
288
- margin-bottom: 8px;
289
- display: flex;
290
- align-items: center;
291
- gap: 8px;
292
- }
293
-
294
- .action-section {
295
- margin-top: 20px;
296
- padding: 15px;
297
- text-align: center;
298
- border-top: 1px solid #dee2e6;
299
- }
300
-
301
- .akc-button {
302
- display: inline-block;
303
- padding: 12px 24px;
304
- background-color: #007bff;
305
- color: white !important;
306
- text-decoration: none;
307
- border-radius: 5px;
308
- font-weight: 500;
309
- transition: background-color 0.3s;
310
- }
311
-
312
- .akc-button:hover {
313
- background-color: #0056b3;
314
- text-decoration: none;
315
- }
316
-
317
- .akc-button .icon {
318
- margin-right: 8px;
319
- }
320
-
321
- .akc-link {
322
- color: white;
323
- text-decoration: none;
324
- font-weight: 600;
325
- font-size: 1.1em;
326
- transition: all 0.3s ease;
327
- }
328
-
329
- .akc-link:hover {
330
- text-decoration: underline;
331
- color: #D3E3F0;
332
- }
333
- .tooltip {
334
- position: relative;
335
- display: inline-flex;
336
- align-items: center;
337
- gap: 4px;
338
- cursor: help;
339
- }
340
- .tooltip .tooltip-icon {
341
- font-size: 14px;
342
- color: #666;
343
- }
344
- .tooltip .tooltip-text {
345
- visibility: hidden;
346
- width: 250px;
347
- background-color: rgba(44, 62, 80, 0.95);
348
- color: white;
349
- text-align: left;
350
- border-radius: 8px;
351
- padding: 8px 10px;
352
- position: absolute;
353
- z-index: 100;
354
- bottom: 150%;
355
- left: 50%;
356
- transform: translateX(-50%);
357
- opacity: 0;
358
- transition: all 0.3s ease;
359
- font-size: 14px;
360
- line-height: 1.3;
361
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
362
- border: 1px solid rgba(255, 255, 255, 0.1)
363
- margin-bottom: 10px;
364
- }
365
- .tooltip.tooltip-left .tooltip-text {
366
- left: 0;
367
- transform: translateX(0);
368
- }
369
- .tooltip.tooltip-right .tooltip-text {
370
- left: auto;
371
- right: 0;
372
- transform: translateX(0);
373
- }
374
- .tooltip-text strong {
375
- color: white !important;
376
- background-color: transparent !important;
377
- display: block; /* 讓標題獨立一行 */
378
- margin-bottom: 2px; /* 增加標題下方間距 */
379
- padding-bottom: 2px; /* 加入小間距 */
380
- border-bottom: 1px solid rgba(255,255,255,0.2);
381
- }
382
- .tooltip-text {
383
- font-size: 13px; /* 稍微縮小字體 */
384
- }
385
-
386
- /* 調整列表符號和文字的間距 */
387
- .tooltip-text ul {
388
- margin: 0;
389
- padding-left: 15px; /* 減少列表符號的縮進 */
390
- }
391
-
392
- .tooltip-text li {
393
- margin-bottom: 1px; /* 減少列表項目間的間距 */
394
- }
395
- .tooltip-text br {
396
- line-height: 1.2; /* 減少行距 */
397
- }
398
-
399
- .tooltip .tooltip-text::after {
400
- content: "";
401
- position: absolute;
402
- top: 100%;
403
- left: 20%; /* 調整箭頭位置 */
404
- margin-left: -5px;
405
- border-width: 5px;
406
- border-style: solid;
407
- border-color: rgba(44, 62, 80, 0.95) transparent transparent transparent;
408
- }
409
- .tooltip-left .tooltip-text::after {
410
- left: 20%;
411
- }
412
-
413
- /* 右側箭頭 */
414
- .tooltip-right .tooltip-text::after {
415
- left: 80%;
416
- }
417
- .tooltip:hover .tooltip-text {
418
- visibility: visible;
419
- opacity: 1;
420
- }
421
- .tooltip .tooltip-text::after {
422
- content: "";
423
- position: absolute;
424
- top: 100%;
425
- left: 50%;
426
- transform: translateX(-50%);
427
- border-width: 8px;
428
- border-style: solid;
429
- border-color: rgba(44, 62, 80, 0.95) transparent transparent transparent;
430
- }
431
- .uncertainty-mode .tooltip .tooltip-text {
432
- position: absolute;
433
- left: 100%;
434
- bottom: auto;
435
- top: 50%;
436
- transform: translateY(-50%);
437
- margin-left: 10px;
438
- z-index: 1000; /* 確保提示框在最上層 */
439
- }
440
-
441
- .uncertainty-mode .tooltip .tooltip-text::after {
442
- content: "";
443
- position: absolute;
444
- top: 50%;
445
- right: 100%;
446
- transform: translateY(-50%);
447
- border-width: 5px;
448
- border-style: solid;
449
- border-color: transparent rgba(44, 62, 80, 0.95) transparent transparent;
450
- }
451
- .uncertainty-mode .breed-content {
452
- font-size: 1rem !important; /* 增加字體大小 */
453
- }
454
- .description-section,
455
- .description-section p,
456
- .temperament-section,
457
- .temperament-section .value,
458
- .info-item,
459
- .info-item .value,
460
- .breed-content {
461
- font-size: 1rem !important; /* 使用 !important 確保覆蓋其他樣式 */
462
- }
463
-
464
- .recommendation-card {
465
- margin-bottom: 40px;
466
- }
467
-
468
- .compatibility-scores {
469
- background: #f8f9fa;
470
- padding: 24px;
471
- border-radius: 12px;
472
- margin: 20px 0;
473
- }
474
-
475
- .score-item {
476
- margin: 15px 0;
477
- }
478
-
479
- .progress-bar {
480
- height: 12px;
481
- background-color: #e9ecef;
482
- border-radius: 6px;
483
- overflow: hidden;
484
- margin: 8px 0;
485
- }
486
-
487
- .progress {
488
- height: 100%;
489
- background: linear-gradient(90deg, #34C759, #30B350);
490
- border-radius: 6px;
491
- transition: width 0.6s ease;
492
- }
493
-
494
- .percentage {
495
- float: right;
496
- color: #34C759;
497
- font-weight: 600;
498
- }
499
-
500
- .breed-details-section {
501
- margin: 30px 0;
502
- }
503
-
504
- .subsection-title {
505
- font-size: 1.2em;
506
- color: #2c3e50;
507
- margin-bottom: 20px;
508
- display: flex;
509
- align-items: center;
510
- gap: 8px;
511
- }
512
-
513
- .details-grid {
514
- display: grid;
515
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
516
- gap: 20px;
517
- background: #f8f9fa;
518
- padding: 20px;
519
- border-radius: 12px;
520
- border: 1px solid #e1e4e8;
521
- }
522
-
523
- .detail-item {
524
- background: white;
525
- padding: 15px;
526
- border-radius: 8px;
527
- border: 1px solid #e1e4e8;
528
- }
529
-
530
- .description-text {
531
- line-height: 1.8;
532
- color: #444;
533
- margin: 0;
534
- padding: 24px 30px; /* 調整內部間距,從 20px 改為 24px 30px */
535
- background: #f8f9fa;
536
- border-radius: 12px;
537
- border: 1px solid #e1e4e8;
538
- text-align: justify; /* 添加文字對齊 */
539
- word-wrap: break-word; /* 確保長文字會換行 */
540
- word-spacing: 1px; /* 加入字間距 */
541
- }
542
-
543
- /* 工具提示改進 */
544
- .tooltip {
545
- position: relative;
546
- display: inline-flex;
547
- align-items: center;
548
- gap: 4px;
549
- cursor: help;
550
- padding: 5px 0;
551
- }
552
-
553
- .tooltip .tooltip-text {
554
- visibility: hidden;
555
- width: 280px;
556
- background-color: rgba(44, 62, 80, 0.95);
557
- color: white;
558
- text-align: left;
559
- border-radius: 8px;
560
- padding: 12px 15px;
561
- position: absolute;
562
- z-index: 1000;
563
- bottom: calc(100% + 15px);
564
- left: 50%;
565
- transform: translateX(-50%);
566
- opacity: 0;
567
- transition: all 0.3s ease;
568
- font-size: 14px;
569
- line-height: 1.4;
570
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
571
- white-space: normal;
572
- }
573
-
574
- .tooltip:hover .tooltip-text {
575
- visibility: visible;
576
- opacity: 1;
577
- }
578
-
579
- .score-badge {
580
- background-color: #34C759;
581
- color: white;
582
- padding: 6px 12px;
583
- border-radius: 20px;
584
- font-size: 0.9em;
585
- margin-left: 10px;
586
- font-weight: 500;
587
- box-shadow: 0 2px 4px rgba(52, 199, 89, 0.2);
588
- }
589
-
590
- .bonus-score .tooltip-text {
591
- width: 250px;
592
- line-height: 1.4;
593
- padding: 10px;
594
- }
595
-
596
- .bonus-score .progress {
597
- background: linear-gradient(90deg, #48bb78, #68d391);
598
- }
599
-
600
- .health-section {
601
- margin: 25px 0;
602
- padding: 24px;
603
- background-color: #f8f9fb;
604
- border-radius: 12px;
605
- border: 1px solid #e1e4e8;
606
- }
607
-
608
- .health-section .subsection-title {
609
- font-size: 1.3em;
610
- font-weight: 600;
611
- margin-bottom: 20px;
612
- display: flex;
613
- align-items: center;
614
- gap: 8px;
615
- color: #2c3e50;
616
- }
617
-
618
- .health-info {
619
- background-color: white;
620
- padding: 24px;
621
- border-radius: 8px;
622
- margin: 15px 0;
623
- border: 1px solid #e1e4e8;
624
- }
625
-
626
- .health-details {
627
- font-size: 1.1rem;
628
- line-height: 1.6;
629
- }
630
-
631
- .health-details h4 {
632
- color: #2c3e50;
633
- font-size: 1.15rem;
634
- font-weight: 600;
635
- margin: 20px 0 15px 0;
636
- }
637
-
638
- .health-details h4:first-child {
639
- margin-top: 0;
640
- }
641
-
642
- .health-details ul {
643
- list-style-type: none;
644
- padding-left: 0;
645
- margin: 0 0 25px 0;
646
- }
647
-
648
- .health-details ul li {
649
- margin-bottom: 12px;
650
- padding-left: 20px;
651
- position: relative;
652
- }
653
-
654
- .health-details ul li:before {
655
- content: "•";
656
- position: absolute;
657
- left: 0;
658
- color: #2c3e50;
659
- }
660
-
661
- .health-item:before {
662
- content: "•";
663
- color: #dc3545;
664
- font-weight: bold;
665
- }
666
-
667
- .health-item.screening:before {
668
- color: #28a745;
669
- }
670
-
671
- /* 區塊間距 */
672
- .health-block, .noise-block {
673
- margin-bottom: 24px;
674
- }
675
-
676
- .health-disclaimer {
677
- margin-top: 20px;
678
- padding-top: 20px;
679
- border-top: 1px solid #e1e4e8;
680
- }
681
-
682
- .health-disclaimer p {
683
- margin: 6px 0;
684
- padding-left: 20px;
685
- position: relative;
686
- color: #888; /* 統一設定灰色 */
687
- font-size: 0.95rem;
688
- line-height: 1.5;
689
- font-style: italic;
690
- }
691
-
692
- .health-disclaimer p:before {
693
- content: "›";
694
- position: absolute;
695
- left: 0;
696
- color: #999;
697
- font-style: normal;
698
- font-weight: 500;
699
- }
700
-
701
- .health-disclaimer p:first-child {
702
- font-style: normal; /* 取消斜體 */
703
- font-weight: 500; /* 加粗 */
704
- color: #666; /* 稍深的灰色 */
705
- }
706
-
707
- .health-disclaimer p span,
708
- .health-disclaimer p strong,
709
- .health-disclaimer p em {
710
- color: inherit;
711
- }
712
-
713
- .health-list li:before {
714
- content: "•";
715
- color: #dc3545;
716
- }
717
-
718
- .history-container {
719
- max-width: 800px;
720
- margin: 0 auto;
721
- padding: 20px;
722
- }
723
-
724
- .history-entry {
725
- background-color: #f8f9fa;
726
- border-radius: 8px;
727
- padding: 15px;
728
- margin-bottom: 20px;
729
- box-shadow: 0 1px 3px rgba(0,0,0,0.1);
730
- }
731
-
732
- .history-header {
733
- display: flex;
734
- justify-content: space-between;
735
- align-items: center;
736
- margin-bottom: 10px;
737
- padding-bottom: 10px;
738
- border-bottom: 1px solid #eee;
739
- }
740
-
741
- .timestamp {
742
- color: #666;
743
- font-size: 0.9em;
744
- }
745
-
746
- .delete-btn {
747
- background: none;
748
- border: none;
749
- cursor: pointer;
750
- font-size: 1.2em;
751
- padding: 5px;
752
- }
753
-
754
- .delete-btn:hover {
755
- color: #dc3545;
756
- }
757
-
758
- .search-params ul {
759
- list-style: none;
760
- padding-left: 20px;
761
- }
762
-
763
- .search-params li {
764
- margin: 5px 0;
765
- color: #555;
766
- }
767
-
768
- .top-results ol {
769
- padding-left: 25px;
770
- }
771
-
772
- .top-results li {
773
- margin: 5px 0;
774
- color: #333;
775
- }
776
-
777
- .breed-item {
778
- display: flex;
779
- justify-content: space-between;
780
- align-items: center;
781
- padding: 12px 16px;
782
- margin: 8px 0;
783
- background-color: white;
784
- border-radius: 6px;
785
- border: 1px solid #e1e4e8;
786
- transition: all 0.2s ease;
787
- }
788
-
789
- .breed-item:hover {
790
- transform: translateX(5px);
791
- box-shadow: 0 2px 4px rgba(0,0,0,0.1);
792
- }
793
-
794
- .breed-rank {
795
- font-weight: 600;
796
- color: #666;
797
- margin-right: 12px;
798
- min-width: 30px;
799
- }
800
-
801
- .breed-name {
802
- flex: 1;
803
- font-weight: 500;
804
- color: #2c3e50;
805
- padding: 0 12px;
806
- }
807
-
808
- .breed-score {
809
- font-weight: 600;
810
- color: #34C759;
811
- padding: 4px 8px;
812
- border-radius: 20px;
813
- background-color: rgba(52, 199, 89, 0.1);
814
- min-width: 70px;
815
- text-align: center;
816
- }
817
-
818
- .history-entry {
819
- background-color: #f8f9fa;
820
- border-radius: 12px;
821
- padding: 20px;
822
- margin-bottom: 25px;
823
- box-shadow: 0 2px 8px rgba(0,0,0,0.05);
824
- border: 1px solid #e1e4e8;
825
- }
826
-
827
- .history-header {
828
- margin-bottom: 15px;
829
- padding-bottom: 12px;
830
- border-bottom: 1px solid #e1e4e8;
831
- }
832
-
833
- .history-header .timestamp {
834
- color: #666;
835
- font-size: 0.9em;
836
- display: flex;
837
- align-items: center;
838
- gap: 6px;
839
- }
840
-
841
- h4 {
842
- color: #2c3e50;
843
- font-size: 1.15rem;
844
- font-weight: 600;
845
- margin: 20px 0 12px 0;
846
- }
847
-
848
- .params-list ul {
849
- list-style: none;
850
- padding-left: 0;
851
- margin: 10px 0;
852
- }
853
-
854
- .params-list li {
855
- margin: 8px 0;
856
- color: #4a5568;
857
- display: flex;
858
- align-items: center;
859
- }
860
-
861
- .empty-history {
862
- text-align: center;
863
- padding: 40px 20px;
864
- color: #666;
865
- font-size: 1.1em;
866
- background-color: #f8f9fa;
867
- border-radius: 12px;
868
- border: 1px dashed #e1e4e8;
869
- margin: 20px 0;
870
- }
871
-
872
- .noise-section {
873
- margin: 25px 0;
874
- padding: 24px;
875
- background-color: #f8f9fb;
876
- border-radius: 12px;
877
- border: 1px solid #e1e4e8;
878
- }
879
-
880
- .noise-info {
881
- background-color: white;
882
- padding: 24px;
883
- border-radius: 8px;
884
- margin: 15px 0;
885
- border: 1px solid #e1e4e8;
886
- }
887
-
888
- .noise-details {
889
- font-size: 1.1rem;
890
- line-height: 1.6;
891
- }
892
-
893
- .noise-level {
894
- margin-bottom: 20px;
895
- padding: 10px 15px;
896
- background: #f8f9fa;
897
- border-radius: 6px;
898
- font-weight: 500;
899
- }
900
-
901
- .noise-level-block {
902
- background: #f8f9fa;
903
- padding: 20px;
904
- border-radius: 8px;
905
- margin: 20px 0;
906
- }
907
-
908
- .noise-level-display {
909
- background: #f8f9fa;
910
- padding: 16px;
911
- border-radius: 8px;
912
- margin: 16px 0;
913
- }
914
-
915
- .level-indicator {
916
- background: white;
917
- padding: 12px 16px;
918
- border-radius: 8px;
919
- border: 1px solid #e1e4e8;
920
- display: flex;
921
- align-items: center;
922
- justify-content: space-between;
923
- }
924
-
925
- .level-text {
926
- font-weight: 500;
927
- color: #2c3e50;
928
- }
929
-
930
- .level-bars {
931
- display: flex;
932
- gap: 4px;
933
- }
934
-
935
- .level-bars .bar {
936
- width: 4px;
937
- height: 16px;
938
- background: #e9ecef;
939
- border-radius: 2px;
940
- }
941
-
942
- .level-indicator.low .bar:nth-child(1) {
943
- background: #4CAF50;
944
- }
945
-
946
- .level-indicator.medium .bar:nth-child(1),
947
- .level-indicator.medium .bar:nth-child(2) {
948
- background: #FFA726;
949
- }
950
-
951
- .level-indicator.high .bar {
952
- background: #EF5350;
953
- }
954
-
955
- .feature-list, .health-list, .screening-list {
956
- list-style: none;
957
- padding: 0;
958
- margin: 16px 0;
959
- display: grid;
960
- grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
961
- gap: 12px;
962
- }
963
-
964
- .feature-list li, .health-list li, .screening-list li {
965
- background: white;
966
- padding: 12px 16px;
967
- border-radius: 6px;
968
- border: 1px solid #e1e4e8;
969
- display: flex;
970
- align-items: center;
971
- gap: 8px;
972
- font-size: 0.95rem;
973
- }
974
-
975
- .feature-list li:before {
976
- content: "•";
977
- color: #2c3e50;
978
- }
979
-
980
- .noise-notes {
981
- font-family: inherit;
982
- white-space: pre-wrap;
983
- margin: 15px 0;
984
- padding: 0;
985
- background: transparent;
986
- border: none;
987
- font-size: 1.1rem;
988
- line-height: 1.6;
989
- color: #333;
990
- }
991
-
992
- .characteristics-block, .health-considerations, .health-screenings {
993
- margin-bottom: 24px;
994
- }
995
-
996
- .characteristics-block h4, .health-considerations h4, .health-screenings h4 {
997
- color: #2c3e50;
998
- font-size: 1.1em;
999
- font-weight: 600;
1000
- margin-bottom: 12px;
1001
- }
1002
-
1003
- .characteristics-list,
1004
- .triggers-list,
1005
- .health-considerations-list,
1006
- .health-screenings-list {
1007
- display: grid;
1008
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
1009
- gap: 12px;
1010
- margin: 16px 0;
1011
- }
1012
-
1013
- .noise-details, .health-details {
1014
- font-size: 1.1rem;
1015
- line-height: 1.6;
1016
- }
1017
-
1018
- .noise-details ul, .health-details ul {
1019
- list-style: none;
1020
- padding-left: 0;
1021
- margin: 0 0 20px 0;
1022
- }
1023
-
1024
- .noise-details li, .health-details li {
1025
- padding-left: 20px;
1026
- position: relative;
1027
- margin-bottom: 10px;
1028
- line-height: 1.5;
1029
- }
1030
-
1031
- .noise-details li:before, .health-details li:before {
1032
- content: "•";
1033
- position: absolute;
1034
- left: 0;
1035
- color: #666;
1036
- }
1037
-
1038
- .noise-section, .health-section {
1039
- margin: 25px 0;
1040
- padding: 24px;
1041
- background-color: #f8f9fb;
1042
- border-radius: 12px;
1043
- border: 1px solid #e1e4e8;
1044
- }
1045
-
1046
- .noise-info, .health-info {
1047
- background-color: white;
1048
- padding: 24px;
1049
- border-radius: 8px;
1050
- margin: 15px 0;
1051
- border: 1px solid #e1e4e8;
1052
- }
1053
-
1054
- .breed-info .description-tooltip {
1055
- position: relative;
1056
- display: inline-flex;
1057
- align-items: center;
1058
- gap: 4px;
1059
- cursor: help;
1060
- }
1061
-
1062
- .description-tooltip .tooltip-icon {
1063
- font-size: 14px;
1064
- color: #666;
1065
- margin-left: 4px;
1066
- cursor: help;
1067
- }
1068
-
1069
- .description-tooltip .tooltip-text {
1070
- visibility: hidden;
1071
- width: 280px;
1072
- background-color: rgba(44, 62, 80, 0.95);
1073
- color: white;
1074
- text-align: left;
1075
- border-radius: 8px;
1076
- padding: 12px 15px;
1077
- position: absolute;
1078
- z-index: 1000;
1079
- bottom: calc(100% + 15px);
1080
- left: 50%;
1081
- transform: translateX(-50%);
1082
- opacity: 0;
1083
- transition: all 0.3s ease;
1084
- font-size: 14px;
1085
- line-height: 1.4;
1086
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
1087
- white-space: normal;
1088
- }
1089
-
1090
- .description-tooltip:hover .tooltip-text {
1091
- visibility: visible;
1092
- opacity: 1;
1093
- }
1094
-
1095
- .description-tooltip .tooltip-text::after {
1096
- content: "";
1097
- position: absolute;
1098
- top: 100%;
1099
- left: 50%;
1100
- transform: translateX(-50%);
1101
- border-width: 8px;
1102
- border-style: solid;
1103
- border-color: rgba(44, 62, 80, 0.95) transparent transparent transparent;
1104
- }
1105
-
1106
- .description-header {
1107
- display: flex;
1108
- align-items: center;
1109
- gap: 8px;
1110
- margin-bottom: 10px;
1111
- }
1112
-
1113
- .description-header h3 {
1114
- margin: 0;
1115
- font-size: 1.2em;
1116
- color: #2c3e50;
1117
- }
1118
-
1119
- .screening-list li:before {
1120
- content: "•";
1121
- color: #28a745;
1122
- }
1123
-
1124
- .noise-disclaimer, .health-disclaimer {
1125
- margin-top: 20px;
1126
- padding-top: 20px;
1127
- border-top: 1px solid #e1e4e8;
1128
- color: #666;
1129
- }
1130
-
1131
- .noise-disclaimer p, .health-disclaimer p {
1132
- margin: 8px 0;
1133
- padding-left: 20px;
1134
- position: relative;
1135
- }
1136
-
1137
- .noise-disclaimer p:before, .health-disclaimer p:before {
1138
- content: "›";
1139
- position: absolute;
1140
- left: 0;
1141
- color: #999;
1142
- }
1143
-
1144
- .disclaimer-text {
1145
- margin: 8px 0;
1146
- padding-left: 20px;
1147
- position: relative;
1148
- font-size: 0.95rem;
1149
- line-height: 1.5;
1150
- font-style: italic;
1151
- color: #888;
1152
- }
1153
-
1154
- .disclaimer-text:before {
1155
- content: "›";
1156
- position: absolute;
1157
- left: 0;
1158
- color: #999;
1159
- font-style: normal;
1160
- font-weight: 500;
1161
- }
1162
-
1163
- .list-item {
1164
- background: white;
1165
- padding: 12px 16px;
1166
- border-radius: 8px;
1167
- border: 1px solid #e1e4e8;
1168
- display: flex;
1169
- align-items: center;
1170
- gap: 8px;
1171
- margin: 4px 0;
1172
- font-size: 0.95rem;
1173
- color: #2c3e50;
1174
- }
1175
-
1176
- .source-text {
1177
- font-style: normal !important;
1178
- font-weight: 500 !important;
1179
- color: #666 !important;
1180
- }
1181
-
1182
- .health-grid, .noise-grid {
1183
- display: grid;
1184
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
1185
- gap: 12px;
1186
- margin: 16px 0;
1187
- }
1188
-
1189
- .health-item, .noise-item {
1190
- background: white;
1191
- padding: 12px 16px;
1192
- border-radius: 8px;
1193
- border: 1px solid #e1e4e8;
1194
- display: flex;
1195
- align-items: center;
1196
- gap: 8px;
1197
- transition: all 0.2s ease;
1198
- }
1199
-
1200
- .health-item:hover, .noise-item:hover {
1201
- transform: translateY(-1px);
1202
- box-shadow: 0 2px 4px rgba(0,0,0,0.05);
1203
- }
1204
-
1205
- @media (max-width: 768px) {
1206
- /* 在小螢幕上改為單列顯示 */
1207
- .health-grid, .noise-grid {
1208
- grid-template-columns: 1fr;
1209
- }
1210
-
1211
- /* 減少內邊距 */
1212
- .health-section, .noise-section {
1213
- padding: 16px;
1214
- }
1215
-
1216
- /* 調整字體大小 */
1217
- .section-header {
1218
- font-size: 1rem;
1219
- }
1220
-
1221
- /* 調整項目內邊距 */
1222
- .health-item, .noise-item {
1223
- padding: 10px 14px;
1224
- }
1225
- }
1226
-
1227
- /* 較小的手機螢幕 */
1228
- @media (max-width: 480px) {
1229
- .health-grid, .noise-grid {
1230
- gap: 8px;
1231
- }
1232
-
1233
- .health-item, .noise-item {
1234
- padding: 8px 12px;
1235
- font-size: 0.9rem;
1236
- }
1237
- }
1238
- """