/* Import order matters: later files may override earlier ones, never the reverse.
   @import must come before all other rules per CSS spec. */
@import "style-layout.css";
@import "style-components.css";
@import "style-public.css";

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

:root {
    /* Status colours — one green, one yellow, one red */
    --color-success-rgb: 176, 232, 200;
    --color-success: #1ad26a;
    --color-warning-rgb: 245, 232, 168;
    --color-warning: #fce054;
    --color-error-rgb: 240, 176, 176;
    --color-error: #f0b0b0;

    /* Primary blue — charts, highlights */
    --color-primary-rgb: 96, 165, 250;
    --color-primary: #60a5fa;

    /* Grays — light-theme public pages (winners, about, home) */
    --color-gray-900: #1a1a1a; /* x24 — dark text, headings, links, button bg, login/auth page bg, select option bg */
    --color-gray-600: #4b5563; /* x9 — body text, nav links, step descriptions, card excerpts, footer hover, legal links */
    --color-gray-400: #9ca3af; /* x6 — muted metadata, footer links, card dates, empty states */
    --color-gray-200: #e5e7eb; /* x7 — all light borders (cards, buttons, nav, footer) */

    /* Dark-theme text opacity */
    --text-bright: rgba(255, 255, 255, 0.9);
    --text-mid: rgba(255, 255, 255, 0.7);
    --text-dim: rgba(255, 255, 255, 0.5);

    /* Core neutrals */
    --color-white: #fff;       /* x52 — white text on dark theme, white bg on light theme */
    --color-bg-page: #150404;  /* x1 — html background (dark maroon) */

    /* Light-theme one-offs */
    --color-badge-bg: #dbeafe; /* x1 — card-badge bg (public page article tag) */
    --color-badge-text: #2563eb; /* x1 — card-badge text */
}

html {
    background-color: var(--color-bg-page);
    overflow-y: scroll;
}

body {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    min-height: 100vh;
}
