@import url('https://fonts.googleapis.com/css2?family=Geist:wght@100..900&display=swap');

*,
::before,
::after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
}

body {
    font-family: "Geist", sans-serif;
    background: oklch(14.5% 0 0);
    color: oklch(92.2% 0 0);
}

main {
    width: 100%;
    display: flex;
    justify-content: center;
    padding-top: 6rem;
}

.content {
    width: 100%;
    max-width: 720px;
}

.header {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
}

h1 {
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
    max-width: 20ch;
    line-height: 1.2;
    margin-bottom: 1.2rem;
}

p {
    font-size: 1rem;
    max-width: 40ch;
    text-align: center;
    line-height: 1.45;
    color: oklch(70.8% 0 0);
}

.statusline {
    width: 100%;
    display: flex;
    align-items: center;
    display: none;
}

.statusline p {
    color: oklch(87% 0 0);
    max-width: 100%;
}

.status-dot {
    display: inline-block;
    width: 0.7rem;
    height: 0.7rem;
    background: green;
    border-radius: 50%;
    margin-right: 1.5rem;
}

.statusline.error .status-dot {
    background: red;
}

#dropzone {
    width: 100%;
    background: oklch(14.5% 0 0);
    border: 1px dashed oklch(55.6% 0 0);
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8rem 2rem;
    cursor: pointer;
    margin-top: 4rem;
}

#dropzone.over {
    background: oklch(37.2% 0.044 257.287);
    border-color: oklch(70.8% 0 0);
}

.dropzone-inner {
    display: flex;
    flex-direction: column;
}

.upload-icon {
    text-align: center;
}

#upload {
    display: none;
}
