* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #0a0a0f;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    overflow: hidden;
    position: relative;
}

.bg-grid {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='34.64'%3E%3Cpath d='M20,0 L10,17.32 L-10,17.32 L-20,0 L-10,-17.32 L10,-17.32Z' fill='none' stroke='rgba(255,255,255,0.02)' stroke-width='1'/%3E%3Cpath d='M50,17.32 L40,34.64 L20,34.64 L10,17.32 L20,0 L40,0Z' fill='none' stroke='rgba(255,255,255,0.02)' stroke-width='1'/%3E%3Cpath d='M80,0 L70,17.32 L50,17.32 L40,0 L50,-17.32 L70,-17.32Z' fill='none' stroke='rgba(255,255,255,0.02)' stroke-width='1'/%3E%3Cpath d='M20,34.64 L10,51.96 L-10,51.96 L-20,34.64 L-10,17.32 L10,17.32Z' fill='none' stroke='rgba(255,255,255,0.02)' stroke-width='1'/%3E%3Cpath d='M80,34.64 L70,51.96 L50,51.96 L40,34.64 L50,17.32 L70,17.32Z' fill='none' stroke='rgba(255,255,255,0.02)' stroke-width='1'/%3E%3Cpath d='M50,-17.32 L40,0 L20,0 L10,-17.32 L20,-34.64 L40,-34.64Z' fill='none' stroke='rgba(255,255,255,0.02)' stroke-width='1'/%3E%3C/svg%3E");
    background-size: 75px 43.3px;
    mask-image: radial-gradient(ellipse 60% 50% at 50% 50%, black 20%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 60% 50% at 50% 50%, black 20%, transparent 100%);
}

.bg-glow {
    position: absolute;
    width: 600px;
    height: 600px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(189, 0, 189, 0.08) 0%, transparent 70%);
    animation: glow-pulse 6s ease-in-out infinite;
    pointer-events: none;
}

@keyframes glow-pulse {
    0%, 100% { opacity: 0.6; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 1; transform: translate(-50%, -50%) scale(1.15); }
}

.logo-container {
    position: relative;
    z-index: 1;
    width: min(420px, 80vw);
    filter: drop-shadow(0 0 30px rgba(189, 0, 189, 0.5));
}

canvas#particles {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}
