/* record-crate · 唱片箱 —— 方形唱片封套里滑出的黑胶、圆形厂牌标签贯穿全站 */
:root {
    --rc-canvas: #f1f1ef;
    --rc-sleeve: #ffffff;
    --rc-vinyl: #151515;
    --rc-pink: #c81d5e;
    --rc-label: #ff9eb9;
    --rc-ink: #151515;
    --rc-soft: #55534f;
    --rc-line: #dcdbd6;
    --rc-display: "Familjen Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
    --rc-body: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
    --pagination-accent: #c81d5e;
}

body.theme-record { margin: 0; background: var(--rc-canvas); color: var(--rc-ink); font-family: var(--rc-body); font-size: 16px; }
:where(.theme-record) a { color: inherit; text-decoration: none; }
.theme-record :focus-visible { outline: 3px solid var(--rc-pink); outline-offset: 3px; }
.rc-skip { position: absolute; left: -9999px; }
.rc-skip:focus { left: 12px; top: 12px; z-index: 50; padding: 10px 14px; background: var(--rc-sleeve); font-weight: 600; }
.rc-shop:focus { outline: none; }

/* ---------- 母题：黑胶与厂牌标签 ---------- */
.rc-disc, .rc-playing-disc, .rc-notes-disc, .rc-label-disc, .rc-logo-disc { display: grid; place-items: center; border-radius: 50%; aspect-ratio: 1; background: radial-gradient(circle, transparent 0 30%, rgba(255, 255, 255, .07) 30.5% 31%, transparent 31.5% 40%, rgba(255, 255, 255, .06) 40.5% 41%, transparent 41.5% 52%, rgba(255, 255, 255, .07) 52.5% 53%, transparent 53.5% 66%, rgba(255, 255, 255, .06) 66.5% 67%, transparent 67.5%), var(--rc-vinyl); }
.rc-disc > span, .rc-playing-disc > span, .rc-notes-disc > span, .rc-label-disc > span { width: 36%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, var(--rc-vinyl) 0 9%, transparent 10%), var(--rc-hue, var(--rc-label)); }
.rc-hue-0 { --rc-hue: #ff9eb9; }
.rc-hue-1 { --rc-hue: #ffd166; }
.rc-hue-2 { --rc-hue: #8fd3c9; }
.rc-hue-3 { --rc-hue: #b9a6ff; }
.rc-hue-4 { --rc-hue: #ffad7a; }
.rc-record-label { display: inline-block; justify-self: start; padding: 3px 10px; border-radius: 999px; background: var(--rc-ink); color: #fff; font-size: .78rem; font-weight: 600; letter-spacing: .04em; }
.rc-record-date { display: block; font-size: .84rem; color: var(--rc-soft); }

/* ---------- 页眉 ---------- */
.rc-header { background: var(--rc-ink); color: #fff; }
.rc-header-inner { display: flex; align-items: center; gap: 20px; max-width: 1280px; margin: 0 auto; padding: 12px 24px; }
.rc-logo { display: inline-flex; align-items: center; gap: 12px; margin-right: auto; min-width: 0; }
.rc-logo-disc { width: 40px; flex: none; background: radial-gradient(circle, var(--rc-ink) 0 8%, var(--rc-label) 9% 32%, transparent 33%), radial-gradient(circle, transparent 0 60%, rgba(255, 255, 255, .25) 61% 62%, transparent 63%), #2a2a2a; }
.rc-logo-name { font-family: var(--rc-display); font-weight: 700; font-size: 1.55rem; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-nav { display: flex; gap: 6px; }
.rc-nav a { padding: 8px 14px; border-radius: 999px; font-weight: 600; font-size: .95rem; }
.rc-nav a:hover { background: rgba(255, 255, 255, .12); }
.rc-nav a.is-on { background: var(--rc-label); color: var(--rc-ink); }
.rc-menu-toggle { display: none; color: inherit; }

/* ---------- 版心 ---------- */
.rc-shop { min-height: 60vh; padding-bottom: 48px; }
.rc-wrap { max-width: 1280px; margin: 0 auto; padding: 24px 24px 0; }
.rc-crumb { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 0 8px; font-size: .9rem; color: var(--rc-soft); }
.rc-crumb a { color: var(--rc-pink); font-weight: 600; }
.rc-empty { margin: 32px 0; text-align: center; color: var(--rc-soft); }
.rc-pager { margin-top: 32px; }
.rc-bin { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; font-family: var(--rc-display); font-weight: 700; font-size: 1.5rem; }
.rc-bin::after { content: ""; flex: 1; height: 10px; border-radius: 4px; background: repeating-linear-gradient(90deg, var(--rc-line) 0 3px, transparent 3px 7px); }

/* ---------- 首页头条：正在播放 ---------- */
.rc-playing { margin-bottom: 32px; }
.rc-playing-link { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.rc-playing-deck { position: relative; display: block; padding-right: 14%; }
.rc-playing-deck img { position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 12 / 5; object-fit: cover; background: var(--rc-line); box-shadow: 0 10px 24px rgba(21, 21, 21, .18); }
.rc-playing-disc { position: absolute; top: 4%; right: 0; height: 92%; }
.rc-playing-disc > span { width: 34%; }
.rc-playing-text { display: grid; gap: 14px; }
.rc-now { font-size: .86rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--rc-pink); }
.rc-playing-title { font-family: var(--rc-display); font-weight: 700; font-size: clamp(1.7rem, 2.8vw, 2.6rem); line-height: 1.1; letter-spacing: -.01em; }
.rc-playing-link:hover .rc-playing-title { text-decoration: underline; text-decoration-color: var(--rc-pink); text-decoration-thickness: 3px; }
.rc-playing-excerpt { color: var(--rc-soft); line-height: 1.6; }

/* ---------- 封套卡片 ---------- */
.rc-shelf { margin-bottom: 8px; }
.rc-shelf-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.rc-crate-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; }
.rc-record { min-width: 0; }
.rc-record-link { display: grid; gap: 8px; align-content: start; }
.rc-sleeve { position: relative; display: block; padding-right: 16%; }
.rc-sleeve img { position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; background: var(--rc-line); box-shadow: 0 6px 14px rgba(21, 21, 21, .16); }
.rc-disc { position: absolute; top: 5%; right: 0; height: 90%; transition: transform .25s ease; }
.rc-record-link:hover .rc-disc { transform: translateX(-6%) rotate(40deg); }
.rc-record-title { font-family: var(--rc-display); font-weight: 700; font-size: 1.12rem; line-height: 1.25; }
.rc-record-link:hover .rc-record-title { color: var(--rc-pink); }

/* ---------- 分类页：翻唱片箱 ---------- */
.rc-cat-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.rc-flip { min-width: 0; }
.rc-flip-link { display: grid; gap: 12px; align-content: start; height: 100%; padding: 14px; background: var(--rc-sleeve); border-top: 6px solid var(--rc-ink); }
.rc-flip-cover { position: relative; display: block; }
.rc-flip-cover img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; background: var(--rc-line); }
.rc-flip-edge { position: absolute; left: 0; right: 0; bottom: 0; height: 10px; background: var(--rc-hue); }
.rc-flip-text { display: grid; gap: 8px; }
.rc-flip-title { font-family: var(--rc-display); font-weight: 700; font-size: 1.22rem; line-height: 1.22; }
.rc-flip-link:hover .rc-flip-title { color: var(--rc-pink); }
.rc-flip-excerpt { color: var(--rc-soft); font-size: .94rem; line-height: 1.55; }
.rc-cat-list > .rc-ad:not(:has(.ad)) { display: none; }

/* ---------- 厂牌墙 ---------- */
.rc-wall-title { margin: 8px 0 24px; font-family: var(--rc-display); font-weight: 700; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.01em; }
.rc-labels { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 28px; margin: 0; padding: 0; list-style: none; }
.rc-label-link { display: grid; justify-items: center; gap: 10px; text-align: center; }
.rc-label-disc { width: min(180px, 100%); }
.rc-label-disc > span { width: 46%; }
.rc-label-link:hover .rc-label-disc { transform: rotate(30deg); transition: transform .3s ease; }
.rc-label-name { font-family: var(--rc-display); font-weight: 700; font-size: 1.2rem; }
.rc-label-desc { color: var(--rc-soft); font-size: .9rem; line-height: 1.45; }

/* ---------- 广告壳：无广告时塌陷 ---------- */
.rc-ad:has(.ad) { margin: 24px 0; }
.rc-ad:has(.ad) .ad { min-height: 250px; margin: 0 !important; }

/* ---------- 页脚：唱片收尾的导出纹 ---------- */
.rc-footer { background: var(--rc-ink); color: #fff; }
.rc-footer-inner { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 28px; align-items: center; max-width: 1280px; margin: 0 auto; padding: 32px 24px 96px; }
.rc-runout { display: grid; place-items: center; width: 120px; aspect-ratio: 1; border-radius: 50%; background: repeating-radial-gradient(circle, #222 0 3px, #2d2d2d 3px 4px); }
.rc-runout span { width: 30%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, var(--rc-ink) 0 14%, var(--rc-label) 15%); }
.rc-footer-side { margin: 0; font-family: var(--rc-display); font-weight: 700; font-size: 1.4rem; }
.rc-footer-press { margin: 4px 0 12px; color: #c9c7c2; }
.rc-footer-nav { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.rc-footer-nav a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--rc-label); }

/* ---------- 共享页面调色 ---------- */
.theme-record .site-menu, .theme-record .site-search, .theme-record .static-page { --menu-accent: var(--rc-pink); }

/* ---------- 断点 ---------- */
@media (min-width: 1600px) {
    .rc-wrap, .rc-header-inner, .rc-footer-inner { max-width: 1520px; }
    .rc-crate-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 1023px) {
    .rc-playing-link { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .rc-crate-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .rc-cat-list { gap: 16px; }
    .rc-flip-excerpt { display: none; }
}

@media (max-width: 767px) {
    .rc-header-inner { min-height: 56px; padding: 4px 12px; gap: 10px; }
    .rc-logo-disc { width: 32px; }
    .rc-logo-name { font-size: 1.25rem; }
    .rc-menu-toggle { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .12); }
    .rc-wrap { padding: 12px 12px 0; }
    .rc-playing { margin-bottom: 20px; }
    .rc-playing-deck img { aspect-ratio: 16 / 9; }
    .rc-playing-title { font-size: 1.5rem; }
    .rc-playing-excerpt { display: none; }
    .rc-shelf-row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .rc-shelf-row .rc-record-link, .rc-crate-grid .rc-record-link { grid-template-columns: 116px minmax(0, 1fr); gap: 4px 12px; align-items: start; }
    .rc-shelf-row .rc-sleeve, .rc-crate-grid .rc-sleeve { grid-row: span 3; }
    .rc-crate-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .rc-record-title { font-size: 1.05rem; }
    .rc-cat-list { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .rc-flip-link { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 10px; border-top-width: 0; border-left: 6px solid var(--rc-ink); }
    .rc-flip-cover { align-self: start; }
    .rc-flip-cover img { width: 96px; height: 96px; }
    .rc-flip-edge { height: 6px; }
    .rc-flip-title { font-size: 1.05rem; }
    .rc-flip-text { gap: 6px; }
    .rc-labels { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
    .rc-footer-inner { grid-template-columns: 72px minmax(0, 1fr); gap: 16px; padding: 24px 12px 96px; }
    .rc-runout { width: 72px; }
}

/* 移动端：厂牌导航只在 /menu 出现，隐藏规则放在全局规则之后 */
@media (max-width: 767px) {
    .rc-nav { display: none; }
}
