Files
chatroom/resources/css/app.css

138 lines
3.0 KiB
CSS

@import 'tailwindcss';
@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';
@source '../../storage/framework/views/*.php';
@source '../**/*.blade.php';
@source '../**/*.js';
@theme {
--font-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
'Segoe UI Symbol', 'Noto Color Emoji';
}
.vip-presence-banner {
position: fixed;
inset: 24px 24px auto 24px;
z-index: 100000;
display: flex;
justify-content: center;
pointer-events: none;
animation: vip-presence-enter .55s ease-out both;
}
.vip-presence-banner.is-leaving {
animation: vip-presence-leave .65s ease-in both;
}
.vip-presence-banner__glow {
position: absolute;
inset: 14px auto auto 50%;
width: min(72vw, 720px);
height: 88px;
border-radius: 9999px;
filter: blur(34px);
transform: translateX(-50%);
opacity: .95;
}
.vip-presence-banner__card {
position: relative;
width: min(92vw, 760px);
border: 1px solid rgba(255, 255, 255, .35);
border-radius: 28px;
padding: 20px 24px;
overflow: hidden;
box-shadow: 0 20px 60px rgba(15, 23, 42, .35);
}
.vip-presence-banner__card::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.16) 38%, transparent 72%);
transform: translateX(-120%);
animation: vip-presence-shine 2.6s ease-in-out infinite;
}
.vip-presence-banner__meta {
position: relative;
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
}
.vip-presence-banner__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 42px;
height: 42px;
border-radius: 16px;
background: rgba(15, 23, 42, .22);
backdrop-filter: blur(10px);
font-size: 24px;
}
.vip-presence-banner__level {
font-size: 12px;
font-weight: 800;
letter-spacing: .12em;
text-transform: uppercase;
color: rgba(255, 255, 255, .92);
}
.vip-presence-banner__type {
font-size: 11px;
font-weight: 700;
padding: 6px 10px;
border-radius: 9999px;
color: #0f172a;
background: rgba(255, 255, 255, .72);
}
.vip-presence-banner__text {
position: relative;
margin-top: 14px;
font-size: clamp(16px, 2vw, 24px);
font-weight: 800;
line-height: 1.5;
text-wrap: balance;
text-shadow: 0 2px 18px rgba(15, 23, 42, .22);
}
@keyframes vip-presence-enter {
from {
opacity: 0;
transform: translateY(-22px) scale(.96);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}
@keyframes vip-presence-leave {
from {
opacity: 1;
transform: translateY(0) scale(1);
}
to {
opacity: 0;
transform: translateY(-16px) scale(.98);
}
}
@keyframes vip-presence-shine {
0% {
transform: translateX(-120%);
}
55%,
100% {
transform: translateX(140%);
}
}