/* =========================================================
   China TA · DISCOGRAPHY
========================================================= */

:root {
    --disc-black: #080808;
    --disc-black-soft: #0d0d0d;
    --disc-panel: #101010;

    --disc-gold: #b89b68;
    --disc-gold-soft: #c7aa70;

    --disc-white: #f4f1eb;
    --disc-muted: rgba(255,255,255,.45);

    --disc-line:
        rgba(255,255,255,.10);

    --disc-gold-line:
        rgba(184,155,104,.22);
}


.disc-page {
    min-height: 100vh;

    background:
        var(--disc-black);

    color:
        var(--disc-white);
}


.disc-page
.subpage-header {
    position: fixed;

    background:
        rgba(8,8,8,.78);

    border-bottom:
        1px solid
        rgba(184,155,104,.12);

    backdrop-filter:
        blur(16px);

    -webkit-backdrop-filter:
        blur(16px);
}


.disc-shell {
    width:
        min(
            1320px,
            calc(100% - 80px)
        );

    margin:
        0 auto;
}


/* =========================================================
   Masthead
========================================================= */

.disc-masthead {
    position: relative;

    overflow: hidden;

    padding:
        180px
        0
        92px;

    background:
        radial-gradient(
            circle at 77% 26%,
            rgba(184,155,104,.10),
            transparent 29%
        ),
        linear-gradient(
            180deg,
            #070707 0%,
            #0b0b0b 100%
        );

    border-bottom:
        1px solid
        var(--disc-gold-line);
}


.disc-masthead::after {
    content:
        "A";

    position: absolute;

    right: 3vw;
    bottom: -9vw;

    color:
        rgba(255,255,255,.018);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            260px,
            34vw,
            560px
        );

    font-style:
        italic;

    line-height:
        .8;

    pointer-events:
        none;
}


.disc-breadcrumb {
    position: relative;
    z-index: 1;

    display: flex;

    gap: 12px;

    margin:
        0
        0
        58px;

    color:
        rgba(255,255,255,.32);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        9px;

    letter-spacing:
        .18em;
}


.disc-breadcrumb a {
    transition:
        color .2s ease;
}


.disc-breadcrumb a:hover {
    color:
        var(--disc-gold-soft);
}


.disc-masthead-row {
    position: relative;
    z-index: 1;

    display: flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        50px;
}


.disc-eyebrow {
    margin:
        0
        0
        16px;

    color:
        var(--disc-gold);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        10px;

    letter-spacing:
        .22em;
}


.disc-masthead h1 {
    margin:
        0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            58px,
            8vw,
            120px
        );

    font-weight:
        400;

    line-height:
        .88;

    letter-spacing:
        -.035em;
}


.disc-cn-title {
    margin:
        28px
        0
        0;

    color:
        rgba(255,255,255,.72);

    font-size:
        19px;

    letter-spacing:
        .08em;
}


.disc-masthead-meta {
    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-end;

    padding-bottom:
        8px;
}


.disc-masthead-meta span {
    color:
        var(--disc-gold-soft);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            42px,
            5vw,
            70px
        );

    line-height:
        1;
}


.disc-masthead-meta small {
    margin-top:
        8px;

    color:
        rgba(255,255,255,.28);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        8px;

    letter-spacing:
        .20em;
}


/* =========================================================
   Archive
========================================================= */

.disc-archive-section {
    padding:
        72px
        0
        140px;

    background:
        linear-gradient(
            180deg,
            #0d0d0d,
            #080808
        );
}


.disc-toolbar {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        30px;

    padding-bottom:
        24px;

    margin-bottom:
        42px;

    border-bottom:
        1px solid
        var(--disc-gold-line);
}


.disc-toolbar-label,
.disc-result-meta {
    margin:
        0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        8px;

    letter-spacing:
        .17em;
}


.disc-toolbar-label {
    color:
        var(--disc-gold-soft);
}


.disc-result-meta {
    color:
        rgba(255,255,255,.28);
}


