/* Minimal base tokens (fallback) */
:root{
  --tv-primary:#1A237E;--tv-secondary:#283593;--tv-accent:#EF5252;
  --tv-bg:#0b0f2a;--tv-text:#ffffff;--tv-border:rgba(255,255,255,.14);
  --tv-muted:rgba(255,255,255,.78);--tv-wrap-max:1200px;--tv-pad-x:25px;--tv-pad-y:56px;
}
body.theme-dark{background:var(--tv-bg);color:var(--tv-text)}
.tv-wrap{max-width:var(--tv-wrap-max);margin:0 auto;padding:var(--tv-pad-y) var(--tv-pad-x)}


/* === Grid utilities (standalone) === */
.tv-grid, .tv-grid-2, .tv-grid-3, .tv-grid-4 { display:grid; gap:16px; }
@media (min-width: 768px){ .tv-grid-2 { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1025px){
  .tv-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .tv-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
}