/* ==========================================================================
   皮肤：黑金丝绒 / 蓝色丝绒 / 混搭（2026-10-27）
   线上用混搭 mix：免费作品、付费作品（含作品简介、PayPal 教程、ABO 须知）用蓝色丝绒，
   个人主页、情趣游乐园、实用工具、我的声音（含人设卡、油猴脚本说明、Mac 下载提示）用黑金丝绒。
   哪一页用哪套看那一页的 data-sec。规则全部挂在 html.velvet 下面，原版皮肤一条都不吃；
   板块页的规则用 #folder-modal 抬高优先级，压过 style.css 里情趣游乐园粉紫那一套。
   方案说明见 docs/design/丝绒风方案_20261027/README.md
   ========================================================================== */

/* 思源宋体（Noto Serif SC，OFL 开源字体）只截了站内用到的 1600 多个字，约 730KB；国内不用连 Google */
@font-face {
    font-family: "JY Serif";
    src: url("assets/fonts/jy-serif.woff?v=20261027") format("woff");
    font-weight: 200 900;
    font-display: swap;
    /* 弯引号不用它（思源宋体里是全角宽，英文 Let’s 会被撑开），交给下面西文衬线字体 */
    unicode-range: U+0000-2017, U+201A-201B, U+201E-FFFF;
}

@font-face {
    font-family: "JY Serif";
    src: local("Georgia"), local("Times New Roman"), local("Noto Serif"), local("NotoSerif-Regular");
    font-weight: 200 900; /* 和上面那份写成同一档字重，粗一点的标题里也能用上 */
    unicode-range: U+2018-2019, U+201C-201D;
}

/* --- 两套丝绒共用的字和色 --- */
html.velvet {
    --v-serif: "JY Serif", "Noto Serif SC", "Songti SC", "STSong", serif;
    --v-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
}

/* 黑金丝绒的一套颜色（混搭里四个板块也用它） */
html[data-skin="gold"],
html[data-skin="mix"] {
    --v-bg: #0b0a0d;
    --v-text: #ece6dd;
    --v-body: #bfb8b0;
    --v-muted: #a39d96;
    --v-dim: #8a847e;
    --v-faint: #6f6a66;
    --v-line: rgba(236, 230, 221, 0.2);
    --v-line-soft: rgba(236, 230, 221, 0.1);
    --v-surface: #131116;
    --v-veil: rgba(6, 5, 8, 0.74);
    --v-btn-bg: #ece6dd;
    --v-btn-fg: #0b0a0d;
    --v-ac: #cdb385;
    --v-glow: rgba(205, 179, 133, 0.15);
    /* 吸顶栏：半透明 + 毛玻璃，透出下面的底色，不压成一条死黑 */
    --v-bar: rgba(18, 16, 20, 0.6);
}

