:root {
    /* Colors - Light Theme */
    --text: #6b6375;
    --text-h: #08060d;
    --bg: #fff;
    --border: #e5e4e7;
    --code-bg: #f4f3ec;
    --accent: #aa3bff;
    --accent-bg: #aa3bff1a;
    --accent-border: #aa3bff80;
    --social-bg: #f4f3ec80;
    --shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    /* Typography */
    --sans: system-ui, "Segoe UI", Roboto, sans-serif;
    --heading: system-ui, "Segoe UI", Roboto, sans-serif;
    --mono: ui-monospace, Consolas, monospace;
    /* Engine Flags */
    --lightningcss-light: initial;
    --lightningcss-dark:;
    /* Document Settings */
    font: 18px / 145% var(--sans);
    letter-spacing: 0.18px;
    color-scheme: light dark;
    color: var(--text);
    background: var(--bg);
    font-synthesis: none;
    text-rendering: optimizelegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* --- Theme Media Queries --- */

@media (prefers-color-scheme: dark) {
    :root {
        --lightningcss-light:;
        --lightningcss-dark: initial;
        /* Colors - Dark Theme */
        --text: #9ca3af;
        --text-h: #f3f4f6;
        --bg: #16171d;
        --border: #2e303a;
        --code-bg: #1f2028;
        --accent: #c084fc;
        --accent-bg: #c084fc26;
        --accent-border: #c084fc80;
        --social-bg: #2f303a80;
        --shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.25);
    }

    #social .button-icon {
        filter: invert() brightness(2);
    }
}

/* --- Layout Media Queries --- */

@media (width <= 1024px) {
    :root {
        font-size: 16px;
    }
}

/* --- Global Elements & Reset --- */

html,
body,
#root {
    width: 100%;
    max-width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

body {
    margin: 0;
}

/* --- Layout Wrapper --- */

#root {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 1126px;
    max-width: 100%;
    min-height: 100svh;
    margin: 0 auto;
    text-align: center;
    border-inline: 1px solid var(--border);
}

/* --- Typography Styles --- */

h1,
h2 {
    font-family: var(--heading);
    color: var(--text-h);
    font-weight: 500;
}

h1 {
    font-size: 56px;
    letter-spacing: -1.68px;
    margin: 32px 0;
}

@media (width <= 1024px) {
    h1 {
        font-size: 36px;
        margin: 20px 0;
    }
}

h2 {
    font-size: 24px;
    line-height: 118%;
    letter-spacing: -0.24px;
    margin: 0 0 8px;
}

@media (width <= 1024px) {
    h2 {
        font-size: 20px;
    }
}

p {
    margin: 0;
}

code,
.counter {
    font-family: var(--mono);
    color: var(--text-h);
    border-radius: 4px;
    display: inline-flex;
}

code {
    background: var(--code-bg);
    padding: 4px 8px;
    font-size: 15px;
    line-height: 135%;
}
