/* Three Paragraphs - letter / archival style. System serif fonts only (fast, no external requests). */
:root{--paper:#f6efe1;--paper2:#efe5d0;--card:#fffaf0;--ink:#2a2420;--muted:#6f6357;--rule:#d9cbb0;--accent:#7a2e1f;--accent2:#a0472f;--gold:#b08d57}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.7 "Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;
 background-image:radial-gradient(rgba(122,46,31,.035) 1px,transparent 1px);background-size:4px 4px}
a{color:var(--accent)}a:hover{color:var(--accent2)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.narrow{max-width:720px}
.center{text-align:center}.small{font-size:.85rem;color:var(--muted)}.hint{font-size:.85rem;color:var(--muted);margin:.3rem 0 1rem}
h1,h2,h3{font-weight:normal;line-height:1.25;letter-spacing:.01em}
h1{font-size:2rem;margin:.6em 0 .4em}h2{font-size:1.4rem}
header.site{border-bottom:1px solid var(--rule);background:rgba(246,239,225,.94);position:sticky;top:0;z-index:5}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;flex-wrap:wrap}
.brand{font-size:1.15rem;color:var(--ink);text-decoration:none;letter-spacing:.04em;font-variant:small-caps}
.mark{display:inline-block;border:1px solid var(--accent);color:var(--accent);border-radius:50%;width:2em;height:2em;line-height:1.9em;text-align:center;font-size:.8em;margin-right:6px;font-weight:bold}
nav a{margin-left:16px;text-decoration:none;color:var(--ink);font-size:.95rem}nav a:hover{text-decoration:underline}
nav .cta-sm{border:1px solid var(--accent);color:var(--accent);padding:4px 12px;border-radius:999px}
.btn{display:inline-block;background:var(--accent);color:#fff8ee;text-decoration:none;border:0;border-radius:3px;padding:.75em 1.4em;font:inherit;font-size:1rem;letter-spacing:.03em;cursor:pointer;box-shadow:0 2px 0 rgba(0,0,0,.15)}
.btn:hover{background:var(--accent2);color:#fff}.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent);box-shadow:none}
.btn.small{font-size:.85rem;padding:.45em .9em}
.linkbtn{background:none;border:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;padding:0}
.hero{text-align:center;padding:56px 0 36px}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--accent)}.eyebrow a{text-decoration:none}
.hero h1{font-size:clamp(1.9rem,5.4vw,3rem);font-style:italic;margin:.3em 0}
.lede{font-size:1.12rem;color:#4a4038}
.how{display:grid;gap:18px;grid-template-columns:1fr;margin:20px auto 40px}
.how>div{background:var(--card);border:1px solid var(--rule);padding:18px 20px;border-radius:2px}
.how .num{color:var(--accent);font-size:1.4rem;letter-spacing:.1em}.how h2{margin:.2em 0;font-size:1.2rem}.how p{margin:0;color:#4a4038;font-size:.95rem}
.rule{display:flex;align-items:center;gap:14px;text-align:center;font-size:1.1rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}
.rule:before,.rule:after{content:"";flex:1;border-top:1px solid var(--rule)}
.grid{display:grid;gap:18px;grid-template-columns:1fr}
.card{background:var(--card);border:1px solid var(--rule);box-shadow:0 1px 0 var(--rule),0 6px 14px -10px rgba(60,40,20,.35);transition:transform .15s}
.card:hover{transform:translateY(-2px)}
.card .cover{display:block;padding:18px 20px;color:inherit;text-decoration:none;height:100%}
.card h3{margin:0 0 .2em;font-size:1.25rem}.card p{margin:.4em 0;font-size:.95rem}.meta{color:var(--muted);font-size:.85rem;font-style:italic}
.card.sealed{background:linear-gradient(135deg,#efe4cc,#f7efdf)}
.seal-note{color:var(--accent)}.wax{display:inline-block;width:1.7em;height:1.7em;line-height:1.7em;text-align:center;border-radius:50%;background:var(--accent);color:#f6d9c9;font-size:.85em}
.wax.big{width:3.2em;height:3.2em;line-height:3.2em;font-size:1.5rem}
.empty{color:var(--muted);font-style:italic;padding:20px 0}
.letter{background:var(--card);border:1px solid var(--rule);padding:28px 22px;margin-top:28px;margin-bottom:28px;box-shadow:0 10px 30px -22px rgba(60,40,20,.5)}
.story h2{text-align:center;font-variant:small-caps;letter-spacing:.08em}
.dropcap:first-letter{float:left;font-size:3.4em;line-height:.9;padding:.06em .08em 0 0;color:var(--accent)}
.sheet h1{font-size:clamp(1.8rem,5vw,2.5rem);margin-bottom:.1em}.byline{font-style:italic;color:var(--muted);margin-top:0}
.sheet .body p{text-indent:1.6em;margin:0 0 1em;text-align:justify;hyphens:auto}.sheet .body p.dropcap{text-indent:0}
.sealbox{text-align:center;border:1px dashed var(--accent);padding:28px 16px;margin:26px 0;background:#f8eedd}
.permalink span{word-break:break-all}
.share{display:flex;flex-wrap:wrap;gap:8px 16px;border-top:1px solid var(--rule);padding-top:14px;font-size:.92rem}
.form label{display:block;margin:16px 0 4px;font-weight:bold;font-size:.95rem}.opt{font-weight:normal;color:var(--muted)}
.form input:not([type=checkbox]),.form select,.form textarea{width:100%;font:inherit;font-size:1rem;padding:10px 12px;border:1px solid #cdbb98;border-radius:2px;background:#fffdf7;color:var(--ink)}
.form textarea{line-height:1.6;resize:vertical;background-image:linear-gradient(transparent 95%,rgba(122,46,31,.08) 95%);background-size:100% 1.6em}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--gold);outline-offset:1px}
.form label.check{font-weight:normal;display:flex;gap:8px;align-items:flex-start}.form label.check input{margin-top:.45em}
.form .btn{margin-top:20px;width:100%}
.count{float:right;font-weight:normal;font-size:.8rem;color:var(--muted)}.count.low,.count.over{color:#b02a1a}
.row{display:grid;gap:0 18px;grid-template-columns:1fr}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.alert{background:#fbe7df;border:1px solid #e4b3a3;color:#7a2010;padding:10px 14px;border-radius:2px;font-size:.95rem}
.notice{background:#eef3e2;border:1px solid #c8d6a8;padding:10px 14px}
.preview{border-left:3px solid var(--gold);padding:4px 0 4px 16px;margin:18px 0;font-size:.95rem}
.promo{margin:20px 0}.promo summary{cursor:pointer;color:var(--accent)}
#paypal-buttons{margin:22px 0 6px;min-height:50px}
.filters{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:10px 0;margin:16px 0 22px;font-size:.92rem}
.filters div{margin:4px 0}.filters span{color:var(--muted);margin-right:4px}.filters a{margin-right:10px;text-decoration:none;white-space:nowrap}
.filters a.on{border-bottom:2px solid var(--accent);font-weight:bold}
.pager{text-align:center;margin:20px 0}.pager a,.pager strong{margin:0 6px}
.legal h2{font-size:1.15rem;margin-top:1.6em}
footer.site{border-top:1px solid var(--rule);margin-top:40px;padding:26px 0;text-align:center;font-size:.92rem;color:var(--muted)}
.motto{font-style:italic;font-size:1.05rem;color:var(--ink)}
.inline{display:inline}
/* admin */
.admin table{width:100%;border-collapse:collapse;background:var(--card);font-size:.9rem;margin-bottom:10px}
.admin td,.admin th{border-bottom:1px solid var(--rule);padding:6px 8px;text-align:left;vertical-align:top}.admin td.n{text-align:right}
.mod .actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-top:1px solid var(--rule);padding-top:10px}
.mod .actions input[name=reason]{font:inherit;font-size:.85rem;padding:5px 8px;width:260px;max-width:100%;margin-right:6px}
.mod .actions .check{font-size:.85rem;margin-right:6px}
.login{max-width:420px;margin:40px auto}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.stat{background:var(--card);border:1px solid var(--rule);padding:10px 12px}.stat span{display:block;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.stat b{font-size:1.7rem;font-weight:normal;color:var(--accent)}.stat small{display:block;color:var(--muted)}
.bar{display:grid;grid-template-columns:100px 1fr 80px;gap:8px;font-size:.85rem;align-items:center}.bar .t{background:var(--paper2);height:14px}.bar .t i{display:block;height:100%;background:var(--accent)}
.two{display:grid;gap:20px}
@media (min-width:720px){
 .how{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:repeat(2,1fr)}.row{grid-template-columns:1fr 1fr}
 .letter{padding:44px 56px}.two{grid-template-columns:1fr 1fr}
}
@media (min-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){body{font-size:17px}nav a{margin-left:10px;font-size:.88rem}header.site .wrap{justify-content:center;padding:6px 12px}.hero{padding:34px 0 20px}}
@media print{
 body{background:#fff;font-size:12pt;color:#000}header.site,footer.site,.noprint,.share{display:none!important}
 .letter{border:0;box-shadow:none;margin:0;padding:0;max-width:none}a{color:#000;text-decoration:none}
 .permalink{margin-top:2em}
}
