/* Pretty Day — limited-palette editorial styling. The body theme class rotates
   daily (controlled, deterministic); each topic card carries its own style. */
:root{
  --paper:#f7f4ee; --ink:#1c1a17; --muted:#6b6258; --rule:#d9d2c5; --accent:#b4451f;
}
.theme-dawn { --paper:#fbf3ee; --ink:#2a1f1a; --accent:#c2562b; --rule:#ecdcd0; --muted:#8a7263; }
.theme-dusk { --paper:#f1f0f6; --ink:#211f33; --accent:#5b4bb0; --rule:#d8d5e6; --muted:#6f6a86; }
.theme-ink  { --paper:#f4f4f2; --ink:#14140f; --accent:#1f5e54; --rule:#d4d4cc; --muted:#5f6a63; }
.theme-bloom{ --paper:#fcf2f5; --ink:#2c1722; --accent:#bf3168; --rule:#f0d7e0; --muted:#8a6675; }
.theme-tide { --paper:#eef5f6; --ink:#10262b; --accent:#0d6e85; --rule:#cfe1e4; --muted:#5b7176; }

*{ box-sizing:border-box; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Iowan Old Style",Palatino,"Palatino Linotype",Georgia,serif;
  line-height:1.5; -webkit-font-smoothing:antialiased;
}
.masthead{ text-align:center; padding:3.2rem 1rem 1.4rem; border-bottom:3px double var(--rule); }
.kicker{ margin:0; text-transform:uppercase; letter-spacing:.42em; font-size:.72rem;
  color:var(--accent); font-family:ui-sans-serif,system-ui,sans-serif; }
.dateline{ margin:.3rem 0 0; font-size:clamp(2.4rem,7vw,4.6rem); font-weight:600; letter-spacing:-.02em; }

main{ max-width:880px; margin:0 auto; padding:2rem 1.2rem 4rem; }

/* ---- chooser ---- */
.chooser .lede{ font-size:1.15rem; color:var(--muted); max-width:42ch; margin:0 auto 2rem; text-align:center; }
#pick{ display:grid; gap:1rem; }
.opt{ display:block; border:1px solid var(--rule); border-radius:10px; padding:1rem 1.2rem;
  cursor:pointer; transition:border-color .15s, background .15s; background:#fff6; }
.opt:hover{ border-color:var(--accent); }
.opt input{ margin-right:.6rem; accent-color:var(--accent); }
.opt-name{ font-weight:600; font-size:1.15rem; }
.opt-blurb{ display:block; color:var(--muted); font-size:.95rem; margin-top:.25rem; }
.go{ justify-self:start; margin-top:.6rem; background:var(--accent); color:#fff; border:0;
  padding:.7rem 1.5rem; border-radius:999px; font-size:1rem; cursor:pointer;
  font-family:ui-sans-serif,system-ui,sans-serif; }

/* ---- day cards ---- */
.day{ display:grid; gap:2.4rem; }
.card{ border-top:2px solid var(--ink); padding-top:1rem; }
.card-name{ margin:0 0 1rem; font-size:.8rem; text-transform:uppercase; letter-spacing:.3em;
  color:var(--accent); font-family:ui-sans-serif,system-ui,sans-serif; }
.item{ margin-bottom:1.6rem; }
.item-title{ margin:.2rem 0 .3rem; font-size:1.5rem; font-weight:600; line-height:1.2; }
.item-title .year{ color:var(--accent); }
.item-summary{ margin:0; color:var(--ink); }
.hero{ width:100%; height:auto; border-radius:6px; margin-bottom:.6rem; display:block; }

/* each topic gets a distinct treatment */
.style-broadsheet .item-title{ font-size:1.8rem; }
.style-broadsheet .item:first-child .hero{ aspect-ratio:16/7; object-fit:cover; }
.style-portrait{ }
.style-portrait .item{ display:grid; grid-template-columns:96px 1fr; gap:1rem; align-items:start; }
.style-portrait .hero{ width:96px; height:96px; border-radius:50%; object-fit:cover; margin:0; }
.style-poster{ text-align:center; background:var(--ink); color:var(--paper); border:0;
  padding:2rem 1.4rem; border-radius:12px; }
.style-poster .card-name{ color:var(--paper); opacity:.7; }
.style-poster .item-summary{ color:var(--paper); opacity:.85; }

.resave{ margin-top:2.6rem; text-align:center; color:var(--muted); font-size:.9rem; }
.resave a{ color:var(--accent); }
