/* ============================================================
   Monocle - 高奢精英影志
   米白 #fafaf8 / 深炭 #1a1a1a / 灰 #999 / 暗红 #b8302d
   大号衬线标题 + 小号无衬线正文 + 大字号编号 + 不对称版式
   命名空间 mo-* / 移动优先
   ============================================================ */

:root{
  --mo-paper:#fafaf8;
  --mo-paper-2:#f3f2ee;
  --mo-paper-3:#e8e6e0;
  --mo-rule:#dad7cf;
  --mo-rule-soft:#ebe9e3;
  --mo-ink:#1a1a1a;
  --mo-ink-2:#2c2c2c;
  --mo-ink-3:#555;
  --mo-mute:#999;
  --mo-mute-2:#b9b4ab;
  --mo-accent:#b8302d;
  --mo-accent-soft:#d65450;
  --mo-serif:'Playfair Display','Cormorant Garamond','Noto Serif SC','Source Han Serif SC','Songti SC',Georgia,'Times New Roman',serif;
  --mo-sans:'Inter','Helvetica Neue',Helvetica,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',Arial,sans-serif;
  --mo-rail-w:14rem;
  --mo-max:1180px;
}

/* === reset === */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--mo-paper)}
body.mo-body{
  margin:0;padding:0;
  font-family:var(--mo-sans);
  background:var(--mo-paper);color:var(--mo-ink-2);
  font-size:16px;line-height:1.7;letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  min-height:100vh;
}
a{color:var(--mo-ink);text-decoration:none;transition:color .18s ease}
a:hover,a:focus-visible{color:var(--mo-accent)}
img{max-width:100%;height:auto;display:block;border:0}
button{font-family:inherit;cursor:pointer;background:none;border:0;color:inherit}
ol,ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p,dl,dd{margin:0}
time{font-variant-numeric:tabular-nums;letter-spacing:.02em}

/* HtmlRandomizer 装饰 div 隐藏 */
.mo-randdiv{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}

/* === 顶端"刊号"带 === */
.mo-edition{
  background:var(--mo-ink);color:var(--mo-paper);
  font-family:var(--mo-sans);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
}
.mo-edition-inner{
  max-width:var(--mo-max);margin:0 auto;padding:.55rem 1.1rem;
  display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;
}
.mo-edition-no{font-weight:600}
.mo-edition-dot{color:var(--mo-accent);font-size:1rem;line-height:1}
.mo-edition-date{color:var(--mo-mute-2)}
.mo-edition-spacer{flex:1;min-width:1rem}
.mo-edition-tag{color:var(--mo-mute-2)}

/* === 报头 (顶部品牌条) === */
.mo-mast{
  position:relative;z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  padding:1.2rem 1.1rem 1rem;
  border-bottom:1px solid var(--mo-rule);background:var(--mo-paper);
}
.mo-burger{
  width:36px;height:36px;display:inline-flex;flex-direction:column;
  justify-content:center;align-items:center;gap:5px;
}
.mo-burger span{display:block;width:20px;height:1.5px;background:var(--mo-ink)}
.mo-brand{display:flex;flex-direction:column;align-items:center;gap:.15rem;line-height:1.1;flex:1;text-align:center}
.mo-brand-name{
  font-family:var(--mo-serif);font-weight:700;
  font-size:clamp(1.4rem,5vw,2rem);letter-spacing:.04em;color:var(--mo-ink);
}
.mo-brand-sub{
  font-family:var(--mo-sans);font-size:.65rem;letter-spacing:.32em;
  text-transform:uppercase;color:var(--mo-mute);
}
.mo-mast-search{
  font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mo-ink-3);
  padding:.4rem .5rem;border-bottom:1px solid var(--mo-ink);
}
.mo-mast-search:hover{color:var(--mo-accent);border-bottom-color:var(--mo-accent)}

/* === 左侧固定 rail (桌面端显示, 移动端 hidden) === */
.mo-rail{display:none}

