:root {
    --lightcolor: #efefef;
    --green-900: #22543d;
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: #ffffff;
    font-family: 'Inter', 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

@media (prefers-color-scheme: dark) {
    body {
        background-color: #111827;
    }
}

a {
    transition: all 0.2s ease;
}

.layoutfooter, .layoutfooter a {
    color: #888;
}

.cbsitehover {
    height: 100%;
    width: 100%;
    transition: all 0.5s ease;
}
    .cbsitehover2 {
        overflow: hidden;
    }
    .cbsitehover:hover {
        transform: scale(1.15);
    }

.ccdiscordjoin {
    display: inline-block;
    position: relative;
    transition: 0.5s;
}
    .ccdiscordjoin:after {
        content: '\25B8';
        position: absolute;
        opacity: 0;
        top: 0;
        right: -20px;
        transition: 0.5s;
    }
    button.ccdiscordjoinpre:hover span {
    padding-right: 20px;
    }
    button.ccdiscordjoinpre:hover .ccdiscordjoin:after {
        opacity: 1;
        right: 0;
    }

/* Prose Styling for Content Pages */
.prose {
    color: #374151;
    max-width: 65ch;
}

.prose h1 {
    color: #111827;
    font-weight: 800;
    font-size: 2.25em;
    margin-top: 0;
    margin-bottom: 0.8888889em;
    line-height: 1.1111111;
}

.prose h2 {
    color: #111827;
    font-weight: 700;
    font-size: 1.5em;
    margin-top: 2em;
    margin-bottom: 1em;
    line-height: 1.3333333;
}

.prose h3 {
    color: #111827;
    font-weight: 600;
    font-size: 1.25em;
    margin-top: 1.6em;
    margin-bottom: 0.6em;
    line-height: 1.6;
}

.prose p {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
}

.prose a {
    color: #2563eb;
    text-decoration: underline;
    font-weight: 500;
}

.prose a:hover {
    color: #1d4ed8;
}

.prose strong {
    color: #111827;
    font-weight: 600;
}

.prose ul {
    list-style-type: disc;
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-left: 1.625em;
}

.prose li {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.prose code {
    color: #111827;
    font-weight: 600;
    font-size: 0.875em;
    background-color: #f3f4f6;
    padding: 0.2em 0.4em;
    border-radius: 0.25rem;
}

.prose pre {
    background-color: #1f2937;
    color: #e5e7eb;
    overflow-x: auto;
    font-size: 0.875em;
    line-height: 1.7142857;
    margin-top: 1.7142857em;
    margin-bottom: 1.7142857em;
    border-radius: 0.375rem;
    padding: 0.8571429em 1.1428571em;
}

.prose pre code {
    background-color: transparent;
    border-width: 0;
    border-radius: 0;
    padding: 0;
    font-weight: inherit;
    color: inherit;
    font-size: inherit;
}

/* Dark mode prose */
@media (prefers-color-scheme: dark) {
    .prose {
        color: #d1d5db;
    }
    
    .prose h1, .prose h2, .prose h3, .prose strong {
        color: #f9fafb;
    }
    
    .prose a {
        color: #60a5fa;
    }
    
    .prose a:hover {
        color: #93c5fd;
    }
    
    .prose code {
        color: #f9fafb;
        background-color: #374151;
    }
}

#snackbar {
    visibility: hidden;
    min-width: 8em;
    margin-left: -4em;
    text-align: center;
    position: fixed;
    z-index: 30;
    left: 50%;
    bottom: 30px;
}
    #snackbar.show {
        visibility: visible;
        -webkit-animation: fadein 0.5s, fadeout 0.5s 2s;
        animation: fadein 0.5s, fadeout 0.5s 2s;
    }
    @-webkit-keyframes fadein {
        from {bottom: 0; opacity: 0;} 
        to {bottom: 30px; opacity: 1;}
    }
    @keyframes fadein {
        from {bottom: 0; opacity: 0;}
        to {bottom: 30px; opacity: 1;}
    }
    @-webkit-keyframes fadeout {
        from {bottom: 30px; opacity: 1;} 
        to {bottom: 0; opacity: 0;}
    }
    @keyframes fadeout {
        from {bottom: 30px; opacity: 1;}
        to {bottom: 0; opacity: 0;}
    }