/* Explain: Base reset, typography, and global styles for the site. */
* {
    box-sizing: border-box;
}

html {
    background: var(--background-color);
    color: var(--text-color);
    scroll-padding-top: 92px;
}

body {
    margin: 0;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 12% 18%, rgba(0, 166, 180, 0.15), transparent 26rem),
        radial-gradient(circle at 88% 8%, rgba(8, 18, 38, 0.10), transparent 24rem),
        var(--background-color);
    color: var(--text-color);
    font-family: var(--font-body);
    text-rendering: optimizeLegibility;
}

button,
a,
select {
    cursor: pointer;
}

img {
    display: block;
    max-width: 100%;
}

::selection {
    background: var(--accent-color);
    color: #ffffff;
}

#print-area {
    display: none;
}

@media print {
    body > *:not(#print-area) {
        display: none !important;
    }
    #print-area {
        display: flex !important;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100vh;
        background: white;
        align-items: center;
        justify-content: center;
    }
    html, body {
        background: white !important;
        margin: 0;
        padding: 0;
    }
}
