:root{font-family:system-ui,sans-serif;color:#232f29;background:#f8f6ee;--ink:#232f29;--green:#214d3d;--soft:#e5ede1;--line:#dcded2;--paper:#fffefa;--muted:#52645a}
*{box-sizing:border-box}body{margin:0;min-height:100vh} [hidden]{display:none!important} button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #66894e;outline-offset:3px}a{color:var(--green)}
.top{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:3;padding:0 max(1rem,calc((100vw - 72rem)/2));height:4.3rem;background:var(--paper);border-bottom:1px solid var(--line);gap:1rem}
.brand{font-size:1.65rem;font-weight:800;letter-spacing:-.07em}.brand span{color:#558054}.stamp{color:var(--muted);font-size:.82rem;font-weight:650}
main{max-width:65rem;margin:0 auto;padding:2rem 1rem 7rem}.heading{margin:1rem 0 1.5rem}.heading p{max-width:42rem;margin:0;color:var(--muted)}h1{font:clamp(2.5rem,6vw,4.8rem)/.98 Georgia,serif;letter-spacing:-.06em;margin:.45rem 0 .75rem}h2{font-size:1.2rem;margin:0 0 .6rem}main>h2{margin-top:1.6rem}p{margin:.45rem 0 1rem;line-height:1.5;overflow-wrap:anywhere}small{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#4b694d}
nav{position:fixed;z-index:4;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);padding:.3rem .25rem calc(.3rem + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}
nav button{background:none;color:var(--muted);border-radius:.8rem;padding:.3rem .1rem;font-size:.75rem;position:relative;min-height:3.2rem}nav button span{display:block;font-size:1.2rem;line-height:1.35}nav button.selected{background:var(--soft);color:var(--green)}nav b{position:absolute;top:0;right:10%;background:#8c3b38;color:white;border-radius:2rem;padding:0 .35rem}
.card{background:var(--paper);border:1px solid var(--line);border-radius:1.1rem;padding:1rem;margin-bottom:.75rem;min-width:0;overflow-wrap:anywhere}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.7rem}.empty{color:var(--muted);padding:1.25rem}.toolbar,.tabs,.actions,.identity{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.toolbar,.tabs{margin-bottom:.85rem}.toolbar .tabs{margin:0}.actions{margin-top:.75rem}.identity{gap:.75rem}.identity h2{margin:0}.avatar{width:3.6rem;height:3.6rem;object-fit:cover;border-radius:50%;display:grid;place-items:center;background:#dce8d4;color:#265642;font-weight:800;flex-shrink:0}
button{border:0;border-radius:.72rem;padding:.65rem .85rem;min-height:2.75rem;background:var(--green);color:white;font-weight:700}.quiet{background:var(--soft);color:var(--green)}.chip{display:inline-block;background:#e9efe4;color:#315540;padding:.25rem .55rem;border-radius:2rem;margin:.2rem .25rem .2rem 0;font-size:.84rem}.muted{color:var(--muted);font-size:.9rem}
.form{max-width:42rem;margin-top:1rem}label{display:block;font-weight:650;margin:.65rem 0}input:not([type=checkbox]),textarea,select{display:block;width:100%;margin-top:.3rem;padding:.6rem;border:1px solid #aeb8a9;border-radius:.5rem;color:var(--ink);background:#fff;font-size:1rem}textarea{resize:vertical;min-height:5rem}fieldset{border:1px solid var(--line);border-radius:.6rem;margin:1rem 0}.pick{display:inline-flex;gap:.25rem;margin:.35rem .65rem .35rem 0}legend{font-weight:700}
#notice{position:sticky;top:4.3rem;z-index:2;background:#dce8d4;color:#214d3d;padding:.65rem 1rem;text-align:center}#notice.error{background:#fae4de;color:#791f19}
.photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:.6rem}figure{margin:0;background:var(--paper);padding:.5rem;border-radius:.75rem}figure img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:.5rem}figcaption{overflow-wrap:anywhere}.thread{background:#efefe4;border-radius:.9rem;padding:.7rem;display:flex;flex-direction:column;gap:.6rem;max-height:50vh;min-height:7rem;overflow:auto;margin-top:1rem}.bubble{align-self:flex-start;max-width:85%;background:white;border-radius:.8rem;padding:.55rem .7rem}.bubble.own{align-self:flex-end;background:#d8e8d6}.bubble p{white-space:pre-wrap;margin:0 0 .35rem}.bubble footer{font-size:.75rem;color:var(--muted);display:flex;gap:.5rem;align-items:center}.bubble button{min-height:0;padding:.15rem .35rem;font-size:.72rem}.bubble img{display:block;max-width:min(100%,18rem);border-radius:.5rem}.bubble audio,audio{max-width:100%}.chat-options summary{cursor:pointer;color:var(--green);font-weight:700}.attach{font-size:.9rem;width:100%}.attach input{font-size:.9rem!important}
@media(min-width:850px){nav{left:0;right:auto;top:4.3rem;bottom:0;width:11rem;align-content:start;grid-template-columns:1fr;border-right:1px solid var(--line);border-top:0;padding:1rem .6rem;gap:.35rem}nav button{text-align:left;padding:.5rem .7rem;font-size:.9rem}nav button span{display:inline-block;width:1.6rem}body:has(nav:not([hidden])) main{margin-left:max(12rem,calc((100vw - 53rem)/2));margin-right:1rem;padding-bottom:3rem}}

