.card-poster-wrap{position:relative;overflow:hidden;line-height:0}
.card-poster-wrap>.card-img-top{display:block;width:100%;margin:0}
.card-wishlist-heart{position:absolute;right:9px;bottom:12px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border:1px solid #efb84c;border-radius:10px;background:rgba(10,12,18,.2);color:#f4bc4a;font-size:24px;line-height:1;box-shadow:inset 0 0 8px rgba(0,0,0,.3);pointer-events:none}
.card-playback-line{position:absolute;left:0;bottom:0;height:4px;max-width:100%;background:#f0a52f;box-shadow:0 0 7px rgba(240,165,47,.65);pointer-events:none}
.media-rating{grid-column:1;grid-row:3;display:flex;align-items:center;justify-content:center;gap:2px;min-width:0;margin-top:4px}
.media-rating .rating-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.rating-star{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:29px;padding:0;border:0;background:none;color:#e8b44a;font-size:28px;line-height:1;cursor:pointer;transition:transform .14s ease}
.rating-star:hover,.rating-star:focus-visible{transform:scale(1.2);outline:none;filter:drop-shadow(0 0 4px #f6c259)}
.rating-star::after{content:'★';position:absolute;top:0;left:0;width:0;overflow:hidden;white-space:nowrap;color:#f6bb48;line-height:inherit}
.rating-star.is-half::after{width:50%}
.rating-star.is-full::after{width:100%}
.rating-clear{border:0;background:none;color:#b8a989;font-size:18px;cursor:pointer}
.card-rating{display:flex;align-items:center;gap:1px;margin:-2px 0 6px;line-height:1}
.card-rating .rating-star{font-size:19px;width:19px;height:20px;pointer-events:none}
.detail-playback-track{grid-column:1;grid-row:2;width:100%;height:4px;background:rgba(255,255,255,.16);border-radius:4px;overflow:hidden}
.detail-playback-track>span{display:block;height:100%;background:#f0a52f}
.series-summary>img{grid-column:1;grid-row:1}
.series-summary>img.poster-zoom-image{cursor:zoom-in}
.poster-zoom-toggle{grid-column:1;grid-row:1;align-self:center;justify-self:center;z-index:2;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #eeb950;border-radius:50%;background:rgba(8,11,17,.76);color:#ffd17b;font-size:31px;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,.5);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease;transform:scale(.88)}
.series-summary>img.poster-zoom-image:hover+.poster-zoom-toggle,.poster-zoom-toggle.is-visible,.poster-zoom-toggle:hover,.poster-zoom-toggle:focus-visible{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}
.poster-zoom-toggle:focus-visible{outline:2px solid #fff;outline-offset:3px}
.poster-zoom-overlay{position:absolute;inset:0;z-index:20;display:block;width:100%;height:100%;padding:12px;border:0;background:rgba(5,7,12,.48);cursor:zoom-out;text-align:left;overflow:hidden}
.modal[data-art-kind] .modal-content>.poster-zoom-overlay{position:absolute;inset:0;z-index:20}
.poster-zoom-overlay>img{display:block;position:absolute;top:12px;left:12px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);height:auto;object-fit:contain;object-position:top left;border-radius:10px;box-shadow:0 22px 60px rgba(0,0,0,.8);transform-origin:top left;animation:poster-zoom-in .2s ease-out}
@keyframes poster-zoom-in{from{transform:scale(.5);opacity:.5}to{transform:scale(1);opacity:1}}
.series-summary>div:last-child:not(.media-rating):not(.detail-playback-track){grid-column:2;grid-row:1/span 4}
html[data-layout="compact"] #series-grid .card-poster-wrap{min-height:145px;height:100%}
html[data-layout="compact"] #series-grid .card-poster-wrap>.card-img-top{height:100%;max-height:none}
@media(max-width:460px){.series-summary>img.poster-zoom-image,.series-summary>.poster-zoom-toggle{grid-column:1;grid-row:1}.series-summary>.media-rating,.series-summary>.detail-playback-track,.series-summary>div:last-child:not(.media-rating):not(.detail-playback-track){grid-column:1;grid-row:auto}.series-summary>div:last-child:not(.media-rating):not(.detail-playback-track){margin-top:12px}}
.mal-candidate-list:not(:empty){display:grid;gap:7px;max-height:310px;overflow-y:auto}
.mal-candidate{display:flex;align-items:start;gap:10px;width:100%;min-height:86px;padding:7px;border:1px solid rgba(240,174,63,.34);border-radius:8px;background:rgba(10,14,22,.76);color:#eee;text-align:left;cursor:pointer;box-shadow:inset 0 0 12px rgba(0,0,0,.26)}
.mal-candidate:hover,.mal-candidate:focus-visible{border-color:#f1b84d;background:rgba(31,27,20,.85);outline:0;box-shadow:0 0 0 2px rgba(241,184,77,.23),inset 0 0 12px rgba(0,0,0,.3)}
.mal-candidate:disabled{opacity:.6;cursor:wait}
.mal-candidate>img{flex:none;width:52px;height:73px;object-fit:cover;border-radius:4px;background:#222}
.mal-candidate-info{display:grid;gap:2px;min-width:0;font-size:.78rem;line-height:1.25;color:#d1d4da}
.mal-candidate-info>strong{color:#f5c66d;font-size:.86rem;white-space:normal}

/* Let the artwork occupy most of each catalogue card. The first lines of
   information sit over its lower edge; the remaining controls stay legible. */
html:not([data-layout="compact"]) :is(#series-grid,#top-series-grid) .poster-overlay-card .card-poster-wrap{aspect-ratio:5/7;overflow:hidden}
html:not([data-layout="compact"]) :is(#series-grid,#top-series-grid) .poster-overlay-card .card-poster-wrap>.card-img-top{width:100%;height:100%!important;max-height:none!important;min-height:0!important;object-fit:cover;object-position:center top}
html:not([data-layout="compact"]) :is(#series-grid,#top-series-grid) .poster-overlay-card>.card-body{position:relative;z-index:2;margin-top:-47%;padding-top:8px!important;background:linear-gradient(to bottom,rgba(9,12,19,.72) 0,rgba(9,12,19,.82) 70px,rgba(13,17,26,.97) 125px,#0d111a 100%)!important;color:#f3f5fb}
html:not([data-layout="compact"]) :is(#series-grid,#top-series-grid) .poster-overlay-card .card-title{color:#f7f8fb!important;text-shadow:0 1px 5px rgba(0,0,0,.8)}
html:not([data-layout="compact"]) :is(#series-grid,#top-series-grid) .poster-overlay-card .text-muted{color:#c0c7d3!important;text-shadow:0 1px 3px rgba(0,0,0,.7)}
html:not([data-layout="compact"]) :is(#series-grid,#top-series-grid) .poster-overlay-card .card-wishlist-heart,
html:not([data-layout="compact"]) :is(#series-grid,#top-series-grid) .poster-overlay-card .card-playback-line{z-index:4}
html:not([data-layout="compact"]) :is(#series-grid,#top-series-grid) .poster-overlay-card .card-poster-wrap>.card-wishlist-heart{bottom:calc(33.57% + 12px)}
/* The overlay starts 47% of the card width above the poster bottom. With a
   5:7 poster, that is 33.57% of its height. Keep the compact layout at 0. */
html:not([data-layout="compact"]) :is(#series-grid,#top-series-grid) .poster-overlay-card .card-poster-wrap>.card-playback-line{bottom:33.57%}
.top-card-ranking{position:absolute;top:10px;left:10px;right:10px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#fff;line-height:1.25;text-shadow:0 1px 4px #000}
.top-card-ranking>span:first-child{padding:4px 8px;border:1px solid rgba(255,255,255,.36);border-radius:8px;background:rgba(8,11,18,.62)}
html[data-layout="compact"] #top-series-grid .poster-overlay-card .card-poster-wrap{height:100%;min-height:145px}
html[data-layout="compact"] #top-series-grid .poster-overlay-card .card-poster-wrap>.card-img-top{height:100%;max-height:none}
