:root { color-scheme:light; --paper:#faf7f2; --surface:#fffdf9; --ink:#241e19; --muted:#645a50; --line:#d9cfc1; --action:#87532c; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--paper); color:var(--ink); font:17px/1.65 'DM Sans',Arial,sans-serif; }
::selection { background:#ead6be; color:#241e19; }
a { color:#754620; text-underline-offset:4px; }
header { max-width:1100px; margin:auto; padding:22px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.brand { font:bold 30px/1.3 Georgia,serif; text-decoration:none; }
main { max-width:800px; margin:38px auto 64px; padding:0 28px; }
h1,h2,h3 { font-family:'Playfair Display',Georgia,serif; text-wrap:balance; }
h1 { font-size:40px; line-height:1.2; margin:0 0 14px; }
h2 { font-size:29px; line-height:1.4; margin:12px 0 24px; }
h3 { font-size:23px; line-height:1.4; }
p { max-width:70ch; }
.lead { font-size:19px; margin:0 0 28px; }
.muted,time { color:var(--muted); }
nav { display:flex; flex-wrap:wrap; gap:6px 20px; border-bottom:1px solid var(--line); margin-bottom:16px; }
button,input,textarea { font:inherit; }
button { min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); cursor:pointer; }
button:hover { background:#eee4d7; }
nav button { border:0; border-radius:0; background:none; padding:10px 0; }
nav button[aria-current] { box-shadow:0 2px 0 var(--action); color:#754620; font-weight:700; }
button:disabled { opacity:.65; cursor:wait; }
:focus-visible { outline:3px solid var(--action); outline-offset:4px; }
label:not(.choice) { display:block; font-weight:600; margin:18px 0 8px; }
textarea,input:not([type=radio]):not([type=checkbox]) { width:100%; padding:14px; color:var(--ink); background:var(--surface); border:1px solid #9a8876; border-radius:10px; caret-color:var(--action); }
textarea { resize:vertical; min-height:150px; }
.field-meta { display:flex; align-items:start; justify-content:space-between; gap:16px; color:var(--muted); font-size:13px; }
.field-meta p { margin:6px 0 0; max-width:52ch; }
#body-count { white-space:nowrap; font-variant-numeric:tabular-nums; padding-top:6px; }
fieldset { border:0; padding:0; margin:28px 0 18px; }
legend { font-weight:600; margin-bottom:12px; }
.choice { display:flex; align-items:flex-start; gap:12px; padding:12px 0; cursor:pointer; }
.choice input { width:20px; height:20px; flex:0 0 20px; margin:5px 0 0; accent-color:var(--action); }
.choice small { display:block; color:var(--muted); font-size:15px; line-height:1.55; margin-top:2px; }
.primary { background:var(--action); color:white; border-color:var(--action); padding:12px 20px; }
.primary:hover { background:#6d3f1e; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:20px; }
.notice { background:#efe5d8; padding:18px 20px; border-radius:10px; margin:20px 0; }
.notice h3 { margin:0; }
#feedback { margin:20px 0; font-weight:600; }
.entry { padding:24px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.entry p { white-space:pre-wrap; margin:12px 0; }
.entry .meta { font-size:14px; color:var(--muted); }
.entry h3 { font-size:22px; margin:8px 0; }
.entry .actions { margin-top:12px; }
.entry form { margin-top:16px; }
footer { margin-top:48px; border-top:1px solid var(--line); padding-top:22px; font-size:14px; color:var(--muted); }
#reply-section { margin-top:32px; }
@media(max-width:560px) {
 header { padding:18px 20px; font-size:14px; }
 main { margin-top:26px; padding:0 20px; }
 h1 { font-size:32px; } h2 { font-size:25px; }
 .actions > .primary { width:100%; }
 .field-meta { flex-wrap:wrap; gap:0; }
}
