/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */
color-scheme: light;
  --bg: #f3ebde;
  --paper: #fbf5eb;
  --ink: #3d2f24;
  --accent: #7a5a3d;
  --accent-soft: #c8a77b;
  --border: #b79c75;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Georgia", "Times New Roman", serif;
  background:
    radial-gradient(circle at top left, rgba(200, 167, 123, 0.2), transparent 25%),
    linear-gradient(135deg, #efe0c3 0%, var(--bg) 100%);
  color: var(--ink);
  line-height: 1.7;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(120, 90, 60, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 90, 60, 0.04) 1px, transparent 1px);
  background-size: 20px 20px;
  opacity: 0.35;
}

.page-shell {
  max-width: 1000px;
  margin: 0 auto;
  padding: 1.2rem;
}

.site-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.2rem;
  background: rgba(251, 245, 235, 0.95);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(61, 47, 36, 0.08);
  position: relative;
}

.site-header::after {
  content: "";
  position: absolute;
  right: -8px;
  top: -8px;
  width: 70px;
  height: 70px;
  background: linear-gradient(135deg, transparent 50%, #d9b98f 50%);
  border-radius: 0 0 0 12px;
  opacity: 0.8;
}

.brand {
  text-decoration: none;
  color: var(--accent);
  font-size: 1.15rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
}

.top-nav {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.top-nav a {
  color: var(--ink);
  text-decoration: none;
  padding: 0.3rem 0.5rem;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
}

.top-nav a.active {
  color: var(--accent);
  font-weight: bold;
}

.content {
  padding: 1.2rem 0 0;
}

.hero-card,
.card,
.post-card {
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(61, 47, 36, 0.08);
}

.hero-card {
  padding: 2rem;
  margin-bottom: 1.4rem;
  position: relative;
  transform: rotate(-1deg);
}

.hero-card::before {
  content: "✿";
  position: absolute;
  top: 10px;
  right: 16px;
  color: var(--accent-soft);
  font-size: 1.3rem;
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.8rem;
  color: var(--accent);
  margin-bottom: 0.3rem;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
}

h1,
h2,
h3 {
  line-height: 1.2;
  color: var(--accent);
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
}

.button {
  display: inline-block;
  margin-top: 0.8rem;
  padding: 0.7rem 1rem;
  background: var(--accent);
  color: white;
  text-decoration: none;
  border-radius: 999px;
  box-shadow: 0 4px 10px rgba(122, 90, 61, 0.2);
}

.grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.card {
  padding: 1.2rem;
  transform: rotate(1deg);
}

.card:nth-child(2) {
  transform: rotate(-1.2deg);
}

.list {
  padding-left: 1rem;
}

.post-list {
  display: grid;
  gap: 1rem;
}

.post-card {
  padding: 1.2rem;
  position: relative;
}

.post-card::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 18px;
  width: 10px;
  height: 60%;
  background: linear-gradient(180deg, var(--accent-soft), #a97f4d);
  border-radius: 999px;
}

.meta {
  color: var(--accent);
  font-weight: bold;
  margin-top: -0.4rem;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
}

.site-footer {
  text-align: center;
  padding: 2rem 0 1rem;
  color: var(--accent);
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
}
