@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    src: url("/assets/fonts/inter-v20-latin_latin-ext-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

:root {
    --bg-primary: #ffffff;

    --text-primary: #000000;
    --text-secondary: #1a1a1a;

    --link: #4d4dff;

    --border-primary: #000000;
    --border-bottom: #3d444d;
}

[data-theme="dark"] {
    --bg-primary: #1a1a1a;

    --text-primary: #ffffff;
    --text-secondary: #e0e0e0;

    --link: #88a3e8;

    /* --border-primary: #807777; */
    --border-primary: #ffffff;
    --border-bottom: #d1d9e0b3;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    word-wrap: break-word;
}

a {
    text-decoration: none;
    color: var(--link);
}
a:hover {
    text-decoration: underline;
}

body {
    font-family: "Inter", system-ui, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    max-width: 75ch;
    padding: 0 1rem;
    margin: 0 auto;
    background-color: var(--bg-primary);
    color: var(--text-primary);
}

img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
    margin: 0 auto;
    padding: 0.5rem;
}

li {
    list-style: none;
}

button {
    cursor: pointer;
    background: none;
    border: 0;
    padding: 0;
}

/* # HEADER */
header {
    padding: 1.25rem 0;
    display: flex;
    justify-content: end;
    border-bottom: 2px solid var(--border-primary);
}

/* theme switch */
.theme-switch {
    position: relative;
}

.theme-switch button {
    color: var(--text-primary);
    background: none;
    border: 0;
    padding: 0;
    width: fit-content;
    display: flex;
    align-items: center;
    column-gap: 0.25rem;
}

.theme-switch .dropdown {
    padding: 0.75rem;
    background-color: var(--bg-primary);
    width: max-content;
    position: absolute;
    top: 100%;
    right: 0;
}

.theme-switch .dropdown li {
    margin-top: 0.75rem;
}

.theme-switch svg {
    pointer-events: none;
    width: 24px;
    fill: var(--text-primary);
}

/* # MAIN */
main {
    margin-top: 1rem;
}

/* Utility classes */
.hidden {
    display: none;
}

.visible {
    display: block;
}
