feat: nový vzhled Yuru Camp
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 26s
CI / Build server (push) Successful in 30s
CI / Build client (push) Successful in 43s
CI / Playwright E2E tests (push) Successful in 1m54s
CI / Build and push Docker image (push) Successful in 1m19s
CI / Notify (push) Successful in 4s

This commit is contained in:
mates committed 2026-10-25 19:29:57 +01:00
1 parent 39fafdb575
commit 8b4a7c08b4
10 files changed
+912 -6

No files matched your search

+78
View File
@@ -560,3 +560,81 @@
}
}
}
// ============================================
// Konfety ve stylu Yuru Camp△
// ============================================
.confetti-yc {
filter: drop-shadow(0 3px 3px rgb(90 58 36 / 0.25));
}
// Nášivky z kempů — oblé, s prošitým okrajem
.confetti-yc-badge {
padding: 5px 16px;
border-radius: 999px;
color: #fff;
outline: 2px dashed rgb(255 255 255 / 0.75);
outline-offset: -6px;
font-family: 'Kiwi Maru', 'Zen Maru Gothic', sans-serif;
font-weight: 500;
font-size: 1.1rem;
white-space: nowrap;
text-shadow: 0 1px 0 rgb(0 0 0 / 0.2);
}
// Nápis „ゆるキャン△" na dřevěné ceduli kempu — pomalu se zhoupne jako na provázku
.confetti-yc-banner {
position: absolute;
top: 38%;
left: 50%;
transform: translate(-50%, -50%);
padding: 12px 44px 14px;
font-family: 'Kiwi Maru', 'Zen Maru Gothic', sans-serif;
font-weight: 500;
font-size: clamp(1.8rem, 7vw, 4rem);
white-space: nowrap;
color: #fdf3e1;
text-shadow: 0 2px 0 rgb(0 0 0 / 0.35);
background:
repeating-linear-gradient(178deg, rgb(255 255 255 / 0.05) 0 3px, transparent 3px 9px),
repeating-linear-gradient(181deg, rgb(0 0 0 / 0.07) 0 2px, transparent 2px 13px),
linear-gradient(180deg, #9a6743, #8a5a3b);
border: 4px solid #5a3a24;
border-radius: 12px;
box-shadow: 0 6px 0 #5a3a24, 0 14px 30px rgb(0 0 0 / 0.3);
transform-origin: 50% -40px;
animation: yc-banner 2.8s ease both;
}
@keyframes yc-banner {
0% { transform: translate(-50%, -120%) rotate(-8deg); opacity: 0; }
18% { transform: translate(-50%, -50%) rotate(5deg); opacity: 1; }
32% { transform: translate(-50%, -50%) rotate(-3deg); }
46% { transform: translate(-50%, -50%) rotate(1.5deg); }
58%, 82% { transform: translate(-50%, -50%) rotate(0deg); opacity: 1; }
100% { transform: translate(-50%, -50%) rotate(0deg) scale(0.94); opacity: 0; }
}
// Postava s hláškou — kulatá nášivka a bublina jako lísteček z deníku výprav
.confetti-yurucamp-voice {
.confetti-mlp-avatar {
border: 4px solid #fffdf8;
background: radial-gradient(circle at 40% 35%, #fffdf8, #f3e3c3);
box-shadow: 0 0 0 4px var(--mlp-speaker, #3f6b4a), 0 4px 10px rgb(0 0 0 / 0.3);
outline: 2px dashed var(--mlp-speaker, #3f6b4a);
outline-offset: -10px;
}
.confetti-mlp-bubble {
background: #fffdf8;
color: #3a2e25;
border: 2px solid var(--mlp-speaker, #3f6b4a);
border-radius: 16px;
box-shadow: 0 4px 0 var(--mlp-speaker, #3f6b4a);
font-family: 'Zen Maru Gothic', 'Nunito', sans-serif;
p {
font-weight: 700;
}
}
}