/* === 移动端 drawer === */
.mo-drawer{
  position:fixed;left:0;top:0;bottom:0;width:84vw;max-width:340px;
  background:var(--mo-paper);
  padding:5rem 1.4rem 2rem;
  transform:translateX(-100%);transition:transform .35s ease;
  z-index:200;
  border-right:1px solid var(--mo-rule);
  overflow-y:auto;
}
.mo-drawer.mo-open{transform:translateX(0)}
.mo-drawer-x{
  position:absolute;top:1rem;right:1rem;
  width:36px;height:36px;font-size:1.6rem;color:var(--mo-ink);
  display:inline-flex;align-items:center;justify-content:center;
}
.mo-drawer-eyebrow{
  font-family:var(--mo-sans);font-size:.7rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mo-mute);
  padding-bottom:.7rem;border-bottom:1px solid var(--mo-rule);margin-bottom:.8rem;
}
.mo-drawer-link{
  display:flex;align-items:baseline;gap:.85rem;
  padding:.85rem 0;border-bottom:1px solid var(--mo-rule-soft);
  font-family:var(--mo-serif);font-size:1.3rem;letter-spacing:.01em;color:var(--mo-ink);
}
.mo-drawer-link i{
  font-style:normal;font-family:var(--mo-sans);
  font-size:.72rem;letter-spacing:.18em;color:var(--mo-mute);
  min-width:1.8rem;
}
.mo-drawer-link.mo-cur{color:var(--mo-accent)}
.mo-drawer-link.mo-cur i{color:var(--mo-accent)}
.mo-drawer-link:hover{color:var(--mo-accent)}
.mo-drawer-foot{
  margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--mo-rule);
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mo-mute);
}
.mo-mask{
  position:fixed;inset:0;background:rgba(20,20,20,.42);
  opacity:0;pointer-events:none;transition:opacity .25s ease;
  z-index:150;
}
.mo-mask.mo-on{opacity:1;pointer-events:auto}

/* === 检索面板 (全屏 overlay) === */
.mo-find{
  position:fixed;inset:0;background:var(--mo-paper);
  opacity:0;pointer-events:none;transition:opacity .25s ease;
  z-index:300;display:flex;align-items:center;justify-content:center;padding:1.4rem;
}
.mo-find.mo-on{opacity:1;pointer-events:auto}
.mo-find-x{
  position:absolute;top:1rem;right:1rem;
  width:38px;height:38px;font-size:1.6rem;color:var(--mo-ink);
}
.mo-find-form{width:100%;max-width:680px;text-align:left}
.mo-find-label{
  font-family:var(--mo-sans);font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mo-mute);margin-bottom:1rem;
}
.mo-find input{
  display:block;width:100%;
  font-family:var(--mo-serif);font-size:clamp(1.4rem,5vw,2.4rem);
  border:0;border-bottom:1px solid var(--mo-ink);
  background:transparent;color:var(--mo-ink);
  padding:.4rem 0 .6rem;outline:none;letter-spacing:.01em;
}
.mo-find input::placeholder{color:var(--mo-mute-2)}
.mo-find-go{
  margin-top:1.2rem;
  font-family:var(--mo-sans);font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--mo-ink);padding:.4rem 0;border-bottom:1px solid var(--mo-ink);
}
.mo-find-go:hover{color:var(--mo-accent);border-bottom-color:var(--mo-accent)}

/* === 主容器 === */
.mo-stage{
  max-width:var(--mo-max);margin:0 auto;padding:1.4rem 1.1rem 5rem;
  min-height:60vh;
}
.mo-stage-play{
  max-width:var(--mo-max);margin:0 auto;padding:1rem 1.1rem 1.6rem;
}

/* === H1 通用 === */
.mo-h1{
  font-family:var(--mo-serif);font-weight:700;letter-spacing:-.005em;line-height:1.15;
  color:var(--mo-ink);margin:0;
}

/* === 面包屑 === */
.mo-crumb{
  font-family:var(--mo-sans);font-size:.74rem;color:var(--mo-mute);
  letter-spacing:.16em;text-transform:uppercase;padding:.4rem 0 .8rem;
}
.mo-crumb a{color:var(--mo-mute)}
.mo-crumb a:hover{color:var(--mo-ink)}
.mo-crumb-sep{margin:0 .4rem;color:var(--mo-mute-2)}
.mo-crumb-cur{color:var(--mo-ink-3)}

/* ============================================================
   首页 opener (不对称卷首)
   ============================================================ */