/* 黑金：六个板块各一个点缀色，右上角透一点同色光 */
html[data-skin="gold"] [data-sec="free"] { --v-ac: #8fd3f0; --v-glow: rgba(94, 200, 245, 0.16); }
html[data-skin="gold"] [data-sec="paid"] { --v-ac: #cdb385; --v-glow: rgba(205, 179, 133, 0.15); }
html[data-skin="gold"] [data-sec="profile"],
html[data-skin="mix"] [data-sec="profile"] { --v-ac: #a9c0dc; --v-glow: rgba(120, 160, 220, 0.15); }
html[data-skin="gold"] [data-sec="play"],
html[data-skin="mix"] [data-sec="play"] { --v-ac: #d77f93; --v-glow: rgba(146, 38, 70, 0.3); }
html[data-skin="gold"] [data-sec="tools"],
html[data-skin="mix"] [data-sec="tools"] { --v-ac: #9fcdb8; --v-glow: rgba(110, 190, 160, 0.13); }
html[data-skin="gold"] [data-sec="voice"],
html[data-skin="mix"] [data-sec="voice"] { --v-ac: #b9a8e6; --v-glow: rgba(150, 130, 220, 0.15); }

/* 蓝色：音乐播放器（013）同款深蓝，点缀色统一冰蓝（混搭里免费作品、付费作品用它） */
html[data-skin="blue"],
html[data-skin="mix"] [data-sec="free"],
html[data-skin="mix"] [data-sec="paid"] {
    --v-bg: #050b17;
    --v-text: #edf7ff;
    --v-body: #c3d3e2;
    --v-muted: #9fb3c6;
    --v-dim: #7f97ab;
    --v-faint: #5f7689;
    --v-line: rgba(150, 205, 245, 0.2);
    --v-line-soft: rgba(150, 205, 245, 0.1);
    --v-surface: #0b1729;
    --v-veil: rgba(2, 6, 14, 0.76);
    --v-btn-bg: #8bd8ff;
    --v-btn-fg: #04101f;
    --v-ac: #8bd8ff;
    --v-glow: rgba(58, 130, 211, 0.25);
    --v-bar: rgba(12, 30, 56, 0.5);
}

/* ===== 主页：只把大标题和六个卡片标题换成宋体，其余保持深海蓝 ===== */
html.velvet .logo,
html.velvet .hero-title span,
html.velvet .folder-title {
    font-family: var(--v-serif);
}

html.velvet .hero-title span {
    font-weight: 500;
    letter-spacing: 0.06em;
}

html.velvet .folder-title {
    font-weight: 600;
    letter-spacing: 0.04em;
}

/* ===== 全屏板块页底色 ===== */
html.velvet #folder-modal.is-fullscreen-view {
    background-color: var(--v-bg);
}

html[data-skin="gold"] #folder-modal.is-fullscreen-view .modal-backdrop,
html[data-skin="gold"] .guide-page,
html[data-skin="mix"] #folder-modal.is-fullscreen-view:is([data-sec="profile"], [data-sec="play"], [data-sec="tools"], [data-sec="voice"]) .modal-backdrop,
html[data-skin="mix"] .guide-page[data-sec="tools"] {
    background:
        radial-gradient(85% 38% at 92% -4%, var(--v-glow), transparent 70%),
        radial-gradient(120% 50% at 50% -12%, rgba(255, 238, 215, 0.035), transparent 62%),
        var(--v-bg);
}

html[data-skin="blue"] #folder-modal.is-fullscreen-view .modal-backdrop,
html[data-skin="blue"] .guide-page,
html[data-skin="mix"] #folder-modal.is-fullscreen-view:is([data-sec="free"], [data-sec="paid"]) .modal-backdrop,
html[data-skin="mix"] .guide-page[data-sec="paid"] {
    background:
        radial-gradient(circle at 14% 4%, rgba(58, 130, 211, 0.25), transparent 28rem),
        radial-gradient(circle at 86% 12%, rgba(112, 92, 220, 0.18), transparent 30rem),
        radial-gradient(circle at 52% 105%, rgba(34, 118, 165, 0.14), transparent 34rem),
        linear-gradient(145deg, #02050f 0%, #071526 54%, #030713 100%);
}

/* 宽屏也只排一栏，居中 */
html.velvet #folder-modal.is-fullscreen-view .modal-dialog {
    padding-left: 22px;
    padding-right: 22px;
}

html.velvet #folder-modal.is-fullscreen-view .modal-header,
html.velvet #folder-modal.is-fullscreen-view .modal-link-grid,
html.velvet #folder-modal .v-pagehead {
    width: min(100%, 720px);
    margin-left: auto;
    margin-right: auto;
}

/* ===== 吸顶栏：返回 / 板块名 / 右侧动作 ===== */
html.velvet #folder-modal.is-fullscreen-view .modal-header {
    margin-bottom: 0;
    border-bottom: 1px solid transparent;
    background: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transition: none;
}

/* 吸顶底色是一整条铺满屏宽的底板，滑上去时整条一起淡入（原来先冒出中间一块再补两边，董事长嫌不丝滑） */
html.velvet #folder-modal.is-fullscreen-view .modal-header::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: -1;
    width: 100vw;
    transform: translateX(-50%);
    background: var(--v-bar);
    -webkit-backdrop-filter: blur(16px) saturate(1.3);
    backdrop-filter: blur(16px) saturate(1.3);
    border-bottom: 1px solid var(--v-line-soft);
    opacity: 0;
    transition: opacity 0.28s ease;
    pointer-events: none;
}

html.velvet #folder-modal.is-fullscreen-view.is-stuck .modal-header::before,
html.velvet #folder-modal.is-persona .modal-header::before {
    opacity: 1;
}

html.velvet #folder-modal .fullscreen-back-btn {
    gap: 7px;
    padding-left: 0;
    color: var(--v-muted);
    font-size: 13px;
    letter-spacing: 0.12em;
}

html.velvet #folder-modal .fullscreen-back-btn svg {
    display: none;
}

html.velvet #folder-modal .fullscreen-back-btn::before,
html.velvet .guide-page-back::before {
    content: "";
    width: 7px;
    height: 7px;
    margin: 0 1px 0 3px;
    border-left: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
}

