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

header {
    display: flex;
    flex-direction: row;
}

header > * {
    flex: 1;
}

footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100dvw;

    background-color: #121212;

    opacity: 0.05;

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

    font-size: min(0.75em, 20px);
    font-weight: 200;
}

footer > * {
    flex: 1;
}

main {
    display: flow-root;
}

body {
    height: 100svh;

    font-family: "Rubik", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;

    font-size: 20px;

    text-align: center;

    background-color: #121212;
    color: #5967ff;
}

it {
    font-style: italic;
}

input[type="submit"] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;
    height: 40px;
    padding: 6px 24px;
    margin: 4px 0;

    font-weight: 500;
    color: #e3e3e3;

    background: linear-gradient(180deg, #28292a 0%, #1f1f20 100%);

    border: 0;
    border-radius: 24em;
    cursor: pointer;
    outline: none;

    box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.35),
                0 2px 6px rgba(0, 0, 0, 0.4);
    transition: all 0.2s ease;
}

input[type="submit"]::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    border: 1.5px solid rgba(255, 255, 255, 0.6);

    pointer-events: none;
}

input[type="submit"]:hover {
    background: linear-gradient(180deg, #28292a 10%, #1f1f20 90%);
    transform: translateY(-1px);
}

input[type="submit"]:active {
    transform: translateY(0);
}

input[type="text"] {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;

    height: 40px;

    margin: 4px 0;
    padding: 0 16px;

    color: #e3e3e3;

    background: linear-gradient(180deg, #18191a 0%, #1f1f20 100%);

    border: 1.5px solid rgba(255, 255, 255, 0.25);
    outline: none;
    border-radius: 4em;

    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.4),
                      0 1px 0 0 rgba(255, 255, 255, 0.1);
    transition: all 0.2s ease;
}

.title {
    display: block;

    font-size: 1.6em;
    text-align: center;

    padding: 1em;
}

.center-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.center-block > video {
    width: 50dvw;
}

.center-block > *:not(video) {
    flex: 1;
    width: 100dvw;
}


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

.theform {
    flex: 0;
    min-width: 50dvw;

    display: flex;
    flex-direction: column;
    align-items: center;
}

.theform > input[type="submit"] {
    width: auto;
    height: 2em;

    font-size: 1em;

    flex-grow: 0;
}

.riddler {
    max-width: 95dvw;
}

.riddler > p {
    margin: 25px;
    text-align: left;
    line-height: 1.15em;
}

@media screen and (width >= 50rem) {
    .riddler {
        max-width: 50%;
    }

    .riddler > p {
        white-space: pre-line;
    }
}