.disc-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0,1fr)
        );

    gap:
        clamp(
            36px,
            4vw,
            62px
        )
        clamp(
            20px,
            2.5vw,
            34px
        );
}


.disc-card {
    min-width:
        0;

    display:
        flex;

    flex-direction:
        column;
}


.disc-card-cover {
    position:
        relative;

    aspect-ratio:
        1 / 1;

    overflow:
        hidden;

    background:
        #050505;

    border:
        1px solid
        rgba(184,155,104,.12);

    transition:
        border-color .28s ease;
}


.disc-card-cover::after {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    pointer-events:
        none;

    box-shadow:
        inset 0 0 0 1px
        rgba(255,255,255,.02);

    transition:
        box-shadow .28s ease;
}


.disc-card img {
    width:
        100%;

    height:
        100%;

    object-fit:
        contain;

    transition:
        transform
        .7s
        cubic-bezier(.2,.7,.2,1),
        filter
        .35s ease;
}


.disc-card:hover
.disc-card-cover {
    border-color:
        rgba(184,155,104,.34);
}


.disc-card:hover
.disc-card-cover::after {
    box-shadow:
        inset 0 0 0 1px
        rgba(184,155,104,.18);
}


.disc-card:hover .disc-cover-image {
    transform:
        scale(1.018);

    filter:
        brightness(1.035);
}


.disc-card-info {
    padding-top:
        20px;
}


.disc-card-date {
    display:
        block;

    margin-bottom:
        10px;

    color:
        rgba(194,166,111,.68);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        9px;

    letter-spacing:
        .12em;
}


.disc-card-title {
    margin:
        0;

    color:
        rgba(255,255,255,.88);

    font-size:
        clamp(
            16px,
            1.3vw,
            20px
        );

    font-weight:
        400;

    line-height:
        1.5;
}


.disc-card-subtitle {
    margin:
        9px
        0
        0;

    display:
        -webkit-box;

    overflow:
        hidden;

    -webkit-line-clamp:
        2;

    -webkit-box-orient:
        vertical;

    color:
        rgba(255,255,255,.34);

    font-size:
        10px;

    line-height:
        1.65;
}


.disc-card-arrow {
    display:
        inline-block;

    margin-top:
        15px;

    color:
        rgba(194,166,111,.42);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        8px;

    letter-spacing:
        .14em;

    transition:
        color .2s ease,
        transform .2s ease;
}


.disc-card:hover
.disc-card-arrow {
    color:
        var(--disc-gold-soft);

    transform:
        translateX(4px);
}


.disc-status {
    grid-column:
        1 / -1;

    margin:
        70px
        0;

    color:
        rgba(255,255,255,.34);

    font-size:
        12px;

    letter-spacing:
        .06em;
}


/* =========================================================
   Detail
========================================================= */

.disc-detail-stage {
    position:
        relative;

    padding:
        166px
        0
        100px;

    background:
        radial-gradient(
            circle at 20% 25%,
            rgba(184,155,104,.08),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            #080808,
            #0b0b0b
        );

    border-bottom:
        1px solid
        var(--disc-gold-line);
}


.disc-detail-grid {
    display:
        grid;

    grid-template-columns:
        minmax(320px, .86fr)
        minmax(0, 1.14fr);

    gap:
        clamp(
            60px,
            8vw,
            120px
        );

    align-items:
        start;
}


.disc-detail-media {
    position:
        sticky;

    top:
        120px;
}


.disc-detail-cover {
    aspect-ratio:
        1 / 1;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    overflow:
        hidden;

    background:
        #050505;

    border:
        1px solid
        rgba(184,155,104,.18);
}


.disc-detail-cover img {
    width:
        100%;

    height:
        100%;

    object-fit:
        contain;
}


.disc-detail-thumbs {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap:
        10px;

    margin-top:
        12px;
}


.disc-detail-thumbs figure {
    margin:
        0;

    aspect-ratio:
        1 / 1;

    overflow:
        hidden;

    background:
        #050505;

    border:
        1px solid
        rgba(184,155,104,.12);
}


.disc-detail-thumbs img {
    width:
        100%;

    height:
        100%;

    object-fit:
        contain;
}


