/* =========================================================
   先森版权 · 全站公共样式（抽自首页 v22 定稿）
   设计变量：颜色 / 字体 / 字号 / 圆角 / 阴影 / 动效 统一在此
   各页面专属样式放在 page-*.css，只写增量
   @2026.9.30 辅助文字加深：--ink-3 #8C8279 → #665D55，--ink-4 #C9BFB4 → #8E847A（与 ip 后台一致）
   @2026.10.1 链接点击后不再出现蓝色焦点框
   ========================================================= */
:root{
  /* 暖墨色文字 */
  --ink:#1F1A16;--ink-2:#4E4640;--ink-3:#665D55;--ink-4:#8E847A;
  /* 象牙底 + 香槟灰：带暖意，不用冷灰 */
  --bg:#F8F4EE;--gray:#F2ECE3;--gray-2:#E9E1D5;--paper:#FFFDFA;
  --line:rgba(120,90,50,.14);--line-2:rgba(120,90,50,.09);
  /* 品牌橙：更沉稳的焦橙 */
  --brand:#E2621C;--brand-d:#BF4E12;--brand-soft:#FCEFE4;--brand-soft-2:#F8DFC9;
  /* 黑金：只用于主推、活动卡、精选书单 */
  --noir:#16110D;--noir-2:#2A211A;--gold:#D2A55C;--gold-lt:#EFD6A3;--gold-txt:#E6CC96;--gold-mute:#B09B7D;
  --gold-grad:linear-gradient(135deg,#F4DEAD 0%,#D2A55C 48%,#A77731 100%);
  --noir-bg:radial-gradient(90% 110% at 100% 0%,rgba(210,165,92,.24) 0%,rgba(210,165,92,0) 58%),linear-gradient(155deg,#2A211A 0%,#17120E 55%,#0F0B08 100%);
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  --num:"SF Pro Display",-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Arial,sans-serif;
  --serif:"Songti SC","Noto Serif SC","STSong",serif;
  --r-lg:22px;--r-md:14px;--r-sm:10px;
  /* 暖色阴影 */
  --sh:0 0 0 1px rgba(120,90,50,.07),0 2px 6px rgba(90,60,25,.04),0 14px 34px rgba(90,60,25,.07);
  --sh-h:0 0 0 1px rgba(120,90,50,.08),0 8px 16px rgba(90,60,25,.07),0 28px 56px rgba(90,60,25,.13);
  --ease:cubic-bezier(.25,.1,.25,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none;transition:color .3s var(--ease)}
/* @2026.10.1 鼠标点击链接 / 按钮不再出现蓝色大框；键盘切换时显示浅橙色细框 */
a:focus,button:focus{outline:0}
a:focus-visible,button:focus-visible{outline:2px solid rgba(226,98,28,.45);outline-offset:2px}
.wrap{width:1200px;margin:0 auto}
h1,h2,h3,h4{font-weight:600;line-height:1.3;letter-spacing:.2px}
b,strong{font-weight:600}

/* ---------- 顶栏 ---------- */
.header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.78);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line-2)}
.header .wrap{display:flex;align-items:center;height:64px;gap:48px}
.logo{display:flex;align-items:center;gap:10px}
.mark{width:28px;height:28px}
.logo b{font-size:18px;font-weight:600;letter-spacing:3px}
.nav{display:flex;gap:32px;font-size:14px}
.nav a{color:var(--ink-2);padding:4px 0;position:relative}
.nav a:hover{color:var(--ink)}
.nav a.on{color:var(--ink);font-weight:600}
.nav a.dot::before{content:"";position:absolute;right:-8px;top:4px;width:5px;height:5px;border-radius:50%;background:var(--brand)}
.hd-r{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:14px}
.hd-r a.txt{color:var(--ink-2)}
.hd-r a.txt:hover{color:var(--ink)}
.hd-r a.vfy{color:var(--brand-d);font-weight:500;padding-right:20px;border-right:1px solid var(--line)}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 22px;font-size:14px;font-weight:500;border-radius:999px;border:0;background:var(--gray);color:var(--ink);cursor:pointer;white-space:nowrap;transition:background .3s var(--ease),transform .15s var(--ease),box-shadow .3s var(--ease)}
.btn:hover{background:var(--gray-2)}
.btn:active{transform:scale(.97)}
.btn.brand{background:var(--brand);color:#fff}
.btn.brand:hover{background:var(--brand-d)}
.btn.line{background:#fff;color:var(--brand-d);box-shadow:inset 0 0 0 1px rgba(238,106,31,.45)}
.btn.line:hover{background:var(--brand-soft)}
.btn.big{height:48px;padding:0 30px;font-size:15px}
.btn.sm{height:32px;padding:0 14px;font-size:13px}

/* ---------- 首屏 ---------- */
.hero .wrap{padding:32px 0 88px}
.duo{display:grid;grid-template-columns:2.1fr 1fr;gap:20px;align-items:stretch}
.panel{border-radius:var(--r-lg);padding:28px 30px 30px;box-shadow:var(--sh);display:flex;flex-direction:column}
.i-ar{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}

/* 面板标题 */
.p-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;min-height:32px}
.p-tt{display:flex;align-items:center;gap:14px}
.p-tt h2{font-size:22px;line-height:32px;letter-spacing:.3px}
.p-sub{display:inline-flex;align-items:center;gap:8px;font-size:13px;line-height:1;color:var(--ink-3)}
.p-sub i{width:3px;height:3px;border-radius:50%;background:var(--ink-4)}
.p-hd .lk{display:inline-flex;align-items:center;gap:4px;font-size:14px;line-height:1;color:var(--brand-d);font-weight:500}
.p-hd .lk:hover .i-ar{transform:translateX(3px)}

/* 入口：主推（橙） */
.tiles{display:grid;grid-template-columns:1fr 1.18fr;grid-template-rows:repeat(3,1fr);gap:12px;height:312px}
.tl-main{grid-row:1/4;position:relative;overflow:hidden;border-radius:18px;padding:24px 26px;color:#fff;background:radial-gradient(110% 80% at 0% 0%,#FF9B55 0%,rgba(255,155,85,0) 55%),linear-gradient(155deg,#F07A31 0%,#E2621C 55%,#CC5212 100%);display:flex;flex-direction:column;isolation:isolate;box-shadow:0 10px 26px rgba(210,90,20,.18);transition:box-shadow .45s var(--ease),transform .45s var(--ease)}
.tl-main::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none;z-index:3}
.tl-main::after{content:"";position:absolute;right:-40px;bottom:-60px;width:260px;height:220px;background:radial-gradient(closest-side,rgba(255,236,214,.38),rgba(255,236,214,0));z-index:-1}
.tl-main:hover{box-shadow:0 22px 44px rgba(210,90,20,.3);transform:translateY(-2px)}
.tm-top{position:relative;z-index:2}
.tm-tag{display:inline-flex;align-items:center;height:22px;padding:0 10px;font-size:12px;line-height:1;font-weight:600;letter-spacing:2px;color:#fff;border-radius:999px;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.tm-n{font-size:19px;font-weight:600;color:#fff;margin-top:16px;line-height:1.3}
.tm-num{display:flex;align-items:baseline;margin-top:8px;font-family:var(--num);font-size:46px;font-weight:600;line-height:1;letter-spacing:-1.4px;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 2px 12px rgba(150,50,0,.18)}
.tm-num em{font-family:var(--sans);font-style:normal;font-size:14px;font-weight:400;letter-spacing:0;margin-left:6px;color:rgba(255,255,255,.85);text-shadow:none}
.tm-d{font-size:13px;line-height:1.5;color:rgba(255,255,255,.9);margin-top:10px}
.tm-bot{margin-top:auto;position:relative;z-index:2}
.tm-go{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px 0 16px;border-radius:999px;font-size:13px;line-height:1;font-weight:600;color:var(--brand-d);background:#fff;box-shadow:0 6px 16px rgba(150,50,0,.2)}
.tl-main:hover .tm-go .i-ar{transform:translateX(3px)}
.tm-fan{position:absolute;right:22px;bottom:22px;width:132px;height:118px;z-index:1;transition:transform .55s var(--ease)}
.tm-fan .cover{position:absolute;bottom:0;width:66px;border-radius:6px;box-shadow:0 0 0 2px rgba(255,255,255,.85),0 12px 24px rgba(120,40,0,.32)}
.tm-fan .cover:nth-child(1){left:0;transform:rotate(-10deg);transform-origin:bottom center}
.tm-fan .cover:nth-child(2){right:0;transform:rotate(10deg);transform-origin:bottom center}
.tm-fan .cover:nth-child(3){left:33px;bottom:10px;z-index:2}
.tl-main:hover .tm-fan{transform:translateY(-4px)}
.tl-main:hover .tm-fan .cover:nth-child(1){transform:rotate(-14deg)}
.tl-main:hover .tm-fan .cover:nth-child(2){transform:rotate(14deg)}
.tm-fan .cover:nth-child(1),.tm-fan .cover:nth-child(2){transition:transform .55s var(--ease)}

/* 入口：三类改编权 */
.tl{position:relative;display:flex;align-items:center;gap:18px;padding:0 18px 0 22px;border-radius:var(--r-md);background:linear-gradient(180deg,#FFFFFF 0%,#FBF7F1 100%);box-shadow:0 0 0 1px rgba(120,90,50,.09);transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.tl:hover{box-shadow:0 0 0 1px rgba(210,120,50,.28),0 10px 24px rgba(90,60,25,.09);transform:translateY(-1px)}
.tl-b{flex:1;min-width:0}
.tl-n{font-size:13px;line-height:18px;color:var(--ink-2);font-weight:500}
.tl-num{display:flex;align-items:baseline;margin-top:4px;font-family:var(--num);font-size:28px;font-weight:600;line-height:1;letter-spacing:-.6px;font-variant-numeric:tabular-nums;color:var(--ink);transition:color .3s var(--ease)}
.tl-num em{font-family:var(--sans);font-style:normal;font-size:12px;font-weight:400;color:var(--ink-3);margin-left:4px;letter-spacing:0}
.tl-d{font-size:12px;line-height:18px;color:var(--ink-3);margin-top:5px}
.stk{position:relative;width:92px;height:60px;flex:none}
.stk .cover{position:absolute;top:50%;width:42px;margin-top:-28px;border-radius:4px;box-shadow:0 4px 10px rgba(60,40,20,.2);transition:transform .45s var(--ease)}
.stk .cover:nth-child(1){left:2px;transform:rotate(-8deg)}
.stk .cover:nth-child(2){left:25px;z-index:2;box-shadow:0 6px 14px rgba(60,40,20,.26)}
.stk .cover:nth-child(3){left:48px;transform:rotate(8deg)}
.tl:hover .stk .cover:nth-child(1){transform:rotate(-12deg) translateX(-3px)}
.tl:hover .stk .cover:nth-child(3){transform:rotate(12deg) translateX(3px)}
.tl-ar{width:28px;height:28px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line);transition:all .35s var(--ease)}
.tl-ar .i-ar{width:13px;height:13px}
.tl:hover .tl-ar{background:var(--brand);color:#fff;box-shadow:none}
.tl:hover .tl-num{color:var(--brand-d)}

/* 本周新上架 */
.shelf{margin-top:24px;padding-top:20px;border-top:1px solid var(--line-2)}
.shelf .st{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;min-height:22px}
.shelf .st h3{font-size:15px;line-height:22px}
.shelf .st a{display:inline-flex;align-items:center;gap:4px;font-size:13px;line-height:1;font-weight:500;color:var(--brand-d)}
.shelf .st a:hover .i-ar{transform:translateX(3px)}
.shelf .row{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.nb{display:block;min-width:0}
.nb .cover{width:100%;border-radius:8px;box-shadow:0 1px 2px rgba(60,40,20,.08);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.nb:hover .cover{transform:translateY(-4px);box-shadow:0 14px 26px rgba(60,40,20,.18)}
.nb-t{font-size:14px;line-height:20px;font-weight:600;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s var(--ease)}
.nb:hover .nb-t{color:var(--brand-d)}
.nb-m{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-top:3px;font-size:12px;line-height:16px;color:var(--ink-3)}
.nb-m span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nb-m b{font-family:var(--num);font-weight:600;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}

/* 代理面板 */
.p-agent{background:linear-gradient(175deg,#FCEADB 0%,#FFF6EE 42%,var(--paper) 100%);box-shadow:0 0 0 1px rgba(210,120,50,.13),0 14px 34px rgba(90,60,25,.07)}
.p-agent .tagline{display:inline-flex;align-items:center;gap:8px;font-size:12px;line-height:16px;color:var(--brand-d);font-weight:600;letter-spacing:2px}
.p-agent .tagline::before{content:"";width:16px;height:2px;border-radius:2px;background:var(--brand)}
.p-agent h2{font-size:27px;line-height:38px;margin-top:12px;letter-spacing:.5px}
.ag-intro{font-size:13px;line-height:20px;color:var(--ink-2);margin-top:8px}
.pts{margin-top:20px;display:flex;flex-direction:column;gap:8px}
.pt{display:flex;gap:12px;align-items:flex-start;padding:13px 16px;border-radius:12px;background:rgba(255,255,255,.82);box-shadow:0 0 0 1px rgba(120,90,50,.07)}
.pt b{flex:none;width:20px;font-family:var(--num);font-size:13px;line-height:22px;font-weight:600;color:var(--brand);font-variant-numeric:tabular-nums}
.pt h4{font-size:15px;line-height:22px}
.pt p{font-size:12px;line-height:18px;color:var(--ink-3);margin-top:2px}
.fit{margin-top:18px}
.fit-s{display:flex;flex-wrap:nowrap;gap:6px}
.fit-s span{display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:999px;font-size:12px;line-height:1;color:var(--ink-2);background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px rgba(120,90,50,.1)}
.agf{margin-top:auto;padding-top:16px;border-top:1px solid var(--line-2)}
.fit{padding-bottom:18px}
.agf-t{font-size:12px;line-height:16px;color:var(--ink-3);margin-bottom:10px}
.agf-s{list-style:none;display:flex;align-items:center;justify-content:space-between;counter-reset:st}
.agf-s li{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;line-height:1;color:var(--ink-2);font-weight:500;white-space:nowrap;flex:1}
.agf-s li::before{counter-increment:st;content:counter(st);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--num);font-size:11px;line-height:1;padding-top:1px;font-weight:600;color:var(--brand-d);background:#fff;box-shadow:inset 0 0 0 1px rgba(210,120,50,.35);position:relative;z-index:1}
.agf-s li+li::after{content:"";position:absolute;top:11px;right:calc(50% + 15px);width:calc(100% - 30px);height:1px;background:rgba(210,120,50,.28)}
.p-agent .acts{margin-top:20px;display:flex;gap:10px}
.p-agent .acts .btn{flex:1}
.ag-tip{font-size:12px;line-height:16px;color:var(--ink-3);margin-top:12px;text-align:center}

/* ---------- 活动专区 ---------- */
.camp{padding:72px 0 0}
.camp-hd{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px}
.camp-hd h2{font-size:28px;display:flex;align-items:baseline;gap:14px}
.camp-hd .sub{font-size:15px;color:var(--ink-3);font-weight:400}
.camp-hd .lk{font-size:14px;color:var(--brand-d);font-weight:500}
.camp-grid{display:grid;grid-template-columns:1.72fr 1fr;gap:20px}
.cmain{background:radial-gradient(90% 120% at 100% 0%,#FFE3CC 0%,rgba(255,227,204,0) 60%),#FFFFFF;border-radius:var(--r-lg);padding:40px 44px;display:flex;gap:28px;align-items:center;position:relative;overflow:hidden;box-shadow:var(--sh)}
.cm-l{flex:1;position:relative}
.cm-l .badge{display:inline-flex;align-items:center;font-size:12px;color:var(--brand-d);font-weight:600;letter-spacing:1.5px}
.cm-l h3{font-size:40px;font-weight:700;color:var(--ink);margin-top:10px;letter-spacing:1px;line-height:1.2}
.cm-l h3 em{font-style:normal;color:var(--brand)}
.cm-l .desc{font-size:15px;color:var(--ink-2);margin-top:12px;line-height:1.8}
.cm-tags{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.cm-tags span{background:var(--gray);color:var(--ink-2);font-size:13px;padding:4px 14px;border-radius:999px;font-weight:500}
.cm-l .acts{margin-top:26px;display:flex;gap:14px;align-items:center}
.cm-l .acts .note{font-size:12px;color:var(--ink-3)}
.cardart{width:270px;flex:none;position:relative;transition:transform .6s var(--ease)}
.cmain:hover .cardart{transform:translateY(-6px) rotate(-1deg)}

.cside{display:flex;flex-direction:column;gap:20px}
.cs{background:#fff;border-radius:var(--r-lg);padding:24px 26px;flex:1;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--sh);transition:box-shadow .4s var(--ease),transform .4s var(--ease)}
.cs:hover{box-shadow:var(--sh-h);transform:translateY(-2px)}
.cs .tp{display:flex;align-items:center;gap:9px}
.cs .tp span{font-size:12px;color:var(--brand-d);font-weight:600;letter-spacing:.5px}
.cs .tp .dt{font-size:12px;color:var(--ink-3);font-weight:400;margin-left:auto;letter-spacing:0}
.cs h4{font-size:20px;margin-top:8px}
.cs p{font-size:13px;color:var(--ink-2);margin-top:6px;line-height:1.75}
.cs .go{margin-top:12px;font-size:13px;color:var(--brand-d);font-weight:500}

/* ---------- 平台条 ---------- */
.plat{background:#fff;border-bottom:1px solid var(--line-2)}
.plat .wrap{display:flex;align-items:center;gap:32px;padding:22px 0}
.plat .lb{flex:none;font-size:15px;font-weight:600;padding-right:32px;border-right:1px solid var(--line)}
.plat .lb span{display:block;font-size:12px;font-weight:400;color:var(--ink-3);margin-top:1px}
.plat .ps{flex:1;display:flex;align-items:center;flex-wrap:nowrap;overflow:hidden;gap:26px}
.plat .ps span{font-size:14px;color:var(--ink-3);font-weight:500;white-space:nowrap}
.plat .more{flex:none;font-size:13px;color:var(--brand-d);font-weight:500}

/* ---------- 区块 ---------- */
.sec{padding:96px 0;background:#fff}
.sec.alt,.sandband{background:var(--gray)}
.sandband{padding:96px 0}
.sh{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px}
.sh .l{display:flex;flex-direction:column;gap:8px}
.sh .ix{display:none}
.sh h2{font-size:34px;font-weight:600;letter-spacing:.5px;line-height:1.2}
.sh .sub{font-size:16px;color:var(--ink-3);font-weight:400;max-width:620px}
.sh .more{font-size:14px;color:var(--brand-d);font-weight:500;white-space:nowrap;padding-bottom:4px}
.sh .more:hover{color:var(--brand)}

/* 封面：统一圆角 + 内描边 */
.cover{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:8px;flex:none;align-self:flex-start;background:#EEE}
.cover::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.07);pointer-events:none;z-index:3}
.cover .art{position:absolute;inset:0;width:100%;height:100%;display:block}
.cover .ct{position:absolute;right:13px;top:15px;writing-mode:vertical-rl;font-family:var(--serif);font-weight:700;font-size:18px;letter-spacing:5px;color:#F6F1E7;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.cover.lt .ct{color:#1D1D1F;text-shadow:0 1px 2px rgba(255,255,255,.4)}
.cover .au{position:absolute;left:13px;bottom:12px;font-size:11px;letter-spacing:1.5px;color:rgba(255,255,255,.75)}
.cover.lt .au{color:rgba(0,0,0,.55)}
.cover .tag{position:absolute;left:10px;top:10px;background:rgba(29,29,31,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:11px;padding:2px 9px;border-radius:999px;z-index:2}
.cover .tag.m{background:var(--brand)}
.cover .ep{position:absolute;right:10px;bottom:10px;background:rgba(29,29,31,.66);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:11px;padding:2px 9px;border-radius:999px;z-index:2}
.cover.mini{border-radius:4px}
.cover.mini .ct{display:none}
.cover.mini .au{display:none}

.card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh);transition:box-shadow .45s var(--ease),transform .45s var(--ease)}
.card:hover{box-shadow:var(--sh-h);transform:translateY(-4px)}
.price{font-family:var(--num);font-size:20px;font-weight:600;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.price em{font-family:var(--sans);font-style:normal;font-size:12px;color:var(--ink-3);font-weight:400;margin-left:4px;letter-spacing:0}
.price s{font-size:13px;color:var(--ink-4);font-weight:400;margin-left:8px}
.act{font-size:13px;color:var(--brand-d);font-weight:500;white-space:nowrap}
.act::after{content:" ›"}
.act:hover{color:var(--brand)}

/* 剧本 */
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.sc{overflow:hidden;display:flex;flex-direction:column;padding:12px 12px 0}
.sc>.cover{width:100%;align-self:stretch;border-radius:12px}
.sc .bd{padding:18px 10px 0;flex:1}
.sc .kind{font-size:12px;color:var(--brand-d);font-weight:600}
.sc h4{font-size:20px;margin-top:4px}
.sc .from{font-size:12px;color:var(--ink-3);margin:6px 0 14px}
.spec{display:flex;flex-wrap:wrap;gap:6px}
.spec span{font-size:12px;color:var(--ink-3);background:var(--gray);padding:2px 10px;border-radius:999px}
.spec span.on{color:var(--ink-2);font-weight:500}
.sc .ft{margin:18px 10px 0;padding:14px 0 16px;border-top:1px solid var(--line-2);display:flex;align-items:center;justify-content:space-between}

/* 漫剧版权 */
.mj{display:flex;gap:24px}
.mj-l{width:300px;flex:none;background:#fff;border-radius:var(--r-lg);padding:28px 26px 26px;display:flex;flex-direction:column;box-shadow:var(--sh)}
.mj-l h3{font-size:22px}
.mj-l .tip{font-size:13px;color:var(--ink-3);margin-top:4px}
.gz{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}
.gz a{font-size:13px;border-radius:999px;padding:5px 14px;color:var(--ink-2);background:var(--gray);transition:background .3s var(--ease),color .3s var(--ease)}
.gz a:hover{background:var(--brand-soft);color:var(--brand-d)}
.gz a.hot{color:var(--ink);font-weight:600}
.mj-l .btn{margin-top:auto}
.mj-l .mtip{margin:22px 0;padding-top:18px;border-top:1px solid var(--line-2);font-size:13px;color:var(--ink-2);line-height:1.8}
.mj-r{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}
.mjc{padding:14px;display:flex;gap:16px;align-items:stretch}
.mjc .cover{width:96px}
.mjc .cover .ct{font-size:14px;letter-spacing:3px;right:9px;top:10px}
.mjc .bd{flex:1;display:flex;flex-direction:column;padding:2px 4px 0 0}
.mjc h4{font-size:17px}
.mjc .mt{font-size:12px;color:var(--ink-3);margin-top:4px;line-height:1.8}
.mjc .pr{margin-top:auto;display:flex;align-items:center;justify-content:space-between}
.mjc .price{font-size:18px}

/* 有声 */
.g5{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.bk{overflow:hidden;padding:12px 12px 0}
.bk>.cover{border-radius:12px}
.bk .bd{padding:16px 8px 16px}
.bk h4{font-size:17px}
.bk .mt{font-size:12px;color:var(--ink-3);margin:4px 0 10px}
.bk .row{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3);padding:2px 0}
.bk .row b{color:var(--ink-2);font-weight:500}
.bk .pr{border-top:1px solid var(--line-2);padding-top:12px;margin-top:10px;display:flex;align-items:center;justify-content:space-between}
.bk .price{font-size:18px}
.notes{margin-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.nt{padding:22px 24px;display:flex;gap:14px;align-items:flex-start;background:var(--gray);border-radius:var(--r-md)}
.nt .ic{width:36px;height:36px;flex:none;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--brand-d);font-weight:600}
.nt h4{font-size:15px}
.nt p{font-size:13px;color:var(--ink-2);margin-top:4px;line-height:1.75}

/* 精品 */
.pick{display:flex;flex-direction:column;gap:20px}
.pk-main{background:#fff;border-radius:var(--r-lg);padding:26px;display:flex;gap:30px;align-items:stretch;position:relative;overflow:hidden;box-shadow:var(--sh);transition:box-shadow .45s var(--ease)}
.pk-main:hover{box-shadow:var(--sh-h)}
.pk-main .cover{width:160px;border-radius:12px}
.pk-main .cover .ct{font-size:20px;letter-spacing:6px}
.pm-b{flex:1;display:flex;flex-direction:column;padding:4px 0}
.pm-b .lab{align-self:flex-start;font-size:12px;color:var(--brand-d);font-weight:600;letter-spacing:1.5px}
.pm-b h3{font-size:30px;margin-top:6px}
.pm-b .mt{font-size:13px;color:var(--ink-3);margin:6px 0 12px}
.pm-b p{font-size:14px;color:var(--ink-2);line-height:1.9;max-width:540px}
.pm-b .rts{display:flex;gap:6px;margin-top:auto;padding-top:16px;flex-wrap:wrap}
.pm-b .rts span{font-size:12px;padding:3px 12px;border-radius:999px;background:var(--brand-soft);color:var(--brand-d);font-weight:500}
.pm-b .rts span.off{background:var(--gray);color:var(--ink-4)}
.pm-r{width:220px;flex:none;border-left:1px solid var(--line-2);padding-left:28px;display:flex;flex-direction:column;justify-content:center}
.pm-r .why{font-size:13px;color:var(--ink-2);line-height:1.8}
.pm-r .why b{color:var(--ink);display:block;font-size:14px;margin-bottom:4px}
.pm-r .pz{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2)}
.pm-r .btn{margin-top:14px;width:100%}

.pk-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rklist{background:#fff;border-radius:var(--r-lg);padding:8px 24px;box-shadow:var(--sh)}
.rk{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-2)}
.rk:last-child{border-bottom:0}
.rk .no{font-family:var(--num);font-size:17px;font-weight:600;color:var(--ink-4);width:24px;flex:none;font-variant-numeric:tabular-nums}
.rklist:first-child .rk .no{color:var(--brand)}
.rk .cover{width:40px}
.rk .rb{flex:1;min-width:0}
.rk .rb h4{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s var(--ease)}
.rk .rm{font-size:12px;color:var(--ink-3);margin-top:1px}
.rk .rt{display:flex;gap:4px}
.rk .rt span{font-size:11px;background:var(--gray);color:var(--ink-2);padding:1px 8px;border-radius:999px}
.rk .price{font-size:16px;width:80px;text-align:right;flex:none}
.rk:hover .rb h4{color:var(--brand-d)}

/* 书单 */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ls{border-radius:var(--r-lg);padding:30px 28px 26px;display:flex;flex-direction:column;background:#fff;box-shadow:var(--sh)}
.ls .tag{align-self:flex-start;font-size:12px;color:var(--ink-3);font-weight:600;letter-spacing:1px;margin-bottom:8px}
.ls h3{font-size:24px}
.ls .cnt{font-size:13px;margin-top:10px;color:var(--ink-2);line-height:1.8}
.ls .rows{margin:20px 0 18px}
.ls .rows div{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;padding:9px 0;border-bottom:1px solid var(--line-2);color:var(--ink-3)}
.ls .rows div b{font-family:var(--num);font-size:15px;color:var(--ink)}
.ls .pz{margin-top:auto;display:flex;align-items:baseline;gap:8px}
.ls .pz .price{font-size:30px;letter-spacing:-.8px}
.ls .pz i{font-style:normal;font-size:12px;color:var(--brand-d);margin-left:auto;font-weight:600;background:var(--brand-soft);padding:2px 10px;border-radius:999px}
.ls .btn{margin-top:18px}
.ls.hi{color:#fff;background:radial-gradient(120% 80% at 0% 0%,#FF9A52 0%,rgba(255,154,82,0) 55%),linear-gradient(160deg,#F2782C 0%,#E35F16 100%);box-shadow:0 18px 40px rgba(227,95,22,.24)}
.ls.hi .tag{color:rgba(255,255,255,.85)}
.ls.hi .cnt{color:rgba(255,255,255,.9)}
.ls.hi .rows div{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.2)}
.ls.hi .rows div b,.ls.hi .price{color:#fff}
.ls.hi .price s{color:rgba(255,255,255,.55)}
.ls.hi .pz i{background:rgba(255,255,255,.95)}
.ls.hi .btn.brand{background:#fff;color:var(--brand-d)}
.ls.hi .btn.brand:hover{background:#FFF1E6}

/* 代理带 */
.agband{background:#fff;padding:96px 0}
.agband>.wrap{background:linear-gradient(180deg,#FFF5EC 0%,#FFFBF7 100%);border-radius:28px;padding:56px 56px 44px}
.ag-top{display:flex;gap:52px;align-items:flex-start}
.ag-l{width:350px;flex:none}
.ag-l .ix{display:none}
.ag-l h2{font-size:34px;line-height:1.35;letter-spacing:.5px}
.ag-l p{font-size:15px;color:var(--ink-2);line-height:1.85;margin-top:16px}
.ag-l .acts{margin-top:28px;display:flex;gap:10px}
.ag-r{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ab{background:#fff;border-radius:var(--r-md);padding:20px 22px;box-shadow:0 0 0 1px rgba(0,0,0,.03),0 4px 14px rgba(160,80,20,.05)}
.ab .n{display:none}
.ab h4{font-size:16px}
.ab p{font-size:13px;color:var(--ink-2);line-height:1.75;margin-top:6px}
.ag-flow{margin-top:40px;padding-top:28px;border-top:1px solid rgba(210,86,14,.14);display:flex;gap:20px}
.af{flex:1;display:flex;gap:12px;align-items:flex-start}
.af b{width:28px;height:28px;flex:none;border-radius:50%;background:#fff;font-size:12px;color:var(--brand-d);display:flex;align-items:center;justify-content:center;font-weight:600;box-shadow:0 0 0 1px rgba(210,86,14,.18)}
.af div{font-size:12.5px;color:var(--ink-3);line-height:1.7}
.af div span{display:block;font-size:14px;color:var(--ink);font-weight:600}
.ag-note{margin-top:20px;font-size:12px;color:var(--ink-3)}

/* 商务 */
.contact{background:var(--gray);border-radius:var(--r-lg);padding:40px 44px;display:flex;gap:48px;align-items:stretch}
.ct-l{flex:1}
.ct-l h2{font-size:24px}
.ct-l p{font-size:14px;color:var(--ink-2);line-height:1.85;margin-top:10px;max-width:460px}
.ways{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cw{background:#fff;border-radius:var(--r-md);padding:14px 16px;display:flex;gap:12px;align-items:center}
.cw .ic{width:36px;height:36px;flex:none;border-radius:10px;background:var(--brand-soft);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--brand-d);font-weight:600}
.cw .t{font-size:12px;color:var(--ink-3);line-height:1.5}
.cw.wide{grid-column:1/3}
.cw .v{font-family:var(--num);font-size:16px;font-weight:600}
.ct-r{width:400px;flex:none;padding-left:48px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.ct-r .ti{font-size:13px;color:var(--ink-3);margin-bottom:20px}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px}
.stp{display:flex;gap:12px;align-items:flex-start}
.stp b{width:28px;height:28px;flex:none;border-radius:50%;background:#fff;font-size:12px;color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-weight:600}
.stp div{font-size:12.5px;color:var(--ink-3);line-height:1.7}
.stp div span{display:block;font-size:14px;color:var(--ink);font-weight:600}

/* FAQ */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.fq{padding:22px 0;border-bottom:1px solid var(--line)}
.fq h4{font-size:16px;display:flex;gap:10px}
.fq h4 span{color:var(--brand);font-size:14px;font-weight:600}
.fq p{font-size:13px;color:var(--ink-2);margin-top:8px;padding-left:24px;line-height:1.85}

/* 页脚 */
.foot{background:#fff;border-top:1px solid var(--line-2);padding:56px 0 0;font-size:13px;color:var(--ink-2)}
.foot .cols{display:flex;gap:64px;padding-bottom:40px}
.foot .c1{width:290px}
.foot .c1 .lg{display:flex;align-items:center;gap:10px}
.foot .c1 .lg b{font-size:17px;letter-spacing:3px;color:var(--ink)}
.foot .c1 p{margin-top:14px;line-height:1.9;font-size:12px;color:var(--ink-3)}
.foot dt{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:10px}
.foot dd{line-height:2.2;font-size:12.5px;color:var(--ink-3)}
.foot dd a:hover{color:var(--ink)}
.foot .tel{margin-left:auto;text-align:right}
.foot .tel .lb{font-size:12px;color:var(--ink-3)}
.foot .tel .n{font-family:var(--num);font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.3px}
.foot .tel p{font-size:12px;line-height:1.9;margin-top:6px;color:var(--ink-3)}
.copy{border-top:1px solid var(--line-2);line-height:52px;font-size:12px;color:var(--ink-3);display:flex;justify-content:space-between}


/* ===== v19 配色层：象牙 + 焦橙 + 黑金 ===== */
body{background:var(--bg)}
.header{background:rgba(248,244,238,.82);border-bottom-color:var(--line-2)}
.btn{background:var(--paper);box-shadow:inset 0 0 0 1px var(--line)}
.btn:hover{background:#fff;box-shadow:inset 0 0 0 1px rgba(120,90,50,.24)}
.btn.brand{background:linear-gradient(180deg,#EC7331 0%,#DB5816 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 6px 16px rgba(219,88,22,.24)}
.btn.brand:hover{background:linear-gradient(180deg,#E2692A 0%,#C94E10 100%)}
.btn.line{background:transparent;box-shadow:inset 0 0 0 1px rgba(226,98,28,.5)}
.btn.gold{background:var(--gold-grad);color:#1A130C;font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 20px rgba(0,0,0,.35)}
.btn.gold:hover{filter:brightness(1.06)}

.hero{background:radial-gradient(70% 60% at 50% 0%,#FBEADB 0%,rgba(251,234,219,0) 70%),var(--bg)}
.panel{background:var(--paper)}
.sec{background:var(--bg)}
.sec.alt,.sandband{background:var(--paper)}
.plat{background:var(--paper);border-top:1px solid var(--line-2)}
.card,.mj-l,.rklist,.pk-main,.ls,.cs{background:#fff}
.agband{background:var(--bg)}
.agband>.wrap{background:linear-gradient(160deg,#FBE9D9 0%,#FFF6EE 60%,#FFFBF6 100%);box-shadow:0 0 0 1px rgba(210,120,50,.12)}
.foot{background:var(--paper);border-top:1px solid var(--line)}

/* 活动主卡：黑金 */
.cmain{background:var(--noir-bg);box-shadow:0 0 0 1px rgba(210,165,92,.16),0 24px 50px rgba(30,18,8,.22)}
.cm-l .badge{color:var(--gold);padding:3px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(210,165,92,.45);font-weight:500}
.cm-l h3{color:#F6E8CC}
.cm-l h3 em{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cm-l .desc{color:var(--gold-mute)}
.cm-tags span{background:rgba(210,165,92,.10);color:var(--gold-txt);box-shadow:inset 0 0 0 1px rgba(210,165,92,.24)}
.cm-l .acts .note{color:var(--gold-mute)}

/* 书单中间卡：浅橙强调（普通活动，不用黑金） */
.ls.hi{background:linear-gradient(170deg,#FFE7D4 0%,#FFF3E9 55%,#FFFAF5 100%);box-shadow:0 0 0 1.5px rgba(226,98,28,.45),0 18px 40px rgba(210,100,30,.14)}
.ls.hi .tag{color:var(--brand-d)}
.ls.hi .rows div{border-color:rgba(210,110,40,.16)}
.ls.hi .price{color:var(--brand-d)}
.ls.hi .pz i{background:var(--brand);color:#fff}
.ls.hi,.ls.hi h3{color:var(--ink)}
.ls.hi .cnt{color:var(--ink-2)}
.ls.hi .rows div{color:var(--ink-3)}
.ls.hi .rows div b{color:var(--ink)}
.ls.hi .price s{color:var(--ink-4)}
.ls.hi .btn.brand{background:linear-gradient(180deg,#EC7331 0%,#DB5816 100%);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 6px 16px rgba(219,88,22,.24)}
.ls.hi .btn.brand:hover{background:linear-gradient(180deg,#E2692A 0%,#C94E10 100%)}

/* 细节：数字价格用墨色，章节标题下加一道金线 */
.sh h2{position:relative}
.sh .l::before{content:"";width:28px;height:2px;border-radius:2px;background:var(--gold-grad);margin-bottom:6px}

/* 全站文字链接箭头：与文字垂直居中 */
.sh .more,.camp-hd .lk,.plat .more,.cs .go{display:inline-flex;align-items:center;gap:4px;line-height:1}
.cs .go{align-self:flex-start}
.sh .more:hover .i-ar,.camp-hd .lk:hover .i-ar,.plat .more:hover .i-ar,.cs:hover .go .i-ar{transform:translateX(3px)}


/* =========================================================
   上线补充：真实数据与交互组件（设计稿里没有的部分）
   ========================================================= */
/* 真实封面图：铺满 3:4 容器 */
.cover img.art{object-fit:cover}

/* 顶栏：登录后用户入口 */
.hd-r .uname{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-weight:500}
.hd-r a.out{color:var(--ink-3);font-size:13px}

/* 空状态 */
.empty{padding:48px 0;text-align:center;color:var(--ink-3);font-size:14px}
