:root{--bg:#f7f3ec;--card:#fff;--ink:#2f2a24;--muted:#7a6e60;--accent:#8a6d3b;--gold:#d9b96c;--line:#e8e0d2;--ok:#4f7a52;--warn:#a8742c;--bad:#a2483c;--r:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 Georgia,"Iowan Old Style","Palatino Linotype",serif}
a{color:var(--accent)}
img,video,iframe{max-width:100%}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;background:rgba(247,243,236,.92);backdrop-filter:blur(6px);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}
.brand{font-size:1.25rem;text-decoration:none;color:var(--ink);letter-spacing:.02em;white-space:nowrap}
.site-header nav{display:flex;align-items:center;gap:16px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.92rem}
.site-header nav a:not(.btn){color:var(--muted);text-decoration:none}
main{max-width:1240px;margin:0 auto;padding:0 18px 40px}
.hero{text-align:center;max-width:760px;margin:0 auto;padding:56px 0 30px}
.hero h1{font-weight:normal;font-size:clamp(2.1rem,6vw,3.2rem);margin:0 0 14px;letter-spacing:.01em}
.lead{font-size:1.1rem;color:#4d443a}
.counter{font-family:system-ui,sans-serif;color:var(--muted);margin:22px 0 10px;font-size:1rem}
.counter #prayer-count{display:inline-block;font:600 1.6rem/1 Georgia,serif;color:var(--accent);margin-right:4px;transition:transform .4s}
.counter #prayer-count.bump{transform:scale(1.18)}
.gentle{font-size:.9rem;color:var(--muted);font-family:system-ui,sans-serif}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:12px 24px;font:600 .98rem system-ui,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s,transform .1s}
.btn:hover{background:#735a2f}.btn:active{transform:translateY(1px)}
.btn-small{padding:7px 14px;font-size:.85rem}
.btn-big{width:100%;padding:16px;font-size:1.05rem;margin-top:8px}
.btn-ghost{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1px var(--gold)}.btn-ghost:hover{background:#efe6d4}
.btn-ok{background:var(--ok)}.btn-warn{background:var(--warn)}.btn-danger{background:transparent;color:var(--bad);box-shadow:inset 0 0 0 1px #d8b0a8}.btn-danger:hover{background:#f6e6e2}
.wall{columns:300px;column-gap:20px;margin-top:20px}
.card{break-inside:avoid;background:var(--card);border-radius:var(--r);padding:18px 20px;margin:0 0 20px;box-shadow:0 2px 12px rgba(60,40,20,.07);position:relative;display:inline-block;width:100%}
.card.featured{box-shadow:0 0 0 2px var(--gold),0 4px 16px rgba(160,120,40,.15)}
.badge{display:inline-block;font:600 .72rem system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#7a5d1e;background:#f6ecd3;border-radius:999px;padding:3px 10px;margin-bottom:10px}
.card blockquote{margin:0;font-size:1.04rem;line-height:1.65;overflow-wrap:anywhere}
.by{margin:12px 0 0;color:var(--accent);font-style:italic}.by span{color:var(--muted)}
.photos{display:grid;gap:6px;margin:0 0 14px;border-radius:10px;overflow:hidden}
.photos.n2,.photos.n4{grid-template-columns:1fr 1fr}.photos.n3{grid-template-columns:1fr 1fr}.photos.n3 a:first-child{grid-column:1/3}
.photos img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:auto;cursor:zoom-in}
.photos.n2 img,.photos.n3 img,.photos.n4 img{aspect-ratio:1/1}.photos.n3 a:first-child img{aspect-ratio:16/10}
.card video{width:100%;border-radius:10px;margin-bottom:12px;background:#000}
.embed{position:relative;aspect-ratio:16/9;margin-bottom:12px;border-radius:10px;overflow:hidden;background:#000}.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.xlink{font:.9rem system-ui,sans-serif;margin:0 0 10px;word-break:break-all}
.empty{text-align:center;color:var(--muted);padding:40px 0}
.pager{display:flex;justify-content:center;align-items:center;gap:18px;margin:30px 0;font-family:system-ui,sans-serif;flex-wrap:wrap}.pager a.on{font-weight:700;text-decoration:none}
.form-wrap{max-width:680px;margin:0 auto;padding:40px 0}.form-wrap.narrow{max-width:440px}
.form-wrap h1{font-weight:normal;font-size:clamp(1.8rem,5vw,2.4rem);margin:0 0 8px;line-height:1.2}
.submit-form{background:var(--card);border-radius:var(--r);padding:26px;box-shadow:0 2px 12px rgba(60,40,20,.07);margin-top:20px}
.submit-form label,.submit-form fieldset{display:block;margin:0 0 20px;font:600 .95rem system-ui,sans-serif}
.submit-form fieldset{border:1px solid var(--line);border-radius:10px;padding:14px 16px}.submit-form legend{padding:0 6px}
.row.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
input[type=text],input[type=email],input[type=url],input[type=password],textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #d9cfbe;border-radius:10px;font:400 1rem Georgia,serif;background:#fffdf9;color:var(--ink)}
input:focus,textarea:focus{outline:2px solid var(--gold);border-color:transparent}
textarea{resize:vertical;min-height:150px;line-height:1.55}
input[type=file]{margin-top:4px;font:400 .9rem system-ui,sans-serif;max-width:100%}
.opt,.hint{font-weight:400;color:var(--muted);font-size:.85rem}.req{color:var(--bad)}.hint{display:block;margin-top:6px;font-family:system-ui,sans-serif}.center{text-align:center}
.or{margin:14px 0 0!important}
.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;line-height:1.45}.check input{margin-top:4px;width:20px;height:20px;flex:none;accent-color:var(--accent)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.previews{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.previews img{width:72px;height:72px;object-fit:cover;border-radius:8px}
.errors{background:#fbecea;border:1px solid #ecc7c0;color:#6d2e25;border-radius:10px;padding:12px 18px;font:.95rem system-ui,sans-serif;margin:16px 0}.errors ul{margin:6px 0 0;padding-left:20px}
.thanks{background:var(--card);border-radius:var(--r);padding:30px;text-align:center;box-shadow:0 2px 12px rgba(60,40,20,.07)}
.prose{max-width:700px;margin:0 auto;padding:40px 0}.prose h1{font-weight:normal;font-size:2.3rem}.prose h2{font-size:1.2rem;margin-top:28px}
.site-footer{text-align:center;color:var(--muted);font:.88rem system-ui,sans-serif;padding:30px 20px 40px;border-top:1px solid var(--line)}
.site-footer p{margin:4px 0}
/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(20,16,12,.92);display:none;align-items:center;justify-content:center;z-index:50;padding:20px}
.lightbox.open{display:flex}.lightbox img{max-height:86vh;max-width:94vw;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lightbox button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px;width:46px;height:46px;font-size:1.5rem;cursor:pointer}
.lightbox .x{top:16px;right:16px}.lightbox .prev{left:12px;top:50%}.lightbox .next{right:12px;top:50%}
.lightbox .cap{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#eee;font-style:italic}
/* admin */
.admin-wrap{max-width:960px;margin:0 auto;padding:30px 0}
.admin-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.admin-top h1{font-weight:normal;margin:0}
.inline{display:inline}
.tabs{display:flex;gap:6px;margin:18px 0;font-family:system-ui,sans-serif;flex-wrap:wrap}.tabs a{padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--muted);background:#efe8dc}.tabs a.on{background:var(--accent);color:#fff}.tabs span{opacity:.75;margin-left:4px}
.flash{background:#eef4ec;border:1px solid #cfe0cb;border-radius:10px;padding:10px 14px;font-family:system-ui,sans-serif}
.q-item{background:var(--card);border-radius:var(--r);padding:18px 20px;margin-bottom:16px;box-shadow:0 2px 10px rgba(60,40,20,.06)}
.q-item.featured{box-shadow:0 0 0 2px var(--gold)}
.q-meta{font:.85rem system-ui,sans-serif;color:var(--muted)}.private{color:#5a6b85}
.rename{display:flex;gap:8px;align-items:center;margin:10px 0;flex-wrap:wrap}.rename input{width:auto;flex:1;min-width:160px;margin:0;padding:8px 10px}.loc{font:.85rem system-ui,sans-serif;color:var(--muted)}
.q-item blockquote{margin:8px 0 12px;white-space:normal;overflow-wrap:anywhere}
.q-media{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.q-media img{width:130px;height:130px;object-fit:cover;border-radius:8px}.q-media video{width:260px;border-radius:8px;background:#000}
.q-actions{display:flex;gap:6px;flex-wrap:wrap}
.pw{margin-top:30px;font-family:system-ui,sans-serif}
.checks{list-style:none;padding:0;font-family:system-ui,sans-serif}.checks .y{color:var(--ok)}.checks .n{color:var(--bad)}
code{background:#efe6d4;padding:2px 6px;border-radius:4px;font-size:.85em;word-break:break-all}
@media (max-width:640px){
  body{font-size:16px}.site-header{padding:10px 14px}.site-header nav a:not(.btn){display:none}
  .hero{padding:34px 0 18px}.row.two{grid-template-columns:1fr;gap:0}.submit-form{padding:18px}
  .wall{column-gap:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
