/* =========================================================
   作品详情页（改编权）· 增量样式
   ========================================================= */
.btn:focus-visible,.rt-tab:focus-visible,.opt:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

.dtop{background:radial-gradient(55% 60% at 18% 0%,#FBEADB 0%,rgba(251,234,219,0) 72%),var(--bg)}
.crumb{display:flex;align-items:center;gap:8px;padding-top:22px;font-size:13px;color:var(--ink-3)}
.crumb a:hover{color:var(--ink)}
.crumb i{font-style:normal;color:var(--ink-4)}
.crumb span{color:var(--ink-2)}

.dgrid{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:44px;align-items:start;padding:26px 0 88px}

/* 头部：封面 + 基本信息 */
.dhead{display:flex;gap:40px}
.dhead .cover{width:236px;border-radius:14px;box-shadow:0 2px 4px rgba(60,40,20,.08),0 26px 50px rgba(60,40,20,.22)}
.dinfo{flex:1;min-width:0;display:flex;flex-direction:column;padding-top:4px}
.dinfo .gen{display:flex;gap:8px}
.dinfo .gen span{font-size:12px;line-height:1;padding:5px 11px;border-radius:999px;background:var(--paper);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}
.dinfo .gen span.st{background:var(--brand-soft);color:var(--brand-d);box-shadow:none;font-weight:500}
.dinfo h1{font-size:42px;line-height:1.2;letter-spacing:1.5px;margin-top:16px;font-weight:700}
.dinfo .by{font-size:15px;color:var(--ink-2);margin-top:10px}
.dinfo .by em{font-style:normal;color:var(--ink-4);margin:0 10px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:24px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{padding-left:20px;border-left:1px solid var(--line-2)}
.facts div:first-child{padding-left:0;border-left:0}
.facts b{display:block;font-family:var(--num);font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.facts b em{font-family:var(--sans);font-style:normal;font-size:12px;font-weight:400;color:var(--ink-3);margin-left:3px;letter-spacing:0}
.facts span{font-size:12px;color:var(--ink-3)}
.dinfo .lead{font-size:15px;line-height:1.9;color:var(--ink-2);margin-top:20px;max-width:540px}
.rsum{margin-top:auto;padding-top:20px;display:flex;gap:10px}
.rsum button{all:unset;cursor:pointer;flex:1;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px var(--line-2);transition:box-shadow .3s var(--ease),background .3s var(--ease)}
.rsum button:hover{background:#fff;box-shadow:inset 0 0 0 1px rgba(210,120,50,.35)}
.rsum small{display:block;font-size:12px;color:var(--ink-3);line-height:1.4}
.rsum b{font-family:var(--num);font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.rsum b em{font-family:var(--sans);font-style:normal;font-size:12px;font-weight:400;color:var(--ink-3);margin-left:2px}

/* 正文区块 */
.dsec{margin-top:56px}
.dsec>h2{display:flex;align-items:baseline;gap:12px;font-size:22px;letter-spacing:.3px}
.dsec>h2::before{content:"";align-self:center;width:4px;height:18px;border-radius:2px;background:var(--gold-grad)}
.dsec>h2 small{font-size:13px;font-weight:400;color:var(--ink-3);letter-spacing:0}
.dbox{margin-top:18px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh);padding:28px 32px}
.syn p{font-size:15px;line-height:2;color:var(--ink-2);max-width:680px}
.syn p+p{margin-top:12px}

/* @2026.10.11 核心看点 / 改编参考 / 主要人物（xsbq/sellinfo，作品详情和剧本详情共用） */
.sp-pts{counter-reset:sp;display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}
.sp-pts li{counter-increment:sp;position:relative;padding-left:34px;font-size:15px;line-height:1.85;color:var(--ink)}
.sp-pts li::before{content:counter(sp);position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:var(--brand-soft);color:var(--brand-d);font-family:var(--num);font-size:12px;font-weight:600;line-height:22px;text-align:center}
.sp-ft{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sp-pts+.sp-ft{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2)}
.sp-tag{font-size:12px;line-height:1;padding:6px 11px;border-radius:999px;background:var(--brand-soft);color:var(--brand-d)}
.sp-fit{font-size:13px;color:var(--ink-3);margin-left:4px}

.fitg{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}
.fitg div{display:flex;gap:16px;padding:14px 0;border-top:1px solid var(--line-2)}
.fitg div:nth-child(-n+2){border-top:0;padding-top:0}
.fitg dt{width:64px;flex:none;font-size:13px;color:var(--ink-3);line-height:1.8}
.fitg dd{min-width:0;font-size:14px;color:var(--ink);line-height:1.8}
.fitg dd small{display:block;font-size:12px;color:var(--ink-3);line-height:1.7;margin-top:2px}
.fit-why{margin-top:18px;padding:14px 18px;border-radius:12px;background:var(--brand-soft);font-size:14px;line-height:1.85;color:var(--ink-2)}
.fit-why b{display:block;font-size:13px;color:var(--brand-d);margin-bottom:2px}

.roles{margin-top:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.role{display:flex;gap:14px;background:#fff;border-radius:var(--r-md);padding:18px 20px;box-shadow:var(--sh)}
.role .av{width:44px;height:44px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;color:#fff;background:#8A6A4A}
.role:nth-child(4n+1) .av{background:#2E4A66}
.role:nth-child(4n+2) .av{background:#B0563A}
.role:nth-child(4n+3) .av{background:#6B5A48}
.role .rb{min-width:0}
.role h4{font-size:15px;line-height:1.5}
.role .tp{font-size:12px;color:var(--ink-3);margin-top:1px}
.role p{font-size:13px;color:var(--ink-2);line-height:1.75;margin-top:6px}

.xsell{margin-top:18px;display:flex;gap:26px;align-items:center;border-radius:var(--r-lg);padding:22px 28px 22px 22px;background:linear-gradient(165deg,#FBE9D9 0%,#FFF6EE 55%,#FFFBF6 100%);box-shadow:0 0 0 1px rgba(210,120,50,.14)}
.xsell .cover{width:88px;border-radius:8px;box-shadow:0 10px 22px rgba(90,50,20,.2)}
.xsell .bd{flex:1}
.xsell .k{font-size:12px;color:var(--brand-d);font-weight:600}
.xsell h4{font-size:19px;margin-top:4px}
.xsell .spec{margin-top:10px}
.xsell .spec span{background:rgba(255,255,255,.8)}
.xsell .ex{font-size:13px;color:var(--ink-2);line-height:1.8;margin-top:10px;max-width:440px}
.xsell .rt{flex:none;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.xsell .price{font-size:24px}

.dlv{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.dv{background:#fff;border-radius:var(--r-md);padding:20px 22px;box-shadow:var(--sh)}
.dv svg{width:30px;height:30px;color:var(--brand)}
.dv h4{font-size:15px;margin-top:10px}
.dv p{font-size:13px;color:var(--ink-2);line-height:1.75;margin-top:4px}
.dlv-ft{margin-top:14px;display:flex;justify-content:space-between;font-size:13px;color:var(--ink-3)}
.dlv-ft a{color:var(--brand-d);font-weight:500;display:inline-flex;align-items:center;gap:4px}

.dfaq{margin-top:10px}
.dfaq .fq{padding:18px 0}
.dfaq .fq p{max-width:680px}

/* 右侧权利卡（吸顶） */
.rc{position:sticky;top:88px;background:#fff;border-radius:var(--r-lg);box-shadow:0 0 0 1px rgba(120,90,50,.08),0 4px 10px rgba(90,60,25,.04),0 26px 56px rgba(90,60,25,.11);overflow:hidden}
.rc-hd{padding:20px 22px 0}
.rc-hd .t{font-size:13px;color:var(--ink-3)}
.rt-tabs{margin-top:10px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:12px;background:var(--gray)}
.rt-tab{all:unset;cursor:pointer;text-align:center;padding:7px 0 8px;border-radius:9px;transition:background .3s var(--ease),box-shadow .3s var(--ease)}
.rt-tab b{display:block;font-size:14px;line-height:20px;font-weight:500;color:var(--ink-2)}
.rt-tab small{display:block;font-family:var(--num);font-size:11px;line-height:14px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.rt-tab[aria-selected="true"]{background:#fff;box-shadow:0 1px 2px rgba(60,40,20,.08),0 4px 10px rgba(60,40,20,.06)}
.rt-tab[aria-selected="true"] b{color:var(--ink);font-weight:600}
.rt-tab[aria-selected="true"] small{color:var(--brand-d)}
.rc-bd{padding:18px 22px 0}
.pane[hidden]{display:none}
.opts{display:flex;flex-direction:column;gap:8px}
.opt{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .25s var(--ease),background .25s var(--ease)}
.opt:hover{box-shadow:inset 0 0 0 1px rgba(210,120,50,.4)}
.opt .rd{width:16px;height:16px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink-4);transition:box-shadow .25s var(--ease)}
.opt .nm{flex:1}
.opt .nm b{display:block;font-size:14px;line-height:20px}
.opt .nm small{display:block;font-size:12px;line-height:16px;color:var(--ink-3)}
.opt .pr{font-family:var(--num);font-size:19px;font-weight:600;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.opt[aria-checked="true"]{background:#FFF8F2;box-shadow:inset 0 0 0 1.5px var(--brand)}
.opt[aria-checked="true"] .rd{box-shadow:inset 0 0 0 5px var(--brand)}
.opt.off{cursor:default;background:var(--bg);box-shadow:none}
.opt.off .rd{box-shadow:inset 0 0 0 1.5px var(--gray-2)}
.opt.off .nm b,.opt.off .pr{color:var(--ink-4)}
.opt.off .pr{font-family:var(--sans);font-size:13px;font-weight:400;letter-spacing:0}
.rdl{margin-top:16px}
.rdl div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid var(--line-2);font-size:13px;line-height:1.6}
.rdl dt{color:var(--ink-3);flex:none}
.rdl dd{color:var(--ink);text-align:right}
.rdl dd i{font-style:normal;font-size:12px;color:var(--ink-3);display:block}
.rnote{margin-top:6px;padding:10px 12px;border-radius:10px;background:var(--bg);font-size:12px;line-height:1.7;color:var(--ink-2)}
.rnote a{color:var(--brand-d);font-weight:500}
.rc-act{padding:18px 22px 0;display:flex;flex-direction:column;gap:8px}
.rc-act .btn{width:100%}
.rc-tip{padding:12px 22px 18px;font-size:12px;line-height:1.7;color:var(--ink-3);text-align:center}
.rc-ag{display:flex;gap:10px;align-items:flex-start;padding:14px 22px 16px;background:var(--bg);border-top:1px solid var(--line-2);font-size:12px;line-height:1.7;color:var(--ink-2)}
.rc-ag svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--brand-d)}
.rc-ag b{color:var(--ink)}
.rc-id{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;color:var(--ink-3)}
.rc-id b{font-family:var(--num);font-weight:500;color:var(--ink-2);letter-spacing:.3px}

/* 同题材 */
.more-band{background:var(--paper);border-top:1px solid var(--line-2);padding:64px 0 80px}
.more-band .sh{margin-bottom:26px}
.more-band .sh h2{font-size:26px}
.more-band .row{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
