/* ========= VARIABLES ========= */
@font-face {
    font-family: "Merriweather";
    src: url("/fonts/Merriweather.ttf") format("truetype"),
}
@font-face {
    font-family: "Inter";
    src: url("/fonts/Inter.ttf") format("truetype"),
}

:root {
    /* colors */
    --primary:        #8b34fc;
    --secondary:      #8e24aa;
    --accent:         #ff9800;
    --bg:             #030303;
    --bg-secondary:   #0f0f0f;
    --bg-rgb:         15, 15, 15;
    --bg-accent:      #1f1f1f;
    --text:           #f0f0f0;
    --text-secondary: #aaaaaa;
    --text-title:     #ffffff;
    /* Font Families */
    --font-primary: Inter, sans-serif;
    --font-secondary: Merriweather, sans-serif;
    /* Font Sizes */
    --font-xs: .75rem;
    --font-small: .875rem;
    --font-base: 1rem;
    --font-large: 1.25rem;
    --font-heading: 2rem;
    /* Spacing */
    --space-xs: 8px;
    --space-sm: 16px;
    --space-md: 24px;
    --space-lg: 32px;
    --space-xl: 48px;
    --space-xx: 64px;
    /* Sizes */
    --radius:      .5rem;
    --line-height: 1.5;
}

/* ========= CSS RESET ========= */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-primary);
}
html, body {
    height: 100%;
}
body {
    font-size: var(--font-size);
    line-height: var(--line-height);
    background-color: var(--bg);
    background-image: radial-gradient(#0f0f0f 1px, transparent 0);
    background-size: 13px 13px;
    background-position: -19px -19px;
    color: var(--text);
}
ol, ul {
    list-style: none;
}
a {
    text-decoration: none;
    color: inherit;
}
button, input, select, textarea {
    font: inherit;
    border: none;
    background: transparent;
}
table {
    border-collapse: collapse;
    width: 100%;
}
img {
    /* aspect-ratio: 16/9; */
    width: 100%;
    object-fit: cover;
    display: block;
    height: auto;
    border-radius: var(--radius);
    background-color: var(--bg-accent);
}

/* ========= BASIC TYPOGRAPHY ========= */

h1, h2, h3, h4, h5, h6 {
    color: var(--text-title);
    font-family: var(--font-secondary);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--space-xs);
}
h1         { font-size: var(--font-heading); }
h2         { font-size: 1.5rem; }
h3         { font-size: 1.25rem; }
h4, h5, h6 { font-size: 1rem; }

p {
    margin-bottom: var(--space-xs);
}

a {
    color: var(--primary);
    transition: color 0.3s ease;
}

a:hover {
    color: var(--accent);
}

pre, code {
    font-family: monospace !important;
}
