/*
Anime detail switches to the desktop composition at 1000px because the
two-column media/details layout needs slightly less width than the global
1024px desktop boundary. See docs/responsive-layout.md.
*/
@media (min-width: 1000px) {
    body.anime-detail-page {
        --anime-blue: #075fdf;
        --anime-blue-deep: #062d72;
        --anime-ink: #071224;
        --anime-muted: #64748b;
        --anime-line: #dbe7f6;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .72) 0%, rgba(247, 252, 255, .42) 44%, rgba(255, 255, 255, .68) 100%),
            url("/images/editorial-home/site-bg-panel-01.png") center 0 / max(1920px, 100vw) auto no-repeat,
            url("/images/editorial-home/site-bg-panel-02.png") center 1080px / max(1920px, 100vw) auto no-repeat,
            url("/images/editorial-home/site-bg-panel-03.png") center 2160px / max(1920px, 100vw) auto no-repeat,
            url("/images/editorial-home/site-bg-panel-04.png") center 3240px / max(1920px, 100vw) auto no-repeat,
            url("/images/editorial-home/site-bg-panel-01.png") center 4320px / max(1920px, 100vw) auto no-repeat,
            url("/images/editorial-home/site-bg-panel-02.png") center 5400px / max(1920px, 100vw) auto no-repeat,
            #f7fbff;
        color: var(--anime-ink);
    }

    body.anime-detail-page .anime-detail {
        width: min(1040px, calc(100vw - 72px));
        margin-inline: auto;
        padding: 22px 0 76px;
    }

    body.anime-detail-page .anime-detail > .site-breadcrumb {
        margin: 0 0 8px;
        color: rgba(5, 5, 5, 0.72);
        font-size: 12px;
        letter-spacing: .04em;
    }

    body.anime-detail-page .anime-detail > .site-breadcrumb a {
        color: rgba(5, 5, 5, 0.88);
    }

    body.anime-detail-page .anime-detail > .site-breadcrumb li:first-child a {
        color: #0649ff;
    }

    body.anime-detail-page .anime-detail > .site-breadcrumb li:not(:first-child) a {
        color: rgba(6, 73, 255, 0.68);
    }

    body.anime-detail-page .anime-detail > .site-breadcrumb span {
        color: rgba(5, 5, 5, 0.72);
    }

    body.anime-detail-page .anime-detail > .site-breadcrumb li + li::before {
        border-color: rgba(5, 5, 5, 0.44);
    }

    body.anime-detail-page .anime-file {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        padding: 30px;
        border: 1px solid rgba(7, 95, 223, .14);
        border-radius: 8px;
        background: rgba(255, 255, 255, .92);
        box-shadow: 0 22px 52px rgba(18, 76, 135, .08);
    }

    body.anime-detail-page .anime-file__hero {
        display: grid;
        grid-template-columns: 288px minmax(0, 620px);
        gap: 34px;
        align-items: start;
        width: fit-content;
        max-width: 100%;
        margin: 0 auto;
    }

    body.anime-detail-page .anime-file__hero:not(:has(.anime-file__poster)) {
        display: block;
    }

    body.anime-detail-page .anime-file__hero:not(:has(.anime-file__poster)) .anime-file__info {
        min-height: auto;
        padding: 18px 8px;
    }

    body.anime-detail-page .anime-file__poster {
        width: 288px;
        height: 432px;
        margin: 0;
        border: 0;
        border-radius: 0;
        object-fit: contain;
        background: #fff;
        box-shadow: none;
    }

    body.anime-detail-page .anime-file__info {
        --genre-drop: 0px;
        --genre-title-gap: 18px;
        --title-center-shift: 0px;
        --title-offset: 0px;
        align-self: start;
        display: grid;
        grid-template-rows: auto auto auto auto;
        align-content: start;
        min-width: 0;
        min-height: 432px;
        padding: 2px 6px 8px 0;
    }

    body.anime-detail-page .anime-file__genres {
        justify-content: flex-start;
        gap: 9px;
        margin: 0 0 16px;
        transform: none;
    }

    body.anime-detail-page .anime-file__genres a {
        min-width: 0;
        min-height: 30px;
        padding: 0 13px;
        border-color: #cfe1f8;
        color: var(--anime-blue);
        background: #fff;
        font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0;
    }

    body.anime-detail-page .anime-file__heading {
        margin: 0;
        transform: none;
    }

    body.anime-detail-page .anime-file__title {
        width: 100%;
        margin: 0;
        color: #061326;
        font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
        font-size: clamp(var(--title-base), 4.5vw, var(--title-lg));
        font-weight: 900;
        line-height: 1.12;
        letter-spacing: 0;
        text-align: left;
        text-shadow: 0 6px 18px rgba(7, 95, 223, .08);
    }

    body.anime-detail-page .anime-file__title--fit,
    body.anime-detail-page .anime-file__title--short {
        font-size: var(--title-fit-size, clamp(var(--title-base), 4.5vw, var(--title-lg)));
    }

    body.anime-detail-page .anime-file__title--short {
        line-height: 1.06;
    }

    body.anime-detail-page .anime-file__title-set--sp {
        display: none;
    }

    body.anime-detail-page .anime-file__title-set--pc {
        display: block;
    }

    body.anime-detail-page .anime-file__title-line {
        display: block;
        max-width: 100%;
        white-space: normal;
        text-wrap: balance;
    }

    body.anime-detail-page .anime-file__subtitle {
        margin: 16px 0 0;
        color: var(--anime-blue);
        font-size: 18px;
        font-weight: 700;
        line-height: 1.45;
        letter-spacing: .02em;
    }

    body.anime-detail-page .anime-file__meta {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 190px));
        gap: 12px;
        width: 100%;
        margin-top: 20px;
        font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
    }

    body.anime-detail-page .anime-file__synopsis-lead--pc {
        display: block;
        margin-top: 22px;
        padding-top: 18px;
        border-top: 1px solid rgba(7, 95, 223, .12);
    }

    body.anime-detail-page .anime-file__synopsis-lead--pc h2 {
        margin: 0 0 8px;
        color: #334155;
        font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
        font-size: 17px;
        font-weight: 900;
        line-height: 1.2;
        letter-spacing: .02em;
    }

    body.anime-detail-page .anime-file__synopsis-lead--pc p {
        margin: 0;
        color: #152033;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.9;
        letter-spacing: .02em;
    }

    body.anime-detail-page .anime-file__meta span {
        display: grid;
        grid-template-columns: 32px minmax(0, 1fr);
        column-gap: 11px;
        align-items: center;
        min-height: 62px;
        padding: 10px 12px;
        border: 1px solid rgba(7, 95, 223, .12);
        border-radius: 8px;
        background: rgba(255, 255, 255, .72);
    }

    body.anime-detail-page .anime-file__meta span:last-child {
        border-bottom: 1px solid rgba(7, 95, 223, .12);
    }

    body.anime-detail-page .anime-file__meta svg {
        width: 25px;
        height: 25px;
        stroke: rgba(7, 95, 223, .68);
    }

    body.anime-detail-page .anime-file__meta small {
        color: #71829a;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
    }

    body.anime-detail-page .anime-file__meta b {
        margin-top: 3px;
        color: var(--anime-ink);
        font-size: 17px;
        font-weight: 900;
    }

    body.anime-detail-page .anime-file__info--no-meta {
        align-content: start;
        justify-content: stretch;
        justify-items: stretch;
        padding-top: 118px;
    }

    body.anime-detail-page .anime-file__info--no-meta .anime-file__heading {
        margin-top: 0;
    }

    body.anime-detail-page .anime-file__info--has-genres.anime-file__info--no-meta .anime-file__genres {
        margin-bottom: 18px;
    }

    body.anime-detail-page .anime-file__services,
    body.anime-detail-page .anime-file__story,
    body.anime-detail-page .anime-detail-section {
        border: 1px solid rgba(7, 95, 223, .12);
        border-radius: 8px;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 16px 38px rgba(18, 76, 135, .06);
    }

    body.anime-detail-page .anime-file__services {
        margin-top: 0;
        padding: 24px 26px;
    }

    body.anime-detail-page .anime-file__services--sp {
        display: none;
    }

    body.anime-detail-page .anime-file__services--pc {
        display: block;
        margin-top: 24px;
        padding: 24px 26px;
        box-shadow: 0 16px 38px rgba(18, 76, 135, .06);
    }

    body.anime-detail-page .anime-file__story {
        margin-top: 0;
        padding: 26px 30px;
    }

    body.anime-detail-page .anime-file__story--sp {
        display: none;
    }

    body.anime-detail-page .anime-file__story--pc {
        display: block;
        margin-top: 28px;
    }

    body.anime-detail-page .anime-detail-section {
        margin-top: 28px;
        padding: 28px 32px;
    }

    body.anime-detail-page .anime-detail-section__head {
        margin-bottom: 18px;
    }

    body.anime-detail-page .anime-file__services .anime-detail-section__head {
        margin-bottom: 18px;
    }

    body.anime-detail-page .anime-file__services--pc .anime-detail-section__head {
        margin-bottom: 18px;
    }

    body.anime-detail-page .anime-detail-section h2,
    body.anime-detail-page .anime-file__services h2,
    body.anime-detail-page .anime-file__story h2 {
        gap: 10px;
        color: var(--anime-ink);
        font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
        font-size: 24px;
        font-weight: 900;
        line-height: 1.2;
        letter-spacing: .02em;
    }

    body.anime-detail-page .anime-detail-section h2::before,
    body.anime-detail-page .anime-file__services h2::before,
    body.anime-detail-page .anime-file__story h2::before {
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background: var(--anime-blue);
    }

    body.anime-detail-page .anime-file__services--pc h2 {
        font-size: 24px;
    }

    body.anime-detail-page .anime-file__services--pc .anime-detail-section__head h2::before {
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background: var(--anime-blue);
    }

    body.anime-detail-page .anime-file__synopsis {
        color: #152033;
        font-size: 16px;
        font-weight: 600;
        line-height: 2;
        letter-spacing: .02em;
    }

    body.anime-detail-page .anime-source__card {
        grid-template-columns: minmax(170px, 210px) minmax(0, 1fr);
        gap: 34px;
        align-items: end;
    }

    body.anime-detail-page .anime-source {
        padding-bottom: 22px;
    }

    body.anime-detail-page .anime-source__cover {
        align-self: end;
        max-width: 190px;
        max-height: 285px;
        margin-bottom: 34px;
        border-radius: 0;
    }

    body.anime-detail-page .anime-source__cover-link {
        max-width: 190px;
        margin-bottom: 34px;
    }

    body.anime-detail-page .anime-source__body {
        gap: 14px;
    }

    body.anime-detail-page .anime-source__top h3 {
        flex: 1 1 auto;
        max-width: 100%;
        font-size: var(--title-fit-size, 30px);
        line-height: 1.3;
    }

    body.anime-detail-page .anime-source__top > span {
        padding: 5px 14px;
        font-size: 14px;
    }

    body.anime-detail-page .anime-source__lead {
        font-size: 18px;
    }

    body.anime-detail-page .anime-source__meta {
        padding: 0 18px;
    }

    body.anime-detail-page .anime-source__meta div {
        padding: 7px 0;
    }

    body.anime-detail-page .anime-source__meta dt {
        font-size: 13px;
    }

    body.anime-detail-page .anime-source__meta dd {
        font-size: 17px;
    }

    body.anime-detail-page .anime-service-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
        margin-top: 14px;
    }

    body.anime-detail-page .anime-file__services--pc .anime-service-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
        margin-top: 14px;
    }

    body.anime-detail-page .anime-service-card {
        min-height: 90px;
        padding: 10px 10px 9px;
        border: 1px solid #e1ebf7;
        border-radius: 8px;
        background: #fff;
        box-shadow: none;
    }

    body.anime-detail-page .anime-file__services--pc .anime-service-card {
        min-height: 90px;
        padding: 10px 10px 9px;
    }

    body.anime-detail-page .anime-service-card__mark,
    body.anime-detail-page .anime-service-card img {
        width: 46px;
        height: 46px;
        max-width: 46px;
        max-height: 46px;
        border-radius: 4px;
    }

    body.anime-detail-page .anime-file__services--pc .anime-service-card__mark,
    body.anime-detail-page .anime-file__services--pc .anime-service-card img {
        width: 46px;
        height: 46px;
        max-width: 46px;
        max-height: 46px;
    }

    body.anime-detail-page .anime-service-card__name {
        margin-top: 8px;
        font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
        font-size: 12px;
        font-weight: 900;
    }

    body.anime-detail-page .anime-file__services--pc .anime-service-card__name {
        margin-top: 8px;
        font-size: 12px;
    }

    body.anime-detail-page .anime-service-card__status {
        margin-top: 0;
        color: var(--anime-muted);
        font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
        font-size: 11px;
        font-weight: 800;
    }

    body.anime-detail-page .anime-file__services--with-status .anime-service-card {
        min-height: 118px;
        padding-bottom: 12px;
    }

    body.anime-detail-page .anime-file__services--pc.anime-file__services--with-status .anime-service-card {
        min-height: 118px;
        padding-bottom: 12px;
    }

    body.anime-detail-page .anime-file__services--with-status .anime-service-card__status {
        margin-top: 5px;
    }

    body.anime-detail-page .anime-file__services-note {
        margin-top: 12px;
        color: var(--anime-muted);
        font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
        font-size: 12px;
    }

    body.anime-detail-page .anime-file__services--pc .anime-file__services-note {
        margin-top: 12px;
        font-size: 12px;
    }

    body.anime-detail-page .anime-detail-share,
    body.anime-detail-page .anime-more-button {
        min-height: 38px;
        border-radius: 7px;
        font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
        font-size: 13px;
        font-weight: 900;
    }

    body.anime-detail-page .anime-pv,
    body.anime-detail-page .anime-pv__link {
        border-radius: 8px;
        box-shadow: 0 16px 36px rgba(18, 76, 135, .10);
    }

    body.anime-detail-page .anime-credit-list,
    body.anime-detail-page .anime-info-list,
    body.anime-detail-page .anime-theme-list {
        border-color: #e1ebf7;
    }

    body.anime-detail-page .anime-credit-row,
    body.anime-detail-page .anime-info-list div,
    body.anime-detail-page .anime-theme-card {
        border-color: #e1ebf7;
    }

    body.anime-detail-page .anime-info-list dt,
    body.anime-detail-page .anime-info-list dd,
    body.anime-detail-page .anime-credit-row span,
    body.anime-detail-page .anime-credit-row em,
    body.anime-detail-page .anime-credit-row a {
        font-size: 15px;
        line-height: 1.6;
    }

    body.anime-detail-page .anime-info-list dt,
    body.anime-detail-page .anime-credit-row span {
        color: #5f718b;
        font-weight: 800;
    }

    body.anime-detail-page .anime-info-list dd,
    body.anime-detail-page .anime-credit-row em,
    body.anime-detail-page .anime-credit-row a {
        color: var(--anime-ink);
        font-weight: 900;
    }

    body.anime-detail-page .eh-footer {
        background: #fff;
        border-top: 1px solid rgba(7, 95, 223, .12);
    }
}

@media (min-width: 1000px) and (max-width: 1120px) {
    body.anime-detail-page .anime-detail {
        width: min(1040px, calc(100vw - 42px));
    }

    body.anime-detail-page .anime-file {
        padding: 24px;
    }

    body.anime-detail-page .anime-file__hero {
        grid-template-columns: 252px minmax(0, 1fr);
        gap: 26px;
    }

    body.anime-detail-page .anime-file__poster {
        width: 252px;
        height: 378px;
    }

    body.anime-detail-page .anime-file__info {
        min-height: 378px;
    }

    body.anime-detail-page .anime-service-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
