/* assets/styles/tokens.css */

/* 
  THE HYDRO ROOM - DESIGN TOKENS (v1.0)
  Centralized Source of Truth for Design Properties.
  Supersedes variables.css.
*/

/* Typography is intentionally system-first for a strict Swiss look */

:root {
    /* --- 1. TYPOGRAPHY SYSTEM --- */

    /* Font Families */
    --font-main: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --font-mono: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --font-primary: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --font-secondary: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --font-display: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --font-header: 'Helvetica Neue', Helvetica, Arial, sans-serif;

    /* Font Weights */
    --font-light: 300;
    --font-regular: 400;
    --font-medium: 500;
    --font-bold: 700;
    --font-black: 900;

    /* Text Sizes (Scale) */
    --text-2xs: 10px;
    /* [NEW] Detailed metadata */
    --text-xs: 12px;
    /* Standard small text */
    --text-sm: 14px;
    /* UI elements */
    --text-base: 16px;
    /* Body copy (Browser Default) */
    --text-md: 18px;
    /* Subtitles */
    --text-lg: 24px;
    /* Section Headers */
    --text-xl: 32px;
    /* Page Titles */
    --text-2xl: 48px;
    /* Hero Titles */
    --text-hero: 4rem;
    /* Massive Display */

    /* Line Heights (Leading) */
    --lh-tight: 1.1;
    --lh-base: 1.5;
    --lh-loose: 1.8;

    /* Letter Spacing (Tracking) */
    --ls-tight: -0.02em;
    --ls-tighter: -0.05em;
    --ls-base: 0em;
    --ls-wide: 0.05em;
    --ls-wider: 0.1em;

    /* --- 2. SPACING SYSTEM (8pt Grid Base) --- */
    --space-2xs: 4px;
    --space-xs: 8px;
    --space-sm: 16px;
    --space-md: 24px;
    /* Relaxed standard gap */
    --space-lg: 32px;
    --space-xl: 48px;
    --space-2xl: 64px;
    --space-3xl: 96px;
    /* Section separation */
    --space-4xl: 128px;

    /* Contextual Spacing */
    --gutter: 20px;
    /* Mobile edge padding */
    --gutter-md: 40px;
    /* Desktop edge padding */
    --header-height: 60px;
    --nav-height: 80px;
    /* Bottom Nav */

    /* --- 3. LAYOUT SYSTEM --- */
    --container-width-narrow: 600px;
    /* Reading / Forms */
    --container-width-std: 1200px;
    /* Standard Grid */
    --container-width-max: 1400px;
    /* Archive Index / Wide Tables */

    /* --- 4. Z-INDEX LAYERS --- */
    --z-canvas: 0;
    --z-content: 10;
    --z-nav: 100;
    --z-overlay: 500;
    --z-modal: 1000;
    --z-toast: 2000;

    /* --- 5. COLOR SYSTEM --- */

    /* Base Colors */
    --color-white: #FFFFFF;
    --color-black: #000000;
    --color-glass-border-light: rgba(0, 0, 0, 0.1);
    --color-glass-border-dark: rgba(255, 255, 255, 0.15);

    /* Fixed Brand Colors (Lava Lamp - DO NOT TOUCH) */
    --fixed-orange: #FF2200;
    --fixed-orange-core: #FF6600;
    --lava-core: #FF9E38;
    --lava-edge: #FF6600;
    --lava-bg-light: #F5F5F7;
    --lava-bg-dark: #1A1816;
}

/* --- 6. THEME CONFIGURATION --- */

/* LIGHT MODE */
:root,
[data-theme="light"] {
    --bg-color: #FFFFFF;
    --bg-color-rgb: 255, 255, 255;
    --text-color: #000000;
    --text-color-rgb: 0, 0, 0;
    --text-muted: #666666;
    --text-inverse: #FFFFFF;

    /* Glass UI */
    --glass-bg: rgba(255, 255, 255, 0.4);
    --glass-container-bg: rgba(255, 255, 255, 0.6);
    --glass-border: var(--color-glass-border-light);
    --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    --glass-blur: blur(25px);
    --glass-hover: rgba(0, 0, 0, 0.05);

    /* Footer */
    --footer-bg: rgba(255, 255, 255, 0.6);
}

/* DARK MODE */
[data-theme="dark"] {
    --bg-color: #0A0908;
    --bg-color-rgb: 10, 9, 8;
    --text-color: #FFFFFF;
    --text-color-rgb: 255, 255, 255;
    --text-muted: #999999;
    --text-inverse: #000000;

    /* Glass UI */
    --glass-bg: rgba(0, 0, 0, 0.4);
    --glass-container-bg: rgba(0, 0, 0, 0.5);
    --glass-border: var(--color-glass-border-dark);
    --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    --glass-blur: blur(25px);
    --glass-hover: rgba(255, 255, 255, 0.05);

    /* Footer */
    --footer-bg: rgba(0, 0, 0, 0.4);
}

/* Theme switch smoothing (applies only during manual toggle) */
html.theme-switching *,
html.theme-switching *::before,
html.theme-switching *::after {
    transition-property: color, background, background-color, border-color, box-shadow, text-shadow, fill, stroke, outline-color;
    transition-duration: 520ms;
    transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
