special-pages/pages/duckplayer/app/components/YouTubeError.module.css
.error {
    --youtube-error-background-color: #141414;
    --youtube-error-text-color: #fff;
    --youtube-error-text-color-secondary: #ccc;

    align-items: center;
    background: var(--youtube-error-background-color);
    display: grid;
    height: 100%;
    justify-items: center;
}

.error.desktop {
    height: var(--frame-height);
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.error.mobile {
    border-radius: var(--inner-radius);
    height: 100%;
    overflow: auto;

    /* Prevents automatic text resizing */
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;

    @media screen and (min-width: 600px) and (min-height: 600px) {
        aspect-ratio: 16 / 9;
    }
}

.desktop {
    border-top-left-radius: var(--outer-radius);
    border-top-right-radius: var(--outer-radius);
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.container {
    column-gap: 24px;
    display: flex;
    flex-flow: row;
    margin: 0;
    max-width: 680px;
    padding: 0 40px;
    row-gap: 4px;
}

.mobile .container {
    flex-flow: column;
    padding: 0 24px;

    @media screen and (min-height: 320px) {
        margin: 16px 0;
    }

    @media screen and (min-width: 375px) and (min-height: 400px) {
        margin: 36px 0;
    }
}

.content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 16px 0;

    @media screen and (min-width: 600px) {
        margin: 24px 0;
    }
}


.icon {
    align-self: center;
    display: flex;
    justify-content: center;

    &::before {
        content: ' ';
        display: block;
        background: url('../img/warning-96.data.svg') no-repeat;
        height: 96px;
        width: 96px;
    }

    @media screen and (max-width: 320px) {
        display: none;
    }

    @media screen and (min-width: 600px) and (min-height: 600px) {
        justify-content: start;

        &::before {
            background-image: url('../img/warning-128.data.svg');
            height: 96px;
            width: 128px;
        }
    }
}

.heading {
    color: var(--youtube-error-text-color);
    font-size: 20px;
    font-weight: 700;
    line-height: calc(24 / 20);
    margin: 0;
}

.messages {
    color: var(--youtube-error-text-color-secondary);
    font-size: 16px;
    line-height: calc(24 / 16);
}

div.messages {
    display: flex;
    flex-direction: column;
    gap: 24px;

    & p {
        margin: 0;
    }
}

p.messages {
    margin: 0;
}

ul.messages {
    li {
        list-style: disc;
        margin-left: 24px;
    }
}

.buttons {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.buttons .spacer {
    flex: 0 0 16px;
}