.tg-header { background: var(--cf-ink); }
.tg-card {
  border: 1px solid var(--cf-border);
  border-radius: 12px;
  background: var(--cf-surface);
  box-shadow: none;
  transition: border-color .15s ease;
}
.tg-card:hover, .tg-card:focus-within { border-color: var(--cf-ink); }
.tg-name { font-size: 1rem !important; }
.tg-name a, .tg-name a:visited, .tg-name a:hover, .tg-name a:focus { color: var(--cf-ink); text-decoration: none; }
.tg-name a:hover { text-decoration: underline; }
.tg-goal { text-decoration: none; }
.tg-goal:focus-visible, .tg-card a:focus-visible { outline: 2px solid var(--cf-ink); outline-offset: 3px; }
.tg-controls input, .tg-controls select { max-width: 100%; }
#tgResultsSection, .tg-section { scroll-margin-top: 1rem; }
@media (min-width:768px) { .tg-controls input { min-width:240px; } }
.tgp { background: var(--cf-page); border: 1px solid var(--cf-border); border-radius:8px; padding:8px 10px; }
.tgp-row { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:2px 0; }
.tgp-name { font-size:.75rem; color:var(--cf-ink); font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tgp-dots { display:inline-flex; gap:3px; align-items:center; }
.tgp-dot { width:7px; height:7px; border-radius:50%; background:var(--brass); opacity:.75; }
.tgp-inf { font-size:.875rem; color:var(--cf-muted); font-weight:800; line-height:1; }
.tgp-more { font-size:.72rem; color:var(--cf-muted); margin-top:2px; }
