/* =====================
   1. RESET & BOX MODEL
   ===================== */
/**, *::before, *::after {*/
/*  box-sizing: border-box;*/
/*  margin: 0;*/
/*  padding: 0;*/
/*}*/

/* =====================
   2. CUSTOM PROPERTIES
   ===================== */
:root {
  /* Colors */
  --color-primary:    #2563eb;
  --color-secondary:  #64748b;
  --color-accent:     #f59e0b;
  --color-bg:         #ffffff;
  --color-surface:    #f8fafc;
  --color-text:       #1e293b;
  --color-text-muted: #94a3b8;
  --color-border:     #e2e8f0;

  /* Typography */
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "Fira Code", "Cascadia Code", Consolas, monospace;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  1.875rem;
  --text-4xl:  2.25rem;

  /* Spacing scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;

  /* Borders & Shadows */
  --radius-sm: 4px;
  --radius:    8px;
  --radius-lg: 16px;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.06);
  --shadow:    0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);

  /* Transitions */
  --transition: 150ms ease;
}

/* =====================
   3. BASE STYLES
   ===================== */
html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family : var(--font-sans);
  font-size   : var(--text-base);
  line-height : 1.6;
  color       : var(--color-text);
  background-color: var(--color-bg);
  min-height: 100dvh;
}

img, video, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

/* =====================
   4. TYPOGRAPHY
   ===================== */
h1 { font-size: var(--text-4xl); line-height: 1.1; }
h2 { font-size: var(--text-3xl); line-height: 1.2; }
h3 { font-size: var(--text-2xl); line-height: 1.3; }
h4 { font-size: var(--text-xl);  line-height: 1.4; }

a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity var(--transition);
}
a:hover { opacity: 0.75; }

/* =====================
   5. LAYOUT UTILITIES
   ===================== */
.container {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: var(--space-4);
}

.flex   { display: flex; }
.grid   { display: grid; }
.hidden { display: none; }

/* =====================
   6. DARK MODE
   ===================== */
@media (prefers-color-scheme: dark) {
  :root {
    --color-bg:         #0f172a;
    --color-surface:    #1e293b;
    --color-text:       #f1f5f9;
    --color-text-muted: #64748b;
    --color-border:     #334155;
  }
}