:root{font-family:system-ui,sans-serif;color:#18372b;background:#f3f6f3;font-size:16px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}main{max-width:820px;margin:auto;padding:24px 20px 40px}header{border-bottom:1px solid #d6e0d9;padding-bottom:18px}a{color:#176747}h1{font-size:clamp(1.7rem,5vw,2.4rem);margin:8px 0}h2{font-size:1.1rem}.eyebrow{font-size:.72rem;letter-spacing:.12em;margin:25px 0 8px;font-weight:750}header p{color:#52695b}button,input,textarea{font:inherit}button{border:0;border-radius:12px;padding:12px 18px;background:#176747;color:white;font-weight:650;cursor:pointer;min-height:44px}button:disabled{opacity:.55;cursor:wait}.quiet{background:#e1ebe4;color:#194a33}label{display:block;font-weight:650;margin-bottom:8px}input[type=password],textarea{border:1px solid #9bb3a2;border-radius:10px;padding:12px;width:100%;margin:8px 0 12px;background:white;color:#18372b}textarea{resize:vertical}input[type=file]{display:block;max-width:100%;font-size:.85rem;margin-top:8px}form#login{max-width:420px;padding:24px;background:white;border-radius:18px;margin:24px auto}.identity{display:flex;justify-content:space-between;align-items:center;gap:12px}.notice,small{color:#53675a;font-size:.82rem;line-height:1.55}.notice{background:#e7eee8;padding:12px;border-radius:10px}#status{min-height:1.3em;color:#8a411b}#messages{height:48vh;min-height:240px;overflow:auto;overscroll-behavior:contain;padding:12px 8px;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:12px}.message{flex-shrink:0;background:white;border:1px solid #dae4dc;border-radius:16px 16px 16px 3px;padding:13px 16px;max-width:90%;align-self:flex-start;overflow-wrap:anywhere}.message.mine{background:#e2f0e5;border-color:#b9d7c2;align-self:flex-end;border-radius:16px 16px 3px 16px}.message .meta{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline;font-size:.8rem}.message time{color:#617466;font-size:.72rem}.message p{white-space:pre-wrap;line-height:1.5;margin:8px 0 0}.message img{display:block;max-width:100%;max-height:260px;border-radius:10px;margin-top:10px}.message button{font-size:.72rem;padding:6px 10px;margin-top:8px;min-height:36px}#pinned{background:#fff9e7;border:1px solid #e6d5a0;border-radius:14px;padding:12px 16px;margin:16px 0}#pins{max-height:220px;overflow:auto}#pins .message{max-width:100%;margin-bottom:8px}#compose{background:white;border:1px solid #d6e0d9;border-radius:16px;padding:16px;margin-top:16px}.compose-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.photo-label{font-size:.85rem;min-width:0}#newMessages{display:block;margin:8px auto}#photoName{font-size:.8rem;overflow-wrap:anywhere}:focus-visible{outline:3px solid #c39522;outline-offset:3px}@media(max-width:480px){main{padding:16px 12px}.message{max-width:95%}.compose-actions{align-items:flex-start}.photo-label input{width:190px}.identity{font-size:.9rem}}

.push-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}#pushPanel details{margin-top:12px}#pushPanel summary{cursor:pointer;min-height:32px}#pushPanel h2{margin-top:0}
.message-views{margin-top:10px;border-top:1px solid #bed1c2;padding-top:6px;color:#3b5947;font-size:.76rem}.message-views summary,#privateChat .message-views summary{font-size:.76rem;font-weight:500;cursor:pointer;min-height:28px;padding:4px 0}.message-views ul{padding-left:18px;margin:6px 0 0}.message-views li{margin:4px 0}

/* Keep writing ahead of settings and history, including on small phones. */
#status:empty{display:none}
#compose{margin:12px 0 20px}
#compose textarea{min-height:80px}
#pinned summary,#pushPanel>summary{font-weight:700;cursor:pointer;min-height:28px}
#pinned[open] #pins{margin-top:12px}
.conversation-title{margin:18px 0 8px}
@media(max-width:600px){
  main{padding:12px 12px max(20px,env(safe-area-inset-bottom))}
  main>header{padding-bottom:10px}
  main>header .eyebrow,main>header>p:last-child{display:none}
  h1{font-size:1.5rem;margin:10px 0 0}
  .identity{margin-top:12px}
  #compose{padding:12px}
  #compose .compose-actions{align-items:center}
  #compose .photo-label input{width:180px}
  #messages{height:36vh;min-height:180px}
}

#privateChat{border:2px solid #176747;border-radius:12px;padding:16px;margin:16px 0}#privateChat summary{font-size:1.2rem;font-weight:700;cursor:pointer}#privateChat select{display:block;max-width:100%;padding:12px;margin:10px 0}.private-messages{max-height:45vh;overflow:auto}.leave-question{background:#fff0f0;color:#990d18;border:3px solid #b91c1c;border-radius:12px;padding:20px;margin:16px 0}.leave-question h2{font-size:1.5rem}.leave-question p{white-space:pre-wrap;font-size:1.15rem}.leave-question button{background:#b91c1c;color:white}.private-messages p{white-space:pre-wrap}
