/**
 * Base styles for landing pages (home and 404)
 * Shared styles to avoid duplication
 */

/* Geist Variable - Main Font */
/* geist-cyrillic-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/fonts/geist-cyrillic-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* geist-latin-ext-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/fonts/geist-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* geist-latin-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/fonts/geist-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Geist Mono Variable - Monospace Font */
/* geist-mono-cyrillic-wght-normal */
@font-face {
  font-family: 'Geist Mono Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/fonts/geist-mono-cyrillic-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* geist-mono-latin-ext-wght-normal */
@font-face {
  font-family: 'Geist Mono Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/fonts/geist-mono-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* geist-mono-latin-wght-normal */
@font-face {
  font-family: 'Geist Mono Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/fonts/geist-mono-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Space Mono - Title Font (Free, Open Source) */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/space-mono-regular.woff2) format('woff2');
}

@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/space-mono-bold.woff2) format('woff2');
}

:root {
  /* Brand Colors */
  --brand-dark-blue: #000C12;
  --brand-white: #FCFCFC;
  --brand-light-blue: #BBCFEA;
  --brand-light-purple: #DDD3F6;
  --brand-grey: #8E8E8E;

  /* Theme Colors */
  --color-bg-primary: #0a0b0d;
  --color-bg-secondary: #18191b;
  --color-text-primary: #edeef0;
  --color-text-secondary: #b0b4ba;
  --color-surface: #18191b;
  --color-highlight: var(--brand-light-purple);  /* Light Purple for dark mode */
  --color-link-hover: #b0b4ba;  /* Same as text-secondary for footer link hovers */

  /* Semantic colors with opacity - Dark mode
   * These use semi-transparent versions of brand colors for subtle effects
   */
  --border-card: rgba(237, 238, 240, 0.1);  /* Light gray at 10% opacity for subtle borders */
  --shadow-card-hover: 0 8px 24px rgba(221, 211, 246, 0.15);  /* brand-light-purple (#DDD3F6) at 15% opacity */
}

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

body {
  font-family: 'Geist Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background-image: url('/styles/hero-background.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  position: relative;
  color: var(--color-text-primary);
  line-height: 1.6;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(15, 15, 15, 0.55) 0%, rgba(15, 15, 15, 0.70) 100%);
  z-index: 0;
  pointer-events: none;
}

/* Light mode */
@media (prefers-color-scheme: light) {
  :root {
    --color-bg-primary: #ffffff;
    --color-bg-secondary: #f8f9fa;
    --color-text-primary: #1a1a1a;
    --color-text-secondary: #666666;
    --color-surface: #ffffff;
    --color-highlight: #BBCFEA;  /* Light Blue for light mode */
    --color-link-hover: #666666;  /* Same as text-secondary for footer link hovers */

    /* Semantic colors with opacity - Light mode
     * These provide appropriate contrast for light backgrounds
     */
    --border-card: rgba(26, 26, 26, 0.1);  /* Dark gray at 10% opacity for subtle borders */
    --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.05);  /* Black at 5% opacity for default card elevation */
    --shadow-card-hover: 0 8px 24px rgba(187, 207, 234, 0.2);  /* brand-light-blue (#BBCFEA) at 20% opacity */
  }

  body::before {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.70) 100%);
  }
}

/* ============================================
   SPACE MONO TITLE STYLING
   ============================================ */

/* Apply Space Mono to h1 titles on site home page only */
h1[data-astro-cid-j7pv25f6] {
  font-family: 'Space Mono', 'Geist Mono Variable', monospace;
}

/* Apply Space Mono to h1 titles on Console home page only */
h1[data-astro-cid-3bsnccdx] {
  font-family: 'Space Mono', 'Geist Mono Variable', monospace;
}
