/*
Theme Name: HLDXJ 雾光 v68
Theme URI: https://hldxj.cn/
Author: HLDXJ
Description: HLDXJ Independent Musician Website
Version: 2.6.1
*/

:root {
    --bg: #0a0a0a;
    --surface: #111111;
    --surface-hover: #151515;

    --text: #f5f5f5;
    --text-soft: #d0d0d0;
    --muted: #858585;

    --line: #282828;
    --line-strong: #444444;
    --header-link: #7e7e7e;
    --header-code: #676767;
    --panel-bg: rgba(15, 15, 15, .98);
    --panel-hover: #151515;

    --content-width: 1560px;
    --page-padding: 36px;

    --ease: cubic-bezier(.22, .61, .36, 1);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Helvetica Neue",
        Arial,
        sans-serif;

    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

audio {
    display: block;
    max-width: 100%;
}


/* =========================================================
   页面容器
   ========================================================= */

.site {
    width: min(100%, var(--content-width));
    margin: 0 auto;
    padding: 0 var(--page-padding);
}


/* =========================================================
   顶部
   ========================================================= */

.site-header {
    min-height: 78px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

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

.logo {
    font-size: 15px;
    font-weight: 650;
    letter-spacing: .1em;
}

.header-note {
    max-width: 45%;

    color: var(--muted);

    font-size: 12px;

    text-align: right;
}


/* =========================================================
   首页主体
   ========================================================= */

.hero-grid {
    display: grid;

    grid-template-columns: 1fr 2fr;

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


/* =========================================================
   左侧个人信息
   ========================================================= */

.profile {
    min-height: 720px;

    padding: 58px 46px 48px 0;

    border-right: 1px solid var(--line);

    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.eyebrow {
    margin: 0 0 24px;

    color: var(--muted);

    font-size: 11px;
    font-weight: 600;

    letter-spacing: .15em;
    text-transform: uppercase;
}

.profile-title {
    margin: 0;

    font-size: clamp(58px, 6vw, 94px);

    line-height: .88;

    letter-spacing: -.065em;

    font-weight: 600;

    overflow-wrap: anywhere;
}

.profile-description {
    max-width: 440px;

    margin-top: 32px;

    color: var(--text-soft);

    font-size: 16px;

    line-height: 1.82;

    white-space: normal;
}

.profile-meta {
    display: grid;

    gap: 7px;

    color: var(--muted);

    font-size: 12px;
}


/* =========================================================
   音乐区域
   ========================================================= */

.music {
    min-width: 0;

    padding: 58px 0 48px 46px;
}

.music-topline {
    display: flex;
    align-items: baseline;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 28px;
}

.section-label {
    margin: 0;

    color: var(--muted);

    font-size: 11px;
    font-weight: 600;

    letter-spacing: .15em;

    text-transform: uppercase;
}

.music-count {
    color: var(--muted);

    font-size: 12px;
}


/* =========================================================
   最新作品
   ========================================================= */

.feature-card {
    display: grid;

    grid-template-columns:
        minmax(260px, 40%)
        minmax(0, 1fr);

    gap: 32px;

    padding-bottom: 34px;

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

.cover {
    position: relative;

    display: block;

    aspect-ratio: 1 / 1;

    overflow: hidden;

    background: #151515;
}

.cover img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .55s var(--ease);
}

.cover:hover img {
    transform: scale(1.02);
}

.cover-placeholder {
    width: 100%;
    height: 100%;

    display: grid;
    place-items: center;

    color: #5f5f5f;

    font-size: 11px;

    letter-spacing: .1em;

    text-transform: uppercase;
}

.feature-copy {
    min-width: 0;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.work-type {
    margin-bottom: 10px;

    color: var(--muted);

    font-size: 12px;
}

.work-title {
    margin: 0;

    font-size: clamp(34px, 3.3vw, 52px);

    line-height: 1;

    letter-spacing: -.045em;

    font-weight: 560;

    overflow-wrap: anywhere;
}

.work-title a {
    transition: color .2s ease;
}

.work-title a:hover {
    color: #d7d7d7;
}

.work-date {
    margin-top: 12px;

    color: var(--muted);

    font-size: 12px;
}

.work-description {
    max-width: 580px;

    margin-top: 25px;

    color: var(--text-soft);

    font-size: 14px;

    line-height: 1.82;
}


/* =========================================================
   操作链接
   ========================================================= */

.work-actions {
    display: flex;
    align-items: center;

    flex-wrap: wrap;

    gap: 16px;

    margin-top: 28px;
}

.action {
    position: relative;

    display: inline-flex;
    align-items: center;

    min-height: 28px;

    color: #cdcdcd;

    font-size: 12px;
}

.action::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;

    bottom: 1px;

    height: 1px;

    background: var(--line-strong);

    transform: scaleX(0);

    transform-origin: left;

    transition:
        transform .25s var(--ease);
}

.action:hover {
    color: #fff;
}

.action:hover::after {
    transform: scaleX(1);
}


/* =========================================================
   播放器
   暂时保留原生样式
   ========================================================= */

.feature-player {
    width: 100%;

    margin-top: 24px;
}

.feature-player audio {
    width: 100%;
}


/* =========================================================
   更多作品
   ========================================================= */

.track-list {
    margin-top: 25px;
}

.track-list-title {
    margin-bottom: 7px;

    color: var(--muted);

    font-size: 11px;
    font-weight: 600;

    letter-spacing: .15em;

    text-transform: uppercase;
}

.track {
    position: relative;

    display: grid;

    grid-template-columns:
        48px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 12px;

    min-height: 60px;

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

    transition:
        padding .22s var(--ease),
        background-color .22s ease;
}

.track:first-of-type {
    border-top: 1px solid var(--line);
}

.track:hover {
    padding-left: 6px;

    background: rgba(
        255,
        255,
        255,
        .018
    );
}

.track-number {
    color: var(--muted);

    font-size: 11px;

    font-variant-numeric: tabular-nums;
}

.track-name {
    min-width: 0;

    font-size: 14px;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;

    transition: color .2s ease;
}

.track:hover .track-name {
    color: #fff;
}

.track-date {
    color: var(--muted);

    font-size: 11px;

    font-variant-numeric: tabular-nums;
}


/* =========================================================
   音乐 / 社交平台
   ========================================================= */

.platform-section {
    padding: 32px 0 38px;

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

.platform-grid {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;

    margin-top: 18px;
}

.platform-link {
    min-height: 35px;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 0 13px;

    border: 1px solid var(--line);

    color: #c4c4c4;

    font-size: 12px;

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

.platform-link::after {
    content: "↗";

    color: #696969;

    font-size: 11px;

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

.platform-link:hover {
    border-color: var(--line-strong);

    background: var(--surface-hover);

    color: #fff;

    transform: translateY(-1px);
}

.platform-link:hover::after {
    color: #aaa;

    transform:
        translate(
            1px,
            -1px
        );
}


.song-tag {
    display: inline-flex;
    align-items: center;
    margin-left: 9px;
    padding: 2px 7px;
    border: 1px solid var(--line-strong);
    border-radius: 999px;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: .03em;
    vertical-align: .12em;
    white-space: nowrap;
}

.song-tag-large {
    margin-left: 11px;
    padding: 4px 9px;
    font-size: 11px;
    vertical-align: .18em;
}

.tag-filter-bar { display:flex; flex-wrap:wrap; gap:8px; padding:0 0 22px; }
.tag-filter { display:inline-flex; align-items:center; min-height:31px; padding:0 11px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:var(--surface); font-size:11px; line-height:1; transition:transform .18s var(--ease),color .18s ease,border-color .18s ease,background-color .18s ease; }
.tag-filter:hover { color:var(--text); border-color:var(--line-strong); background:var(--surface-hover); transform:translateY(-1px); }
.tag-filter.is-active { color:var(--text); border-color:var(--line-strong); background:var(--surface-hover); }
.tag-filter-label { max-width:min(32vw,260px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tag-song-list { border-top: 1px solid var(--line); }
.tag-song-item { padding: 22px 0; border-bottom: 1px solid var(--line); }
.tag-song-title-row { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.tag-song-title { margin:0; min-width:0; font-size:20px; line-height:1.35; font-weight:560; }
.tag-song-title a:hover { color:#d2d2d2; }
.tag-song-meta { margin-top:8px; display:flex; flex-wrap:wrap; gap:8px 12px; color:var(--muted); font-size:12px; }

/* =========================================================
   页脚
   ========================================================= */

.site-footer {
    min-height: 74px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    color: var(--muted);

    font-size: 11px;
}


/* =========================================================
   单个作品页
   ========================================================= */

.single-wrap {
    max-width: 1160px;

    margin: 0 auto;

    padding: 62px 0 84px;
}

.back-link {
    display: inline-flex;

    margin-bottom: 34px;

    color: var(--muted);

    font-size: 12px;

    transition:
        color .2s ease;
}

.back-link:hover {
    color: #fff;
}

.single-hero {
    display: grid;

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

    gap: 60px;

    align-items: start;
}

.single-cover {
    aspect-ratio: 1 / 1;

    overflow: hidden;

    background: #151515;
}

.single-cover img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.single-title {
    margin: 0;

    font-size: clamp(
        44px,
        5.2vw,
        78px
    );

    line-height: .93;

    letter-spacing: -.06em;

    font-weight: 600;

    overflow-wrap: anywhere;
}

.single-meta {
    margin-top: 12px;

    color: var(--muted);

    font-size: 12px;
}

.single-description {
    max-width: 560px;

    margin-top: 28px;

    color: var(--text-soft);

    font-size: 15px;

    line-height: 1.85;
}

.single-section {
    margin-top: 54px;

    padding-top: 26px;

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

.single-section h2 {
    margin: 0 0 18px;

    color: var(--muted);

    font-size: 11px;
    font-weight: 600;

    letter-spacing: .15em;

    text-transform: uppercase;
}

.single-platforms {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;
}

.lyrics {
    white-space: pre-line;
    margin: 0;
    padding: 0;
    color: #d4d4d4;
    font-size: 14px;
    line-height: 2;
    overflow-wrap: anywhere;
}

.credits {
    display: grid;
    text-align: left;

    grid-template-columns:
        150px
        minmax(0, 1fr);

    gap: 10px 20px;

    color: #d3d3d3;

    font-size: 14px;
}


.credits-list span {
    display: block;
    white-space: normal;
    min-width: 0;
}

.credits span:nth-child(odd) {
    color: var(--muted);
}


/* =========================================================
   手机
   ========================================================= */

@media (max-width: 820px) {

    :root {
        --page-padding: 20px;
    }

    .site-header {
        min-height: 64px;
    }

    .header-note {
        display: none;
    }

    /*
     * 顺序：
     * 个人 → 音乐 → 平台
     */

    .hero-grid {
        display: block;
    }

    .profile {
        min-height: auto;

        padding: 42px 0 44px;

        border-right: 0;

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

    .profile-title {
        font-size: clamp(
            58px,
            17vw,
            90px
        );
    }

    .profile-description {
        margin-top: 27px;

        font-size: 15px;

        line-height: 1.78;
    }

    .profile-meta {
        margin-top: 34px;
    }

    .music {
        padding: 42px 0 48px;
    }

    .music-topline {
        margin-bottom: 24px;
    }

    .feature-card {
        grid-template-columns: 1fr;

        gap: 22px;

        padding-bottom: 30px;
    }

    .work-title {
        font-size: 33px;
    }

    .work-description {
        margin-top: 22px;
    }

    .feature-player {
        margin-top: 21px;
    }

    .track {
        min-height: 57px;
    }

    .track-date {
        display: none;
    }

    .platform-section {
        padding: 28px 0 34px;
    }

    .platform-link {
        min-height: 36px;
    }

    .site-footer {
        min-height: 66px;
        align-items:flex-start;
        flex-direction:column;
        padding:18px 0 22px;
    }

    .site-footer-main, .site-footer-side { width:100%; }

    .tag-filter-bar {
        gap:7px;
        padding-bottom:18px;
    }

    .tag-song-title-row {
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }

    .single-wrap {
        padding-top: 42px;
    }

    .single-hero {
        grid-template-columns: 1fr;

        gap: 32px;
    }

    .single-title {
        font-size: clamp(
            44px,
            13vw,
            70px
        );
    }

    .single-description {
        font-size: 14px;
    }

}


/* =========================================================
   小屏手机
   ========================================================= */

@media (max-width: 480px) {

    .profile {
        padding-top: 36px;
    }

    .music {
        padding-top: 36px;
    }

    .work-actions {
        gap: 13px;
    }

    .track {
        grid-template-columns:
            34px
            minmax(0, 1fr);
    }

    .track-date {
        display: none;
    }

    .credits {
        grid-template-columns:
            88px
            minmax(0, 1fr);
    }

    .single-platforms {
        gap: 8px;
    }

}

/* =========================================================
   HLDXJ 作品列表 v2
   ========================================================= */

.track {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 22px;
    padding: 28px 0;
    border-top: 1px solid var(--line);
}

.track:first-of-type {
    border-top: 0;
}

.track-number {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
    padding-top: 4px;
    font-variant-numeric: tabular-nums;
}

.track-main {
    display: flex;
    gap: 22px;
    min-width: 0;
}

.track-cover {
    display: block;
    width: 88px;
    height: 88px;
    flex: 0 0 88px;
    overflow: hidden;
    background: #151515;
}

.track-cover img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.track-info {
    min-width: 0;
    flex: 1;
}

.track-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.track-title {
    margin: 0;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 500;
    letter-spacing: -0.02em;
}

.track-title a {
    color: var(--text);
    text-decoration: none;
}

.track-title a:hover {
    opacity: 0.72;
}

.track-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 7px;
    color: var(--muted);
    font-size: 13px;
}

.meta-dot {
    opacity: 0.45;
}

.track-album {
    margin-top: 7px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}

.track-album a {
    color: var(--text);
    text-decoration: none;
}

.track-album a:hover {
    opacity: 0.7;
}

.track-player {
    margin-top: 18px;
}

.track-player audio {
    width: 100%;
    max-width: 560px;
    height: 38px;
}

.track-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.track-action {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--line);
    color: var(--muted);
    font-size: 13px;
    line-height: 1;
    text-decoration: none;
    transition:
        border-color 0.2s ease,
        color 0.2s ease,
        background 0.2s ease;
}

.track-action:hover {
    color: var(--text);
    border-color: #444;
}

.track-download {
    color: var(--text);
}

.track-more {
    border-color: transparent;
    padding-left: 2px;
    padding-right: 2px;
}

.track-more:hover {
    border-color: transparent;
}

.empty-state {
    padding: 80px 0;
    color: var(--muted);
    border-top: 1px solid var(--line);
}


/* =========================================================
   手机端
   ========================================================= */

@media (max-width: 760px) {

    .track {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 12px;
        padding: 24px 0;
    }

    .track-number {
        font-size: 12px;
    }

    .track-main {
        gap: 14px;
    }

    .track-cover {
        width: 68px;
        height: 68px;
        flex-basis: 68px;
    }

    .track-title {
        font-size: 17px;
    }

    .track-meta,
    .track-album {
        font-size: 12px;
    }

    .track-player {
        margin-top: 15px;
    }

    .track-player audio {
        width: 100%;
        max-width: none;
    }

    .track-actions {
        gap: 7px;
        margin-top: 11px;
    }

    .track-action {
        min-height: 32px;
        padding: 0 10px;
        font-size: 12px;
    }

    .track-more {
        padding-left: 2px;
        padding-right: 2px;
    }
}

/* =========================================================
   HLDXJ 歌曲列表
   ========================================================= */

.track {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 20px;
    padding: 30px 0;
    border-top: 1px solid var(--line);
}

.track:first-of-type {
    border-top: 0;
}

.track-number {
    padding-top: 4px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
    font-variant-numeric: tabular-nums;
}

.track-main {
    display: flex;
    gap: 20px;
    min-width: 0;
}

.track-cover {
    display: block;
    width: 92px;
    height: 92px;
    flex: 0 0 92px;
    overflow: hidden;
    background: #151515;
}

.track-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.track-info {
    min-width: 0;
    flex: 1;
}

.track-heading {
    min-width: 0;
}

.track-title {
    margin: 0;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 500;
    letter-spacing: -0.02em;
}

.track-title a {
    color: var(--text);
    text-decoration: none;
}

.track-title a:hover {
    opacity: 0.72;
}

.track-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 7px;
    color: var(--muted);
    font-size: 13px;
}

.meta-dot {
    opacity: 0.45;
}

.track-album {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 7px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}

.track-album a {
    color: var(--text);
    text-decoration: none;
}

.track-album a:hover {
    opacity: 0.7;
}

.album-type {
    color: var(--muted);
}

.track-player {
    margin-top: 18px;
}

.track-player audio {
    display: block;
    width: 100%;
    max-width: 580px;
    height: 38px;
}

.track-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
}

.track-action {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--line);
    color: var(--muted);
    font-size: 13px;
    line-height: 1;
    text-decoration: none;
    transition:
        border-color 0.2s ease,
        color 0.2s ease;
}

.track-action:hover {
    color: var(--text);
    border-color: #444;
}

.track-download {
    color: var(--text);
}

.track-more {
    padding-left: 3px;
    padding-right: 3px;
    border-color: transparent;
}

.track-more:hover {
    border-color: transparent;
}

.empty-state {
    padding: 70px 0;
    color: var(--muted);
    border-top: 1px solid var(--line);
}


/* =========================================================
   手机端
   ========================================================= */

@media (max-width: 760px) {

    .track {
        grid-template-columns: 28px minmax(0, 1fr);
        gap: 12px;
        padding: 24px 0;
    }

    .track-number {
        font-size: 11px;
    }

    .track-main {
        gap: 14px;
    }

    .track-cover {
        width: 68px;
        height: 68px;
        flex-basis: 68px;
    }

    .track-title {
        font-size: 17px;
    }

    .track-meta {
        margin-top: 5px;
        font-size: 12px;
    }

    .track-album {
        margin-top: 5px;
        font-size: 12px;
    }

    .track-player {
        margin-top: 14px;
    }

    .track-player audio {
        width: 100%;
        max-width: none;
    }

    .track-actions {
        gap: 7px;
        margin-top: 11px;
    }

    .track-action {
        min-height: 32px;
        padding: 0 10px;
        font-size: 12px;
    }
}

/* =========================================================
   HLDXJ 艺人头像
   ========================================================= */

.profile {
    --avatar-rgb: 70, 70, 70;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.profile-inner {
    position: relative;
    z-index: 3;
}

.artist-avatar {
    position: absolute;
    z-index: 1;
    left: -8%;
    bottom: -4%;
    width: min(88%, 560px);
    aspect-ratio: 1 / 1;
    pointer-events: none;
}

.artist-avatar img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: saturate(.92) contrast(.98);
    mask-image: radial-gradient(
        ellipse 73% 80% at 34% 72%,
        #000 36%,
        rgba(0,0,0,.94) 54%,
        rgba(0,0,0,.54) 69%,
        transparent 87%
    );
    -webkit-mask-image: radial-gradient(
        ellipse 73% 80% at 34% 72%,
        #000 36%,
        rgba(0,0,0,.94) 54%,
        rgba(0,0,0,.54) 69%,
        transparent 87%
    );
}

.artist-avatar::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 4% -6% -4% 0;
    background: rgba(255,255,255,.10);
    filter: blur(34px);
    opacity: .45;
    transform: translate(7%, -5%);
    mask-image: radial-gradient(
        ellipse 72% 78% at 34% 72%,
        #000 26%,
        rgba(0,0,0,.7) 52%,
        transparent 88%
    );
    -webkit-mask-image: radial-gradient(
        ellipse 72% 78% at 34% 72%,
        #000 26%,
        rgba(0,0,0,.7) 52%,
        transparent 88%
    );
}

.artist-avatar-glow {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.06);
    filter: blur(26px);
    opacity: .26;
    transform: translate(10%, -7%) scale(1.03);
}

.profile .artist-name,
.profile .artist-tagline,
.profile .artist-description,
.profile .artist-meta,
.profile .eyebrow {
    position: relative;
    z-index: 3;
}

@media (max-width: 820px) {
    .artist-avatar {
        position: relative;
        left: auto;
        bottom: auto;
        width: min(92vw, 460px);
        margin-top: 26px;
        margin-left: -7%;
        margin-bottom: -10%;
    }
}

@media (max-width: 480px) {
    .artist-avatar {
        width: min(110vw, 400px);
        margin-top: 20px;
        margin-left: -12%;
        margin-bottom: -12%;
    }
}


/* =========================================================
   HLDXJ 首页最终视觉调整
   ========================================================= */

.hero-grid {
    position: relative;
    overflow: hidden;
}

.profile {
    position: relative;
    min-height: 720px;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(
            78% 72% at 18% 88%,
            rgba(var(--avatar-rgb), .28),
            transparent 70%
        ),
        linear-gradient(
            135deg,
            rgba(var(--avatar-rgb), .12) 0%,
            rgba(var(--avatar-rgb), .07) 30%,
            rgba(var(--avatar-rgb), 0) 62%
        ),
        #0a0a0a;
}

.profile-inner {
    position: relative;
    z-index: 5;
    padding-right: 14px;
}

.profile .artist-name {
    margin: 0;
    max-width: 4.35em;
    font-size: clamp(54px, 5.35vw, 88px);
    line-height: .92;
    letter-spacing: -.065em;
    font-weight: 620;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
    text-wrap: balance;
    hyphens: none;
}

.profile .artist-tagline {
    max-width: 420px;
    margin: 24px 0 0;
    color: var(--text-soft);
    font-size: 16px;
    line-height: 1.7;
}

.profile .artist-description {
    max-width: 360px;
    margin-top: 14px;
    color: #929292;
    font-size: 12px;
    line-height: 1.9;
}

.profile .artist-description p {
    margin: 0;
}

.profile .artist-meta {
    position: relative;
    z-index: 5;
    display: grid;
    gap: 5px;
    margin-top: 28px;
    color: #777;
    font-size: 11px;
}

.profile::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: -18%;
    bottom: -18%;
    width: 110%;
    height: 78%;
    border-radius: 59% 41% 63% 37% / 41% 57% 43% 59%;
    background: rgba(var(--avatar-rgb), .10);
    filter: blur(44px);
    opacity: .72;
    transform: rotate(-9deg);
    pointer-events: none;
}

.artist-avatar {
    position: absolute;
    z-index: 2;
    left: -10%;
    bottom: -12%;
    width: min(105%, 620px);
    aspect-ratio: 1 / 1;
    pointer-events: none;
    transform: rotate(-5deg);
}

.artist-avatar-glow {
    position: absolute;
    z-index: 0;
    left: 2%;
    top: 8%;
    width: 88%;
    height: 84%;
    border-radius: 63% 37% 56% 44% / 44% 60% 40% 56%;
    background: rgba(var(--avatar-rgb), .18);
    filter: blur(38px);
    opacity: .72;
    transform: rotate(8deg) translate(7%, -4%);
}

.artist-avatar img {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center center;
    filter: saturate(.90) contrast(.98);
    border-radius: 61% 39% 58% 42% / 46% 57% 43% 54%;
    mask-image:
        linear-gradient(
            35deg,
            #000 0%,
            #000 48%,
            rgba(0,0,0,.92) 60%,
            rgba(0,0,0,.55) 72%,
            transparent 94%
        );
    -webkit-mask-image:
        linear-gradient(
            35deg,
            #000 0%,
            #000 48%,
            rgba(0,0,0,.92) 60%,
            rgba(0,0,0,.55) 72%,
            transparent 94%
        );
}

/* 沿头像向右上延伸的柔和颜色层，只存在于左侧 profile 内部 */
.artist-avatar::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 6%;
    top: 18%;
    width: 84%;
    height: 70%;
    border-radius: 58% 42% 64% 36% / 46% 62% 38% 54%;
    background:
        radial-gradient(
            circle at 36% 70%,
            rgba(var(--avatar-rgb), .34) 0%,
            rgba(var(--avatar-rgb), .16) 34%,
            rgba(var(--avatar-rgb), 0) 76%
        );
    filter: blur(28px);
    opacity: .72;
    transform: rotate(7deg) translate(8%, -12%);
}

/* 没有封面时也保留与其他歌曲完全一致的占位区域 */
.track-cover.is-placeholder {
    display: grid;
    place-items: center;
    background:
        linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.015)),
        #111;
    border: 1px solid rgba(255,255,255,.06);
}

.track-cover-placeholder {
    color: #555;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.track-cover.is-placeholder:hover .track-cover-placeholder {
    color: #777;
}

/* 让有/无封面的歌曲信息永远从相同的 x 轴开始 */
.track-main {
    align-items: flex-start;
}

@media (max-width: 820px) {

    .profile {
        min-height: 640px;
        padding-bottom: 260px;
    }

    .profile .artist-name {
        max-width: 4.15em;
        font-size: clamp(54px, 16.2vw, 84px);
        text-wrap: balance;
    }

    .artist-avatar {
        left: -12%;
        bottom: -16%;
        width: min(112vw, 520px);
    }

}

@media (max-width: 480px) {

    .profile {
        min-height: 590px;
        padding-bottom: 210px;
    }

    .profile .artist-name {
        max-width: 4em;
        font-size: clamp(50px, 17vw, 72px);
        text-wrap: balance;
    }

    .profile .artist-tagline {
        font-size: 15px;
    }

    .profile .artist-description {
        font-size: 12px;
    }

    .artist-avatar {
        left: -17%;
        bottom: -18%;
        width: 118vw;
    }

}


/* =========================================================
   歌曲详情页：制作人员 / 歌词
   桌面端 1/3 + 2/3，手机端上下排列
   ========================================================= */

.single-editorial-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 44px;
    align-items: start;
}

.single-editorial-grid .single-section {
    margin-top: 0;
}

.single-editorial-panel {
    min-width: 0;
}

@media (max-width: 820px) {
    .single-editorial-grid {
        display: block;
    }

    .single-editorial-grid .single-section + .single-section {
        margin-top: 54px;
    }
}


/* =========================================================
   HLDXJ 前台最终统一整理
   只做视觉与交互层优化，不改变现有数据结构
   ========================================================= */

html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
}