html.velvet #folder-modal .modal-title {
    font-family: var(--v-serif);
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--v-text);
    text-shadow: none;
}

/* 板块页的名字在下面大标题里，吸顶栏的小标题等滑上去以后再出现 */
html.velvet #folder-modal.has-v-head .modal-header > div {
    opacity: 0;
    transition: opacity 0.2s ease;
}

html.velvet #folder-modal.has-v-head.v-head-gone .modal-header > div {
    opacity: 1;
}

html.velvet #folder-modal .fullscreen-top-action {
    color: var(--v-ac);
    font-size: 13px;
    letter-spacing: 0.08em;
}

/* 「去试听」后面用细线耳机（董事长 2026-10-27 从六种里选的） */
html.velvet #folder-modal .fullscreen-top-action::after {
    content: "";
    width: 15px;
    height: 15px;
    margin-left: 6px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2016v-4a8%208%200%200%201%2016%200v4%27/%3E%3Cpath%20d%3D%27M4%2015.5h3v5H5.5A1.5%201.5%200%200%201%204%2019z%27/%3E%3Cpath%20d%3D%27M20%2015.5h-3v5h1.5a1.5%201.5%200%200%200%201.5-1.5z%27/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2016v-4a8%208%200%200%201%2016%200v4%27/%3E%3Cpath%20d%3D%27M4%2015.5h3v5H5.5A1.5%201.5%200%200%201%204%2019z%27/%3E%3Cpath%20d%3D%27M20%2015.5h-3v5h1.5a1.5%201.5%200%200%200%201.5-1.5z%27/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ===== 页头：N°04 — SPICY PLAYGROUND + 宋体大标题 ===== */
.v-pagehead,
.v-guide-head,
.v-meta,
.v-card-eyebrow {
    display: none;
}

html.velvet #folder-modal.has-v-head .v-pagehead {
    display: block;
    padding: 14px 0 16px;
    border-bottom: 1px solid var(--v-line);
}

html.velvet .v-eyebrow,
html.velvet .v-card-eyebrow {
    display: block;
    font-size: 10.5px;
    letter-spacing: 0.3em;
    color: var(--v-ac);
}

html.velvet .v-title {
    margin-top: 10px;
    font-family: var(--v-serif);
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.25;
    color: var(--v-text);
}

/* ===== 板块页每一项：不套卡片，只用加深的分隔线分开（董事长定：不要线头点缀色短线） ===== */
html.velvet #folder-modal.is-folder-fullscreen .modal-link-grid {
    display: block;
}

html.velvet #folder-modal .modal-link-card {
    position: relative;
    display: flow-root;
    height: auto;
    padding: 20px 0 18px;
    border: 0;
    border-bottom: 1px solid var(--v-line);
    border-radius: 0;
    background: none;
    box-shadow: none;
    transform: none;
}

/* 每项上面原来有「01 推荐入口」一行小字，董事长觉得去掉更精致（2026-10-27），v-meta 保持隐藏 */
html.velvet #folder-modal .modal-link-head {
    margin: 0 0 6px;
}

html.velvet #folder-modal .link-tag {
    display: none;
}

html.velvet #folder-modal .modal-link-card h3 {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 8px;
    row-gap: 2px;
    font-family: var(--v-serif);
    font-size: 19.5px;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.35;
    color: var(--v-text);
}

html.velvet .t-x {
    display: none;
}

html.velvet #folder-modal .modal-link-card h3 .t-sub {
    font-family: var(--v-sans);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.03em;
    color: var(--v-dim);
}

/* 介绍文字铺满整行；按钮统一另起一行靠右（董事长 2026-10-27：不再跟在介绍最后一行后面） */
html.velvet #folder-modal .modal-link-desc {
    display: block;
    margin: 0;
    font-size: 13px;
    line-height: 1.7;
    color: var(--v-muted);
}

/* 按钮离屏幕右边多收 8px，手指好点（董事长 2026-10-27：太靠右） */
html.velvet #folder-modal .modal-link-actions {
    float: none;
    width: auto;
    max-width: calc(100% - 8px);
    margin: 10px 8px 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    column-gap: 22px;
    row-gap: 12px;
    line-height: 1.7;
}

/* 文字链接式按钮：点缀色 + 一条连着字和箭头的细线（用底边框画，不会在箭头前断开） */
html.velvet #folder-modal .modal-link-actions .link-btn,
html.velvet #folder-modal .paid-work-body .abo-guide-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0 0 2px;
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--v-ac) 45%, transparent);
    border-radius: 0;
    background: none;
    box-shadow: none;
    transform: none;
    color: var(--v-ac);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.5;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