.mo-opener{padding:1.6rem 0 2.4rem;border-bottom:1px solid var(--mo-rule)}
.mo-opener-asym{display:flex;flex-direction:column;gap:2rem}
.mo-opener-eye{
  font-family:var(--mo-sans);font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mo-accent);margin-bottom:1rem;
}
.mo-opener-h1{font-size:clamp(2rem,8vw,3.8rem);margin-bottom:1.2rem}
.mo-opener-lede{
  font-family:var(--mo-serif);font-size:clamp(1.05rem,3.4vw,1.3rem);
  line-height:1.65;color:var(--mo-ink-3);letter-spacing:.01em;max-width:36em;
}
.mo-opener-meta{
  margin-top:1.4rem;
  font-family:var(--mo-sans);font-size:.78rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--mo-mute);
  display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;
}
.mo-opener-no{color:var(--mo-ink)}
.mo-opener-dotsep{color:var(--mo-mute-2)}

.mo-opener-hero{display:block}
.mo-opener-hero-frame{
  position:relative;overflow:hidden;background:var(--mo-paper-3);
  aspect-ratio:3/4;
}
.mo-opener-hero-frame img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;
}
.mo-opener-hero:hover .mo-opener-hero-frame img{transform:scale(1.02)}
.mo-opener-hero-no{
  position:absolute;top:.7rem;left:.9rem;
  font-family:var(--mo-serif);font-size:2.6rem;font-weight:700;
  color:var(--mo-paper);line-height:1;
  text-shadow:0 1px 4px rgba(0,0,0,.35);
}
.mo-opener-hero-cap{display:flex;flex-direction:column;gap:.3rem;padding:.9rem 0 0}
.mo-opener-hero-eye{
  font-family:var(--mo-sans);font-size:.68rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mo-accent);
}
.mo-opener-hero-name{
  font-family:var(--mo-serif);font-size:1.4rem;line-height:1.25;color:var(--mo-ink);
}
.mo-opener-hero-sub{font-size:.85rem;color:var(--mo-mute);letter-spacing:.02em}

/* ============================================================
   章节块 (首页分类块 / 详情子章)
   ============================================================ */
.mo-chapter{padding:2.6rem 0;border-bottom:1px solid var(--mo-rule-soft)}
.mo-chapter:last-of-type{border-bottom:0}
.mo-chapter-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  margin-bottom:1.4rem;flex-wrap:wrap;
}
.mo-chapter-eye{
  font-family:var(--mo-sans);font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mo-mute);
  flex-basis:100%;margin-bottom:.3rem;
}
.mo-chapter-title{
  font-family:var(--mo-serif);font-weight:700;letter-spacing:.005em;
  font-size:clamp(1.6rem,5.5vw,2.3rem);line-height:1.2;color:var(--mo-ink);
  flex:1;min-width:0;
}
.mo-chapter-title a{color:inherit}
.mo-chapter-more{
  font-family:var(--mo-sans);font-size:.76rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--mo-ink-3);
  padding-bottom:.15rem;border-bottom:1px solid var(--mo-ink-3);
}
.mo-chapter-more:hover{color:var(--mo-accent);border-bottom-color:var(--mo-accent)}

/* ============================================================
   编辑精选片单 mo-feed (首页 / list / 相关 / search)
   ============================================================ */
.mo-feed{display:flex;flex-direction:column;gap:1.6rem}
.mo-feed--list{gap:1.8rem}
.mo-feed--related{gap:1.2rem}
.mo-feed-item{position:relative;padding-bottom:1.6rem;border-bottom:1px solid var(--mo-rule-soft)}
.mo-feed-item:last-child{border-bottom:0}
.mo-feed-link{
  display:grid;grid-template-columns:2.5rem 7.5rem 1fr;gap:.85rem 1rem;
  align-items:start;color:inherit;
}
.mo-feed-no{
  font-family:var(--mo-serif);font-weight:700;
  font-size:2rem;line-height:1;color:var(--mo-mute-2);
  letter-spacing:.02em;padding-top:.15rem;
}
.mo-feed-poster{
  position:relative;display:block;background:var(--mo-paper-3);overflow:hidden;
  aspect-ratio:2/3;width:100%;
}
.mo-feed-poster img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .35s ease;
}
.mo-feed-link:hover .mo-feed-poster img{transform:scale(1.04)}
.mo-feed-flag{
  position:absolute;top:.4rem;left:.4rem;
  font-style:normal;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;
  background:var(--mo-ink);color:var(--mo-paper);
  padding:.2rem .45rem;line-height:1;
}
.mo-feed-body{display:flex;flex-direction:column;gap:.45rem;min-width:0}
.mo-feed-chip{
  align-self:flex-start;
  font-family:var(--mo-sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mo-accent);
  border:1px solid var(--mo-accent);
  padding:.18rem .45rem;line-height:1;
}
.mo-feed-title{
  font-family:var(--mo-serif);font-size:clamp(1.15rem,3.9vw,1.45rem);
  font-weight:600;line-height:1.3;color:var(--mo-ink);letter-spacing:.005em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.mo-feed-link:hover .mo-feed-title{color:var(--mo-accent)}
.mo-feed-line{
  font-family:var(--mo-sans);font-size:.86rem;color:var(--mo-ink-3);
  line-height:1.55;letter-spacing:.01em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.mo-feed-meta{
  font-family:var(--mo-sans);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mo-mute);display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;
}
.mo-feed-sep{color:var(--mo-mute-2)}

/* ============================================================
   首页结尾的"卷首语 quote"
   ============================================================ */
.mo-quote{
  padding:3rem 0 1rem;text-align:center;
  border-top:1px solid var(--mo-rule);
}
.mo-quote-mark{
  font-family:var(--mo-serif);font-size:5rem;line-height:.5;
  color:var(--mo-accent);margin-bottom:1rem;
}
.mo-quote-text{
  font-family:var(--mo-serif);font-style:italic;font-weight:500;
  font-size:clamp(1.2rem,4.4vw,1.8rem);line-height:1.55;color:var(--mo-ink-2);
  margin:0 auto;max-width:30em;letter-spacing:.005em;
}
.mo-quote-sig{
  margin-top:1.4rem;
  font-family:var(--mo-sans);font-size:.74rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--mo-mute);
}