.site-main {
    display: block;
}

/* ---------- 首页标题区域 ---------- */
.section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.section-heading .eyebrow {
    margin-bottom: 12px;
}

.section-heading h2,
.platform-heading h2 {
    margin: 0;
    font-size: clamp(30px, 3.2vw, 42px);
    line-height: 1;
    letter-spacing: -.045em;
    font-weight: 600;
}

.section-count {
    flex: 0 0 auto;
    padding-bottom: 2px;
    color: var(--muted);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.platform-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
}

.platform-heading .eyebrow {
    margin-bottom: 12px;
}

.platform-list {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

/* ---------- 艺人区域 ---------- */
.profile {
    border-right-color: rgba(255,255,255,.09);
}

.profile-inner {
    max-width: 100%;
}

.profile .artist-name {
    max-width: 100%;
}

.profile .artist-tagline {
    max-width: 34rem;
}

.profile .artist-description {
    max-width: 28rem;
}

/* ---------- 首页歌曲列表 ---------- */
.track {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 20px;
    padding: 28px 0;
    border-top: 1px solid var(--line);
    border-bottom: 0;
    transition: background-color .22s ease;
}

.track:first-of-type {
    border-top: 0;
}

.track + .track {
    border-top: 1px solid var(--line);
}

.track:hover {
    padding-left: 0;
    background: rgba(255,255,255,.018);
}

.track-main {
    gap: 20px;
    align-items: flex-start;
}

.track-cover,
.track-cover.is-placeholder {
    border-radius: 8px;
}

.track-info {
    padding-top: 1px;
}

.track-title {
    font-size: 20px;
    line-height: 1.28;
    font-weight: 500;
}

.track-title a:hover,
.track-album a:hover {
    opacity: 1;
    color: #fff;
}

.track-meta,
.track-album {
    color: #8c8c8c;
}

.track-player {
    margin-top: 16px;
}

.track-player audio {
    width: 100%;
    max-width: 580px;
    height: 38px;
}

.track-actions {
    gap: 8px;
    margin-top: 12px;
}

.track-action {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 7px;
    background: rgba(255,255,255,.008);
}

.track-action:hover {
    background: rgba(255,255,255,.035);
}

.track-more {
    background: transparent;
}

.empty-state {
    padding: 64px 0;
}

/* ---------- 平台链接 ---------- */
.platform-link {
    border-radius: 7px;
    background: rgba(255,255,255,.008);
}

.platform-link:hover {
    background: rgba(255,255,255,.035);
}

/* ---------- 通用焦点状态 ---------- */
a:focus-visible,
button:focus-visible,
select:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid rgba(255,255,255,.55);
    outline-offset: 3px;
}

/* ---------- 歌曲详情页 ---------- */
.single-wrap {
    max-width: 1200px;
}

.single-hero {
    gap: 64px;
}

.single-cover {
    border-radius: 12px;
}

.single-title {
    font-size: clamp(46px, 5.4vw, 82px);
}

.single-description {
    max-width: 600px;
    color: var(--text-soft);
}

.single-hero > :last-child .single-section {
    margin-top: 46px;
    padding-top: 24px;
}

.single-hero > :last-child .single-section h2,
.single-editorial-panel h2 {
    margin-bottom: 18px;
}

.work-actions {
    gap: 9px;
}

.action {
    min-height: 32px;
    padding: 0 2px;
}

.single-editorial-grid {
    margin-top: 56px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 0;
    border-top: 1px solid var(--line);
}

.single-editorial-grid .single-editorial-panel {
    margin-top: 0;
    padding-top: 26px;
}

.single-editorial-grid .single-editorial-panel:first-child {
    padding-right: 44px;
}

.single-editorial-grid .single-editorial-panel + .single-editorial-panel {
    padding-left: 44px;
    border-left: 1px solid var(--line);
}

.single-editorial-grid .credits {
    grid-template-columns: 118px minmax(0, 1fr);
}

.single-editorial-grid .lyrics {
    max-width: none;
}

.single-platforms {
    gap: 9px;
}

.single-platforms .platform-link {
    min-height: 35px;
    padding: 0 13px;
}

/* ---------- 页脚 ---------- */
.site-footer {
    border-top: 1px solid var(--line);
    flex-wrap: wrap;
}
.site-footer-main, .site-footer-side { display:flex; flex-direction:column; gap:5px; min-width:0; }
.site-footer-records { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.record-link:hover { color:var(--text); }
.record-police-link { display:inline-flex; align-items:center; gap:5px; }
.record-police-icon { width:18px; height:18px; object-fit:contain; flex:0 0 18px; vertical-align:middle; }
.record-separator { opacity:.45; }
.site-footer-wp-credit a { text-decoration:underline; text-decoration-color:var(--line-strong); text-underline-offset:3px; }


/* ---------- 响应式 ---------- */
@media (max-width: 820px) {

    .section-heading {
        align-items: baseline;
        margin-bottom: 22px;
    }

    .section-heading h2,
    .platform-heading h2 {
        font-size: 30px;
    }

    .track {
        grid-template-columns: 28px minmax(0, 1fr);
        gap: 12px;
        padding: 24px 0;
    }

    .track-main {
        gap: 14px;
    }

    .track-cover,
    .track-cover.is-placeholder {
        width: 68px;
        height: 68px;
        flex-basis: 68px;
    }

    .track-title {
        font-size: 17px;
    }

    .track-action {
        min-height: 34px;
    }

    .single-wrap {
        padding-top: 42px;
    }

    .single-hero {
        gap: 34px;
    }

    .single-cover {
        border-radius: 10px;
    }

    .single-editorial-grid {
        display: block;
        margin-top: 46px;
        border-top: 0;
    }

    .single-editorial-grid .single-editorial-panel,
    .single-editorial-grid .single-editorial-panel:first-child,
    .single-editorial-grid .single-editorial-panel + .single-editorial-panel {
        padding: 24px 0 0;
        border-left: 0;
        border-top: 1px solid var(--line);
    }

    .single-editorial-grid .single-editorial-panel + .single-editorial-panel {
        margin-top: 42px;
    }

}

@media (max-width: 480px) {

    .section-heading {
        margin-bottom: 18px;
    }

    .section-heading h2,
    .platform-heading h2 {
        font-size: 28px;
    }

    .section-count {
        font-size: 11px;
    }

    .platform-list {
        gap: 7px;
    }

    .platform-link {
        min-height: 34px;
        padding: 0 11px;
    }

    .track {
        grid-template-columns: 28px minmax(0, 1fr);
        padding: 22px 0;
    }

    .track-cover,
    .track-cover.is-placeholder {
        width: 62px;
        height: 62px;
        flex-basis: 62px;
        border-radius: 7px;
    }

    .track-main {
        gap: 12px;
    }

    .track-title {
        font-size: 16px;
    }

    .track-meta,
    .track-album {
        font-size: 12px;
    }

    .track-actions {
        gap: 6px;
    }

    .track-action {
        min-height: 33px;
        padding: 0 9px;
        font-size: 12px;
    }

    .single-title {
        font-size: clamp(42px, 13vw, 64px);
    }

    .single-description {
        font-size: 14px;
        line-height: 1.8;
    }

    .single-editorial-grid .credits {
        grid-template-columns: 92px minmax(0, 1fr);
    }

}

/* =========================================================
   专辑详情页 v2
   与首页 / 歌曲详情页统一视觉
   ========================================================= */

.release-wrap {
    max-width: 1160px;
    margin: 0 auto;
    padding: 62px 0 84px;
}

.release-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 60px;
    align-items: start;
}

.release-cover {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #151515;
}

.release-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.release-cover-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    color: #6b6b6b;
    border: 1px solid var(--line);
    letter-spacing: .14em;
}

.release-cover-placeholder span {
    font-size: 18px;
    font-weight: 600;
}

.release-cover-placeholder small {
    font-size: 9px;
}

.release-info {
    min-width: 0;
    padding-top: 8px;
}

.release-kicker {
    margin-bottom: 16px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.release-title {
    margin: 0;
    font-size: clamp(46px, 5.3vw, 82px);
    line-height: .94;
    letter-spacing: -.06em;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.release-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 20px;
    margin-top: 18px;
    color: var(--muted);
    font-size: 12px;
}

.release-description {
    max-width: 560px;
    margin-top: 30px;
    color: var(--text-soft);
    font-size: 14px;
    line-height: 1.85;
}

.release-tracks {
    margin-top: 70px;
    padding-top: 28px;
    border-top: 1px solid var(--line);
}

.release-tracks-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.release-tracks-heading .eyebrow {
    margin-bottom: 9px;
}

.release-tracks-heading h2 {
    margin: 0;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1;
    letter-spacing: -.04em;
    font-weight: 600;
}

.release-track-list {
    border-top: 1px solid var(--line);
}

.release-track {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 20px;
    padding: 22px 0;
    border-bottom: 1px solid var(--line);
    transition: background-color .2s ease;
}

.release-track:hover {
    background: rgba(255,255,255,.018);
}

.release-track-number {
    padding-top: 4px;
    color: var(--muted);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.release-track-main {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 18px;
    min-width: 0;
}

.release-track-cover {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #131313;
    border: 1px solid var(--line);
    color: #656565;
    font-size: 9px;
    letter-spacing: .1em;
}

.release-track-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.release-track-info {
    min-width: 0;
}

.release-track-title-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
}

.release-track-title {
    min-width: 0;
    margin: 0;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 560;
}

.release-track-title a {
    transition: color .2s ease;
}

.release-track-title a:hover {
    color: #d2d2d2;
}

.release-track-meta {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: var(--muted);
    font-size: 11px;
}

.release-track-player {
    margin-top: 13px;
}

.release-track-player audio {
    width: 100%;
}

.release-track-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 11px;
}

.release-track-actions a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    color: #bdbdbd;
    font-size: 12px;
    transition: color .2s ease;
}

.release-track-actions a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1px;
    height: 1px;
    background: var(--line-strong);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s var(--ease);
}

.release-track-actions a:hover {
    color: #fff;
}

.release-track-actions a:hover::after {
    transform: scaleX(1);
}

.release-track-actions .release-track-more {
    color: #e0e0e0;
}

@media (max-width: 820px) {
    .release-wrap {
        padding-top: 42px;
    }

    .release-hero {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .release-info {
        padding-top: 0;
    }

    .release-title {
        font-size: clamp(44px, 13vw, 70px);
    }

    .release-tracks {
        margin-top: 48px;
    }

    .release-track-main {
        grid-template-columns: 60px minmax(0, 1fr);
        gap: 14px;
    }

    .release-track-cover {
        width: 60px;
        height: 60px;
    }

    .release-track-title-row {
        display: block;
    }

    .release-track-meta {
        margin-top: 5px;
    }
}

@media (max-width: 480px) {
    .release-wrap {
        padding-top: 36px;
    }

    .release-track {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 12px;
        padding: 18px 0;
    }

    .release-track-main {
        grid-template-columns: 56px minmax(0, 1fr);
        gap: 12px;
    }

    .release-track-cover {
        width: 56px;
        height: 56px;
    }

    .release-track-title {
        font-size: 16px;
    }

    .release-track-player {
        margin-top: 10px;
    }

    .release-track-actions {
        gap: 6px 13px;
    }
}

/* =========================================================
   前台主导航 / 专辑集合页
   ========================================================= */

.site-nav {
    position: relative;
    display: flex;
    align-items: center;
    gap: 24px;
}

.site-nav a {
    color: var(--muted);
    font-size: 12px;
    transition: color .2s ease;
}

.site-nav a:hover,
.site-nav a.is-active {
    color: var(--text);
}

.collection-wrap {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 62px 0 84px;
}

.collection-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 34px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--line);
}

.collection-heading .eyebrow {
    margin-bottom: 10px;
}

.collection-title {
    margin: 0;
    font-size: clamp(46px, 5.5vw, 80px);
    line-height: .94;
    letter-spacing: -.06em;
    font-weight: 600;
}

.release-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 44px 24px;
}

.release-card {
    min-width: 0;
}

.release-card-cover {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 10px;
}

.release-card-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s var(--ease);
}

.release-card-cover:hover img {
    transform: scale(1.02);
}

.release-card-placeholder {
    color: #666;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .14em;
}

.release-card-info {
    padding-top: 14px;
}

.release-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 12px;
    color: var(--muted);
    font-size: 11px;
}

.release-card-title {
    margin: 8px 0 0;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 560;
    letter-spacing: -.02em;
}

.release-card-title a {
    transition: color .2s ease;
}

.release-card-title a:hover {
    color: #cfcfcf;
}

@media (max-width: 980px) {

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

@media (max-width: 820px) {

    .site-nav {
        gap: 16px;
    }

    .site-nav a {
        font-size: 11px;
    }

    .collection-wrap {
        padding: 42px 0 60px;
    }

    .collection-heading {
        margin-bottom: 26px;
        padding-bottom: 20px;
    }

    .release-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 16px;
    }

    .release-card-title {
        font-size: 16px;
    }
}

@media (max-width: 480px) {

    .site-nav {
        gap: 12px;
    }

    .collection-wrap {
        padding-top: 36px;
        padding-bottom: 50px;
    }

    .collection-title {
        font-size: clamp(42px, 14vw, 64px);
    }

    .release-grid {
        gap: 28px 12px;
    }

    .release-card-cover {
        border-radius: 8px;
    }

    .release-card-info {
        padding-top: 11px;
    }

    .release-card-meta {
        font-size: 10px;
    }

    .release-card-title {
        margin-top: 6px;
        font-size: 15px;
    }
}

/* 首页歌曲区的专辑入口 */
.section-heading-right {
    display: flex;
    align-items: center;
    gap: 18px;
}

.section-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--muted);
    font-size: 12px;
    transition: color .2s ease;
}

.section-link span {
    transition: transform .2s ease;
}

.section-link:hover {
    color: var(--text);
}

.section-link:hover span {
    transform: translateX(3px);
}

@media (max-width: 480px) {
    .section-heading-right {
        gap: 12px;
    }

    .section-link {
        font-size: 11px;
    }
}


/* 临星集品牌标识 */
.brand-name {
    margin-left: 9px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .08em;
}

@media (max-width: 480px) {
    .brand-name {
        margin-left: 6px;
        font-size: 10px;
    }
}


/* =========================================================
   v6 顶部导航 / 封面比例精修
   ========================================================= */

.site-header {
    min-height: 82px;
    gap: 28px;
    position: relative;
}

.logo {
    display: inline-flex;
    align-items: baseline;
    gap: 9px;
    flex: 0 0 auto;
    letter-spacing: 0;
    line-height: 1;
}

.logo-name {
    color: var(--text);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -.035em;
}

.logo-code {
    color: var(--header-code);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .13em;
    text-transform: lowercase;
}

.site-nav {
    display: flex;
    align-items: center;
    margin-left: auto;
    position: relative;
}

.site-nav-main {
    display: flex;
    align-items: center;
    gap: 30px;
}

.site-nav a {
    position: relative;
    color: var(--header-link);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .01em;
    transition: color .2s ease;
}

.site-nav-main a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .2s ease;
}

.site-nav-main a:hover,
.site-nav-main a.is-active,
.site-nav-mobile-panel a:hover,
.site-nav-mobile-panel a.is-active {
    color: var(--text);
}

.site-nav-main a:hover::after,
.site-nav-main a.is-active::after {
    transform: scaleX(1);
}

.site-nav-friend {
    cursor: default;
}

.site-nav-more,
.site-nav-mobile-panel {
    display: none;
}

.site-theme-toggle {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 2px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    font: inherit;
    transition: color .2s var(--ease), background-color .2s var(--ease), transform .2s var(--ease);
}

.site-theme-toggle:hover {
    color: var(--text);
    background: var(--surface-hover);
    transform: translateY(-1px);
}

.site-theme-icon {
    display: none;
    font-size: 15px;
    line-height: 1;
}

.site-theme-toggle:not(.is-dark) .site-theme-icon-sun,
.site-theme-toggle.is-dark .site-theme-icon-moon {
    display: inline;
}

/* 详情页封面：从 1/2 收到约 42%，让标题和信息更有呼吸感 */
.single-hero {
    grid-template-columns: minmax(300px, 42%) minmax(0, 1fr);
    gap: 54px;
}

.release-hero {
    grid-template-columns: minmax(300px, 42%) minmax(0, 1fr);
    gap: 54px;
}

.single-cover,
.release-cover {
    width: 100%;
    max-width: 500px;
    justify-self: start;
}

@media (max-width: 820px) {
    .site-header {
        min-height: 66px;
    }

    .logo-name {
        font-size: 17px;
    }

    .logo-code {
        font-size: 10px;
    }

    .site-nav-main {
        display: none;
    }

    .site-theme-toggle {
        display: inline-flex;
        width: 32px;
        height: 32px;
        margin-left: 4px;
    }

    .site-nav-more {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        padding: 0;
        border: 0;
        background: transparent;
        color: #8a8a8a;
        font: inherit;
        font-size: 18px;
        line-height: 1;
        letter-spacing: .12em;
        cursor: pointer;
        border-radius: 50%;
        transition: color .2s ease, background .2s ease;
    }

    .site-nav-more:hover,
    .site-nav-more[aria-expanded="true"] {
        color: var(--text);
        background: var(--panel-hover);
    }

    .site-nav-mobile-panel {
        position: absolute;
        z-index: 20;
        top: calc(100% + 10px);
        right: 0;
        min-width: 150px;
        padding: 8px;
        border: 1px solid var(--line);
        background: var(--panel-bg);
        box-shadow: 0 18px 45px rgba(0, 0, 0, .32);
    }

    .site-nav-mobile-panel.is-open {
        display: flex;
        flex-direction: column;
    }

    .site-nav-mobile-panel a {
        display: block;
        padding: 11px 12px;
        border-radius: 7px;
        color: #8a8a8a;
        font-size: 12px;
    }

    .site-nav-mobile-panel a.is-active,
    .site-nav-mobile-panel a:hover {
        background: #151515;
        color: var(--text);
    }

    .single-hero,
    .release-hero {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .single-cover,
    .release-cover {
        max-width: 520px;
    }
}

@media (max-width: 480px) {
    .logo-name {
        font-size: 16px;
    }

    .logo {
        gap: 8px;
    }

    .single-cover,
    .release-cover {
        max-width: none;
    }
}


/* =========================================================
   v8 导航 / 交互反馈 / 封面质感
   ========================================================= */

.site-nav-back {
    margin-left: 2px;
    color: #666 !important;
}

.site-nav-back:hover {
    color: var(--text) !important;
}

.site-nav-mobile-divider {
    display: block;
    height: 1px;
    margin: 5px 7px;
    background: linear-gradient(90deg, transparent, var(--line-strong), transparent);
}

/* 不再做整页切换淡出，仅保留鼠标悬停时的微交互 */
.site-nav a,
.back-link,
.action,
.track-title a,
.track-album a,
.release-track-title a,
.release-track-actions a,
.platform-link {
    transition: color .18s ease, transform .18s ease, opacity .18s ease;
}

.site-nav a:hover,
.back-link:hover,
.action:hover,
.track-title a:hover,
.track-album a:hover,
.release-track-title a:hover,
.release-track-actions a:hover,
.platform-link:hover {
    transform: translateY(-1px);
}

.track-cover,
.release-track-cover,
.release-card-cover,
.single-cover,
.release-cover {
    transition: transform .24s var(--ease), box-shadow .24s ease, border-color .24s ease;
}

.track-cover:hover,
.release-track-cover:hover,
.release-card-cover:hover,
.single-cover:hover,
.release-cover:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(0,0,0,.24);
}

.single-cover,
.release-cover {
    box-shadow: 0 22px 55px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,255,255,.035);
}

.single-cover::after,
.release-cover::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(135deg, rgba(255,255,255,.035), transparent 32%, transparent 68%, rgba(0,0,0,.08)),
        radial-gradient(circle at 15% 10%, rgba(255,255,255,.045), transparent 28%);
    pointer-events: none;
    mix-blend-mode: screen;
    opacity: .68;
}

.single-cover img,
.release-cover img {
    filter: saturate(.88) contrast(.96);
    transition: transform .28s var(--ease), filter .24s ease;
}

.single-cover:hover img,
.release-cover:hover img {
    transform: scale(1.012);
    filter: saturate(.94) contrast(.99);
}

.hldxj-image-hero {
    position: relative;
    isolation: isolate;
    overflow: visible;
}

.hldxj-image-hero::before {
    content: '';
    position: absolute;
    z-index: -2;
    top: -120px;
    left: -16vw;
    right: -16vw;
    height: 390px;
    background-image: var(--hero-cover);
    background-size: cover;
    background-position: center;
    filter: grayscale(1) blur(36px) contrast(.86);
    opacity: .125;
    transform: scale(1.06);
    pointer-events: none;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.82), rgba(0,0,0,.42) 46%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.82), rgba(0,0,0,.42) 46%, transparent 100%);
}

.hldxj-image-hero::after {
    content: '';
    position: absolute;
    z-index: -1;
    left: -8%;
    right: -8%;
    bottom: -38px;
    height: 120px;
    background: linear-gradient(to bottom, rgba(10,10,10,0), rgba(10,10,10,.18) 58%, rgba(10,10,10,0));
    pointer-events: none;
}

/* 让 Hero 与下面的分割线自然过渡，不再出现一条突兀的横线 */
.release-tracks,
.single-editorial-grid {
    position: relative;
    border-top: 0 !important;
}

.release-tracks::before,
.single-editorial-grid::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.025) 9%, var(--line) 28%, var(--line) 72%, rgba(255,255,255,.025) 91%, transparent 100%);
}

.release-track-list {
    border-top-color: rgba(255,255,255,.035);
}

.single-section {
    border-top-color: rgba(255,255,255,.045);
}

@media (prefers-reduced-motion: reduce) {
    .site-nav a,
    .back-link,
    .action,
    .track-title a,
    .track-album a,
    .release-track-title a,
    .release-track-actions a,
    .platform-link,
    .track-cover,
    .release-track-cover,
    .release-card-cover,
    .single-cover,
    .release-cover,
    .single-cover img,
    .release-cover img { transition: none !important; }
}

