:root {
  --ink: #1c1916;
  --charcoal: #2a2420;
  --rust: #b45309;
  --rust-600: #9a4206;
  --rust-soft: rgba(180, 83, 9, 0.12);
  --navy: #2a2420;
  --navy-600: #3d3530;
  --navy-800: #1c1916;
  --lime: #b45309;
  --lime-600: #9a4206;
  --lime-soft: rgba(180, 83, 9, 0.12);
  --danger: #b42318;
  --warning: #b45309;
  --info: #3f5c4e;
  --success: #3f6b4a;
  --font-display: Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, serif;
  --font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-mono: "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.2rem;
  --text-xl: 1.45rem;
  --text-2xl: 1.85rem;
  --lh-tight: 1.2;
  --lh-normal: 1.55;
  --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;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --shadow-sm: 0 1px 2px rgba(28, 25, 22, 0.06);
  --shadow-md: 0 8px 20px rgba(28, 25, 22, 0.08);
  --shadow-lg: 0 18px 40px rgba(28, 25, 22, 0.12);
  --sidebar-w: 248px;
  --header-h: 68px;
}

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

html,
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--lh-normal);
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--rust);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

h1, h2, h3, h4 {
  margin: 0 0 var(--space-3);
  line-height: var(--lh-tight);
  color: var(--text-strong);
  font-family: var(--font-display);
  font-weight: 600;
}

h1 { font-size: var(--text-2xl); }
h2 { font-size: var(--text-xl); }
h3 { font-size: var(--text-lg); }

p { margin: 0 0 var(--space-3); }

.muted { color: var(--text-muted); }
.mono { font-family: var(--font-mono); font-size: var(--text-sm); }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
