/* =======================
   Root Colors & Fonts
   ======================= */
:root {
    --bg: #000;
    --fg: #fff;
    --muted: #9a9a9a;
    --accent: #bdbdbd;
    --fg-rgb: 255, 255, 255;
    --border-light: rgba(255, 255, 255, 0.04);
    --card-bg: transparent;
    --card-shadow: none;
    --gap: 18px;
    --border-separator: rgba(255, 255, 255, 0.1);

    /* Typography */
    --font-family:
        -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
        Cantarell, sans-serif;
    --font-size-base: 16px;
    --font-size-small: 13px;
    --font-size-xsmall: 12px;
    --font-size-h1: 24px;
    --font-size-h2: 1.5rem;

    /* Spacing */
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 12px;
    --spacing-lg: 16px;
    --spacing-xl: 18px;
    --spacing-xxl: 24px;
    --spacing-xxxl: 36px;

    /* Border radius */
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;

    /* Container */
    --container-width: 100%;
    --container-max-width: 1200px;
    --container-padding-desktop: 32px;
    --container-padding-mobile: 18px;
}

/* Light / Grayscale Mode */
@media (prefers-color-scheme: light) {
    :root {
        --bg: #fff;
        --fg: #111;
        --muted: #555;
        --accent: #888;
        --fg-rgb: 17, 17, 17;
        --border-light: rgba(0, 0, 0, 0.04);
        --card-bg: transparent;
        --card-shadow: none;
        --border-separator: rgba(0, 0, 0, 0.1);
    }
}

/* Base Typography */
html {
    font-size: var(--font-size-base);
    font-family: var(--font-family);
    box-sizing: border-box;
    height: 100%;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    min-height: 100%;
    overflow-y: auto;
    display: block;
}

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

/* Fix for iOS Safari 100vh issue */
@supports (-webkit-touch-callout: none) {
    body,
    html {
        height: -webkit-fill-available;
    }
}