@media (max-width: 820px) {
    .site-nav-mobile-panel {
        display: none !important;
        position: absolute;
        z-index: 1000;
        top: calc(100% + 10px);
        right: 0;
        min-width: 158px;
        max-width: min(82vw, 240px);
        padding: 8px;
        border: 1px solid var(--line);
        border-radius: 12px;
        background: rgba(15,15,15,.985);
        box-shadow: 0 18px 45px rgba(0,0,0,.36);
        transform-origin: top right;
        opacity: 0;
        transform: translateY(-5px) scale(.98);
        visibility: hidden;
        pointer-events: none;
    }

    .site-nav-mobile-panel.is-open {
        display: flex !important;
        flex-direction: column;
        gap: 2px;
        opacity: 1;
        transform: translateY(0) scale(1);
        visibility: visible;
        pointer-events: auto;
    }

    .site-nav-mobile-panel a {
        display: block;
        padding: 11px 12px;
        border-radius: 8px;
        color: #8a8a8a;
        font-size: 12px;
        transition: color .18s ease, background-color .18s ease, transform .18s ease;
    }

    .site-nav-mobile-panel a.is-active,
    .site-nav-mobile-panel a:hover {
        background: #151515;
        color: var(--text);
        transform: translateX(1px);
    }

    .site-nav-mobile-divider {
        margin: 6px 7px;
        background: linear-gradient(90deg, transparent, var(--line-strong), transparent);
    }

    .site-nav-mobile-panel .site-nav-back {
        color: #707070 !important;
    }

    .site-nav-mobile-panel .site-nav-back:hover {
        color: var(--text) !important;
    }
}

@media (max-width: 480px) {
    .site-nav-mobile-panel {
        right: -2px;
        min-width: 152px;
    }
}


/* =========================================================
   深浅色模式：默认跟随系统，可由顶栏按钮切换
   ========================================================= */

:root {
    color-scheme: dark light;
}

:root[data-theme="dark"] {
    color-scheme: dark;
}

:root[data-theme="light"] {
    color-scheme: light;
    --bg: #f5f5f2;
    --surface: #ffffff;
    --surface-hover: #eeeeea;
    --text: #171717;
    --text-soft: #3f403d;
    --muted: #5f615d;
    --line: #d7d8d1;
    --line-strong: #9fa19a;
    --header-link: #4f514d;
    --header-code: #6a6b67;
    --panel-bg: rgba(255,255,252,.98);
    --panel-hover: #efefe9;
}

@media (prefers-color-scheme: light) {
    :root:not([data-theme="dark"]):not([data-theme="light"]) {
        --bg: #f5f5f2;
        --surface: #ffffff;
        --surface-hover: #eeeeea;
        --text: #171717;
        --text-soft: #454545;
        --muted: #777777;
        --line: #ddddd6;
        --line-strong: #b7b7af;
        --header-link: #676767;
        --header-code: #8a8a8a;
        --panel-bg: rgba(255,255,252,.98);
        --panel-hover: #efefe9;
    }
}

:root[data-theme="light"] .profile {
    background:
        radial-gradient(78% 72% at 18% 88%, rgba(var(--avatar-rgb), .14), transparent 70%),
        linear-gradient(135deg, rgba(var(--avatar-rgb), .075) 0%, rgba(var(--avatar-rgb), .035) 30%, rgba(var(--avatar-rgb), 0) 62%),
        #f1f1ed;
}

:root[data-theme="light"] .artist-avatar::after,
:root[data-theme="light"] .artist-avatar-glow {
    background: rgba(255,255,255,.38);
}

:root[data-theme="light"] .site-nav-mobile-panel {
    border-color: var(--line);
    box-shadow: 0 18px 45px rgba(0,0,0,.12);
}

:root[data-theme="light"] .site-nav-mobile-panel a.is-active,
:root[data-theme="light"] .site-nav-mobile-panel a:hover,
:root[data-theme="light"] .site-nav-more:hover,
:root[data-theme="light"] .site-nav-more[aria-expanded="true"],
:root[data-theme="light"] .site-theme-toggle:hover {
    background: var(--panel-hover);
}

:root[data-theme="light"] .profile .artist-meta {
    border-color: rgba(0,0,0,.07);
}

@media (max-width: 820px) {
    .site-theme-toggle {
        order: 1;
    }

    .site-nav-more {
        order: 2;
    }
}


/* =========================================================
   v10 浅色模式文字可读性统一修正
   ========================================================= */

@media (prefers-color-scheme: light) {
    :root:not([data-theme="dark"]):not([data-theme="light"]) {
        --text: #171717;
        --text-soft: #3f403d;
        --muted: #5f615d;
        --line: #d7d8d1;
        --line-strong: #9fa19a;
        --header-link: #4f514d;
        --header-code: #6a6b67;
        --panel-bg: rgba(255,255,252,.985);
        --panel-hover: #ecece7;
    }
}


/* 显式浅色主题：把历史版本里写死的深色模式文字全部映射到深灰色。 */
:root[data-theme="light"] .cover-placeholder,
:root[data-theme="light"] .release-cover-placeholder,
:root[data-theme="light"] .release-track-cover,
:root[data-theme="light"] .release-card-placeholder {
    color: #5d5f5a !important;
}

:root[data-theme="light"] .work-title a:hover,
:root[data-theme="light"] .track:hover .track-name,
:root[data-theme="light"] .action:hover,
:root[data-theme="light"] .platform-link:hover,
:root[data-theme="light"] .release-track-actions a:hover,
:root[data-theme="light"] .tag-song-title a:hover,
:root[data-theme="light"] .release-card-title a:hover,
:root[data-theme="light"] .release-track-title a:hover {
    color: #111 !important;
}

:root[data-theme="light"] .action,
:root[data-theme="light"] .platform-link,
:root[data-theme="light"] .release-track-actions a,
:root[data-theme="light"] .release-track-actions .release-track-more {
    color: #3f403d !important;
}

:root[data-theme="light"] .action:hover,
:root[data-theme="light"] .platform-link:hover,
:root[data-theme="light"] .release-track-actions a:hover,
:root[data-theme="light"] .release-track-actions .release-track-more:hover {
    color: #111 !important;
}

:root[data-theme="light"] .platform-link::after,
:root[data-theme="light"] .release-track-actions a::after {
    color: #676963 !important;
}

:root[data-theme="light"] .platform-link:hover::after,
:root[data-theme="light"] .release-track-actions a:hover::after {
    color: #30322f !important;
}

:root[data-theme="light"] .lyrics,
:root[data-theme="light"] .credits {
    color: #333532 !important;
}

:root[data-theme="light"] .credits span:nth-child(odd) {
    color: #5f615d !important;
}

:root[data-theme="light"] .site-nav-back,
:root[data-theme="light"] .site-nav-mobile-panel a {
    color: #4f514d !important;
}

:root[data-theme="light"] .site-nav-more,
:root[data-theme="light"] .site-theme-toggle {
    color: #4f514d !important;
}

:root[data-theme="light"] .site-nav-more:hover,
:root[data-theme="light"] .site-nav-more[aria-expanded="true"],
:root[data-theme="light"] .site-theme-toggle:hover,
:root[data-theme="light"] .site-nav-mobile-panel a:hover,
:root[data-theme="light"] .site-nav-mobile-panel a.is-active,
:root[data-theme="light"] .site-nav-back:hover {
    color: #171717 !important;
}

:root[data-theme="light"] .single-meta,
:root[data-theme="light"] .release-meta-row,
:root[data-theme="light"] .work-date,
:root[data-theme="light"] .track-number,
:root[data-theme="light"] .track-date,
:root[data-theme="light"] .track-meta,
:root[data-theme="light"] .track-album,
:root[data-theme="light"] .track-action,
:root[data-theme="light"] .empty-state,
:root[data-theme="light"] .release-track-number,
:root[data-theme="light"] .release-track-meta,
:root[data-theme="light"] .release-card-meta,
:root[data-theme="light"] .profile .artist-description,
:root[data-theme="light"] .profile .artist-meta,
:root[data-theme="light"] .song-tag,
:root[data-theme="light"] .section-label,
:root[data-theme="light"] .track-list-title,
:root[data-theme="light"] .single-section h2,
:root[data-theme="light"] .release-kicker {
    color: var(--muted) !important;
}

:root[data-theme="light"] .single-description,
:root[data-theme="light"] .release-description,
:root[data-theme="light"] .profile-description,
:root[data-theme="light"] .profile .artist-tagline,
:root[data-theme="light"] .work-description {
    color: var(--text-soft) !important;
}

/* 跟随系统进入浅色模式时，也使用同一套可读性规则。 */
@media (prefers-color-scheme: light) {
    :root:not([data-theme="dark"]):not([data-theme="light"]) .cover-placeholder,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-cover-placeholder,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-track-cover,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-card-placeholder {
        color: #5d5f5a !important;
    }

    :root:not([data-theme="dark"]):not([data-theme="light"]) .work-title a:hover,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .track:hover .track-name,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .action:hover,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .platform-link:hover,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-track-actions a:hover,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .tag-song-title a:hover,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-card-title a:hover,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-track-title a:hover {
        color: #111 !important;
    }

    :root:not([data-theme="dark"]):not([data-theme="light"]) .action,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .platform-link,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-track-actions a,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-track-actions .release-track-more,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .site-nav-back,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .site-nav-mobile-panel a,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .site-nav-more,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .site-theme-toggle {
        color: #3f403d !important;
    }

    :root:not([data-theme="dark"]):not([data-theme="light"]) .lyrics,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .credits {
        color: #333532 !important;
    }

    :root:not([data-theme="dark"]):not([data-theme="light"]) .credits span:nth-child(odd),
    :root:not([data-theme="dark"]):not([data-theme="light"]) .single-meta,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-meta-row,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .work-date,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .track-number,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .track-date,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .track-meta,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .track-album,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .track-action,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .empty-state,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-track-number,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-track-meta,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-card-meta,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .profile .artist-description,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .profile .artist-meta,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .song-tag,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .section-label,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .track-list-title,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .single-section h2,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-kicker {
        color: var(--muted) !important;
    }

    :root:not([data-theme="dark"]):not([data-theme="light"]) .single-description,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .release-description,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .profile-description,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .profile .artist-tagline,
    :root:not([data-theme="dark"]):not([data-theme="light"]) .work-description {
        color: var(--text-soft) !important;
    }
}


/* =========================================================
   v11 语言切换 / 移动导航 / 详情按钮统一
   ========================================================= */
.site-nav-tools {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    flex-shrink: 0;
}

.site-language-wrap {
    position: relative;
}

.site-language-toggle {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    font: inherit;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: -.04em;
    transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.site-language-toggle:hover,
.site-language-toggle[aria-expanded="true"] {
    color: var(--text);
    background: var(--surface-hover);
    transform: translateY(-1px);
}

.site-language-menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + 9px);
    right: 0;
    min-width: 112px;
    padding: 6px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--panel-bg);
    box-shadow: 0 18px 45px rgba(0,0,0,.22);
    display: none;
}

.site-language-menu.is-open {
    display: flex;
    flex-direction: column;
}

.site-language-menu button {
    width: 100%;
    border: 0;
    background: transparent;
    border-radius: 7px;
    padding: 9px 10px;
    color: var(--text-soft);
    text-align: left;
    font: inherit;
    font-size: 12px;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease;
}

.site-language-menu button:hover {
    color: var(--text);
    background: var(--panel-hover);
}

/* 详情页平台链接与首页统一为圆角按钮 */
.single-platforms .platform-link,
.work-actions .action,
.release-track-actions a {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
}

.single-platforms .platform-link:hover,
.work-actions .action:hover,
.release-track-actions a:hover {
    border-color: var(--line-strong);
    background: var(--surface-hover);
}

.single-platforms .platform-link,
.work-actions .action {
    min-height: 35px;
    padding: 0 13px;
}

.release-track-actions a {
    padding: 0 11px;
    min-height: 30px;
}

/* 移动导航始终使用主题变量，不再固定黑色背景/灰色文字 */
.site-nav-mobile-panel {
    color: var(--text);
    background: var(--panel-bg);
}

.site-nav-mobile-panel a {
    color: var(--text-soft);
}

.site-nav-mobile-panel a.is-active,
.site-nav-mobile-panel a:hover {
    color: var(--text);
    background: var(--panel-hover);
}

@media (max-width: 820px) {
    .site-nav-tools {
        gap: 1px;
    }

    .site-language-toggle,
    .site-theme-toggle {
        width: 32px;
        height: 32px;
    }

    .site-nav-mobile-panel {
        background: var(--panel-bg) !important;
        color: var(--text) !important;
    }

    .site-nav-mobile-panel a {
        color: var(--text-soft) !important;
    }

    .site-nav-mobile-panel a.is-active,
    .site-nav-mobile-panel a:hover {
        background: var(--panel-hover) !important;
        color: var(--text) !important;
    }
}

:root[data-theme="light"] .site-language-menu,
:root[data-theme="light"] .site-nav-mobile-panel {
    box-shadow: 0 18px 45px rgba(0,0,0,.12);
}

/* v11.1 精修：顶栏语言弹层与平台/操作按钮的统一边界 */
.work-actions .action { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--text-soft); }
.work-actions .action:hover { border-color: var(--line-strong); background: var(--surface-hover); color: var(--text); }
.platform-list .platform-link, .single-platforms .platform-link { color: var(--text-soft); }
.platform-list .platform-link::after, .single-platforms .platform-link::after { color: var(--muted); }


/* =========================================================
   v16 新功能与视觉精修
   ========================================================= */

.site-search-toggle {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--muted);
    border-radius: 50%;
    transition: color .18s ease, background-color .18s ease, transform .18s var(--ease);
}
.site-search-toggle svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.site-layout-toggle svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.site-search-toggle:hover { color: var(--text); background: var(--surface-hover); transform: translateY(-1px); }

.site-nav-more {
    border: 1px solid transparent;
    color: var(--muted);
    background: transparent;
}
.site-nav-more span { display:block; font-size:18px; letter-spacing:.08em; transform:translateY(-1px); }
.site-nav-more:hover,.site-nav-more[aria-expanded="true"] { border-color: var(--line); background: var(--surface-hover); color: var(--text); }

/* 搜索页 */
.search-page { max-width: 1160px; margin: 0 auto; padding: 62px 0 86px; }
.search-page-heading { margin-bottom: 24px; }
.search-page-heading .collection-title { margin: 0; }
.site-search-form { display:flex; gap:10px; margin: 0 0 38px; }
.site-search-form input { flex:1; min-width:0; min-height:46px; padding:0 15px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--text); font:inherit; }
.site-search-form input:focus { border-color: var(--line-strong); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--line-strong) 20%, transparent); }
.site-search-form button { min-width:86px; min-height:46px; padding:0 18px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--text-soft); font:inherit; cursor:pointer; transition:transform .18s var(--ease), background-color .18s ease, color .18s ease, border-color .18s ease; }
.site-search-form button:hover { transform:translateY(-1px); background:var(--surface-hover); color:var(--text); border-color:var(--line-strong); }
.search-query-label { color:var(--muted); font-size:13px; margin:0 0 26px; }
.search-results-section { margin-top:42px; }
.search-results-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:18px; }
.search-results-heading h2 { margin:0; font-size:28px; }
.search-results-heading span { color:var(--muted); font-size:12px; }
.search-song-results,.search-album-results { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; }
.search-song-card,.search-album-card { display:grid; grid-template-columns:84px minmax(0,1fr); gap:15px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--surface); transition:transform .22s var(--ease), border-color .2s ease, box-shadow .22s ease, background-color .2s ease; }
.search-song-card:hover,.search-album-card:hover { transform:translateY(-2px); border-color:var(--line-strong); box-shadow:0 14px 34px rgba(0,0,0,.10); background:var(--surface-hover); }
.search-result-cover { width:84px; height:84px; border-radius:10px; overflow:hidden; background:var(--surface-hover); }
.search-result-cover img { width:100%; height:100%; object-fit:cover; transition:transform .28s var(--ease), filter .24s ease; }
.search-song-card:hover .search-result-cover img,.search-album-card:hover .search-result-cover img { transform:scale(1.025); filter:saturate(.94); }
.search-result-copy { min-width:0; }
.search-result-copy h3 { margin:0; font-size:17px; line-height:1.35; overflow-wrap:anywhere; }
.search-result-copy h3 a { transition:color .18s ease; }
.search-result-copy h3 a:hover { color:var(--text-soft); }
.search-result-copy time { display:block; margin-top:7px; color:var(--muted); font-size:12px; }
.search-result-vocal { margin-top:6px; color:var(--text-soft); font-size:13px; line-height:1.5; }
.search-result-tags { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:8px; min-height:20px; }
.search-result-tags .song-tag { margin:0; }
.search-result-release { color:var(--muted); font-size:12px; text-decoration:none; }
.search-result-release:hover { color:var(--text-soft); }
.search-result-actions { display:flex; gap:7px; margin-top:10px; }
.search-result-actions .simple-song-icon { width:32px; height:32px; }
.search-empty-state { padding:60px 0; color:var(--muted); border-top:1px solid var(--line); }

/* 简洁首页 */
.simple-song-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.simple-song-card { position:relative; display:grid; grid-template-columns:72px minmax(0,1fr) auto; gap:14px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--surface); transition:transform .22s var(--ease), border-color .2s ease, background-color .2s ease, box-shadow .22s ease; }
.simple-song-card:hover { transform:translateY(-2px); border-color:var(--line-strong); background:var(--surface-hover); box-shadow:0 12px 28px rgba(0,0,0,.10); }
.simple-song-cover { width:72px; height:72px; border-radius:10px; overflow:hidden; background:var(--surface-hover); }
.simple-song-cover img { width:100%; height:100%; object-fit:cover; transition:transform .28s var(--ease); }
.simple-song-card:hover .simple-song-cover img { transform:scale(1.025); }
.simple-song-copy { min-width:0; }
.simple-song-title { margin:0; font-size:16px; line-height:1.35; overflow-wrap:anywhere; }
.simple-song-title a { display:inline-block; }
.simple-song-date { display:block; margin-top:6px; color:var(--muted); font-size:11px; }
.simple-song-actions { display:flex; align-items:center; gap:7px; flex:0 0 auto; }
.simple-song-icon { width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 34px; padding:0; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--muted); cursor:pointer; transition:transform .18s var(--ease), color .18s ease, border-color .18s ease, background-color .18s ease; }
.simple-song-icon:hover { color:var(--text); border-color:var(--line-strong); background:var(--surface-hover); transform:translateY(-1px); }
.simple-song-icon:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.simple-song-icon svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.simple-song-listen svg { fill:currentColor; stroke:none; }

.random-play-button { display:inline-flex; align-items:center; gap:7px; min-height:31px; padding:0 10px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--text-soft); font:inherit; font-size:11px; cursor:pointer; transition:transform .18s var(--ease),color .18s ease,border-color .18s ease,background-color .18s ease; }
.random-play-button:hover { transform:translateY(-1px); color:var(--text); border-color:var(--line-strong); background:var(--surface-hover); }
.random-play-button.is-active { color:var(--text); border-color:var(--line-strong); background:var(--surface-hover); box-shadow:inset 0 0 0 1px var(--line); }
.random-play-button:disabled { opacity:.42; cursor:not-allowed; transform:none; }
.random-play-icon { font-size:15px; line-height:1; }
.track-share,.share-action { cursor:pointer; font:inherit; }

/* 全局弹窗 */
.hldxj-toast { position:fixed; z-index:9999; left:50%; bottom:30px; transform:translate(-50%,10px) scale(.98); max-width:min(88vw,520px); padding:11px 15px; border:1px solid var(--line); border-radius:12px; background:var(--panel-bg); color:var(--text); box-shadow:0 18px 45px rgba(0,0,0,.18); opacity:0; pointer-events:none; transition:opacity .24s ease,transform .24s var(--ease); font-size:12px; text-align:center; }
.hldxj-toast.is-visible { opacity:1; transform:translate(-50%,0) scale(1); }

/* 封面背景取色更自然：向页面边缘扩散，分割线不再形成硬切。 */
.single-hero,.release-hero { position:relative; isolation:isolate; }
.single-hero::before,.release-hero::before { content:""; position:absolute; z-index:-2; top:-140px; left:calc(-1 * var(--page-padding) - 18vw); right:calc(-1 * var(--page-padding) - 18vw); height:460px; background-image:var(--hero-cover); background-size:cover; background-position:center; filter:grayscale(1) blur(42px) contrast(.84); opacity:.11; transform:scale(1.08); mask-image:linear-gradient(to bottom,rgba(0,0,0,.80),rgba(0,0,0,.36) 48%,transparent 100%); -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.80),rgba(0,0,0,.36) 48%,transparent 100%); pointer-events:none; }
.single-hero::after,.release-hero::after { content:""; position:absolute; z-index:-1; left:calc(-1 * var(--page-padding) - 10vw); right:calc(-1 * var(--page-padding) - 10vw); bottom:-44px; height:180px; background:linear-gradient(to bottom,transparent 0%,rgba(10,10,10,.03) 38%,rgba(10,10,10,.08) 65%,transparent 100%); pointer-events:none; }
.single-cover,.release-cover { border-radius:14px; transform-origin:center center; overflow:hidden; }
.single-cover::after,.release-cover::after { border-radius:14px; opacity:.55; }
.release-track-cover,.track-cover,.release-card-cover { border-radius:9px; }
.release-track-cover img,.track-cover img,.release-card-cover img { transition:transform .28s var(--ease),filter .22s ease; }
.release-track-cover:hover img,.track-cover:hover img,.release-card-cover:hover img { transform:scale(1.025); }

/* 后台站点信息：内容区域由 WordPress 原生一级/二级菜单负责导航。 */
.hldxj-settings-panel { display:none; max-width:900px; padding:22px 24px; background:#fff; border:1px solid #dcdcde; border-radius:10px; }
.hldxj-settings-panel.is-active { display:block; }
.hldxj-settings-panel > h2:first-child { margin-top:0; }
.hldxj-avatar-admin { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin:20px 0; }
.hldxj-avatar-admin > div:first-child { width:100%; min-height:160px; }
.hldxj-repeat-row { display:flex; gap:8px; align-items:center; margin:0 0 9px; }
.hldxj-repeat-row input[type=text],.hldxj-repeat-row input[type=url] { flex:1; min-width:0; }
.hldxj-font-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }
.hldxj-font-grid label { display:flex; flex-direction:column; gap:7px; font-weight:600; }
.hldxj-font-grid select { width:100%; }
.hldxj-font-upload { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:16px; background:#f6f7f7; border:1px solid #dcdcde; border-radius:9px; }
.hldxj-font-upload input[type=text] { min-width:200px; }

@media (max-width:820px) {
  .search-page { padding:42px 0 70px; }
  .site-search-form { align-items:stretch; }
  .site-search-form input { min-height:44px; }
  .site-search-form button { min-width:74px; }
  .simple-song-grid { grid-template-columns:repeat(1,minmax(0,1fr)); }
  .simple-song-card { grid-template-columns:64px minmax(0,1fr) auto; }
  .simple-song-cover { width:64px; height:64px; }
  .simple-song-actions { gap:5px; }
  .simple-song-icon { width:32px; height:32px; flex-basis:32px; border-radius:9px; }
  .single-hero::before,.release-hero::before { left:-30vw; right:-30vw; }
  .hldxj-font-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .site-search-toggle,.simple-song-card,.simple-song-cover img,.search-song-card,.search-album-card,.search-result-cover img,.random-play-button,.hldxj-toast,.single-cover img,.release-cover img { transition:none !important; }
}

/* v16-final：交互与视觉收尾 */
.site-nav-tools { gap:8px; align-items:center; }
.site-search-toggle,
.site-language-toggle,
.site-theme-toggle,
.site-layout-toggle,
.site-nav-more {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  color:var(--text-soft);
  transition:transform .18s var(--ease), color .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.site-search-toggle:hover,
.site-language-toggle:hover,
.site-theme-toggle:hover,
.site-layout-toggle:hover,
.site-nav-more:hover,
.site-language-toggle[aria-expanded="true"],
.site-nav-more[aria-expanded="true"] {
  color:var(--text);
  border-color:var(--line-strong);
  background:var(--surface-hover);
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}
.site-search-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; }
.site-nav-more span { font-size:14px; letter-spacing:2px; transform:translateY(-2px); }
.site-language-toggle span { font-size:11px; letter-spacing:-.04em; font-weight:600; }
.site-theme-toggle { font-size:15px; }
.site-theme-icon-moon { display:none; }
html[data-theme="dark"] .site-theme-icon-sun { display:none; }
html[data-theme="dark"] .site-theme-icon-moon { display:inline; }

/* 主页左侧分割线弱化，避免像硬切割。 */
.profile { border-right-color:rgba(255,255,255,.055); }
html[data-theme="light"] .profile { border-right-color:rgba(0,0,0,.045); }

/* Hero 模糊层做真正的边缘融合，并稳定封面圆角裁切。 */
.single-hero::before,
.release-hero::before {
  left:calc(-1 * max(var(--page-padding), 0px) - 20vw);
  right:calc(-1 * max(var(--page-padding), 0px) - 20vw);
  opacity:.085;
  filter:grayscale(1) blur(48px) contrast(.82);
  transform:translateZ(0) scale(1.1);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,.28) 50%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,.28) 50%,transparent 100%);
}
.single-hero::after,
.release-hero::after {
  left:calc(-1 * max(var(--page-padding), 0px) - 14vw);
  right:calc(-1 * max(var(--page-padding), 0px) - 14vw);
  bottom:-58px;
  height:210px;
  background:linear-gradient(to bottom,transparent 0%,rgba(10,10,10,.018) 38%,rgba(10,10,10,.055) 68%,transparent 100%);
}
html[data-theme="light"] .single-hero::after,
html[data-theme="light"] .release-hero::after {
  background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.012) 38%,rgba(0,0,0,.028) 68%,transparent 100%);
}
.single-cover,
.release-cover,
.single-cover img,
.release-cover img {
  border-radius:16px;
  overflow:hidden;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  will-change:transform;
  backface-visibility:hidden;
}
.single-cover::after,
.release-cover::after { border-radius:16px; pointer-events:none; }
.single-cover:hover img,
.release-cover:hover img { transform:scale(1.018); }
.single-cover:active,
.release-cover:active { transform:translateY(1px) scale(.997); }