/* ============================================================
   section head (list / search)
   ============================================================ */
.mo-section-head{padding:.8rem 0 1.6rem}
.mo-section-eye{
  font-family:var(--mo-sans);font-size:.74rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mo-accent);margin:.4rem 0 .6rem;
}
.mo-section-h1{font-size:clamp(2.2rem,8vw,3.8rem);margin-bottom:1rem}
.mo-section-meta{
  font-family:var(--mo-sans);font-size:.82rem;letter-spacing:.1em;
  color:var(--mo-mute);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
}
.mo-section-sep{color:var(--mo-mute-2)}
.mo-section-rule{margin-top:1.4rem;height:1px;background:var(--mo-ink);width:3rem}

/* ============================================================
   分页
   ============================================================ */
.mo-pagi{padding:2.4rem 0 .4rem;border-top:1px solid var(--mo-rule)}
.mo-pagi-no{
  font-family:var(--mo-sans);font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mo-mute);margin-bottom:.8rem;
}
.mo-pagi-row{
  display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  flex-wrap:wrap;
}
.mo-pagi-arrow{
  font-family:var(--mo-sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--mo-ink);padding-bottom:.2rem;border-bottom:1px solid var(--mo-ink);
}
.mo-pagi-arrow:hover{color:var(--mo-accent);border-bottom-color:var(--mo-accent)}
.mo-pagi-arrow--off{color:var(--mo-mute-2);border-bottom-color:var(--mo-rule);pointer-events:none}
.mo-pagi-nums{
  font-family:var(--mo-serif);font-size:1.15rem;
  display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;
}
.mo-pagi-nums a{color:var(--mo-mute)}
.mo-pagi-nums a:hover{color:var(--mo-accent)}
.mo-pagi-cur{color:var(--mo-ink);font-weight:700;border-bottom:2px solid var(--mo-accent);padding-bottom:.05rem}
.mo-pagi-dots{color:var(--mo-mute-2)}

/* ============================================================
   详情页 piece (不对称版式)
   ============================================================ */
.mo-detail-head{padding-bottom:.6rem}
.mo-piece{padding:1rem 0 2rem;border-bottom:1px solid var(--mo-rule)}
.mo-piece-eye{
  font-family:var(--mo-sans);font-size:.74rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mo-accent);margin-bottom:.5rem;
}
.mo-piece-h1{font-size:clamp(2rem,7.5vw,3.5rem);margin-bottom:1rem}
.mo-piece-lede{
  font-family:var(--mo-serif);font-style:italic;
  font-size:clamp(1.1rem,3.6vw,1.35rem);
  color:var(--mo-ink-3);line-height:1.6;margin-bottom:2rem;max-width:36em;
}

