.comments { max-width:680px; margin:70px auto 0; padding-top:38px; border-top:1px solid var(--line); font-family:var(--sans); }
.comments h2 { margin:0 0 18px; font:400 2.4rem/1.2 var(--serif); }
.comment-note,.comment-message { color:var(--muted); font-size:.88rem; }
.comment-message { min-height:1.7em; }
.comment-form { display:grid; gap:12px; margin:28px 0; }
.comment-form label { font-size:.88rem; }
.comment-form input,.comment-form textarea { width:100%; min-width:0; padding:13px 15px; color:var(--ink); background:var(--panel); border:1px solid var(--line); border-radius:0; font:inherit; }
.comment-form textarea { resize:vertical; }
.comment-form .button { justify-self:start; }
.comments .button,.comment-admin .button { background:transparent; cursor:pointer; font-family:var(--sans); }
.comments .button:hover,.comment-admin .button:hover { background:var(--blue); }
.comments button:disabled,.comment-admin button:disabled { opacity:.5; cursor:wait; }
.comments [hidden],.comment-admin [hidden] { display:none !important; }
.comment-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.comment-card { padding:25px 0; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.comment-meta { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; font-size:.9rem; }
.comment-meta span,.comment-meta time { color:var(--muted); font-size:.75rem; }
.comment-text { white-space:pre-wrap; color:#c7ced0; }
.comment-owner { display:block; margin-top:30px; color:var(--muted); font-size:.75rem; text-decoration:underline; text-underline-offset:3px; }
.comment-admin { max-width:800px; padding:70px 0 100px; }
.comment-admin h1 { font:400 clamp(2.5rem,7vw,4.5rem)/1.1 var(--serif); }
.comment-admin .comment-actions { display:flex; flex-wrap:wrap; gap:10px; }
.comment-admin .comment-toggle { display:flex; gap:12px; align-items:flex-start; margin:25px 0; }
.comment-admin input[type=checkbox] { margin-top:8px; width:20px; height:20px; accent-color:var(--blue-light); }
.comment-admin a.inline-link { font-size:.85rem; }
.comment-form-actions { display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
.comment-action { border:0; padding:8px 0; min-height:44px; background:transparent; color:var(--blue-light); font:600 .85rem var(--sans); cursor:pointer; }
.comment-action:hover { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.comment-reply-context { margin:0; color:var(--blue-light); font-size:.9rem; }
.comment-replies { margin:16px 0 0 4px; padding-left:clamp(12px,3vw,24px); border-left:1px solid var(--line); }
.comment-replies-flat { margin-left:0; padding-left:0; border-left:0; }
.comment-replies .comment-card { padding-bottom:0; }
.comment-card .comment-form { padding:20px 0; }


.comment-meta .comment-owner-badge { color:var(--blue-light); border:1px solid var(--blue-light); padding:2px 8px; border-radius:20px; font-weight:600; }
.comment-by-owner { border-top-color:var(--blue-light); }
.comment-owner-access { margin-top:14px; }