/* 统一可交互元素的细微 hover/active 反馈。 */
a, button, select, input[type="submit"] { -webkit-tap-highlight-color:transparent; }
.track-title a,
.track-album a,
.section-link,
.platform-item,
.track-action,
.release-card,
.release-track-row,
.search-song-card,
.search-album-card,
.simple-song-card {
  transition:transform .2s var(--ease), color .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .2s ease;
}
.track-title a:hover,
.track-album a:hover { transform:translateY(-1px); }
.track-action:hover,
.platform-item:hover { transform:translateY(-1px); }

/* 随机播放文案更像站内 UI，而不是系统 alert。 */
.hldxj-toast { backdrop-filter:blur(18px) saturate(120%); -webkit-backdrop-filter:blur(18px) saturate(120%); }
html[data-theme="dark"] .hldxj-toast { background:rgba(28,28,30,.78); }
html[data-theme="light"] .hldxj-toast { background:rgba(255,255,255,.84); }

/* 友情艺人未配置时保持为可见但静止的占位按钮。 */
.site-nav-friend[data-placeholder-link="1"] { opacity:.58; }
.site-nav-friend[data-placeholder-link="1"]:hover { transform:none; }

@media (max-width:820px) {
  .site-nav-tools { gap:6px; }
  .site-search-toggle,
  .site-language-toggle,
  .site-theme-toggle,
  .site-layout-toggle,
  .site-nav-more { width:32px; height:32px; border-radius:9px; }
  .site-nav-more { position:relative; }
  .site-nav-more span { font-size:13px; letter-spacing:1.5px; }
  .site-nav-mobile-panel {
    border:1px solid var(--line) !important;
    background:var(--panel-bg) !important;
    box-shadow:0 18px 40px rgba(0,0,0,.16);
    backdrop-filter:blur(18px) saturate(118%);
    -webkit-backdrop-filter:blur(18px) saturate(118%);
  }
  .single-hero::before,
  .release-hero::before { left:-36vw; right:-36vw; opacity:.075; }
}


/* ===== v17 refinements ===== */
/* v59 audit: removed stale rule that hid the current sidebar button. */
.action-icon{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;font-size:12px;line-height:1;font-weight:600;flex:0 0 13px;}
.action-icon-download{font-size:14px;transform:translateY(-1px);}
.action-icon-share{font-size:13px;transform:translateY(-1px);}
.track-action,.release-track-actions a,.release-track-actions button,.work-actions .action{font-size:13px;}
.track-platform-actions,.release-platform-actions,.work-platform-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;}
.track-platform-label{color:var(--muted);font-size:11px;margin-right:2px;white-space:nowrap;}
.track-platform-actions .track-platform-action{margin:0;}
.release-track-actions .release-track-share{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font:inherit;cursor:pointer;}
.release-track-actions .release-track-share:hover{color:var(--text);border-color:var(--line-strong);background:var(--surface-hover);}
.work-platform-actions{width:100%;margin-top:2px;}
.site-update-history{width:100%;display:flex;flex-direction:column;align-items:flex-start;margin-top:18px;}
.site-update-history-toggle{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;padding:6px 0;cursor:pointer;border-radius:999px;transition:color .2s ease,background-color .2s ease,transform .2s ease;}
.site-update-history-toggle:hover,.site-update-history-toggle.is-open{color:var(--text);background:var(--surface-hover);transform:translateY(-1px);}
.site-update-history-panel{width:min(720px,100%);margin-top:6px;overflow:hidden;animation:hldxjUpdateFade .24s ease both;}
.site-update-history-inner{display:flex;flex-direction:column;gap:8px;padding:10px 0 4px;}
.site-update-entry{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);}
.site-update-entry-head{display:flex;gap:10px;align-items:center;justify-content:space-between;}
.site-update-version{font-size:12px;letter-spacing:.03em;}
.site-update-date{font-size:11px;color:var(--muted);}
.site-update-entry-content{margin-top:7px;font-size:12px;line-height:1.7;color:var(--text-soft);white-space:normal;}
@keyframes hldxjUpdateFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.hldxj-update-record-row{display:grid;grid-template-columns:150px 150px minmax(0,1fr) auto;align-items:start;gap:8px;margin-bottom:8px;}
.hldxj-update-record-row textarea{width:100%;min-height:66px;}
@media (max-width:820px){.hldxj-update-record-row{grid-template-columns:1fr;}.site-update-history-panel{width:calc(100% - 4px);}}
/* v59 audit: removed obsolete desktop hide rule for the sidebar button. */


/* v21：紧凑 iOS 风格全局播放器。单一规则，避免旧版本播放器样式互相覆盖。 */
.site-now-playing-toggle{
  width:30px;height:30px;padding:0;border:0;border-radius:50%;
  background:transparent;color:var(--muted);display:inline-flex;
  align-items:center;justify-content:center;cursor:pointer;
  transition:color .18s ease,background-color .18s ease,transform .18s ease;
}
.site-now-playing-toggle:hover,
.site-now-playing-toggle.is-playing{
  color:var(--text);background:var(--surface-hover);transform:translateY(-1px);
}
.site-now-playing-toggle[hidden]{display:none;}
.site-now-playing-bars{display:flex;align-items:flex-end;justify-content:center;gap:2px;width:14px;height:14px;}
.site-now-playing-bars i{
  display:block;width:2px;border-radius:999px;background:currentColor;
  transform-origin:center bottom;animation:hldxjPlayerPulse .85s ease-in-out infinite;
  animation-play-state:paused;
}
.site-now-playing-bars i:nth-child(1){height:6px;}
.site-now-playing-bars i:nth-child(2){height:10px;animation-delay:.12s;}
.site-now-playing-bars i:nth-child(3){height:7px;animation-delay:.24s;}
.site-now-playing-bars i:nth-child(4){height:11px;animation-delay:.36s;}
.site-now-playing-toggle.is-playing .site-now-playing-bars i{animation-play-state:running;}

.hldxj-player{
  position:fixed;z-index:1000;left:50%;bottom:20px;
  width:min(520px,calc(100vw - 28px));
  display:grid;grid-template-columns:46px minmax(0,1fr) 30px 36px 30px 28px;
  grid-template-rows:auto auto;column-gap:11px;row-gap:9px;align-items:center;
  padding:11px 13px;
  border:1px solid var(--player-border);border-radius:18px;
  background:var(--player-bg);
  box-shadow:0 20px 52px var(--player-shadow),inset 0 1px 0 var(--player-highlight);
  backdrop-filter:blur(30px) saturate(185%);-webkit-backdrop-filter:blur(30px) saturate(185%);
  opacity:0;pointer-events:none;visibility:hidden;
  transform:translateX(-50%) translateY(8px) scale(.985);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  overflow:hidden;
}
.hldxj-player::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,var(--player-tint-1),transparent 48%,var(--player-tint-2));
}
.hldxj-player > *{position:relative;z-index:1;}
.hldxj-player[hidden]{display:grid;}
.hldxj-player.is-open{opacity:1;pointer-events:auto;visibility:visible;transform:translateX(-50%) translateY(0) scale(1);}
.hldxj-player-art{
  grid-column:1;grid-row:1;width:46px;height:46px;border-radius:12px;
  background:var(--surface-hover);background-size:cover;background-position:center;
  box-shadow:inset 0 0 0 1px var(--player-art-border),0 3px 12px rgba(0,0,0,.12);
}
.hldxj-player-meta{grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden;}
.hldxj-player-label{font-size:9px;line-height:1.2;color:var(--muted);letter-spacing:.035em;}
.hldxj-player-title-row{display:flex;align-items:center;gap:5px;min-width:0;}
.hldxj-player-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.3;font-weight:600;}
.hldxj-player-tag{flex:0 0 auto;margin:0 !important;padding:1px 5px !important;font-size:8px !important;line-height:1.15 !important;}
.hldxj-player-release{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.25;color:var(--muted);}
.hldxj-player-toggle{
  grid-column:4;grid-row:1;width:34px;height:34px;padding:0;border:0;border-radius:50%;
  background:var(--player-control-bg);color:var(--player-control-fg);display:grid;place-items:center;cursor:pointer;
  box-shadow:inset 0 0 0 1px var(--player-control-border);
  transition:transform .18s ease,background-color .18s ease,color .18s ease;
}
.hldxj-player-toggle:hover{transform:scale(1.04);background:var(--player-control-hover);}
.hldxj-player-toggle .player-icon{width:15px;height:15px;fill:currentColor;display:block;}
.hldxj-player-toggle .player-icon-pause{display:none;}
.hldxj-player-toggle.is-playing .player-icon-play{display:none;}
.hldxj-player-toggle.is-playing .player-icon-pause{display:block;}
.hldxj-player-nav{
  width:30px;height:30px;padding:0;border:0;border-radius:50%;
  background:transparent;color:var(--player-control-fg);display:grid;place-items:center;cursor:pointer;
  transition:transform .18s ease,background-color .18s ease,color .18s ease,opacity .18s ease;
}
.hldxj-player-nav:hover:not(:disabled){transform:scale(1.06);background:var(--player-control-hover);}
.hldxj-player-nav:disabled{opacity:.28;cursor:default;}
.hldxj-player-nav .player-icon{width:14px;height:14px;fill:currentColor;display:block;}
.hldxj-player-close{
  grid-column:6;grid-row:1;width:28px;height:28px;padding:0;border:0;border-radius:50%;
  background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center;
  transition:color .18s ease,background-color .18s ease;
}
.hldxj-player-close:hover{color:var(--text);background:var(--surface-hover);}
.hldxj-player-progress-row{
  grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;
  gap:8px;align-items:center;width:100%;min-width:0;
}
.hldxj-player-time{
  min-width:32px;font-size:9px !important;line-height:1;color:var(--player-time) !important;
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.hldxj-player-duration{text-align:right;}
.hldxj-player-range{
  width:100%;height:14px;margin:0;padding:0;border:0;appearance:none;-webkit-appearance:none;
  background:linear-gradient(to right,var(--player-fill) 0%,var(--player-fill) var(--player-progress,0%),var(--player-track) var(--player-progress,0%),var(--player-track) 100%);
  border-radius:999px;cursor:pointer;outline:none;
}
.hldxj-player-range::-webkit-slider-runnable-track{height:3px;background:transparent;border-radius:999px;}
.hldxj-player-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;margin-top:-3.5px;border:0;border-radius:50%;background:var(--player-thumb);box-shadow:0 1px 5px rgba(0,0,0,.22);cursor:pointer;}
.hldxj-player-range::-moz-range-track{height:3px;background:var(--player-track);border-radius:999px;}
.hldxj-player-range::-moz-range-progress{height:3px;background:var(--player-fill);border-radius:999px;}
.hldxj-player-range::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:var(--player-thumb);box-shadow:0 1px 5px rgba(0,0,0,.22);cursor:pointer;}
:root{
  --player-bg:rgba(27,29,31,.78);--player-border:rgba(255,255,255,.15);--player-highlight:rgba(255,255,255,.10);
  --player-shadow:rgba(0,0,0,.28);--player-tint-1:rgba(255,255,255,.12);--player-tint-2:rgba(150,150,150,.06);
  --player-art-border:rgba(255,255,255,.11);--player-control-bg:rgba(255,255,255,.14);--player-control-hover:rgba(255,255,255,.20);
  --player-control-fg:#fff;--player-control-border:rgba(255,255,255,.12);--player-track:rgba(255,255,255,.22);
  --player-fill:#fff;--player-thumb:#fff;--player-time:rgba(255,255,255,.72);
}
:root[data-theme="light"]{
  --player-bg:rgba(250,250,248,.78);--player-border:rgba(0,0,0,.10);--player-highlight:rgba(255,255,255,.78);
  --player-shadow:rgba(0,0,0,.15);--player-tint-1:rgba(255,255,255,.72);--player-tint-2:rgba(110,115,120,.05);
  --player-art-border:rgba(0,0,0,.08);--player-control-bg:rgba(0,0,0,.075);--player-control-hover:rgba(0,0,0,.12);
  --player-control-fg:#1c1c1e;--player-control-border:rgba(0,0,0,.07);--player-track:rgba(0,0,0,.16);
  --player-fill:#1c1c1e;--player-thumb:#1c1c1e;--player-time:rgba(28,28,30,.64);
}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]):not([data-theme="light"]){
    --player-bg:rgba(250,250,248,.78);--player-border:rgba(0,0,0,.10);--player-highlight:rgba(255,255,255,.78);
    --player-shadow:rgba(0,0,0,.15);--player-tint-1:rgba(255,255,255,.72);--player-tint-2:rgba(110,115,120,.05);
    --player-art-border:rgba(0,0,0,.08);--player-control-bg:rgba(0,0,0,.075);--player-control-hover:rgba(0,0,0,.12);
    --player-control-fg:#1c1c1e;--player-control-border:rgba(0,0,0,.07);--player-track:rgba(0,0,0,.16);
    --player-fill:#1c1c1e;--player-thumb:#1c1c1e;--player-time:rgba(28,28,30,.64);
  }
}
@media (max-width:820px){
  .site-now-playing-toggle{width:32px;height:32px;margin-left:2px;}
  .hldxj-player{bottom:12px;width:calc(100vw - 20px);grid-template-columns:44px minmax(0,1fr) 28px 32px 28px 26px;padding:10px 11px;border-radius:17px;}
  .hldxj-player-art{width:44px;height:44px;border-radius:11px;}
  .hldxj-player-nav{width:28px;height:28px;}
  .hldxj-player-toggle{width:32px;height:32px;}
  .hldxj-player-close{width:26px;height:26px;}
  .hldxj-player-progress-row{grid-template-columns:30px minmax(0,1fr) 30px;gap:7px;}
  .hldxj-player-title{font-size:12px;}
  .hldxj-player-time{font-size:8.5px !important;}
}

/* v19：站点信息使用 WordPress 原生展开式二级菜单；页面内部仅显示当前分栏。 */
.hldxj-site-settings-v16 .hldxj-settings-content{max-width:1120px;margin-top:18px;}
.hldxj-site-settings-v16 .hldxj-settings-panel{max-width:980px;background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:24px;box-sizing:border-box;}
.hldxj-site-settings-v16 .hldxj-settings-panel h2{margin-top:0;font-size:20px;}
.hldxj-site-settings-v16 .hldxj-settings-panel:not(.is-active){display:none !important;}
@media (max-width:782px){.hldxj-site-settings-v16 .hldxj-settings-panel{padding:18px;}}

/* v18.1：歌曲页动作组与播放器细节 */
.work-actions .action.track-listen,
.work-actions .action.track-share,
.work-actions .action.track-more,
.work-actions .action.hldxj-download-link { font-size:13px; }
.work-platform-actions { display:flex;flex-wrap:wrap;align-items:center;gap:7px;width:100%;margin-top:1px; }
.work-platform-actions .track-platform-label { margin-right:1px; }
.work-platform-actions .action { min-height:32px;padding:0 10px;font-size:12px; }

/* v19 structural cleanup: 歌曲详情只在首页歌曲列表显示；进入歌曲/专辑等内页时不再显示。 */
body:not(.home):not(.front-page) .track-more{display:none !important;}

/* v19: 站点信息页面采用与“作品管理”一致的展开式左右分栏，同时保留 WordPress 左侧原生子菜单。 */
.hldxj-site-settings-v16 .hldxj-settings-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;align-items:start;max-width:1180px;margin-top:18px;}
.hldxj-site-settings-v16 .hldxj-settings-sidebar{position:sticky;top:46px;display:flex;flex-direction:column;padding:6px;background:var(--panel-bg,#fff);border:1px solid #dcdcde;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.06);overflow:hidden;}
.hldxj-site-settings-v16 .hldxj-settings-tab{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:8px;text-decoration:none;color:#50575e;font-size:13px;line-height:1.4;transition:background-color .16s ease,color .16s ease,transform .16s ease;}
.hldxj-site-settings-v16 .hldxj-settings-tab-arrow{opacity:.45;transform:translateX(-2px);transition:opacity .16s ease,transform .16s ease;}
.hldxj-site-settings-v16 .hldxj-settings-tab:hover{color:#1d2327;background:#f0f0f1;}
.hldxj-site-settings-v16 .hldxj-settings-tab:hover .hldxj-settings-tab-arrow{opacity:.8;transform:translateX(0);}
.hldxj-site-settings-v16 .hldxj-settings-tab.is-active{color:#fff;background:#2271b1;font-weight:600;box-shadow:0 3px 10px rgba(34,113,177,.18);}
.hldxj-site-settings-v16 .hldxj-settings-tab.is-active .hldxj-settings-tab-arrow{opacity:1;transform:translateX(0);color:#fff;}
.hldxj-site-settings-v16 .hldxj-settings-content{min-width:0;margin-top:0;}
@media (max-width:782px){.hldxj-site-settings-v16 .hldxj-settings-layout{grid-template-columns:1fr;gap:14px}.hldxj-site-settings-v16 .hldxj-settings-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:5px}.hldxj-site-settings-v16 .hldxj-settings-tab{padding:9px 10px}.hldxj-site-settings-v16 .hldxj-settings-tab-arrow{display:none;}}

/* v20 final: 专辑页操作按钮与首页统一 */
.release-track-actions .release-track-action,
.release-track-actions .release-track-platform-action,
.release-track-actions .release-track-share,
.release-track-actions button {
    min-height: 34px !important;
    padding: 0 12px !important;
    border: 1px solid var(--line) !important;
    border-radius: 7px !important;
    background: var(--surface) !important;
    color: var(--text-soft) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    box-shadow: none !important;
}
.release-track-actions .release-track-action:hover,
.release-track-actions .release-track-platform-action:hover,
.release-track-actions .release-track-share:hover,
.release-track-actions button:hover {
    color: var(--text) !important;
    background: var(--surface-hover) !important;
    border-color: var(--line-strong) !important;
    transform: translateY(-1px);
}
.release-track-actions .release-platform-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
}
.release-track-actions .release-platform-actions .track-platform-label {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    color: var(--muted);
    font-size: 12px;
}

/* v20 final: WordPress 站点信息 = 一个子菜单对应一个独立页面 */
.hldxj-site-settings-v20 .hldxj-site-info-intro { max-width: 900px; margin: 6px 0 18px; }
.hldxj-site-settings-v20 .hldxj-site-info-page-card { max-width: 1120px; background:#fff; border:1px solid #dcdcde; border-radius:12px; padding:24px 26px; box-sizing:border-box; }
.hldxj-site-settings-v20 .hldxj-site-info-page-title { margin:0 0 18px; font-size:22px; line-height:1.3; }
.hldxj-site-settings-v20 .hldxj-form-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; max-width:900px; }
.hldxj-site-settings-v20 .hldxj-form-grid-2 label { display:flex; flex-direction:column; gap:6px; font-weight:600; }
.hldxj-site-settings-v20 .hldxj-form-grid-2 select { min-height:36px; }
.hldxj-site-settings-v20 .hldxj-repeat-row { display:grid; grid-template-columns:minmax(180px,1fr) minmax(260px,1.4fr) auto; gap:10px; align-items:center; margin-bottom:10px; }
.hldxj-site-settings-v20 .hldxj-update-record-row { grid-template-columns:160px 170px minmax(260px,1fr) auto; }
.hldxj-site-settings-v20 .hldxj-repeat-row input,
.hldxj-site-settings-v20 .hldxj-repeat-row textarea { width:100%; }
@media (max-width:782px){
  .hldxj-site-settings-v20 .hldxj-site-info-page-card{padding:18px;}
  .hldxj-site-settings-v20 .hldxj-form-grid-2{grid-template-columns:1fr;}
  .hldxj-site-settings-v20 .hldxj-repeat-row,
  .hldxj-site-settings-v20 .hldxj-update-record-row{grid-template-columns:1fr;}
}

/* ===== v34：简洁首页点击与专辑信息重做 ===== */
.simple-song-cover,
.simple-song-copy,
.simple-song-actions { position:relative; z-index:2; }
.simple-song-copy { min-width:0; }
.simple-song-title { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; }
.simple-song-title a { color:var(--text); text-decoration:none; }
.simple-song-title a:hover { color:var(--text-soft); }
.simple-song-tag {
  display:inline-flex;
  align-items:center;
  max-width:100%;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
  font-weight:400;
}
.simple-song-tag::before { content:'（'; }
.simple-song-tag::after { content:'）'; }
.simple-song-meta {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:0 10px;
  margin-top:6px;
  min-width:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}
.simple-song-album {
  min-width:0;
  overflow-wrap:anywhere;
  color:var(--text-soft);
  text-decoration:none;
}
.simple-song-album:hover { color:var(--text); }
.simple-song-date { display:inline-block; margin-top:0; }
.simple-song-cover:focus-visible,
.simple-song-title a:focus-visible,
.simple-song-album:focus-visible,
.simple-song-icon:focus-visible,
.site-layout-toggle:focus-visible {
  outline:2px solid var(--text);
  outline-offset:3px;
}

/* =========================================================
   v39 前台歌曲排序按钮
   ========================================================= */
.song-order-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 31px;
    padding: 0 10px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--surface);
    color: var(--text-soft);
    font: inherit;
    font-size: 11px;
    cursor: pointer;
    transition: transform .18s var(--ease), color .18s ease, border-color .18s ease, background-color .18s ease;
}
.song-order-button:hover,
.song-order-button[aria-pressed="true"] {
    transform: translateY(-1px);
    color: var(--text);
    border-color: var(--line-strong);
    background: var(--surface-hover);
}
.song-order-icon {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 15px;
}

@media (max-width: 760px) {
    .song-order-button {
        min-height: 32px;
        padding: 0 9px;
        font-size: 12px;
    }
}

/* =========================================================
   首页：加载更多
   ========================================================= */
.home-load-more-wrap {
    display: flex;
    justify-content: center;
    padding: 28px 0 8px;
    border-top: 1px solid var(--line);
}

.home-load-more-button {
    min-width: 132px;
    min-height: 38px;
    padding: 0 18px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--surface);
    color: var(--text-soft);
    font: inherit;
    font-size: 12px;
    cursor: pointer;
    transition: transform .18s var(--ease), color .18s ease, border-color .18s ease, background-color .18s ease;
}

.home-load-more-button:hover {
    transform: translateY(-1px);
    color: var(--text);
    border-color: var(--line-strong);
    background: var(--surface-hover);
}

.home-load-more-button:disabled {
    opacity: .48;
    cursor: wait;
    transform: none;
}

@media (max-width: 480px) {
    .home-load-more-wrap {
        padding-top: 24px;
    }

    .home-load-more-button {
        width: 100%;
        max-width: 220px;
    }
}

/* =========================================================
   v45：首页歌曲序号与置顶标识
   ========================================================= */
.simple-song-card {
    grid-template-columns: 34px 72px minmax(0, 1fr) auto;
}

.simple-song-index {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    gap: 5px;
    min-width: 34px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.simple-song-number {
    display: block;
}

.track-number {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 5px;
    line-height: 1;
}

.track-number-value {
    display: block;
}

.home-pinned-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    color: var(--muted);
    line-height: 1;
}

.home-pinned-badge svg {
    width: 12px;
    height: 12px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.track:hover .home-pinned-badge,
.simple-song-card:hover .home-pinned-badge {
    color: var(--text);
}

@media (max-width: 820px) {
    .simple-song-card {
        grid-template-columns: 28px 64px minmax(0, 1fr) auto;
    }

    .simple-song-index {
        min-width: 28px;
        font-size: 10px;
    }

    .home-pinned-badge {
        width: 12px;
        height: 12px;
        flex-basis: 12px;
    }

    .home-pinned-badge svg {
        width: 11px;
        height: 11px;
    }
}

@media (max-width: 480px) {
    .simple-song-card {
        grid-template-columns: 28px 56px minmax(0, 1fr) auto;
    }
}

/* =========================================================
   v48：移动端首页标题/操作栏重新排版
   - 标题独占一行，避免“歌曲”被压成竖排
   - 专辑、标签、排序、随机播放、歌曲数量在下一行自然换行
   - 每个控件保持完整，不在按钮内部拆字
   ========================================================= */
@media (max-width: 820px) {
    .section-heading {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        gap: 14px;
        margin-bottom: 22px;
    }

    .section-heading > div:first-child {
        min-width: 0;
        width: 100%;
    }

    .section-heading h2,
    .section-heading h2 span {
        width: auto;
        max-width: 100%;
        white-space: nowrap;
        word-break: keep-all;
        overflow-wrap: normal;
    }

    .section-heading-right {
        width: 100%;
        min-width: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 9px 12px;
    }

    .section-heading-right .section-link,
    .section-heading-right .song-order-button,
    .section-heading-right .random-play-button,
    .section-heading-right .section-count {
        flex: 0 0 auto;
        min-width: max-content;
        max-width: 100%;
        white-space: nowrap;
        word-break: keep-all;
    }

    .section-heading-right .section-count {
        padding-bottom: 0;
        line-height: 1;
    }
}

@media (max-width: 480px) {
    .section-heading {
        gap: 12px;
        margin-bottom: 18px;
    }

    .section-heading-right {
        gap: 8px 10px;
    }

    .section-heading-right .section-link {
        font-size: 11px;
    }

    .section-heading-right .song-order-button,
    .section-heading-right .random-play-button {
        min-height: 34px;
        padding-left: 10px;
        padding-right: 10px;
        font-size: 11px;
    }
}

/* =========================================================
   v48：桌面端头像跟随左侧栏底部，不固定左栏高度
   - 右侧歌曲列表可以无限变长
   - 左右分割线继续完整延伸到页脚
   - 头像始终贴着左栏底部，不再被页脚逐渐吞掉
   ========================================================= */
@media (min-width: 821px) {
    .hero-grid {
        align-items: stretch;
        overflow: hidden;
    }

    .profile {
        align-self: stretch;
        min-height: 720px;
    }

    .artist-avatar {
        bottom: 0;
    }
}

/* v51：全局歌曲播放卡片的封面与歌名可进入当前歌曲详情页。 */
.hldxj-player-art-link{display:block;width:100%;height:100%;border-radius:inherit;overflow:hidden;text-decoration:none;color:inherit;min-width:0;}
.hldxj-player-art-link:hover,.hldxj-player-title-link:hover{text-decoration:none;}
.hldxj-player-title-link{display:block;min-width:0;overflow:hidden;text-decoration:none;color:inherit;}
.hldxj-player-title-link:focus-visible,.hldxj-player-art-link:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:8px;}
.hldxj-player-title-link[aria-disabled="true"],.hldxj-player-art-link[aria-disabled="true"]{pointer-events:none;}


/* =========================================================
   v53 · Mobile-first polish, player-card correctness and adaptive covers
   Inspiration: the restrained floating player of Apple Music and the calm,
   immersive motion language of Salt Player; no copied assets or layouts.
   ========================================================= */
:root {
  --cover-placeholder-bg: #191a1c;
  --cover-placeholder-fg: #a2a4a7;
  --cover-placeholder-border: rgba(255,255,255,.12);
  --cover-placeholder-glow: rgba(255,255,255,.075);
  --row-hover: rgba(255,255,255,.026);
}
:root[data-theme="light"] {
  --cover-placeholder-bg: #f0f0ed;
  --cover-placeholder-fg: #737570;
  --cover-placeholder-border: rgba(0,0,0,.09);
  --cover-placeholder-glow: rgba(255,255,255,.8);
  --row-hover: rgba(0,0,0,.018);
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]):not([data-theme="light"]) {
    --cover-placeholder-bg: #f0f0ed;
    --cover-placeholder-fg: #737570;
    --cover-placeholder-border: rgba(0,0,0,.09);
    --cover-placeholder-glow: rgba(255,255,255,.8);
    --row-hover: rgba(0,0,0,.018);
  }
}

