/* 作品详情页第二版：所有规则均限制在 detail-v2-page 内。 */
.detail-v2-page .site-main.with-compact-rail{margin-left:256px;width:calc(100% - 256px)}
.detail-v2-page .compact-rail{width:256px;padding:64px 24px;background:var(--accent)}
.detail-v2-page .topbar.is-transparent{height:56px}
.detail-v2-page .v2t-page{position:relative;isolation:isolate;min-height:100vh;background:var(--background);color:var(--text);--v2t-left:32px;--v2t-cover-w:200px;--v2t-gap:24px}
.detail-v2-page .v2t-page::before{content:"";position:absolute;z-index:0;left:0;right:0;top:280px;height:234px;background:linear-gradient(var(--background),color-mix(in srgb,var(--background) 88%,transparent)),var(--v2t-cover) center 45%/cover no-repeat;filter:blur(12px);opacity:.14}
.detail-v2-page .v2t-page>section,.detail-v2-page .v2t-page>nav,.detail-v2-page .v2t-page>.v2t-content{position:relative;z-index:1}
.detail-v2-page .v2t-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.v2t-hero{height:280px;position:relative;color:#fff;background:linear-gradient(90deg,rgba(4,17,39,.77),rgba(0,27,67,.42)),var(--v2t-cover) center 35%/cover no-repeat}
.v2t-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,19,38,.25),rgba(0,31,72,.12));backdrop-filter:blur(5px)}
.v2t-cover{position:absolute;z-index:3;left:var(--v2t-left);top:64px;width:var(--v2t-cover-w);height:299px;border-radius:4px;overflow:hidden;background:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.28)}
.v2t-cover img{width:100%;height:100%;object-fit:cover}
.v2t-cover-language{position:absolute;right:8px;bottom:7px;display:grid;place-items:center;width:24px;height:24px;border-radius:3px;background:#fff;color:#ef3b2d;font-size:12px;font-weight:900;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.v2t-heading{position:absolute;z-index:3;left:calc(var(--v2t-left) + var(--v2t-cover-w) + var(--v2t-gap));right:24px;top:62px;height:202px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.v2t-heading h1{max-width:100%;font-family:Poppins,"Microsoft YaHei UI",sans-serif;font-size:72px;line-height:1.12;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 3px 8px rgba(0,0,0,.35)}
.v2t-heading h2{max-width:100%;font-size:21px;line-height:32px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2t-hero-author{margin-top:auto;font-size:17px;font-weight:700}
.v2t-hero-author:hover{text-decoration:underline}
.v2t-mobile-numbers,.v2t-mobile-tags{display:none}

.v2t-overview{position:relative;margin-left:calc(var(--v2t-left) + var(--v2t-cover-w) + var(--v2t-gap));padding:8px 32px 9px 0;min-height:218px}
.v2t-actions{height:64px;display:flex;align-items:center;gap:8px;position:relative}
.v2t-actions button,.v2t-read{border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;transition:background .15s,color .15s,transform .1s}
.v2t-actions button:active,.v2t-read:active{transform:translateY(1px)}
.v2t-library{width:220px;height:48px;padding:0 18px;background:var(--primary);color:#fff;font-size:16px}
.v2t-library:hover{background:var(--primary-dark)}
.v2t-library[aria-pressed="true"]{background:#2f9d65}
.v2t-library .md-icon{width:23px;height:23px}
.v2t-action{width:48px;height:48px;background:var(--accent);color:var(--text)}
.v2t-action:hover{background:var(--accent-2)}
.v2t-action .md-icon{width:24px;height:24px}
.v2t-action[aria-pressed="true"]{color:var(--primary)}
.v2t-mobile-more,.v2t-read{display:none}
.v2t-more-menu{position:absolute;z-index:40;top:58px;left:56px;width:180px;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--background);box-shadow:0 10px 30px rgba(0,0,0,.2)}
.v2t-more-menu button{width:100%;height:38px;padding:0 10px;justify-content:flex-start;background:var(--accent)}
.v2t-more-menu button+button{margin-top:6px}
.v2t-more-menu .md-icon{width:20px;height:20px}
.v2t-desktop-tags,.v2t-mobile-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.v2t-tag{display:inline-flex;align-items:center;min-height:19px;padding:2px 7px;border-radius:3px;background:var(--accent);font-size:10px;line-height:15px;font-weight:800;text-transform:uppercase;color:var(--text)}
.v2t-tag:hover{background:var(--accent-2)}
.v2t-tag.is-primary{background:#f28b00;color:#fff}
.v2t-pub{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;text-transform:uppercase}
.v2t-pub i{width:8px;height:8px;border-radius:50%;background:#10bad2}
.v2t-desktop-numbers,.v2t-mobile-numbers{height:42px;display:flex;align-items:center;gap:10px;color:var(--text-soft);font-size:16px}
.v2t-desktop-numbers span,.v2t-mobile-numbers span{display:flex;align-items:center;gap:4px}
.v2t-desktop-numbers .md-icon,.v2t-mobile-numbers .md-icon{width:18px;height:18px}
.v2t-rating{color:var(--primary)!important}
.v2t-muted{color:var(--muted)}
.v2t-summary{position:relative;padding:7px 0 22px;min-height:92px;font-size:14px;line-height:20px}
.v2t-summary button{display:none}

.v2t-tabs{width:max-content;max-width:calc(100% - 64px);height:40px;margin:0 var(--v2t-left);padding:4px 4px 0;display:flex;align-items:stretch;background:var(--accent);overflow-x:auto;scrollbar-width:thin}
.v2t-tabs button{height:36px;padding:0 12px;color:#b8b8b8;font-size:16px;font-weight:800;white-space:nowrap}
.v2t-tabs button.is-active{background:#080808;color:#fff;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.v2t-content{display:grid;grid-template-columns:333px minmax(0,1fr);gap:24px;padding:18px 32px 64px}
.v2t-meta{min-width:0;color:var(--text)}
.v2t-meta section{margin-bottom:17px}
.v2t-meta h3{margin:0 0 8px;font-size:16px;line-height:22px}
.v2t-meta a,.v2t-meta-pills span,.v2t-meta-pair span{display:inline-flex;align-items:center;min-height:28px;margin:0 6px 6px 0;padding:4px 9px;border-radius:4px;background:var(--accent);font-size:12px;color:var(--text-soft)}
.v2t-meta a:hover{background:var(--accent-2);color:var(--text)}
.v2t-meta p{font-size:13px;color:var(--text-soft);overflow-wrap:anywhere}
.v2t-meta-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.v2t-panels{min-width:0}
.v2t-panel{display:none}.v2t-panel.is-active{display:block}

.v2t-chapter-tools{min-height:68px;display:flex;align-items:center;gap:12px}
.v2t-chapter-tools>label{display:flex;align-items:center;gap:10px;font-size:16px;white-space:nowrap}
.v2t-chapter-tools input{width:20px;height:20px;accent-color:var(--primary)}
.v2t-chapter-tools input:disabled{opacity:.45;cursor:not-allowed}
.v2t-chapter-tools>button{height:32px;padding:0 10px;border-radius:3px;background:var(--accent);display:flex;align-items:center;gap:7px}
.v2t-chapter-tools>button:hover{background:var(--accent-2)}
.v2t-chapter-tools>button .md-icon{width:18px;height:18px}
.v2t-chapter-tools>[data-v2-sort]{margin-left:8px}
.v2t-pagination{margin-left:auto;display:flex;align-items:center;gap:8px}
.v2t-pagination button{width:32px;height:32px;border-radius:4px;background:var(--accent);font-size:25px;line-height:1}
.v2t-pagination button:disabled{opacity:.3;cursor:default}
.v2t-pagination span{min-width:42px;text-align:center;font-size:14px;font-weight:400}
.v2t-pagination b{font-weight:400}
.v2t-index{margin-left:0;min-width:96px;justify-content:center;font-size:14px}
.v2t-unavailable-note{margin:0 0 10px;padding:9px 12px;border-radius:4px;background:var(--accent);font-size:13px;color:var(--text-soft)}
.v2t-volume{margin-bottom:10px}
.v2t-volume-head{width:100%;height:38px;padding:0 8px;display:flex;align-items:center;justify-content:space-between;color:var(--text-soft);font-size:16px;text-align:left}
.v2t-volume-head span:last-child{font-size:14px}
.v2t-volume.is-collapsed .v2t-chapter-list{display:none}
.v2t-volume.is-collapsed .v2t-volume-head span:last-child{transform:rotate(180deg)}
.v2t-chapter-list{display:grid;gap:8px}
.v2t-chapter{width:100%;min-height:52px;padding:5px 8px;border:0;display:grid;grid-template-columns:minmax(0,1fr) 150px 90px;align-items:center;gap:12px;background:var(--accent);border-radius:2px;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.v2t-chapter:hover{background:var(--accent-2)}
.v2t-chapter.is-locked{padding-left:5px;border-left:3px solid color-mix(in srgb,var(--muted) 64%,transparent);color:var(--text-soft)}
.v2t-chapter.is-locked:hover{border-left-color:var(--primary);background:var(--accent-2)}
.v2t-chapter-name{min-width:0;display:flex;flex-direction:column;gap:3px}
.v2t-chapter-name b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2t-chapter-name b i{display:inline-grid;place-items:center;width:20px;height:14px;margin-right:7px;border-radius:2px;background:#e43c32;color:#fff;font-size:9px;font-style:normal;vertical-align:1px}
.v2t-chapter-name small{display:flex;align-items:center;gap:5px;color:var(--text-soft)}
.v2t-chapter-name .md-icon{width:17px;height:17px}
.v2t-chapter-time{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-soft)}
.v2t-chapter-time .md-icon{width:15px;height:15px}
.v2t-chapter-counts{display:grid;gap:3px;justify-items:end;font-size:12px;color:var(--text-soft)}
.v2t-chapter-counts small{display:flex;align-items:center;gap:3px}
.v2t-chapter-counts .md-icon{width:15px;height:15px}
.v2t-chapter-lock{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:var(--text-soft);font-size:12px;font-weight:700;white-space:nowrap}
.v2t-lock-mark{position:relative;width:15px;height:12px;margin-top:3px;border:2px solid currentColor;border-radius:2px;box-sizing:border-box}
.v2t-lock-mark::before{content:"";position:absolute;left:2px;top:-8px;width:7px;height:8px;border:2px solid currentColor;border-bottom:0;border-radius:7px 7px 0 0;box-sizing:border-box}
.v2t-empty{min-height:230px;padding:64px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-soft);background:var(--accent);border-radius:4px}
.v2t-empty>.md-icon{width:32px;height:32px;margin-bottom:10px}
.v2t-empty strong{font-size:18px;color:var(--text)}
.v2t-empty p{margin-top:8px;max-width:520px;font-size:14px}
.v2t-recommendations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:16px}
.v2t-rec{min-width:0;display:flex;flex-direction:column;gap:4px}
.v2t-rec img{width:100%;aspect-ratio:5/7;object-fit:cover;border-radius:4px;background:var(--accent)}
.v2t-rec strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2t-rec small{font-size:12px;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.v2t-dialog-backdrop{position:fixed;z-index:119;inset:0;background:rgba(0,0,0,.45)}
.v2t-dialog{position:fixed;z-index:120;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--background);box-shadow:0 18px 55px rgba(0,0,0,.3)}
.v2t-dialog h2{font-size:22px;margin:0 0 12px}
.v2t-dialog p{font-size:14px;color:var(--text-soft);line-height:1.6}
.v2t-dialog-close{position:absolute;right:10px;top:10px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%}
.v2t-dialog-close:hover{background:var(--accent)}
.v2t-dialog-close .md-icon{width:20px;height:20px}
.v2t-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:22px}
.v2t-dialog-actions a,.v2t-dialog-actions button{height:38px;padding:0 18px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
.v2t-dialog-secondary{background:var(--accent);color:var(--text)}
.v2t-dialog-secondary:hover{background:var(--accent-2)}
.v2t-dialog-cancel{background:transparent;color:var(--text-soft)}
.v2t-dialog-cancel:hover{background:var(--accent)}
.v2t-dialog-confirm{background:var(--primary);color:#fff}
.v2t-dialog-confirm:hover{background:var(--primary-dark)}
.v2t-not-found{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.v2t-not-found strong{font-size:24px}.v2t-not-found p{color:var(--text-soft)}.v2t-not-found a{color:var(--primary)}

@media (max-width:1100px) and (min-width:1024px){
  .v2t-heading h1{font-size:50px}
  .v2t-content{grid-template-columns:260px minmax(0,1fr)}
  .v2t-chapter{grid-template-columns:minmax(0,1fr) 110px 70px}
  .v2t-recommendations{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:1023px){
  .detail-v2-page .site-main.with-compact-rail{margin-left:0;width:100%}
  .detail-v2-page .compact-rail{display:none}
  .detail-v2-page .topbar.is-transparent{position:absolute;z-index:30;height:56px;padding:8px 16px;background:transparent;color:#1d1d1d}
  .detail-v2-page .topbar .top-search{width:40px;height:40px;margin-left:auto;padding:0;background:rgba(255,255,255,.86)}
  .detail-v2-page .topbar .top-search input,.detail-v2-page .topbar .top-search>span{display:none}
  .detail-v2-page .topbar .top-search button{width:40px;height:40px}
  .detail-v2-page .profile-button{margin-left:8px;background:rgba(255,255,255,.86)}
  .detail-v2-page .v2t-page{--v2t-left:16px;--v2t-cover-w:100px;--v2t-gap:16px}
  .detail-v2-page .v2t-page::before{display:none}
  .v2t-hero{height:286px;background-position:center 30%}
  .v2t-hero::after{background:linear-gradient(90deg,rgba(236,241,247,.71),rgba(236,241,247,.48));backdrop-filter:blur(4px)}
  html[data-theme="dark"] .v2t-hero::after{background:linear-gradient(90deg,rgba(14,20,26,.72),rgba(14,20,26,.47))}
  .v2t-cover{top:64px;width:100px;height:150px}
  .v2t-cover-language{right:7px;bottom:5px;width:22px;height:20px;font-size:11px}
  .v2t-heading{left:132px;right:12px;top:64px;height:102px;color:var(--text)}
  .v2t-heading h1{font-size:26px;line-height:34px;text-shadow:none;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .v2t-heading h2{font-size:16px;line-height:22px}
  .v2t-hero-author{margin-top:0;font-size:13px}
  .v2t-mobile-numbers{position:absolute;z-index:4;left:132px;right:8px;top:190px;height:28px;display:flex;gap:8px;color:var(--text);font-size:13px}
  .v2t-mobile-numbers .md-icon{width:17px;height:17px}
  .v2t-mobile-tags{position:absolute;z-index:4;left:16px;right:12px;top:226px;display:flex;gap:4px;max-height:54px;overflow:hidden;color:var(--text)}
  .v2t-mobile-tags .v2t-tag{font-size:9px;padding:1px 5px;min-height:18px}
  .v2t-mobile-tags .v2t-pub{font-size:10px}
  .v2t-overview{margin:0;padding:8px 16px 0;min-height:183px}
  .v2t-actions{height:56px;gap:8px}
  .v2t-library{width:40px;height:40px;padding:0}
  .v2t-library span{display:none}
  .v2t-library .md-icon{width:22px;height:22px}
  .v2t-action{width:40px;height:40px}
  .v2t-desktop-action{display:none!important}
  .v2t-mobile-more{display:inline-flex}
  .v2t-read{height:40px;display:flex;flex:1;background:var(--accent);font-size:18px}
  .v2t-read.is-disabled{opacity:.55}
  .v2t-more-menu{top:49px;left:48px}
  .v2t-desktop-tags,.v2t-desktop-numbers{display:none}
  .v2t-summary{min-height:118px;max-height:126px;overflow:hidden;padding:7px 0 28px;font-size:14px;line-height:20px}
  .v2t-summary::after{content:"";position:absolute;left:0;right:0;bottom:23px;height:42px;background:linear-gradient(transparent,var(--background))}
  .v2t-summary.is-expanded{max-height:none}
  .v2t-summary.is-expanded::after{display:none}
  .v2t-summary button{display:flex;position:absolute;z-index:3;left:50%;bottom:0;transform:translateX(-50%);height:24px;align-items:center;gap:7px;padding:0 10px;background:var(--primary);color:#fff;font-size:12px;white-space:nowrap}
  .v2t-summary.is-expanded button{position:relative;left:auto;bottom:auto;transform:none;margin:8px auto 0}
  .v2t-tabs{width:calc(100% - 16px);max-width:calc(100% - 16px);height:40px;margin:0 0 0 16px;padding:4px 4px 0;background:var(--accent)}
  .v2t-tabs button{font-size:16px;padding:0 11px}
  .v2t-content{display:block;padding:0 16px 40px}
  .v2t-meta{display:none}
  .v2t-chapter-tools{min-height:100px;display:grid;grid-template-columns:40px 1fr auto;gap:8px;padding:12px 0}
  .v2t-chapter-tools>label{grid-column:1/-1;font-size:16px}
  .v2t-chapter-tools>[data-v2-sort]{grid-column:1;margin-left:0;width:32px;padding:0;justify-content:center}
  .v2t-chapter-tools>[data-v2-sort] span{display:none}
  .v2t-pagination{grid-column:2;margin-left:auto}
  .v2t-index{grid-column:3;min-width:32px;width:32px;padding:0!important}
  .v2t-index span{display:none}
  .v2t-volume{margin-bottom:8px}
  .v2t-volume-head{height:38px;padding:0;font-size:16px}
  .v2t-chapter-list{gap:8px}
  .v2t-chapter{min-height:68px;padding:5px 6px;grid-template-columns:minmax(0,1fr) 92px;gap:5px}
  .v2t-chapter-name b{font-size:12px}
  .v2t-chapter-name small{font-size:12px}
  .v2t-chapter-time{grid-column:2;grid-row:2;justify-content:flex-end;font-size:11px}
  .v2t-chapter-counts{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;gap:1px}
  .v2t-chapter-lock{grid-column:2;grid-row:1/3;align-self:center}
  .v2t-empty{min-height:230px;margin-top:16px;padding:44px 18px}
  .v2t-recommendations{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}

@media (max-width:420px){
  .v2t-heading h1{font-size:24px}
  .v2t-mobile-numbers{gap:6px}
  .v2t-tabs button{padding:0 10px}
}