.mo-piece-spread{display:flex;flex-direction:column;gap:2rem}
.mo-piece-side{display:flex;flex-direction:column;gap:1.4rem}
.mo-piece-cover{margin:0}
.mo-piece-cover img{
  width:100%;max-width:18rem;aspect-ratio:2/3;object-fit:cover;
  background:var(--mo-paper-3);
}
.mo-piece-cover-cap{
  margin-top:.5rem;
  font-family:var(--mo-sans);font-size:.7rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--mo-mute);
}

.mo-piece-cta{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.mo-btn-primary{
  display:inline-block;font-family:var(--mo-sans);font-size:.84rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mo-paper);
  background:var(--mo-ink);padding:.85rem 1.4rem;
  border:1px solid var(--mo-ink);
}
.mo-btn-primary:hover{background:var(--mo-accent);border-color:var(--mo-accent);color:var(--mo-paper)}
.mo-btn-ghost{
  display:inline-block;font-family:var(--mo-sans);font-size:.84rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mo-ink);
  background:transparent;padding:.85rem 1.4rem;border:1px solid var(--mo-ink);
}
.mo-btn-ghost:hover{color:var(--mo-accent);border-color:var(--mo-accent)}

.mo-piece-facts{
  display:flex;flex-direction:column;gap:0;
  border-top:1px solid var(--mo-rule);border-bottom:1px solid var(--mo-rule);
}
.mo-piece-facts > div{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.7rem 0;border-bottom:1px solid var(--mo-rule-soft);
}
.mo-piece-facts > div:last-child{border-bottom:0}
.mo-piece-facts dt{
  font-family:var(--mo-sans);font-size:.7rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--mo-mute);
}
.mo-piece-facts dd{
  font-family:var(--mo-serif);font-size:1rem;color:var(--mo-ink);margin:0;
  text-align:right;letter-spacing:.005em;
}
.mo-piece-facts dd a{color:var(--mo-ink);border-bottom:1px solid var(--mo-mute-2)}
.mo-piece-facts dd a:hover{color:var(--mo-accent);border-bottom-color:var(--mo-accent)}

.mo-piece-main{display:flex;flex-direction:column;gap:2.2rem}

/* chap (章节信息块) */
.mo-chap{display:grid;grid-template-columns:3rem 1fr;gap:.5rem 1.1rem;align-items:start}
.mo-chap-no{
  font-family:var(--mo-serif);font-weight:700;font-style:italic;
  font-size:2.4rem;line-height:1;color:var(--mo-accent);
  letter-spacing:.02em;
}
.mo-chap-title{
  font-family:var(--mo-serif);font-weight:700;
  font-size:clamp(1.3rem,4.4vw,1.75rem);line-height:1.2;color:var(--mo-ink);
  letter-spacing:.005em;
  padding-bottom:.5rem;border-bottom:1px solid var(--mo-ink);
  grid-column:2/3;margin-bottom:.6rem;
}
.mo-chap-body{grid-column:2/3;font-family:var(--mo-sans)}
.mo-chap-prose{
  font-family:var(--mo-serif);font-size:1.02rem;line-height:1.85;color:var(--mo-ink-2);
  letter-spacing:.005em;
}

.mo-credit-row{
  display:flex;gap:1rem;align-items:baseline;padding:.55rem 0;
  border-bottom:1px solid var(--mo-rule-soft);
}
.mo-credit-row:last-child{border-bottom:0}
.mo-credit-k{
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mo-mute);
  min-width:3.2rem;
}
.mo-credit-v{
  font-family:var(--mo-serif);font-size:1.02rem;color:var(--mo-ink);
  letter-spacing:.005em;
}

/* === src + ep (选集) === */
.mo-src{margin-bottom:1.4rem}
.mo-src:last-child{margin-bottom:0}
.mo-src-head{
  display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;
  padding-bottom:.6rem;border-bottom:1px solid var(--mo-rule-soft);margin-bottom:.7rem;
}
.mo-src-tag{
  font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mo-paper);
  background:var(--mo-ink);padding:.18rem .45rem;line-height:1;
}
.mo-src-name{
  font-family:var(--mo-serif);font-size:1.1rem;color:var(--mo-ink);font-weight:600;
}
.mo-src-count{
  margin-left:auto;
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mo-mute);
}
.mo-src-eps{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.5rem;
}
.mo-ep{
  display:block;text-align:center;
  font-family:var(--mo-sans);font-size:.82rem;letter-spacing:.04em;
  color:var(--mo-ink);background:var(--mo-paper-2);
  border:1px solid var(--mo-rule);
  padding:.65rem .4rem;line-height:1.2;
  transition:all .18s ease;
}
.mo-ep:hover{background:var(--mo-ink);color:var(--mo-paper);border-color:var(--mo-ink)}
.mo-ep-cur{background:var(--mo-accent);color:var(--mo-paper);border-color:var(--mo-accent);font-weight:600}
.mo-ep-cur:hover{background:var(--mo-accent);color:var(--mo-paper);border-color:var(--mo-accent)}