html.velvet #folder-modal .modal-link-actions .link-btn::after {
    content: "→";
    margin-left: 5px;
    font-size: 12px;
}

/* 看不见的放大点击区：字小也好点 */
html.velvet #folder-modal .modal-link-actions .link-btn::before {
    content: "";
    position: absolute;
    inset: -10px -8px;
}

/* 悬停变色只给有鼠标的电脑；手机上手指按着按钮往上滑不会把它点亮 */
html.velvet #folder-modal .modal-link-actions .link-btn:hover {
    background: none;
    box-shadow: none;
    transform: none;
}

@media (hover: hover) {
    html.velvet #folder-modal .modal-link-actions .link-btn:hover {
        color: var(--v-text);
    }
}

html.velvet #folder-modal .modal-link-card,
html.velvet #folder-modal .paid-work-summary,
html.velvet #folder-modal .paid-work-toggle,
html.velvet #folder-modal .fullscreen-back-btn,
html.velvet #folder-modal .fullscreen-top-action {
    -webkit-tap-highlight-color: transparent;
}

/* 百度地图这种四个按钮的：两两一组，一组一行（打开 + 复制口令），列对齐 */
html.velvet #folder-modal .modal-link-card.is-paired .modal-link-desc {
    display: block;
}

html.velvet #folder-modal .modal-link-card.is-paired .modal-link-actions {
    float: none;
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: end;
    justify-items: end;
    column-gap: 22px;
    row-gap: 12px;
    max-width: none;
    margin: 12px 8px 0 0;
}

html.velvet .v-emoji {
    display: none;
}

html.velvet #folder-modal .modal-link-actions .link-btn-pending {
    color: var(--v-faint);
    border-bottom-color: transparent;
    opacity: 1;
}

html.velvet #folder-modal .modal-link-actions .link-btn-pending::after {
    content: "";
}

/* 主入口（进入播放器 / 前往 Payhip）：单独一行，唯一的实心按钮 */
html.velvet #folder-modal .modal-link-card.is-primary .modal-link-desc {
    display: block;
}

html.velvet #folder-modal .modal-link-card.is-primary .modal-link-actions {
    float: none;
    align-items: center;
    margin: 12px 8px 0 0;
}

html.velvet #folder-modal .modal-link-card.is-primary .link-btn-main {
    padding: 8px 16px;
    border-bottom: 0;
    background: var(--v-btn-bg);
    color: var(--v-btn-fg);
    font-weight: 600;
    letter-spacing: 0.08em;
}

html.velvet #folder-modal .modal-link-card.is-primary .link-btn-main:hover {
    background: var(--v-btn-bg);
    color: var(--v-btn-fg);
}

@media (hover: hover) {
    html.velvet #folder-modal .modal-link-card.is-primary .link-btn-main:hover {
        opacity: 0.88;
    }
}

/* ===== 作品简介与试听 ===== */
html.velvet #folder-modal.is-paid-intro .modal-header {
    border-bottom-color: var(--v-line-soft);
}

/* 一部作品一块：不画边框、不要圆角，每部垫一块很淡的底（条目分隔样稿里的 ③ 淡底块，董事长 2026-10-27 定） */
html.velvet #folder-modal.is-paid-intro .paid-intro-panel {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

html.velvet #folder-modal .paid-work-item {
    position: relative;
    border: 0;
    border-radius: 0;
    background: color-mix(in srgb, var(--v-text) 5%, transparent);
    overflow: hidden;
}

html.velvet #folder-modal .paid-work-item.is-expanded {
    background: color-mix(in srgb, var(--v-text) 7%, transparent);
}

html.velvet #folder-modal .paid-work-summary {
    display: block;
    padding: 14px 16px 12px;
    color: var(--v-text);
}

html.velvet #folder-modal .paid-work-item.is-expanded .paid-work-summary {
    border-bottom: 1px solid var(--v-line-soft);
    margin: 0 16px;
    padding-left: 0;
    padding-right: 0;
}

html.velvet #folder-modal .paid-work-title {
    display: block;
    font-family: var(--v-serif);
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.5;
}

html.velvet .pw-tail {
    white-space: nowrap;
}

html.velvet .pw-id {
    margin-right: 8px;
    font-weight: 400;
    letter-spacing: 0.02em;
    color: var(--v-ac);
}

