:root {
    --bg: #0b1020;
    --bg-glow: #1a2340;
    --text: #e8ecf5;
    --muted: #8a93ad;
    --glow: #f5d76e;
}

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

html,
body {
    height: 100%;
}

body {
    display: grid;
    place-items: center;
    overflow: hidden;
    background: radial-gradient(ellipse at 50% 120%, var(--bg-glow), var(--bg) 70%);
    color: var(--text);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    text-align: center;
}

main {
    position: relative;
    z-index: 1;
    padding: 0 16px;
}

h1 {
    font-size: clamp(2.2rem, 8vw, 4.5rem);
    font-weight: 300;
    letter-spacing: 0.02em;
}

.dot {
    color: var(--glow);
    text-shadow: 0 0 12px var(--glow);
}

.soon {
    margin-top: 0.75rem;
    color: var(--muted);
    font-size: 1.1rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
}

.mail {
    display: inline-block;
    margin-top: 2.5rem;
    color: var(--glow);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}

.mail:hover,
.mail:focus-visible {
    border-bottom-color: var(--glow);
}

.sky span {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--glow);
    box-shadow: 0 0 10px 2px var(--glow);
    opacity: 0;
    animation: flicker 6s ease-in-out infinite, drift 18s ease-in-out infinite alternate;
}

.sky span:nth-child(1) { top: 18%; left: 12%; animation-delay: 0s, 0s; }
.sky span:nth-child(2) { top: 72%; left: 20%; animation-delay: 1.2s, -3s; }
.sky span:nth-child(3) { top: 35%; left: 85%; animation-delay: 2.4s, -6s; }
.sky span:nth-child(4) { top: 80%; left: 70%; animation-delay: 0.6s, -9s; }
.sky span:nth-child(5) { top: 12%; left: 60%; animation-delay: 3.6s, -2s; }
.sky span:nth-child(6) { top: 55%; left: 6%; animation-delay: 4.2s, -11s; }
.sky span:nth-child(7) { top: 62%; left: 92%; animation-delay: 1.8s, -5s; }
.sky span:nth-child(8) { top: 88%; left: 45%; animation-delay: 5s, -7s; }
.sky span:nth-child(9) { top: 25%; left: 35%; animation-delay: 2.9s, -13s; }
.sky span:nth-child(10) { top: 45%; left: 75%; animation-delay: 4.8s, -1s; }
.sky span:nth-child(11) { top: 8%; left: 88%; animation-delay: 0.3s, -15s; }
.sky span:nth-child(12) { top: 92%; left: 10%; animation-delay: 3.3s, -4s; }

@keyframes flicker {
    0%, 100% { opacity: 0; }
    40%, 60% { opacity: 0.9; }
}

@keyframes drift {
    from { transform: translate(0, 0); }
    to { transform: translate(40px, -60px); }
}

@media (prefers-reduced-motion: reduce) {
    .sky span {
        animation: none;
        opacity: 0.6;
    }
}