/* ============================================================
   编委亦推 (相关)
   ============================================================ */
.mo-also{padding:2.4rem 0 0;border-top:1px solid var(--mo-rule);margin-top:2rem}
.mo-also-head{margin-bottom:1.4rem}
.mo-also-eye{
  font-family:var(--mo-sans);font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mo-accent);margin-bottom:.5rem;
}
.mo-also-title{
  font-family:var(--mo-serif);font-weight:700;
  font-size:clamp(1.4rem,4.6vw,1.8rem);line-height:1.2;color:var(--mo-ink);
}

/* ============================================================
   播放页
   ============================================================ */
.mo-play-back-row{
  display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  padding:.4rem 0 .8rem;flex-wrap:wrap;
}
.mo-play-back{
  font-family:var(--mo-sans);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mo-ink);padding-bottom:.15rem;border-bottom:1px solid var(--mo-ink);
}
.mo-play-back:hover{color:var(--mo-accent);border-bottom-color:var(--mo-accent)}
.mo-play-eyebrow{
  font-family:var(--mo-sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--mo-mute);
}

.mo-player{
  background:#000;width:100%;aspect-ratio:16/9;position:relative;
  margin-bottom:1.2rem;
}
.mo-player-iframe,.mo-player-video{
  position:absolute;inset:0;width:100%;height:100%;border:0;display:block;
  background:#000;
}
.mo-player-empty{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:var(--mo-mute-2);font-family:var(--mo-serif);font-size:1.1rem;letter-spacing:.04em;
}

.mo-play-h1{
  font-size:clamp(1.4rem,5vw,2.2rem);margin-bottom:.7rem;
}
.mo-play-meta{
  font-family:var(--mo-sans);font-size:.82rem;color:var(--mo-mute);
  display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;letter-spacing:.05em;
  padding-bottom:.9rem;border-bottom:1px solid var(--mo-rule-soft);margin-bottom:.6rem;
}
.mo-play-meta a{color:var(--mo-ink)}
.mo-play-meta a:hover{color:var(--mo-accent)}
.mo-play-sep{color:var(--mo-mute-2)}

.mo-chap-play{margin-top:1.4rem}

/* ============================================================
   空状态
   ============================================================ */
.mo-empty{
  padding:5rem 1rem;text-align:center;
}
.mo-empty-no{
  font-family:var(--mo-serif);font-size:4rem;color:var(--mo-accent);line-height:1;margin-bottom:1rem;
}
.mo-empty-msg{
  font-family:var(--mo-serif);font-size:1.3rem;color:var(--mo-ink);line-height:1.5;
  margin-bottom:.6rem;
}
.mo-empty-hint{
  font-family:var(--mo-sans);font-size:.9rem;color:var(--mo-mute);
  margin-bottom:1.6rem;
}
.mo-empty-back{
  display:inline-block;font-family:var(--mo-sans);font-size:.82rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mo-ink);
  padding:.7rem 1.4rem;border:1px solid var(--mo-ink);
}
.mo-empty-back:hover{background:var(--mo-ink);color:var(--mo-paper)}

/* ============================================================
   404
   ============================================================ */
.mo-404{
  padding:5rem 1rem 6rem;text-align:center;max-width:36rem;margin:0 auto;
}
.mo-404-mark{
  font-family:var(--mo-serif);font-size:3.5rem;color:var(--mo-accent);line-height:.6;margin-bottom:1rem;
}
.mo-404-code{
  font-family:var(--mo-serif);font-weight:700;
  font-size:clamp(4rem,16vw,7rem);line-height:1;color:var(--mo-ink);
  letter-spacing:.04em;margin-bottom:1rem;
}
.mo-404-h1{font-size:clamp(1.4rem,5vw,2rem);margin-bottom:1rem}
.mo-404-lede{
  font-family:var(--mo-serif);font-size:1.05rem;color:var(--mo-ink-3);
  line-height:1.7;margin-bottom:1.8rem;
}
.mo-404-cta{margin-bottom:2.5rem}
.mo-404-nav{margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid var(--mo-rule)}
.mo-404-eye{
  font-family:var(--mo-sans);font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mo-mute);margin-bottom:.9rem;
}
.mo-404-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem .8rem}
.mo-404-cats a{
  font-family:var(--mo-serif);font-size:1.05rem;color:var(--mo-ink);
  padding-bottom:.1rem;border-bottom:1px solid var(--mo-mute-2);
}
.mo-404-cats a:hover{color:var(--mo-accent);border-bottom-color:var(--mo-accent)}

