html {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
    Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;

    --spacing: 3vmin;
    --spacing-small: 1vmin;
    --spacing-big: 5vmin;
    --border-radius: 1vmin;
    --color-primary: #009d89;
    --color-primary-hover: #007466;
    --color-p: #1d1d1b;
    --color-p-light: #6e6e6e;
    --color-bkg: #f8f8f8;
    --color-bkg-dark: #1e1e1e;
}

body {
    line-height: 1.3;
    background-color: var(--color-bkg);
    color: var(--color-p);
    display: flex;
    align-items: center;
    justify-content: center;
}

/**
 * Utils
 */

button {
    background-color: transparent;
    padding: 0;
    border: none;
    cursor: pointer;
    display: inline;
}

.button {
    background-color: var(--color-primary);
    border: none;
    color: #fff;
    padding: 0.8em 1em;
    border-radius: calc(0.7 * var(--border-radius));
    transition: background-color 200ms ease-in-out;
}

.button:hover {
    background-color: var(--color-primary-hover);
}

.list {
    padding-left: 1.5rem;
}

.list li + li {
    margin-top: 0.5em;
}

.icon {
    width: 1em;
}

.link {
    color: var(--color-primary);
    text-decoration: underline;
}

.link:hover {
    color: var(--color-primary-hover);
}


/**
 * Connect Area
 */

.connect-area {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    z-index: 9999;
}

.connect-area:before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: #252525;
    opacity: 0.8;
}

.connect-area__popup {
    position: relative;
    background-color: #fff;
    padding: var(--spacing);
    border-radius: var(--border-radius);
    max-width: 400px;
    width: calc(100% - 2 * var(--spacing));
}

.connect-area__desc {
    margin: var(--spacing) 0;
}

.connect-area__button {
    display: block;
    font-size: 1.3rem;
    margin: var(--spacing-big) auto 0 auto;
}

.connect-area__button-skip {
    display: block;
    margin: var(--spacing-small) auto 0 auto;
}

.connect-area__title {
    display: flex;
    align-items: center;
}

.connect-area__icon {
    margin-right: 0.25em;
}

/**
 * Control Area
 */

.main-content {

}

.main-content__joke p {
    font-size: 4vmin;
    line-height: 1.5;
    text-align: center;
    max-width: 90%;
    margin: 0 auto;
}

.main-content__joke p + p {
    margin-top: 0.75em;
}

.main-content__joke p.description {
    font-style: italic;
    font-size: 3vmin;
}

.main-content__mute {
    position: fixed;
    right: 5vmin;
    top: 5vmin;
    font-size: 5vmin;
}

.main-content__mute-button {
    opacity: 0.6;
    transition: opacity 200ms ease-in-out;
}

.main-content__mute-button:hover {
    opacity: 0.8;
}

.main-content__mute-icon {
    display: block;
}

.main-content__credits {
    width: 100%;
    left: 0;
    bottom: 3vmin;
    padding: 0 3vmin;
    position: fixed;
    font-size: 1.5vmin;
    text-align: center;
    color: var(--color-p-light);
}

.main-content__credits a {
    color: var(--color-primary);
}

.main-content__credits a:hover {
    color: var(--color-primary-hover);
}

/**
 * Components
 */

