/* ===================== FONT ===================== */

@font-face {
  font-family: "HornetDisplay";
  src: url("../assets/HornetDisplay-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}

/* ===================== GLOBAL THEME VARIABLES ===================== */

:root {
  /* Fonts */
  --font-main: "HornetDisplay", sans-serif;

  /* Text Colors */
  --fg: #111;
  --text-color: #000;
  --card-text: #000;
  --highlight: #666;
  --muted: #666;

  /* Backgrounds */
  --bg-color: #f5f5f5;
  --card-bg: #fff;
  --nav-bg: rgba(255, 255, 255, 0);
  --nav-bg-solid: rgba(255, 255, 255, 0.85);

  /* Accent & Brand Colors */
  --accent: #007aff;
  --primary-color: #2196f3;
  --success-color: #4caf50;
  --success-color-2: #2980b9;
  --danger-color: #f44336;
  --warning-color: #ff6b35;
  --active-color: #ffca28;

  /* Shadows & Borders */
  --box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  --box-shadow-lg: 0 4px 10px rgba(0, 0, 0, 0.15);
  --border-radius: 5px;
  --border-radius-lg: 10px;

  /* Spacing */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;

  /* Transitions */
  --transition-fast: 0.2s ease;
  --transition-normal: 0.3s ease;
  --transition-slow: 0.4s ease;
}

/* ===================== DARK THEME ===================== */

[data-theme="dark"] {
  --fg: #f2f2f2;
  --text-color: #f0f0f0;
  --card-text: #f0f0f0;
  --highlight: #aaa;
  --muted: #aaa;

  --bg-color: #121212;
  --card-bg: #1e1e1e;
  --nav-bg: rgba(0, 0, 0, 0);
  --nav-bg-solid: rgba(0, 0, 0, 0.5);

  --accent: #00ffe7;

  --box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  --box-shadow-lg: 0 4px 10px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] a:visited:not(.nav-links a):not(.nav-header a):not(.hero-content a) {
  color: #a871d6;
}

/* ===================== GLOBAL STYLES ===================== */

/* Smooth theme switching */
* {
  transition: background-color var(--transition-normal), color var(--transition-normal),
    border-color var(--transition-normal);
}

/* Prevent transition on media */
img,
video,
canvas,
svg {
  transition: none !important;
}

/* Dark mode input styling */
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="range"] {
  background-color: var(--card-bg);
  color: var(--card-text);
  border-color: var(--highlight);
}

[data-theme="dark"] input[type="text"]:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.2);
}
