/* Shared colors, sizes, fonts, browser defaults, and page themes. */
@font-face {
    font-family: "general-sans";
    src: url("../fonts/general-sans-light.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "general-sans";
    src: url("../fonts/general-sans-medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "general-sans";
    src: url("../fonts/general-sans-heavy.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

:root {
    --site-max-width: clamp(75rem, 80vw, 100rem);
    --navbar-height: 0px;
    --color-ink: #000000;
    --color-contrast: #ffffff;
    --color-surface: rgba(255, 255, 255, 0.85);
    --focus-outline: rgba(0, 0, 0, 0.35);
    --border-thin: 1px solid var(--color-ink);
    --border-strong: 2px solid var(--color-ink);
    --border-active: 2px solid var(--color-contrast);
    --radius-sm: 0.35rem;
    --radius-md: clamp(0.5rem, 1vw, 0.625rem);
    --edge-highlight: inset 0 0.0625rem 0 rgba(255, 255, 255, 0.4);
    --edge-shadow: inset 0 -0.0625rem 0 rgba(0, 0, 0, 0.16);
}

html {
    font-size: 1rem;
    box-sizing: border-box;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    min-height: 100vh;

    margin: 0;

    font-family: "general-sans", system-ui, sans-serif;
}

body > header {
    min-height: var(--navbar-height);
}

body[data-color-scheme="dark"] {
    background-color: #000000;
}

body[data-color-scheme="tank"] {
    background-color: #465b70;
    background-image: url("../images/tradetank-tank.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

body[data-color-scheme="dark"] .navbar {
    border-bottom-color: #ffffff;
}

body[data-color-scheme="dark"] .main-container {
    border-color: #ffffff;
}

body[data-color-scheme="dark"] .footer {
    border-top-color: #ffffff;
}

main {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
}
