.tg-header { background:#212529; }
  .tg-card { transition: transform .15s ease, box-shadow .15s ease; }
  .tg-card:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(0,0,0,.10) !important; }
  .tg-card:focus-within { box-shadow: 0 0 0 .2rem rgba(184,134,11,.35) !important; }
  /* !important counters base_generic's mobile h3 inflation (1.25rem) */
  .tg-name { font-size: 1.05rem !important; }
  .tg-name a { color:#111827; text-decoration:none; }
  .tg-name a:hover { text-decoration:underline; }
  .tg-tag { font-size:.66rem; font-weight:600; background:#f1f3f5; color:#495057; border:1px solid #e2e8f0; border-radius:999px; padding:2px 8px; }
  .tg-goal { text-decoration:none; }
  .tg-goal:focus-visible, .tg-card a:focus-visible, .btn:focus-visible { outline:3px solid #B8860B; outline-offset:2px; }
  .tg-controls input, .tg-controls select { max-width:100%; }
  @media (min-width:768px){ .tg-controls input { min-width:240px; } }
  /* mini schematic preview */
  .tgp { background:#f8fafc; border:1px solid #e9ecef; 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:.68rem; color:#334155; 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:#B8860B; opacity:.75; }
  .tgp-inf { font-size:.8rem; color:#B8860B; font-weight:800; line-height:1; }
  .tgp-more { font-size:.64rem; color:#94a3b8; margin-top:2px; }
