:root {
    --background: #0a0a0a;
    --foreground: #ededed;
}

@media (prefers-color-scheme: dark) {
    :root {
        --background: #0a0a0a;
        --foreground: #ededed;
    }
}

html,
body {
    max-width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow-x: hidden;
}

body {
    color: var(--foreground);
    background: var(--background);
    font-family: Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

a {
    color: inherit;
    text-decoration: none;
}

@media (prefers-color-scheme: dark) {
    html {
        color-scheme: dark;
    }
}

@media (prefers-color-scheme: dark) {
    .page {
        --gray-rgb: 255, 255, 255;
        --gray-alpha-200: rgba(var(--gray-rgb), 0.145);
        --gray-alpha-100: rgba(var(--gray-rgb), 0.06);

        --button-primary-hover: #ccc;
        --button-secondary-hover: #1a1a1a;
    }
}

.main {
    display: flex;
    flex-direction: column;
    gap: 16px;
    grid-row-start: 2;
    align-items: center;
}

.main ul {
    align-items: center;
    font-family: var(--font-geist-mono);
    padding-left: 0;
    margin: 0;
    font-size: 24px;
    line-height: 64px;
    letter-spacing: -0.01em;
    list-style-position: inside;
    list-style-type: none;
}

.main li {
    margin-bottom: 8px;
    text-align: center;
}

.main code {
    font-family: inherit;
    background: var(--gray-alpha-100);
    padding: 2px 4px;
    border-radius: 4px;
    font-weight: 600;
}

.ctas {
    display: flex;
    gap: 16px;
    flex-direction: column;
    align-items: center;
}

.ctas button {
    appearance: none;
    border-radius: 128px;
    height: 48px;
    padding: 0 20px;
    border: none;
    border: 1px solid transparent;
    transition:
        background 0.2s,
        color 0.2s,
        border-color 0.2s;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 20px;
    font-weight: 500;
}

.ctas input {
    appearance: none;
    border-radius: 128px;
    height: 48px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 20px;
    font-weight: 500;
    background-color: #2b2a33;
    color: var(--foreground);
}

button.primary {
    background: var(--foreground);
    color: var(--background);
    gap: 8px;
}

input.secondary {
    border-color: var(--gray-alpha-200);
    min-width: 158px;
}

.footer {
    grid-row-start: 3;
    display: flex;
}

.footer a {
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer img {
    flex-shrink: 0;
}

/* Enable hover only on non-touch devices */
@media (hover: hover) and (pointer: fine) {
    button.primary:hover {
        background: var(--button-primary-hover);
        border-color: transparent;
    }

    a.secondary:hover {
        background: var(--button-secondary-hover);
        border-color: transparent;
    }

    .footer a:hover {
        text-decoration: underline;
        text-underline-offset: 4px;
    }
}

@media (max-width: 480px) {
    .main ul {
        font-size: 19px;
    }
    .page {
        padding: 32px;
    }

    .main {
        align-items: center;
    }

    .main ol {
        text-align: center;
    }

    .ctas {
        flex-direction: column;
    }

    .ctas button {
        font-size: 14px;
        height: 40px;
        padding: 0 16px;
    }

    a.secondary {
        min-width: auto;
    }
}

@media (prefers-color-scheme: dark) {
    .logo {
        filter: invert();
    }
}

.image-scroller {
    overflow: hidden;
}

.scroller-content {
    display: flex;
    animation: scroll-left 20s linear infinite;
}

.scroller-content img {
    height: 200px;
    margin-right: 20px; /* spacing between images */
    object-fit: contain;
    border-radius: 15px;
}

/* Keyframe for scrolling effect */
@keyframes scroll-left {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-50%);
    }
}

.page {
    --gray-rgb: 0, 0, 0;
    --gray-alpha-200: rgba(var(--gray-rgb), 0.08);
    --gray-alpha-100: rgba(var(--gray-rgb), 0.05);

    --button-primary-hover: #383838;
    --button-secondary-hover: #f2f2f2;

    grid-template-rows: 20px 1fr 20px;
    align-items: center;
    justify-items: center;
    align-self: center;
    min-height: 100svh;
    max-width: 640px;
    font-family: var(--font-geist-sans);
    padding-top: 40px;
}

.footer {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-block-start: 32px;
    text-align: center;
}

.footer p {
    width: 100%;
}
.footer a {
    justify-content: center;
}