.disc-detail-copy {
    min-width:
        0;
}


.disc-detail-meta {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        16px;

    margin:
        48px
        0
        22px;
}


.disc-detail-date {
    color:
        var(--disc-gold-soft);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        10px;

    letter-spacing:
        .13em;
}


.disc-detail-label {
    padding-left:
        16px;

    border-left:
        1px solid
        rgba(184,155,104,.28);

    color:
        rgba(255,255,255,.33);

    font-size:
        9px;

    letter-spacing:
        .14em;
}


.disc-detail-original {
    margin:
        0;

    color:
        var(--disc-white);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            44px,
            5.5vw,
            76px
        );

    font-weight:
        400;

    line-height:
        1.05;

    letter-spacing:
        -.025em;
}


.disc-detail-cn {
    margin:
        24px
        0
        0;

    color:
        rgba(255,255,255,.72);

    font-size:
        clamp(
            20px,
            2.1vw,
            30px
        );

    font-weight:
        350;

    line-height:
        1.45;
}


.disc-detail-lead {
    margin:
        30px
        0
        0;

    color:
        rgba(255,255,255,.46);

    font-size:
        13px;

    line-height:
        1.9;
}


.disc-detail-body {
    padding:
        72px
        0
        130px;

    background:
        linear-gradient(
            180deg,
            #0d0d0d,
            #080808
        );
}


.disc-article {
    width:
        min(
            940px,
            100%
        );

    margin:
        0 auto;
}


.disc-copy {
    color:
        rgba(255,255,255,.72);

    font-size:
        15px;

    line-height:
        2.05;
}


.disc-copy p {
    margin:
        0
        0
        25px;
}



.disc-tracklist {
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid var(--disc-gold-line);
}

.disc-tracklist-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 10px;
}

.disc-tracklist-head p {
    margin: 0 0 7px;
    color: var(--disc-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 8px;
    letter-spacing: .16em;
}

.disc-tracklist-head h2 {
    margin: 0;
    color: rgba(255,255,255,.90);
    font-size: clamp(19px, 1.7vw, 25px);
    font-weight: 350;
    letter-spacing: .025em;
}

.disc-tracklist-head > span {
    padding-bottom: 3px;
    color: rgba(255,255,255,.27);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 8px;
    letter-spacing: .14em;
    white-space: nowrap;
}

.disc-tracklist-note {
    margin: 0 0 18px;
    color: rgba(255,255,255,.34);
    font-size: 10px;
    line-height: 1.7;
}

.disc-tracklist-rows {
    border-top: 1px solid var(--disc-line);
    border-bottom: 1px solid var(--disc-line);
}

.disc-track-row {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 58px;
    padding: 11px 4px;
    border-bottom: 1px solid rgba(255,255,255,.065);
}

.disc-track-row:last-child {
    border-bottom: 0;
}

.disc-track-row.has-lyrics {
    transition: background-color .2s ease, padding .2s ease;
}

.disc-track-row.has-lyrics:hover {
    padding-left: 8px;
    padding-right: 8px;
    background: rgba(184,155,104,.04);
}

.disc-track-number {
    color: rgba(194,166,111,.58);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 9px;
    letter-spacing: .10em;
}

.disc-track-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.disc-track-copy strong {
    overflow-wrap: anywhere;
    color: rgba(255,255,255,.82);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
}

.disc-track-copy small {
    color: rgba(255,255,255,.26);
    font-size: 8px;
    line-height: 1.45;
    letter-spacing: .04em;
}

.disc-track-action,
.disc-track-actions a {
    color: rgba(194,166,111,.60);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 8px;
    letter-spacing: .08em;
    white-space: nowrap;
}

.disc-track-row.has-lyrics:hover .disc-track-action,
.disc-track-actions a:hover {
    color: var(--disc-gold-soft);
}

.disc-track-action.is-muted {
    color: rgba(255,255,255,.16);
}

.disc-track-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px 10px;
}

