:root{
  --crier:#8a1c1c; --crier-dark:#6e1414; --ink:#1f1b16; --muted:#6b6258;
  --paper:#fbf8f1; --line:#e3dccb; --card:#ffffff;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:Georgia,'Times New Roman',serif;line-height:1.55}
a{color:var(--crier);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:780px;margin:0 auto;padding:0 18px}

/* masthead */
.masthead{background:var(--paper);border-bottom:3px double var(--crier)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;max-width:780px}
.brand{display:flex;align-items:center;gap:10px}
.brand:hover{text-decoration:none}
.brand-mark{font-size:30px}
.brand-title{display:block;font-size:26px;font-weight:bold;color:var(--crier);letter-spacing:.5px}
.brand-sub{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px}
.topnav a{margin-left:16px;font-size:14px;color:var(--ink);font-family:system-ui,sans-serif}
.topnav a:hover{color:var(--crier)}

/* flash */
.flash{padding:10px 14px;border-radius:6px;margin:12px 0;font-family:system-ui,sans-serif;font-size:14px}
.flash-ok{background:#e7f4e8;color:#205b2a;border:1px solid #b6dcb9}
.flash-error{background:#fbeaea;color:#7a1f1f;border:1px solid #e7bcbc}

/* edition */
.edition{padding:24px 0 40px}
.edition-head{text-align:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:8px}
.edition-date{font-family:system-ui,sans-serif;text-transform:uppercase;letter-spacing:2px;font-size:12px;color:var(--muted)}
.edition-title{font-size:34px;margin:6px 0;color:var(--crier);line-height:1.15}
.edition-tagline{color:var(--muted);font-style:italic}
.edition-empty{text-align:center;padding:60px 0}

.sec{padding:18px 0;border-bottom:1px solid var(--line)}
.sec-title{font-size:14px;text-transform:uppercase;letter-spacing:2px;color:var(--crier);
  font-family:system-ui,sans-serif;margin:0 0 12px;border-left:4px solid var(--crier);padding-left:10px}
.item{margin:14px 0}
.item-title{font-size:19px;margin:0 0 4px;line-height:1.3}
.item-lead .item-title{font-size:24px}
.item-sum{margin:4px 0;color:#33302a}
.item-meta{font-family:system-ui,sans-serif;font-size:12.5px;color:var(--muted)}
.item-meta .src{font-weight:600;color:#544}
.dot{margin:0 6px;color:var(--line)}
.cta{font-family:system-ui,sans-serif}
.quick{list-style:none;padding:0;margin:0}
.quick li{padding:6px 0;border-bottom:1px dotted var(--line)}
.quick .src{color:var(--muted);font-size:13px;font-family:system-ui,sans-serif}

.marsha{background:#f4eef7;border:1px solid #e0d0ea;border-radius:8px;padding:16px}
.marsha-q{font-weight:bold;color:#6a3093;margin-bottom:6px}
.marsha-a{color:#2a2530}
.marsha-note{margin-top:8px;font-size:12px;color:var(--muted);font-style:italic;font-family:system-ui,sans-serif}

.badge{display:inline-block;font-family:system-ui,sans-serif;font-size:11px;padding:1px 7px;border-radius:10px;vertical-align:middle}
.badge-warn{background:#fff3cd;color:#856404;border:1px solid #f0e0a8}

.subscribe-band{text-align:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;margin-top:26px}
.subscribe-band h2{color:var(--crier);margin:0 0 6px}
.btn{display:inline-block;background:var(--crier);color:#fff;border:none;padding:10px 20px;border-radius:6px;
  font-family:system-ui,sans-serif;font-size:15px;cursor:pointer}
.btn:hover{background:var(--crier-dark);text-decoration:none;color:#fff}

.page-h1{color:var(--crier);font-size:28px;margin:24px 0 14px}
.archive-list{list-style:none;padding:0}
.archive-list li{padding:10px 0;border-bottom:1px solid var(--line)}
.archive-list .src{display:block;color:var(--muted);font-size:13px;font-family:system-ui,sans-serif}

.subscribe-page,.msg-page{padding:24px 0 60px;max-width:560px}
.sub-form{display:flex;flex-direction:column;gap:10px;margin:18px 0}
.sub-form input{padding:11px;border:1px solid var(--line);border-radius:6px;font-size:15px;font-family:system-ui,sans-serif}
.fineprint{color:var(--muted);font-size:13px}

.footer{background:#241f1a;color:#cbbfae;margin-top:40px;padding:24px 0;font-family:system-ui,sans-serif}
.footer a{color:#e6b9b9}
.foot-cta{font-size:14px;margin-bottom:10px}
.foot-note{font-size:12px;color:#9a8d7c;line-height:1.5}
@media(max-width:560px){.edition-title{font-size:26px}.masthead .wrap{flex-direction:column;gap:8px}}
