/* fluffedandrisen.org — shared styles. Parchment tract by day, candlelit vestry by night. */

@font-face {
  font-family: "UnifrakturMaguntia";
  src: url("fonts/unifraktur-maguntia.woff2") format("woff2");
  font-display: swap;
}

:root {
  --bg: #efe4cc;
  --paper: #f8f1e0;
  --ink: #2b2118;
  --muted: #6e5d49;
  --rule: #c9b48f;
  --red: #9e1b1b;
  --gold: #a87b2a;
  --shadow: 0 1px 0 #fff8 inset, 0 10px 30px -12px #5a3c1a55;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #15110d;
    --paper: #1f1914;
    --ink: #eadcc0;
    --muted: #a8977c;
    --rule: #4a3d2e;
    --red: #e0605a;
    --gold: #d4a64a;
    --shadow: 0 10px 30px -12px #000c;
  }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  padding: 2rem 16px 3rem;
  background: var(--bg);
  color: var(--ink);
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  font-size: 1.125rem;
  line-height: 1.6;
}
a { color: var(--red); text-underline-offset: 0.18em; }
a:hover { text-decoration-thickness: 2px; }

.sheet {
  max-width: 40rem;
  margin: 0 auto;
  background: var(--paper);
  border: 1px solid var(--rule);
  box-shadow: var(--shadow);
  padding: 2.25rem clamp(1.1rem, 5vw, 3rem) 2.5rem;
}

/* Masthead */
.masthead { text-align: center; border-bottom: 3px double var(--rule); padding-bottom: 1.25rem; margin-bottom: 1.75rem; }
.masthead a { color: inherit; text-decoration: none; }
.masthead .paw { font-size: 1.6rem; color: var(--gold); line-height: 1; }
.masthead h1 {
  font-family: "UnifrakturMaguntia", "Old English Text MT", serif;
  font-weight: 400;
  font-size: clamp(2.2rem, 9vw, 3.4rem);
  line-height: 1.05;
  margin: 0.35rem 0 0.5rem;
}
.masthead .tagline { margin: 0; font-variant: small-caps; letter-spacing: 0.08em; color: var(--muted); font-size: 1rem; }

/* Issue */
.meta { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; align-items: center; justify-content: space-between;
  font-variant: small-caps; letter-spacing: 0.06em; color: var(--muted); font-size: 0.95rem; margin-bottom: 0.5rem; }
.stamp {
  display: inline-block; transform: rotate(-4deg);
  border: 2px solid var(--red); color: var(--red); border-radius: 4px;
  padding: 0 0.5rem; font-family: ui-monospace, "Courier New", monospace; font-weight: 700; letter-spacing: 0.12em;
  font-variant: normal; font-size: 0.85rem;
}
h2.subject { font-size: clamp(1.35rem, 4.5vw, 1.7rem); line-height: 1.25; margin: 0.25rem 0 1.5rem; }
h2.subject .urgent { color: var(--red); }
.salutation { font-style: italic; }
ol.evidence { padding-left: 1.4rem; }
ol.evidence li { margin-bottom: 1rem; padding-left: 0.25rem; }
ol.evidence li::marker { color: var(--gold); font-weight: 700; }
ul.duties { list-style: none; padding-left: 0; }
ul.duties li { position: relative; padding-left: 1.6rem; margin-bottom: 0.6rem; }
ul.duties li::before { content: "🐾"; position: absolute; left: 0; top: 0.05em; font-size: 0.95em; }

blockquote.scripture {
  margin: 1.75rem 0; padding: 0.9rem 1.2rem;
  border-left: 4px solid var(--gold);
  background: color-mix(in srgb, var(--gold) 9%, transparent);
  font-style: italic;
}
blockquote.scripture cite { display: block; font-style: normal; font-variant: small-caps; letter-spacing: 0.05em; color: var(--muted); margin-bottom: 0.35rem; }

figure.relic { margin: 2rem 0; }
figure.relic img { display: block; width: 100%; height: auto; border: 1px solid var(--rule); }
figure.relic figcaption { font-size: 0.9rem; color: var(--muted); margin-top: 0.5rem; text-align: center; font-style: italic; }

.signoff { margin-top: 2rem; text-align: right; }
.signoff .name { font-family: "UnifrakturMaguntia", "Old English Text MT", serif; font-size: 1.45rem; display: block; line-height: 1.2; }
.signoff .org { font-variant: small-caps; letter-spacing: 0.05em; color: var(--muted); }
.ps { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--rule); font-size: 0.95rem; color: var(--muted); }

/* Archive */
.latest { border: 1px solid var(--rule); padding: 1.1rem 1.25rem; margin-bottom: 2rem; }
.latest h2 { margin: 0.25rem 0 0.5rem; font-size: 1.3rem; line-height: 1.3; }
.latest h2 a { color: var(--ink); }
.latest p { margin: 0 0 0.75rem; }
h3.archive-head { font-variant: small-caps; letter-spacing: 0.08em; color: var(--muted); font-weight: 400; border-bottom: 1px solid var(--rule); padding-bottom: 0.3rem; }
ol.archive { list-style: none; padding: 0; margin: 0; }
ol.archive li { display: flex; gap: 0.9rem; padding: 0.45rem 0; border-bottom: 1px dotted var(--rule); }
ol.archive .no { color: var(--gold); font-variant-numeric: tabular-nums; min-width: 2.2rem; }
ol.archive .date { margin-left: auto; color: var(--muted); font-size: 0.9rem; white-space: nowrap; }

/* Correspondence */
h3.archive-head + .dir-intro { margin-top: 0.75rem; }
.dir-intro { font-style: italic; color: var(--muted); }
dl.directory { margin: 1rem 0 0; }
dl.directory dt { font-family: ui-monospace, "Courier New", monospace; font-weight: 700; margin-top: 1rem; }
dl.directory dt:first-child { margin-top: 0; }
dl.directory dd { margin: 0.2rem 0 0 1.2rem; }
.sixth { margin-top: 1.75rem; text-align: center; letter-spacing: 0.04em; }

footer { max-width: 40rem; margin: 1.5rem auto 0; text-align: center; font-size: 0.85rem; color: var(--muted); }
footer p { margin: 0.2rem 0; }

.disclaimer { max-width: 34rem; margin: 1.25rem auto 0 !important; padding-top: 0.9rem; border-top: 1px solid var(--rule); font-size: 0.8rem; line-height: 1.5; }

/* Unsubscribe */
.verdict { font-family: "UnifrakturMaguntia", "Old English Text MT", serif; font-size: clamp(2.2rem, 9vw, 3rem); text-align: center; color: var(--red); margin: 1.5rem 0 !important; line-height: 1.1; }
section.smallprint { margin-top: 2.5rem; padding: 1rem 1.25rem; border: 1px dashed var(--rule); font-size: 0.95rem; }
section.smallprint h3 { margin: 0 0 0.5rem; font-variant: small-caps; letter-spacing: 0.06em; font-weight: 700; font-size: 1rem; }
section.smallprint p { margin: 0 0 0.75rem; }
section.smallprint p:last-child { margin-bottom: 0; }
