diff options
| author | sillylaird <sillyfanboy@gmail.com> | 2026-09-03 00:33:59 +0000 |
|---|---|---|
| committer | sillylaird <sillyfanboy@gmail.com> | 2026-09-03 00:33:59 +0000 |
| commit | 898b52edcb47bcb3e9d6106e74ca73e74ea01e70 (patch) | |
| tree | 85c6ee5ad58b860144551184d4cf86b560c62b91 /assets/css/skeleton.css | |
| download | www-898b52edcb47bcb3e9d6106e74ca73e74ea01e70.tar.gz www-898b52edcb47bcb3e9d6106e74ca73e74ea01e70.zip | |
Diffstat (limited to 'assets/css/skeleton.css')
| -rw-r--r-- | assets/css/skeleton.css | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/assets/css/skeleton.css b/assets/css/skeleton.css new file mode 100644 index 0000000..9e86e6c --- /dev/null +++ b/assets/css/skeleton.css @@ -0,0 +1,63 @@ +/* ========================================================================== + skeleton.css — Skeleton loading placeholders + Shimmering blocks that match the dark aesthetic of the site. + ========================================================================== */ + +@keyframes skeleton-shimmer { + 0% { background-position: -200px 0; } + 100% { background-position: calc(200px + 100%) 0; } +} + +.skeleton-line { + display: block; + height: 0.9em; + margin: var(--space-sm, 0.5rem) 0; + border-radius: var(--r, 6px); + background: linear-gradient( + 90deg, + var(--border, #2a1010) 0px, + #3a1818 40px, + var(--border, #2a1010) 80px + ); + background-size: 200px 100%; + animation: skeleton-shimmer 1.4s ease-in-out infinite; +} + +.skeleton-line:first-child { width: 60%; } +.skeleton-line:nth-child(2) { width: 80%; } +.skeleton-line:nth-child(3) { width: 45%; } +.skeleton-line:nth-child(4) { width: 70%; } + +.skeleton-block { + display: block; + height: 3rem; + margin: var(--space-sm, 0.5rem) 0; + border-radius: var(--r, 6px); + background: linear-gradient( + 90deg, + var(--border, #2a1010) 0px, + #3a1818 40px, + var(--border, #2a1010) 80px + ); + background-size: 200px 100%; + animation: skeleton-shimmer 1.4s ease-in-out infinite; +} + +/* High-contrast theme skeleton */ +[data-theme="high-contrast"] .skeleton-line, +[data-theme="high-contrast"] .skeleton-block { + background: linear-gradient( + 90deg, + #ddd 0px, + #eee 40px, + #ddd 80px + ); + background-size: 200px 100%; +} + +@media (prefers-reduced-motion: reduce) { + .skeleton-line, + .skeleton-block { + animation: none; + } +} |
