/* FOX: warm paper, copper, and editorial typography. Loaded after shared layout styles. */
:root {
  --fox-paper: #f5f1e9;
  --fox-ink: #302c27;
  --fox-copper: #a44325;
  --bg: var(--fox-paper);
  --panel: #fffdf8;
  --panel2: #ede6db;
  --text: var(--fox-ink);
  --muted: #70675c;
  --line: #d8cfc2;
  --brand: var(--fox-copper);
  --brand2: #72351f;
  --gold: #8b4528;
  --ok: #287252;
  --danger: #a12e38;
  --r: 4px;
  --max: 1420px;
}
html { color-scheme: light; }
body { background: var(--fox-paper); color: var(--text); font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif; -webkit-font-smoothing: antialiased; }
::selection { background: #dca78b; color: #231c18; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }
h1, h2, h3, p { overflow-wrap: anywhere; }
.zx-main { padding: 44px 40px 64px; }
.eyebrow { color: var(--brand); font-size: 10px; font-weight: 700; letter-spacing: .15em; line-height: 1.6; }
.page-title, .section-head h2, .auth-card h2 { font-family: Georgia, "Songti SC", SimSun, serif; font-weight: 500; letter-spacing: -.025em; }
.page-title { font-size: clamp(36px, 4.5vw, 62px); line-height: 1.15; }
.section-head h2 { font-size: clamp(30px, 3vw, 42px); margin: 0; }
.section-head { align-items: center; margin-bottom: 24px; }
.muted, .lead { color: var(--muted); }
.lead { font-size: 16px; line-height: 1.9; }
.btn, button { border-radius: 3px; background: var(--brand); box-shadow: none; font-weight: 600; font-size: 13px; min-height: 44px; gap: 18px; transition: background .18s, border-color .18s, color .18s; }
.btn:hover, button:hover { background: #82351e; transform: none; }
.btn.secondary, button.secondary { background: transparent; border-color: var(--line); color: var(--text); }
.btn.secondary:hover, button.secondary:hover { background: #e9e0d3; border-color: #b8a28c; }
.btn.gold, button.gold { background: var(--brand); color: #fff; }
button:disabled { opacity: .48; cursor: not-allowed; }
.fox-text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; padding: 10px 0; font-size: 13px; font-weight: 600; border-bottom: 1px solid #bba995; }
.fox-text-link:hover { color: var(--brand); border-color: var(--brand); }
.zx-top { background: rgba(245,241,233,.97); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.zx-nav { min-height: 94px; height: auto; padding: 18px 40px; gap: 36px; }
.zx-brand { gap: 10px; color: var(--brand); }
.fox-emblem { width: 35px; display: block; flex-shrink: 0; }
.fox-emblem svg { display: block; width: 100%; height: auto; }
.fox-wordmark { font-family: Georgia, serif; font-size: 35px; font-weight: 700; letter-spacing: .035em; line-height: .88; }
.fox-wordmark > span { display: block; font-family: Arial, sans-serif; font-weight: 500; letter-spacing: .24em; font-size: 8px; margin-top: 9px; }
.zx-links, .zx-user { gap: 8px; }
.zx-links a, .zx-user a { color: var(--text); border-radius: 2px; font-size: 12px; padding: 0 9px; white-space: nowrap; font-weight: 500; }
.zx-links a:hover, .zx-user a:hover { background: #e9e0d3; color: var(--brand); }
.zx-links a[aria-current="page"] { color: var(--brand); box-shadow: inset 0 -2px var(--brand); }
.zx-user .btn:not(.secondary) { background: var(--brand); color: #fff; padding: 0 16px; }
.zx-search { width: min(170px,100%); margin-left: 12px; }
.zx-search input { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; font-size: 12px; padding: 0 4px; }
.zx-menu { color: var(--text); background: transparent; border-color: var(--line); border-radius: 3px; }
.home-page.fox-home { display: block; padding-top: 46px; }
.fox-intro { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(40px,7vw,110px); align-items: center; padding: 0 0 50px; }
.fox-intro-copy { padding: 20px 0; }
.fox-intro-copy .eyebrow { display: flex; align-items: center; gap: 12px; }
.fox-line { width: 28px; height: 1px; background: var(--brand); flex-shrink: 0; }
.fox-intro h1 { font-family: Georgia, "Songti SC", SimSun, serif; font-weight: 500; font-size: clamp(42px,4.8vw,70px); letter-spacing: -.045em; line-height: 1.14; margin: 26px 0; }
.fox-intro h1 em { display: block; color: var(--brand); font-weight: 400; }
html[lang="zh-CN"] .fox-intro h1 { font-size: clamp(36px,3.9vw,58px); line-height: 1.4; letter-spacing: -.035em; }
html[lang="zh-CN"] .fox-intro h1 em { font-style: normal; }
.fox-intro-copy .lead { max-width: 430px; margin: 0; }
.fox-intro-copy .zx-actions { margin-top: 32px; gap: 28px; align-items: center; }
.fox-intro-copy .btn { padding: 0 23px; min-height: 50px; }
.fox-intro-note { display: flex; align-items: center; gap: 16px; margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--line); max-width: 430px; }
.fox-note-mark { font: italic 34px Georgia,serif; color: var(--brand); }
.fox-intro-note p { color: var(--muted); font-size: 11px; line-height: 1.7; margin: 0; max-width: 285px; }
.fox-feature { padding: 17px 20px 20px; background: #e9e1d5; min-width: 0; }
.fox-feature-top { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 15px; color: #64584b; font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.fox-feature-art { display: block; position: relative; height: clamp(330px,32vw,435px); overflow: hidden; background: #312b25; }
.fox-feature-art img { width: 100%; height: 100%; object-fit: contain; }
.fox-feature-play { position: absolute; right: 16px; bottom: 16px; display: grid; place-items: center; width: 44px; height: 44px; background: var(--fox-paper); color: var(--brand); border-radius: 50%; font-size: 22px; }
.fox-feature-art .duration { left: 16px; bottom: 16px; }
.fox-feature-caption { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 20px; }
.fox-feature-caption p { font-size: 9px; letter-spacing: .12em; color: var(--muted); margin: 0 0 8px; }
.fox-feature-caption h2 { font-family: Georgia,"Songti SC",serif; font-size: 22px; font-weight: 500; line-height: 1.4; margin: 0; }
.fox-feature-number { font: italic 42px Georgia,serif; color: #8b7966; }
.fox-cover-art { display: flex; align-items: center; justify-content: center; isolation: isolate; background: #95472e; color: #f2d8bf; }
.fox-cover-art::after { position: absolute; inset: 18px; border: 1px solid #ffffff30; content: ''; }
.fox-art-word { font: italic 700 clamp(86px,13vw,180px)/1 Georgia,serif; letter-spacing: -.08em; padding-right: 12px; z-index: 1; }
.fox-art-caption { position: absolute; bottom: 44px; font-size: 9px; letter-spacing: .25em; }
.fox-orbit { position: absolute; width: 80%; height: 140%; border: 1px solid #efc29b66; border-radius: 50%; transform: rotate(38deg); }
.fox-orbit::before { content: ''; position: absolute; inset: 32px; border: inherit; border-radius: inherit; }
.fox-orbit::after { content: ''; position: absolute; inset: 65px; border: inherit; border-radius: inherit; }
.fox-divider { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 0; border-block: 1px solid var(--line); color: var(--muted); font-size: 10px; letter-spacing: .14em; }
.fox-divider > :first-child { color: var(--brand); font-weight: 700; }
.fox-divider > :last-child { font-size: 23px; color: var(--brand); line-height: 1; }
.fox-library.section { margin-top: 52px; }
.resource-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px 24px; }
.video-resource-card.card { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.video-resource-card.card:hover { transform: none; }
.video-resource-card .thumb { border-radius: 3px; background: #e5ded3; }
.video-resource-card .thumb img { transition: transform .4s ease; }
.video-resource-card .card-body, .video-resource-card.dense .card-body { padding: 14px 0 0; }
.fox-card-meta { display: flex; justify-content: space-between; align-items: center; color: var(--brand); font-size: 9px; font-weight: 700; letter-spacing: .12em; margin-bottom: 7px; }
.fox-card-meta > :last-child { font-size: 18px; line-height: 1; }
.video-resource-card .card-title { font-size: 17px; font-weight: 500; line-height: 1.5; margin-bottom: 6px; }
.video-resource-card .card-desc { color: var(--muted); font-size: 12px; }
.duration { border-radius: 2px; background: #26221ddd; font-weight: 500; font-size: 11px; }
.empty { background: #efe9df; border: 1px solid var(--line); border-radius: 3px; color: var(--muted); }
.fox-library-empty { padding: 30px; }
.fox-library-empty > span { font: italic 42px Georgia,serif; color: #a28b75; }
.fox-library-empty p { font-size: 13px; }
.fox-membership-banner { margin-top: 64px; padding: 44px; display: flex; align-items: center; justify-content: space-between; gap: 36px; background: #332e28; color: #f7f1e8; }
.fox-membership-banner .eyebrow { color: #dca183; }
.fox-membership-banner h2 { font: 400 clamp(25px,2.6vw,36px)/1.35 Georgia,"Songti SC",serif; margin: 12px 0; }
.fox-membership-banner p:not(.eyebrow) { color: #c8bfb3; font-size: 13px; line-height: 1.8; margin-bottom: 0; }
.fox-membership-banner .btn { flex-shrink: 0; color: #332e28; background: #f2e6d4; padding: 0 24px; }
.fox-membership-banner .btn:hover { background: #dfb898; }
.panel, .metric, .plan-preview, .payment-detail-grid div { background: #fffdf8; border-color: var(--line); border-radius: 4px; box-shadow: none; }
.badge, .badge.vip, .badge.token, .badge.danger { background: #ebe1d3; color: #76432b; border-color: #d6c1ac; font-weight: 600; }
.filters input, .filters select, input, select, textarea { background: #fffdf8; border-color: #cfc4b5; color: var(--text); border-radius: 3px; }
input::placeholder, textarea::placeholder { color: #84796d; }
.field label, .filters label span { color: var(--text); font-weight: 500; }
.listing-page { gap: 28px; }
.listing-page .library-head { border-bottom: 1px solid var(--line); padding-bottom: 30px; }
.filter-panel { background: #ece5da; border: 0; }
.filter-chips span { background: #e7ddcf; color: #65513e; border-color: #d6c5b1; }
.select-trigger, .select-menu, .select-menu button { color: var(--text); background: #fffdf8; border-color: var(--line); border-radius: 3px; }
.select-menu { box-shadow: 0 12px 30px #34281718; }
.select-trigger:hover, .select-menu button:hover, .select-menu button.active { background: #eadbc8; color: #743c23; }
.page-number, .page-arrow, .page-picker-trigger, .mobile-filter-toggle { color: var(--text); background: transparent; border-color: var(--line); border-radius: 2px; }
.page-number.active, .page-number.active:hover { background: var(--brand); color: white; }
.page-number:hover, .page-arrow:hover { background: #e7d8c6; border-color: #b99a7a; }
.page-picker-sheet { background: var(--fox-paper); border-color: var(--line); }
.watch-layout { gap: 30px; }
.detail-player { --zx-player-radius: 3px; border-radius: 3px; box-shadow: 0 10px 25px #30231712; color: #fff; }
.detail-player .player-empty { color: #d4c9bb; }
.detail-player .player-empty strong { color: #f5eee4; }
.detail-player .zx-quality-trigger { background: transparent; color: #fff; }
.detail-player .zx-quality-menu button { background: transparent; color: #e8edf7; }
.detail-player .zx-quality-menu button:hover, .detail-player .zx-quality-menu button.active { background: #ffffff20; color: #fff; }
.detail-title-bar h1 { font: 500 30px/1.4 Georgia,"Songti SC",serif; }
.permission-card, .permission-card.vip, .permission-card.token { background: #ede2d2; border-color: #d4b99c; border-radius: 3px; }
.permission-card p, .permission-card .permission-note { color: #665440; }
.permission-card h2 { font-size: 19px; font-weight: 500; }
.permission-card.success { background: #e6eee4; border-color: #b2c6b1; }
.permission-card.success p { color: #416147; }
.icon-action { color: var(--muted); background: #ede5da; border-color: var(--line); }
.icon-action:hover, .icon-action.active { color: var(--brand); background: #e6d2bf; border-color: #bb9271; transform: none; }
.recommend:before { color: var(--brand); }
.recommend-item { padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; gap: 14px; }
.recommend-item:hover { background: #ece4d8; }
.recommend-thumb { border-radius: 2px; background: #e5ded3; }
.recommend h2 { font: 500 25px Georgia,"Songti SC",serif; }
.recommend-item h3 { font-weight: 500; }
.confirm-modal { background: #fffdf8; color: var(--text); border-color: var(--line); border-radius: 4px; box-shadow: 0 20px 70px #1d140d33; }
.confirm-modal p { color: var(--muted); }
.modal-backdrop, .page-picker-backdrop { background: #2b251db3; }
.checkout-tabs { background: #ede3d5; border-color: var(--line); border-radius: 3px; }
.checkout-tabs button { color: var(--text); border-radius: 2px; }
.checkout-tabs button.active { background: var(--brand); color: #fff; }
.checkout-option { background: #f8f4ec; color: var(--text); border-color: #d9cebf; border-radius: 3px; }
.checkout-option:hover, .checkout-option.active { background: #f0e0cc; border-color: var(--brand); transform: none; }
.checkout-option.active { box-shadow: inset 0 0 0 1px var(--brand); }
.checkout-plan-head { flex-wrap: wrap; }
.checkout-plan-head strong { font-family: Georgia,"Songti SC",serif; font-weight: 500; }
.checkout-option small, .checkout-benefits li, .checkout-benefits li.highlight, .checkout-benefits li.highlight strong { color: #6c5641; }
.checkout-benefits { border-color: #d4bfa7; }
.checkout-benefits li:before { background: #9e6947; }
.checkout-price-main { font-family: Georgia,serif; font-weight: 500; color: var(--text); }
.checkout-price-unit { color: #6c5641; font-weight: 500; }
.filters select option { background: #fffdf8; color: var(--text); }
.mobile-filter-toggle:hover { background: #e7dac7; color: var(--text); }
.pay-method { background: #f7f2ea; color: var(--text); border-color: var(--line); border-radius: 3px; }
.pay-method:hover, .pay-method.active { background: #e9d6bc; color: #65371e; border-color: #a96e46; }
.terms-check { color: var(--muted); }
.terms-check a, .auth-extra a:hover { color: var(--brand); }
input[type="checkbox"] { accent-color: var(--brand); }
.summary-row strong { color: var(--text); }
.checkout-summary h2, .payment-mark { color: var(--brand); }
.auth-layout.single-auth { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,460px); gap: 100px; align-items: center; min-height: 700px; max-width: 1180px; }
.fox-auth-intro { position: relative; padding: 30px 0 80px; }
.fox-auth-intro h1 { font: 500 clamp(38px,4vw,57px)/1.2 Georgia,"Songti SC",serif; letter-spacing: -.03em; margin: 25px 0; }
.fox-auth-intro > p:not(.eyebrow) { color: var(--muted); font-size: 15px; line-height: 1.9; max-width: 370px; }
.fox-auth-monogram { display: block; margin-top: 36px; color: #a4432530; font: italic 100px/.85 Georgia,serif; }
.single-auth .auth-card { width: 100%; padding: 36px; background: #fffdf8; border-color: var(--line); border-radius: 4px; box-shadow: 10px 10px 0 #e8dfd1; }
.auth-card h2 { font-size: 32px; margin-top: 8px; }
.auth-card .telegram-login-button { background: #e5edf0; color: #246079; border-color: #b9ced5; }
.auth-message { color: #8b4528; }
.alert.error { color: #912935; border-color: #d8a6a8; background: #f4e2e1; }
.alert.success { color: #305c43; border-color: #adc3b0; background: #e2eddf; }
.zx-main.alert { margin-top: 16px; padding: 14px 24px; }
.split .panel h2 { overflow-wrap: anywhere; font-weight: 500; }
th { color: #6d5b49; background: #f1e9dd; }
td { color: var(--text); }
.fox-footer { border-top: 1px solid var(--line); background: #eae3d7; color: #706353; padding: 38px 40px; }
.fox-footer-inner { width: min(calc(var(--max) - 80px),100%); margin: auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px 38px; text-align: left; }
.fox-footer-brand { font: 700 36px/.9 Georgia,serif; color: var(--brand); }
.fox-footer-brand span { display: block; font: 8px Arial,sans-serif; letter-spacing: .24em; margin-top: 8px; }
.fox-footer p { font: italic 16px Georgia,"Songti SC",serif; }
.fox-footer-links { display: flex; gap: 24px; font-size: 11px; }
.fox-footer-links a:hover { color: var(--brand); }
.fox-footer small { grid-column: 2/-1; font-size: 9px; letter-spacing: .1em; }
.age-gate-backdrop { background: #302921c9; backdrop-filter: blur(20px); }
.age-gate-dialog { background: var(--fox-paper); color: var(--text); border: 1px solid #a58a6f; border-radius: 4px; box-shadow: 0 24px 80px #20180f55; }
.age-gate-kicker { color: var(--brand); letter-spacing: .14em; }
.age-gate-title { color: var(--text); font-family: Georgia,"Songti SC",serif; }
.age-gate-copy { color: var(--muted); }
.age-gate-button-primary { background: var(--brand); color: #fff; }
.age-gate-button-secondary { background: #e7ddcf; color: var(--text); }
.age-gate-button-secondary:hover { background: #d9cab8; }
.age-gate-button:focus-visible { outline-color: var(--brand); }
@media (max-width: 1200px) {
  .zx-nav { padding-inline: 28px; gap: 20px; }
  .zx-search { display: none; }
  .zx-main { padding-inline: 28px; }
  .fox-intro { gap: 40px; }
  .auth-layout.single-auth { gap: 60px; }
}
@media (max-width: 1020px) {
  .zx-nav { min-height: 78px; padding-block: 16px; grid-template-columns: 1fr auto; gap: 0; }
  .zx-menu { display: flex; }
  .zx-links, .zx-user { display: none; background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; padding: 12px 0; gap: 6px; }
  .zx-open .zx-links { margin-top: 18px; }
  .zx-open .zx-links, .zx-open .zx-user { display: flex; }
  .zx-links a, .zx-user a { min-height: 42px; }
  .zx-search { display: block; width: 100%; margin-left: 0; }
  .zx-search input { width: 100%; }
  .resource-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 18px; }
  .fox-feature-art { height: 350px; }
  .fox-intro h1 { font-size: 46px; }
  .fox-intro-copy .zx-actions { gap: 18px; }
  .fox-membership-banner { padding: 32px; }
  .auth-layout.single-auth { grid-template-columns: 1fr 1fr; gap: 35px; min-height: 650px; }
  .single-auth .auth-card { padding: 26px; }
}
@media (max-width: 760px) {
  .zx-nav { padding-inline: 20px; }
  .zx-main { padding: 28px 20px 44px; }
  .home-page.fox-home { padding-top: 25px; }
  .fox-intro { grid-template-columns: 1fr; gap: 28px; padding-bottom: 30px; }
  .fox-intro-copy { padding: 8px 0 0; }
  .fox-intro h1 { font-size: 49px; margin: 20px 0; }
  html[lang="zh-CN"] .fox-intro h1 { font-size: 38px; }
  .fox-intro-copy .lead { font-size: 14px; max-width: 100%; }
  .fox-intro-copy .zx-actions { margin-top: 23px; gap: 22px; }
  .fox-intro-note { margin-top: 27px; padding-top: 17px; max-width: none; }
  .fox-intro-note p { max-width: none; }
  .fox-feature { padding: 14px; }
  .fox-feature-art { height: 350px; }
  .fox-feature-caption { padding-top: 15px; }
  .fox-art-word { font-size: 132px; }
  .fox-feature-caption h2 { font-size: 20px; }
  .fox-divider { padding: 15px 0; font-size: 8px; letter-spacing: .05em; gap: 10px; }
  .fox-library.section { margin-top: 32px; }
  .fox-library .section-head { display: flex; align-items: flex-end; gap: 15px; }
  .fox-library .section-head h2 { font-size: 27px; }
  .fox-library .fox-text-link { font-size: 11px; gap: 10px; white-space: nowrap; }
  .resource-grid, .listing-page .listing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 14px; }
  .video-resource-card .card-body, .listing-page .video-resource-card .card-body { padding: 10px 0 0; }
  .video-resource-card .card-title { font-size: 14px; }
  .fox-card-meta { font-size: 7px; letter-spacing: .07em; }
  .fox-membership-banner { display: block; padding: 28px 24px; margin-top: 36px; }
  .fox-membership-banner .btn { margin-top: 24px; }
  .listing-page { gap: 18px; }
  .listing-page .library-head { padding-bottom: 22px; }
  .page-title { font-size: 37px; }
  .listing-page .filter-panel.open { background: #ece5da; }
  .checkout-tabs { grid-template-columns: 1fr; }
  .auth-layout.single-auth { grid-template-columns: 1fr; gap: 28px; min-height: auto; padding-bottom: 50px; }
  .fox-auth-intro { padding: 0; }
  .fox-auth-intro h1 { font-size: 33px; margin: 15px 0; }
  .fox-auth-intro > p:not(.eyebrow) { font-size: 13px; margin-bottom: 0; }
  .fox-auth-intro .fox-text-link, .fox-auth-monogram { display: none; }
  .single-auth .auth-card { padding: 26px 22px; box-shadow: 5px 5px 0 #e8dfd1; }
  .detail-title-bar h1 { font-size: 24px; }
  .fox-footer { padding: 30px 20px; }
  .fox-footer-inner { grid-template-columns: auto 1fr; gap: 20px; }
  .fox-footer p { font-size: 14px; text-align: right; }
  .fox-footer-links { grid-column: 1/-1; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 20px; }
  .fox-footer small { grid-column: 1/-1; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