.disc-track-card {
    border: 1px solid rgba(184,155,104,.16);
    background: rgba(255,255,255,.012);
}

.disc-track-panel[hidden] {
    display: none;
}

.disc-track-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    min-height: 58px;
    padding: 14px 16px 13px;
    border-bottom: 1px solid var(--disc-line);
    background: rgba(184,155,104,.025);
}

.disc-track-panel-head > div {
    min-width: 0;
}

.disc-track-panel-head p {
    margin: 0;
    color: rgba(194,166,111,.82);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .11em;
}

.disc-track-panel-head small {
    display: block;
    margin-top: 5px;
    overflow-wrap: anywhere;
    color: rgba(255,255,255,.30);
    font-size: 8px;
    line-height: 1.45;
}

.disc-track-panel-head > span {
    padding-top: 2px;
    color: rgba(255,255,255,.24);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 8px;
    letter-spacing: .10em;
    white-space: nowrap;
}

.disc-track-card .disc-tracklist-rows {
    border-top: 0;
    border-bottom: 0;
}

.disc-track-pager {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    gap: 12px;
    margin-top: 12px;
}

.disc-track-pager button {
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid rgba(184,155,104,.18);
    background: transparent;
    color: rgba(194,166,111,.70);
    cursor: pointer;
    font: inherit;
    font-size: 8px;
    letter-spacing: .08em;
    transition: border-color .2s ease, color .2s ease, opacity .2s ease;
}

.disc-track-pager button:first-child {
    justify-self: start;
}

.disc-track-pager button:last-child {
    justify-self: end;
}

.disc-track-pager button:hover:not(:disabled) {
    border-color: rgba(184,155,104,.42);
    color: var(--disc-gold-soft);
}

.disc-track-pager button:disabled {
    opacity: .24;
    cursor: default;
}

.disc-track-pager > span {
    color: rgba(255,255,255,.28);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 8px;
    letter-spacing: .12em;
    white-space: nowrap;
}

.disc-tags {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        8px;

    margin-top:
        50px;

    padding-top:
        28px;

    border-top:
        1px solid
        var(--disc-line);
}


.disc-tag {
    padding:
        7px
        10px;

    border:
        1px solid
        rgba(184,155,104,.18);

    color:
        rgba(194,166,111,.62);

    font-size:
        8px;

    letter-spacing:
        .12em;
}


.disc-source {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        24px;

    margin-top:
        42px;

    padding:
        25px
        0;

    border-top:
        1px solid
        var(--disc-gold-line);

    border-bottom:
        1px solid
        var(--disc-gold-line);
}


.disc-source span {
    color:
        rgba(255,255,255,.34);

    font-size:
        10px;

    letter-spacing:
        .08em;
}


.disc-source a {
    color:
        var(--disc-gold-soft);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        9px;

    letter-spacing:
        .14em;
}


.disc-adjacent {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );

    gap:
        1px;

    margin-top:
        70px;

    background:
        rgba(184,155,104,.14);

    border:
        1px solid
        rgba(184,155,104,.14);
}


.disc-adjacent-link {
    min-height:
        170px;

    padding:
        28px;

    background:
        #0b0b0b;

    transition:
        background .2s ease;
}


.disc-adjacent-link:hover {
    background:
        #111;
}


.disc-adjacent-link.is-next {
    text-align:
        right;
}


.disc-adjacent-label {
    display:
        block;

    margin-bottom:
        15px;

    color:
        rgba(194,166,111,.58);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        8px;

    letter-spacing:
        .15em;
}


.disc-adjacent-title {
    color:
        rgba(255,255,255,.70);

    font-size:
        12px;

    line-height:
        1.7;
}


.disc-not-found {
    min-height:
        72vh;

    display:
        grid;

    place-items:
        center;

    padding:
        150px
        40px
        80px;

    text-align:
        center;
}


.disc-not-found h1 {
    margin:
        0
        0
        16px;

    color:
        var(--disc-white);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        56px;

    font-weight:
        400;
}


.disc-not-found p {
    color:
        rgba(255,255,255,.38);
}