html.velvet .pw-dash,
html.velvet .pw-x,
html.velvet .pw-warn {
    display: none;
}

html.velvet .pw-sub {
    margin-left: 7px;
    font-family: var(--v-sans);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: var(--v-ac);
}

html.velvet #folder-modal .paid-work-meta {
    align-items: center;
    margin-top: 4px;
}

html.velvet #folder-modal .paid-work-duration {
    color: var(--v-dim);
    font-size: 12.5px;
    line-height: 1.4;
    letter-spacing: 0.06em;
}

html.velvet #folder-modal .paid-work-toggle {
    color: var(--v-body);
    font-size: 12.5px;
    letter-spacing: 0.08em;
}

/* 「查看简介」后面是向下的半箭头，点开后转成向上（原来是 + / −，董事长嫌怪） */
html.velvet #folder-modal .paid-work-toggle {
    display: inline-flex;
    align-items: center;
    padding: 0;
    line-height: 1.4;
}

html.velvet #folder-modal .paid-work-toggle::after,
html.velvet #folder-modal .paid-intro-collapse::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 7px;
    border-right: 1.5px solid var(--v-ac);
    border-bottom: 1.5px solid var(--v-ac);
    transform: translateY(-2px) rotate(45deg);
    transition: transform 0.25s ease;
}

html.velvet #folder-modal .paid-work-item.is-expanded .paid-work-toggle::after,
html.velvet #folder-modal .paid-intro-collapse::after {
    transform: translateY(1px) rotate(-135deg);
}

html.velvet #folder-modal .paid-work-body {
    padding: 14px 16px 12px;
    color: var(--v-body);
    font-size: 13.5px;
    line-height: 1.85;
}

html.velvet #folder-modal .paid-work-body p + p {
    margin-top: 6px;
}

html.velvet #folder-modal .paid-work-body .pw-el {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--v-line-soft);
    font-size: 12.5px;
    line-height: 1.8;
    color: var(--v-dim);
}

html.velvet .pw-el-label {
    margin-right: 4px;
    color: var(--v-body);
}

html.velvet #folder-modal .paid-work-body .abo-guide-link {
    margin: 6px 0 4px;
}

html.velvet #folder-modal .paid-intro-collapse {
    margin: 8px 0 0;
    color: var(--v-dim);
    font-size: 12.5px;
    letter-spacing: 0.08em;
}

/* 「16分钟」数字和单位之间空半格 */
html.velvet .pw-dur-u {
    margin-left: 0.2em;
}

/* ===== 图文教程全屏页 ===== */
html.velvet .guide-page {
    color: var(--v-text);
}

html.velvet .guide-page-head {
    background: var(--v-bar);
    -webkit-backdrop-filter: blur(16px) saturate(1.3);
    backdrop-filter: blur(16px) saturate(1.3);
    border-bottom-color: var(--v-line-soft);
}

html.velvet .guide-page-back {
    gap: 7px;
    color: var(--v-muted);
    font-size: 13px;
    letter-spacing: 0.12em;
}

html.velvet .guide-page-back svg {
    display: none;
}

/* 大标题已在页头里，顶栏只留返回 */
html.velvet .guide-page-title {
    visibility: hidden;
}

html.velvet .guide-page-scroll {
    max-width: 720px;
    padding: 6px 22px calc(40px + env(safe-area-inset-bottom, 0px));
}

html.velvet .v-guide-head {
    display: block;
    padding: 18px 0 16px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--v-line);
}

html.velvet .v-guide-head .v-title {
    font-size: 26px;
    line-height: 1.3;
}

html.velvet .v-guide-head .t-sub {
    display: block;
    margin-top: 6px;
    font-family: var(--v-sans);
    font-size: 12.5px;
    font-weight: 400;
    letter-spacing: 0.12em;
    color: var(--v-dim);
}

html.velvet .guide-page .abo-guide-scroll p {
    font-size: 13.5px;
    line-height: 1.85;
    color: var(--v-body);
}

html.velvet .guide-page .abo-guide-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 10px;
    row-gap: 2px;
    margin: 26px 0 10px !important;
    font-family: var(--v-serif);
    font-size: 18px !important;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.45;
    color: var(--v-text) !important;
}

html.velvet .gh-x {
    display: none;
}

html.velvet .gh-em {
    order: 0;
    font-family: var(--v-sans);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.06em;
    color: var(--v-ac);
}

/* 「1、」「①」统一显示成 01 */
html.velvet .gh-em[data-v] {
    font-size: 0;
}

