/*
Theme Name: HLDXJ
Theme URI: https://hldxj.cn/
Author: HLDXJ
Description: HLDXJ Independent Musician Website
Version: 1.9
*/

: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-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-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-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-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-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-date { display:block; margin-top:6px; color:var(--muted); font-size:11px; }
.simple-song-share { width:30px; height:30px; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--muted); cursor:pointer; transition:transform .18s var(--ease),color .18s ease,border-color .18s ease,background-color .18s ease; }
.simple-song-share:hover { color:var(--text); border-color:var(--line-strong); background:var(--surface-hover); transform:translateY(-1px); }

.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: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; }
  .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-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-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-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 ===== */
.site-nav-more{display:none !important;}
.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);}}
@media (min-width:821px){.site-nav-more{display:none !important;} }


/* 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;}
}