/* ============================================================
   colophon (页脚)
   ============================================================ */
.mo-colophon{
  background:var(--mo-paper-2);border-top:1px solid var(--mo-rule);
  padding:3rem 1.1rem 6rem;margin-top:3rem;
}
.mo-colo-inner{max-width:var(--mo-max);margin:0 auto}
.mo-colo-grid{
  display:grid;grid-template-columns:1fr;gap:2rem;
}
.mo-colo-brand{display:flex;flex-direction:column;gap:.3rem}
.mo-colo-mark{
  font-family:var(--mo-serif);font-size:2.6rem;color:var(--mo-accent);line-height:.7;margin-bottom:.4rem;
}
.mo-colo-name{
  font-family:var(--mo-serif);font-weight:700;font-size:1.6rem;color:var(--mo-ink);
  letter-spacing:.02em;
}
.mo-colo-tag{
  font-family:var(--mo-sans);font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mo-mute);
}
.mo-colo-issue{
  font-family:var(--mo-sans);font-size:.78rem;color:var(--mo-mute);letter-spacing:.1em;
  margin-top:.6rem;
}
.mo-colo-eye{
  font-family:var(--mo-sans);font-size:.7rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mo-mute);margin-bottom:.7rem;
  padding-bottom:.5rem;border-bottom:1px solid var(--mo-rule);
}
.mo-colo-eye-2{margin-top:1rem}
.mo-colo-list{display:flex;flex-direction:column;gap:.45rem}
.mo-colo-list a{
  font-family:var(--mo-serif);font-size:.98rem;color:var(--mo-ink-2);letter-spacing:.005em;
}
.mo-colo-list a:hover{color:var(--mo-accent)}
.mo-colo-inline{display:flex;flex-wrap:wrap;gap:.4rem .9rem}
.mo-colo-inline a{font-family:var(--mo-sans);font-size:.85rem;color:var(--mo-ink-3);letter-spacing:.04em}

.mo-colo-rule{height:1px;background:var(--mo-rule);margin:2rem 0 1.2rem}
.mo-colo-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  flex-wrap:wrap;
  font-family:var(--mo-sans);font-size:.74rem;letter-spacing:.06em;color:var(--mo-mute);
}
.mo-colo-edition{letter-spacing:.22em;text-transform:uppercase}

/* ============================================================
   移动端 tab bar
   ============================================================ */
.mo-mtabs{
  position:fixed;left:0;right:0;bottom:0;z-index:100;
  background:var(--mo-paper);border-top:1px solid var(--mo-rule);
  display:flex;align-items:stretch;justify-content:space-around;
  padding:.4rem .3rem calc(.4rem + env(safe-area-inset-bottom));
}
.mo-mtabs a{
  display:flex;flex-direction:column;align-items:center;gap:.15rem;
  padding:.4rem .3rem;color:var(--mo-mute);flex:1;
}
.mo-mtab-i{
  font-family:var(--mo-serif);font-size:.85rem;font-weight:700;color:var(--mo-mute-2);
}
.mo-mtab-t{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}
.mo-mtabs a.mo-cur,.mo-mtabs a.mo-cur .mo-mtab-i{color:var(--mo-accent)}

/* ============================================================
   桌面端 (≥ 1024px): 左侧固定竖排导航 + 移除 burger / drawer / mtabs
   ============================================================ */
