.weekly-body { --bg: #0b1825; background: var(--bg); }
.weekly-page { max-width: 1100px; margin: 0 auto; padding: 42px 24px 70px; color: #94acc5; }
.weekly-page [hidden] { display: none !important; }
.weekly-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-end; margin-bottom: 18px; }
.weekly-heading h1 { margin: 0; color: #e7edf5; font: 500 1.65rem/1.3 var(--font-body); }
.weekly-heading p { margin: 5px 0 0; font-size: .77rem; }
.weekly-clock { text-align: right; flex-shrink: 0; }
.weekly-clock span { display: block; font-size: .58rem; letter-spacing: .12em; }
.weekly-clock time { color: #b9cbdf; font: 1.45rem/1.2 Impact,'Arial Narrow',sans-serif; }
.weekly-calendar { background: #101e2d; border-radius: 9px; overflow: hidden; }
.weekly-days-nav { display: flex; align-items: stretch; }
.weekly-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); flex: 1; min-width: 0; }
.weekly-day { border: 0; border-bottom: 2px solid transparent; background: transparent; color: #71869d; padding: 15px 3px 12px; cursor: pointer; min-width: 0; }
.weekly-day > span { display: block; font-size: .64rem; text-transform: uppercase; white-space: nowrap; }
.weekly-day b { display: block; font: 1.85rem/1.2 Impact,'Arial Narrow',sans-serif; text-transform: uppercase; }
.weekly-day small { display: block; margin-top: 9px; font-size: .6rem; }
.weekly-day.selected { color: #b8cee6; border-bottom-color: #25afdc; background: #142537; }
.weekly-day.selected > span,.weekly-day.selected small { color: #28b7e6; }
.weekly-day:hover { background: #172a3b; }
.weekly-arrow { padding: 0 8px; background: transparent; color: #8faac6; border: 0; cursor: pointer; font: 2rem Arial,sans-serif; }
.weekly-filters { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border-top: 1px solid rgba(130,165,195,.04); background: #0e1b28; }
.weekly-filters [role="group"] { display: flex; gap: 6px; }
.weekly-filters button { border: 0; border-radius: 18px; background: #1a2c3e; color: #9cb1c9; font: .75rem var(--font-body); padding: 5px 14px; cursor: pointer; }
.weekly-filters button[aria-pressed="true"] { background: #25a9d4; color: white; }
#weeklySummary { font-size: .66rem; text-align: right; }
.weekly-page button:focus-visible,.weekly-card:focus-visible { outline: 2px solid #27b9e9; outline-offset: 3px; }
.weekly-timeline { list-style: none; margin: 24px 0 0; padding: 0; }
.weekly-group { display: grid; grid-template-columns: 70px 22px minmax(0,1fr); column-gap: 8px; }
.weekly-airtime { padding-top: 10px; text-align: right; color: #a6c1df; font: 1.2rem/1.1 Impact,'Arial Narrow',sans-serif; }
.weekly-airtime small,.weekly-now time small { display: block; margin-top: 4px; font: .62rem var(--font-body); }
.weekly-stem { position: relative; }
.weekly-stem::before { content: ''; position: absolute; top: 0; bottom: 0; left: 11px; width: 1px; background: #30465b; }
.weekly-stem i { position: absolute; top: 17px; left: 6px; width: 11px; height: 11px; border: 2px solid #39536c; border-radius: 50%; background: #0b1825; }
.weekly-cards { min-width: 0; padding-bottom: 12px; display: grid; gap: 12px; }
.weekly-card { position: relative; display: flex; gap: 14px; padding: 12px; border: 1px solid rgba(133,161,195,.07); border-radius: 11px; background: #111f2e; transition: border-color .15s,background .15s; }
a.weekly-card:hover { border-color: #198cba; background: #152638; }
.weekly-poster { width: 76px; height: 108px; flex-shrink: 0; object-fit: cover; border-radius: 5px; background: #172c40; }
.weekly-card-copy { flex: 1; min-width: 0; padding-right: 100px; }
.weekly-card h2 { color: #c4d5e7; font: 600 .88rem/1.35 var(--font-body); margin: 0 0 5px; }
.weekly-meta { display: flex; align-items: center; gap: 9px; color: #39b8e8; font-size: .66rem; font-weight: 600; }
.weekly-language { background: #173950; border-radius: 3px; padding: 1px 5px; font-size: .58rem; letter-spacing: .03em; }
.weekly-language.dub { background: #3a2f24; color: #e4b578; }
.weekly-card p { margin: 8px 0; font-size: .73rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.weekly-genres { display: flex; gap: 5px; flex-wrap: wrap; }
.weekly-genres span { color: #90aac8; background: #1a2d40; border-radius: 12px; padding: 1px 9px; font-size: .61rem; }
.weekly-countdown { position: absolute; right: 12px; top: 13px; color: #a2c8e7; font: .88rem/1.1 Impact,'Arial Narrow',sans-serif; white-space: nowrap; }
.weekly-now { display: grid; grid-template-columns: 70px 22px auto; column-gap: 8px; align-items: center; margin: 15px 0 12px; color: #26b4e1; }
.weekly-now time { text-align: right; font: .9rem Impact,'Arial Narrow',sans-serif; }
.weekly-now > span { height: 2px; background: #26b4e1; }
.weekly-now b { font-size: .64rem; letter-spacing: .14em; }
.weekly-empty { text-align: center; color: #96abc2; padding: 50px 20px; border: 1px dashed #284057; border-radius: 10px; }
.weekly-note { font-size: .69rem; margin-top: 20px; color: #7892ac; }
.weekly-feedback { display: flex; align-items: center; gap: 14px; font-size: .78rem; color: #e3b88c; }
.weekly-feedback:not(:has(> :not([hidden]))) { display: none; }
.weekly-footer { background: linear-gradient(115deg,#111f2e,#172d3f); border-top: 1px solid #1c3246; padding: 40px 0; }
.weekly-footer h2 { color: #d5e1ee; font: 500 1.4rem var(--font-body); margin: 0 0 15px; }
.weekly-footer h2 small { font-size: .7rem; color: #8ea4bd; margin-left: 12px; }
#weeklyAz { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 32px; }
#weeklyAz a { padding: 2px 9px; border-radius: 3px; background: #273e54; color: #b7cce1; font-size: .82rem; }
#weeklyAz a:hover { background: #2583a4; }
.weekly-footer-links { display: flex; gap: 20px; flex-wrap: wrap; font-size: .76rem; margin: 22px 0 12px; }
.weekly-footer p { font-size: .72rem; color: #8098b1; }
@media(max-width:650px) {
  .weekly-page { padding: 28px 12px 45px; }.weekly-heading h1 { font-size: 1.35rem; }.weekly-clock time { font-size: 1.1rem; }
  .weekly-day > span { font-size: .48rem; white-space: normal; min-height: 22px; }.weekly-day b { font-size: 1.45rem; }.weekly-arrow { padding: 0 3px; }
  .weekly-group,.weekly-now { grid-template-columns: 44px 13px minmax(0,1fr); column-gap: 5px; }.weekly-stem::before { left: 6px; }.weekly-stem i { left: 2px; width: 9px; height: 9px; }
  .weekly-airtime { font-size: 1rem; }.weekly-card { gap: 9px; padding: 9px; }.weekly-poster { width: 55px; height: 80px; }
  .weekly-card-copy { padding-right: 0; }.weekly-card h2 { font-size: .78rem; padding-right: 0; }.weekly-card p { font-size: .66rem; }
  .weekly-countdown { position: static; align-self: flex-start; font-size: .65rem; }.weekly-card { flex-wrap: wrap; }.weekly-card-copy { flex-basis: calc(100% - 70px); }
  .weekly-countdown { margin-left: 64px; }.weekly-genres span { font-size: .55rem; }.weekly-heading { gap: 8px; }.weekly-heading p { font-size: .62rem; }
}
