.comments-dialog { width:min(46rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); padding:0; border:1px solid #D9CFC0; border-radius:1.4rem; background:#F7F3EA; color:#151515; overflow-y:auto; overflow-x:hidden; position:fixed; }
.comments-dialog::backdrop { background:#15151599; }
.comments-sheet { padding:clamp(1.25rem,5vw,2.75rem); }
.comments-sheet h2 { font-size:clamp(2.1rem,5vw,3.5rem); margin:0 3rem 1rem 0; }
.comments-card-title { font-family:var(--serif,var(--font-title)); font-size:1.35rem; }
.comments-trigger { display:inline-flex; align-items:center; gap:.6rem; margin-top:.8rem; }
.comments-trigger img { flex-shrink:0; width:20px; height:20px; }
.comments-list { display:grid; gap:1rem; margin:1.4rem 0; }
.public-comment { padding:1rem; border:1px solid #D9CFC0; border-radius:.8rem; background:#fffaf1; }
.comment-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; }
.comment-heading time,.comment-function { font-size:.8rem; color:#585d53; }
.comment-text { white-space:pre-wrap; overflow-wrap:anywhere; margin-bottom:0; }
.comment-form { display:grid; gap:.85rem; margin-top:2rem; }
.comment-form h3 { margin-bottom:0; }
.comment-form label { display:flex; flex-direction:column; gap:.4rem; min-width:0; }
.comment-form input,.comment-form textarea { width:100%; min-width:0; min-height:44px; padding:.8rem; border:1px solid #6F756B; border-radius:.35rem; background:#fff; color:#151515; font:inherit; }
.comment-form textarea { resize:vertical; }
.comment-form [aria-invalid=true] { border:2px solid #9b2424; }
.comment-form .btn { justify-self:start; }
.comments-status { min-height:1.5rem; font-size:.9rem; margin-top:1rem; }
.comments-dialog .dialog-close { position:absolute; right:.65rem; top:.65rem; }
@media(max-width:430px) { .comments-dialog { width:calc(100% - 1rem); max-height:calc(100dvh - 1rem); } .comment-heading { flex-direction:column; } }