/* Player artwork link is the grid item: keep its clip, dimensions and radius in sync. */
.hldxj-player-art-link {
  grid-column: 1;
  grid-row: 1;
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  overflow: hidden;
  border-radius: 12px;
  display: block;
  position: relative;
  isolation: isolate;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.hldxj-player-art {
  grid-column: auto;
  grid-row: auto;
  display: grid;
  place-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
  background: var(--cover-placeholder-bg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: inset 0 0 0 1px var(--cover-placeholder-border);
}
.hldxj-player-art.has-art { background-color: transparent; }
.hldxj-player-art-placeholder {
  display: block;
  width: 100%;
  padding: 0 2px;
  color: var(--cover-placeholder-fg);
  font-size: 7px;
  font-weight: 650;
  letter-spacing: .11em;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  user-select: none;
}
.hldxj-player-art.has-art .hldxj-player-art-placeholder { display: none; }
.hldxj-player-title-link,
.hldxj-player-art-link { touch-action: manipulation; }
.hldxj-player-title-link { position: relative; z-index: 2; }
.hldxj-player-title-link:active { opacity: .68; }
.hldxj-player-art-link:active { transform: scale(.97); }
.hldxj-player-art-link,
.hldxj-player-title-link { transition: opacity .18s ease, transform .18s var(--ease); }
.hldxj-player-art-link[aria-disabled="true"],
.hldxj-player-title-link[aria-disabled="true"] { cursor: default; }

/* All artwork placeholders use theme-aware surfaces rather than a fixed black block. */
.track-cover.is-placeholder,
.simple-song-cover.is-placeholder,
.single-cover.is-placeholder,
.release-cover.is-placeholder,
.cover-placeholder,
.release-cover-placeholder,
.release-track-cover.is-placeholder,
.release-card-placeholder {
  background-color: var(--cover-placeholder-bg) !important;
  background-image: radial-gradient(circle at 50% 36%, var(--cover-placeholder-glow), transparent 74%) !important;
  border-color: var(--cover-placeholder-border) !important;
}
.track-cover.is-placeholder,
.simple-song-cover.is-placeholder {
  display: grid !important;
  place-items: center !important;
  overflow: hidden;
}
.track-cover-placeholder {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0 2px;
  color: var(--cover-placeholder-fg) !important;
  font-size: clamp(7px, 1vw, 9px);
  font-weight: 650;
  line-height: 1;
  letter-spacing: .12em;
  text-align: center;
  white-space: nowrap;
}
.single-cover.is-placeholder,
.release-cover.is-placeholder { background: var(--cover-placeholder-bg) !important; }
.single-cover.is-placeholder .cover-placeholder,
.release-cover.is-placeholder .release-cover-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--cover-placeholder-fg) !important;
}
.release-cover.is-placeholder .release-cover-placeholder { border-color: var(--cover-placeholder-border); }


.release-track-cover.is-placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  line-height: 1;
  color: var(--cover-placeholder-fg) !important;
  background-color: var(--cover-placeholder-bg) !important;
  background-image: radial-gradient(circle at 50% 36%, var(--cover-placeholder-glow), transparent 74%) !important;
  border-color: var(--cover-placeholder-border) !important;
}
.release-track-cover.is-placeholder > span { display:block; width:100%; padding:0 2px; text-align:center; line-height:1; white-space:nowrap; }
.release-card-cover.is-placeholder {
  background-color: var(--cover-placeholder-bg) !important;
  background-image: radial-gradient(circle at 50% 36%, var(--cover-placeholder-glow), transparent 74%) !important;
  border-color: var(--cover-placeholder-border) !important;
}

/* Compact view: a typographic track list with separators, not individual boxed cards. */
.music > .simple-song-card {
  grid-template-columns: 34px 72px minmax(0, 1fr) auto;
  gap: 14px;
  padding: 16px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  transition: border-color .22s ease, color .22s ease;
}
.music > .simple-song-card:first-of-type { border-top: 1px solid var(--line); }
.music > .simple-song-card:hover {
  padding-left: 0;
  border-color: var(--line);
  background: transparent;
  box-shadow: none;
  transform: none;
}
.music > .simple-song-card .simple-song-cover {
  width: 72px;
  height: 72px;
  border: 0;
  border-radius: 9px;
  background: var(--cover-placeholder-bg);
  box-shadow: 0 2px 10px rgba(0,0,0,.07);
}
.music > .simple-song-card .simple-song-copy { padding: 1px 0; }
.music > .simple-song-card .simple-song-title { gap: 5px 7px; font-size: 15px; line-height: 1.4; }
.music > .simple-song-card .simple-song-meta { margin-top: 5px; gap: 2px 9px; font-size: 11px; }
.music > .simple-song-card .simple-song-icon {
  border-color: transparent;
  background: transparent;
  border-radius: 50%;
}
.music > .simple-song-card .simple-song-icon:hover { background: var(--surface-hover); border-color: var(--line); }
.music > .simple-song-card .simple-song-icon:active { transform: scale(.94); }
.music > .simple-song-card .simple-song-cover img { transition: transform .32s var(--ease), filter .32s ease; }
.music > .simple-song-card .simple-song-cover:active img { transform: scale(.96); }

/* Softer micro-interactions, tuned for touch and reduced-motion preferences. */
.site-layout-toggle,
.site-search-toggle,
.site-language-toggle,
.site-theme-toggle,
.song-order-button,
.random-play-button,
.track-action,
.work-actions .action,
.release-track-actions button,
.release-track-actions a {
  transition: transform .18s var(--ease), color .18s ease, border-color .18s ease, background-color .18s ease, opacity .18s ease;
}
.site-layout-toggle:active,
.site-search-toggle:active,
.site-language-toggle:active,
.site-theme-toggle:active,
.song-order-button:active,
.random-play-button:active,
.track-action:active,
.work-actions .action:active,
.release-track-actions button:active,
.release-track-actions a:active { transform: scale(.96); }

@media (max-width: 820px) {
  .hldxj-player {
    bottom: calc(9px + env(safe-area-inset-bottom, 0px));
    width: calc(100vw - 20px);
    grid-template-columns: 44px minmax(0, 1fr) 28px 34px 28px 27px;
    column-gap: 7px;
    row-gap: 8px;
    padding: 10px 10px 9px;
    border-radius: 17px;
    backdrop-filter: blur(28px) saturate(170%);
    -webkit-backdrop-filter: blur(28px) saturate(170%);
  }
  .hldxj-player-art-link { width: 44px; height: 44px; min-width: 44px; min-height: 44px; border-radius: 10px; }
  .hldxj-player-art { width: 100%; height: 100%; border-radius: inherit; }
  .hldxj-player-nav { width: 28px; height: 30px; }
  .hldxj-player-toggle { width: 34px; height: 34px; }
  .hldxj-player-close { width: 27px; height: 30px; }
  .hldxj-player-title { font-size: 12px; }
  .hldxj-player-label { font-size: 8.5px; }
  .hldxj-player-release { font-size: 9px; }
  .music > .simple-song-card {
    grid-template-columns: 26px 56px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 13px 0;
  }
  .music > .simple-song-card .simple-song-cover { width: 56px; height: 56px; border-radius: 8px; }
  .music > .simple-song-card .simple-song-index { min-width: 26px; }
  .music > .simple-song-card .simple-song-actions { gap: 1px; }
  .music > .simple-song-card .simple-song-icon { width: 30px; height: 30px; flex-basis: 30px; }
  .music > .simple-song-card .simple-song-title { font-size: 14px; }
  .music > .simple-song-card .simple-song-meta { font-size: 10.5px; }
  .site { --page-padding: 18px; }
}
@media (max-width: 380px) {
  .hldxj-player {
    grid-template-columns: 40px minmax(0,1fr) 25px 31px 25px 24px;
    column-gap: 5px;
    padding-left: 8px;
    padding-right: 8px;
  }
  .hldxj-player-art-link { width: 40px; height: 40px; min-width: 40px; min-height: 40px; border-radius: 9px; }
  .hldxj-player-toggle { width: 31px; height: 31px; }
  .hldxj-player-nav { width: 25px; }
  .hldxj-player-close { width: 24px; }
  .music > .simple-song-card { grid-template-columns: 22px 50px minmax(0,1fr) auto; gap: 8px; }
  .music > .simple-song-card .simple-song-cover { width: 50px; height: 50px; }
  .music > .simple-song-card .simple-song-icon { width: 27px; height: 29px; flex-basis: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  .hldxj-player-art-link,
  .hldxj-player-title-link,
  .music > .simple-song-card,
  .music > .simple-song-card .simple-song-cover img,
  .site-layout-toggle,
  .site-search-toggle,
  .site-language-toggle,
  .site-theme-toggle,
  .song-order-button,
  .random-play-button,
  .track-action,
  .work-actions .action,
  .release-track-actions button,
  .release-track-actions a { transition: none !important; animation: none !important; }
}


/* =========================================================
   v54 · 雾光视觉更新
   专辑色彩氛围、轻玻璃信息层、浅色占位封面与连贯播放器滑块
   ========================================================= */
:root {
  --hldxj-glass-dark: rgba(22, 24, 27, .46);
  --hldxj-glass-light: rgba(255, 255, 252, .58);
  --hldxj-glass-border-dark: rgba(255, 255, 255, .13);
  --hldxj-glass-border-light: rgba(36, 40, 44, .09);
  --hldxj-glass-shadow-dark: 0 18px 52px rgba(0, 0, 0, .16);
  --hldxj-glass-shadow-light: 0 18px 48px rgba(45, 52, 60, .075);
  --hero-cover: none;
}

/* 专辑图不再被灰度化：只使用封面自身颜色，色彩过渡由柔和模糊完成。 */
.single-hero::before,
.release-hero::before {
  background-image:var(--hero-cover);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: saturate(1.22) blur(50px) contrast(.94);
  opacity: .22;
  transform: translateZ(0) scale(1.12);
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.82), rgba(0,0,0,.36) 52%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.82), rgba(0,0,0,.36) 52%, transparent 100%);
}

/* 资料区域像磨砂玻璃一样承接封面氛围，不把整页变成一堆厚重卡片。 */
.single-hero > :last-child,
.release-info {
  position: relative;
  min-width: 0;
  padding: 24px 26px 26px;
  border: 1px solid var(--hldxj-glass-border-dark);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.018) 62%), var(--hldxj-glass-dark);
  box-shadow: var(--hldxj-glass-shadow-dark), inset 0 1px 0 rgba(255,255,255,.09);
  -webkit-backdrop-filter: blur(26px) saturate(138%);
  backdrop-filter: blur(26px) saturate(138%);
}
.single-hero > :last-child { padding-top: 22px; }
.release-info { padding-top: 24px; }

/* 无封面时也要有主体色，而不是只靠一圈阴影显示轮廓。 */
:root[data-theme="light"] {
  --cover-placeholder-bg: #e4e6e3;
  --cover-placeholder-fg: #626761;
  --cover-placeholder-border: rgba(40, 48, 54, .10);
  --cover-placeholder-glow: rgba(255, 255, 255, .72);
}
:root[data-theme="light"] .track-cover.is-placeholder,
:root[data-theme="light"] .simple-song-cover.is-placeholder,
:root[data-theme="light"] .single-cover.is-placeholder,
:root[data-theme="light"] .release-cover.is-placeholder,
:root[data-theme="light"] .cover-placeholder,
:root[data-theme="light"] .release-cover-placeholder,
:root[data-theme="light"] .release-track-cover.is-placeholder,
:root[data-theme="light"] .release-card-placeholder,
:root[data-theme="light"] .release-card-cover.is-placeholder {
  background-color: #e4e6e3 !important;
  background-image:radial-gradient(ellipse at 50% 12%,rgba(255,255,255,.48),transparent 60%),linear-gradient(145deg,#d0d3d0 0%,#dfddd7 100%) !important;
  border-color: rgba(40, 48, 54, .10) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 7px 24px rgba(39, 56, 72, .055);
}
:root[data-theme="light"] .single-cover.is-placeholder,
:root[data-theme="light"] .release-cover.is-placeholder {
  background-color: #e4e6e3 !important;
  background-image:radial-gradient(ellipse at 50% 12%,rgba(255,255,255,.48),transparent 60%),linear-gradient(145deg,#d0d3d0 0%,#dfddd7 100%) !important;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]):not([data-theme="light"]) {
    --cover-placeholder-bg: #e4e6e3;
    --cover-placeholder-fg: #626761;
    --cover-placeholder-border: rgba(40, 48, 54, .10);
    --cover-placeholder-glow: rgba(255, 255, 255, .72);
  }
  :root:not([data-theme="dark"]):not([data-theme="light"]) .track-cover.is-placeholder,
  :root:not([data-theme="dark"]):not([data-theme="light"]) .simple-song-cover.is-placeholder,
  :root:not([data-theme="dark"]):not([data-theme="light"]) .single-cover.is-placeholder,
  :root:not([data-theme="dark"]):not([data-theme="light"]) .release-cover.is-placeholder,
  :root:not([data-theme="dark"]):not([data-theme="light"]) .cover-placeholder,
  :root:not([data-theme="dark"]):not([data-theme="light"]) .release-cover-placeholder,
  :root:not([data-theme="dark"]):not([data-theme="light"]) .release-track-cover.is-placeholder,
  :root:not([data-theme="dark"]):not([data-theme="light"]) .release-card-placeholder,
  :root:not([data-theme="dark"]):not([data-theme="light"]) .release-card-cover.is-placeholder {
    background-color: #e4e6e3 !important;
    background-image:radial-gradient(ellipse at 50% 12%,rgba(255,255,255,.48),transparent 60%),linear-gradient(145deg,#d0d3d0 0%,#dfddd7 100%) !important;
    border-color: rgba(40, 48, 54, .10) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 7px 24px rgba(39, 56, 72, .055);
  }
}

/* 浮动播放器：更清透的材质和一条真正细的进度轨道；滑块中心与已播部分对齐。 */
.hldxj-player {
  -webkit-backdrop-filter: blur(30px) saturate(155%);
  backdrop-filter: blur(30px) saturate(155%);
  box-shadow: 0 20px 52px var(--player-shadow), inset 0 1px 0 var(--player-highlight);
}
.hldxj-player-range {
  width: 100%;
  height: 16px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent !important;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  outline: none;
  touch-action: pan-y;
}
.hldxj-player-range::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(
    to right,
    var(--player-fill) 0%,
    var(--player-fill) calc(var(--player-progress, 0%) + 6px),
    var(--player-track) calc(var(--player-progress, 0%) + 6px),
    var(--player-track) 100%
  );
}
.hldxj-player-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 12px;
  height: 12px;
  margin-top: -4px;
  border: 0;
  border-radius: 50%;
  background: var(--player-thumb);
  box-shadow: 0 1px 5px rgba(0,0,0,.22), 0 0 0 1px rgba(127,127,127,.08);
  cursor: grab;
}
.hldxj-player-range:active::-webkit-slider-thumb { cursor: grabbing; }
.hldxj-player-range::-moz-range-track {
  height: 4px;
  border: 0;
  border-radius: 999px;
  background: var(--player-track);
}
.hldxj-player-range::-moz-range-progress {
  height: 4px;
  border: 0;
  border-radius: 999px;
  background: var(--player-fill);
}
.hldxj-player-range::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border: 0;
  border-radius: 50%;
  background: var(--player-thumb);
  box-shadow: 0 1px 5px rgba(0,0,0,.22), 0 0 0 1px rgba(127,127,127,.08);
  cursor: grab;
}
.hldxj-player-range:focus-visible::-webkit-slider-thumb,
.hldxj-player-range:focus-visible::-moz-range-thumb {
  box-shadow: 0 0 0 3px rgba(100, 160, 230, .26), 0 1px 5px rgba(0,0,0,.22);
}