html.velvet .gh-em[data-v]::before {
    content: attr(data-v);
    font-family: var(--v-serif);
    font-size: 13px;
}

html.velvet .gh-t {
    order: 1;
}

html.velvet .gh-sub {
    order: 2;
    font-family: var(--v-sans);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: var(--v-dim);
}

html.velvet .guide-inline-link {
    color: var(--v-ac);
    font-size: 13.5px;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    text-decoration-color: color-mix(in srgb, var(--v-ac) 42%, transparent);
}

html.velvet .guide-page .abo-guide-scroll img {
    border-color: var(--v-line-soft);
    border-radius: 0;
}

html.velvet .guide-divider {
    border-top-color: var(--v-line);
    margin: 26px 0 0;
}

/* ===== 小弹窗：ABO 听前须知 / Mac 下载提示 ===== */
html.velvet .abo-guide-overlay,
html.velvet .mac-download-confirm-backdrop {
    background: var(--v-veil);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

html.velvet .abo-guide-card,
html.velvet .mac-download-confirm-panel {
    border: 1px solid var(--v-line-soft);
    border-radius: 0;
    background: var(--v-surface);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
}

/* 卡片顶上一道点缀色细光 */
html.velvet .abo-guide-card::before,
html.velvet .mac-download-confirm-panel::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--v-ac), transparent);
    opacity: 0.7;
}

html.velvet .abo-guide-card {
    padding: 20px 6px 18px 20px;
}

html.velvet .abo-guide-card .v-card-eyebrow {
    margin-bottom: 8px;
    font-size: 10px;
}

html.velvet .abo-guide-close {
    color: var(--v-dim);
    font-weight: 200;
}

html.velvet .abo-guide-overlay .abo-guide-scroll p {
    font-size: 13.5px;
    line-height: 1.85;
    color: var(--v-body);
}

html.velvet .abo-guide-overlay .abo-guide-heading {
    margin: 16px 0 6px !important;
    font-family: var(--v-serif);
    font-size: 16px !important;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--v-text) !important;
}

html.velvet .abo-guide-overlay .abo-guide-heading:first-child {
    margin-top: 0 !important;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--v-line-soft);
    font-size: 20px !important;
}

html.velvet .mac-download-confirm-panel {
    padding: 20px 20px 18px;
}

html.velvet .mac-download-confirm-panel .v-card-eyebrow {
    font-size: 10px;
}

html.velvet .mac-download-confirm-panel h3 {
    margin: 7px 0 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--v-line-soft);
    font-family: var(--v-serif);
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--v-text);
}

html.velvet .mac-download-confirm-panel p {
    font-size: 13.5px;
    line-height: 1.85;
    color: var(--v-body);
}

html.velvet .mac-download-confirm-actions {
    align-items: center;
    gap: 22px;
    margin-top: 16px;
}

html.velvet .mac-download-confirm-actions .link-btn {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    transform: none;
    color: var(--v-muted);
    font-size: 13px;
    letter-spacing: 0.08em;
}

html.velvet .mac-download-confirm-actions .mac-download-confirm-primary {
    padding: 10px 16px;
    background: var(--v-btn-bg);
    color: var(--v-btn-fg);
    font-weight: 600;
}

html.velvet .mac-download-confirm-actions .mac-download-confirm-primary::after {
    content: "→";
    margin-left: 7px;
}

/* ===== 复制成功提示：深色小方条 + 点缀色小圆点 ===== */
html.velvet .site-toast {
    display: flex !important;
    align-items: center;
    gap: 10px;
    bottom: 40px !important;
    padding: 12px 18px !important;
    border: 1px solid var(--v-line) !important;
    border-radius: 0 !important;
    background: var(--v-surface) !important;
    color: var(--v-text) !important;
    font-size: 13.5px !important;
    letter-spacing: 0.06em;
    white-space: nowrap;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5) !important;
}

html.velvet .site-toast::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--v-ac);
    box-shadow: 0 0 10px var(--v-ac);
}

/* ===== AI 恋人人设卡（外层顶栏；iframe 里的页面自己换皮肤） ===== */
/* 人设卡外层不留边，左右留白交给 iframe 里的页面；页头和里面内容对齐 */
html.velvet #folder-modal.is-persona .modal-dialog {
    padding-left: 0;
    padding-right: 0;
}

html.velvet #folder-modal.is-persona .v-pagehead {
    width: min(100%, 760px);
    padding: 14px 16px 16px;
}
