/* =========================================================
   Publication 报刊库 · 横幅列表  (v1.2.5)
   从 example bang-dream.com game 页 .p-game-list 原样迁移，
   类名前缀 p-game-list → bsp-pub，尺寸数值与 calc(*var(--base))/
   vw 体系一律不改；去掉了每期专属游戏插画底色与 ournotes 变体，
   其余（半透明白点底、模糊渐变色带、双色横线、投影圆角封面、
   圆点按钮 hover、奇偶反向、响应式）均原样保留。
   ========================================================= */

/* —— 横幅舞台：铺满报刊页宽，内置原站 --base 三档，overflow 裁剪溢出 —— */
.bsp-pub{
	position:relative;
	overflow:hidden;
	width:100%;
	--base:1920px;
	z-index:1;
}
@media print,screen and (min-width:1025px) and (max-width:1279px){
	.bsp-pub{ --base:150vw; }
}
@media print,screen and (min-width:1921px){
	.bsp-pub{ --base:100vw; }
}
@media print,screen and (max-width:1024px){
	/* 小屏横幅走原站 vw 体系 */
}

/* 让主题页头下方的空档与横幅内边距协调 */
.bsp-pub{padding:clamp(10px,1vw,18px) 0;}

/* —— 原站 .p-game-list 规则（类名迁移后原样） —— */
.bsp-pub__inner{
width:100%;margin:calc(.0364583333 * var(--base)) auto 0
}
@media print,screen and (max-width:1024px){
.bsp-pub__inner{
margin:6.1197916667vw auto 0
}

}
.bsp-pub__items{
display:grid;gap:calc(.0833333333 * var(--base))
}
@media print,screen and (max-width:1024px){
.bsp-pub__items{
gap:19.53125vw
}

}
.bsp-pub__item{
position:relative
}
.bsp-pub__item:before{
content:"";position:absolute;bottom:0;left:0;width:100%;height:calc(100% - .0416666667 * var(--base));background-color:rgba(253,253,253,.5);background-image:-webkit-radial-gradient(circle,#fdfdfd calc(.00078125 * var(--base)),rgba(253,253,253,0) calc(.00078125 * var(--base)));background-image:radial-gradient(circle,#fdfdfd calc(.00078125 * var(--base)),rgba(253,253,253,0) calc(.00078125 * var(--base)));background-size:calc(.0046875 * var(--base)) calc(.0046875 * var(--base));background-position:0 0;z-index:-1
}
@media print,screen and (max-width:1024px){
.bsp-pub__item:before{
height:calc(100% - 10.4166666667vw);background-image:-webkit-radial-gradient(circle,#fdfdfd .1953125vw,rgba(253,253,253,0) .1953125vw);background-image:radial-gradient(circle,#fdfdfd .1953125vw,rgba(253,253,253,0) .1953125vw);background-size:1.171875vw 1.171875vw
}

}
.bsp-pub__item:after{
content:"";position:absolute;bottom:calc(-.0416666667 * var(--base));left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:100vw;height:100%;background:-webkit-gradient(linear,left top,right top,from(#ff9db3),color-stop(19.23%,#e6a5ff),color-stop(38.46%,#84e0ff),color-stop(57.69%,#73ffb3),color-stop(80.29%,#fff978),to(#ffae82));background:-webkit-linear-gradient(left,#ff9db3 0,#e6a5ff 19.23%,#84e0ff 38.46%,#73ffb3 57.69%,#fff978 80.29%,#ffae82 100%);background:linear-gradient(90deg,#ff9db3 0,#e6a5ff 19.23%,#84e0ff 38.46%,#73ffb3 57.69%,#fff978 80.29%,#ffae82 100%);opacity:.1;-webkit-filter:blur(calc(.015625 * var(--base)));filter:blur(calc(.015625 * var(--base)));z-index:-2;will-change:filter
}
@media print,screen and (max-width:1024px){
.bsp-pub__item:after{
bottom:-10.4166666667vw;-webkit-filter:blur(3.90625vw);filter:blur(3.90625vw)
}

}
@media print,screen and (min-width:1025px){
.bsp-pub__item:nth-of-type(odd) .bsp-pub__item-inner{
-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse
}

}
.bsp-pub__item--garupa{
padding-bottom:calc(.0640625 * var(--base))
}
@media print,screen and (max-width:1024px){
.bsp-pub__item--garupa{
padding-bottom:16.5364583333vw
}

}
.bsp-pub__item--garupa .bsp-pub__item-deco:after,.bsp-pub__item--garupa .bsp-pub__item-deco:before{
background:-webkit-gradient(linear,left top,right top,from(#ffbcd0),to(#ffe6ef));background:-webkit-linear-gradient(left,#ffbcd0 0,#ffe6ef 100%);background:linear-gradient(90deg,#ffbcd0 0,#ffe6ef 100%)
}
.bsp-pub__item--garupa .bsp-pub__item-inner{
gap:calc(.0416666667 * var(--base))
}
@media print,screen and (max-width:1024px){
.bsp-pub__item--garupa .bsp-pub__item-inner{
-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:6.5104166667vw
}

}
.bsp-pub__item--garupa .bsp-pub__item-content{
width:calc(.3130208333 * var(--base));padding-top:calc(.1197916667 * var(--base))
}
@media print,screen and (max-width:1024px){
.bsp-pub__item--garupa .bsp-pub__item-content{
width:auto;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding-top:0
}

}
.bsp-pub__item--garupa .bsp-pub__item-logo{
width:calc(.3130208333 * var(--base))
}
@media print,screen and (max-width:1024px){
.bsp-pub__item--garupa .bsp-pub__item-logo{
width:84.375vw;margin-right:2.6041666667vw
}

}
.bsp-pub__item--garupa .bsp-pub__item-catch{
width:calc(.1802083333 * var(--base));margin-top:calc(.0104166667 * var(--base));margin-left:calc(.0776041667 * var(--base))
}
@media print,screen and (max-width:1024px){
.bsp-pub__item--garupa .bsp-pub__item-catch{
width:54.6875vw;margin-top:2.6041666667vw;margin-right:2.6041666667vw
}

}
.bsp-pub__item-deco{
position:absolute;bottom:0;left:0;width:100%;height:calc(100% - .0416666667 * var(--base));z-index:1;pointer-events:none
}
@media print,screen and (max-width:1024px){
.bsp-pub__item-deco{
height:calc(100% - 10.4166666667vw)
}

}
.bsp-pub__item-deco:before{
content:"";position:absolute;top:0;left:0;width:100%;height:calc(.0020833333 * var(--base))
}
@media print,screen and (max-width:1024px){
.bsp-pub__item-deco:before{
height:.78125vw
}

}
.bsp-pub__item-deco:after{
content:"";position:absolute;bottom:0;left:0;width:100%;height:calc(.0020833333 * var(--base))
}
@media print,screen and (max-width:1024px){
.bsp-pub__item-deco:after{
height:.78125vw
}

}
.bsp-pub__item-inner{
position:relative;display:-webkit-box;display:-webkit-flex;display:flex;width:calc(.8333333333 * var(--base));margin:0 auto;z-index:2
}
@media print,screen and (min-width:1025px) and (max-width:1679px){
.bsp-pub__item-inner{
width:100%;padding:0 calc(.0208333333 * var(--base))
}

}
@media print,screen and (max-width:1024px){
.bsp-pub__item-inner{
-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;width:92.1875vw
}

}
.bsp-pub__item-thumb{
position:relative;display:block;-webkit-flex-shrink:0;flex-shrink:0;width:calc(.4791666667 * var(--base));height:calc(.3541666667 * var(--base));-webkit-filter:drop-shadow(0 calc(.0052083333 * var(--base)) calc(.0104166667 * var(--base)) rgba(233, 197, 197, .3));filter:drop-shadow(0 calc(.0052083333 * var(--base)) calc(.0104166667 * var(--base)) rgba(233, 197, 197, .3));will-change:filter;border-radius:calc(.0104166667 * var(--base));overflow:hidden;z-index:1
}
@media print,screen and (min-width:1025px) and (max-width:1679px){
.bsp-pub__item-thumb{
-webkit-flex-shrink:1;flex-shrink:1;aspect-ratio:920/680;width:100%;height:100%
}

}
@media print,screen and (max-width:1024px){
.bsp-pub__item-thumb{
width:92.1875vw;height:68.0989583333vw;border-radius:2.6041666667vw
}

}
@media (any-hover:hover){
.bsp-pub__item-thumb img{
-webkit-transition:.2s cubic-bezier(.165,.525,.525,.875);transition:.2s cubic-bezier(.165,.525,.525,.875)
}
.bsp-pub__item-thumb:hover img{
-webkit-transform:scale(1.025);transform:scale(1.025);opacity:.8
}

}
.bsp-pub__item-thumb:before{
content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:calc(.0020833333 * var(--base)) solid #fdfdfd;border-radius:calc(.0104166667 * var(--base));z-index:2
}
@media print,screen and (max-width:1024px){
.bsp-pub__item-thumb:before{
border:.390625vw solid #fdfdfd;border-radius:2.6041666667vw
}

}
.bsp-pub__item-thumb img,.bsp-pub__item-thumb .bsp-pub__item-thumb-img{
	width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block
}
/* v1.4.10 修复：未发布期刊(无 PDF)的封面 thumb 用 <span> 不可点击。
   v1.4.15：封面不再灰化/去色——保持与已发布封面观感完全一致；
   不可点击仅靠 cursor:default(光标提示) + 「即将发布」按钮区分 */
.bsp-pub__item-thumb--disabled{
	cursor:default;position:relative;
}
.bsp-pub__item-thumb--disabled::after{ content:none }
.bsp-pub__item-content{
display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;width:100%
}
.bsp-pub__item-button{
display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;width:100%;margin-top:calc(.0348958333 * var(--base))
}
@media print,screen and (max-width:1024px){
.bsp-pub__item-button{
margin-top:11.328125vw;justify-content:center;-webkit-flex-wrap:wrap;flex-wrap:wrap
}

}
.bsp-pub__item-button-link{
position:relative;display:inline-block;padding:0 calc(.0364583333 * var(--base)) 0 0;font-weight:700;font-size:calc(.0083333333 * var(--base));line-height:100%;letter-spacing:.08em;color:#222;cursor:pointer;border:0;background:none;font-family:inherit
}
@media print,screen and (max-width:1024px){
.bsp-pub__item-button-link{
padding:0 14.3229166667vw 0 0;font-size:3.3854166667vw
}

}
@media (any-hover:hover){
.bsp-pub__item-button-link{
-webkit-transition:.2s cubic-bezier(.165,.525,.525,.875);transition:.2s cubic-bezier(.165,.525,.525,.875)
}
.bsp-pub__item-button-link span{
-webkit-transition:.2s cubic-bezier(.165,.525,.525,.875);transition:.2s cubic-bezier(.165,.525,.525,.875)
}
.bsp-pub__item-button-link span:before{
-webkit-transition:.2s cubic-bezier(.165,.525,.525,.875);transition:.2s cubic-bezier(.165,.525,.525,.875)
}
.bsp-pub__item-button-link:hover{
color:#f31864
}
.bsp-pub__item-button-link:hover span{
background:#f31864
}
.bsp-pub__item-button-link:hover span:before{
-webkit-transform:translate(-50%,-50%) scale(-1.2);transform:translate(-50%,-50%) scale(-1.2)
}

}
.bsp-pub__item-button{position:relative}
/* ============ v1.4.13/v1.4.22 版本切换：单按钮「⇄ 切换至XX」(无空格/不带"版")+ 三阶段朦胧转场 ============ */
/* —— 控件：单按钮；v1.4.20 文案改为提示「将切到的目标版本名」→「切换至 XX」，
       v1.4.22 去掉中间空格与末尾「版」字——版本名紧跟"切换至",如「切换至公开版」;
       交互意图比 v1.4.13 只显当前名更直白(点下去会跳到哪一版一目了然) —— */
.bsp-pub-version-toggle{
display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:.45em;
border:1px solid #f31864;border-radius:999px;background:#fff;color:#f31864;
font-weight:700;font-size:calc(.0083333333 * var(--base));letter-spacing:.04em;line-height:1.2;
padding:.5em 1.1em;margin-right:.9em;cursor:pointer;-webkit-appearance:none;appearance:none;
-webkit-transition:background .25s ease,color .25s ease,-webkit-box-shadow .25s ease;transition:background .25s ease,color .25s ease,box-shadow .25s ease
}
.bsp-pub-version-toggle:hover{background:#f31864;color:#fff;-webkit-box-shadow:0 4px 14px rgba(243,24,100,.28);box-shadow:0 4px 14px rgba(243,24,100,.28)}
.bsp-pub-version-toggle:active{-webkit-transform:scale(.97);transform:scale(.97)}
.bsp-pub-version-toggle__icon{font-size:1.05em;line-height:1;-webkit-transition:-webkit-transform .45s cubic-bezier(.22,.61,.36,1);transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.bsp-pub-version-toggle:hover .bsp-pub-version-toggle__icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}
/* 按钮上的版本目标名「切换至 XX 版」：禁止换行保持一行；快速朦胧小过渡 */
.bsp-pub-version-toggle__label{
display:inline-block;white-space:nowrap;
-webkit-transition:opacity .16s ease,-webkit-filter .16s ease;transition:opacity .16s ease,filter .16s ease
}
.bsp-pub-version-toggle__label.is-swapping{opacity:0;-webkit-filter:blur(3px);filter:blur(3px)}

/* —— 三阶段朦胧转场：blur+opacity 如雾气聚散,辅以极轻微缩放/位移 —— */
/* 基础：参与转场的元素(文字/封面人物/Logo) */
.bsp-pub__item [data-v-swap],
.bsp-pub__item-thumb-inner{
will-change:opacity,filter
}
/* v1.4.18 回退 v1.4.17 给 thumb-inner 加的基础规则：透明/普通模式各自媒体查询已独立
   定义 inner 几何(透明=absolute inset:0 / 普通=原生 inline span + img width:100%:100%),
   这里不再加额外规则,避免与媒体查询内规则互扰。 */
/* 淡出（朦胧消散）：①文字 0ms → ②人物(封面) 110ms → ③Logo 220ms；
   缓动 cubic-bezier(.4,0,.6,1) 加速隐去,从容不硬切 */
.bsp-pub__item--vt-out [data-v-swap]:not([data-v-swap="brand"]){
opacity:0;-webkit-filter:blur(6px);filter:blur(6px);-webkit-transform:translateY(5px);transform:translateY(5px);
-webkit-transition:opacity .42s cubic-bezier(.4,0,.6,1) 0s,-webkit-filter .42s cubic-bezier(.4,0,.6,1) 0s,-webkit-transform .42s cubic-bezier(.4,0,.6,1) 0s;
transition:opacity .42s cubic-bezier(.4,0,.6,1) 0s,filter .42s cubic-bezier(.4,0,.6,1) 0s,transform .42s cubic-bezier(.4,0,.6,1) 0s
}
.bsp-pub__item--vt-out .bsp-pub__item-thumb-inner{
opacity:0;-webkit-filter:blur(10px);filter:blur(10px);-webkit-transform:scale(.985);transform:scale(.985);-webkit-transform-origin:center center;transform-origin:center center;
-webkit-transition:opacity .42s cubic-bezier(.4,0,.6,1) .11s,-webkit-filter .42s cubic-bezier(.4,0,.6,1) .11s,-webkit-transform .42s cubic-bezier(.4,0,.6,1) .11s;
transition:opacity .42s cubic-bezier(.4,0,.6,1) .11s,filter .42s cubic-bezier(.4,0,.6,1) .11s,transform .42s cubic-bezier(.4,0,.6,1) .11s
}
.bsp-pub__item--vt-out [data-v-swap="brand"]{
opacity:0;-webkit-filter:blur(5px);filter:blur(5px);-webkit-transform:scale(.96);transform:scale(.96);-webkit-transform-origin:center center;transform-origin:center center;
-webkit-transition:opacity .34s cubic-bezier(.4,0,.6,1) .22s,-webkit-filter .34s cubic-bezier(.4,0,.6,1) .22s,-webkit-transform .34s cubic-bezier(.4,0,.6,1) .22s;
transition:opacity .34s cubic-bezier(.4,0,.6,1) .22s,filter .34s cubic-bezier(.4,0,.6,1) .22s,transform .34s cubic-bezier(.4,0,.6,1) .22s
}
/* 淡入（自雾中浮现,反向）：①Logo 0ms → ②人物(封面) 110ms → ③文字 220ms；
   缓动 cubic-bezier(.22,.61,.36,1) 柔出落定 */
.bsp-pub__item--vt-in [data-v-swap="brand"]{
-webkit-transition:opacity .34s cubic-bezier(.22,.61,.36,1) 0s,-webkit-filter .34s cubic-bezier(.22,.61,.36,1) 0s,-webkit-transform .34s cubic-bezier(.22,.61,.36,1) 0s;
transition:opacity .34s cubic-bezier(.22,.61,.36,1) 0s,filter .34s cubic-bezier(.22,.61,.36,1) 0s,transform .34s cubic-bezier(.22,.61,.36,1) 0s
}
.bsp-pub__item--vt-in .bsp-pub__item-thumb-inner{
-webkit-transition:opacity .42s cubic-bezier(.22,.61,.36,1) .11s,-webkit-filter .42s cubic-bezier(.22,.61,.36,1) .11s,-webkit-transform .42s cubic-bezier(.22,.61,.36,1) .11s;
transition:opacity .42s cubic-bezier(.22,.61,.36,1) .11s,filter .42s cubic-bezier(.22,.61,.36,1) .11s,transform .42s cubic-bezier(.22,.61,.36,1) .11s
}
.bsp-pub__item--vt-in [data-v-swap]:not([data-v-swap="brand"]){
-webkit-transition:opacity .42s cubic-bezier(.22,.61,.36,1) .22s,-webkit-filter .42s cubic-bezier(.22,.61,.36,1) .22s,-webkit-transform .42s cubic-bezier(.22,.61,.36,1) .22s;
transition:opacity .42s cubic-bezier(.22,.61,.36,1) .22s,filter .42s cubic-bezier(.22,.61,.36,1) .22s,transform .42s cubic-bezier(.22,.61,.36,1) .22s
}
@media print,screen and (max-width:1024px){
.bsp-pub-version-toggle{font-size:3vw;padding:.55em 1.2em;margin-right:0;width:100%;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;margin-bottom:.9em}
}
.bsp-pub__item-button-link span{
position:absolute;top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:block;width:calc(.0260416667 * var(--base));height:calc(.0260416667 * var(--base));border-radius:50%;background:#f31864;border:2px solid #fdfdfd;z-index:2
}
@media print,screen and (max-width:1024px){
.bsp-pub__item-button-link span{
width:10.4166666667vw;height:10.4166666667vw;border:none
}

}
.bsp-pub__item-button-link span:before{
content:"";position:absolute;top:50%;left:50%;width:calc(.0072916667 * var(--base));height:calc(.0057291667 * var(--base));-webkit-transform:translate(-50%,-50%) scale(-1);transform:translate(-50%,-50%) scale(-1);background:url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2221%22%20height%3D%2217%22%20fill%3D%22none%22%20viewBox%3D%220%200%2021%2017%22%3E%3Cpath%20fill%3D%22%23fdfdfd%22%20d%3D%22M7.324%2015.77a1%201%200%200%200%201.414%200l.999-1a1%201%200%200%200%200-1.414l-1.911-1.91c-.63-.63-.184-1.708.707-1.708h10.998a1%201%200%200%200%201-1V7.324a1%201%200%200%200-1-1H8.533c-.89%200-1.337-1.077-.707-1.707l1.91-1.911a1%201%200%200%200%200-1.414l-.998-1a1%201%200%200%200-1.414%200L.293%207.325a1%201%200%200%200%200%201.414z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center/contain;will-change:filter
}
@media print,screen and (max-width:1024px){
.bsp-pub__item-button-link span:before{
width:3.125vw;height:2.4739583333vw;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background:url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2219%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2019%22%3E%3Cpath%20fill%3D%22%23fdfdfd%22%20d%3D%22M15.988%2018.475c-.681.7-1.786.7-2.467%200l-.381-.391a1.83%201.83%200%200%201%200-2.535l.893-.918c1.1-1.13.32-3.06-1.233-3.06H1.745C.78%2011.57%200%2010.767%200%209.778v-.556c0-.99.781-1.792%201.745-1.792H12.8c1.554%200%202.332-1.931%201.233-3.06l-.893-.919a1.83%201.83%200%200%201%200-2.535l.38-.391c.682-.7%201.787-.7%202.468%200l7.501%207.707c.681.7.681%201.836%200%202.536z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center/contain
}

}

/* —— 报刊专属：后台字段排版（不干扰横幅骨架） —— */
.bsp-pub__item-logo-title{
	display:flex;align-items:flex-end;gap:calc(.0114583333 * var(--base));
	font-family:inherit
}
.bsp-pub__item-logo-title .bsp-pub__issue{
	font-size:calc(.0208333333 * var(--base));line-height:1;font-weight:800;color:#f31864;
	letter-spacing:.06em;white-space:nowrap
}
.bsp-pub__item-logo-title .bsp-pub__title{
	font-size:calc(.0145833333 * var(--base));line-height:1.35;font-weight:700;color:#222;
	letter-spacing:.04em
}
@media print,screen and (max-width:1024px){
	.bsp-pub__item-logo-title{flex-direction:column;align-items:flex-start;gap:1.5vw}
	.bsp-pub__item-logo-title .bsp-pub__issue{font-size:5.2083333333vw}
	.bsp-pub__item-logo-title .bsp-pub__title{font-size:4.1666666667vw}
}
.bsp-pub__item-meta{
	margin:calc(.0130208333 * var(--base)) 0 0 calc(.0052083333 * var(--base));
	font-size:calc(.0072916667 * var(--base));color:#888;letter-spacing:.1em;line-height:1.7
}
@media print,screen and (max-width:1024px){
	.bsp-pub__item-meta{margin:3vw 0 0 0;font-size:3vw}
}
.bsp-pub__item-catch .bsp-pub__intro{
	margin:0;color:#4a4a4a;line-height:2;letter-spacing:.04em
}
.bsp-pub__item--nopdf .bsp-pub__item-button-link{
	opacity:.5;cursor:default
}

/* ============ 全屏翻书阅读（pdflipbook 原生深色全屏） ============
   v1.4.1 拆分到独立文件 reader.css（避免在首页也加载报刊列表样式）。
   注意：不再用 @import（位于文件中部会被浏览器按 CSS 规范丢弃），
   报刊页的 reader 样式由 functions.php 额外 enqueue reader.css 提供。 */

/* ============ v1.2.6 · 纵向压缩（只压高度、保持横向宽度，桌面/平板） ============ */
/* 用户反馈横幅整体偏"高"，要求纵向收窄。做法：只改高度相关项
   （封面高、上下留白、文字区上边距），横向宽度与字号一律不动，
   因此各部件仍严格 1:1 保持原站横排比例。系数当前 0.80（高→~80%），
   需要更矮时按同比例下调各 calc 数值即可。 */
@media print,screen and (min-width:1680px){
	.bsp-pub__item-thumb{ height:calc(.2833333333 * var(--base)); }
	.bsp-pub__inner{ margin-top:calc(.0291666667 * var(--base)); }
	.bsp-pub__item--garupa{ padding-bottom:calc(.05125 * var(--base)); }
	.bsp-pub__item--garupa .bsp-pub__item-content{ padding-top:calc(.0958333333 * var(--base)); }
	.bsp-pub__item--garupa .bsp-pub__item-catch{ margin-top:calc(.0083333333 * var(--base)); }
	.bsp-pub__item-button{ margin-top:calc(.0279166667 * var(--base)); }
	.bsp-pub__item-meta{ margin-top:calc(.0104166667 * var(--base)); }
}
@media print,screen and (min-width:1025px) and (max-width:1679px){
	.bsp-pub__item-thumb{ aspect-ratio:920/544; }
	.bsp-pub__inner{ margin-top:calc(.0291666667 * var(--base)); }
	.bsp-pub__item--garupa{ padding-bottom:calc(.05125 * var(--base)); }
	.bsp-pub__item--garupa .bsp-pub__item-content{ padding-top:calc(.0958333333 * var(--base)); }
	.bsp-pub__item--garupa .bsp-pub__item-catch{ margin-top:calc(.0083333333 * var(--base)); }
	.bsp-pub__item-button{ margin-top:calc(.0279166667 * var(--base)); }
	.bsp-pub__item-meta{ margin-top:calc(.0104166667 * var(--base)); }
}

/* ============ v1.2.6 · 每期独立刊徽/期 Logo（可选） ============ */
.bsp-pub__item-brand{
	width:100%;
	min-height:calc(.0208333333 * var(--base));
	max-height:calc(.1041666667 * var(--base));
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	margin:0 0 calc(.015625 * var(--base)) 0;
}
.bsp-pub__item-brand .bsp-pub__item-brand-img,
.bsp-pub__item-brand img{
	display:block;
	width:auto;height:auto;
	max-width:100%;
	max-height:100%;
	-o-object-fit:contain;object-fit:contain;
}
@media print,screen and (max-width:1024px){
	.bsp-pub__item-brand{ min-height:4vw; max-height:22vw; margin:0 0 3vw 0; }
	.bsp-pub__item-brand .bsp-pub__item-brand-img,
	.bsp-pub__item-brand img{ max-height:22vw; }
}

/* ============ v1.2.7 · 透明封面模式（由后台开关启用，默认关闭） ============ */
/* 后台每期「封面为透明背景」勾选时，PHP 在 a.bsp-pub__item-thumb 追加
   .bsp-pub__item-thumb--transparent。

   破框立绘：透明人物封面【放大、顶部冲破卡片上沿、底部淡出融入背景】。
   几何：
   ① thumb <a> 尺寸沿用 opaque 原版规则（width/height/aspect 不覆盖），
      底部因此与无透明版逐像素同位——底部位置不越线。
   ② a overflow:visible（不是 hidden），让图能往卡片上方冲出去、不被裁头；
      :before 白框隐藏。
   ③ img 锚定 bottom:0（图底贴卡片底）+ width:100%（图宽=卡片宽，方形等比高
      高于卡片）→ 多出的高度全部向卡片顶部上方冲出；上缘不做任何限制，
      头部/主体完整露出（这正是"上面不要裁切 + 顶上无限制"）。
   ④ 底部淡出：inner 上加 mask 线性渐变，把卡片下缘那段图渐隐到背景，
      人物裙摆/下摆自然融入，无生硬底边。
   ⑤ hover 不动 img 定位：放大放在 inner（inner 无定位 transform，scale 不跑位），
      img 只做变暗，效果与"正常卡片 hover"一致且不会跳位。

   若想让图更"激进"（冲得更高、人物更大），可尝试把 img 的 width 从 100% 略微调大；
   但注意：>100% 属"放大"改动,img 宽将大于卡片宽,需配合居中/溢出管理,且不同设备
   的 calc(--base)/vw 断点会让冲出量跳变——这正是 v1.4.23(120%/115%)+v1.4.24(translateX 居中)
   引入比例回退、于 v1.4.25 被整体回退的原因。
   结论：透明封面保持 width:100%;height:auto;left:0;bottom:0(图宽恒=卡宽、高按原图比例)
   是最稳的——永不拉伸变形、跨设备只做等比缩放,属"固定+微小适配"。

   含透明封面的条目局部加 padding-top，给冲出的头部留出安全距离——
   仅作用于包含透明卡的 item，不影响其他不透明条目布局。

   默认不勾选 = 完全不进此模式，原版白框卡片观感。 */

/* —— 透明条目顶部留空（仅作用于含透明封面的 item） —— */
/* v1.4.30：再缩——把 padding-top 几乎砍光(banner 顶弧线仅占极薄 1 行,
   在桌面端几乎不需额外让位;移动端也只留 6vw 给 header 弧线安全距离)。
   之前 .1*base(≈19px@1920) + 20vw(≈72px@360) 都偏多,把图又顶回了卡片中部,
   反而显不出破顶冲出感——这里彻底减负,让 height:170% 的 img 直接吃进负空间。 */
@media print,screen and (min-width:1025px){
	.bsp-pub__item--has-transparent{ padding-top:calc(.02 * var(--base)); }
}
@media print,screen and (max-width:1024px){
	.bsp-pub__item--has-transparent{ padding-top:6vw; }
}

/* —— 桌面 / 平板 ≥1025 —— */
@media print,screen and (min-width:1025px){
	.bsp-pub__item-thumb--transparent{
		position:relative;
		overflow:visible;              /* 让图能冲出卡片上沿，不裁头 */
		border-radius:0;
		z-index:2;
	}
	.bsp-pub__item-thumb--transparent:before{display:none}
	.bsp-pub__item-thumb--transparent .bsp-pub__item-thumb-inner{
		position:absolute;left:0;top:0;right:0;bottom:0;
		overflow:visible;
		pointer-events:none;
		transform-origin:center bottom;
		-webkit-transition:-webkit-transform .2s cubic-bezier(.165,.525,.525,.875);
		transition:transform .2s cubic-bezier(.165,.525,.525,.875);
	}
	.bsp-pub__item-thumb--transparent .bsp-pub__item-thumb-inner img{
		position:absolute;
		/* v1.4.30：再次放大,人物立绘更"震撼"——
		   居中 + height:170%(桌面 / 移动同),人物头/上身明显破卡顶冲出。
		   配合 padding-top 几乎砍到 0,人物上半部直接吃进卡片上方负空间,
		   视觉上有"破框"感;宽度按原图等比(图多比 thumb 略宽,translate -50% 自然居中、两侧多出的
		   部分超出 thumb 即可——thumb overflow:visible 已开)。底部 mask 拉到 50% 不透明 / 95% 透明,
		   裙摆自然融入。 */
		left:50%;top:50%;
		height:170%;
		width:auto;
		max-width:none;max-height:none;
		-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);
		display:block;
		margin:0;
		-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 50%,rgba(0,0,0,0) 95%);
		mask-image:linear-gradient(to bottom,#000 0%,#000 50%,rgba(0,0,0,0) 95%);
		-webkit-transition:opacity .2s cubic-bezier(.165,.525,.525,.875);
		transition:opacity .2s cubic-bezier(.165,.525,.525,.875);
	}
	.bsp-pub__item-thumb--transparent:hover .bsp-pub__item-thumb-inner{
		-webkit-transform:scale(1.02);transform:scale(1.02);   /* 放大不跑位 */
	}
	.bsp-pub__item-thumb--transparent:hover .bsp-pub__item-thumb-inner img{
		opacity:.8;                    /* 变暗，和原版 hover 手感一致 */
	}
}
/* —— 移动 ≤1024 —— */
@media print,screen and (max-width:1024px){
	.bsp-pub__item-thumb--transparent{
		position:relative;
		overflow:visible;
		border-radius:0;
		z-index:2;
	}
	.bsp-pub__item-thumb--transparent:before{display:none}
	.bsp-pub__item-thumb--transparent .bsp-pub__item-thumb-inner{
		position:absolute;left:0;top:0;right:0;bottom:0;
		overflow:visible;
		pointer-events:none;
		transform-origin:center bottom;
		-webkit-transition:-webkit-transform .2s cubic-bezier(.165,.525,.525,.875);
		transition:transform .2s cubic-bezier(.165,.525,.525,.875);
	}
	.bsp-pub__item-thumb--transparent .bsp-pub__item-thumb-inner img{
		position:absolute;
		/* v1.4.30：同桌面——居中 + height:170% 放大,
		   配合 padding-top 砍到 6vw,人物头/上身明显破卡顶冲出 */
		left:50%;top:50%;
		height:170%;
		width:auto;
		max-width:none;max-height:none;
		-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);
		display:block;
		margin:0;
		-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 50%,rgba(0,0,0,0) 95%);
		mask-image:linear-gradient(to bottom,#000 0%,#000 50%,rgba(0,0,0,0) 95%);
		-webkit-transition:opacity .2s cubic-bezier(.165,.525,.525,.875);
		transition:opacity .2s cubic-bezier(.165,.525,.525,.875);
	}
	.bsp-pub__item-thumb--transparent:hover .bsp-pub__item-thumb-inner{
		-webkit-transform:scale(1.02);transform:scale(1.02);
	}
	.bsp-pub__item-thumb--transparent:hover .bsp-pub__item-thumb-inner img{
		opacity:.8;
	}
}

/* ============ v1.4.21 · 移动端按钮并排 ============
   原站小屏把「切换版本」设 width:100% 独占一行、下方再跟窄窄的「在线阅读」文字链接，
   一宽一窄、上下堆叠，视觉失衡。改为两枚等高胶囊并排居中：
     · 切换按钮  = 白底粉描边胶囊（次操作，hover 变粉底）
     · 在线阅读 = 实心粉底白字胶囊（主操作）
   二者同为完整按钮、圆角/高度统一，一行放得下就左右并排，放不下自动换行仍居中，
   永不溢出、不留突兀全宽空白。仅作用于 ≤1024，桌面端维持原布局。 */
@media print,screen and (max-width:1024px){
	.bsp-pub__item-button{
		-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
		-webkit-box-align:center;-webkit-align-items:center;align-items:center;
		-webkit-flex-wrap:wrap;flex-wrap:wrap;gap:2.6vw;
	}
	.bsp-pub-version-toggle{
		width:auto;min-width:0;margin:0;padding:.55em 1.4em;
		-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
		white-space:nowrap;
	}
	.bsp-pub__item-button-link{
		display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;
		-webkit-box-align:center;-webkit-align-items:center;align-items:center;
		-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
		width:auto;padding:.55em 1.4em;margin:0;
		border:1px solid #f31864;border-radius:999px;
		background:#f31864;color:#fff;line-height:1.2;letter-spacing:.04em;
		white-space:nowrap;
	}
	/* 实心胶囊不再需要右侧悬空圆点箭头，隐藏以免残留 */
	.bsp-pub__item-button-link span,
	.bsp-pub__item-button-link span:before{display:none}
}