/* 细节质感：标签自然收口，浮层使用统一的玻璃模糊，避免加重普通内容区域。 */
.song-tag[hidden],
.simple-song-tag[hidden],
[data-player-tag][hidden] {
  display: none !important;
}
.song-tag,
.simple-song-tag {
  border-radius: 999px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.hldxj-toast,
.site-nav-mobile-panel,
.site-language-menu,
.site-search-panel {
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  backdrop-filter: blur(22px) saturate(145%);
}
:root[data-theme="light"] .single-hero > :last-child,
:root[data-theme="light"] .release-info {
  border-color: var(--hldxj-glass-border-light);
  background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(255,255,255,.36) 65%), var(--hldxj-glass-light);
  box-shadow: var(--hldxj-glass-shadow-light), inset 0 1px 0 rgba(255,255,255,.78);
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]):not([data-theme="light"]) .single-hero > :last-child,
  :root:not([data-theme="dark"]):not([data-theme="light"]) .release-info {
    border-color: var(--hldxj-glass-border-light);
    background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(255,255,255,.36) 65%), var(--hldxj-glass-light);
    box-shadow: var(--hldxj-glass-shadow-light), inset 0 1px 0 rgba(255,255,255,.78);
  }
  :root:not([data-theme="dark"]):not([data-theme="light"]) .single-hero::before,
  :root:not([data-theme="dark"]):not([data-theme="light"]) .release-hero::before {
    opacity: .29;
    filter: saturate(1.25) blur(54px) brightness(1.035);
  }
}
:root[data-theme="light"] .single-hero::before,
:root[data-theme="light"] .release-hero::before {
  opacity: .29;
  filter: saturate(1.25) blur(54px) brightness(1.035);
}
@media (max-width: 820px) {
  .single-hero > :last-child,
  .release-info {
    padding: 20px 18px 21px;
    border-radius: 20px;
  }
  .single-hero::before,
  .release-hero::before {
    top: -90px;
    height: 400px;
    left: -32vw;
    right: -32vw;
  }
}
@media (max-width: 480px) {
  .single-hero > :last-child,
  .release-info {
    padding: 17px 15px 18px;
    border-radius: 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hldxj-player-range::-webkit-slider-thumb,
  .hldxj-player-range::-moz-range-thumb { scroll-behavior: auto; }
}

/* =========================================================
   v55 雾面侧栏与 iOS 风格播放器控制
   ========================================================= */
.site-nav { position: relative; }
.site-nav-main { display:flex; align-items:center; gap:clamp(14px,1.8vw,28px); }
.site-nav-tools { gap:8px; }
.site-nav-more { position:relative; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; }
.site-sidebar-menu-icon { width:16px; display:flex; flex-direction:column; gap:4px; }
.site-sidebar-menu-icon i { height:1.5px; width:100%; border-radius:2px; background:currentColor; display:block; }
.site-notice-badge { position:absolute; width:7px; height:7px; right:5px; top:4px; border-radius:50%; background:#ff5a52; box-shadow:0 0 0 2px var(--page-bg, #fff); }
.site-nav-mobile-panel { display:none !important; }
.hldxj-sidebar-backdrop { position:fixed; inset:0; z-index:9997; background:rgba(12,15,20,.18); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); opacity:0; transition:opacity .28s ease; }
.hldxj-sidebar-backdrop:not([hidden]) { opacity:1; }
.hldxj-site-sidebar { position:fixed; z-index:9998; top:0; right:0; bottom:0; width:min(430px,92vw); padding:clamp(24px,4vw,38px); box-sizing:border-box; overflow-y:auto; overscroll-behavior:contain; color:var(--text); background:rgba(246,247,248,.74); border-left:1px solid rgba(255,255,255,.58); box-shadow:-24px 0 80px rgba(22,28,38,.16); backdrop-filter:blur(32px) saturate(155%); -webkit-backdrop-filter:blur(32px) saturate(155%); transform:translateX(105%); visibility:hidden; transition:transform .34s cubic-bezier(.2,.8,.2,1),visibility .34s; }
:root[data-theme="dark"] .hldxj-site-sidebar { background:rgba(24,26,30,.78); border-left-color:rgba(255,255,255,.12); box-shadow:-24px 0 80px rgba(0,0,0,.35); }
.hldxj-site-sidebar.is-open { transform:translateX(0); visibility:visible; }
.hldxj-sidebar-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding-bottom:26px; border-bottom:1px solid var(--line); }
.hldxj-sidebar-eyebrow { color:var(--muted); font-size:10px; letter-spacing:.18em; }
.hldxj-sidebar-head h2 { margin:8px 0 0; font-size:25px; font-weight:600; letter-spacing:-.04em; }
.hldxj-sidebar-close { width:36px; height:36px; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,.35); color:var(--text); font-size:25px; line-height:1; cursor:pointer; }
:root[data-theme="dark"] .hldxj-sidebar-close { background:rgba(255,255,255,.06); }
.hldxj-sidebar-search { padding:24px 0 20px; }
.hldxj-sidebar-search label { display:block; margin-bottom:9px; color:var(--muted); font-size:12px; }
.hldxj-sidebar-search>div { display:flex; gap:8px; padding:5px; border:1px solid rgba(130,135,145,.24); border-radius:14px; background:rgba(255,255,255,.46); box-shadow:inset 0 1px 0 rgba(255,255,255,.4); }
:root[data-theme="dark"] .hldxj-sidebar-search>div { background:rgba(255,255,255,.055); }
.hldxj-sidebar-search input { flex:1; min-width:0; height:40px; padding:0 10px; border:0; outline:0; background:transparent; color:var(--text); font:inherit; font-size:13px; }
.hldxj-sidebar-search button { width:40px; border:0; border-radius:10px; background:rgba(120,125,135,.12); color:var(--text); font-size:25px; cursor:pointer; }
.hldxj-sidebar-links { display:flex; flex-direction:column; gap:5px; padding:8px 0 23px; border-bottom:1px solid var(--line); }
.hldxj-sidebar-links a,.hldxj-sidebar-links>button { width:100%; min-height:49px; display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; padding:0 12px; border:1px solid transparent; border-radius:12px; background:transparent; color:var(--text-soft); text-decoration:none; text-align:left; font:inherit; font-size:14px; cursor:pointer; transition:background .18s ease,border-color .18s ease,color .18s ease; }
.hldxj-sidebar-links a:hover,.hldxj-sidebar-links>button:hover,.hldxj-sidebar-links a.is-active { color:var(--text); background:rgba(255,255,255,.42); border-color:rgba(130,135,145,.15); }
:root[data-theme="dark"] .hldxj-sidebar-links a:hover,:root[data-theme="dark"] .hldxj-sidebar-links>button:hover,:root[data-theme="dark"] .hldxj-sidebar-links a.is-active { background:rgba(255,255,255,.075); }
.hldxj-sidebar-link-icon { color:var(--muted); font-size:18px; text-align:center; }
.hldxj-sidebar-link-arrow { color:var(--muted); font-size:13px; }
.hldxj-sidebar-notice-count { display:inline-flex; align-items:center; justify-content:center; min-width:23px; height:23px; padding:0 6px; border-radius:20px; background:rgba(255,91,82,.13); color:#d94c46; font-size:11px; }
.hldxj-sidebar-notices { padding-top:24px; scroll-margin-top:20px; }
.hldxj-sidebar-section-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; font-size:13px; font-weight:600; }
.hldxj-sidebar-section-title span+span { color:var(--muted); font-size:11px; font-weight:400; }
.hldxj-notice-card { margin:0 0 10px; padding:15px 16px; border:1px solid rgba(130,135,145,.18); border-radius:15px; background:rgba(255,255,255,.36); box-shadow:inset 0 1px 0 rgba(255,255,255,.28); }
:root[data-theme="dark"] .hldxj-notice-card { background:rgba(255,255,255,.045); }
.hldxj-notice-date { color:var(--muted); font-size:10px; letter-spacing:.04em; }
.hldxj-notice-card h3 { margin:7px 0 6px; font-size:14px; font-weight:600; }
.hldxj-notice-card p,.hldxj-sidebar-empty { margin:0; color:var(--text-soft); font-size:12px; line-height:1.8; white-space:normal; overflow-wrap:anywhere; }
.hldxj-sidebar-foot { display:flex; justify-content:space-between; padding-top:26px; color:var(--muted); font-size:11px; letter-spacing:.08em; }
.hldxj-sidebar-foot span { opacity:.6; }
body.hldxj-sidebar-open { overflow:hidden; }

/* v59: duplicated historical player-button skin removed; single canonical rules are defined below. */
.hldxj-notice-admin-list { display:flex; flex-direction:column; gap:12px; margin:16px 0; }
.hldxj-notice-admin-row { display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid #dcdcde; border-radius:10px; background:#fff; }
.hldxj-notice-admin-fields { flex:1; min-width:0; display:flex; flex-direction:column; gap:10px; }
.hldxj-notice-admin-fields label { display:flex; align-items:center; gap:8px; }
@media (max-width:820px) {
  .site-nav-main { display:none !important; }
  .site-now-playing-toggle { display:none !important; }
  .site-nav-tools { gap:7px; }
  .site-nav-more { width:36px; height:36px; }
  .hldxj-site-sidebar { width:min(420px,94vw); padding:24px 22px calc(24px + env(safe-area-inset-bottom)); }
  .hldxj-notice-admin-row { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { .hldxj-site-sidebar,.hldxj-sidebar-backdrop { transition:none !important; } }
.hldxj-sidebar-language-options { display:flex; gap:7px; padding:4px 10px 8px 52px; flex-wrap:wrap; }
.hldxj-sidebar-language-options[hidden] { display:none !important; }
.hldxj-sidebar-language-options button { padding:7px 10px; border:1px solid rgba(130,135,145,.22); border-radius:9px; background:rgba(255,255,255,.32); color:var(--text-soft); font:inherit; font-size:11px; cursor:pointer; }
:root[data-theme="dark"] .hldxj-sidebar-language-options button { background:rgba(255,255,255,.05); }
.site-nav-more { display:inline-flex !important; }
.site-nav-more .site-sidebar-menu-icon { transform:none !important; font-size:inherit !important; letter-spacing:normal !important; }
.site-nav-more .site-notice-badge { transform:none !important; }
@media (min-width:821px) { .site-nav-more { display:inline-flex !important; } }


/* =========================================================
   v56 修正：自然封面取色、无硬边的毛玻璃融合、统一侧栏图标和 iOS 播放键
   ========================================================= */
/* 详情页只取专辑封面本身的颜色，不再叠加固定蓝色/琥珀色滤镜。模糊层在四边渐隐，避免矩形断层。 */
.single-hero,
.release-hero { position:relative; isolation:isolate; overflow:visible; }
.single-hero::before,
.release-hero::before {
  content:"";
  position:absolute;
  z-index:-2;
  top:-18%;
  bottom:-16%;
  left:-18vw;
  right:-18vw;
  height:auto;
  background-image:var(--hero-cover);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  filter:blur(58px) saturate(1.12) contrast(.96);
  opacity:.23;
  transform:translateZ(0) scale(1.035);
  -webkit-mask-image:radial-gradient(ellipse 90% 78% at 50% 26%,rgba(0,0,0,.86) 0%,rgba(0,0,0,.58) 39%,rgba(0,0,0,.22) 63%,transparent 84%);
  mask-image:radial-gradient(ellipse 90% 78% at 50% 26%,rgba(0,0,0,.86) 0%,rgba(0,0,0,.58) 39%,rgba(0,0,0,.22) 63%,transparent 84%);
  pointer-events:none;
}
.single-hero::after,
.release-hero::after { content:none !important; }
:root[data-theme="dark"] .single-hero::before,
:root[data-theme="dark"] .release-hero::before { opacity:.18; filter:blur(62px) saturate(1.16) brightness(.82); }
:root[data-theme="light"] .single-hero::before,
:root[data-theme="light"] .release-hero::before { opacity:.26; filter:blur(60px) saturate(1.18) brightness(1.04); }
@media (prefers-color-scheme:light) {
  :root:not([data-theme="dark"]):not([data-theme="light"]) .single-hero::before,
  :root:not([data-theme="dark"]):not([data-theme="light"]) .release-hero::before { opacity:.26; filter:blur(60px) saturate(1.18) brightness(1.04); }
}
/* 玻璃资料卡回归中性半透明材质，内容区与背景之间不再出现浓淡突变。 */
.single-hero > :last-child,
.release-info {
  background:rgba(250,250,248,.58) !important;
  border-color:rgba(255,255,255,.58) !important;
  box-shadow:0 18px 48px rgba(30,36,42,.075),inset 0 1px 0 rgba(255,255,255,.72) !important;
  -webkit-backdrop-filter:blur(28px) saturate(142%);
  backdrop-filter:blur(28px) saturate(142%);
}
:root[data-theme="dark"] .single-hero > :last-child,
:root[data-theme="dark"] .release-info {
  background:rgba(24,26,29,.58) !important;
  border-color:rgba(255,255,255,.15) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08) !important;
}
@media (max-width:820px) {
  .single-hero::before,.release-hero::before { top:-10%; bottom:-10%; left:-22vw; right:-22vw; }
}
/* 更多按钮：三个对齐的圆点，尺寸、边框与顶栏其他工具按钮一致。 */
.site-nav-more { width:38px !important; height:38px !important; border-radius:12px !important; padding:0 !important; }
.site-sidebar-more-icon { display:block !important; width:20px !important; height:20px !important; fill:currentColor !important; stroke:none !important; transform:none !important; }
.site-nav-more span { transform:none !important; letter-spacing:normal !important; }
@media (max-width:820px) { .site-nav-more { width:36px !important; height:36px !important; border-radius:11px !important; } }
/* 侧栏每一项统一为同尺寸线性 SVG；右侧统一使用右尖括号，只有通知数量作为有意义的状态标记。 */
.hldxj-sidebar-links a,
.hldxj-sidebar-links>button {
  min-height:52px;
  grid-template-columns:28px minmax(0,1fr) 20px;
  gap:12px;
  padding:0 13px;
  border-radius:13px;
  font-size:14px;
  line-height:1.35;
}
.hldxj-sidebar-link-icon { width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center; color:var(--muted); font-size:14px !important; }
.hldxj-sidebar-link-icon svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.hldxj-sidebar-link-arrow { width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; color:var(--muted); font-size:13px; }
.hldxj-sidebar-link-arrow svg { display:block; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.hldxj-sidebar-links a:hover .hldxj-sidebar-link-icon,
.hldxj-sidebar-links>button:hover .hldxj-sidebar-link-icon,
.hldxj-sidebar-links a.is-active .hldxj-sidebar-link-icon { color:var(--text); }
.hldxj-sidebar-links .hldxj-sidebar-notice-count { grid-column:3; justify-self:center; min-width:21px; height:21px; padding:0 5px; }
.hldxj-sidebar-language-options { margin:0 0 4px 0; padding:5px 10px 10px 53px; }
/* 搜索按钮改为与输入框融为一体的轻量符号，不再像独立的大方块。 */
.hldxj-sidebar-search>div { gap:4px; padding:4px 5px 4px 12px; border-radius:15px; background:rgba(255,255,255,.34); }
:root[data-theme="dark"] .hldxj-sidebar-search>div { background:rgba(255,255,255,.045); }
.hldxj-sidebar-search button { width:38px; height:38px; flex:0 0 38px; border-radius:11px; background:transparent; font-size:0; display:flex; align-items:center; justify-content:center; }
.hldxj-sidebar-search button::before { content:""; width:13px; height:13px; border:2px solid currentColor; border-radius:50%; transform:translate(-1px,-1px); }
.hldxj-sidebar-search button::after { content:""; position:absolute; width:7px; height:2px; border-radius:2px; background:currentColor; transform:translate(7px,7px) rotate(45deg); }
.hldxj-sidebar-search button { position:relative; }
/* v59: old duplicated player-button overrides removed and replaced by a single responsive system below. */
/* 后台全站通知编辑区和页脚多行字段的排版。 */
.hldxj-notice-admin-list { max-width:960px; }
.hldxj-notice-admin-row { align-items:flex-start; }
.hldxj-notice-admin-fields input,.hldxj-notice-admin-fields textarea { width:100%; max-width:100%; }
.hldxj-notice-admin-row > .button { flex:0 0 auto; }

/* v56 refine: light-cover placeholders stay neutral, with a little more color depth. */
:root[data-theme="light"] .track-cover.is-placeholder,
:root[data-theme="light"] .simple-song-cover.is-placeholder,
:root[data-theme="light"] .single-cover.is-placeholder,
:root[data-theme="light"] .release-cover.is-placeholder,
:root[data-theme="light"] .cover-placeholder,
:root[data-theme="light"] .release-cover-placeholder,
:root[data-theme="light"] .release-track-cover.is-placeholder,
:root[data-theme="light"] .release-card-placeholder,
:root[data-theme="light"] .release-card-cover.is-placeholder,
:root:not([data-theme="dark"]):not([data-theme="light"]) .track-cover.is-placeholder,
:root:not([data-theme="dark"]):not([data-theme="light"]) .simple-song-cover.is-placeholder,
:root:not([data-theme="dark"]):not([data-theme="light"]) .single-cover.is-placeholder,
:root:not([data-theme="dark"]):not([data-theme="light"]) .release-cover.is-placeholder,
:root:not([data-theme="dark"]):not([data-theme="light"]) .cover-placeholder,
:root:not([data-theme="dark"]):not([data-theme="light"]) .release-cover-placeholder,
:root:not([data-theme="dark"]):not([data-theme="light"]) .release-track-cover.is-placeholder,
:root:not([data-theme="dark"]):not([data-theme="light"]) .release-card-placeholder,
:root:not([data-theme="dark"]):not([data-theme="light"]) .release-card-cover.is-placeholder {
  background-color:#d9dbd7 !important;
  background-image:radial-gradient(ellipse at 50% 12%,rgba(255,255,255,.48),transparent 60%),linear-gradient(145deg,#d0d3d0 0%,#dfddd7 100%) !important;
  border-color:rgba(40,44,42,.13) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.50),0 6px 20px rgba(28,32,32,.06) !important;
}
/* Sidebar glass is a little more transparent and obtains its color from whatever is behind it. */
.hldxj-site-sidebar {
  background:rgba(246,247,248,.62) !important;
  backdrop-filter:blur(36px) saturate(160%) !important;
  -webkit-backdrop-filter:blur(36px) saturate(160%) !important;
}
:root[data-theme="dark"] .hldxj-site-sidebar {
  background:rgba(22,24,28,.66) !important;
  border-left-color:rgba(255,255,255,.13) !important;
  backdrop-filter:blur(36px) saturate(150%) !important;
  -webkit-backdrop-filter:blur(36px) saturate(150%) !important;
}


/* v58: Search page no-cover art now matches the site's current adaptive cover treatment. */
.search-result-cover.is-placeholder {
  display: grid;
  place-items: center;
  border: 1px solid var(--cover-placeholder-border, rgba(255,255,255,.12));
  background-color: var(--cover-placeholder-bg, #191a1c) !important;
  background-image: radial-gradient(circle at 50% 34%, var(--cover-placeholder-glow, rgba(255,255,255,.075)), transparent 74%), linear-gradient(145deg, rgba(255,255,255,.025), rgba(0,0,0,.045)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
  color: var(--cover-placeholder-fg, #a2a4a7);
}
.search-result-cover-placeholder {
  display: block;
  width: 100%;
  padding: 0 2px;
  color: var(--cover-placeholder-fg, #a2a4a7);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .12em;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  user-select: none;
}
:root[data-theme="light"] .search-result-cover.is-placeholder {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 6px 20px rgba(28,32,32,.06);
  background-image: radial-gradient(ellipse at 50% 12%,rgba(255,255,255,.48),transparent 60%),linear-gradient(145deg,#d0d3d0 0%,#dfddd7 100%) !important;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]):not([data-theme="light"]) .search-result-cover.is-placeholder {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 6px 20px rgba(28,32,32,.06);
    background-image: radial-gradient(ellipse at 50% 12%,rgba(255,255,255,.48),transparent 60%),linear-gradient(145deg,#d0d3d0 0%,#dfddd7 100%) !important;
  }
}


/* ======================================================================
   HLDXJ 雾光 v59 · UI Consistency Layer
   One source of truth for common geometry and interactive control sizing.
   The legacy stylesheet is retained where it contains page-specific behavior;
   conflicting nav/player declarations above were removed instead of stacking
   another set of contradictory values on top.
   ====================================================================== */
:root{--ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-5:24px;--ui-space-6:32px;--ui-space-7:48px;--ui-radius-xs:7px;--ui-radius-sm:9px;--ui-radius-control:11px;--ui-radius-card:14px;--ui-radius-panel:20px;--ui-radius-glass:22px;--ui-radius-cover:12px;--ui-radius-pill:999px;--ui-control-size:38px;--ui-control-size-mobile:38px;--ui-icon-stroke:1.65;--ui-focus-ring:rgba(91, 151, 221, .72)}
/* Header: the brand mark stays visible on every viewport. */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:clamp(10px, 2vw, 28px);min-height:76px}
.site-header > .logo{display:inline-flex;align-items:baseline;flex:0 0 auto;min-width:max-content;gap:9px;line-height:1;text-decoration:none}
.site-header > .logo .logo-name{line-height:1.1}
.site-header > .logo .logo-code{line-height:1.2}
.site-header > .site-nav{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;min-width:0;margin-left:auto}
.site-nav-main{display:flex;align-items:center;gap:clamp(14px, 1.65vw, 26px);white-space:nowrap}
.site-nav-tools{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto}
/* The top-level controls share the same button frame, corner radius and center. */
.site-search-toggle,
.site-language-toggle,
.site-theme-toggle,
.site-nav-more{box-sizing:border-box;width:var(--ui-control-size);height:var(--ui-control-size);min-width:var(--ui-control-size);min-height:var(--ui-control-size);flex:0 0 var(--ui-control-size);display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--ui-radius-control);background:transparent;color:var(--text-soft);box-shadow:none;transform:none}
.site-search-toggle svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:var(--ui-icon-stroke);stroke-linecap:round;stroke-linejoin:round}
.site-language-toggle > span{display:inline-block;font-size:11px;font-weight:600;letter-spacing:-.04em;line-height:1}
.site-theme-toggle{position:relative;font-size:16px;line-height:1}
.site-theme-icon{line-height:1;font-size:16px}
.site-nav-more{position:relative;display:inline-flex !important;cursor:pointer}
.site-sidebar-more-icon{display:block;width:19px;height:19px;fill:currentColor;stroke:none;transform:none}
.site-search-toggle:hover,
.site-language-toggle:hover,
.site-language-toggle[aria-expanded="true"],
.site-theme-toggle:hover,
.site-nav-more:hover,
.site-nav-more[aria-expanded="true"]{color:var(--text);border-color:var(--line-strong);background:var(--surface-hover);box-shadow:none;transform:none}
.site-now-playing-toggle{width:var(--ui-control-size);height:var(--ui-control-size);min-width:var(--ui-control-size);border-radius:var(--ui-radius-control);border:1px solid transparent}
.site-now-playing-toggle:hover,
.site-now-playing-toggle.is-playing{border-color:var(--line);background:var(--surface-hover);transform:none}
/* Cards and cover radii use named tiers; do not alter the site's custom fonts. */
.simple-song-card,
.search-song-card,
.search-album-card,
.release-info,
.single-hero > :last-child,
.hldxj-notice-card{border-radius:var(--ui-radius-card)}
.simple-song-cover,
.search-result-cover,
.release-track-cover,
.track-cover,
.release-card-cover,
.hldxj-player-art-link,
.hldxj-player-art{border-radius:var(--ui-radius-cover);overflow:hidden}
.song-tag,
.simple-song-tag,
.hldxj-player-tag{border-radius:var(--ui-radius-pill)}
/* Content pages share the same outer width and vertical rhythm. */
.single-wrap,
.release-wrap{width:100%;max-width:1160px;margin-inline:auto;padding-top:clamp(36px, 4.2vw, 56px);padding-bottom:clamp(56px, 6vw, 84px)}
.single-hero,
.release-hero{column-gap:clamp(24px, 3.75vw, 48px);row-gap:clamp(24px, 4vw, 32px);align-items:start}
.single-cover,
.release-cover{border-radius:var(--ui-radius-cover)}
.single-hero > :last-child,
.release-info{min-width:0;border-radius:var(--ui-radius-glass)}
.search-page{width:100%;max-width:1160px;margin-inline:auto}
/* Sidebar: fixed three-column grid so icons, labels and affordances line up. */
.hldxj-site-sidebar{width:min(430px, 92vw);padding:clamp(24px, 3vw, 34px);border-radius:0;overscroll-behavior:contain}
.hldxj-sidebar-head{align-items:center;gap:var(--ui-space-4);padding-bottom:var(--ui-space-5)}
.hldxj-sidebar-close{width:38px;height:38px;min-width:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ui-radius-control);line-height:1}
.hldxj-sidebar-search{padding:var(--ui-space-5) 0 var(--ui-space-4)}
.hldxj-sidebar-search > div{gap:6px;padding:4px;border-radius:14px}
.hldxj-sidebar-search input{min-width:0;min-height:40px;outline:none}
.hldxj-sidebar-search button{position:relative;width:38px;height:38px;min-width:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--ui-radius-sm);background:transparent;color:var(--text);font-size:0}
.hldxj-sidebar-search button::before{content:"";position:absolute;top:calc(50% - 7px);left:calc(50% - 7px);width:12px;height:12px;border:1.8px solid currentColor;border-radius:50%;transform:none}
.hldxj-sidebar-search button::after{content:"";position:absolute;top:calc(50% + 4px);left:calc(50% + 3px);width:7px;height:1.8px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
.hldxj-sidebar-links{gap:3px;padding:6px 0 20px}
.hldxj-sidebar-links a,
.hldxj-sidebar-links > button{width:100%;min-height:50px;display:grid;grid-template-columns:28px minmax(0, 1fr) 20px;align-items:center;gap:12px;padding:0 12px;border:1px solid transparent;border-radius:12px;font:inherit;font-size:14px;line-height:1.4;text-align:left}
.hldxj-sidebar-link-icon,
.hldxj-sidebar-link-arrow{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:0}
.hldxj-sidebar-link-icon svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:var(--ui-icon-stroke);stroke-linecap:round;stroke-linejoin:round}
.hldxj-sidebar-link-arrow{width:20px;height:20px;justify-self:center}
.hldxj-sidebar-link-arrow svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:var(--ui-icon-stroke);stroke-linecap:round;stroke-linejoin:round}
.hldxj-sidebar-links .hldxj-sidebar-notice-count{grid-column:3;justify-self:center;min-width:21px;height:21px;padding:0 5px;border-radius:var(--ui-radius-pill);font-size:11px;line-height:1}
.hldxj-sidebar-language-options{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:5px 10px 10px 52px}
.hldxj-sidebar-language-options[hidden]{display:none !important}
.hldxj-sidebar-language-options button{min-height:32px;padding:6px 10px;border-radius:var(--ui-radius-sm)}
.hldxj-notice-card{padding:15px 16px}
/* Global player: button widths now match their grid tracks exactly. */
.hldxj-player{grid-template-columns:46px minmax(0, 1fr) 36px 40px 36px 28px;column-gap:8px}
.hldxj-player-nav,
.hldxj-player-toggle{box-sizing:border-box;display:inline-flex !important;align-items:center !important;justify-content:center !important;margin:0;padding:0 !important;border:0 !important;border-radius:var(--ui-radius-control) !important;background:transparent !important;color:var(--player-control-fg) !important;box-shadow:none !important;transform:none !important;transition:background-color .18s ease, color .18s ease, opacity .18s ease}
.hldxj-player-nav{width:36px !important;height:36px !important;min-width:36px !important}
.hldxj-player-toggle{width:40px !important;height:40px !important;min-width:40px !important}
.hldxj-player-nav .player-icon{display:block;width:22px !important;height:22px !important;fill:currentColor !important;stroke:none !important}
.hldxj-player-toggle .player-icon{display:block;width:23px !important;height:23px !important;fill:currentColor !important;stroke:none !important}
.hldxj-player-nav:hover:not(:disabled),
.hldxj-player-toggle:hover{background:rgba(120, 125, 135, .10) !important;transform:none !important}
:root[data-theme="dark"] .hldxj-player-nav:hover:not(:disabled),
:root[data-theme="dark"] .hldxj-player-toggle:hover{background:rgba(255,255,255,.085) !important}
.hldxj-player-nav:active,
.hldxj-player-toggle:active{opacity:.68}
.hldxj-player-nav:disabled{opacity:.32;cursor:default}
.hldxj-player-nav .player-icon-skip path{stroke:currentColor;stroke-width:.35px;stroke-linejoin:round}
/* Universal keyboard focus remains visible in both light and dark themes. */
.site-nav a:focus-visible,
.site-nav button:focus-visible,
.logo:focus-visible,
.hldxj-sidebar-links a:focus-visible,
.hldxj-sidebar-links button:focus-visible,
.hldxj-sidebar-close:focus-visible,
.hldxj-sidebar-search button:focus-visible,
.hldxj-player button:focus-visible,
.simple-song-icon:focus-visible,
.track-action:focus-visible,
.work-actions .action:focus-visible,
.release-track-actions a:focus-visible,
.release-track-actions button:focus-visible{outline:2px solid var(--ui-focus-ring) !important;outline-offset:2px}
.hldxj-sidebar-search > div:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-focus-ring) 22%, transparent), inset 0 1px 0 rgba(255,255,255,.35)}
.back-link:hover{color:var(--text)}
.site-header a,
.site-header button{-webkit-tap-highlight-color:transparent}
@media (max-width: 820px){
  :root{--ui-control-size:var(--ui-control-size-mobile)}
  .site-header{min-height:64px;gap:8px;align-items:center}
  /* Keep the brand; only the three content links and player shortcut move into the drawer. */
  .site-header > .logo{display:inline-flex !important;flex:0 0 auto;gap:7px;max-width:none}
  .site-header > .logo .logo-name{font-size:16px;white-space:nowrap}
  .site-header > .logo .logo-code{font-size:10px;letter-spacing:.1em;white-space:nowrap}
  .site-header > .site-nav{flex:0 0 auto;margin-left:auto;min-width:0}
  .site-nav-main,
  .site-now-playing-toggle{display:none !important}
  .site-nav-tools{display:inline-flex;align-items:center;gap:5px}
  .site-search-toggle,
  .site-language-toggle,
  .site-theme-toggle,
  .site-nav-more{width:36px;height:36px;min-width:36px;min-height:36px;flex-basis:36px;border-radius:var(--ui-radius-control)}
  .site-search-toggle svg{width:17px;height:17px}
  .site-theme-toggle{margin:0}
  .hldxj-site-sidebar{width:min(420px, 94vw);padding:24px 22px calc(24px + env(safe-area-inset-bottom))}
  .hldxj-player{grid-template-columns:44px minmax(0, 1fr) 32px 36px 32px 27px;column-gap:5px}
  .hldxj-player-nav{width:32px !important;height:32px !important;min-width:32px !important}
  .hldxj-player-toggle{width:36px !important;height:36px !important;min-width:36px !important}
  .hldxj-player-nav .player-icon{width:20px !important;height:20px !important}
  .hldxj-player-toggle .player-icon{width:22px !important;height:22px !important}
  .single-wrap,
  .release-wrap,
  .search-page{padding-top:36px;padding-bottom:64px}
  .single-hero,
  .release-hero{row-gap:24px}
}
@media (max-width: 380px){
  .site-header > .logo{gap:5px}
  .site-header > .logo .logo-code{letter-spacing:.07em}
  .site-nav-tools{gap:3px}
  .site-search-toggle,
  .site-language-toggle,
  .site-theme-toggle,
  .site-nav-more{width:34px;height:34px;min-width:34px;min-height:34px;flex-basis:34px}
  .hldxj-player{grid-template-columns:40px minmax(0, 1fr) 28px 32px 28px 24px;column-gap:4px}
  .hldxj-player-nav{width:28px !important;height:30px !important;min-width:28px !important}
  .hldxj-player-toggle{width:32px !important;height:32px !important;min-width:32px !important}
  .hldxj-player-nav .player-icon{width:18px !important;height:18px !important}
  .hldxj-player-toggle .player-icon{width:20px !important;height:20px !important}
}
@media (prefers-reduced-motion: reduce){
  .site-nav a,
  .site-nav button,
  .hldxj-player-nav,
  .hldxj-player-toggle,
  .hldxj-site-sidebar,
  .hldxj-sidebar-backdrop{transition:none !important;animation:none !important}
}


