.comments-panel{margin-top:16px;padding-top:16px;border-top:1px dashed var(--glass-border);display:none;}
  .comments-panel.open{display:block;}
  .comment-list{display:flex;flex-direction:column;gap:12px;margin-bottom:14px;max-height:340px;overflow-y:auto;padding-right:4px;}
  .comment-item{display:flex;gap:10px;align-items:flex-start;}
  .comment-body{flex:1;min-width:0;background:var(--glass-fill);border:1px solid var(--glass-border);border-radius:14px;padding:10px 13px;}
  .comment-name{font-family:var(--font-display);font-weight:600;font-size:.82rem;}
  .comment-time{font-family:var(--font-mono);font-size:.65rem;color:var(--ink-500);margin-left:8px;}
  .comment-text{font-size:.86rem;color:var(--ink-200);margin-top:3px;line-height:1.5;white-space:pre-wrap;word-break:break-word;}
  .comment-empty{font-size:.82rem;color:var(--ink-500);text-align:center;padding:10px 0 16px;}
  .comment-form{display:flex;gap:8px;align-items:center;}
  .comment-form input{
    flex:1;min-width:0;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.05);
    border:1px solid var(--glass-border);color:var(--ink-0);font-size:.86rem;outline:none;
  }
  .comment-form input:focus{border-color:var(--blue-400);}

  /* ================= TREE BRANCHES (new) =================
     Replies nest under their parent. A rail runs down each
     branch; clicking the rail folds it. Same glass borders
     and colours as the rest of the card. */
  .comment-list{max-height:min(60vh,520px);}

  .comment-node{position:relative;}
  .comment-node + .comment-node{margin-top:12px;}

  .branch{position:relative;margin-left:13px;padding-left:17px;margin-top:12px;}
  .branch::before{
    content:"";position:absolute;left:0;top:-10px;bottom:10px;width:1px;
    background:linear-gradient(180deg,var(--glass-border),rgba(255,255,255,.05));
    transition:background .2s ease;
  }
  .branch:has(> .branch-rail:hover)::before,
  .branch.hot::before{background:linear-gradient(180deg,var(--blue-400),rgba(111,160,255,.15));}
  .branch-rail{
    position:absolute;left:-9px;top:-10px;bottom:10px;width:19px;z-index:3;
    border:none;background:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;
  }
  .branch > .comment-node::before{
    content:"";position:absolute;left:-17px;top:0;width:15px;height:19px;
    border-left:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);
    border-bottom-left-radius:11px;
  }

  .branch-folded{
    display:inline-flex;align-items:center;gap:7px;margin:10px 0 0 38px;
    background:var(--glass-fill);border:1px solid var(--glass-border);border-radius:999px;
    color:var(--ink-300);font-family:var(--font-mono);font-size:.7rem;padding:5px 12px;cursor:pointer;
  }
  .branch-folded:hover{color:var(--ink-0);border-color:var(--blue-400);}

  .comment-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
  .comment-mine{
    font-family:var(--font-mono);font-size:.6rem;color:var(--blue-300);
    border:1px solid rgba(111,160,255,.4);border-radius:999px;padding:1px 6px;
  }
  .comment-to{font-size:.7rem;color:var(--ink-500);margin-bottom:4px;}
  .comment-to b{color:var(--ink-300);font-weight:600;}
  .comment-tools{display:flex;align-items:center;gap:4px;margin-top:7px;}
  .comment-tool{
    border:none;background:none;color:var(--ink-500);font-family:var(--font-mono);font-size:.7rem;
    display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:8px;cursor:pointer;
    transition:color .16s ease, background .16s ease;
  }
  .comment-tool:hover{background:rgba(255,255,255,.07);color:var(--ink-0);}
  .comment-tool.liked{color:var(--danger);}

  /* who you are replying to, above the box */
  .reply-aim{
    display:flex;align-items:center;gap:8px;margin-bottom:9px;padding:7px 12px;
    background:var(--glass-fill);border:1px solid var(--glass-border);border-radius:999px;
    font-size:.76rem;color:var(--ink-300);width:fit-content;max-width:100%;
  }
  .reply-aim b{color:var(--ink-0);font-weight:600;}
  .reply-aim button{
    border:none;background:none;color:var(--ink-500);cursor:pointer;font-size:.95rem;line-height:1;padding:0 2px;
  }
  .reply-aim button:hover{color:var(--danger);}

  @media (max-width:520px){
    .branch{margin-left:6px;padding-left:14px;}
    .branch > .comment-node::before{left:-14px;width:12px;}
    .branch-folded{margin-left:20px;}
  }

  /* past MAX_INDENT the branch stops stepping right */
  .branch.flat{margin-left:0;}