/* Dashboard content: chips, temas, post cards, sections, base list, mini-ring. */
/* chips */
.chips { display:flex; gap:8px; flex-wrap:wrap; }
.chip { background:var(--elevated); border:1px solid var(--border2); border-radius:999px;
  padding:7px 13px; font-size:13px; }
.chip b { color:var(--muted); font-weight:600; margin-left:6px; }
.chip.brand { border-color:color-mix(in oklch, var(--tx-violet) 45%, transparent);
  background:color-mix(in oklch, var(--tx-violet) 10%, var(--elevated)); }
.chip.brand b { color:var(--purple); }
.chip.mention-chip { cursor:pointer; transition:border-color .15s, color .15s, transform .08s; }
.chip.mention-chip:hover { border-color:var(--purple); color:#fff; transform:translateY(-1px); }
.chip.mention-chip::after { content:" ↗"; color:var(--muted); font-size:11px; }

/* temas principais — tiles com ícone colorido (cor representativa por tema, var --c) */
.themes { display:flex; gap:10px; flex-wrap:wrap; }
.theme { display:inline-flex; align-items:center; gap:10px; background:var(--elevated);
  border:1px solid var(--border2); border-radius:999px; padding:6px 16px 6px 6px;
  transition:border-color .15s, transform .08s; }
.theme:hover { transform:translateY(-1px);
  border-color:color-mix(in oklch, var(--c) 55%, var(--border2)); }
.theme-ic { width:34px; height:34px; flex:none; display:grid; place-items:center; border-radius:50%;
  color:var(--c); background:color-mix(in oklch, var(--c) 16%, transparent);
  border:1px solid color-mix(in oklch, var(--c) 32%, transparent); }
.theme-name { font-weight:600; font-size:14px; color:var(--text); }
.theme-count { font-weight:700; font-size:12px; color:var(--muted);
  background:color-mix(in oklch, var(--text) 7%, transparent); padding:2px 9px; border-radius:999px; }
.theme.clickable { cursor:pointer; }
.theme.active { border-color:var(--c);
  background:color-mix(in oklch, var(--c) 12%, var(--elevated)); }

/* painel "posts por tema" (abre abaixo dos temas) */
.topic-posts { margin-top:12px; display:flex; flex-direction:column; gap:14px;
  animation:topic-in .18s ease-out; }
@keyframes topic-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
.topic-head { display:flex; align-items:center; gap:10px; }
.topic-head .theme-ic { width:30px; height:30px; }
.topic-title { font-size:15px; color:var(--text); }
.topic-title b { text-transform:capitalize; }
.topic-close { margin-left:auto; cursor:pointer; color:var(--muted); font-size:13px; }
.topic-close:hover { color:var(--text); }
/* paginação */
.pager { display:flex; gap:6px; justify-content:center; flex-wrap:wrap; }
.pager-btn { min-width:34px; height:34px; padding:0 10px; border-radius:9px; cursor:pointer;
  background:var(--elevated); border:1px solid var(--border2); color:var(--text);
  font-weight:600; font-size:13px; }
.pager-btn:hover:not(:disabled) { border-color:var(--border2); background:var(--elevated2); }
.pager-btn.active { background:var(--grad-btn); border-color:transparent; color:#fff; }
.pager-btn:disabled { opacity:.4; cursor:default; }

/* charts (pure CSS bars) */
.hbar { display:grid; grid-template-columns:96px 1fr 44px; gap:10px; align-items:center; margin:9px 0; }
.hbar .k { color:var(--muted); font-size:12px; text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hbar .t { height:10px; border-radius:999px; background:rgba(255,255,255,.06); overflow:hidden; }
.hbar .f { height:100%; background:var(--grad-btn); border-radius:999px; }
.hbar .v { font-size:12px; font-weight:700; text-align:right; }
.cols { display:flex; align-items:stretch; gap:3px; height:140px; padding-top:8px; }
.cols .col { flex:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:4px; }
.cols .col .bw { flex:1; width:100%; display:flex; align-items:flex-end; }
.cols .col .b { width:100%; border-radius:4px 4px 0 0; background:var(--grad-btn); min-height:3px; }
.cols .col .h { font-size:9px; color:var(--faint); }

/* post cards */
.post { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-sm);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .1s ease, border-color .2s ease, box-shadow .2s ease; }
.post:hover { transform:translateY(-3px); border-color:var(--border2);
  box-shadow:0 14px 34px rgba(0,0,0,.35); }
.post .thumb { aspect-ratio:1/1; position:relative;
  background:linear-gradient(135deg, color-mix(in oklch, var(--tx-violet) 45%, transparent), color-mix(in oklch, var(--tx-cyan) 30%, transparent) 60%, color-mix(in oklch, var(--tx-cyan-soft) 22%, transparent)); }
.post .thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.post .badge { position:absolute; top:8px; left:8px; background:rgba(0,0,0,.7);
  border:1px solid var(--border2); border-radius:999px; padding:3px 9px; font-size:11px; }
.post .score { position:absolute; top:8px; right:8px; background:var(--grad-btn);
  border-radius:999px; padding:3px 9px; font-size:11px; font-weight:800; }
.post .body { padding:12px; display:flex; flex-direction:column; gap:8px; flex:1; }
.post .cap { font-size:12px; color:#cbd2dd; display:-webkit-box; -webkit-line-clamp:2;
  -webkit-box-orient:vertical; overflow:hidden; min-height:34px; }
.post .stats { display:flex; gap:12px; color:var(--muted); font-size:12px; }
.post .date { color:var(--faint); font-size:11px; }
.post .body .row-between { margin-top:auto; }
.post .post-actions { display:flex; gap:6px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.post .post-refresh[disabled] { opacity:.65; cursor:default; }

/* profile header extras */
.phead-main { flex:1; min-width:0; }
.badge-private { font-size:11px; padding:3px 9px; border-radius:999px;
  background:rgba(245,158,11,.15); color:var(--warn); border:1px solid rgba(245,158,11,.3); }
.badge-admin { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  padding:3px 9px; border-radius:999px; color:var(--text);
  background:color-mix(in oklch, var(--purple) 22%, transparent);
  border:1px solid color-mix(in oklch, var(--purple) 45%, transparent); }
.collected { font-size:12px; margin-top:10px; }

/* content sections grid */
.sections { grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); margin-top:14px; }

/* base-of-profiles list (home) */
.base-list { display:flex; flex-direction:column; }
/* grid de colunas fixas → tudo alinha verticalmente entre as linhas:
   avatar | nome/meta (flexível) | nota | temas (largura fixa p/ 4 bolinhas) | Abrir */
.base-row { display:grid; grid-template-columns:auto 1fr auto 154px auto;
  align-items:center; gap:14px; padding:12px 6px;
  border-bottom:1px solid var(--border); cursor:pointer; transition:background .12s; }
.base-row:last-child { border-bottom:0; }
.base-row:hover { background:var(--elevated); }
.avatar-sm { position:relative; width:44px; height:44px; border-radius:50%; flex:none; overflow:hidden;
  display:grid; place-items:center; border:1px solid var(--border2);
  background:linear-gradient(135deg, color-mix(in oklch, var(--tx-violet) 50%, transparent), color-mix(in oklch, var(--tx-cyan) 35%, transparent)); }
.avatar-sm img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.avatar-sm .avatar-fallback { font-weight:800; font-size:16px; color:#fff; }
.base-info { flex:1; min-width:0; }
.base-name { font-weight:700; font-size:15px; }
.base-meta { font-size:12px; margin-top:2px; }
.base-row .base-open { flex:none; }

/* sentinela do "infinite scroll" da base: entra na viewport → carrega a próxima página */
.base-sentinel { display:flex; align-items:center; justify-content:center; gap:10px;
  padding:16px; color:var(--muted); font-size:13px; }
.base-sentinel[hidden] { display:none; }

/* coluna de temas principais: só bolinha + ícone colorido (nome no tooltip).
   Largura fixa (154px = 4×34 + 3×6) com bolinhas alinhadas à esquerda, para que
   as bolinhas — e a nota à esquerda delas — fiquem na mesma coluna em todas as linhas. */
.base-themes { display:flex; align-items:center; justify-content:flex-start; gap:6px; }
.base-theme { width:34px; height:34px; flex:none; display:grid; place-items:center; border-radius:50%;
  color:var(--c); background:color-mix(in oklch, var(--c) 16%, transparent);
  border:1px solid color-mix(in oklch, var(--c) 32%, transparent); cursor:default; }
.base-theme svg { width:18px; height:18px; }

/* mini score ring (matches the profile ring, compact) */
.mini-ring { --p:0; width:46px; height:46px; border-radius:50%; flex:none;
  background:conic-gradient(from -90deg, var(--blue), var(--purple) calc(var(--p)*1%), color-mix(in oklch, var(--text) 8%, transparent) 0);
  display:grid; place-items:center; }
.mini-ring.empty { background:color-mix(in oklch, var(--text) 8%, transparent); }
.mini-ring .inner { width:36px; height:36px; border-radius:50%; background:var(--surface); display:grid; place-items:center; }
.mini-ring .v { font-size:14px; font-weight:800; }
.base-row:hover .mini-ring .inner { background:var(--elevated); }

