@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&display=swap');

:root {
    --background: #333333;
    --foreground: #f2f0eb;
    --muted: rgba(242, 240, 235, 0.55);
}

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

html,
body {
    width: 100%;
    min-height: 100%;
}

body {
    background: var(--background);
    color: var(--foreground);
    font-family: "Fira Code", monospace;
}

.landing {
    position: relative;
    min-height: 100svh;
    overflow: hidden;
}

.hero {
    min-height: 100svh;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    padding: 80px 24px;
    text-align: center;
}

.wordmark {
    display: block;
    width: min(520px, 72vw);
    height: auto;

    opacity: 0;
    transform: translateY(8px);

    animation: reveal 0.8s ease-out 0.15s forwards;
}

.tagline {
    margin-top: 18px;

    font-size: 0.72rem;
    letter-spacing: 0.28em;

    opacity: 0;

    animation: reveal 0.8s ease-out 0.35s forwards;
}

.star {
    width: 34px;
    height: 34px;

    margin: 52px 0;

    animation:
        reveal 0.8s ease-out 0.55s both,
        breathe 5s ease-in-out 1.4s infinite;
}

.status {
    font-size: 0.65rem;
    line-height: 1.8;
    letter-spacing: 0.08em;

    color: var(--muted);

    opacity: 0;

    animation: reveal 0.8s ease-out 0.7s forwards;
}

.status span {
    color: var(--foreground);
}

.coming-soon {
    margin-top: 26px;

    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.24em;

    opacity: 0;

    animation: reveal 0.8s ease-out 0.9s forwards;
}

.system {
    position: absolute;

    display: flex;
    flex-direction: column;
    gap: 5px;

    z-index: 10;

    color: var(--muted);

    font-size: 0.55rem;
    letter-spacing: 0.08em;
}

.top-left {
    top: 28px;
    left: 32px;
}

.top-right {
    top: 28px;
    right: 32px;
    text-align: right;
}

.bottom-left {
    bottom: 28px;
    left: 32px;
}

.bottom-right {
    bottom: 28px;
    right: 32px;
    text-align: right;
}

@keyframes reveal {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes breathe {
    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.12);
        opacity: 0.65;
    }
}

@media (max-width: 600px) {

    .wordmark {
        width: min(82vw, 420px);
    }

    .star {
        margin: 42px 0;
    }

    .system {
        font-size: 0.48rem;
    }

    .top-left,
    .bottom-left {
        left: 18px;
    }

    .top-right,
    .bottom-right {
        right: 18px;
    }

    .top-left,
    .top-right {
        top: 18px;
    }

    .bottom-left,
    .bottom-right {
        bottom: 18px;
    }

}