body.anibanan-site .ab-today-schedule { min-height:136px; }
body.anibanan-site .ab-today-schedule__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
body.anibanan-site .ab-schedule-card { position:relative; display:grid; grid-template-columns:82px minmax(0,1fr); min-width:0; min-height:132px; overflow:hidden; color:#f4f8ff; background:linear-gradient(145deg,rgba(13,30,57,.98),rgba(7,18,37,.96)); border:1px solid rgba(95,180,255,.2); border-radius:20px; box-shadow:0 14px 32px rgba(0,5,18,.22); text-decoration:none; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
body.anibanan-site .ab-schedule-card:hover { transform:translateY(-3px); border-color:rgba(88,213,255,.52); box-shadow:0 18px 38px rgba(0,8,28,.34),0 0 0 1px rgba(88,213,255,.08); }
body.anibanan-site .ab-schedule-card__media { display:block; min-width:0; overflow:hidden; background:rgba(65,113,181,.16); }
body.anibanan-site .ab-schedule-card__media img,
body.anibanan-site .ab-schedule-card__placeholder { display:block; width:100%; height:100%; min-height:132px; object-fit:cover; }
body.anibanan-site .ab-schedule-card__placeholder { background:linear-gradient(135deg,rgba(61,111,180,.5),rgba(41,28,104,.48)); }
body.anibanan-site .ab-schedule-card__content { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:16px 34px 16px 15px; }
body.anibanan-site .ab-schedule-card__time { margin-bottom:7px; color:#5dd8ff; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
body.anibanan-site .ab-schedule-card__title { display:-webkit-box; overflow:hidden; color:#f4f8ff; font-size:15px; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
body.anibanan-site .ab-schedule-card__meta { display:-webkit-box; overflow:hidden; margin-top:7px; color:#9eacc1; font-size:12px; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
body.anibanan-site .ab-schedule-card__arrow { position:absolute; right:14px; top:50%; color:#5dd8ff; font-size:21px; transform:translateY(-50%); }
body.anibanan-site .ab-today-schedule__state { display:flex; align-items:center; justify-content:center; gap:12px; min-height:136px; padding:22px; color:#aab7c9; background:rgba(6,18,38,.56); border:1px dashed rgba(95,180,255,.22); border-radius:20px; text-align:center; }
body.anibanan-site .ab-today-schedule__state a,
body.anibanan-site .ab-today-schedule__fallback { color:#5dd8ff; font-weight:700; }
body.anibanan-site .ab-today-schedule__spinner { width:20px; height:20px; flex:0 0 auto; border:2px solid rgba(93,216,255,.2); border-top-color:#5dd8ff; border-radius:50%; animation:ab-schedule-spin .8s linear infinite; }
@keyframes ab-schedule-spin { to { transform:rotate(360deg); } }
@media screen and (max-width:1180px) { body.anibanan-site .ab-today-schedule__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media screen and (max-width:620px) {
  body.anibanan-site .ab-today-schedule__grid { grid-template-columns:minmax(0,1fr); }
  body.anibanan-site .ab-schedule-card { grid-template-columns:76px minmax(0,1fr); min-height:116px; border-radius:17px; }
  body.anibanan-site .ab-schedule-card__media img,
  body.anibanan-site .ab-schedule-card__placeholder { min-height:116px; }
  body.anibanan-site .ab-today-schedule__state { flex-direction:column; }
}
