/* ==========================================================================
   Dust Jacket brand tokens
   ========================================================================== */

:root {
  --color-background: #F7F3EE;
  --color-surface: #EDE8E2;
  --color-card: #EDE8E2;
  --color-border: #D4CEC8;
  --color-emerald: #256050;
  --color-text-primary: #1A1614;
  --color-text-secondary: #9A8E82;
  --color-text-tertiary: #C4BCB4;
  --color-nav-bar: #F0EBE4;
  --color-nav-border: #D4CEC8;

  --font-serif: Georgia, "Times New Roman", serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-background: #0D0B0F;
    --color-surface: #1C1720;
    --color-card: #241F2A;
    --color-border: #2A2630;
    --color-emerald: #3B8A68;
    --color-text-primary: #F0EAE2;
    --color-text-secondary: #9B92A0;
    --color-text-tertiary: #4A4258;
    --color-nav-bar: #100E14;
    --color-nav-border: #221E27;
  }
}

/* ==========================================================================
   Minimal reset
   ========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  color: var(--color-text-primary);
  background-color: var(--color-background);
  font-family: var(--font-sans);
  font-size: 1em;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

img,
svg {
  vertical-align: middle;
  max-width: 100%;
}

textarea {
  resize: vertical;
}

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
