@glasnost-ui/svelte
Version:
Svelte components for Glasnost UI with liquid glass aesthetics
1,834 lines (1,618 loc) • 50.7 kB
CSS
/* Glasnost UI - Refined Glass Base Styles */
:root {
/* Glass Colors - More refined and subtle */
--glass-primary: rgba(255, 255, 255, 0.08);
--glass-secondary: rgba(255, 255, 255, 0.05);
--glass-accent: rgba(255, 255, 255, 0.12);
--glass-border: rgba(255, 255, 255, 0.18);
--glass-shadow: rgba(0, 0, 0, 0.08);
--glass-glow: rgba(255, 255, 255, 0.25);
/* Glass Gradients - Softer and more subtle */
--glass-gradient-1: linear-gradient(135deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.04) 100%);
--glass-gradient-2: linear-gradient(45deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.06) 50%, rgba(255, 255, 255, 0.03) 100%);
--glass-radial: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.08) 40%, transparent 100%);
/* Refined blur values */
--glass-blur-light: blur(16px) saturate(1.8) brightness(1.05);
--glass-blur-medium: blur(24px) saturate(2.2) brightness(1.08);
--glass-blur-heavy: blur(32px) saturate(2.8) brightness(1.12);
}
/* Base glass morphism styling */
.glasnost-base {
backdrop-filter: var(--glass-blur-medium);
-webkit-backdrop-filter: var(--glass-blur-medium);
background: var(--glass-gradient-1);
border: 1px solid var(--glass-border);
box-shadow:
0 8px 32px var(--glass-shadow),
inset 0 1px 0 var(--glass-glow);
position: relative;
overflow: hidden;
}
/* Liquid glass distortion effects */
.glasnost-liquid {
filter: url(#liquidDistortion);
}
/* Enhanced glass textures */
.glasnost-glass-texture::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: var(--glass-radial);
opacity: 0.3;
pointer-events: none;
z-index: 1;
}
/* Subtle animation for glass surfaces */
@keyframes glassShimmer {
0%, 100% { opacity: 0.3; }
50% { opacity: 0.6; }
}
.glasnost-shimmer {
animation: glassShimmer 4s ease-in-out infinite;
}
/* Responsive glass effects */
@media (max-width: 768px) {
:root {
--glass-blur-light: blur(12px) saturate(1.6) brightness(1.03);
--glass-blur-medium: blur(18px) saturate(2.0) brightness(1.06);
--glass-blur-heavy: blur(24px) saturate(2.4) brightness(1.09);
}
}
/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
.glasnost-shimmer {
animation: none;
}
}
.glasnost-navbar.svelte-1fuzvuj {
position: sticky;
top: 1rem;
width: 90%;
margin: 1rem auto;
padding: 1.25rem 2rem;
border-radius: 24px;
/* backdrop-filter: blur(2px) saturate(180%) brightness(120%);
-webkit-backdrop-filter: blur(2px) saturate(180%) brightness(120%); */
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.15) 0%,
rgba(255, 255, 255, 0.08) 50%,
rgba(255, 255, 255, 0.03) 100%);
border: 1px solid rgba(255, 255, 255, 0.25);
filter: url(#liquidNavbar);
transition: all 0.4s cubic-bezier(0.23, 1, 0.320, 1);
z-index: 1000;
overflow: hidden;
position: relative;
}
.navbar-glass-overlay.svelte-1fuzvuj {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at 30% 40%,
rgba(255, 255, 255, 0.1) 0%,
transparent 70%);
pointer-events: none;
opacity: 0;
transition: opacity 0.4s ease;
border-radius: inherit;
}
.navbar-liquid-distortion.svelte-1fuzvuj {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg,
rgba(255, 255, 255, 0.05) 0%,
transparent 50%,
rgba(255, 255, 255, 0.05) 100%);
filter: url(#frostedGlass);
opacity: 0;
transition: opacity 0.4s ease;
pointer-events: none;
border-radius: inherit;
}
.glasnost-navbar.svelte-1fuzvuj:hover .navbar-glass-overlay:where(.svelte-1fuzvuj) {
opacity: 1;
}
.glasnost-navbar.svelte-1fuzvuj:hover .navbar-liquid-distortion:where(.svelte-1fuzvuj) {
opacity: 0.6;
}
.glasnost-navbar.svelte-1fuzvuj::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.3) 50%,
transparent 100%);
transition: left 0.6s ease;
pointer-events: none;
border-radius: inherit;
}
.glasnost-navbar.svelte-1fuzvuj:hover::before {
left: 100%;
}
.navbar-content.svelte-1fuzvuj {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 2;
}
.navbar-left.svelte-1fuzvuj,
.navbar-center.svelte-1fuzvuj,
.navbar-right.svelte-1fuzvuj {
display: flex;
align-items: center;
flex: 1;
}
.navbar-left.svelte-1fuzvuj {
justify-content: flex-start;
}
.navbar-center.svelte-1fuzvuj {
justify-content: center;
font-weight: 700;
font-size: 1.5rem;
color: rgba(255, 255, 255, 0.95);
letter-spacing: 0.05em;
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.95) 0%,
rgba(255, 255, 255, 0.8) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
box-shadow: none !important;
}
.navbar-content.svelte-1fuzvuj > :where(.svelte-1fuzvuj) {
box-shadow: none !important;
}
.glasnost-navbar.svelte-1fuzvuj :where(.svelte-1fuzvuj) {
box-shadow: none !important;
}
.navbar-right.svelte-1fuzvuj {
justify-content: flex-end;
}
/* Enhanced glass effect on hover */
.glasnost-navbar.svelte-1fuzvuj:hover {
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.2) 0%,
rgba(255, 255, 255, 0.12) 50%,
rgba(255, 255, 255, 0.06) 100%);
border-color: rgba(255, 255, 255, 0.35);
box-shadow:
0 16px 48px rgba(0, 0, 0, 0.15),
inset 0 2px 0 rgba(255, 255, 255, 0.5),
0 0 0 1px rgba(255, 255, 255, 0.1);
transform: translateY(-2px);
filter: url(#glassDistortion);
}
/* Responsive design */
@media (max-width: 768px) {
.glasnost-navbar.svelte-1fuzvuj {
width: 98%;
margin: 0.5rem auto;
padding: 1rem 1.5rem;
border-radius: 20px;
}
.navbar-center.svelte-1fuzvuj {
font-size: 1.25rem;
}
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
.glasnost-navbar.svelte-1fuzvuj::before,
.navbar-glass-overlay.svelte-1fuzvuj,
.navbar-liquid-distortion.svelte-1fuzvuj {
transition: none;
}
.glasnost-navbar.svelte-1fuzvuj:hover {
transform: none;
}
}
.glasnost-profile-card.svelte-1suu1p0 {
position: relative;
width: 100%;
max-width: 340px;
padding: 2.5rem 2rem;
/* backdrop-filter: blur(2px) saturate(180%) brightness(120%);
-webkit-backdrop-filter: blur(2px) saturate(180%) brightness(120%); */
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.15) 0%,
rgba(255, 255, 255, 0.08) 50%,
rgba(255, 255, 255, 0.03) 100%);
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 24px;
transition: all 0.4s cubic-bezier(0.23, 1, 0.320, 1);
overflow: hidden;
transform-style: preserve-3d;
}
.glasnost-profile-card.svelte-1suu1p0::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.3) 50%,
transparent 100%);
transition: left 0.6s ease;
pointer-events: none;
border-radius: inherit;
}
.profile-glass-overlay.svelte-1suu1p0 {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at 30% 40%,
rgba(255, 255, 255, 0.1) 0%,
transparent 70%);
pointer-events: none;
opacity: 0;
transition: opacity 0.4s ease;
border-radius: inherit;
}
.profile-liquid-distortion.svelte-1suu1p0 {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg,
rgba(255, 255, 255, 0.05) 0%,
transparent 50%,
rgba(255, 255, 255, 0.05) 100%);
filter: url(#frostedGlass);
opacity: 0;
transition: opacity 0.4s ease;
pointer-events: none;
border-radius: inherit;
}
.card-shine.svelte-1suu1p0 {
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.4) 50%,
transparent 100%);
border-radius: inherit;
transition: left 0.8s ease;
pointer-events: none;
}
.glasnost-profile-card.svelte-1suu1p0:hover {
transform: translateY(-12px) rotateX(5deg) rotateY(5deg);
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.2) 0%,
rgba(255, 255, 255, 0.12) 50%,
rgba(255, 255, 255, 0.06) 100%);
border-color: rgba(255, 255, 255, 0.35);
filter: url(#glassDistortion);
}
.glasnost-profile-card.svelte-1suu1p0:hover .profile-glass-overlay:where(.svelte-1suu1p0) {
opacity: 1;
}
.glasnost-profile-card.svelte-1suu1p0:hover .profile-liquid-distortion:where(.svelte-1suu1p0) {
opacity: 0.6;
}
.glasnost-profile-card.svelte-1suu1p0:hover::before {
left: 100%;
}
.glasnost-profile-card.svelte-1suu1p0:hover .card-shine:where(.svelte-1suu1p0) {
left: 100%;
}
.profile-card-content.svelte-1suu1p0 {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.avatar-container.svelte-1suu1p0 {
position: relative;
margin-bottom: 2rem;
}
.avatar-glow-ring.svelte-1suu1p0 {
position: absolute;
top: 50%;
left: 50%;
width: 120px;
height: 120px;
background: conic-gradient(from 0deg,
rgba(99, 102, 241, 0.5),
rgba(236, 72, 153, 0.5),
rgba(99, 102, 241, 0.5));
border-radius: 50%;
transform: translate(-50%, -50%);
opacity: 0;
transition: all 0.4s ease;
animation: svelte-1suu1p0-avatarRotate 6s linear infinite;
z-index: 1;
}
.glasnost-profile-card.svelte-1suu1p0:hover .avatar-glow-ring:where(.svelte-1suu1p0) {
opacity: 0.6;
}
@keyframes svelte-1suu1p0-avatarRotate {
0% { transform: translate(-50%, -50%) rotate(0deg); }
100% { transform: translate(-50%, -50%) rotate(360deg); }
}
.profile-avatar.svelte-1suu1p0 {
width: 90px;
height: 90px;
border-radius: 50%;
object-fit: cover;
border: 3px solid rgba(255, 255, 255, 0.4);
filter: url(#avatarGlow);
transition: all 0.4s ease;
position: relative;
z-index: 3;
}
.glasnost-profile-card.svelte-1suu1p0:hover .profile-avatar:where(.svelte-1suu1p0) {
transform: scale(1.1);
border-color: rgba(255, 255, 255, 0.6);
}
.avatar-shimmer.svelte-1suu1p0 {
position: absolute;
top: 50%;
left: 50%;
width: 100px;
height: 100px;
background: radial-gradient(circle,
rgba(255, 255, 255, 0.3) 0%,
rgba(255, 255, 255, 0.1) 40%,
transparent 70%);
border-radius: 50%;
transform: translate(-50%, -50%);
opacity: 0;
transition: all 0.4s ease;
animation: svelte-1suu1p0-avatarPulse 4s ease-in-out infinite;
z-index: 2;
}
.glasnost-profile-card.svelte-1suu1p0:hover .avatar-shimmer:where(.svelte-1suu1p0) {
opacity: 0.8;
}
@keyframes svelte-1suu1p0-avatarPulse {
0%, 100% {
transform: translate(-50%, -50%) scale(1);
opacity: 0.3;
}
50% {
transform: translate(-50%, -50%) scale(1.3);
opacity: 0.6;
}
}
.profile-info.svelte-1suu1p0 {
margin-bottom: 2rem;
}
.profile-name.svelte-1suu1p0 {
font-size: 1.75rem;
font-weight: 700;
color: rgba(255, 255, 255, 0.95);
margin: 0 0 0.75rem 0;
letter-spacing: 0.025em;
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.95) 0%,
rgba(255, 255, 255, 0.8) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.profile-title.svelte-1suu1p0 {
font-size: 1.1rem;
color: rgba(255, 255, 255, 0.75);
margin: 0;
font-weight: 500;
}
.profile-actions.svelte-1suu1p0 {
width: 100%;
}
/* Responsive design */
@media (max-width: 768px) {
.glasnost-profile-card.svelte-1suu1p0 {
max-width: 300px;
padding: 2rem 1.5rem;
border-radius: 20px;
}
.profile-avatar.svelte-1suu1p0 {
width: 80px;
height: 80px;
}
.avatar-glow-ring.svelte-1suu1p0 {
width: 100px;
height: 100px;
}
.avatar-shimmer.svelte-1suu1p0 {
width: 90px;
height: 90px;
}
.profile-name.svelte-1suu1p0 {
font-size: 1.5rem;
}
.profile-title.svelte-1suu1p0 {
font-size: 1rem;
}
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
.glasnost-profile-card.svelte-1suu1p0,
.profile-avatar.svelte-1suu1p0,
.avatar-shimmer.svelte-1suu1p0,
.avatar-glow-ring.svelte-1suu1p0,
.card-shine.svelte-1suu1p0,
.profile-glass-overlay.svelte-1suu1p0,
.profile-liquid-distortion.svelte-1suu1p0 {
transition: none;
animation: none;
}
.glasnost-profile-card.svelte-1suu1p0::before {
transition: none;
}
.glasnost-profile-card.svelte-1suu1p0:hover {
transform: translateY(-8px);
}
}
.glasnost-comment-card.svelte-13n7p08 {
position: relative;
width: 100%;
padding: 2rem;
/* backdrop-filter: blur(2px) saturate(180%) brightness(120%);
-webkit-backdrop-filter: blur(2px) saturate(180%) brightness(120%); */
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.15) 0%,
rgba(255, 255, 255, 0.08) 50%,
rgba(255, 255, 255, 0.03) 100%);
background-size: 200% 200%;
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 20px;
animation: svelte-13n7p08-flowingBackground 15s ease-in-out infinite;
filter: url(#liquidNavbar);
box-shadow:
0 15px 50px rgba(31, 38, 135, 0.37),
inset 0 1px 0 rgba(255, 255, 255, 0.5),
0 1px 0 rgba(255, 255, 255, 0.1);
transition: all 0.4s cubic-bezier(0.23, 1, 0.320, 1);
overflow: hidden;
transform-style: preserve-3d;
}
.glasnost-comment-card.svelte-13n7p08::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.3) 50%,
transparent 100%);
transition: left 0.6s ease;
pointer-events: none;
border-radius: inherit;
}
@keyframes svelte-13n7p08-flowingBackground {
0%, 100% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
}
.comment-glass-overlay.svelte-13n7p08 {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at 30% 40%,
rgba(255, 255, 255, 0.1) 0%,
transparent 70%);
pointer-events: none;
opacity: 0;
transition: opacity 0.4s ease;
border-radius: inherit;
}
.comment-liquid-distortion.svelte-13n7p08 {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg,
rgba(255, 255, 255, 0.05) 0%,
transparent 50%,
rgba(255, 255, 255, 0.05) 100%);
filter: url(#frostedGlass);
opacity: 0;
transition: opacity 0.4s ease;
pointer-events: none;
border-radius: inherit;
}
.comment-shine.svelte-13n7p08 {
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.3) 50%,
transparent 100%);
border-radius: inherit;
transition: left 0.7s ease;
pointer-events: none;
}
.glasnost-comment-card.svelte-13n7p08:hover {
transform: translateY(-6px) rotateX(2deg);
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.2) 0%,
rgba(255, 255, 255, 0.12) 50%,
rgba(255, 255, 255, 0.06) 100%);
border-color: rgba(255, 255, 255, 0.35);
box-shadow:
0 25px 70px rgba(31, 38, 135, 0.5),
inset 0 2px 0 rgba(255, 255, 255, 0.6),
0 2px 0 rgba(255, 255, 255, 0.2);
filter: url(#glassDistortion);
}
.glasnost-comment-card.svelte-13n7p08:hover .comment-glass-overlay:where(.svelte-13n7p08) {
opacity: 1;
}
.glasnost-comment-card.svelte-13n7p08:hover .comment-liquid-distortion:where(.svelte-13n7p08) {
opacity: 0.6;
}
.glasnost-comment-card.svelte-13n7p08:hover::before {
left: 100%;
}
.glasnost-comment-card.svelte-13n7p08:hover .comment-shine:where(.svelte-13n7p08) {
left: 100%;
}
.comment-card-header.svelte-13n7p08 {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 1.5rem;
padding-bottom: 1rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
position: relative;
z-index: 2;
}
.comment-title.svelte-13n7p08 {
font-size: 1.5rem;
font-weight: 700;
color: rgba(255, 255, 255, 0.95);
margin: 0;
letter-spacing: 0.025em;
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.95) 0%,
rgba(255, 255, 255, 0.8) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.comment-count.svelte-13n7p08 {
font-size: 0.875rem;
color: rgba(255, 255, 255, 0.8);
background: linear-gradient(135deg,
rgba(40, 42, 55, 1) 0%,
rgba(30, 32, 40, 0.98) 100%);
padding: 0.5rem 1rem;
border-radius: 20px;
backdrop-filter: blur(15px);
border: 1px solid rgba(255, 255, 255, 0.2);
font-weight: 600;
}
.comment-card-content.svelte-13n7p08 {
position: relative;
z-index: 2;
min-height: 120px;
}
.no-comments.svelte-13n7p08 {
text-align: center;
padding: 3rem 1rem;
color: rgba(255, 255, 255, 0.7);
}
.no-comments-icon.svelte-13n7p08 {
font-size: 3.5rem;
margin-bottom: 1.5rem;
opacity: 0.6;
filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
}
.no-comments.svelte-13n7p08 p:where(.svelte-13n7p08) {
margin: 0;
font-size: 1.1rem;
line-height: 1.6;
font-weight: 500;
}
/* Enhanced floating particles */
.floating-particle.svelte-13n7p08 {
position: absolute;
background: radial-gradient(circle,
rgba(255, 255, 255, 0.3) 0%,
rgba(255, 255, 255, 0.1) 50%,
transparent 100%);
border-radius: 50%;
pointer-events: none;
backdrop-filter: blur(8px);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.particle-1.svelte-13n7p08 {
width: 16px;
height: 16px;
top: 20%;
left: 15%;
animation: svelte-13n7p08-floatParticle 12s ease-in-out infinite;
}
.particle-2.svelte-13n7p08 {
width: 12px;
height: 12px;
top: 70%;
right: 20%;
animation: svelte-13n7p08-floatParticle 15s ease-in-out infinite 3s;
}
.particle-3.svelte-13n7p08 {
width: 14px;
height: 14px;
bottom: 25%;
left: 25%;
animation: svelte-13n7p08-floatParticle 18s ease-in-out infinite 6s;
}
@keyframes svelte-13n7p08-floatParticle {
0%, 100% {
transform: translateY(0) translateX(0) rotate(0deg);
opacity: 0.3;
}
25% {
transform: translateY(-20px) translateX(10px) rotate(90deg);
opacity: 0.6;
}
50% {
transform: translateY(-30px) translateX(-5px) rotate(180deg);
opacity: 0.4;
}
75% {
transform: translateY(-15px) translateX(15px) rotate(270deg);
opacity: 0.7;
}
}
/* Enhanced comment list styling for slotted content */
.glasnost-comment-card .comment-item {
padding: 1.5rem;
margin-bottom: 1rem;
background: linear-gradient(135deg,
rgba(30, 32, 40, 0.95) 0%,
rgba(40, 42, 55, 0.92) 100%);
border-radius: 16px;
border: 1px solid rgba(255, 255, 255, 0.15);
backdrop-filter: blur(20px);
transition: all 0.3s cubic-bezier(0.23, 1, 0.320, 1);
}
.glasnost-comment-card .comment-item:hover {
background: linear-gradient(135deg,
rgba(40, 42, 55, 1) 0%,
rgba(30, 32, 40, 0.98) 100%);
border-color: rgba(255, 255, 255, 0.25);
transform: translateX(8px) translateY(-2px);
box-shadow:
0 12px 35px rgba(31, 38, 135, 0.25),
inset 0 2px 0 rgba(255, 255, 255, 0.3);
}
.glasnost-comment-card .comment-author {
font-weight: 700;
color: rgba(255, 255, 255, 0.9);
margin-bottom: 0.75rem;
font-size: 1.1rem;
}
.glasnost-comment-card .comment-text {
color: rgba(255, 255, 255, 0.8);
line-height: 1.7;
font-size: 1rem;
}
.glasnost-comment-card .comment-meta {
font-size: 0.875rem;
color: rgba(255, 255, 255, 0.6);
margin-top: 0.75rem;
font-weight: 500;
}
.comment-card-footer.svelte-13n7p08 {
margin-top: 1.5rem;
padding-top: 1rem;
border-top: 1px solid rgba(255, 255, 255, 0.15);
display: flex;
justify-content: center;
position: relative;
z-index: 2;
}
.more-button.svelte-13n7p08 {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.75rem 2rem;
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.15) 0%,
rgba(255, 255, 255, 0.08) 50%,
rgba(255, 255, 255, 0.03) 100%);
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 12px;
color: rgba(255, 255, 255, 0.9);
font-weight: 600;
font-size: 0.9rem;
cursor: pointer;
transition: all 0.3s cubic-bezier(0.23, 1, 0.320, 1);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
overflow: hidden;
text-decoration: none;
user-select: none;
outline: none;
letter-spacing: 0.025em;
}
.more-button.svelte-13n7p08:hover {
transform: translateY(-2px);
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.2) 0%,
rgba(255, 255, 255, 0.12) 50%,
rgba(255, 255, 255, 0.06) 100%);
border-color: rgba(255, 255, 255, 0.35);
box-shadow:
0 8px 25px rgba(31, 38, 135, 0.3),
inset 0 1px 0 rgba(255, 255, 255, 0.4);
color: rgba(255, 255, 255, 0.95);
}
.more-button.svelte-13n7p08:active {
transform: translateY(-1px);
}
.more-button.svelte-13n7p08:focus-visible {
outline: 2px solid rgba(255, 255, 255, 0.5);
outline-offset: 2px;
}
.more-button-text.svelte-13n7p08 {
position: relative;
z-index: 2;
}
.more-button-shine.svelte-13n7p08 {
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.4) 50%,
transparent 100%);
border-radius: inherit;
transition: left 0.5s ease;
pointer-events: none;
}
.more-button.svelte-13n7p08:hover .more-button-shine:where(.svelte-13n7p08) {
left: 100%;
}
/* Responsive design */
@media (max-width: 768px) {
.glasnost-comment-card.svelte-13n7p08 {
padding: 1.5rem;
border-radius: 18px;
}
.comment-card-header.svelte-13n7p08 {
flex-direction: column;
align-items: flex-start;
gap: 1rem;
}
.comment-title.svelte-13n7p08 {
font-size: 1.25rem;
}
.comment-count.svelte-13n7p08 {
align-self: flex-end;
}
.more-button.svelte-13n7p08 {
padding: 0.65rem 1.5rem;
font-size: 0.85rem;
}
.no-comments.svelte-13n7p08 {
padding: 2rem 0.5rem;
}
.no-comments-icon.svelte-13n7p08 {
font-size: 3rem;
}
.no-comments.svelte-13n7p08 p:where(.svelte-13n7p08) {
font-size: 1rem;
}
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
.glasnost-comment-card.svelte-13n7p08,
.floating-particle.svelte-13n7p08,
.comment-shine.svelte-13n7p08,
.comment-glass-overlay.svelte-13n7p08,
.comment-liquid-distortion.svelte-13n7p08,
.more-button.svelte-13n7p08,
.more-button-shine.svelte-13n7p08 {
animation: none;
transition: none;
}
.glasnost-comment-card.svelte-13n7p08::before {
transition: none;
}
.glasnost-comment-card .comment-item {
transition: none;
}
.glasnost-comment-card.svelte-13n7p08:hover {
transform: translateY(-4px);
}
.more-button.svelte-13n7p08:hover {
transform: translateY(-1px);
}
}
.glasnost-glass-button.svelte-wxyyc9 {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
/* backdrop-filter: blur(2px) saturate(180%) brightness(120%);
-webkit-backdrop-filter: blur(2px) saturate(180%) brightness(120%); */
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 16px;
color: rgba(255, 255, 255, 0.95);
font-weight: 600;
cursor: pointer;
transition: all 0.4s cubic-bezier(0.23, 1, 0.320, 1);
filter: url(#liquidNavbar);
overflow: hidden;
text-decoration: none;
user-select: none;
outline: none;
transform-style: preserve-3d;
}
.glasnost-glass-button.svelte-wxyyc9::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.3) 50%,
transparent 100%);
transition: left 0.6s ease;
pointer-events: none;
border-radius: inherit;
}
.button-glass-overlay.svelte-wxyyc9 {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at 30% 40%,
rgba(255, 255, 255, 0.1) 0%,
transparent 70%);
pointer-events: none;
opacity: 0;
transition: opacity 0.4s ease;
border-radius: inherit;
}
.button-liquid-distortion.svelte-wxyyc9 {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg,
rgba(255, 255, 255, 0.05) 0%,
transparent 50%,
rgba(255, 255, 255, 0.05) 100%);
filter: url(#frostedGlass);
opacity: 0;
transition: opacity 0.4s ease;
pointer-events: none;
border-radius: inherit;
}
.button-shine.svelte-wxyyc9 {
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.6) 50%,
transparent 100%);
border-radius: inherit;
transition: left 0.6s ease;
pointer-events: none;
}
.glasnost-glass-button.svelte-wxyyc9:hover {
transform: translateY(-3px) scale(1.02);
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.2) 0%,
rgba(255, 255, 255, 0.12) 50%,
rgba(255, 255, 255, 0.06) 100%);
border-color: rgba(255, 255, 255, 0.35);
filter: url(#glassDistortion);
}
.glasnost-glass-button.svelte-wxyyc9:hover .button-glass-overlay:where(.svelte-wxyyc9) {
opacity: 1;
}
.glasnost-glass-button.svelte-wxyyc9:hover .button-liquid-distortion:where(.svelte-wxyyc9) {
opacity: 0.6;
}
.glasnost-glass-button.svelte-wxyyc9:hover::before {
left: 100%;
}
.glasnost-glass-button.svelte-wxyyc9:hover .button-shine:where(.svelte-wxyyc9) {
left: 100%;
}
.glasnost-glass-button.svelte-wxyyc9:active {
transform: translateY(-1px) scale(0.98);
filter: url(#shimmerEffect);
}
.glasnost-glass-button.svelte-wxyyc9:focus-visible {
outline: 2px solid rgba(255, 255, 255, 0.5);
outline-offset: 3px;
}
/* Size variants */
.glass-button--small {
padding: 8px 20px;
font-size: 0.875rem;
border-radius: 12px;
}
.glass-button--medium {
padding: 12px 28px;
font-size: 1rem;
border-radius: 16px;
}
.glass-button--large {
padding: 16px 36px;
font-size: 1.125rem;
border-radius: 20px;
}
/* Variant styles */
.glass-button--primary {
background: linear-gradient(135deg,
rgba(99, 102, 241, 0.3) 0%,
rgba(67, 56, 202, 0.2) 100%);
color: rgba(255, 255, 255, 0.95);
}
.glass-button--primary:hover {
background: linear-gradient(135deg,
rgba(99, 102, 241, 0.4) 0%,
rgba(67, 56, 202, 0.3) 100%);
}
.glass-button--secondary {
background: linear-gradient(135deg,
rgba(107, 114, 128, 0.3) 0%,
rgba(75, 85, 99, 0.2) 100%);
}
.glass-button--secondary:hover {
background: linear-gradient(135deg,
rgba(107, 114, 128, 0.4) 0%,
rgba(75, 85, 99, 0.3) 100%);
}
.glass-button--accent {
background: linear-gradient(135deg,
rgba(236, 72, 153, 0.3) 0%,
rgba(190, 24, 93, 0.2) 100%);
}
.glass-button--accent:hover {
background: linear-gradient(135deg,
rgba(236, 72, 153, 0.4) 0%,
rgba(190, 24, 93, 0.3) 100%);
}
/* Disabled state */
.glass-button--disabled {
opacity: 0.5;
cursor: not-allowed;
transform: none !important;
filter: grayscale(100%);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
}
.glass-button--disabled:hover {
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.15) 0%,
rgba(255, 255, 255, 0.08) 50%,
rgba(255, 255, 255, 0.03) 100%);
border-color: rgba(255, 255, 255, 0.25);
transform: none;
}
.glass-button--disabled .button-shine,
.glass-button--disabled .button-glass-overlay,
.glass-button--disabled .button-liquid-distortion {
display: none;
}
/* Button content */
.button-content.svelte-wxyyc9 {
position: relative;
z-index: 2;
display: flex;
align-items: center;
gap: 0.5rem;
}
/* Responsive design */
@media (max-width: 768px) {
.glass-button--small {
padding: 6px 16px;
font-size: 0.8rem;
}
.glass-button--medium {
padding: 10px 24px;
font-size: 0.9rem;
}
.glass-button--large {
padding: 14px 32px;
font-size: 1rem;
}
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
.glasnost-glass-button.svelte-wxyyc9,
.button-shine.svelte-wxyyc9,
.button-glass-overlay.svelte-wxyyc9,
.button-liquid-distortion.svelte-wxyyc9 {
transition: none;
}
.glasnost-glass-button.svelte-wxyyc9::before {
transition: none;
}
}
.glasnost-hamburger-menu.svelte-41ijkg {
position: relative;
width: 52px;
height: 52px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.15) 0%,
rgba(255, 255, 255, 0.08) 50%,
rgba(255, 255, 255, 0.03) 100%);
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 16px;
cursor: pointer;
transition: all 0.4s cubic-bezier(0.23, 1, 0.320, 1);
overflow: hidden;
outline: none;
transform-style: preserve-3d;
}
.glasnost-hamburger-menu.svelte-41ijkg::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.3) 50%,
transparent 100%);
transition: left 0.6s ease;
pointer-events: none;
border-radius: inherit;
}
.hamburger-glass-overlay.svelte-41ijkg {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at 30% 40%,
rgba(255, 255, 255, 0.1) 0%,
transparent 70%);
pointer-events: none;
opacity: 0;
transition: opacity 0.4s ease;
border-radius: inherit;
}
.hamburger-liquid-distortion.svelte-41ijkg {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg,
rgba(255, 255, 255, 0.05) 0%,
transparent 50%,
rgba(255, 255, 255, 0.05) 100%);
filter: url(#frostedGlass);
opacity: 0;
transition: opacity 0.4s ease;
pointer-events: none;
border-radius: inherit;
}
.hamburger-shine.svelte-41ijkg {
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.5) 50%,
transparent 100%);
border-radius: inherit;
transition: left 0.5s ease;
pointer-events: none;
}
.glasnost-hamburger-menu.svelte-41ijkg:hover {
transform: translateY(-3px) scale(1.05);
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.2) 0%,
rgba(255, 255, 255, 0.12) 50%,
rgba(255, 255, 255, 0.06) 100%);
border-color: rgba(255, 255, 255, 0.35);
box-shadow:
0 15px 45px rgba(31, 38, 135, 0.4),
inset 0 2px 0 rgba(255, 255, 255, 0.6),
0 2px 0 rgba(255, 255, 255, 0.2);
filter: url(#glassDistortion);
}
.glasnost-hamburger-menu.svelte-41ijkg:hover .hamburger-glass-overlay:where(.svelte-41ijkg) {
opacity: 1;
}
.glasnost-hamburger-menu.svelte-41ijkg:hover .hamburger-liquid-distortion:where(.svelte-41ijkg) {
opacity: 0.6;
}
.glasnost-hamburger-menu.svelte-41ijkg:hover::before {
left: 100%;
}
.glasnost-hamburger-menu.svelte-41ijkg:hover .hamburger-shine:where(.svelte-41ijkg) {
left: 100%;
}
.glasnost-hamburger-menu.svelte-41ijkg:focus-visible {
outline: 2px solid rgba(255, 255, 255, 0.5);
outline-offset: 3px;
}
.glasnost-hamburger-menu.svelte-41ijkg:active {
transform: translateY(-1px) scale(1.02);
filter: url(#shimmerEffect);
}
/* Open state styling */
.hamburger-menu--open.svelte-41ijkg {
background: linear-gradient(135deg,
rgba(236, 72, 153, 0.3) 0%,
rgba(190, 24, 93, 0.2) 100%);
border-color: rgba(236, 72, 153, 0.4);
}
.hamburger-menu--open.svelte-41ijkg:hover {
background: linear-gradient(135deg,
rgba(236, 72, 153, 0.4) 0%,
rgba(190, 24, 93, 0.3) 100%);
}
/* Hamburger icon container */
.hamburger-icon.svelte-41ijkg {
position: relative;
width: 26px;
height: 20px;
display: flex;
flex-direction: column;
justify-content: space-between;
z-index: 2;
}
/* Hamburger lines */
.hamburger-line.svelte-41ijkg {
display: block;
width: 100%;
height: 3px;
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.95) 0%,
rgba(255, 255, 255, 0.8) 100%);
border-radius: 3px;
transition: all 0.4s cubic-bezier(0.23, 1, 0.320, 1);
transform-origin: center;
filter: url(#cleanGlow);
}
/* Animation states */
.hamburger-menu--open.svelte-41ijkg .hamburger-line--top:where(.svelte-41ijkg) {
transform: translateY(8.5px) rotate(45deg);
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.98) 0%,
rgba(255, 255, 255, 0.85) 100%);
}
.hamburger-menu--open.svelte-41ijkg .hamburger-line--middle:where(.svelte-41ijkg) {
opacity: 0;
transform: scaleX(0);
}
.hamburger-menu--open.svelte-41ijkg .hamburger-line--bottom:where(.svelte-41ijkg) {
transform: translateY(-8.5px) rotate(-45deg);
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.98) 0%,
rgba(255, 255, 255, 0.85) 100%);
}
/* Enhanced hover effects for lines */
.glasnost-hamburger-menu.svelte-41ijkg:hover .hamburger-line:where(.svelte-41ijkg) {
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.98) 0%,
rgba(255, 255, 255, 0.9) 100%);
}
/* Responsive design */
@media (max-width: 768px) {
.glasnost-hamburger-menu.svelte-41ijkg {
width: 48px;
height: 48px;
border-radius: 14px;
}
.hamburger-icon.svelte-41ijkg {
width: 22px;
height: 18px;
}
.hamburger-line.svelte-41ijkg {
height: 2.5px;
}
.hamburger-menu--open.svelte-41ijkg .hamburger-line--top:where(.svelte-41ijkg) {
transform: translateY(7.75px) rotate(45deg);
}
.hamburger-menu--open.svelte-41ijkg .hamburger-line--bottom:where(.svelte-41ijkg) {
transform: translateY(-7.75px) rotate(-45deg);
}
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
.glasnost-hamburger-menu.svelte-41ijkg,
.hamburger-line.svelte-41ijkg,
.hamburger-shine.svelte-41ijkg,
.hamburger-glass-overlay.svelte-41ijkg,
.hamburger-liquid-distortion.svelte-41ijkg {
transition: none;
animation: none;
}
.glasnost-hamburger-menu.svelte-41ijkg::before {
transition: none;
}
.glasnost-hamburger-menu.svelte-41ijkg:hover {
transform: translateY(-2px);
}
}
.glasnost-toggle-button.svelte-1owfq1 {
display: inline-flex;
align-items: center;
gap: 1rem;
cursor: pointer;
user-select: none;
transition: all 0.4s cubic-bezier(0.23, 1, 0.320, 1);
/* CSS Custom Properties for responsive sizing */
--track-width: 64px;
--track-height: 36px;
--track-radius: calc(var(--track-height) / 2);
--knob-size: calc(var(--track-height) - 4px);
--knob-offset: 2px;
--knob-travel: calc(var(--track-width) - var(--knob-size) - (var(--knob-offset) * 2));
--label-size: 0.95rem;
--gap-size: 1rem;
}
.glasnost-toggle-button.svelte-1owfq1:hover {
transform: translateY(-2px);
}
.toggle-button--disabled.svelte-1owfq1 {
opacity: 0.5;
cursor: not-allowed;
transform: none !important;
filter: grayscale(100%);
}
.toggle-input.svelte-1owfq1 {
position: absolute;
opacity: 0;
width: 0;
height: 0;
pointer-events: none;
}
.toggle-track.svelte-1owfq1 {
position: relative;
width: var(--track-width);
height: var(--track-height);
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.15) 0%,
rgba(255, 255, 255, 0.08) 50%,
rgba(255, 255, 255, 0.03) 100%);
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: var(--track-radius);
transition: all 0.4s cubic-bezier(0.23, 1, 0.320, 1);
overflow: hidden;
transform-style: preserve-3d;
}
.toggle-track.svelte-1owfq1::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.3) 50%,
transparent 100%);
transition: left 0.6s ease;
pointer-events: none;
border-radius: inherit;
}
.toggle-track-overlay.svelte-1owfq1 {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at 30% 30%,
rgba(255, 255, 255, 0.1) 0%,
transparent 70%);
border-radius: inherit;
transition: all 0.4s ease;
opacity: 0;
}
.toggle-liquid-distortion.svelte-1owfq1 {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg,
rgba(255, 255, 255, 0.05) 0%,
transparent 50%,
rgba(255, 255, 255, 0.05) 100%);
filter: url(#frostedGlass);
opacity: 0;
transition: opacity 0.4s ease;
pointer-events: none;
border-radius: inherit;
}
.toggle-shine.svelte-1owfq1 {
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.4) 50%,
transparent 100%);
border-radius: inherit;
transition: left 0.6s ease;
pointer-events: none;
}
.glasnost-toggle-button.svelte-1owfq1:hover .toggle-track:where(.svelte-1owfq1) {
border-color: rgba(255, 255, 255, 0.35);
box-shadow:
inset 0 2px 8px rgba(0, 0, 0, 0.1),
0 6px 20px rgba(31, 38, 135, 0.25),
inset 0 1px 0 rgba(255, 255, 255, 0.4);
filter: url(#glassDistortion);
}
.glasnost-toggle-button.svelte-1owfq1:hover .toggle-track-overlay:where(.svelte-1owfq1) {
opacity: 1;
}
.glasnost-toggle-button.svelte-1owfq1:hover .toggle-liquid-distortion:where(.svelte-1owfq1) {
opacity: 0.6;
}
.glasnost-toggle-button.svelte-1owfq1:hover .toggle-track:where(.svelte-1owfq1)::before {
left: 100%;
}
.glasnost-toggle-button.svelte-1owfq1:hover .toggle-shine:where(.svelte-1owfq1) {
left: 100%;
}
/* Toggle knob */
.toggle-knob.svelte-1owfq1 {
position: relative;
top: var(--knob-offset);
left: var(--knob-offset);
width: var(--knob-size);
height: var(--knob-size);
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.95) 0%,
rgba(255, 255, 255, 0.8) 100%);
border-radius: 50%;
transition: all 0.4s cubic-bezier(0.23, 1, 0.320, 1);
filter: url(#cleanGlow);
z-index: 2;
transform-style: preserve-3d;
overflow: hidden;
}
.toggle-button--checked.svelte-1owfq1 .toggle-knob:where(.svelte-1owfq1) {
transform: translateX(var(--knob-travel));
background: linear-gradient(135deg,
rgba(255, 255, 255, 0.98) 0%,
rgba(255, 255, 255, 0.85) 100%);
}
.glasnost-toggle-button.svelte-1owfq1:hover .toggle-knob:where(.svelte-1owfq1) {
transform: scale(1.1);
}
.toggle-button--checked.glasnost-toggle-button.svelte-1owfq1:hover .toggle-knob:where(.svelte-1owfq1) {
transform: translateX(var(--knob-travel)) scale(1.1);
}
/* Knob inner glow */
.knob-inner.svelte-1owfq1 {
position: absolute;
top: 50%;
left: 50%;
width: calc(var(--knob-size) * 0.75);
height: calc(var(--knob-size) * 0.75);
background: radial-gradient(circle,
rgba(255, 255, 255, 0.8) 0%,
rgba(255, 255, 255, 0.3) 60%,
transparent 100%);
border-radius: 50%;
transform: translate(-50%, -50%);
transition: all 0.3s ease;
opacity: 0.6;
}
.toggle-button--checked.svelte-1owfq1 .knob-inner:where(.svelte-1owfq1) {
background: radial-gradient(circle,
rgba(99, 102, 241, 0.6) 0%,
rgba(99, 102, 241, 0.2) 60%,
transparent 100%);
opacity: 0.8;
}
.glasnost-toggle-button.svelte-1owfq1:hover .knob-inner:where(.svelte-1owfq1) {
opacity: 1;
transform: translate(-50%, -50%) scale(1.1);
}
/* Knob shine effect */
.knob-shine.svelte-1owfq1 {
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(255, 255, 255, 0.6) 50%,
transparent 100%);
border-radius: inherit;
transition: left 0.4s ease;
pointer-events: none;
}
.glasnost-toggle-button.svelte-1owfq1:hover .knob-shine:where(.svelte-1owfq1) {
left: 100%;
}
/* Toggle label */
.toggle-label.svelte-1owfq1 {
font-size: var(--label-size);
font-weight: 600;
color: rgba(255, 255, 255, 0.92);
letter-spacing: 0.025em;
transition: all 0.3s ease;
}
.glasnost-toggle-button.svelte-1owfq1:hover .toggle-label:where(.svelte-1owfq1) {
color: rgba(255, 255, 255, 0.98);
}
/* Focus states */
.toggle-input.svelte-1owfq1:focus-visible + .toggle-track:where(.svelte-1owfq1) {
outline: 2px solid rgba(255, 255, 255, 0.6);
outline-offset: 3px;
}
/* Active state */
.glasnost-toggle-button.svelte-1owfq1:active .toggle-knob:where(.svelte-1owfq1) {
transform: scale(0.95);
filter: url(#shimmerEffect);
}
.toggle-button--checked.glasnost-toggle-button.svelte-1owfq1:active .toggle-knob:where(.svelte-1owfq1) {
transform: translateX(var(--knob-travel)) scale(0.95);
}
/* Disabled state enhancements */
.toggle-button--disabled.svelte-1owfq1 .toggle-track:where(.svelte-1owfq1) {
background: rgba(255,255,255,0.3);
border: 1.5px solid rgba(200,200,200,0.7);
opacity: 0.7;
}
.toggle-button--disabled.svelte-1owfq1 .toggle-knob:where(.svelte-1owfq1) {
background: rgba(255,255,255,0.7);
border: 1.5px solid rgba(200,200,200,0.7);
opacity: 0.8;
}
.toggle-button--disabled.svelte-1owfq1 .toggle-shine:where(.svelte-1owfq1),
.toggle-button--disabled.svelte-1owfq1 .knob-shine:where(.svelte-1owfq1),
.toggle-button--disabled.svelte-1owfq1 .toggle-track-overlay:where(.svelte-1owfq1),
.toggle-button--disabled.svelte-1owfq1 .toggle-liquid-distortion:where(.svelte-1owfq1) {
display: none;
}
/* Size variants using CSS custom properties */
.toggle-button--small.svelte-1owfq1 {
--track-width: 40px;
--track-height: 22px;
--label-size: 0.85rem;
--gap-size: 0.75rem;
gap: var(--gap-size);
}
.toggle-button--medium.svelte-1owfq1 {
--track-width: 64px;
--track-height: 36px;
--label-size: 0.95rem;
--gap-size: 1rem;
gap: var(--gap-size);
}
.toggle-button--large.svelte-1owfq1 {
--track-width: 88px;
--track-height: 48px;
--label-size: 1.15rem;
--gap-size: 1.25rem;
gap: var(--gap-size);
}
/* Variant styles */
.toggle-button--primary.toggle-button--checked.svelte-1owfq1 .toggle-track:where(.svelte-1owfq1) {
background: linear-gradient(135deg,
rgba(99, 102, 241, 0.4) 0%,
rgba(67, 56, 202, 0.3) 100%);
border-color: rgba(99, 102, 241, 0.5);
}
.toggle-button--primary.toggle-button--checked.svelte-1owfq1 .toggle-track-overlay:where(.svelte-1owfq1) {
background: radial-gradient(circle at 70% 50%,
rgba(99, 102, 241, 0.3) 0%,
transparent 70%);
}
.toggle-button--primary.toggle-button--checked.glasnost-toggle-button.svelte-1owfq1:hover .toggle-track:where(.svelte-1owfq1) {
border-color: rgba(99, 102, 241, 0.6);
box-shadow:
inset 0 2px 8px rgba(99, 102, 241, 0.25),
0 8px 25px rgba(99, 102, 241, 0.4),
inset 0 2px 0 rgba(255, 255, 255, 0.5);
}
.toggle-button--secondary.toggle-button--checked.svelte-1owfq1 .toggle-track:where(.svelte-1owfq1) {
background: linear-gradient(135deg,
rgba(107, 114, 128, 0.4) 0%,
rgba(75, 85, 99, 0.3) 100%);
border-color: rgba(107, 114, 128, 0.5);
}
.toggle-button--secondary.toggle-button--checked.svelte-1owfq1 .toggle-track-overlay:where(.svelte-1owfq1) {
background: radial-gradient(circle at 70% 50%,
rgba(107, 114, 128, 0.3) 0%,
transparent 70%);
}
.toggle-button--secondary.toggle-button--checked.glasnost-toggle-button.svelte-1owfq1:hover .toggle-track:where(.svelte-1owfq1) {
border-color: rgba(107, 114, 128, 0.6);
box-shadow:
inset 0 2px 8px rgba(107, 114, 128, 0.25),
0 8px 25px rgba(107, 114, 128, 0.4),
inset 0 2px 0 rgba(255, 255, 255, 0.5);
}
.toggle-button--accent.toggle-button--checked.svelte-1owfq1 .toggle-track:where(.svelte-1owfq1) {
background: linear-gradient(135deg,
rgba(236, 72, 153, 0.4) 0%,
rgba(190, 24, 93, 0.3) 100%);
border-color: rgba(236, 72, 153, 0.5);
}
.toggle-button--accent.toggle-button--checked.svelte-1owfq1 .toggle-track-overlay:where(.svelte-1owfq1) {
background: radial-gradient(circle at 70% 50%,
rgba(236, 72, 153, 0.3) 0%,
transparent 70%);
}
.toggle-button--accent.toggle-button--checked.glasnost-toggle-button.svelte-1owfq1:hover .toggle-track:where(.svelte-1owfq1) {
border-color: rgba(236, 72, 153, 0.6);
box-shadow:
inset 0 2px 8px rgba(236, 72, 153, 0.25),
0 8px 25px rgba(236, 72, 153, 0.4),
inset 0 2px 0 rgba(255, 255, 255, 0.5);
}
.toggle-button--accent.toggle-button--checked.svelte-1owfq1 .knob-inner:where(.svelte-1owfq1) {
background: radial-gradient(circle,
rgba(236, 72, 153, 0.6) 0%,
rgba(236, 72, 153, 0.2) 60%,
transparent 100%);
}
/* Responsive design */
@media (max-width: 768px) {
.toggle-button--small.svelte-1owfq1 {
--track-width: 32px;
--track-height: 18px;
--label-size: 0.8rem;
--gap-size: 0.5rem;
}
.toggle-button--medium.svelte-1owfq1 {
--track-width: 48px;
--track-height: 28px;
--label-size: 0.875rem;
--gap-size: 0.75rem;
}
.toggle-button--large.svelte-1owfq1 {
--track-width: 64px;
--track-height: