/* MakkiPlay Schedule Experience v5 — centered editorial header + active-release carousel */



.mp-schedule-page{box-sizing:border-box;min-height:calc(100vh - 60px);padding:34px 0 76px;background:var(--mp-bg)}
.mp-schedule-shell{width:min(calc(100% - 36px),var(--mp-schedule-container,1440px));margin-inline:auto}
.mp-schedule-page__content{margin:0}.mp-schedule-page__content>p:empty{display:none}
.mp-schedule-v3{display:grid;gap:24px;color:var(--mp-text);--mp-schedule-effective-days:var(--mp-schedule-render-days,5)}

.mp-schedule-head{display:grid;justify-items:center;padding:4px 0 8px;text-align:center}
.mp-schedule-head__copy{display:grid;justify-items:center;gap:7px;width:min(100%,760px)}
.mp-schedule-head__copy h1,.mp-schedule-head__copy h2{margin:0;color:var(--mp-text);font-size:var(--mp-fs-fluid-schedule-title);font-weight:var(--mp-weight-extrabold);line-height:var(--mp-lh-103);letter-spacing:var(--mp-track-neg-04);text-wrap:balance}
.mp-schedule-head__subtitle{max-width:680px;margin:0;color:var(--mp-muted);font-size:var(--mp-fs-12);font-weight:var(--mp-weight-regular);line-height:var(--mp-lh-15);text-wrap:balance}

.mp-schedule-calendar{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:start;gap:1px;min-width:0}
.mp-schedule-calendar__nav{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;background:var(--mp-accent);color:var(--mp-button-ink,var(--mp-selected-ink));cursor:pointer;font-size:var(--mp-fs-30);font-weight:var(--mp-weight-regular);line-height:var(--mp-lh-1);transition:background-color var(--mp-motion-fast) var(--mp-ease),opacity var(--mp-motion-fast) var(--mp-ease)}
.mp-schedule-calendar__nav:hover,.mp-schedule-calendar__nav:focus-visible{background:var(--mp-accent-hover);color:var(--mp-button-ink,var(--mp-selected-ink));outline:2px solid var(--mp-accent);outline-offset:2px}
.mp-schedule-calendar__nav:disabled{opacity:.34;cursor:default}.mp-schedule-calendar__nav span{transform:translateY(-1px)}
.mp-schedule-calendar__viewport{min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}
.mp-schedule-calendar__viewport::-webkit-scrollbar{display:none}
.mp-schedule-calendar__viewport:focus-visible{outline:2px solid var(--mp-accent);outline-offset:3px;border-radius:2px}
.mp-schedule-calendar__track{display:flex;align-items:stretch;gap:1px;min-width:100%}
.mp-schedule-column{flex:0 0 calc((100% - (var(--mp-schedule-effective-days) - 1)*1px)/var(--mp-schedule-effective-days));min-width:0;scroll-snap-align:start;background:var(--mp-surface);border:1px solid var(--mp-line);border-top:0}
.mp-schedule-column__head{display:flex;align-items:center;justify-content:center;gap:4px;height:40px;padding:0 10px;background:var(--mp-accent);color:var(--mp-accent-ink);text-align:center;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.mp-schedule-column__head span,.mp-schedule-column__head strong{font-size:var(--mp-fs-11);font-weight:var(--mp-weight-bold);letter-spacing:var(--mp-track-pos-01);line-height:var(--mp-lh-1)}
.mp-schedule-column.is-today .mp-schedule-column__head{background:var(--mp-accent-hover)}
.mp-schedule-column__body{display:grid;align-content:start;min-height:138px;background:var(--mp-bg)}

.mp-schedule-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:11px;min-width:0;padding:10px;background:var(--mp-bg);color:var(--mp-text);transition:background-color var(--mp-motion-ui) var(--mp-ease),box-shadow var(--mp-motion-ui) var(--mp-ease)}
.mp-schedule-card+.mp-schedule-card{border-top:1px solid var(--mp-line)}
.mp-schedule-card:hover,.mp-schedule-card:focus-within{background:color-mix(in srgb,var(--mp-accent) 4%,var(--mp-bg));box-shadow:inset 3px 0 0 var(--mp-accent)}
.mp-schedule-card__media{display:block;width:72px;aspect-ratio:2/3;overflow:hidden;background:var(--mp-surface-2)}
.mp-schedule-card__media img,.mp-schedule-card__placeholder{display:block;width:100%;height:100%;object-fit:cover}
.mp-schedule-card__placeholder{background:linear-gradient(135deg,var(--mp-surface-2),var(--mp-surface))}
.mp-schedule-card__body{display:grid;align-content:center;justify-items:start;min-width:0;padding:2px 0}
.mp-schedule-card__title{max-width:100%;margin:0;color:var(--mp-text);font-size:var(--mp-fs-14);font-weight:var(--mp-weight-bold);line-height:var(--mp-lh-122)}
.mp-schedule-card__title a{display:-webkit-box;overflow:hidden;color:var(--mp-text);-webkit-box-orient:vertical;-webkit-line-clamp:2;transition:color var(--mp-motion-fast) var(--mp-ease)}
.mp-schedule-card__title a:hover,.mp-schedule-card__title a:focus-visible,.mp-schedule-card:hover .mp-schedule-card__title a{color:var(--mp-accent);outline:0}
.mp-schedule-card__episode{display:block;max-width:100%;margin-top:4px;overflow:hidden;color:var(--mp-accent);font-size:var(--mp-fs-11);font-weight:var(--mp-weight-medium);line-height:var(--mp-lh-13);text-overflow:ellipsis;white-space:nowrap}
.mp-schedule-card__episode:hover,.mp-schedule-card__episode:focus-visible{color:var(--mp-accent-hover);outline:0;text-decoration:underline;text-underline-offset:2px}
.mp-schedule-card__meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:100%;margin-top:5px;color:var(--mp-muted);font-size:var(--mp-fs-10);font-weight:var(--mp-weight-medium);line-height:var(--mp-lh-125)}
.mp-schedule-card__meta>*+*::before{content:"·";margin-right:6px;color:var(--mp-muted)}
.mp-schedule-card__meta time{color:var(--mp-text)}.mp-schedule-card__meta small{font-size:var(--mp-fs-9)}.mp-schedule-card__meta.is-local small{color:var(--mp-accent)}
.mp-schedule-status{display:inline-flex;align-items:center;min-height:19px;margin-top:6px;padding:0 6px;border-radius:999px;background:var(--mp-surface-2);color:var(--mp-muted);font-size:var(--mp-fs-8);font-weight:var(--mp-weight-bold);text-transform:uppercase}
.mp-schedule-status--delayed{background:color-mix(in srgb,var(--mp-warning) 13%,transparent);color:var(--mp-warning)}
.mp-schedule-status--cancelled{background:color-mix(in srgb,var(--mp-danger) 12%,transparent);color:var(--mp-danger)}

