/* One continuous reading surface, shared by every board. */
:is(#pdMask,#stViewMask,#dadaViewMask).reader-page{
  inset:0;width:100%;height:100vh;height:100dvh;padding:0;margin:0;
  background:var(--bg,#fff);backdrop-filter:none;overflow:hidden;
}
:is(#pdMask,#stViewMask,#dadaViewMask).reader-page.open{
  display:grid;grid-template-rows:auto minmax(0,1fr);align-items:stretch;justify-content:stretch;
}
html:has(.reader-page.open),body:has(.reader-page.open){overflow:hidden}
.reader-page .reader-topbar{
  display:flex;align-items:center;gap:20px;min-width:0;min-height:64px;
  padding:8px max(20px,calc((100% - 1040px)/2));
  padding-top:max(8px,env(safe-area-inset-top));
  background:var(--bg,#fff);color:var(--ink);border-bottom:1px solid var(--line-soft);
  font-family:var(--sans);z-index:1;
}
.reader-topbar button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;
  min-width:44px;min-height:44px;padding:8px 10px;border:0;border-radius:8px;
  background:transparent;color:var(--ink);font:600 .86rem/1.3 var(--sans);cursor:pointer;
}
.reader-topbar button:hover{background:var(--soft)}
.reader-topbar button:focus-visible{outline:2px solid var(--point);outline-offset:2px}
.reader-topbar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.reader-topbar .reader-context{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;color:var(--muted)}
.reader-page > :is(.pd,.dada-modal){
  box-sizing:border-box;display:flex;flex-direction:column;gap:0;
  width:100%;max-width:none;min-width:0;min-height:0;height:100%;max-height:none;
  margin:0;border:0;border-radius:0;box-shadow:none;animation:none;
  background:var(--bg,#fff);color:var(--ink);overflow-y:auto;overflow-x:hidden;
  overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-behavior:auto;
  padding:36px max(24px,calc((100% - 1000px)/2)) max(48px,env(safe-area-inset-bottom));
}
.reader-page > :is(.pd,.dada-modal) > *{flex-shrink:0}
.reader-page [hidden]{display:none!important}
:is(#pdMask,#stViewMask,#dadaViewMask).reader-page > :is(.pd,.dada-modal){animation:none}
#pdMask.reader-page .pd > :is(.pd-head,.pd-body,.pd-atts,.pd-reacts,.pd-comments,.pd-foot){padding-left:0;padding-right:0;flex-shrink:0}
#pdMask.reader-page .pd-head{padding-top:0;padding-bottom:24px}
#pdMask.reader-page .pdt{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.45;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:anywhere}
#pdMask.reader-page .pdm{margin-top:12px;line-height:1.6}
#pdMask.reader-page .pd-body{padding-block:30px 40px;line-height:1.9;overflow-wrap:anywhere}
#pdMask.reader-page .pd-body img{max-width:100%;height:auto}
#pdMask.reader-page .pd-comments{margin-top:24px;padding-block:26px;border-radius:0;box-shadow:none;background:transparent}
#pdMask.reader-page .pd-foot{padding-top:24px;padding-bottom:0;margin-top:16px}
#stViewMask.reader-page .st-view-head{padding:0 0 26px}
#stViewMask.reader-page .st-view-intro{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#stViewMask.reader-page .st-view-intro.is-expanded{display:block;overflow:visible}
.st-intro-more{align-self:flex-start;border:0;background:transparent;color:var(--point);font:600 .8rem/1.4 var(--sans);padding:8px 0;cursor:pointer}
.st-episode-search .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#stViewMask.reader-page #stvClose,#dadaViewMask.reader-page #dvX{display:none}
#stViewMask.reader-page .st-view-eps{flex:none;min-height:auto;margin-top:28px;border-radius:0;box-shadow:none}
#stViewMask.reader-page .st-eps-hint{display:none}
.st-episode-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line-soft);font-family:var(--sans)}
.st-episode-orders{display:flex;align-items:center;gap:4px}
.st-episode-orders button,.stv-shortcut{border:1px solid var(--line-soft);border-radius:8px;background:var(--bg);color:var(--ink);font:600 .83rem/1.4 var(--sans);padding:10px 14px;min-height:42px;cursor:pointer}
.st-episode-orders button[aria-pressed="true"]{color:var(--point);background:var(--soft);border-color:var(--point)}
.st-episode-search{margin-left:auto;min-width:200px;flex:0 1 300px}
.st-episode-search input{width:100%;padding:11px 12px;border:1px solid var(--line-soft);border-radius:8px;background:var(--bg);color:var(--ink);font:.86rem/1.4 var(--sans)}
.st-episode-result{flex-basis:100%;color:var(--muted);font-size:.82rem;line-height:1.6}
.st-episode-result:empty{display:none}
#stViewMask.reader-page .st-ep-item.is-current{background:var(--soft)}
.st-ep-reading{color:var(--point);font-size:.72rem;font-weight:700}
.stv-shortcut:hover{border-color:var(--point);color:var(--point)}
.stv-shortcut:disabled{opacity:.5;cursor:default}
#stViewMask.reader-page .st-ep-item{border-radius:0;min-height:64px;padding:18px 10px;border-bottom:1px solid var(--line-soft);box-shadow:none}
#stViewMask.reader-page.has-episode :is(.st-view-head,.stv-cta){display:none}
#stViewMask.reader-page .st-reader{flex:none;min-height:auto;margin-top:0;padding:0;border:0;animation:none}
#stViewMask.reader-page :is(.st-reader-back,.st-reader h4,.st-reader-body,.st-reader-atts,.hb-reader-tools,.hb-ep-nav,.str-foot){box-sizing:border-box;width:100%;max-width:800px;margin-left:auto;margin-right:auto}
#stViewMask.reader-page .st-reader-back{display:block;text-align:left;padding:8px 0 18px}
#stViewMask.reader-page .reader-chapter-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:800px;width:100%;margin:0 auto 24px;min-height:40px}
#stViewMask.reader-page .reader-chapter-controls .st-reader-back{width:auto;max-width:none;margin:0;padding:6px 0}
#stViewMask.reader-page .reader-chapter-controls .hb-reader-tools{width:auto;max-width:none;margin:0}
#stViewMask.reader-page .st-reader h4{font-size:clamp(1.35rem,2.3vw,1.8rem);line-height:1.5;padding:0 0 24px;margin-top:0;letter-spacing:-.025em}
#stViewMask.reader-page .st-reader-body{line-height:2;overflow-wrap:anywhere;padding:16px 0 40px}
#stViewMask.reader-page .st-reader-atts:empty{display:none}
#stViewMask.reader-page .st-reader-atts img{max-width:100%;height:auto}
#stViewMask.reader-page .str-foot{border-radius:0;padding:26px 0}
#stViewMask.reader-page .st-view-foot{border-radius:0}
#dadaViewMask.reader-page .dada-modal-head{padding:0 0 24px;flex-shrink:0}
#dadaViewMask.reader-page .dada-modal-ttl{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.5}
#dadaViewMask.reader-page .dada-modal-body{padding:24px 0 0;overflow:visible;flex-shrink:0}
#dadaViewMask.reader-page .dv-body{line-height:1.9;overflow-wrap:anywhere}
/* Inline community feeds use quiet dividers instead of separate floating cards. */
.list-head{border-radius:0;box-shadow:none}
.post-list{border-left:0;border-right:0;border-radius:0;box-shadow:none}
.post-list .prow{padding-block:16px}
.ci-list{gap:0}
:is(.ci-list .ci-card,.aj-timeline .aj-entry,.gb-list .entry),
body.dark :is(.ci-list .ci-card,.aj-timeline .aj-entry,.gb-list .entry){
  margin:0;padding:26px 0;background:transparent;border:0;border-bottom:1px solid var(--line-soft);
  border-radius:0;box-shadow:none;transform:none;transition:none;
}
:is(.ci-list .ci-card,.aj-timeline .aj-entry,.gb-list .entry):hover{box-shadow:none;transform:none;border-color:var(--line-soft)}
body.dark :is(.ci-list .ci-card,.aj-timeline .aj-entry,.gb-list .entry):hover{box-shadow:none;transform:none}
.aj-timeline{padding-left:0}
.aj-timeline::before,.aj-timeline .aj-entry::before{display:none}
.gb-list{gap:0}
.ci-comments,body.dark .ci-comments{border:0;border-top:1px solid var(--line-soft);border-radius:0;box-shadow:none;background:transparent;padding:22px 0 0}
@media(max-width:640px){
  .reader-page .reader-topbar{min-height:56px;gap:10px;padding-inline:12px}
  .reader-topbar .reader-context{font-size:.76rem}
  .reader-topbar button{padding-inline:6px;font-size:.8rem}
  .reader-page > :is(.pd,.dada-modal){padding:24px 18px max(40px,env(safe-area-inset-bottom))}
  #pdMask.reader-page .pd-body{padding-block:24px 32px}
  #pdMask.reader-page .pd-foot{gap:14px}
  #stViewMask.reader-page .st-ep-item{padding-inline:2px}
  #stViewMask.reader-page .st-view-head{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 16px;align-items:start}
  #stViewMask.reader-page .st-view-meta{display:contents}
  #stViewMask.reader-page .st-view-cover{grid-column:1;grid-row:1/5}
  #stViewMask.reader-page .st-view-badges{grid-column:2;grid-row:1;margin:0}
  #stViewMask.reader-page .st-view-meta h3{grid-column:2;grid-row:2;margin:0}
  #stViewMask.reader-page .st-view-author{grid-column:2;grid-row:3;margin:0}
  #stViewMask.reader-page .stv-stats{grid-column:2;grid-row:4;margin:0}
  #stViewMask.reader-page .st-view-intro{grid-column:1/-1;grid-row:5;margin:12px 0 0}
  #stViewMask.reader-page .st-intro-more{grid-column:1/-1;grid-row:6;text-align:left}
  .st-episode-search{flex:1 1 100%;min-width:0}
  #stViewMask.reader-page .stv-cta{gap:8px;flex-wrap:wrap}
  #stViewMask.reader-page .stv-continue{flex:1 1 100%;min-height:46px}
  #stViewMask.reader-page .st-reader-body{padding-top:8px}
  #stViewMask.reader-page .str-nav{width:100%;display:flex;gap:8px}
  #stViewMask.reader-page .str-nav-btn{flex:1;min-width:0;padding:12px 6px}
}
@media print{
  .reader-page.open{position:static;height:auto;display:block}
  .reader-page .reader-topbar{display:none}
  .reader-page > :is(.pd,.dada-modal){height:auto;overflow:visible;padding:0}
}
