.linear-thread-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.linear-thread-title { font-weight:600; font-size:14px; }
.linear-thread-link { font-size:12px; color:#2563eb; text-decoration:none; }
.linear-thread { border:1px solid #e5e7eb; border-radius:6px; padding:10px; background:#fff; }
.linear-thread-comments { display:flex; flex-direction:column; gap:8px; max-height:320px; overflow:auto; }
.linear-comment { border:1px solid #f3f4f6; border-radius:6px; padding:8px; background:#fafafa; }
.linear-comment-meta { font-size:12px; color:#6b7280; margin-bottom:4px; display:flex; gap:8px; }
.linear-comment-body { font-size:14px; white-space:pre-wrap; }
.linear-thread-form { display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.linear-thread-input { width:100%; border:1px solid #e5e7eb; border-radius:6px; padding:8px; font-size:14px; resize:vertical; }
.linear-thread-submit { align-self:flex-end; background:#111827; color:#fff; border:0; border-radius:6px; padding:8px 12px; cursor:pointer; }
.linear-thread-error { color:#b91c1c; font-size:13px; }
.linear-tabs { display:flex; gap:6px; margin-bottom:8px; }
.linear-tab { background:#f3f4f6; border:1px solid #e5e7eb; border-radius:6px; padding:6px 10px; cursor:pointer; font-size:12px; }
.linear-tab.active { background:#111827; color:#fff; border-color:#111827; }
.linear-tab-content { }
.linear-list { display:flex; flex-direction:column; gap:8px; }
.linear-card { border:1px solid #e5e7eb; border-radius:8px; padding:10px; background:#fff; }
.linear-card .title { font-weight:600; margin-bottom:4px; color:#111827; }
.linear-card .meta { font-size:12px; color:#6b7280; margin-bottom:4px; }
.linear-card .actions { display:flex; gap:10px; }
.linear-link { color:#2563eb; text-decoration:none; font-size:12px; }
.linear-btn { border:0; border-radius:6px; padding:6px 10px; cursor:pointer; font-size:12px; }
.linear-btn-primary { background:#111827; color:#fff; }
.linear-btn-secondary { background:#e5e7eb; color:#111827; }
.linear-input { width:100%; border:1px solid #e5e7eb; border-radius:6px; padding:8px; font-size:14px; }
.linear-textarea { width:100%; border:1px solid #e5e7eb; border-radius:6px; padding:8px; font-size:14px; resize:vertical; margin-top:6px; }
.linear-actions { margin-top:8px; display:flex; gap:10px; }
.linear-attachment-link { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#2563eb; text-decoration:none; margin:4px 0; word-break:break-word; }
.linear-comment-body .linear-attachment-link::before { content:'📎'; font-size:12px; }
.linear-attachment-image { margin:8px 0; border:1px solid #e5e7eb; border-radius:8px; overflow:hidden; background:#f9fafb; }
.linear-attachment-image a { display:block; }
.linear-attachment-image img { width:100%; max-height:320px; object-fit:contain; background:#11182708; }
.linear-attachment-caption { padding:6px 8px; font-size:12px; color:#6b7280; background:#f3f4f6; border-top:1px solid #e5e7eb; }
.linear-comment-body { font-size:14px; white-space:pre-wrap; word-break:break-word; }
.linear-comment-body br { display:block; content:""; margin:2px 0; }

/* Floating Action Button for opening the Linear modal */
.linear-fab { position: fixed; right: 20px; bottom: 20px; width: 48px; height: 48px; border-radius: 50%;
  border: 0; background: #111827; color: #fff; font-size: 24px; line-height: 48px; text-align: center; cursor: pointer;
  box-shadow: 0 8px 20px rgba(0,0,0,0.18); z-index: 1060; }
.linear-fab:hover { background: #0b1220; }

/* Tailwind/Alpine modal shell */
.linear-modal-backdrop { position: fixed; inset: 0; background: rgba(17, 24, 39, 0.55); display:flex; align-items:center; justify-content:center; padding: 1.5rem; z-index: 1050; backdrop-filter: blur(4px); }
.linear-modal-container { width: min(100%, 720px); max-height: 85vh; background:#fff; color:#111827; border-radius: 1rem; box-shadow: 0 20px 45px rgba(15, 23, 42, 0.35); display:flex; flex-direction:column; overflow:hidden; }
.linear-modal-header { display:flex; justify-content:space-between; align-items:center; padding: 1rem 1.25rem; border-bottom:1px solid #e5e7eb; color:inherit; }
.linear-modal-title { font-size: 1rem; font-weight:600; color:#111827; }
.linear-modal-close { width:32px; height:32px; border-radius:9999px; border:0; background:#f3f4f6; color:#111827; font-size:20px; line-height:32px; text-align:center; cursor:pointer; transition: background 0.2s ease, color 0.2s ease; }
.linear-modal-close:hover { background:#111827; color:#fff; }
.linear-modal-body { padding: 1rem 1.25rem 1.5rem; overflow:auto; color:inherit; }
.linear-modal-body .linear-thread { max-height: calc(75vh - 3rem); }

@media (max-width: 640px) {
  .linear-modal-backdrop { padding: 0.75rem; }
  .linear-modal-container { max-height: 92vh; border-radius: 0.75rem; }
  .linear-modal-body .linear-thread { max-height: calc(80vh - 3rem); }
}

