/* Wedding guestbook: house tokens only; plum accent, Baskerville headings, ledger rhythm. */
:root{--a-l:#7A2E5E;--a-d:#E8A2CF;--accent:var(--a-l)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--accent:var(--a-d)}}
:root[data-theme=dark]{--accent:var(--a-d)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.top{padding-block:var(--s-7) var(--s-5)}
h1,h2,h3{font-family:Baskerville,"Baskerville Old Face","Libre Baskerville",Georgia,serif}
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.lede{color:var(--ink-2);margin:var(--s-3) 0 0}
.work{display:grid;gap:var(--s-6);max-width:36rem;padding-bottom:var(--s-8)}
.who{display:flex;align-items:center;gap:var(--s-3)}
.avatar{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--on-accent);font:600 var(--t-sm)/1 Baskerville,Georgia,serif}
.who-name{margin:0;font-weight:600}
.who-sub{margin:0;font-size:var(--t-sm);color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums}
#compose{border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s-4);background:var(--surface);display:grid;gap:var(--s-3)}
#compose input{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--edge);border-radius:var(--r-sm);background:var(--bg);color:var(--ink);font:inherit}
#compose textarea{width:100%;border:1px solid var(--edge);border-radius:var(--r-sm);background:var(--bg);color:var(--ink);resize:vertical;font:inherit;padding:8px 12px}
#compose input:focus,#compose textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
#compose .bar{margin-top:var(--s-2);display:flex;justify-content:space-between;align-items:center}
.count{margin:0;font-size:var(--t-xs);color:var(--ink-2)}
.count.warn{color:var(--warn)}
.form-err{margin:0;font-size:var(--t-sm);color:var(--bad)}
.posts{list-style:none;margin:0;padding:0;display:grid;gap:0}
.post{border-bottom:1px solid var(--line);padding-block:var(--s-4)}
.post .head{display:flex;align-items:baseline;gap:var(--s-3)}
.post .head>div:nth-child(2){flex:1;display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}
.author{margin:0;font-weight:600;font-family:Baskerville,"Baskerville Old Face","Libre Baskerville",Georgia,serif}
.when{margin:0;font-size:var(--t-xs);color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums;flex:none}
.body{margin:var(--s-2) 0 0;white-space:pre-wrap}
.empty{display:grid;gap:var(--s-2);justify-items:start;padding-block:var(--s-6);border-block:1px solid var(--line)}
.empty p{margin:0;font-size:var(--t-sm);color:var(--ink-2)}

/* tap-targets: comfortable phone taps -- the sizes win on phones, the page's own layout stays */
@media (max-width: 600px) {
  a[href]:not(p a, li p a, blockquote a, figcaption a, td a, dd a, label a), button, [role=button], [onclick], summary, select, input:not([type=hidden], [type=checkbox], [type=radio], [type=range]) { min-height: 44px !important; min-width: 44px !important; }
  :where(a[href]:not(p a, li p a, blockquote a, figcaption a, td a, dd a, label a)) { display: inline-flex; align-items: center; justify-content: center; }
  input, select, textarea { font-size: max(16px, 1em) !important; }
}
