{{ content?.kicker }}
@@ -107,4 +143,24 @@ const filteredSongs = computed(() => { .page-title { font-size: clamp(2rem, 5vw, 2.75rem); } + +.shadok-dj { + position: absolute; + right: 2%; + top: 3%; + width: clamp(100px, 14vw, 190px); + opacity: 0.1; + pointer-events: none; + color: hsl(var(--color-accent)); + animation: shadok-float-dj 8s ease-in-out infinite; +} + +@keyframes shadok-float-dj { + 0%, 100% { transform: translateY(0); } + 50% { transform: translateY(-10px); } +} + +@media (max-width: 768px) { + .shadok-dj { display: none; } +} diff --git a/app/pages/gratewizard.vue b/app/pages/gratewizard.vue index e1d17d3..cb9bff5 100644 --- a/app/pages/gratewizard.vue +++ b/app/pages/gratewizard.vue @@ -1,6 +1,48 @@{{ content?.kicker }}
@@ -68,4 +117,41 @@ const { data: chapters } = await useAsyncData('book-toc', () => .page-title { font-size: clamp(2rem, 5vw, 2.75rem); } + +.shadok-reader { + position: absolute; + right: 2%; + top: 5%; + width: clamp(90px, 13vw, 180px); + opacity: 0.1; + pointer-events: none; + color: hsl(var(--color-primary)); + animation: shadok-float-reader 9s ease-in-out infinite; +} + +.shadok-stack { + position: absolute; + left: 2%; + bottom: 5%; + width: clamp(80px, 11vw, 150px); + opacity: 0.1; + pointer-events: none; + color: hsl(var(--color-accent)); + animation: shadok-float-stack 11s ease-in-out infinite; +} + +@keyframes shadok-float-reader { + 0%, 100% { transform: translateY(0); } + 50% { transform: translateY(-10px); } +} + +@keyframes shadok-float-stack { + 0%, 100% { transform: translateY(0) rotate(0deg); } + 50% { transform: translateY(-8px) rotate(-2deg); } +} + +@media (max-width: 768px) { + .shadok-reader { display: none; } + .shadok-stack { display: none; } +} diff --git a/app/pages/messages.vue b/app/pages/messages.vue index 8243dd3..e7226cc 100644 --- a/app/pages/messages.vue +++ b/app/pages/messages.vue @@ -42,8 +42,8 @@ function formatDate(iso: string) {