mirror of
https://github.com/Shik3i/KoalaSync.git
synced 2026-07-26 12:08:15 +00:00
142 lines
3.2 KiB
CSS
142 lines
3.2 KiB
CSS
/* --- Join & Invitation Page Visuals --- */
|
|
.join-status-visual {
|
|
margin-bottom: 2rem;
|
|
position: relative;
|
|
height: 200px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.join-status-mascot {
|
|
display: block;
|
|
width: 140px;
|
|
height: auto;
|
|
z-index: 2;
|
|
filter: drop-shadow(0 4px 12px rgba(0,0,0,0.15));
|
|
}
|
|
|
|
.join-status-mascot.searching-mascot {
|
|
width: 175px; /* Slightly wider due to antenna to keep main body scale identical */
|
|
}
|
|
|
|
.join-status-pulse {
|
|
animation: mascot-gentle-pulse 2s ease-in-out infinite;
|
|
}
|
|
|
|
@keyframes mascot-gentle-pulse {
|
|
0% {
|
|
transform: scale(0.96);
|
|
filter: drop-shadow(0 4px 10px oklch(0.68 0.13 150 / 0.15));
|
|
}
|
|
50% {
|
|
transform: scale(1.04);
|
|
filter: drop-shadow(0 8px 20px oklch(0.68 0.13 150 / 0.35));
|
|
}
|
|
100% {
|
|
transform: scale(0.96);
|
|
filter: drop-shadow(0 4px 10px oklch(0.68 0.13 150 / 0.15));
|
|
}
|
|
}
|
|
|
|
.legal-mascot {
|
|
display: block;
|
|
width: 180px;
|
|
height: auto;
|
|
margin: -0.75rem auto 0.4rem auto;
|
|
filter: drop-shadow(0 4px 12px rgba(0,0,0,0.15));
|
|
transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
}
|
|
|
|
.legal-mascot:hover {
|
|
transform: scale(1.06) translateY(-4px) rotate(1.5deg);
|
|
}
|
|
|
|
.selfhost-mascot {
|
|
display: block;
|
|
width: 300px;
|
|
height: auto;
|
|
margin: 0 auto;
|
|
filter: drop-shadow(0 4px 12px rgba(0,0,0,0.15));
|
|
transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
}
|
|
|
|
.selfhost-mascot:hover {
|
|
transform: scale(1.05) translateY(-4px) rotate(-1deg);
|
|
}
|
|
|
|
.status-ring {
|
|
position: absolute;
|
|
width: 90px;
|
|
height: 90px;
|
|
border-radius: 50%;
|
|
background: oklch(0.68 0.13 150 / 0.05);
|
|
border: 2px dashed oklch(0.68 0.13 150 / 0.25);
|
|
z-index: 1;
|
|
}
|
|
|
|
.status-ring.active-pulse {
|
|
animation: radar-pulse 3s cubic-bezier(0.25, 0.8, 0.25, 1) infinite;
|
|
}
|
|
|
|
@keyframes radar-pulse {
|
|
0% {
|
|
transform: scale(0.85);
|
|
opacity: 0.9;
|
|
border-color: oklch(0.68 0.13 150 / 0.3);
|
|
box-shadow: 0 0 0 0px oklch(0.68 0.13 150 / 0.15);
|
|
}
|
|
50% {
|
|
transform: scale(1.18);
|
|
opacity: 0.35;
|
|
border-color: oklch(0.75 0.10 150 / 0.2);
|
|
box-shadow: 0 0 0 15px oklch(0.75 0.10 150 / 0);
|
|
}
|
|
100% {
|
|
transform: scale(0.85);
|
|
opacity: 0.9;
|
|
border-color: oklch(0.68 0.13 150 / 0.3);
|
|
box-shadow: 0 0 0 0px oklch(0.68 0.13 150 / 0.15);
|
|
}
|
|
}
|
|
|
|
.join-card-actions {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
width: 100%;
|
|
}
|
|
|
|
.join-card-actions .btn {
|
|
width: 100%;
|
|
justify-content: center;
|
|
padding: 1.1rem;
|
|
font-size: 0.88rem;
|
|
font-weight: 700;
|
|
letter-spacing: 0.04em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.join-card-actions .btn svg {
|
|
margin-right: 0.3rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.join-card-actions .btn img {
|
|
margin-right: 0.3rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.btn-success {
|
|
background: var(--accent-green);
|
|
color: var(--text-on-green) !important;
|
|
box-shadow: 0 10px 15px -3px oklch(0.68 0.13 150 / 0.3);
|
|
}
|
|
|
|
.btn-success:hover {
|
|
background: oklch(0.60 0.12 150);
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 20px 25px -5px oklch(0.68 0.13 150 / 0.4);
|
|
}
|
|
|