| 1 |
/** |
| 2 |
* Loading skeleton animation for async 404 suggestions. |
| 3 |
* Displays placeholder animation while suggestions are being computed. |
| 4 |
*/ |
| 5 |
|
| 6 |
/* Container for loading state */ |
| 7 |
.abj404-loading { |
| 8 |
list-style: none; |
| 9 |
padding: 0; |
| 10 |
margin: 0; |
| 11 |
} |
| 12 |
|
| 13 |
/* Individual skeleton item */ |
| 14 |
.abj404-skeleton { |
| 15 |
background: linear-gradient(90deg, #f0f0f0 25%, #e8e8e8 50%, #f0f0f0 75%); |
| 16 |
background-size: 200% 100%; |
| 17 |
animation: abj404-shimmer 1.5s infinite; |
| 18 |
height: 20px; |
| 19 |
margin: 10px 0; |
| 20 |
border-radius: 4px; |
| 21 |
list-style: none; |
| 22 |
} |
| 23 |
|
| 24 |
/* Vary widths for more natural look */ |
| 25 |
.abj404-skeleton:nth-child(1) { width: 85%; } |
| 26 |
.abj404-skeleton:nth-child(2) { width: 70%; } |
| 27 |
.abj404-skeleton:nth-child(3) { width: 90%; } |
| 28 |
.abj404-skeleton:nth-child(4) { width: 75%; } |
| 29 |
.abj404-skeleton:nth-child(5) { width: 80%; } |
| 30 |
.abj404-skeleton:nth-child(n+6) { width: 78%; } |
| 31 |
|
| 32 |
/* Shimmer animation */ |
| 33 |
@keyframes abj404-shimmer { |
| 34 |
0% { |
| 35 |
background-position: -200% 0; |
| 36 |
} |
| 37 |
100% { |
| 38 |
background-position: 200% 0; |
| 39 |
} |
| 40 |
} |
| 41 |
|
| 42 |
/* Loading text message */ |
| 43 |
.abj404-loading-text { |
| 44 |
color: #666; |
| 45 |
font-style: italic; |
| 46 |
margin: 5px 0 10px; |
| 47 |
font-size: 0.95em; |
| 48 |
} |
| 49 |
|
| 50 |
/* No suggestions fallback message */ |
| 51 |
.abj404-no-suggestions { |
| 52 |
color: #666; |
| 53 |
font-style: italic; |
| 54 |
list-style: none; |
| 55 |
padding: 10px 0; |
| 56 |
} |
| 57 |
|
| 58 |
/* Dark mode support */ |
| 59 |
@media (prefers-color-scheme: dark) { |
| 60 |
.abj404-skeleton { |
| 61 |
background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%); |
| 62 |
background-size: 200% 100%; |
| 63 |
} |
| 64 |
|
| 65 |
.abj404-loading-text { |
| 66 |
color: #aaa; |
| 67 |
} |
| 68 |
|
| 69 |
.abj404-no-suggestions { |
| 70 |
color: #aaa; |
| 71 |
} |
| 72 |
} |
| 73 |
|