.disc-not-found a {
    display:
        inline-block;

    margin-top:
        24px;

    color:
        var(--disc-gold-soft);

    font-size:
        10px;

    letter-spacing:
        .14em;
}


/* Footer is shared with news.css in the NEWS pages.
   Add it here too so DISCOGRAPHY works standalone. */

.subpage-footer {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        30px;

    padding:
        36px
        40px;

    border-top:
        1px solid
        rgba(184,155,104,.14);

    background:
        #060606;

    color:
        rgba(255,255,255,.25);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        8px;

    letter-spacing:
        .16em;
}


.subpage-footer a {
    color:
        rgba(194,166,111,.55);
}


@media (max-width: 1100px) {

    .disc-grid {
        grid-template-columns:
            repeat(
                3,
                minmax(0,1fr)
            );
    }

}


@media (max-width: 860px) {

    .disc-shell {
        width:
            min(
                100% - 42px,
                1320px
            );
    }

    .disc-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }

    .disc-masthead-row {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .disc-masthead-meta {
        align-items:
            flex-start;
    }

    .disc-detail-grid {
        grid-template-columns:
            1fr;

        gap:
            52px;
    }

    .disc-detail-media {
        position:
            relative;

        top:
            auto;

        width:
            min(
                620px,
                100%
            );
    }

}