/* =========================================================
   v60: typography and global-player refinements
   - Scale reading text gently; keep existing custom font selections.
   - Use one bold title weight across all song/listing contexts.
   - Ensure only one play/pause glyph is visible at any time.
   - On mobile, separate metadata and controls to prevent cramped text.
   ========================================================= */
.track-name,
.track-title,
.simple-song-title,
.tag-song-title,
.release-track-title,
.release-card-title,
.search-result-copy h3,
.single-title,
.work-title,
.release-title,
.hldxj-player-title {
    font-weight: 700 !important;
}

/* Desktop: small, deliberate increases rather than scaling the whole page. */
.track-name { font-size: 15px !important; }
.track-title { font-size: 21px !important; }
.simple-song-title { font-size: 17px !important; }
.tag-song-title { font-size: 21px !important; }
.release-track-title { font-size: 19px !important; }
.release-card-title { font-size: 19px !important; }
.search-result-copy h3 { font-size: 18px !important; }
.track-meta,
.track-album { font-size: 14px !important; }
.tag-song-meta,
.release-track-meta { font-size: 12px !important; }
.search-result-copy time,
.search-result-release,
.simple-song-date { font-size: 13px !important; }
.search-result-vocal { font-size: 14px !important; }
.tag-filter { font-size: 12px !important; }
.site-nav a { font-size: 13px !important; }
.back-link { font-size: 13px !important; }
.eyebrow,
.single-section h2,
.release-kicker { font-size: 12px !important; }
.release-card-meta { font-size: 12px !important; }
.single-description,
.release-description { font-size: 16px !important; }
.single-meta,
.release-meta-row { font-size: 13px !important; }
.lyrics,
.credits { font-size: 15px !important; }
.site-footer { font-size: 12px !important; }

/* The player has two SVGs inside one button; !important on the shared icon rule
   previously forced both SVGs visible. Explicit state selectors must win. */
.hldxj-player-toggle .player-icon-play { display: block !important; }
.hldxj-player-toggle .player-icon-pause { display: none !important; }
.hldxj-player-toggle.is-playing .player-icon-play { display: none !important; }
.hldxj-player-toggle.is-playing .player-icon-pause { display: block !important; }

/* The wrapper remains transparent to the desktop grid, preserving its current layout. */
.hldxj-player-controls { display: contents; }
.hldxj-player-controls .hldxj-player-nav,
.hldxj-player-controls .hldxj-player-toggle { position: relative; z-index: 1; }
.hldxj-player-label { font-size: 10px !important; }
.hldxj-player-title { font-size: 15px !important; line-height: 1.34 !important; font-weight: 700 !important; }
.hldxj-player-release { font-size: 11px !important; line-height: 1.35 !important; }
.hldxj-player-time { font-size: 10px !important; }

@media (max-width: 820px) {
    /* Increase mobile reading sizes while preserving the density of controls. */
    .track-name { font-size: 16px !important; }
    .track-title { font-size: 19px !important; }
    .simple-song-title { font-size: 16px !important; line-height: 1.42 !important; }
    .tag-song-title { font-size: 19px !important; }
    .release-track-title { font-size: 17px !important; }
    .release-card-title { font-size: 16px !important; line-height: 1.4 !important; }
    .search-result-copy h3 { font-size: 16px !important; line-height: 1.42 !important; }
    .track-meta,
    .track-album { font-size: 13px !important; }
    .tag-song-meta,
    .release-track-meta { font-size: 12px !important; line-height: 1.5 !important; }
    .search-result-copy time,
    .search-result-release,
    .simple-song-date { font-size: 12px !important; }
    .search-result-vocal { font-size: 13px !important; }
    .tag-filter { min-height: 34px; font-size: 13px !important; }
    .back-link { font-size: 14px !important; }
    .eyebrow,
    .single-section h2,
    .release-kicker { font-size: 12px !important; }
    .release-card-meta { font-size: 12px !important; }
    .single-description,
    .release-description { font-size: 15px !important; line-height: 1.8 !important; }
    .single-meta,
    .release-meta-row { font-size: 13px !important; }
    .lyrics,
    .credits { font-size: 15px !important; }
    .site-footer { font-size: 12px !important; line-height: 1.7; }

    /* Mobile player: a roomy metadata row, centered transport controls, then progress. */
    .hldxj-player {
        grid-template-columns: 44px minmax(0, 1fr) 30px !important;
        grid-template-rows: auto auto auto !important;
        column-gap: 11px !important;
        row-gap: 8px !important;
        padding: 12px 13px 11px !important;
        width: calc(100vw - 24px) !important;
        max-width: 520px;
        border-radius: 18px;
    }
    .hldxj-player-art-link {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        align-self: center;
        border-radius: 11px !important;
    }
    .hldxj-player-art {
        width: 100% !important;
        height: 100% !important;
        border-radius: inherit;
    }
    .hldxj-player-meta {
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0;
        gap: 3px !important;
        align-self: center;
        overflow: hidden;
    }
    .hldxj-player-label { font-size: 10px !important; line-height: 1.2 !important; }
    .hldxj-player-title-row { min-width: 0; gap: 5px; }
    .hldxj-player-title { font-size: 15px !important; line-height: 1.3 !important; font-weight: 700 !important; }
    .hldxj-player-tag { max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px !important; }
    .hldxj-player-release { display: block; max-width: 100%; font-size: 12px !important; line-height: 1.35 !important; }
    .hldxj-player-release[hidden] { display: none !important; }
    .hldxj-player-close {
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: end;
        align-self: start;
        width: 30px !important;
        height: 30px !important;
        font-size: 20px !important;
    }
    .hldxj-player-controls {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: clamp(28px, 9vw, 42px);
        min-height: 36px;
    }
    .hldxj-player-controls .hldxj-player-nav {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        flex: 0 0 34px;
    }
    .hldxj-player-controls .hldxj-player-toggle {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        flex: 0 0 38px;
    }
    .hldxj-player-controls .hldxj-player-nav .player-icon { width: 21px !important; height: 21px !important; }
    .hldxj-player-controls .hldxj-player-toggle .player-icon { width: 22px !important; height: 22px !important; }
    .hldxj-player-progress-row {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        grid-template-columns: 34px minmax(0, 1fr) 34px !important;
        gap: 8px !important;
        align-items: center;
    }
    .hldxj-player-time { min-width: 34px; font-size: 10px !important; }
}

@media (max-width: 380px) {
    .hldxj-player { column-gap: 9px !important; padding-inline: 11px !important; }
    .hldxj-player-art-link { width: 42px !important; height: 42px !important; min-width: 42px !important; min-height: 42px !important; }
    .hldxj-player-art { width: 100% !important; height: 100% !important; }
    .hldxj-player-meta { gap: 2px !important; }
    .hldxj-player-title { font-size: 14px !important; }
    .hldxj-player-release { font-size: 11.5px !important; }
    .hldxj-player-tag { max-width: 74px; }
    .hldxj-player-controls { gap: 25px; }
}


/* v61 refinements: compact two-row player, retained now-playing shortcut, smoother drawer. */
.hldxj-player{grid-template-columns:46px minmax(0,1fr) auto 28px;grid-template-rows:auto auto;align-items:center;row-gap:8px}
.hldxj-player-art-link{grid-column:1;grid-row:1}
.hldxj-player-meta{grid-column:2;grid-row:1;min-width:0}
.hldxj-player-controls{grid-column:3;grid-row:1;display:flex;align-items:center;gap:8px}
.hldxj-player-close{grid-column:4;grid-row:1}
.hldxj-player-progress-row{grid-column:1 / -1;grid-row:2;width:100%;min-width:0}
.hldxj-player-prev{display:none!important}
.hldxj-player-controls{grid-template-columns:40px 36px;grid-auto-flow:column}
.hldxj-player-next{width:36px!important;height:36px!important;min-width:36px!important}
@media(max-width:820px){
  .site-now-playing-toggle{display:inline-flex!important}
  .site-nav-tools{gap:4px}
  .site-now-playing-toggle{width:34px;height:34px;min-width:34px;flex:0 0 34px;border-radius:var(--ui-radius-control)}
  .hldxj-player{grid-template-columns:44px minmax(0,1fr) auto 24px;column-gap:8px;row-gap:8px}
  .hldxj-player-meta{padding-right:2px}
  .hldxj-player-title-row{min-width:0}
  .hldxj-player-title-link,.hldxj-player-title{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .hldxj-player-controls{gap:4px}
  .hldxj-player-toggle{width:36px!important;height:36px!important;min-width:36px!important}
  .hldxj-player-next{width:32px!important;height:32px!important;min-width:32px!important}
  .hldxj-player-progress-row{gap:8px}
}
/* Keep the drawer motion linear and visible instead of flashing into place. */
.hldxj-site-sidebar{transition:transform .30s linear,visibility .30s linear!important}
.hldxj-sidebar-backdrop{transition:opacity .30s linear!important}
.hldxj-sidebar-link-arrow svg{transition:transform .22s linear}
.hldxj-sidebar-links [aria-expanded="true"] .hldxj-sidebar-link-arrow svg{transform:rotate(90deg)}
.hldxj-sidebar-links a,.hldxj-sidebar-links>button{font-size:15px;}
@media(max-width:820px){.hldxj-sidebar-links a,.hldxj-sidebar-links>button{font-size:16px;min-height:52px}}

.hldxj-sidebar-friend-options a{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--ui-radius-sm);color:var(--text);text-decoration:none}
.hldxj-sidebar-friend-options a:hover{background:var(--surface-hover,rgba(120,125,135,.10))}
.hldxj-sidebar-friend-options .hldxj-sidebar-empty{font-size:13px;color:var(--muted)}


/* ======================================================================
   HLDXJ 雾光 v62 — Sidebar, footer, hero and two-row player corrections
   ====================================================================== */
/* Non-linear drawer entrance: soft ease-out with a tiny opacity ramp. */
.hldxj-site-sidebar {
  visibility:hidden !important;
  opacity:0;
  pointer-events:none;
  transform:translate3d(105%,0,0) !important;
  transition:transform .46s cubic-bezier(.22,1,.36,1), opacity .28s ease, visibility 0s linear .46s !important;
  will-change:transform,opacity;
}
.hldxj-site-sidebar.is-open {
  visibility:visible !important;
  opacity:1;
  pointer-events:auto;
  transform:translate3d(0,0,0) !important;
  transition:transform .46s cubic-bezier(.22,1,.36,1), opacity .28s ease, visibility 0s !important;
}
.hldxj-sidebar-backdrop { opacity:0; transition:opacity .32s ease !important; }
.hldxj-sidebar-backdrop:not([hidden]) { opacity:0; }
.hldxj-sidebar-backdrop.is-visible { opacity:1; }
/* Accordion options now reveal inside a smooth expanding area; the parent drawer grows with them. */
.hldxj-sidebar-language-options {
  display:flex !important;
  flex-wrap:wrap;
  gap:8px;
  max-height:0;
  overflow:hidden;
  padding-block:0 !important;
  margin-block:0 !important;
  opacity:0;
  transform:translateY(-5px);
  transition:max-height .38s cubic-bezier(.22,1,.36,1), padding .32s ease, margin .32s ease, opacity .22s ease, transform .32s cubic-bezier(.22,1,.36,1) !important;
}
.hldxj-sidebar-language-options[hidden] { display:none !important; }
.hldxj-sidebar-language-options.is-expanded {
  max-height:360px;
  padding:6px 10px 12px 52px !important;
  margin:0 0 4px !important;
  opacity:1;
  transform:translateY(0);
}
.hldxj-sidebar-link-arrow svg { transition:transform .34s cubic-bezier(.22,1,.36,1) !important; }
.hldxj-sidebar-links [aria-expanded="true"] .hldxj-sidebar-link-arrow svg { transform:rotate(90deg); }
.hldxj-sidebar-friend-options a { max-width:100%; overflow-wrap:anywhere; }
/* Footer: inset the left module from the divider and give copyright and records their own rhythm. */
@media (min-width:821px) {
  .site-footer-main { padding-right:clamp(18px,2.8vw,36px); }
  .site-footer-main,.site-footer-side { padding-top:13px; padding-bottom:8px; }
}
.site-footer-main,.site-footer-side { gap:10px !important; }
.site-footer-module { min-width:0; }
.site-footer-module-copyright { margin-bottom:2px; }
.site-footer-module-records { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; column-gap:15px; row-gap:5px; }
.site-footer-module-records .site-footer-item { line-height:1.65; }
.site-footer-module-custom,.site-footer-module-wp { line-height:1.7; }
@media (max-width:820px) {
  .site-footer-main { padding-right:0; }
  .site-footer-main,.site-footer-side { padding-top:0; padding-bottom:0; }
  .site-footer-module-records { gap:5px; }
}
/* Carry the cover's blurred ambient color into the space behind the top bar. */
.single-hero::before {
  top:-245px !important;
  height:690px !important;
  left:calc(-1 * max(var(--page-padding), 0px) - 24vw) !important;
  right:calc(-1 * max(var(--page-padding), 0px) - 24vw) !important;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.50) 0%,rgba(0,0,0,.66) 22%,rgba(0,0,0,.30) 58%,transparent 100%) !important;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.50) 0%,rgba(0,0,0,.66) 22%,rgba(0,0,0,.30) 58%,transparent 100%) !important;
}
@media (max-width:820px) {
  .single-hero::before { top:-190px !important; height:600px !important; left:-24vw !important; right:-24vw !important; }
}
/* Reassert exactly two rows on mobile. Older v60 rules used !important and otherwise won. */
.hldxj-player { grid-template-rows:auto auto !important; }
.hldxj-player-controls { display:flex !important; align-items:center; justify-content:flex-end; gap:5px; min-width:0; }
.hldxj-player-prev { display:inline-flex !important; }
.hldxj-player-next { display:inline-flex !important; }
@media (min-width:821px) {
  .hldxj-player { grid-template-columns:46px minmax(0,1fr) auto 28px !important; grid-template-rows:auto auto !important; }
  .hldxj-player-art-link { grid-column:1 !important; grid-row:1 !important; }
  .hldxj-player-meta { grid-column:2 !important; grid-row:1 !important; }
  .hldxj-player-controls { grid-column:3 !important; grid-row:1 !important; }
  .hldxj-player-close { grid-column:4 !important; grid-row:1 !important; }
  .hldxj-player-progress-row { grid-column:1 / -1 !important; grid-row:2 !important; }
  .hldxj-player-controls .hldxj-player-prev { display:inline-flex !important; width:32px !important; min-width:32px !important; height:34px !important; }
  .hldxj-player-controls .hldxj-player-toggle { width:38px !important; min-width:38px !important; height:38px !important; }
  .hldxj-player-controls .hldxj-player-next { width:32px !important; min-width:32px !important; height:34px !important; }
}
@media (max-width:820px) {
  .hldxj-player {
    grid-template-columns:44px minmax(0,1fr) auto 24px !important;
    grid-template-rows:auto auto !important;
    column-gap:7px !important; row-gap:7px !important;
    padding:11px 11px 10px !important;
  }
  .hldxj-player-art-link { grid-column:1 !important; grid-row:1 !important; width:42px !important; height:42px !important; min-width:42px !important; min-height:42px !important; }
  .hldxj-player-meta { grid-column:2 !important; grid-row:1 !important; padding-right:0 !important; gap:2px !important; }
  .hldxj-player-close { grid-column:4 !important; grid-row:1 !important; width:24px !important; min-width:24px !important; height:28px !important; justify-self:end; align-self:start; }
  .hldxj-player-controls { grid-column:3 !important; grid-row:1 !important; display:flex !important; justify-content:flex-end !important; align-items:center !important; gap:2px !important; min-width:0; }
  .hldxj-player-prev { display:none !important; }
  .hldxj-player-controls .hldxj-player-toggle { width:32px !important; min-width:32px !important; height:34px !important; flex:0 0 32px !important; }
  .hldxj-player-controls .hldxj-player-next { width:25px !important; min-width:25px !important; height:30px !important; flex:0 0 25px !important; }
  .hldxj-player-controls .player-icon { width:19px !important; height:19px !important; }
  .hldxj-player-progress-row { grid-column:1 / -1 !important; grid-row:2 !important; display:grid !important; grid-template-columns:34px minmax(0,1fr) 34px !important; gap:8px !important; align-items:center; width:100% !important; }
  .hldxj-player-time { min-width:34px !important; }
}
@media (max-width:380px) {
  .hldxj-player { grid-template-columns:40px minmax(0,1fr) auto 22px !important; column-gap:5px !important; padding-inline:9px !important; }
  .hldxj-player-art-link { width:38px !important; height:38px !important; min-width:38px !important; min-height:38px !important; }
  .hldxj-player-title { font-size:13px !important; }
  .hldxj-player-release { font-size:10.5px !important; }
  .hldxj-player-controls .hldxj-player-toggle { width:29px !important; min-width:29px !important; }
  .hldxj-player-controls .hldxj-player-next { width:23px !important; min-width:23px !important; }
}
@media (prefers-reduced-motion:reduce) {
  .hldxj-site-sidebar,.hldxj-sidebar-backdrop,.hldxj-sidebar-language-options,.hldxj-sidebar-link-arrow svg { transition:none !important; animation:none !important; }
}