.mp-schedule-time-note{margin:0;color:var(--mp-muted);font-size:var(--mp-fs-10);line-height:var(--mp-lh-145);text-align:right}
.mp-schedule-empty-week{display:grid;justify-items:center;gap:7px;padding:52px 20px;border:1px dashed var(--mp-line);border-radius:12px;background:var(--mp-surface);text-align:center}
.mp-schedule-empty-week>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--mp-accent-soft);color:var(--mp-accent);font-size:var(--mp-fs-25)}
.mp-schedule-empty-week h2{margin:4px 0 0;font-size:var(--mp-fs-21)}.mp-schedule-empty-week p{max-width:520px;margin:0;color:var(--mp-muted);font-size:var(--mp-fs-12)}

@media(max-width:1180px){.mp-schedule-v3{--mp-schedule-effective-days:min(var(--mp-schedule-render-days,5),4)}.mp-schedule-card{grid-template-columns:72px minmax(0,1fr)}.mp-schedule-card__media{width:72px}}
@media(max-width:900px){.mp-schedule-v3{--mp-schedule-effective-days:min(var(--mp-schedule-render-days,5),3)}.mp-schedule-column__head span,.mp-schedule-column__head strong{font-size:var(--mp-fs-10)}}
@media(max-width:700px){.mp-schedule-shell{width:min(calc(100% - 24px),var(--mp-schedule-container,1440px))}.mp-schedule-page{padding-top:24px}.mp-schedule-v3{gap:18px;--mp-schedule-effective-days:min(var(--mp-schedule-render-days,5),2)}.mp-schedule-head{padding-top:0}.mp-schedule-head__copy{gap:6px}.mp-schedule-head__copy h1,.mp-schedule-head__copy h2{font-size:var(--mp-fs-31)}.mp-schedule-head__subtitle{font-size:var(--mp-fs-11)}.mp-schedule-calendar{grid-template-columns:34px minmax(0,1fr) 34px}.mp-schedule-calendar__nav{width:34px;height:40px}.mp-schedule-card{grid-template-columns:72px minmax(0,1fr)}.mp-schedule-card__media{width:72px}.mp-schedule-time-note{text-align:left}}
@media(max-width:520px){.mp-schedule-v3{--mp-schedule-effective-days:1}.mp-schedule-calendar{grid-template-columns:30px minmax(0,1fr) 30px}.mp-schedule-calendar__nav{width:30px;font-size:var(--mp-fs-26)}.mp-schedule-card{grid-template-columns:74px minmax(0,1fr);gap:10px}.mp-schedule-card__media{width:74px}.mp-schedule-card__title{font-size:var(--mp-fs-13)}.mp-schedule-column__head{padding-inline:6px}}
@media(prefers-reduced-motion:reduce){.mp-schedule-calendar__viewport{scroll-behavior:auto}.mp-schedule-calendar__nav,.mp-schedule-card,.mp-schedule-card__title a,.mp-schedule-card__episode{transition:none}}