@media (max-width: 560px) {

    .disc-tracklist-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .disc-tracklist-head > span {
        padding-bottom: 0;
    }

    .disc-track-row {
        grid-template-columns: 40px minmax(0,1fr) auto;
        gap: 10px;
        padding: 11px 0;
    }

    .disc-track-action,
    .disc-track-actions a {
        font-size: 7px;
    }

    .disc-track-panel-head {
        gap: 12px;
        padding: 13px 12px 12px;
    }

    .disc-track-pager {
        gap: 8px;
    }

    .disc-track-pager button {
        min-height: 36px;
        padding: 7px 9px;
        font-size: 7px;
    }

    .disc-page
    .subpage-header {
        padding:
            20px
            22px;
    }

    .disc-masthead {
        padding-top:
            140px;
    }

    .disc-breadcrumb {
        margin-bottom:
            40px;
    }

    .disc-grid {
        grid-template-columns:
            1fr;
    }

    .disc-toolbar {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .disc-source {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .disc-adjacent {
        grid-template-columns:
            1fr;
    }

    .disc-adjacent-link.is-next {
        text-align:
            left;
    }

    .subpage-footer {
        align-items:
            flex-start;

        flex-direction:
            column;

        padding:
            30px
            22px;
    }

}


/* =========================================================
   v10 · A-logo / 暂无封面 / 中文界面 / 分类筛选
========================================================= */

/* 用真正的滨崎步 A-logo 替代普通衬线 A */
.disc-masthead::after {
    content: "";

    width:
        clamp(
            280px,
            32vw,
            520px
        );

    height:
        clamp(
            280px,
            32vw,
            520px
        );

    right:
        1.8vw;

    bottom:
        -7vw;

    background:
        url("../assets/logos/logo.png")
        center
        center
        /
        contain
        no-repeat;

    opacity:
        .022;

    filter:
        grayscale(1)
        brightness(1.6);

    pointer-events:
        none;
}


/* 中文大标题 */
.disc-masthead h1 {
    font-family:
        "PingFang SC",
        "Hiragino Sans GB",
        "Microsoft YaHei",
        sans-serif;

    font-size:
        clamp(
            60px,
            8vw,
            112px
        );

    font-weight:
        300;

    letter-spacing:
        .02em;
}


.disc-cn-title {
    color:
        rgba(255,255,255,.42);

    font-size:
        12px;

    letter-spacing:
        .08em;
}


.disc-breadcrumb,
.disc-eyebrow,
.disc-toolbar-label,
.disc-result-meta,
.disc-masthead-meta small,
.disc-adjacent-label {
    font-family:
        "PingFang SC",
        "Hiragino Sans GB",
        "Microsoft YaHei",
        sans-serif;
}


/* =========================================================
   分类筛选
========================================================= */

.disc-toolbar {
    align-items:
        flex-end;
}


.disc-toolbar-main {
    min-width:
        0;
}


.disc-filters {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        8px;

    margin-top:
        16px;
}


.disc-filter {
    appearance:
        none;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        10px;

    min-height:
        34px;

    padding:
        0
        12px;

    border:
        1px solid
        rgba(184,155,104,.16);

    background:
        rgba(255,255,255,.012);

    color:
        rgba(255,255,255,.42);

    cursor:
        pointer;

    font:
        inherit;

    font-size:
        10px;

    letter-spacing:
        .04em;

    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease;
}


.disc-filter small {
    color:
        rgba(194,166,111,.42);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        8px;
}


.disc-filter:hover {
    color:
        rgba(255,255,255,.78);

    border-color:
        rgba(184,155,104,.34);
}


.disc-filter.is-active {
    color:
        #e4d2aa;

    border-color:
        rgba(184,155,104,.48);

    background:
        rgba(184,155,104,.07);
}


.disc-filter.is-active small {
    color:
        rgba(218,188,128,.80);
}


/* =========================================================
   暂无封面
========================================================= */

.disc-no-cover {
    position:
        absolute;

    inset:
        0;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    gap:
        25px;

    overflow:
        hidden;

    background:
        radial-gradient(
            circle at 50% 43%,
            rgba(184,155,104,.055),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            #0b0b0b,
            #050505
        );
}


.disc-no-cover::before {
    content:
        "";

    position:
        absolute;

    inset:
        18px;

    border:
        1px solid
        rgba(184,155,104,.07);

    pointer-events:
        none;
}


.disc-no-cover::after {
    content:
        "";

    position:
        absolute;

    width:
        68%;

    aspect-ratio:
        1;

    border:
        1px solid
        rgba(184,155,104,.035);

    border-radius:
        50%;

    pointer-events:
        none;
}


.disc-no-cover-logo {
    position:
        relative;
    z-index:
        1;

    width:
        25%;

    max-width:
        88px;

    height:
        auto;

    opacity:
        .10;

    filter:
        grayscale(1)
        sepia(.25)
        brightness(1.2);
}


.disc-no-cover-label {
    position:
        relative;
    z-index:
        1;

    color:
        rgba(202,175,120,.48);

    font-size:
        10px;

    letter-spacing:
        .18em;
}


.disc-detail-cover {
    position:
        relative;
}


.disc-no-cover.is-detail {
    gap:
        34px;
}


.disc-no-cover.is-detail
.disc-no-cover-logo {
    width:
        28%;

    max-width:
        130px;
}


.disc-detail-thumbs figure {
    position:
        relative;
}


/* =========================================================
   A-logo inline rendering
========================================================= */

.ayu-a-inline {
    display:
        inline-block;

    width:
        .82em;

    height:
        .82em;

    margin:
        0
        .06em;

    object-fit:
        contain;

    vertical-align:
        -.08em;

    filter:
        brightness(1.08);
}


.ayu-a-inline.is-card {
    width:
        .86em;

    height:
        .86em;
}


.ayu-a-inline.is-title {
    width:
        .78em;

    height:
        .78em;

    margin:
        0
        .075em;
}


.ayu-a-inline.is-cn,
.ayu-a-inline.is-body,
.ayu-a-inline.is-small {
    width:
        .80em;

    height:
        .80em;
}


/* 作品名称仍按官方命名显示，可包含英文/日文专有名词 */
.disc-card-title,
.disc-detail-original {
    overflow-wrap:
        anywhere;
}


/* UI 中文化后的细节 */
.disc-card-arrow {
    font-family:
        "PingFang SC",
        "Hiragino Sans GB",
        "Microsoft YaHei",
        sans-serif;

    letter-spacing:
        .08em;
}


.disc-detail-label,
.disc-source,
.disc-tag {
    letter-spacing:
        .06em;
}


@media (max-width: 860px) {

    .disc-toolbar {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

}


@media (max-width: 560px) {

    .disc-masthead::after {
        width:
            72vw;

        height:
            72vw;

        right:
            -11vw;

        bottom:
            -11vw;
    }


    .disc-filter {
        flex:
            1
            1
            calc(50% - 8px);

        justify-content:
            space-between;
    }

}


/* =========================================================
   v11.1 · A-logo 可视化修复
   logo.png 原图为深色；黑底页面上需要在展示层转成暖白。
   不修改 logo.png 文件本身。
========================================================= */

/* 顶部大型 A-logo 水印 */
.disc-masthead::after {
    filter:
        brightness(0)
        invert(1);

    opacity:
        .028;
}


/* “暂无封面”卡片里的淡 A-logo */
.disc-no-cover-logo {
    filter:
        brightness(0)
        invert(1);

    opacity:
        .075;
}


/* 标题 / 正文中的正式 A-logo */
.ayu-a-inline {
    filter:
        brightness(0)
        invert(1);

    opacity:
        .92;
}


/* 大标题里稍亮一些，小正文里稍收敛 */
.ayu-a-inline.is-title,
.ayu-a-inline.is-card {
    opacity:
        .96;
}

.ayu-a-inline.is-body,
.ayu-a-inline.is-small,
.ayu-a-inline.is-cn {
    opacity:
        .82;
}



/* =========================================================
   v11.2 · A-logo 悬停修复
   封面 hover 只作用于封面，不影响标题里的 A-logo。
========================================================= */

.disc-card:hover .ayu-a-inline {
    transform:
        none;

    filter:
        brightness(0)
        invert(1);
}

.disc-card:hover .ayu-a-inline.is-card {
    opacity:
        .96;
}

/* =========================================================
   Precise release edition / media structure
========================================================= */

.disc-edition-card {
    border: 1px solid rgba(184,155,104,.22);
    background: rgba(255,255,255,.012);
}

.disc-edition-panel[hidden],
.disc-edition-media-panel[hidden] {
    display: none !important;
}

.disc-edition-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    padding: 18px 20px 16px;
    border-bottom: 1px solid var(--disc-line);
}

.disc-edition-head > div {
    min-width: 0;
}

.disc-edition-head span {
    display: block;
    margin-bottom: 6px;
    color: rgba(184,155,104,.62);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 8px;
    letter-spacing: .14em;
}

.disc-edition-head h3 {
    margin: 0;
    color: rgba(255,255,255,.9);
    font-size: 16px;
    font-weight: 430;
    line-height: 1.45;
}

.disc-edition-head p {
    margin: 6px 0 0;
    color: rgba(255,255,255,.34);
    font-size: 9px;
    line-height: 1.55;
}

.disc-edition-head > small {
    flex: 0 0 auto;
    color: rgba(255,255,255,.3);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 8px;
    letter-spacing: .08em;
    line-height: 1.6;
    text-align: right;
}

.disc-media-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 13px 20px;
    border-bottom: 1px solid var(--disc-line);
    scrollbar-width: thin;
}

.disc-media-tabs button {
    flex: 0 0 auto;
    min-width: 64px;
    padding: 8px 12px;
    border: 1px solid rgba(184,155,104,.2);
    background: transparent;
    color: rgba(255,255,255,.38);
    font: inherit;
    font-size: 9px;
    letter-spacing: .06em;
    cursor: pointer;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}

.disc-media-tabs button:hover,
.disc-media-tabs button.is-active {
    border-color: rgba(184,155,104,.52);
    background: rgba(184,155,104,.06);
    color: var(--disc-gold-soft);
}

.disc-edition-media-panel .disc-track-panel-head {
    border-top: 0;
}

.disc-edition-pager {
    margin-top: 14px;
}

@media (max-width: 720px) {
    .disc-edition-head {
        display: block;
        padding: 15px 14px 13px;
    }

    .disc-edition-head > small {
        display: block;
        margin-top: 8px;
        text-align: left;
    }

    .disc-media-tabs {
        padding: 10px 14px;
    }

    .disc-media-tabs button {
        min-width: 58px;
        padding: 7px 10px;
    }
}