/* v63 — genuine height-animated accordion navigation and notice archive */
.hldxj-sidebar-accordion {
  width:100%; height:auto; overflow:hidden;
  transition:height .42s cubic-bezier(.22,1,.36,1) !important;
  will-change:height;
}
.hldxj-sidebar-links .hldxj-sidebar-accordion > button {
  width:100%; min-height:50px; display:grid;
  grid-template-columns:28px minmax(0,1fr) 25px 20px;
  align-items:center; gap:12px; padding:0 12px;
  border:1px solid transparent; border-radius:12px;
  background:transparent; color:var(--text-soft); text-align:left;
  font:inherit; font-size:15px; line-height:1.4; cursor:pointer;
  transition:background .22s cubic-bezier(.22,1,.36,1),border-color .22s cubic-bezier(.22,1,.36,1),color .22s cubic-bezier(.22,1,.36,1);
}
.hldxj-sidebar-links .hldxj-sidebar-accordion > button:hover,
.hldxj-sidebar-links .hldxj-sidebar-accordion > button[aria-expanded="true"] {
  color:var(--text); background:rgba(255,255,255,.42); border-color:rgba(130,135,145,.15);
}
:root[data-theme="dark"] .hldxj-sidebar-links .hldxj-sidebar-accordion > button:hover,
:root[data-theme="dark"] .hldxj-sidebar-links .hldxj-sidebar-accordion > button[aria-expanded="true"] { background:rgba(255,255,255,.075); }
.hldxj-sidebar-links .hldxj-sidebar-accordion > button .hldxj-sidebar-notice-count { grid-column:3; justify-self:center; }
.hldxj-sidebar-notice-count[data-empty="1"] { visibility:hidden; }
.hldxj-sidebar-links .hldxj-sidebar-accordion > button .hldxj-sidebar-link-arrow { grid-column:4; }
.hldxj-sidebar-accordion > .hldxj-sidebar-language-options {
  display:flex !important; flex-wrap:wrap; align-items:center; gap:8px;
  max-height:0; overflow:hidden; opacity:0; transform:translateY(-5px);
  margin:0 !important; padding:0 8px 0 52px !important;
  transition:max-height .42s cubic-bezier(.22,1,.36,1),padding .34s cubic-bezier(.22,1,.36,1),margin .34s cubic-bezier(.22,1,.36,1),opacity .26s ease,transform .34s cubic-bezier(.22,1,.36,1) !important;
}
.hldxj-sidebar-accordion > .hldxj-sidebar-language-options[hidden] { display:none !important; }
.hldxj-sidebar-accordion > .hldxj-sidebar-language-options.is-expanded {
  max-height:1800px; opacity:1; transform:translateY(0);
  margin:0 0 5px !important; padding:7px 8px 13px 52px !important;
}
.hldxj-sidebar-more-notices { display:flex; flex-direction:column; align-items:stretch !important; gap:10px !important; padding-left:12px !important; padding-right:12px !important; }
.hldxj-sidebar-more-notices.is-expanded { padding:8px 12px 14px !important; }
.hldxj-sidebar-mini-notice { min-width:0; padding:11px 12px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.22); }
:root[data-theme="dark"] .hldxj-sidebar-mini-notice { background:rgba(255,255,255,.035); }
.hldxj-sidebar-mini-notice h3 { margin:0 0 5px; color:var(--text); font-size:13px; line-height:1.55; font-weight:650; overflow-wrap:anywhere; }
.hldxj-sidebar-mini-notice p { margin:0; color:var(--text-soft); font-size:12px; line-height:1.75; white-space:normal; overflow-wrap:anywhere; }
.hldxj-notice-expand { display:inline-flex; margin-top:7px; padding:0; border:0; background:transparent; color:var(--muted); font:inherit; font-size:12px; cursor:pointer; }
.hldxj-notice-expand:hover { color:var(--text); }
.hldxj-notice-history-link { display:flex !important; align-items:center; justify-content:space-between; min-height:40px; padding:8px 12px !important; border:1px solid var(--line) !important; border-radius:11px !important; color:var(--text) !important; font-size:12px !important; }
.hldxj-notice-history-link:hover { background:rgba(120,125,135,.08); }
.hldxj-sidebar-notices { padding-top:20px; }
.hldxj-sidebar-section-title { margin-bottom:10px; }
.hldxj-notice-card { padding:13px 14px; }
.hldxj-notice-card h3 { margin:0 0 6px; font-size:14px; line-height:1.55; overflow-wrap:anywhere; }
.hldxj-notice-card p + p { margin-top:4px; }
.hldxj-notice-card [hidden],.hldxj-sidebar-mini-notice [hidden] { display:none !important; }

.hldxj-notice-history-wrap { width:min(1080px, calc(100% - 2 * var(--page-padding, 24px))); margin:0 auto; padding:clamp(28px,5vw,62px) 0 80px; }
.hldxj-notice-history-heading { margin:0 0 clamp(24px,4vw,42px); }
.hldxj-notice-history-back { display:inline-flex; margin:0 0 25px; color:var(--muted); text-decoration:none; font-size:13px; }
.hldxj-notice-history-back:hover { color:var(--text); }
.hldxj-notice-history-eyebrow { margin:0 0 9px; color:var(--muted); font-size:10px; letter-spacing:.18em; }
.hldxj-notice-history-heading h1 { margin:0; font-size:clamp(30px,4.5vw,48px); line-height:1.12; letter-spacing:-.04em; }
.hldxj-notice-history-intro { margin:12px 0 0; color:var(--muted); font-size:14px; line-height:1.8; }
.hldxj-notice-history-list { display:flex; flex-direction:column; gap:17px; }
.hldxj-notice-history-card { display:grid; grid-template-columns:150px minmax(0,1fr); gap:22px; padding:20px; border:1px solid var(--line); border-radius:var(--ui-radius-card,18px); background:var(--surface,rgba(255,255,255,.18)); box-shadow:inset 0 1px 0 rgba(255,255,255,.18); }
.hldxj-notice-history-card:not(:has(.hldxj-notice-history-thumb)) { grid-template-columns:minmax(0,1fr); }
.hldxj-notice-history-thumb { width:150px; aspect-ratio:1; overflow:hidden; border-radius:13px; background:var(--surface-hover,rgba(120,125,135,.08)); }
.hldxj-notice-history-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.hldxj-notice-history-body { min-width:0; align-self:center; }
.hldxj-notice-history-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 15px; margin:0 0 10px; color:var(--muted); font-size:11px; line-height:1.6; }
.hldxj-notice-history-meta time { display:inline-flex; gap:4px; }
.hldxj-notice-history-pin { padding:2px 7px; border:1px solid var(--line); border-radius:var(--ui-radius-pill,999px); color:var(--text-soft); }
.hldxj-notice-history-card h2 { margin:0 0 10px; font-size:clamp(17px,2vw,21px); line-height:1.45; font-weight:650; overflow-wrap:anywhere; }
.hldxj-notice-history-content { color:var(--text-soft); font-size:14px; line-height:1.9; white-space:normal; overflow-wrap:anywhere; }
.hldxj-notice-history-empty { padding:36px 20px; border:1px solid var(--line); border-radius:var(--ui-radius-card,18px); color:var(--muted); text-align:center; }
@media (max-width:640px) {
  .hldxj-notice-history-wrap { width:calc(100% - 32px); padding-top:25px; }
  .hldxj-notice-history-card { grid-template-columns:82px minmax(0,1fr); gap:13px; padding:13px; border-radius:15px; }
  .hldxj-notice-history-thumb { width:82px; border-radius:10px; }
  .hldxj-notice-history-meta { gap:4px 9px; font-size:10px; }
  .hldxj-notice-history-content { font-size:13px; line-height:1.8; }
  .hldxj-notice-history-card:not(:has(.hldxj-notice-history-thumb)) { grid-template-columns:minmax(0,1fr); }
}

/* Album covers use the same extended color wash behind the global header as song detail pages. */
.release-hero::before {
  top:-245px !important; height:690px !important;
  left:calc(-1 * max(var(--page-padding), 0px) - 24vw) !important;
  right:calc(-1 * max(var(--page-padding), 0px) - 24vw) !important;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.50) 0%,rgba(0,0,0,.66) 22%,rgba(0,0,0,.30) 58%,transparent 100%) !important;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.50) 0%,rgba(0,0,0,.66) 22%,rgba(0,0,0,.30) 58%,transparent 100%) !important;
}
@media (max-width:820px) {
  .release-hero::before { top:-190px !important; height:600px !important; left:-24vw !important; right:-24vw !important; }
}
@media (prefers-reduced-motion:reduce) {
  .hldxj-sidebar-accordion,.hldxj-sidebar-accordion > .hldxj-sidebar-language-options { transition:none !important; }
}

/* Notice editor: keep the metadata, pin switch and image picker tidy in wp-admin. */
.hldxj-notice-admin-row { align-items:flex-start; }
.hldxj-notice-admin-fields { gap:13px; }
.hldxj-notice-admin-topline { display:flex; flex-wrap:wrap; align-items:end; gap:14px 24px; }
.hldxj-notice-order-field,.hldxj-notice-pin-field { display:flex !important; flex-direction:column; align-items:flex-start !important; gap:5px !important; }
.hldxj-notice-order-field input { width:130px; }
.hldxj-notice-pin-field { flex-direction:row !important; align-items:center !important; }
.hldxj-notice-field { display:flex !important; flex-direction:column; align-items:stretch !important; gap:5px !important; }
.hldxj-notice-field > span,.hldxj-notice-admin-meta-fields label > span,.hldxj-notice-order-field > span { font-weight:600; }
.hldxj-notice-admin-meta-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.hldxj-notice-admin-meta-fields label { display:flex !important; flex-direction:column; align-items:stretch !important; gap:5px !important; }
.hldxj-notice-admin-image { display:flex; align-items:center; gap:13px; flex-wrap:wrap; padding-top:4px; }
.hldxj-notice-admin-image-preview { width:90px; height:90px; display:grid; place-items:center; overflow:hidden; border:1px dashed #c3c4c7; border-radius:9px; background:#f6f7f7; color:#646970; font-size:12px; }
.hldxj-notice-admin-image-preview img { display:block; width:100%; height:100%; object-fit:cover; }
.hldxj-notice-admin-image-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.hldxj-notice-admin-image-actions .description { flex-basis:100%; }
@media (max-width:820px) {
  .hldxj-notice-admin-meta-fields { grid-template-columns:minmax(0,1fr); }
  .hldxj-notice-admin-row > .button { align-self:flex-start; }
}

/* The notice accordion uses the full inner width; unlike language/friend chips it must not inherit the 52px icon indent. */
.hldxj-sidebar-accordion > .hldxj-sidebar-more-notices { padding:0 12px 0 12px !important; }
.hldxj-sidebar-accordion > .hldxj-sidebar-more-notices.is-expanded { padding:8px 12px 14px !important; }


/* v64 — contained accordion boxes. The header and submenu belong to one visible frame.
   Grid-track interpolation replaces JS-measured pixel heights, avoiding per-click layout thrashing. */
.hldxj-sidebar-accordion {
  display:grid !important;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto 0fr;
  width:100%; min-width:0; height:auto !important; overflow:hidden;
  border:1px solid transparent; border-radius:14px;
  background:transparent;
  transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1),
    border-color .24s cubic-bezier(.22,1,.36,1),
    background-color .24s cubic-bezier(.22,1,.36,1) !important;
}
.hldxj-sidebar-accordion:hover,
.hldxj-sidebar-accordion.is-expanded {
  border-color:rgba(130,135,145,.2);
  background:rgba(255,255,255,.34);
}
:root[data-theme="dark"] .hldxj-sidebar-accordion:hover,
:root[data-theme="dark"] .hldxj-sidebar-accordion.is-expanded {
  border-color:rgba(255,255,255,.11); background:rgba(255,255,255,.055);
}
.hldxj-sidebar-accordion.is-expanded { grid-template-rows:auto 1fr; }
.hldxj-sidebar-links .hldxj-sidebar-accordion > button {
  box-sizing:border-box; width:100%; min-width:0; min-height:50px;
  grid-template-columns:28px minmax(0,1fr) 20px !important;
  border:0 !important; border-radius:12px !important;
  background:transparent !important; box-shadow:none !important;
  transition:color .22s cubic-bezier(.22,1,.36,1) !important;
}
.hldxj-sidebar-links .hldxj-sidebar-accordion > button[data-sidebar-notices] {
  grid-template-columns:28px minmax(0,1fr) 25px 20px !important;
}
.hldxj-sidebar-links .hldxj-sidebar-accordion > button:not([data-sidebar-notices]) .hldxj-sidebar-link-arrow { grid-column:3 !important; }
.hldxj-sidebar-links .hldxj-sidebar-accordion > button[data-sidebar-notices] .hldxj-sidebar-link-arrow { grid-column:4 !important; }
.hldxj-sidebar-links .hldxj-sidebar-accordion > button:hover,
.hldxj-sidebar-links .hldxj-sidebar-accordion > button[aria-expanded="true"] {
  color:var(--text); border-color:transparent !important; background:transparent !important;
}
.hldxj-sidebar-accordion > .hldxj-sidebar-language-options {
  box-sizing:border-box; display:flex !important; flex-wrap:wrap; align-items:center; align-self:stretch;
  min-height:0; min-width:0; max-height:none !important; overflow:hidden !important;
  gap:8px; margin:0 !important; padding:0 10px 0 52px !important;
  opacity:0; transform:translateY(-4px);
  transition:opacity .22s cubic-bezier(.22,1,.36,1),
    transform .30s cubic-bezier(.22,1,.36,1),
    padding .30s cubic-bezier(.22,1,.36,1) !important;
}
.hldxj-sidebar-accordion > .hldxj-sidebar-language-options[hidden] { display:none !important; }
.hldxj-sidebar-accordion > .hldxj-sidebar-language-options.is-expanded {
  max-height:none !important; opacity:1; transform:translateY(0);
  margin:0 0 10px !important; padding:4px 10px 13px 52px !important;
}
.hldxj-sidebar-accordion > .hldxj-sidebar-more-notices {
  display:flex !important; flex-direction:column !important; align-items:stretch !important;
  gap:10px !important; padding:0 12px 0 !important;
}
.hldxj-sidebar-accordion > .hldxj-sidebar-more-notices.is-expanded {
  padding:4px 12px 14px !important;
}
.hldxj-sidebar-accordion > .hldxj-sidebar-friend-options a,
.hldxj-sidebar-accordion > .hldxj-sidebar-language-options button {
  flex:0 0 auto; max-width:100%;
}
.hldxj-sidebar-accordion .hldxj-sidebar-link-arrow svg {
  transition:transform .34s cubic-bezier(.22,1,.36,1) !important;
}
@media (prefers-reduced-motion:reduce) {
  .hldxj-sidebar-accordion,
  .hldxj-sidebar-accordion > .hldxj-sidebar-language-options,
  .hldxj-sidebar-accordion .hldxj-sidebar-link-arrow svg {
    transition:none !important; animation:none !important;
  }
}

/* =========================================================
   v65 — cohesive page transition, playback feedback, cover edge and glyph fixes
   ========================================================= */
@keyframes hldxj-page-enter-v65 {
  from { opacity:0; transform:translateY(8px); }
  to { opacity:1; transform:translateY(0); }
}
.hldxj-page-enter-v65,
.hldxj-page-enter {
  animation:hldxj-page-enter-v65 270ms cubic-bezier(.22,1,.36,1) both;
}

/* Detail art: consistent larger corners; avoid the extra 3D compositor layer
   which can produce thin dark seams along transformed image edges in Chrome. */
.single-cover,
.release-cover {
  border-radius:20px !important;
  overflow:hidden !important;
  isolation:isolate;
}
.single-cover::after,
.release-cover::after { border-radius:inherit !important; }
.single-cover img,
.release-cover img {
  display:block !important;
  border-radius:inherit !important;
  backface-visibility:visible !important;
  -webkit-backface-visibility:visible !important;
  will-change:auto !important;
  transform:none !important;
}
.single-cover:hover img,
.release-cover:hover img { transform:scale(1.018) !important; }
.single-cover:active,
.release-cover:active { border-radius:20px !important; }

/* Natural, non-linear micro-interactions on playback controls. The independent
   `scale` property works alongside legacy transform declarations. */
@keyframes hldxj-control-tap-v65 {
  0% { scale:1; }
  42% { scale:.91; }
  100% { scale:1; }
}
.hldxj-player-nav:active:not(:disabled),
.hldxj-player-toggle:active,
.hldxj-player-close:active,
[data-player-src]:active,
.simple-song-icon:active,
.track-action:active,
.release-track-action:active { scale:.94; transition:scale 190ms cubic-bezier(.22,1,.36,1); }
.hldxj-player-nav,
.hldxj-player-toggle,
.hldxj-player-close,
[data-player-src],
.simple-song-icon,
.track-action,
.release-track-action { transition-timing-function:cubic-bezier(.22,1,.36,1); }

/* Prevent accidental transparent text and inherited outline-only styles without changing the selected font family. */
html body,
html body * {
  -webkit-text-stroke:0 transparent !important;
}
html body :where(h1,h2,h3,h4,h5,h6,p,a,span,strong,em,b,i,small,label,button,li,dt,dd,time,figcaption,summary,div,section,article) {
  -webkit-text-fill-color:currentColor !important;
  text-rendering:auto;
}

@media (prefers-reduced-motion:reduce) {
  .hldxj-page-enter-v65,
  .hldxj-page-enter { animation:none !important; }
  .hldxj-player-nav:active:not(:disabled),
  .hldxj-player-toggle:active,
  .hldxj-player-close:active,
  [data-player-src]:active,
  .simple-song-icon:active,
  .track-action:active,
  .release-track-action:active { scale:1; transition:none !important; }
}


/* =========================================================
   v66 — native shared-cover transitions, filled CJK fallback,
   aligned lyrics/footer, consistent friend chips and dated notices
   ========================================================= */
/* Native View Transitions keep the old and new cover in browser-managed snapshots.
   The browser calculates viewport geometry itself; no manual scroll-coordinate math. */
::view-transition-group(hldxj-shared-song-cover) {
  animation-duration:480ms;
  animation-timing-function:cubic-bezier(.22,1,.36,1);
}
::view-transition-image-pair(hldxj-shared-song-cover) {
  isolation:isolate;
  overflow:hidden;
  border-radius:20px;
}
::view-transition-old(hldxj-shared-song-cover),
::view-transition-new(hldxj-shared-song-cover) {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
  mix-blend-mode:normal;
}
::view-transition-old(root) { animation:hldxj-vt-fade-out 150ms ease both; }
::view-transition-new(root) { animation:hldxj-vt-fade-in 210ms cubic-bezier(.22,1,.36,1) both; }
@keyframes hldxj-vt-fade-out { to { opacity:0; } }
@keyframes hldxj-vt-fade-in { from { opacity:.92; } to { opacity:1; } }

/* Preserve the user-selected custom font for Chinese, Latin text and numerals.
   Explicitly restore a solid glyph fill and remove accidental transparent/stroke styles. */
html body .site .single-title,
html body .site .release-title,
html body .site h1, html body .site h2, html body .site h3,
html body .site .profile-title, html body .site .artist-name,
html body .site .work-title, html body .site .track-title,
html body .site .simple-song-title {
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  -webkit-text-stroke-width:0 !important;
  -webkit-text-stroke-color:currentColor !important;
  text-shadow:none !important;
}

/* Remove template indentation as visual leading newlines, then match title/body spacing. */
.single-editorial-grid .single-editorial-panel h2 { margin-bottom:14px !important; }
.single-editorial-grid .lyrics { margin:0 !important; padding:0 !important; line-height:1.85 !important; white-space:pre-line; }

/* Flex columns stretch to the same footer row height and share one top baseline. */
.site-footer { align-items:stretch !important; }
.site-footer-main,
.site-footer-side {
  align-self:stretch !important;
  justify-content:flex-start !important;
  padding-top:13px !important;
  padding-bottom:8px !important;
}
@media (max-width:820px) {
  .site-footer-main,
  .site-footer-side { padding-top:0 !important; padding-bottom:0 !important; }
}

/* Friend links and language choices share precisely the same chip component. */
.hldxj-sidebar-accordion > .hldxj-sidebar-friend-options > a,
.hldxj-sidebar-accordion > .hldxj-sidebar-language-options > button[data-lang-choice] {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:32px;
  max-width:100%;
  padding:7px 10px !important;
  border:1px solid rgba(130,135,145,.22) !important;
  border-radius:9px !important;
  background:rgba(255,255,255,.32) !important;
  color:var(--text-soft) !important;
  font:inherit !important;
  font-size:11px !important;
  line-height:1.35;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  cursor:pointer;
  transition:background-color .22s cubic-bezier(.22,1,.36,1),border-color .22s cubic-bezier(.22,1,.36,1),color .22s cubic-bezier(.22,1,.36,1) !important;
}
.hldxj-sidebar-accordion > .hldxj-sidebar-friend-options > a:hover,
.hldxj-sidebar-accordion > .hldxj-sidebar-language-options > button[data-lang-choice]:hover {
  border-color:var(--line-strong) !important;
  background:rgba(120,125,135,.12) !important;
  color:var(--text) !important;
}
:root[data-theme="dark"] .hldxj-sidebar-accordion > .hldxj-sidebar-friend-options > a,
:root[data-theme="dark"] .hldxj-sidebar-accordion > .hldxj-sidebar-language-options > button[data-lang-choice] {
  background:rgba(255,255,255,.05) !important;
}

/* Notice cards: title/pin on the left, compact publication date at top-right. */
.hldxj-sidebar-mini-notice-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  margin:0 0 5px;
}
.hldxj-sidebar-mini-notice-title {
  display:flex;
  align-items:flex-start;
  gap:6px;
  min-width:0;
  flex:1 1 auto;
}
.hldxj-sidebar-mini-notice h3,
.hldxj-notice-card h3 {
  min-width:0;
  flex:1 1 auto;
  margin:0 !important;
  color:var(--text);
  font-size:13px;
  line-height:1.55;
  font-weight:650;
  overflow-wrap:anywhere;
}
.hldxj-notice-card h3 { font-size:14px; }
.hldxj-sidebar-mini-notice-date {
  flex:0 0 auto;
  padding-top:1px;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
  letter-spacing:.025em;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.hldxj-notice-pin-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 15px;
  width:15px;
  height:18px;
  margin-top:1px;
  color:var(--text-soft);
}
.hldxj-notice-pin-icon svg { display:block; width:15px; height:15px; fill:currentColor; stroke:currentColor; stroke-width:.45; stroke-linecap:round; stroke-linejoin:round; }
.hldxj-sidebar-mini-notice p { margin:0; }
.hldxj-notice-card p { margin:0; }
.hldxj-notice-card .hldxj-notice-expand,
.hldxj-sidebar-mini-notice .hldxj-notice-expand { margin-top:7px; }
.hldxj-sidebar-accordion > .hldxj-sidebar-more-notices .hldxj-notice-expand {
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--muted) !important;
  font:inherit !important;
  font-size:12px !important;
  line-height:1.5;
}
.hldxj-sidebar-accordion > .hldxj-sidebar-more-notices .hldxj-notice-expand:hover { color:var(--text) !important; }

@media (prefers-reduced-motion:reduce) {
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) { animation:none !important; }
}


/* =========================================================
   v67 — progressive album-art reveal and custom CJK font preservation
   ========================================================= */
.hldxj-art-loading {
  position:relative;
  isolation:isolate;
  background:linear-gradient(115deg,rgba(120,120,120,.08),rgba(120,120,120,.16),rgba(120,120,120,.08));
  overflow:hidden;
}
.hldxj-art-loading > img {
  opacity:.42;
  filter:blur(12px) saturate(.88);
  transform:scale(1.035);
  transition:opacity 520ms cubic-bezier(.22,1,.36,1),filter 680ms cubic-bezier(.22,1,.36,1),transform 680ms cubic-bezier(.22,1,.36,1);
  will-change:opacity,filter,transform;
}
.hldxj-art-loading.hldxj-art-loaded > img {
  opacity:1;
  filter:blur(0) saturate(1);
  transform:scale(1);
}
.hldxj-art-loading::before {
  content:"";
  position:absolute;
  z-index:2;
  inset:-65% auto -65% -70%;
  width:38%;
  pointer-events:none;
  opacity:0;
  transform:rotate(28deg) translateX(-120%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),rgba(255,255,255,.48),rgba(255,255,255,.18),transparent);
}
.hldxj-art-loading.hldxj-art-sweep::before {
  animation:hldxj-art-sweep-v67 850ms cubic-bezier(.22,1,.36,1) 90ms 1 both;
}
@keyframes hldxj-art-sweep-v67 {
  0% { opacity:0; transform:rotate(28deg) translateX(-120%); }
  12% { opacity:.85; }
  82% { opacity:.55; }
  100% { opacity:0; transform:rotate(28deg) translateX(520%); }
}
@media (prefers-reduced-motion:reduce) {
  .hldxj-art-loading > img { opacity:1 !important; filter:none !important; transform:none !important; transition:none !important; }
  .hldxj-art-loading.hldxj-art-sweep::before { animation:none !important; }
}