@media (min-width:1024px){
  .mo-burger{display:none}
  .mo-drawer{display:none}
  .mo-mask{display:none}
  .mo-mtabs{display:none}

  .mo-rail{
    display:flex;flex-direction:column;
    position:fixed;left:0;top:0;bottom:0;
    width:var(--mo-rail-w);
    padding:1.8rem 1.4rem;
    border-right:1px solid var(--mo-rule);
    background:var(--mo-paper);
    z-index:40;
  }
  .mo-rail-no{
    font-family:var(--mo-sans);font-size:.72rem;letter-spacing:.32em;
    text-transform:uppercase;color:var(--mo-mute);margin-bottom:1.8rem;
  }
  .mo-rail-nav{display:flex;flex-direction:column;gap:.1rem;flex:1}
  .mo-rail-link{
    display:grid;grid-template-columns:1.8rem 1fr;align-items:baseline;gap:.6rem;
    padding:.55rem 0;color:var(--mo-ink-3);
    border-bottom:1px solid var(--mo-rule-soft);
  }
  .mo-rail-i{
    font-family:var(--mo-sans);font-size:.66rem;letter-spacing:.2em;color:var(--mo-mute);
  }
  .mo-rail-t{
    font-family:var(--mo-serif);font-size:1.02rem;color:var(--mo-ink);letter-spacing:.005em;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  .mo-rail-link:hover .mo-rail-t,.mo-rail-link:hover .mo-rail-i{color:var(--mo-accent)}
  .mo-rail-link.mo-cur .mo-rail-t,.mo-rail-link.mo-cur .mo-rail-i{color:var(--mo-accent)}
  .mo-rail-mark{
    font-family:var(--mo-serif);font-size:.95rem;color:var(--mo-mute);
    letter-spacing:.18em;text-transform:uppercase;padding-top:1rem;border-top:1px solid var(--mo-rule);
  }

  /* 桌面把 brand 居左, 移除中央居中 */
  .mo-mast{padding-left:calc(var(--mo-rail-w) + 1.6rem);padding-right:1.6rem}
  .mo-brand{flex:0;align-items:flex-start;text-align:left}
  .mo-mast-search{font-size:.82rem}

  .mo-edition-inner{padding-left:calc(var(--mo-rail-w) + 1.6rem);padding-right:1.6rem;max-width:none}

  /* 主舞台向右让位 */
  .mo-stage{margin-left:var(--mo-rail-w);max-width:none;padding:2rem 3rem 6rem}
  .mo-stage-play{margin-left:var(--mo-rail-w);max-width:none;padding:1.4rem 3rem 3rem}
  .mo-colo-inner,.mo-colophon{margin-left:0}
  .mo-colophon{padding-left:calc(var(--mo-rail-w) + 3rem);padding-right:3rem}

  /* 首页 opener 不对称二栏 */
  .mo-opener-asym{
    display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:start;
  }
  .mo-opener-h1{font-size:clamp(3rem,5vw,4.6rem)}
  .mo-opener-hero{margin-top:1.5rem}

  /* feed 列表更宽: 编号 / 海报 / 内容 */
  .mo-feed-link{grid-template-columns:3rem 9rem 1fr;gap:.9rem 1.4rem}
  .mo-feed-no{font-size:2.6rem}
  .mo-feed-title{font-size:1.55rem}
  .mo-feed-line{font-size:.95rem}

  /* 详情不对称: 左封面 0.7 / 右内容 1.3 */
  .mo-piece-spread{
    display:grid;grid-template-columns:0.7fr 1.3fr;gap:3rem;align-items:start;
  }
  .mo-piece-cover img{max-width:none}
  .mo-piece-h1{font-size:clamp(2.8rem,5vw,4rem)}

  .mo-chapter-head{flex-wrap:nowrap}
  .mo-chapter-eye{flex-basis:auto;margin-bottom:0;min-width:7rem}
  .mo-chapter-title{font-size:clamp(2rem,3.2vw,2.6rem)}

  /* colophon 4 栏 */
  .mo-colo-grid{grid-template-columns:1.2fr 1fr 1fr 1fr;gap:2.4rem}
}

/* 平板兜底 */
@media (min-width:640px) and (max-width:1023px){
  .mo-stage{padding:1.6rem 2rem 5rem}
  .mo-opener-asym{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;align-items:start}
  .mo-feed-link{grid-template-columns:3rem 9rem 1fr}
  .mo-feed-no{font-size:2.4rem}
  .mo-piece-spread{display:grid;grid-template-columns:0.85fr 1.15fr;gap:2.2rem;align-items:start}
  .mo-colo-grid{grid-template-columns:1fr 1fr;gap:2rem}
}

/* 大屏增强 (>=1440px) */
@media (min-width:1440px){
  :root{--mo-rail-w:16rem;--mo-max:1320px}
  .mo-stage{padding:2.4rem 4rem 6rem}
  .mo-opener-h1{font-size:5rem}
}
