.comments{margin-top:32px}.comments__header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.comments__title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.comments__sort{display:flex;gap:4px;margin-left:auto}.comments__sort-btn{padding:4px 10px;border-radius:6px;font-size:.75rem;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--text-tertiary);cursor:pointer}.comments__sort-btn--active{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border)}.comments__list{display:flex;flex-direction:column;gap:2px}.comments__load-more{text-align:center;padding:12px}.comments__load-more button{font-size:.8125rem;color:var(--accent-green);background:none;border:none;cursor:pointer}.comments__load-more button:hover{text-decoration:underline}.comments__empty{text-align:center;padding:32px 16px;color:var(--text-tertiary);font-size:.875rem;display:flex;flex-direction:column;align-items:center;gap:8px}.comments__signup-cta{display:inline-block;margin-top:4px;padding:6px 16px;border-radius:6px;background:var(--accent-green,#2d6a4f);color:var(--text-on-accent,#1a1714);text-decoration:none;font-size:.8125rem;font-weight:600;transition:opacity .15s}.comments__signup-cta:hover{opacity:.85}.comments__signin-prompt{text-align:center;padding:12px;font-size:.8125rem;color:var(--text-tertiary);border-top:1px solid var(--border-subtle,color-mix(in srgb,var(--text-primary) 6%,transparent));margin-top:12px}.comments__signin-prompt a{color:var(--accent-green,#4ade80);text-decoration:none;font-weight:600}.comments__signin-prompt a:hover{text-decoration:underline}.comment{padding:12px 0;border-bottom:1px solid var(--border-subtle,rgba(255,255,255,.04))}.comment--pinned{background:rgba(74,222,128,.04);border-radius:8px;padding:12px;margin-bottom:4px;border-bottom:none}.comment__pin-badge{font-size:.75rem;color:var(--accent-green);margin-bottom:4px;font-weight:500}.comment__header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.comment__avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,var(--accent-green),var(--accent-blue));display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:#fff}.comment__avatar img{width:100%;height:100%;object-fit:cover}.comment__author{font-size:.8125rem;font-weight:600;color:var(--text-primary);text-decoration:none}.comment__author:hover{color:var(--accent-green)}.comment__creator-badge{font-size:.75rem;padding:1px 6px;border-radius:4px;background:var(--accent-green);color:#000;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.comment__edited,.comment__time{font-size:.75rem;color:var(--text-tertiary)}.comment__edited{font-style:italic}.comment__body{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:8px}.comment__footer{display:flex;align-items:center;gap:12px;font-size:.75rem}.comment__action{color:var(--text-tertiary);cursor:pointer;background:none;border:none;font-size:.75rem;padding:0}.comment__action:hover{color:var(--text-primary)}.comment__overflow{position:relative;margin-left:auto}.comment__overflow-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px 6px;font-size:1rem;line-height:1}.comment__overflow-btn:hover{color:var(--text-primary)}.comment__overflow-menu{position:absolute;right:0;top:100%;z-index:50;min-width:140px;padding:4px;border-radius:8px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,.2)}.comment__overflow-item{display:block;width:100%;padding:6px 10px;font-size:.8125rem;color:var(--text-secondary);background:none;border:none;text-align:left;cursor:pointer;border-radius:4px}.comment__overflow-item:hover{background:var(--bg-surface);color:var(--text-primary)}.comment__overflow-item--danger,.comment__overflow-item--danger:hover{color:var(--status-danger)}.comment__replies{margin-left:36px;margin-top:8px;border-left:2px solid var(--border);padding-left:12px}.comment__show-replies{font-size:.75rem;color:var(--accent-green);background:none;border:none;cursor:pointer;padding:4px 0}.comment__show-replies:hover{text-decoration:underline}.reactions{gap:4px}.reactions,.reactions__chip{display:flex;align-items:center}.reactions__chip{gap:3px;padding:2px 8px;border-radius:12px;font-size:.75rem;background:var(--bg-surface);border:1px solid rgba(0,0,0,0);cursor:pointer;color:var(--text-secondary);transition:border-color .15s}.reactions__chip:hover{border-color:var(--border)}.reactions__chip--active{border-color:var(--accent-green);background:rgba(74,222,128,.08)}.reactions__add{padding:2px 6px;border-radius:12px;font-size:.8125rem;background:none;border:1px dashed var(--border);cursor:pointer;color:var(--text-tertiary)}.reactions__add:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.reactions__picker{display:flex;gap:4px;padding:6px;border-radius:8px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:0 4px 12px rgba(0,0,0,.15)}.reactions__picker button{padding:4px 8px;border-radius:6px;background:none;border:none;cursor:pointer;font-size:1rem}.reactions__picker button:hover{background:var(--bg-surface)}.reactions__picker-portal{padding:8px;border-radius:12px;background:var(--bg-elevated);border:1px solid var(--border-default);box-shadow:0 8px 32px rgba(0,0,0,.4);animation:reactions-picker-in .12s ease-out;max-height:240px;overflow-y:auto;scrollbar-width:thin}.reactions__picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.reactions__picker-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:none;border:none;cursor:pointer;font-size:1.1rem;transition:background .1s}.reactions__picker-btn:hover{background:color-mix(in srgb,var(--text-primary) 8%,transparent)}.reactions__picker-btn--active{background:color-mix(in srgb,var(--accent-green) 15%,transparent)}@keyframes reactions-picker-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.comment-composer{display:flex;gap:8px;align-items:flex-start;padding:12px 0}.comment-composer__input{flex:1 1;min-height:40px;max-height:120px;resize:vertical}