.weekly-page { padding-top:2.5rem; padding-bottom:4rem; }
.weekly-heading, .weekly-period, .weekly-view-controls { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; }
.weekly-heading h1 { font-family:var(--font-heading); font-size:clamp(1.5rem,3vw,2.2rem); margin:.4rem 0; }
.weekly-heading p, #weekly-status { color:var(--text-muted); font-size:.9rem; }
.weekly-week-label, #weekly-team-label { display:flex; flex-direction:column; gap:.3rem; color:var(--text-muted); font-size:.8rem; max-width:100%; }
.weekly-week-label select { min-width:min(100%,270px); }
#weekly-status { margin:1rem 0; }
#weekly-status.is-error { color:var(--loss-red); }
.weekly-report { padding:1.5rem; border:1px solid var(--border-subtle); border-radius:16px; background:rgba(7,10,18,.8); }
.weekly-report[hidden], #weekly-team-label[hidden] { display:none; }
.weekly-period h2 { font-size:1rem; }
.weekly-badge { display:inline-flex; gap:.3rem; padding:.35rem .6rem; background:var(--bg-card); border-radius:7px; color:var(--gold-hextech); font-size:.8rem; }
.weekly-view-controls { margin:1.5rem 0; align-items:flex-end; }
.weekly-view-tabs { display:flex; gap:.5rem; flex-wrap:wrap; }
.weekly-view-tabs button, .weekly-play-clip { padding:.65rem 1rem; border:1px solid var(--border-subtle); border-radius:8px; background:var(--bg-card); color:var(--text-muted); font:inherit; font-size:.9rem; cursor:pointer; }
.weekly-view-tabs button[aria-pressed="true"] { border-color:var(--cyan-primary); color:var(--cyan-primary); }
.weekly-view-tabs button:focus-visible, .weekly-play-clip:focus-visible { outline:2px solid var(--gold-hextech); outline-offset:3px; }
.weekly-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding-bottom:1.25rem; border-bottom:1px solid var(--border-subtle); }
.weekly-metrics span { display:block; font-size:.85rem; color:var(--text-muted); }
.weekly-metrics strong { display:block; font-size:1.7rem; font-variant-numeric:tabular-nums; margin-top:.35rem; }
.weekly-highlights, .weekly-players { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; }
.weekly-card { min-width:0; padding:1.25rem; background:var(--bg-card); border:1px solid var(--border-subtle); border-radius:10px; overflow-wrap:anywhere; }
.weekly-card > span:first-child { color:var(--gold-hextech); font-size:.85rem; }
.weekly-card h3 { font-size:1.05rem; margin:.5rem 0; }
.weekly-card p { color:var(--text-muted); font-size:.85rem; margin:.3rem 0; }
.weekly-card .weekly-delta { color:var(--win-green); font-weight:700; }
.weekly-card .weekly-delta.is-negative { color:var(--loss-red); }
.weekly-clip { display:flex; gap:1.25rem; align-items:center; margin-top:1rem; }
.weekly-play-clip { flex:0 0 130px; align-self:stretch; background:var(--bg-dark); color:var(--cyan-primary); min-height:100px; }
.weekly-clip-body { min-width:0; }
.weekly-clip-body > span:first-child { color:var(--cyan-primary); font-size:.8rem; }
.weekly-clip-body a { color:var(--purple-neon); font-size:.85rem; }
.weekly-embed { width:100%; aspect-ratio:16/9; border:0; border-radius:10px; margin-top:1rem; }
.weekly-team-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.weekly-team-details ul { padding-left:1.2rem; color:var(--text-muted); font-size:.85rem; }
.weekly-team-details li + li { margin-top:.4rem; }
.weekly-empty, .weekly-coverage { color:var(--text-muted); font-size:.85rem; margin:1rem 0; }
.weekly-footer { border-top:1px solid var(--border-subtle); padding-top:1rem; margin-top:1.5rem; color:var(--text-muted); font-size:.8rem; }
@media(max-width:600px) {
  .weekly-report { padding:1rem; }
  .weekly-highlights, .weekly-players, .weekly-team-details { grid-template-columns:1fr; }
  .weekly-metrics { gap:.65rem; }
  .weekly-metrics strong { font-size:1.35rem; }
  .weekly-metrics span { font-size:.75rem; }
  .weekly-heading > *, .weekly-week-label, #weekly-team-label { width:100%; }
  .weekly-clip { flex-direction:column; align-items:stretch; }
  .weekly-play-clip { flex-basis:auto; min-height:65px; }
  .weekly-card { padding:1rem; }
}
