/* ===== 基础 ===== */
body {
    background-color: #0A0A0A;
    color: #fff;
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    overflow-x: hidden;
}
[v-cloak] { display: none; }

.carbon-glass {
    background: rgba(20, 20, 20, .85);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(217, 4, 41, .3);
    box-shadow: 0 15px 35px rgba(0, 0, 0, .6);
}

/* ===== 品牌书法字样式 ===== */
.brand-dragon {
    font-family: 'Ma Shan Zheng', 'STKaiti', 'KaiTi', serif;
    font-size: clamp(1.25rem, 5vw, 1.75rem);
    line-height: 1;
    letter-spacing: .04em;
    background: linear-gradient(180deg, #FFF3C4 0%, #FFD700 45%, #C8961E 75%, #8A5A12 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 2px 0 rgba(0, 0, 0, .55)) drop-shadow(0 0 10px rgba(217, 4, 41, .5));
}

/* ===== 设置菜单 ===== */
.menu-item {
    display: flex; align-items: center; gap: .75rem;
    width: 100%; padding: .65rem .75rem; border-radius: .75rem;
    font-size: .875rem; color: #e5e5e5; text-align: left;
    transition: background .2s, color .2s;
}
.menu-item:hover { background: rgba(217, 4, 41, .2); color: #FFD700; }
.menu-item i { width: 1rem; text-align: center; color: #FFD700; }

/* ===== 豪华城市夜景：独立横竖构图，保留窗外灯光细节 ===== */
.scene-bg { position: fixed; inset: 0; z-index: 0; overflow: hidden; background: #081320; pointer-events: none; }
.scene-bg-image { position: absolute; inset: -1%; display: block; width: 102%; height: 102%; transform: translate3d(var(--px,0),var(--py,0),0); transition: transform 1.2s ease-out; animation: scene-fade-in 1.2s ease-out both; }
.scene-bg-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 54% 48%; }
.scene-bg::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 85% 75% at 54% 40%,transparent 28%,#050a1533 100%),linear-gradient(180deg,#06101c22 0%,transparent 25%,transparent 48%,#08090a70 100%); background-color: rgba(5,10,20,var(--dim,0)); }
@keyframes scene-fade-in { from { opacity: 0; } to { opacity: 1; } }
@media(max-width:600px) { .scene-bg-image img { object-position: 50% 48%; } }
@media(prefers-reduced-motion:reduce) { .scene-bg-image { transition: none; animation: none; } }

/* ===== 陪聊窗口 ===== */
.bubble-peer {
    background: #1C1C1C;
    border: 1px solid rgba(217, 4, 41, .25);
    border-radius: 18px 18px 18px 4px;
}
.bubble-user {
    background: linear-gradient(135deg, #D90429, #9b0220);
    border-radius: 18px 18px 4px 18px;
}
.chat-scroll::-webkit-scrollbar { width: 6px; }
.chat-scroll::-webkit-scrollbar-thumb { background: rgba(217, 4, 41, .4); border-radius: 3px; }

.typing-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: #FFD700; display: inline-block;
    animation: typing 1.2s infinite ease-in-out;
}
.typing-dot:nth-child(2) { animation-delay: .15s; }
.typing-dot:nth-child(3) { animation-delay: .3s; }
@keyframes typing {
    0%, 60%, 100% { transform: translateY(0); opacity: .4; }
    30% { transform: translateY(-5px); opacity: 1; }
}

.msg-enter-active { transition: all .25s ease-out; }
.msg-enter-from { opacity: 0; transform: translateY(8px) scale(.98); }
.panel-enter-active, .panel-leave-active { transition: all .25s ease; }
.panel-enter-from, .panel-leave-to { opacity: 0; transform: translateY(16px) scale(.97); }

/* 礼物特效 */
.gift-fx { animation: gift-pop 1.8s ease-out forwards; filter: drop-shadow(0 0 30px rgba(255, 215, 0, .6)); }
.gift-fx-label { animation: gift-fade 1.8s ease-out forwards; }
@keyframes gift-pop {
    0%   { transform: scale(0) rotate(-20deg); opacity: 0; }
    25%  { transform: scale(1.3) rotate(8deg); opacity: 1; }
    40%  { transform: scale(1) rotate(0); }
    80%  { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(-80px) scale(.8); opacity: 0; }
}
@keyframes gift-fade { 0%, 15% { opacity: 0; } 30%, 80% { opacity: 1; } 100% { opacity: 0; } }

/* 赛车首屏与展廊：大幅影像、黑金细节、留白 */
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
.showcase-page { margin: 0; background-color: #08090a; }
.showcase-page>header { padding: 28px clamp(22px,5vw,80px); }
.racing-hero { min-height: calc(100vh - 100px); min-height: calc(100svh - 100px); display: flex; flex-direction: column; justify-content: flex-end; padding: 120px clamp(22px,5vw,80px) 24px; position: relative; isolation: isolate; }
.racing-hero::before { content: ''; position: absolute; z-index: -1; inset: 28% 0 0; background: linear-gradient(0deg,#08090a 0%,#08090a94 18%,transparent 85%); pointer-events: none; }
.hero-content { width: 100%; max-width: 1440px; margin: 0 auto 24px; display: flex; justify-content: space-between; align-items: flex-end; gap: 36px; }
.hero-eyebrow { font-size: 11px; color: #d3bf8f; letter-spacing: .36em; margin: 0 0 20px 5px; }
.hero-wordmark { font-size: clamp(88px,15vw,218px); line-height: .86; font-weight: 800; font-style: italic; letter-spacing: -.065em; margin: 0 0 30px -8px; color: #f7f5ef; text-shadow: 0 6px 50px #0007; }
.hero-wordmark>span { color: #cfb67d; }
.hero-wordmark>.hero-spade { display: inline-block; font-size: 1em; margin-right: .12em; vertical-align: baseline; letter-spacing: 0; font-style: normal; }
.hero-line { font-size: clamp(14px,1.5vw,19px); color: #d1cec6; letter-spacing: .16em; margin-left: 3px; }
.hero-actions { display: flex; flex-direction: column; align-items: center; gap: 24px; padding-bottom: 4px; }
.hero-chat { min-width: 200px; display: flex; align-items: center; justify-content: center; gap: 18px; background: #d2ba83; color: #201b11; border: 1px solid #f2dfb0; border-radius: 4px; padding: 19px 26px; font-size: 14px; font-weight: 650; letter-spacing: .08em; transition: background .2s,transform .2s; }
.hero-chat:hover { background: #eddaad; transform: translateY(-2px); }
.hero-chat>span { margin-left: 12px; font-size: 20px; }
.hero-explore { font-size: 10px; letter-spacing: .2em; color: #aaa9a4; display: flex; align-items: center; gap: 24px; }
.hero-explore>span { color: #d2ba83; font-size: 18px; }
.hero-baseline { border-top: 1px solid #c5af7c33; padding-top: 18px; display: flex; justify-content: space-between; width: 100%; max-width: 1440px; margin: 0 auto; color: #8d8779; font-size: 9px; letter-spacing: .24em; }
.showcase-content { position: relative; z-index: 10; background: linear-gradient(180deg,#080d13f7,#090d12f2 45%,#080a0df7),radial-gradient(ellipse at right,#d5b36b10,transparent); padding: 54px clamp(22px,5vw,80px) 24px; }
.display-section { max-width: 1440px; margin: 0 auto 120px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 42px; }
.section-kicker { color: #bda979; font-size: 10px; letter-spacing: .25em; font-weight: 500; display: inline-flex; align-items: center; gap: 18px; }
.section-index { color: #777267; border-right: 1px solid #a994633b; padding-right: 18px; }
.section-heading h2 { margin: 22px 0 0; font-size: clamp(32px,4vw,54px); letter-spacing: .08em; line-height: 1.2; font-weight: 500; color: #f2eee4; }
.section-heading h2>span { display: block; font-size: 13px; letter-spacing: .12em; color: #8e8b83; font-weight: 400; margin-top: 18px; }
.gallery-controls { display: flex; align-items: center; gap: 12px; padding-bottom: 2px; }
.gallery-controls button { border: 1px solid #bca7744d; border-radius: 50%; width: 52px; height: 52px; font-size: 20px; color: #d6c79f; background: transparent; transition: background .2s,border-color .2s; }
.gallery-controls button:nth-child(2) { border: 0; border-radius: 0; width: 46px; font-size: 11px; letter-spacing: .12em; }
.gallery-controls button:hover { background: #c8ac6a12; border-color: #d3bb80; }
.gallery-controls button:disabled { opacity: .25; cursor: default; }
.gallery-track { position: relative; display: flex; gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #6b5a37 #141413; padding-bottom: 26px; }
.gallery-track:empty,.people-grid:empty { display: none; }
.gallery-card { flex: 0 0 42%; min-width: 0; position: relative; aspect-ratio: 16/10; overflow: hidden; border-radius: 6px; text-align: left; scroll-snap-align: start; background: #171819; border: 1px solid #ffffff0d; }
.gallery-card:only-child { flex-basis: 100%; max-height: 700px; }
.gallery-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.gallery-card:hover img { transform: scale(1.035); }
.gallery-card .card-copy { position: absolute; inset: auto 0 0; padding: 80px 38px 34px; background: linear-gradient(transparent,#000b); }
.card-number { position: absolute; top: 24px; left: 26px; color: #fff9; font-size: 12px; letter-spacing: .14em; text-shadow: 0 1px 12px #000; }
.card-copy h3 { font-size: 26px; font-weight: 500; margin: 0 0 12px; color: #f2eee5; letter-spacing: .05em; overflow-wrap: anywhere; }
.card-copy p { color: #99988f; font-size: 14px; line-height: 1.9; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.gallery-card .card-copy p { color: #ddd7ca; -webkit-line-clamp: 1; }
.section-empty { padding: 70px 38px; color: #b5ab95; border: 1px solid #c5aa6830; border-radius: 6px; font-size: 14px; letter-spacing: .12em; margin: 0; background: linear-gradient(120deg,#151410,#0b0c0d); }
#gallery-state { padding: 28px; margin-top: 18px; }
#gallery-state[hidden] { display: none; }
.gallery-caption { margin: 12px 0 0; color: #968b75; font-size: 11px; letter-spacing: .08em; line-height: 1.8; }
.gallery-track { overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.gallery-track:focus-visible,.gallery-card:focus-visible { outline: 2px solid #d5b36b; outline-offset: -3px; }
.join-button { background: linear-gradient(120deg,#ecd7a3,#c5a56b); color: #281e0c; border: 1px solid #efdcb4; border-radius: 4px; padding: 17px 25px; font-size: 13px; font-weight: 600; letter-spacing: .07em; white-space: nowrap; cursor: pointer; }
.join-button:hover { filter: brightness(1.08); }
.join-button:disabled { opacity: .45; cursor: wait; }
#open-application { display: inline-flex; gap: 30px; align-items: center; }
#open-application>span { font-size: 20px; }
.people-section { padding-top: 64px; border-top: 1px solid #c3a96e26; }
.people-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 38px 28px; }
.person-card { position: relative; min-width: 0; overflow: hidden; text-align: left; background: transparent; border: 0; transition: transform .3s; }
.person-card:hover { transform: translateY(-5px); }
.person-card img { display: block; width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: 5px; background: #171819; }
.person-card .card-copy { padding: 24px 0 6px; border-bottom: 1px solid #c3ad7726; }
.person-card .card-copy h3 { font-size: 23px; }
.card-more { display: flex; justify-content: space-between; width: 100%; color: #c3ad78; font-size: 10px; letter-spacing: .12em; margin: 22px 0 18px; }
.join-note { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 36px; margin-top: 42px; color: #878276; font-size: 11px; letter-spacing: .1em; line-height: 1.9; }
.join-signature { color: #b6a889; font-size: 22px; letter-spacing: .1em; font-family: 'Ma Shan Zheng','STKaiti',serif; }
.site-footer { position: relative; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #070809; border-top: 1px solid #b29c6526; padding: 34px clamp(22px,5vw,80px); }
.footer-brand { font-size: 13px; color: #d3bd89; letter-spacing: .12em; }.footer-brand span { color: #e2ded3; font-weight: 700; margin-left: 18px; }.site-footer p,.site-footer small { color: #6e6b62; font-size: 10px; letter-spacing: .1em; }
.showcase-dialog { box-sizing: border-box; background: #141416; color: #f4f1ea; border: 1px solid #b39b6b55; border-radius: 22px; padding: 32px; width: min(520px,calc(100vw - 28px)); max-height: 90vh; max-height: 90dvh; overflow: auto; margin: auto; }
.showcase-dialog::backdrop { background: #000c; backdrop-filter: blur(10px); }
.showcase-dialog h2 { font-size: 24px; font-weight: 600; margin: 8px 0 0; }
.dialog-subtitle { font-size: 13px; color: #99999f; margin: 10px 0 24px; line-height: 1.8; }
.dialog-close { position: absolute; top: 12px; right: 14px; width: 34px; height: 34px; font-size: 24px; color: #ddd; background: #202022; border-radius: 50%; border: 1px solid #ffffff15; z-index: 1; }
.application-form { display: grid; gap: 18px; }
.application-form label { display: grid; gap: 8px; font-size: 13px; color: #ddd; }
.application-form input:not([type=file]),.application-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #ffffff23; background: #0d0d0f; border-radius: 8px; color: #fff; font-size: 16px; padding: 11px 12px; outline: none; }
.application-form textarea { resize: vertical; }
.application-form :focus-visible { outline: 2px solid #c5a56b; outline-offset: 3px; }
.application-form small { color: #96969c; font-size: 11px; }
.photo-picker { padding: 20px; border: 1px dashed #b39b6b77; border-radius: 12px; text-align: center; justify-items: center; background: #c5a56b06; }
.photo-picker img { max-height: 180px; max-width: 100%; border-radius: 8px; }
.photo-picker input { max-width: 100%; font-size: 12px; }
.form-message { color: #ff9a9a; font-size: 13px; margin: 0; }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.submit-application { width: 100%; padding: 14px; }
.application-success { text-align: center; padding: 38px 0 10px; }
.application-success>span { display: block; font-size: 42px; color: #d7c18d; }
.application-success h3 { font-size: 24px; margin: 14px 0; }.application-success p { color: #aaa; font-size: 14px; line-height: 1.8; margin-bottom: 28px; }
.detail-dialog { padding: 0; }.detail-dialog>img { width: 100%; max-height: 55vh; object-fit: contain; background: #09090a; }.detail-copy { padding: 26px; }.detail-copy p { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; color: #c4c4ca; line-height: 1.9; margin-top: 14px; }
button:focus-visible,a:focus-visible { outline: 2px solid #d7c18d; outline-offset: 4px; }

@media(min-width:1700px) { .gallery-card { flex-basis: 38%; } }
@media(max-width:900px) {
    .hero-content { margin-bottom: 24px; }.hero-wordmark { font-size: clamp(86px,17vw,150px); }.hero-chat { min-width: 160px; padding: 17px 18px; gap: 12px; }
    .showcase-content { padding-top: 44px; }.display-section { margin-bottom: 80px; }.gallery-card { flex-basis: 55%; }.gallery-track { gap: 22px; }.people-grid { gap: 28px 20px; }.person-card .card-copy h3 { font-size: 20px; }.person-card .card-copy p { font-size: 13px; }
}
@media(max-width:600px) {
    html { scroll-padding-top: 20px; }.showcase-page>header { padding: 22px; }.racing-hero { min-height: calc(100vh - 88px); min-height: calc(100svh - 88px); padding: 90px 22px 20px; }
    .hero-content { flex-direction: column; align-items: stretch; gap: 34px; margin-bottom: 20px; }.hero-eyebrow { font-size: 9px; letter-spacing: .28em; margin-bottom: 20px; }.hero-wordmark { font-size: clamp(74px,22vw,126px); margin-left: -4px; margin-bottom: 22px; }.hero-line { font-size: 13px; letter-spacing: .08em; }.hero-actions { flex-direction: row; justify-content: space-between; align-items: center; gap: 16px; padding: 0; }.hero-chat { min-width: 0; padding: 15px 18px; font-size: 12px; gap: 10px; }.hero-chat>span { font-size: 17px; margin-left: 10px; }.hero-explore { font-size: 9px; gap: 12px; }.hero-baseline { font-size: 8px; padding-top: 14px; }
    .showcase-content { padding: 32px 22px 8px; }.display-section { margin-bottom: 70px; }.section-heading { gap: 12px; margin-bottom: 26px; align-items: flex-end; }.section-kicker { font-size: 8px; gap: 10px; letter-spacing: .2em; }.section-index { padding-right: 10px; }.section-heading h2 { font-size: 32px; margin-top: 18px; letter-spacing: .07em; }.section-heading h2>span { font-size: 11px; letter-spacing: .04em; margin-top: 13px; }.gallery-controls { gap: 7px; padding-bottom: 0; }.gallery-controls button { width: 34px; height: 34px; font-size: 16px; }.gallery-controls button:nth-child(2) { width: 28px; font-size: 9px; letter-spacing: 0; }
    .gallery-track { gap: 14px; padding-bottom: 18px; }.gallery-card { flex-basis: 84%; aspect-ratio: 4/5; }.gallery-card:only-child { aspect-ratio: 4/5; }.gallery-card .card-copy { padding: 60px 22px 24px; }.gallery-card .card-copy h3 { font-size: 23px; }.gallery-card .card-copy p { font-size: 12px; }.card-number { top: 18px; left: 20px; font-size: 10px; }
    #gallery-state { padding: 24px; font-size: 12px; line-height: 1.9; letter-spacing: .04em; }.section-empty { padding: 44px 24px; font-size: 12px; line-height: 1.9; }
    .people-section { padding-top: 44px; }.people-section .section-heading { flex-wrap: wrap; row-gap: 22px; }#open-application { padding: 13px 18px; font-size: 11px; gap: 18px; }.people-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 14px; }.person-card img { aspect-ratio: 3/4; }.person-card .card-copy { padding-top: 17px; }.person-card .card-copy h3 { font-size: 18px; margin-bottom: 9px; }.person-card .card-copy p { font-size: 12px; line-height: 1.8; }.person-card .card-number { left: 13px; top: 13px; }.card-more { font-size: 9px; margin: 17px 0 15px; }.join-note { flex-direction: column; align-items: flex-start; gap: 12px; padding-top: 16px; margin-top: 30px; font-size: 10px; }.join-signature { font-size: 21px; }
    .site-footer { flex-wrap: wrap; gap: 18px; padding-top: 30px; padding-bottom: 30px; }.site-footer p { order: 3; flex-basis: 100%; }.footer-brand { font-size: 12px; }.footer-brand span { margin-left: 10px; }
    .showcase-dialog { padding: 26px 20px; }.detail-dialog { padding: 0; }
}
@media(max-width:350px) { .gallery-controls button { width: 29px; height: 30px; }.gallery-controls { gap: 4px; }.hero-chat { padding: 14px; }.hero-explore { gap: 7px; }.section-heading h2 { font-size: 28px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; }.gallery-card img,.person-card,.hero-chat { transition: none; } }

/* 精选竖版照片：使用原图比例，完整保留人物与水面构图。 */
.gallery-track { align-items: center; gap: 16px; }
.gallery-card.gallery-card--portrait { flex: 0 0 clamp(160px,18vw,230px); aspect-ratio: 853/1280; }
.gallery-card--portrait img { object-fit: contain; }
.gallery-card--portrait:hover img { transform: none; }
.gallery-card--portrait .card-copy { padding: 42px 14px 14px; }
.gallery-card--portrait .card-copy h3 { font-size: 18px; margin-bottom: 5px; }
.gallery-card--portrait .card-copy p { font-size: 10px; }
.gallery-card--portrait .card-number { top: 12px; left: 14px; font-size: 10px; }
@media(max-width:600px) {
    .gallery-card.gallery-card--portrait { flex-basis: 46%; }
    .gallery-card--portrait .card-copy h3 { font-size: 16px; }
}

/* 连续滚动时取消吸附，避免每帧被浏览器拉回卡片起点。 */
.gallery-track { scroll-snap-type: none; scroll-behavior: auto; }

/* 相册下方的三大频道 */
.discover-sections { max-width: 1440px; margin: -28px auto 110px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; scroll-margin-top: 32px; }
.channel-card { --channel: #d9bc81; position: relative; min-width: 0; overflow: hidden; padding: 26px; border: 1px solid #d9bc8130; border-radius: 8px; background: radial-gradient(ellipse at 80% 30%,#d9bc8112,transparent 65%),linear-gradient(150deg,#1b1a18,#101112); scroll-margin-top: 28px; transition: border-color .25s,transform .25s; }
.channel-card:hover { border-color: var(--channel); transform: translateY(-4px); }
.channel-games { --channel: #94b9cc; background: radial-gradient(ellipse at 80% 30%,#729eb51c,transparent 65%),linear-gradient(150deg,#151d22,#101112); border-color: #94b9cc30; }
.channel-live { --channel: #cba3b3; background: radial-gradient(ellipse at 80% 30%,#ae74931b,transparent 65%),linear-gradient(150deg,#21171e,#101112); border-color: #cba3b330; }
.channel-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.channel-kicker { color: var(--channel); letter-spacing: .14em; font-size: 9px; }
.channel-status { color: #b5b0a7; font-size: 10px; border: 1px solid #ffffff1c; padding: 5px 9px; border-radius: 20px; white-space: nowrap; }
.channel-art { position: relative; height: 210px; display: flex; align-items: center; justify-content: center; color: var(--channel); isolation: isolate; }
.channel-art svg { width: 100px; height: 100px; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 22px #ffffff12); }
.channel-orbit { position: absolute; width: 176px; height: 176px; border: 1px solid #ffffff0c; border-radius: 50%; transform: rotate(-24deg) scaleY(.78); z-index: -1; }
.channel-orbit::after { content: ''; position: absolute; inset: -20px; border: 1px solid #ffffff06; border-radius: 50%; }
.channel-art>span { position: absolute; bottom: 10px; font-size: 9px; letter-spacing: .38em; opacity: .45; }
.channel-label { margin: 0 0 13px; color: var(--channel); font-size: 11px; letter-spacing: .08em; }
.channel-copy h2 { display: flex; align-items: baseline; gap: 15px; font-size: 34px; letter-spacing: .08em; color: #f3eee3; line-height: 1.3; margin: 0 0 15px; font-weight: 500; }
.channel-copy h2 span { font-size: 11px; font-weight: 400; letter-spacing: .2em; color: var(--channel); }
.channel-copy>p:last-child { color: #a7a4a0; font-size: 12px; line-height: 1.9; margin: 0; min-height: 46px; }
.channel-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid #ffffff0c; margin-top: 27px; padding-top: 21px; }
.channel-bottom>span { font-size: 10px; color: #8e8b85; }
.channel-bottom button { display: flex; gap: 17px; align-items: center; padding: 0; border: 0; background: transparent; color: var(--channel); font-size: 12px; cursor: default; opacity: .8; }
@media(max-width:1000px) { .discover-sections { gap: 14px; }.channel-card { padding: 20px; }.channel-kicker { font-size: 8px; letter-spacing: .06em; }.channel-status { padding: 4px 6px; font-size: 9px; }.channel-art { height: 180px; } }
@media(max-width:760px) { .discover-sections { grid-template-columns: 1fr; margin: 0 auto 70px; gap: 18px; }.channel-card { padding: 24px; }.channel-art { height: 160px; }.channel-art svg { width: 85px; height: 85px; }.channel-orbit { width: 140px; height: 140px; }.channel-copy>p:last-child { min-height: 0; }.channel-kicker { font-size: 10px; letter-spacing: .12em; }.channel-copy h2 { font-size: 32px; } }
@media(prefers-reduced-motion:reduce) { .channel-card { transition: none; }.channel-card:hover { transform: none; } }

/* 页面底部的兰博基尼视频，保留原片完整画幅。 */
.racing-film { position: relative; z-index: 10; padding: 56px clamp(22px,5vw,80px) 64px; background: #080a0d; scroll-margin-top: 24px; }
.film-heading { max-width: 1440px; margin: 0 auto 28px; display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; }
.film-heading h2 { margin: 16px 0 0; font-size: clamp(26px,3vw,40px); font-weight: 400; letter-spacing: .08em; color: #eee5d3; }
.film-heading>span { font-size: 11px; letter-spacing: .1em; color: #998c75; }
.racing-film-player { display: block; width: 100%; max-width: 1440px; margin: auto; aspect-ratio: 864/496; object-fit: contain; background: #050505; border: 1px solid #d5b36b30; border-radius: 8px; }
@media(max-width:600px) { .racing-film { padding: 32px 22px 40px; }.film-heading { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 22px; }.film-heading>span { font-size: 10px; } }

/* 品牌栏：设置入口 + 華人社 + 循环公告 */
.brand-notice-bar { position: relative; display: flex; align-items: center; gap: 8px; width: min(860px,100%); min-width: 0; padding: 6px 16px 6px 7px; border: 1px solid #d5b36b70; border-radius: 30px; background: #0a101cd9; backdrop-filter: blur(12px); color: #e4c878; }
.brand-settings { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; font-size: 21px; cursor: pointer; }
.brand-settings:hover { background: #d5b36b20; }
.notice-brand { flex-shrink: 0; margin: 0; font-size: 15px; font-weight: 600; letter-spacing: .08em; white-space: nowrap; }
.notice-speaker { flex-shrink: 0; font-size: 17px; }
.notice-divider { color: #a28c56; flex-shrink: 0; font-size: 18px; }
.announcement { min-width: 0; flex: 1; overflow: hidden; font-size: 13px; letter-spacing: .06em; line-height: 32px; }
.announcement-track { display: flex; width: max-content; min-width: 200%; animation: announcement-scroll 24s linear infinite; }
.announcement-text { display: block; flex: 1 0 auto; padding-right: 64px; white-space: nowrap; }
.announcement:hover .announcement-track,.announcement:focus .announcement-track { animation-play-state: paused; }
.brand-notice-bar #settingsMenu { left: 0; top: calc(100% + 12px); margin-top: 0; }
@keyframes announcement-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media(max-width:600px) { .brand-notice-bar { gap: 4px; padding-right: 10px; }.brand-settings { flex-basis: 28px; width: 28px; height: 28px; font-size: 18px; }.notice-brand { font-size: 12px; letter-spacing: .02em; }.notice-speaker { font-size: 14px; }.notice-divider { font-size: 14px; }.announcement { font-size: 11px; line-height: 28px; } }
@media(prefers-reduced-motion:reduce) { .announcement { overflow-x: auto; }.announcement-track { animation: none; }.announcement-text[aria-hidden="true"] { display: none; } }

/* 跑车下方电影栏目：桌面每排五栏，默认两排十栏。 */
.movie-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 24px 18px; }
.movie-card { min-width: 0; padding: 0 0 15px; text-align: left; border: 1px solid #bda56a26; border-radius: 6px; overflow: hidden; background: #11151a; color: #eee7d8; cursor: pointer; transition: border-color .2s,transform .2s; }
.movie-card:not(:disabled):hover { transform: translateY(-3px); border-color: #d5b36b; }
.movie-card:disabled { cursor: default; }
.movie-cover { position: relative; aspect-ratio: 16/11; display: grid; place-items: center; background: radial-gradient(ellipse at 70% 25%,#b8944e26,transparent 70%),linear-gradient(145deg,#20252c,#0e1115); border-bottom: 1px solid #ffffff08; }
.movie-card:nth-child(3n+2) .movie-cover { background: radial-gradient(ellipse at 30% 30%,#4c73932b,transparent 70%),#101722; }
.movie-card:nth-child(3n) .movie-cover { background: radial-gradient(ellipse at 70% 60%,#7a516d2c,transparent 70%),#18131a; }
.movie-number { position: absolute; top: 12px; left: 13px; color: #b8a985; font-size: 10px; letter-spacing: .15em; }
.movie-play { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid #d5b36b66; border-radius: 50%; color: #ddc997; font-size: 26px; font-weight: 300; }
.movie-status { position: absolute; bottom: 10px; right: 11px; font-size: 9px; color: #a99b80; letter-spacing: .08em; }
.movie-card h3 { font-size: 14px; margin: 15px 13px 7px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.movie-card>p { color: #92908a; font-size: 10px; line-height: 1.7; margin: 0 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.movie-section-note { font-size: 10px; letter-spacing: .16em; color: #95866b; }
.movie-dialog { width: min(1050px,94vw); max-height: 92svh; padding: 0; overflow-y: auto; border: 1px solid #bca26470; border-radius: 10px; background: #0d1014; color: #eee7d8; }
.movie-dialog::backdrop { background: #000d; backdrop-filter: blur(6px); }
.movie-dialog-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 16px 20px; }
.movie-dialog-heading h2 { font-size: 17px; margin: 0; overflow-wrap: anywhere; }
.movie-dialog-heading button { border: 1px solid #ffffff25; border-radius: 50%; width: 34px; height: 34px; flex-shrink: 0; color: #ddc997; background: transparent; font-size: 24px; cursor: pointer; }
#movie-player { display: block; width: 100%; max-height: 68svh; aspect-ratio: 16/9; background: #000; object-fit: contain; }
#movie-intro { white-space: pre-wrap; overflow-wrap: anywhere; padding: 16px 20px; color: #aaa59b; font-size: 13px; line-height: 1.8; }
#movie-intro:empty { display: none; }
@media(max-width:900px) { .movie-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px 14px; } }
@media(max-width:600px) { .movie-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 12px; }.movie-section-note { display: none; }.movie-card h3 { font-size: 13px; }.movie-play { width: 40px; height: 40px; } }
@media(prefers-reduced-motion:reduce) { .movie-card { transition: none; } }

/* 首页仅展示四个可跳转的频道入口。 */
.discover-sections { grid-template-columns: repeat(4,minmax(0,1fr)); }
a.channel-card { display: block; text-decoration: none; }
.channel-chat { --channel: #d9bc81; }
.channel-enter { color: var(--channel); font-size: 12px; white-space: nowrap; }
.channel-card .channel-top { flex-wrap: wrap; }
.hero-chat { text-decoration: none; }
@media(min-width:1001px) and (max-width:1250px) { .discover-sections .channel-card { padding: 18px; }.channel-bottom { flex-wrap: wrap; }.channel-copy h2 { font-size: 30px; } }
@media(max-width:1000px) { .discover-sections { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .discover-sections { grid-template-columns: 1fr; } }

/* 陪聊、商城、游戏、直播的独立页面。 */
.channel-page { margin: 0; min-height: 100svh; background: radial-gradient(ellipse at 80% 0,#23304366,transparent 55%),#0a0d12; color: #eee7d8; }
.channel-page * { box-sizing: border-box; }
.channel-page a { text-decoration: none; }
.channel-page-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px clamp(20px,5vw,80px); border-bottom: 1px solid #c7af7730; }
.channel-page-brand { color: #dfc78c; font-size: 16px; font-weight: 600; white-space: nowrap; }
.channel-page-brand span { color: #f2ebdd; letter-spacing: .06em; }
.channel-page-header nav { display: flex; align-items: center; gap: 8px; }
.channel-page-header nav a { color: #aba59a; padding: 10px 17px; font-size: 13px; border-radius: 5px; }
.channel-page-header nav a:hover,.channel-page-header nav a[aria-current="page"] { color: #e7d19c; background: #d5b36b16; }
.channel-back { color: #a99a7a; font-size: 12px; white-space: nowrap; }
.channel-page-main { max-width: 1200px; margin: auto; padding: 54px 24px 64px; }
.channel-page-heading { margin-bottom: 32px; }
.channel-page-heading h1 { margin: 16px 0 18px; font-size: clamp(32px,5vw,52px); font-weight: 400; letter-spacing: .12em; }
.channel-page-heading>p:last-child { color: #aaa296; font-size: 13px; letter-spacing: .06em; line-height: 1.9; }
.channel-workspace { min-height: 420px; border: 1px solid #c7ad7130; border-radius: 12px; background: #11151bcc; }
.workspace-bar { padding: 23px 28px; border-bottom: 1px solid #c7ad711c; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.workspace-bar h2 { margin: 0; font-size: 17px; font-weight: 400; }.workspace-bar>span { color: #b49e72; font-size: 11px; }
.channel-empty { min-height: 340px; padding: 40px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.channel-empty-icon { font-size: 48px; color: #d8bd84; }.channel-empty h3 { font-size: 23px; font-weight: 400; margin: 20px 0 14px; }.channel-empty p { color: #9d968a; font-size: 13px; line-height: 1.9; margin: 0; }
.channel-home-link { display: inline-block; margin-top: 27px; padding: 10px 18px; border: 1px solid #d5b36b66; color: #d7be86; font-size: 12px; border-radius: 4px; }
.channel-page-footer { padding: 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 1152px; margin: auto; border-top: 1px solid #c7ad7126; color: #8e8370; font-size: 11px; letter-spacing: .06em; }.channel-page-footer a { color: #baaa88; }
.channel-toast { position: fixed; z-index: 100; bottom: 24px; left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100% - 32px); background: #111e; color: #e0c68b; border: 1px solid #c7ad7166; padding: 12px 18px; border-radius: 8px; font-size: 13px; line-height: 1.8; }
.chat-page #chat-app .chat-widget-panel { position: relative; inset: auto; width: 100%; height: min(680px,78svh); min-height: 460px; border-radius: 14px; border-color: #c7ad7150; background: #10151ae8; }
.chat-lobby-tools { border-top: 1px solid #ffffff12; padding: 16px; background: #080c11aa; }
.chat-tool-buttons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.chat-tool-buttons button { border: 1px solid #d5b36b40; padding: 11px 8px; border-radius: 20px; color: #ddc993; background: #d5b36b0d; font-size: 12px; }.chat-tool-buttons i { margin-right: 6px; }.chat-tool-buttons button:hover { background: #d5b36b22; }
.chat-lobby-tools>p { color: #9b9282; font-size: 11px; line-height: 1.8; margin: 12px 0; }
.chat-lobby-input { display: flex; gap: 10px; }.chat-lobby-input input { flex: 1; min-width: 0; padding: 12px 16px; background: #ffffff05; border: 1px solid #ffffff12; border-radius: 22px; font-size: 12px; color: #aaa; }.chat-lobby-input button { padding: 10px 22px; color: #8f8163; border-radius: 22px; border: 1px solid #d5b36b30; font-size: 12px; }
.channel-service-note { color: #9c9381; font-size: 11px; line-height: 1.9; padding: 18px 0 0; }
@media(max-width:700px) { .channel-page-header { flex-wrap: wrap; padding: 18px 20px; gap: 16px; }.channel-page-header nav { order: 3; width: 100%; justify-content: space-between; gap: 4px; }.channel-page-header nav a { flex: 1; text-align: center; padding: 9px; }.channel-page-main { padding: 32px 18px 42px; }.chat-page #chat-app .chat-widget-panel { min-height: 460px; height: 72svh; }.chat-tool-buttons { gap: 5px; }.chat-tool-buttons button { font-size: 11px; padding: 10px 5px; }.channel-page-brand { font-size: 14px; } }

/* 影视区位于所有首页内容之后、页脚之前。 */
.showcase-page > .movies-section { position: relative; z-index: 10; width: calc(100% - clamp(44px,10vw,160px)); margin: 0 auto 64px; padding-top: 24px; }

.live-video-room { overflow: hidden; min-height: 0; }
.live-video-room .racing-film-player { border: 0; border-radius: 0; }
.live-video-caption { color: #a79b84; font-size: 11px; padding: 16px 24px; margin: 0; line-height: 1.8; }

/* 标题与陪聊入口位于首屏上部，露出跑车。 */
.showcase-page .racing-hero { min-height: 100vh; min-height: 100svh; justify-content: flex-start; padding-top: clamp(70px,14svh,160px); }
.showcase-page .hero-content { position: relative; z-index: 20; align-items: flex-start; margin-bottom: auto; gap: 32px; }
.showcase-page .hero-copy { width: 52%; min-width: 0; }
.showcase-page .hero-wordmark { font-size: clamp(78px,10vw,148px); margin-bottom: 24px; }
.showcase-page .hero-actions { width: min(520px,46%); min-width: 0; align-items: flex-end; gap: 22px; }
.showcase-page .hero-actions .hero-chat { align-self: flex-end; }
@media(max-width:900px) and (min-width:601px) { .showcase-page .hero-content { gap: 22px; }.showcase-page .hero-line { font-size: 12px; letter-spacing: .05em; }.showcase-page .hero-actions { width: 48%; } }
@media(max-width:600px) {
    .showcase-page .racing-hero { padding-top: 38px; }
    .showcase-page .hero-content { gap: 24px; }
    .showcase-page .hero-copy { width: 100%; }
    .showcase-page .hero-wordmark { font-size: clamp(64px,19vw,104px); margin-bottom: 15px; }
    .showcase-page .hero-eyebrow { margin-bottom: 16px; }
    .showcase-page .hero-actions { width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px 12px; }
    .showcase-page .hero-actions .hero-chat { justify-self: start; }
}

/* 華人社广播位于光影相册上方。 */
.gallery-announcement { position: relative; z-index: 30; max-width: 1440px; margin: 0 auto 36px; }
.gallery-announcement .brand-notice-bar { width: 100%; }
@media(max-width:600px) { .gallery-announcement { margin-bottom: 26px; } }

/* 陪聊大厅：左半照片、右半个人介绍与聊天。 */
.chat-page .channel-page-main { max-width: 1440px; }
.chat-split-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; align-items: stretch; }
.chat-photo-column { display: flex; flex-direction: column; min-width: 0; border: 1px solid #c7ad7140; border-radius: 14px; overflow: hidden; background: #10151ae8; padding: 24px; }
.chat-column-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.chat-column-heading p { margin: 0 0 8px; color: #aa9568; font-size: 9px; letter-spacing: .2em; }
.chat-column-heading h2 { font-size: 21px; color: #eee7d8; font-weight: 400; margin: 0; }
.chat-column-heading>span { color: #8e8474; font-size: 11px; }
.chat-profile-select { display: block; color: #a79d8c; font-size: 11px; margin-bottom: 18px; }
.chat-profile-select select { display: block; width: 100%; margin-top: 8px; padding: 10px 12px; border: 1px solid #c7ad7138; border-radius: 6px; background: #090d13; color: #e4d4b1; font-size: 13px; }
.chat-photo-stage { position: relative; flex: 1; min-height: 440px; border: 1px dashed #c7ad7140; border-radius: 9px; background: radial-gradient(ellipse at 50% 30%,#30425244,transparent 70%),#090d12; overflow: hidden; }
.chat-photo-stage>img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
#chat-profile-photo-empty { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; text-align: center; }
#chat-profile-photo-empty>span { font-size: 46px; color: #b39b67; font-weight: 200; }#chat-profile-photo-empty>p { color: #bbad91; font-size: 13px; line-height: 1.9; margin: 18px 0 10px; }#chat-profile-photo-empty>small { color: #7f796e; font-size: 11px; }
.chat-photo-actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; margin-top: 18px; }
.chat-profile-upload { position: relative; display: block; overflow: hidden; border: 1px solid #d5b36b75; background: #d5b36b14; color: #e0c68d; text-align: center; padding: 13px; border-radius: 7px; font-size: 13px; cursor: pointer; }
.chat-profile-upload input { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; }
.chat-profile-upload.disabled { opacity: .45; cursor: default; }.chat-profile-upload input:disabled { cursor: default; }
.chat-photo-actions>small { color: #8e8575; font-size: 10px; text-align: center; }
#chat-profile-login,#chat-profile-new { color: #cdb989; font-size: 12px; text-align: center; padding: 8px; }
.chat-conversation-column { min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.chat-profile-intro { padding: 24px; border: 1px solid #c7ad7140; background: #10151ae8; border-radius: 14px; }
#chat-profile-name { font-size: 20px; color: #ddc894; margin: 12px 0; }#chat-profile-description { color: #b8b0a3; font-size: 13px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
#chat-profile-form label { display: block; color: #b5a789; font-size: 12px; margin-top: 14px; }
#chat-profile-form input,#chat-profile-form textarea { display: block; width: 100%; padding: 10px 12px; margin-top: 8px; border: 1px solid #c7ad7135; border-radius: 6px; background: #090d13; color: #e8dfcc; font-size: 13px; }
.chat-profile-save-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 17px; }.chat-profile-save-row button { padding: 10px 14px; border-radius: 5px; background: #d5bd86; color: #211c12; font-size: 12px; }.chat-profile-save-row span { color: #8d8370; font-size: 10px; }.chat-profile-save-row button:disabled { opacity: .5; }
.chat-profile-status { font-size: 12px; color: #cfb982; line-height: 1.8; margin-top: 12px; }.chat-profile-status:empty { display: none; }.chat-profile-status.error { color: #ed9e9e; }
@media(max-width:850px) { .chat-split-layout { grid-template-columns: 1fr; gap: 20px; }.chat-photo-stage { flex: none; min-height: 0; height: clamp(300px,110vw,520px); }.chat-photo-column,.chat-profile-intro { padding: 20px; } }

/* 一张完整资料卡：照片与介绍连在一起，聊天由卡内按钮打开。 */
.chat-profile-card { border: 1px solid #c7ad7145; border-radius: 15px; background: #10151ae8; }
.chat-profile-card .chat-split-layout { gap: 0; }
.chat-profile-card .chat-photo-column { border: 0; border-right: 1px solid #c7ad712e; border-radius: 0; background: transparent; }
.chat-profile-card .chat-conversation-column { gap: 0; }
.chat-profile-card .chat-profile-intro { display: flex; flex-direction: column; height: 100%; border: 0; border-radius: 0; background: transparent; padding: 30px; }
.chat-profile-card .chat-photo-stage { min-height: 380px; }
.chat-profile-card>.channel-service-note { margin: 0; padding: 16px 24px; border-top: 1px solid #c7ad7126; }
.chat-start-button { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; margin-top: auto; padding: 16px 22px; border: 1px solid #eddbac; border-radius: 7px; background: #d6be87; color: #261e10; font-size: 14px; font-weight: 600; }
.chat-profile-card #chat-profile-display,.chat-profile-card #chat-profile-form { margin-bottom: 32px; }
.chat-start-button span { margin-left: auto; }
.chat-modal { width: min(560px,94vw); max-height: 92svh; padding: 0; border: 1px solid #c7ad7166; border-radius: 14px; background: #0d1219; color: #eee7d8; overflow: hidden; }
.chat-modal::backdrop { background: #000c; backdrop-filter: blur(5px); }
.chat-modal-heading { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid #c7ad7133; }
.chat-modal-heading h2 { font-size: 15px; margin: 0; font-weight: 400; color: #ddc78e; }
.chat-modal-heading button { width: 32px; height: 32px; border: 1px solid #ffffff20; border-radius: 50%; background: transparent; color: #d6bd81; font-size: 23px; }
.chat-page .chat-modal #chat-app .chat-widget-panel { height: min(660px,76svh); min-height: 0; border: 0; border-radius: 0; }
@media(max-width:850px) { .chat-profile-card .chat-photo-column { border-right: 0; border-bottom: 1px solid #c7ad712e; }.chat-profile-card .chat-profile-intro { padding: 24px; }.chat-profile-card .chat-photo-stage { min-height: 0; }.chat-start-button { margin-top: 24px; } }

/* 商城商品卡：图片在上，名称、介绍、价格和客服依次排列。 */
.shop-page .channel-page-main { max-width: 1440px; }
.shop-status { margin: 0; padding: 24px 26px 0; color: #a69b85; font-size: 12px; line-height: 1.8; }
.product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; padding: 26px; }
.product-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid #c7ad712e; border-radius: 9px; background: #0b1017; }
.product-image { aspect-ratio: 1/1; display: grid; place-items: center; overflow: hidden; background: radial-gradient(ellipse at top,#32435455,transparent 80%),#151b24; }
.product-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.product-image>span { color: #a8956c; font-size: 15px; letter-spacing: .15em; border: 1px dashed #c7ad7140; padding: 34px 20px; }
.product-copy { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 20px; }
.product-copy h3 { color: #f0e7d3; font-size: 18px; font-weight: 500; line-height: 1.5; margin: 0 0 12px; overflow-wrap: anywhere; }
.product-intro { color: #a6a099; font-size: 12px; line-height: 1.9; margin: 0 0 20px; white-space: pre-wrap; overflow-wrap: anywhere; }
.product-price { margin: auto 0 18px; color: #e3c483; font-size: 24px; line-height: 1.4; font-weight: 500; overflow-wrap: anywhere; }
.product-contact { display: flex; align-items: center; justify-content: center; width: 100%; color: #241d12; background: #d5bd87; padding: 12px; border: 1px solid #ead7a7; border-radius: 5px; font-size: 13px; line-height: 1.5; cursor: pointer; }
.product-contact:hover { background: #e8d4a4; }
.product-contact:disabled { opacity: .4; cursor: default; }
.product-placeholder .product-price { font-size: 15px; font-weight: 400; }
@media(max-width:1100px) { .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; } }
@media(max-width:800px) { .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 18px; gap: 14px; }.product-copy { padding: 16px; } }
@media(max-width:420px) { .product-grid { grid-template-columns: 1fr; }.product-copy h3 { font-size: 17px; } }

/* 陪聊人物卡：一排两人，照片与视频在上、介绍在下。 */
.companion-directory-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.companion-directory-heading h2 { font-size: 23px; color: #dfcb9c; margin: 0; font-weight: 400; }.companion-directory-heading a { color: #ad9b78; font-size: 12px; }
.companion-status { color: #a99d88; font-size: 13px; padding: 36px 24px; border: 1px dashed #c7ad7140; text-align: center; line-height: 1.9; }
.companion-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.companion-card { min-width: 0; overflow: hidden; border: 1px solid #c7ad7140; border-radius: 13px; background: #11171e; display: flex; flex-direction: column; }
.companion-media { min-width: 0; background: #080b10; }
.companion-media-track { display: flex; width: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }.companion-media-track::-webkit-scrollbar { display: none; }
.companion-media-frame { flex: 0 0 100%; min-width: 0; aspect-ratio: 4/5; scroll-snap-align: start; }
.companion-media-frame img,.companion-media-frame video { display: block; width: 100%; height: 100%; object-fit: contain; background: #080b10; }
.companion-media-empty { min-height: 300px; display: grid; place-items: center; color: #998a6c; font-size: 13px; width: 100%; }
.companion-media-controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 18px; border-top: 1px solid #c7ad7126; }
.companion-media-controls button { color: #dbc18a; background: transparent; border: 1px solid #c7ad7140; border-radius: 50%; width: 30px; height: 30px; }.companion-media-controls button:disabled { opacity: .3; }.companion-media-controls span { color: #a1957c; font-size: 11px; }
.companion-copy { padding: 24px; flex: 1; display: flex; flex-direction: column; }.companion-copy h3 { font-size: 23px; color: #e0cc9c; margin: 0 0 16px; font-weight: 500; }.companion-copy>p { white-space: pre-wrap; overflow-wrap: anywhere; color: #b1aa9e; font-size: 13px; line-height: 1.9; margin: 0 0 25px; }.companion-copy .chat-start-button { margin-top: auto; }
@media(max-width:650px) { .companion-grid { grid-template-columns: 1fr; gap: 22px; }.companion-copy { padding: 21px; }.companion-directory-heading { flex-wrap: wrap; } }
.poker-frame { display: block; width: 100%; min-height: 780px; height: 88svh; border: 0; background: #07110d; }.poker-open { color: #dbc28b; font-size: 12px; }

/* 后台控制的首页模块容器。 */
.home-module-shell:not(.home-module--hero) { position: relative; z-index: 10; background: #080d13f7; padding: 22px clamp(22px,5vw,80px); }
.home-module-shell>.gallery-announcement,.home-module-shell>.display-section,.home-module-shell>.discover-sections,.home-module-shell>.custom-home-module { width: 100%; max-width: 1440px; margin-left: auto; margin-right: auto; }
.home-module-shell>.display-section { margin-bottom: 42px; }.home-module-shell>.discover-sections { margin-top: 0; margin-bottom: 42px; }
.hero-bottom-links { width: 100%; max-width: 1440px; margin: 16px auto 0; display: flex; align-items: center; gap: 16px; }
.hero-bottom-links a { display: flex; align-items: center; justify-content: center; flex: 1; color: #e5ce96; text-decoration: none; background: #0b101ad9; backdrop-filter: blur(8px); border: 1px solid #d5b36b65; padding: 14px 18px; border-radius: 7px; font-size: 15px; letter-spacing: .06em; }
.hero-bottom-links a:hover { border-color: #e7cb86; background: #292315de; }
.live-video-room .hero-bottom-links { padding: 0 20px; }
.custom-home-module { border: 1px solid #c7ad7140; border-radius: 10px; padding: 32px; background: #121820; }.custom-home-module h2 { color: #dfc78e; font-size: 30px; font-weight: 400; }.custom-home-module p,.channel-custom>p { color: #a99c88; font-size: 13px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.channel-custom h2 { color: #e4d1a3; font-size: 30px; margin-bottom: 15px; }.custom-module-icon { color: #d6bc80; font-size: 62px; padding: 36px 0; }.channel-custom .channel-enter { display: block; margin-top: 28px; }
@media(max-width:600px) { .hero-bottom-links { gap: 10px; }.hero-bottom-links a { padding: 12px 8px; font-size: 12px; letter-spacing: 0; }.home-module-shell:not(.home-module--hero) { padding-top: 16px; padding-bottom: 16px; } }

.cinema-entry-link { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 32px; border: 1px solid #c7ad7155; border-radius: 10px; color: #e3ca92; background: radial-gradient(ellipse at right,#51402455,transparent),#11171f; text-decoration: none; }
.cinema-entry-link>span:first-child { font-size: 24px; }.cinema-entry-link>span:last-child { font-size: 13px; color: #af9e7c; }
.cinema-page .channel-page-main { max-width: 1488px; }.cinema-page .movies-section { margin-bottom: 0; }
@media(max-width:600px) { .cinema-entry-link { flex-direction: column; align-items: flex-start; padding: 24px; }.cinema-entry-link>span:first-child { font-size: 20px; }.channel-page-header nav { flex-wrap: wrap; }.channel-page-header nav a { padding-left: 10px; padding-right: 10px; } }

/* 影院预告：固定标签，公告从右向左循环。 */
.cinema-notice-bar { display: flex; align-items: center; gap: 8px; padding: 18px 22px; color: #ddc58f; background: #d5b36b09; margin-top: 18px; border-top: 1px solid #c7ad7126; }
.cinema-notice-label { flex-shrink: 0; font-size: 13px; white-space: nowrap; }
.cinema-notice-window { min-width: 0; flex: 1; overflow: hidden; line-height: 30px; font-size: 13px; color: #bcb19a; }
.cinema-notice-track { display: flex; width: max-content; min-width: 200%; animation: cinema-notice-scroll 28s linear infinite; }
.cinema-notice-text { display: block; flex: 1 0 auto; white-space: nowrap; padding-right: 64px; }
.cinema-notice-window:hover .cinema-notice-track,.cinema-notice-window:focus .cinema-notice-track { animation-play-state: paused; }
@keyframes cinema-notice-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media(max-width:600px) { .cinema-notice-bar { padding: 12px; gap: 4px; }.cinema-notice-label { font-size: 10px; }.cinema-notice-window { font-size: 11px; } }
@media(prefers-reduced-motion:reduce) { .cinema-notice-window { overflow-x: auto; }.cinema-notice-track { animation: none; }.cinema-notice-text[aria-hidden="true"] { display: none; } }

/* 黑桃以亮金底衬托，完整品牌栏使用深底与金边。 */
.lambo-brand-label { display: inline-flex; width: fit-content; max-width: 100%; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; border: 1px solid #d8b96c; border-radius: 9px; background: #0b1019ed; color: #f0d89e; box-shadow: 0 5px 22px #0006; font-size: 15px; letter-spacing: .07em; line-height: 1.5; }
.lambo-brand-spade { display: inline-grid; flex-shrink: 0; place-items: center; min-width: 32px; height: 32px; padding: 2px; border-radius: 6px; background: linear-gradient(140deg,#fae7b1,#d1ac58); color: #15100a; font-size: 22px; line-height: 1; letter-spacing: 0; }
@media(max-width:600px) { .lambo-brand-label { font-size: 12px; gap: 8px; padding-right: 10px; }.lambo-brand-spade { min-width: 28px; height: 28px; font-size: 20px; } }

/* 直播标题与文案接在華人社品牌栏后面。 */
.live-page .channel-page-main { padding-top: 28px; }
.live-title-bar { justify-content: flex-start; flex-wrap: wrap; gap: 18px; }
.live-channel-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; }
.live-channel-heading h1 { margin: 0; font-size: 21px; font-weight: 500; color: #eddbb6; }
.live-channel-heading p { margin: 0; color: #aa9d84; font-size: 12px; line-height: 1.8; }
@media(max-width:600px) { .live-title-bar { padding: 16px; gap: 12px; }.live-channel-heading { gap: 9px; }.live-channel-heading h1 { font-size: 17px; }.live-channel-heading p { font-size: 11px; } }

.cinema-racing-display { overflow: hidden; }
.cinema-racing-display .racing-film-player { max-width: none; border: 0; border-radius: 0; object-fit: cover; }

.home-racing-display { position: relative; z-index: 1; max-width: 1440px; margin: 32px auto 48px; border: 1px solid #d5b36b65; border-radius: 16px; background: #0b101a; box-shadow: 0 16px 48px #0005; }
.racing-module-heading { padding: 20px; border-bottom: 1px solid #d5b36b30; }
.racing-module-heading h2 { margin: 0; }
.home-racing-display .cinema-notice-bar { margin-top: 0; }
.home-racing-display .hero-bottom-links { position: static; padding: 22px 20px; margin: 0; }
.home-racing-display .hero-bottom-links a { min-width: 0; white-space: nowrap; }
@media(max-width:600px) { .home-racing-display { margin: 20px 12px 32px; }.home-racing-display .hero-bottom-links { padding: 18px 12px; } }
@media(max-width:400px) { .home-racing-display .hero-bottom-links { gap: 6px; padding: 14px 6px; }.home-racing-display .hero-bottom-links a { padding: 12px 3px; font-size: 11px; } }
@media(max-width:600px) { .racing-module-heading { padding: 14px 12px; } }

.racing-module-heading { display: flex; align-items: center; gap: 16px; }
.racing-module-heading .lambo-brand-label { flex-shrink: 0; white-space: nowrap; }
.racing-module-heading .cinema-notice-bar { flex: 1; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.home-racing-display .racing-module-heading { margin: 16px; padding: 12px 14px; border: 1px solid #d8b96c; border-radius: 9px; background: #101722; }
.home-racing-display .racing-module-heading .lambo-brand-label { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.home-racing-display .racing-module-heading .cinema-notice-window { width: 0; }
@media(max-width:600px) {
    .racing-module-heading { gap: 8px; padding: 12px 8px; }
    .racing-module-heading .lambo-brand-label { font-size: 11px; gap: 4px; padding: 5px 7px 5px 4px; letter-spacing: 0; }
    .racing-module-heading .lambo-brand-spade { min-width: 24px; width: 24px; height: 24px; font-size: 18px; }
    .racing-module-heading .cinema-notice-label { font-size: 0; }
    .racing-module-heading .cinema-notice-label::after { content: '📢'; font-size: 12px; }
    .home-racing-display .racing-module-heading { margin: 10px; padding: 10px 8px; }
    .home-racing-display .racing-module-heading .lambo-brand-label { padding: 0; }
}

/* 華人社之星：标题、轮播照片与操作统一放入大模块。 */
.gallery-section { position: relative; box-sizing: border-box; padding: 30px; overflow: hidden; border: 1px solid #d5b36b65; border-radius: 16px; background: linear-gradient(145deg,#151c28f5,#0b101af5); box-shadow: 0 16px 48px #0005; }
.gallery-section .section-heading { align-items: center; flex-wrap: wrap; gap: 20px; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid #d5b36b30; }
.gallery-section .section-title { min-width: 0; }
.gallery-section .section-heading h2 { font-size: clamp(23px,3vw,38px); letter-spacing: .025em; color: #f0d89e; overflow-wrap: anywhere; }
.gallery-section .gallery-track { margin-bottom: 0; }
@media(max-width:600px) { .gallery-section { padding: 20px 14px; border-radius: 12px; }.gallery-section .section-heading { padding-bottom: 18px; margin-bottom: 18px; gap: 16px; }.gallery-section .section-heading h2 { font-size: 23px; line-height: 1.5; }.gallery-section .gallery-controls { margin-left: auto; } }

.gallery-title-actions { display: flex; align-items: center; flex: 1; min-width: 0; gap: 24px; flex-wrap: wrap; }
.gallery-entry-buttons { display: flex; gap: 10px; align-items: center; }
.gallery-entry-buttons a { display: inline-flex; align-items: center; justify-content: center; padding: 12px 16px; color: #f0d89e; border: 1px solid #d5b36b65; border-radius: 8px; background: #0b101ad9; text-decoration: none; white-space: nowrap; font-size: 14px; }
.gallery-entry-buttons a:hover { border-color: #e7cb86; background: #292315; }
.gallery-entry-buttons a[hidden] { display: none; }
.home-module--channels:has(.discover-sections:empty) { display: none; }
.gallery-section .gallery-controls button { width: 34px; font-size: 16px; }
@media(max-width:600px) { .gallery-title-actions { gap: 16px; }.gallery-entry-buttons a { padding: 10px 12px; font-size: 12px; }.gallery-section .gallery-controls { margin-left: 0; } }

.gallery-section .section-heading { display: block; }
.gallery-section .section-heading>.section-kicker { margin-bottom: 18px; }
.gallery-title-actions { flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 24px; }
.gallery-title-actions .section-title { flex: 1; }
.gallery-section .gallery-title-actions h2 { margin: 0; white-space: nowrap; font-size: clamp(22px,2.8vw,38px); }
.gallery-entry-buttons { flex-shrink: 0; gap: 14px; }
.gallery-entry-buttons a { min-width: 130px; min-height: 58px; box-sizing: border-box; padding: 16px 24px; font-size: 20px; font-weight: 600; }
@media(max-width:900px) { .gallery-title-actions { gap: 14px; }.gallery-section .gallery-title-actions h2 { font-size: 22px; }.gallery-entry-buttons { gap: 8px; }.gallery-entry-buttons a { min-width: 96px; min-height: 52px; padding: 12px 16px; font-size: 16px; } }
@media(max-width:600px) { .gallery-title-actions { gap: 8px; }.gallery-section .gallery-title-actions h2 { font-size: clamp(11px,2.7vw,16px); letter-spacing: 0; }.gallery-entry-buttons { gap: 6px; }.gallery-entry-buttons a { min-width: 60px; min-height: 44px; padding: 10px 7px; font-size: 13px; } }

/* 首屏：LAMBO 上移，设置与華人社公告紧接在字标下方。 */
.gallery-section #gallery-title { display: inline-flex; align-items: center; box-sizing: border-box; max-width: 100%; min-height: 58px; padding: 12px 18px; border: 1px solid #d5b36b; border-radius: 10px; background: #f5cf55; color: #241b09; box-shadow: inset 0 1px 0 #fff4bd,0 5px 18px #0004; }
@media(max-width:600px) { .gallery-section #gallery-title { min-height: 44px; padding: 8px 6px; border-radius: 7px; } }
.showcase-page .racing-hero { padding-top: clamp(32px,6svh,72px); }
.showcase-page .hero-content { flex-direction: column; gap: 20px; }
.showcase-page .hero-copy { width: min(100%,860px); }
.showcase-page .hero-actions { width: 100%; align-items: flex-end; }
.hero-announcement-slot { width: 100%; margin: 0 0 22px; position: relative; z-index: 30; }
.hero-announcement-slot .home-module--announcement { padding: 0; background: transparent; }
.hero-announcement-slot .gallery-announcement { margin: 0; }
.hero-announcement-slot .brand-notice-bar { width: 100%; }
@media(max-width:600px) { .showcase-page .racing-hero { padding-top: 24px; }.showcase-page .hero-content { gap: 16px; }.showcase-page .hero-actions { display: flex; flex-direction: row; justify-content: flex-end; }.hero-announcement-slot { margin-bottom: 18px; } }

@media(max-width:600px){.gallery-section #gallery-title{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.4}}

/* 手机首页：相册标题与频道按钮分行，文字保持可读。 */
@media(max-width:600px) {
    .gallery-title-actions { flex-wrap: wrap; gap: 12px; }
    .gallery-title-actions .section-title { flex-basis: 100%; }
    .gallery-section #gallery-title { width: 100%; padding: 10px 12px; font-size: 17px; }
    .gallery-entry-buttons { display: flex; width: 100%; }
    .gallery-entry-buttons a { flex: 1; font-size: 15px; }
}

.gallery-card.gallery-card--portrait:only-child { flex-basis: min(100%,300px); margin-inline: auto; }

/* VIP 会员商城 */
.membership-intro { display: flex; justify-content: space-between; align-items: center; gap: 36px; padding: 34px; margin-bottom: 28px; border: 1px solid #c7ad7140; border-radius: 16px; background: radial-gradient(ellipse at top left,#d5b36b14,transparent 65%),#0b1017; }
.membership-eyebrow { color: #d6bd81; font-size: 11px; letter-spacing: .22em; }
.membership-intro h2 { font-size: clamp(24px,3vw,36px); font-weight: 500; color: #f0e5cf; margin: 16px 0; line-height: 1.45; }
.membership-intro p { color: #a8a194; font-size: 13px; line-height: 1.9; margin: 0; }
.membership-purchase-note { flex: 0 0 270px; padding-left: 28px; border-left: 1px solid #d5b36b30; }
.membership-purchase-note>span { color: #a99d86; font-size: 11px; }.membership-purchase-note strong { display: block; margin: 6px 0 10px; font-size: 28px; color: #ead5a3; }.membership-purchase-note small { font-size: 13px; font-weight: 400; color: #a99d86; }
.membership-catalog { grid-template-columns: repeat(5,minmax(0,1fr)); padding: 24px; gap: 16px; }
.membership-card { --member-accent:#b5c5d0; --member-glow:#83949f12; border-color:color-mix(in srgb,var(--member-accent) 38%,transparent); border-radius: 12px; background: linear-gradient(150deg,var(--member-glow),transparent 70%),#0a0f16; transition: transform .2s,border-color .2s; }
.membership-gold { --member-accent:#eac878; --member-glow:#eac87813; }.membership-platinum { --member-accent:#e2edf2; --member-glow:#e2edf210; }.membership-diamond { --member-accent:#91dfe7; --member-glow:#91dfe712; }.membership-blackgold { --member-accent:#d6b46b; --member-glow:#d6b46b16; }
.membership-card:hover { transform:translateY(-4px); border-color:var(--member-accent); }
.membership-card .membership-image { aspect-ratio: 720/450; padding: 12px 12px 0; background: transparent; }.membership-image img { border-radius: 8px; }
.membership-copy { padding: 20px 16px; }.membership-level { color: var(--member-accent); font-size: 9px; letter-spacing: .22em; margin-bottom: 10px; }.membership-copy h3 { font-size: 20px; margin-bottom: 10px; color: var(--member-accent); }.membership-copy .product-intro { font-size: 12px; }
.membership-price { display: flex; align-items: baseline; gap: 7px; color: var(--member-accent); margin-top: auto; }.membership-price strong { font-size: clamp(30px,3vw,42px); font-weight: 500; letter-spacing: -.04em; }.membership-price span { font-size: 15px; }
.membership-contact { border-color: var(--member-accent); background: transparent; color: var(--member-accent); font-size: 12px; }.membership-contact:hover { background: var(--member-accent); color: #111319; }
@media(max-width:1150px) { .membership-catalog { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:750px) { .membership-intro { align-items:stretch; flex-direction:column; gap:24px; padding:24px; }.membership-purchase-note { flex-basis:auto; padding:20px 0 0; border-left:0; border-top:1px solid #d5b36b30; }.membership-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px; gap:12px; }.membership-copy { padding:16px 12px; }.membership-copy h3 { font-size:18px; } }
@media(max-width:420px) { .membership-catalog { grid-template-columns:1fr; }.membership-card .membership-image { padding:18px 18px 0; }.membership-copy { padding:22px; }.membership-price strong { font-size:42px; } }
@media(prefers-reduced-motion:reduce) { .membership-card { transition:none; }.membership-card:hover { transform:none; } }
