/**
    * CORE CONGFIG
    * Allows the enabling/disabling of pre-built
    * components and utilities.
*/

*,
*::before,
*::after {
    box-sizing: border-box;
    font-family: sans-serif;
}

/* Remove default margin. */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

/* Remove list styles on ul and ol elements with a list role. */
ul[role = "list"],
ol[role = "list"] {
    list-style: none;
    padding: 0;
}

/* Set core root defaults. */
html:focus-within {
    scroll-behavior: smooth;
}

/* Set core body defaults. */
body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    letter-spacing: -0.01em;
}

/* All elements that don't have a class get default styles. */
a:not([class]) {
    text-decoration-skip-ink: auto;
}

/* Make images easier to work with. */
img,
picture {
    max-width: 100%;
    display: block;
}

/* Inherit fonts for inputs and buttons. */
input,
button,
textarea,
select {
    font: inherit;
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
}

:focus {
    outline: 2px dashed #00ff19;
    outline-offset: 0.25rem;
}

main:focus {
    outline: none;
}