/* =========================================================
   READER DISCOVERY CHILDREN — shared editorial design layer.
   v16.255. Shared structure/tokens only; page-specific content
   components stay in their route-owned stylesheets.
   ========================================================= */

.find-fantasy-page,
.reader-fit-page{
  --rdc-bg:#07102a;
  --rdc-bg-deep:#050b1c;
  --rdc-surface:rgba(8,18,45,.76);
  --rdc-surface-soft:rgba(13,22,50,.48);
  --rdc-gold:#f0cd7f;
  --rdc-gold-soft:#cfa65b;
  --rdc-ivory:#f5ead6;
  --rdc-text:rgba(241,232,218,.90);
  --rdc-muted:rgba(225,215,204,.70);
  --rdc-line:rgba(232,190,97,.24);
  --rdc-line-soft:rgba(232,190,97,.13);
  --rdc-reading:800px;
  --rdc-wide:940px;
  margin:0;
  min-height:100vh;
  background:var(--rdc-bg);
  color:var(--rdc-text);
  font-family:"Cormorant Garamond",Garamond,Georgia,serif;
}

.find-fantasy-page .find-fantasy-viewport,
.reader-fit-page .reader-fit-viewport{
  display:block;
  position:relative;
  width:100%;
  overflow:visible;
  background:
    linear-gradient(rgba(7,16,42,.34),rgba(7,16,42,.50)),
    url("/assets/reader-discovery-artwork.webp") center top / cover fixed no-repeat;
}

.find-fantasy-page .find-fantasy-stage,
.reader-fit-page .reader-fit-stage{
  position:relative;
  width:100%;
  overflow:visible;
}
.find-fantasy-page .find-fantasy-stage{height:var(--ff-stage-height,auto)}
.reader-fit-page .reader-fit-stage{height:var(--rf-stage-height,auto)}

.find-fantasy-page .find-fantasy-document,
.reader-fit-page .reader-fit-document{
  position:absolute;
  left:50%;
  top:0;
  width:1280px;
  min-width:1280px;
  max-width:1280px;
  transform-origin:top center;
}
.find-fantasy-page .find-fantasy-document{transform:translateX(-50%) scale(var(--ff-scale,1))}
.reader-fit-page .reader-fit-document{transform:translateX(-50%) scale(var(--rf-scale,1))}

html.find-fantasy-stage-active,
html.find-fantasy-stage-active body.find-fantasy-page,
html.reader-fit-stage-active{
  margin:0;
  width:100%;
  min-height:100%;
  overflow-x:hidden;
  overflow-y:auto;
  background:var(--rdc-bg);
  -webkit-overflow-scrolling:touch;
}

/* Reader Fit uses exactly one vertical scroll owner in the normal
   document flow. Chromium can render two native scrollbars when both
   html and body are independently scrollable. */
html.reader-fit-stage-active body.reader-fit-page{
  margin:0;
  width:100%;
  min-height:100%;
  /* overflow-x:hidden + overflow-y:visible computes overflow-y to auto,
     which makes body a second vertical scroll container in Chromium. */
  overflow-x:clip;
  overflow-y:visible;
  background:var(--rdc-bg);
}

html.find-fantasy-stage-active body.find-fantasy-page>.find-fantasy-viewport{min-height:var(--ff-stage-height,100vh)}
html.reader-fit-stage-active body.reader-fit-page>.reader-fit-viewport{min-height:var(--rf-stage-height,100vh)}

html.find-fantasy-stage-active .find-fantasy-document>.find-fantasy-shell,
html.reader-fit-stage-active .reader-fit-document>.reader-fit-shell{
  display:block;
  width:1248px;
  max-width:none;
  margin:0 auto;
  padding:18px 0 48px;
}

.find-fantasy-page .find-fantasy-topbar,
.reader-fit-page .reader-fit-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:64px;
}
.find-fantasy-page .find-fantasy-topbar-left,
.reader-fit-page .reader-fit-topbar-left{
  display:flex;
  align-items:center;
  gap:18px;
}
.find-fantasy-page .find-fantasy-return,
.find-fantasy-page .find-fantasy-fiction-link,
.reader-fit-page .reader-fit-return,
.reader-fit-page .reader-fit-discovery-link{
  color:rgba(240,211,149,.88);
  font-family:"Cormorant SC","Times New Roman",serif;
  font-weight:600;
  letter-spacing:.10em;
}
.find-fantasy-page .find-fantasy-return,
.reader-fit-page .reader-fit-return{
  font-size:.82rem;
  line-height:1.2;
  text-transform:uppercase;
}
.find-fantasy-page .find-fantasy-fiction-link,
.reader-fit-page .reader-fit-discovery-link{
  font-size:clamp(.80rem,1vw,.98rem);
  line-height:1;
  text-transform:none;
  white-space:nowrap;
}
.find-fantasy-page .find-fantasy-return:hover,
.find-fantasy-page .find-fantasy-return:focus-visible,
.find-fantasy-page .find-fantasy-fiction-link:hover,
.find-fantasy-page .find-fantasy-fiction-link:focus-visible,
.reader-fit-page .reader-fit-return:hover,
.reader-fit-page .reader-fit-return:focus-visible,
.reader-fit-page .reader-fit-discovery-link:hover,
.reader-fit-page .reader-fit-discovery-link:focus-visible{
  color:#ffe4a4;
  outline:none;
}

.find-fantasy-page .find-fantasy-article-shell,
.reader-fit-page .reader-fit-article-shell{
  position:relative;
  width:min(1120px,100%);
  margin:0 auto;
  padding:34px 52px 70px;
  border:0;
  border-radius:0;
  background:linear-gradient(
    180deg,
    rgba(7,16,42,.34),
    rgba(7,16,42,.58)
  );
  box-shadow:none;
}

.find-fantasy-page .find-fantasy-article,
.reader-fit-page .reader-fit-article{width:100%}

.find-fantasy-page .find-fantasy-hero,
.reader-fit-page .reader-fit-hero{
  position:relative;
  width:min(var(--rdc-wide),100%);
  margin:0 auto 58px;
  padding:54px 62px 50px;
  text-align:center;
}

.find-fantasy-page .find-fantasy-kicker,
.find-fantasy-page .find-fantasy-section-kicker,
.reader-fit-page .reader-fit-kicker,
.reader-fit-page .reader-fit-section-kicker{
  margin:0 0 13px;
  color:rgba(235,197,113,.88);
  font-family:"Cormorant SC","Times New Roman",serif;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.17em;
  line-height:1.2;
  text-transform:uppercase;
}

.find-fantasy-page h1,
.reader-fit-page h1{
  margin:0;
  color:#f4d58d;
  font-family:"Cormorant Garamond",Garamond,Georgia,serif;
  font-size:4.8rem;
  font-weight:500;
  line-height:.94;
  letter-spacing:.004em;
  text-shadow:0 2px 26px rgba(0,0,0,.34);
}

.find-fantasy-page .find-fantasy-subtitle,
.reader-fit-page .reader-fit-subtitle{
  margin:18px auto 0;
  color:rgba(247,230,198,.90);
  font-family:"Cormorant Garamond",Garamond,Georgia,serif;
  font-size:1.58rem;
  font-style:italic;
  font-weight:400;
  line-height:1.34;
}

.find-fantasy-page .find-fantasy-ornament,
.reader-fit-page .reader-fit-ornament{
  display:grid;
  grid-template-columns:minmax(42px,112px) auto minmax(42px,112px);
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:23px auto 25px;
  color:#ddb664;
}
.find-fantasy-page .find-fantasy-ornament span,
.reader-fit-page .reader-fit-ornament span{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(225,183,94,.56));
}
.find-fantasy-page .find-fantasy-ornament span:last-child,
.reader-fit-page .reader-fit-ornament span:last-child{
  background:linear-gradient(90deg,rgba(225,183,94,.56),transparent);
}

.find-fantasy-page .find-fantasy-section,
.reader-fit-page .reader-fit-section{
  width:min(var(--rdc-reading),100%);
  margin:0 auto;
  padding:46px 0;
  border-top:1px solid var(--rdc-line);
}

.find-fantasy-page .find-fantasy-section h2,
.find-fantasy-page .find-fantasy-next h2,
.reader-fit-page .reader-fit-section h2{
  margin:0 0 20px;
  color:#f1d38a;
  font-family:"Cormorant Garamond",Garamond,Georgia,serif;
  font-size:2.55rem;
  font-weight:500;
  line-height:1.04;
  letter-spacing:.003em;
}

.find-fantasy-page .find-fantasy-section p,
.find-fantasy-page .find-fantasy-next p,
.reader-fit-page .reader-fit-section p,
.reader-fit-page .reader-fit-section li{
  color:var(--rdc-text);
  font-family:"Cormorant Garamond",Garamond,Georgia,serif;
  font-size:1.25rem;
  line-height:1.68;
}

.find-fantasy-page .find-fantasy-section p,
.find-fantasy-page .find-fantasy-next p,
.reader-fit-page .reader-fit-section p{margin:14px 0}

.find-fantasy-page .find-fantasy-section a,
.reader-fit-page .reader-fit-section a{
  color:#efcf86;
  text-decoration-color:rgba(239,207,134,.34);
  text-underline-offset:.16em;
}
.find-fantasy-page .find-fantasy-section a:hover,
.find-fantasy-page .find-fantasy-section a:focus-visible,
.reader-fit-page .reader-fit-section a:hover,
.reader-fit-page .reader-fit-section a:focus-visible{
  color:#ffe8ae;
  text-decoration-color:rgba(255,232,174,.72);
  outline:none;
}

.find-fantasy-page .find-fantasy-footer,
.reader-fit-page .reader-fit-footer{
  text-align:center;
  border-top:1px solid rgba(232,190,97,.10);
}
.find-fantasy-page .find-fantasy-footer .footer-nav,
.reader-fit-page .reader-fit-footer .footer-nav{justify-content:center}

/* Portrait-handset landscape runtime: preserve the existing 1280px reading canvas. */
html.find-fantasy-stage-active.find-fantasy-portrait-landscape,
html.find-fantasy-stage-active.find-fantasy-portrait-landscape body.find-fantasy-page,
html.reader-fit-stage-active.reader-fit-portrait-landscape,
html.reader-fit-stage-active.reader-fit-portrait-landscape body.reader-fit-page{
  width:100%;
  height:100%;
  min-height:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:var(--rdc-bg);
}

html.find-fantasy-stage-active.find-fantasy-portrait-landscape body.find-fantasy-page>.find-fantasy-viewport,
html.reader-fit-stage-active.reader-fit-portrait-landscape body.reader-fit-page>.reader-fit-viewport{
  position:fixed;
  left:0;
  top:0;
  display:block;
  margin:0;
  padding:0;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pinch-zoom;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  z-index:1;
  background:transparent;
}
html.find-fantasy-stage-active.find-fantasy-portrait-landscape body.find-fantasy-page>.find-fantasy-viewport{
  width:var(--ff-physical-w);
  height:var(--ff-physical-h);
  min-width:var(--ff-physical-w);
  min-height:var(--ff-physical-h);
}
html.reader-fit-stage-active.reader-fit-portrait-landscape body.reader-fit-page>.reader-fit-viewport{
  width:var(--rf-physical-w);
  height:var(--rf-physical-h);
  min-width:var(--rf-physical-w);
  min-height:var(--rf-physical-h);
}
html.find-fantasy-stage-active.find-fantasy-portrait-landscape body.find-fantasy-page>.find-fantasy-viewport::-webkit-scrollbar,
html.reader-fit-stage-active.reader-fit-portrait-landscape body.reader-fit-page>.reader-fit-viewport::-webkit-scrollbar{display:none}

html.find-fantasy-stage-active.find-fantasy-portrait-landscape body.find-fantasy-page::before,
html.reader-fit-stage-active.reader-fit-portrait-landscape body.reader-fit-page::before{
  content:"";
  position:fixed;
  left:0;
  top:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(180deg,rgba(5,13,34,.22),rgba(7,16,42,.76)),
    url("/assets/reader-discovery-artwork.webp") center top / cover no-repeat;
}
html.find-fantasy-stage-active.find-fantasy-portrait-landscape body.find-fantasy-page::before{
  width:var(--ff-physical-h);
  height:var(--ff-physical-w);
  transform:translateX(var(--ff-physical-w)) rotate(90deg);
  transform-origin:top left;
}
html.reader-fit-stage-active.reader-fit-portrait-landscape body.reader-fit-page::before{
  width:var(--rf-physical-h);
  height:var(--rf-physical-w);
  transform:translateX(var(--rf-physical-w)) rotate(90deg);
  transform-origin:top left;
}

html.find-fantasy-stage-active.find-fantasy-portrait-landscape .find-fantasy-stage,
html.reader-fit-stage-active.reader-fit-portrait-landscape .reader-fit-stage{
  position:relative;
  display:block;
  margin:0;
  padding:0;
  overflow:visible;
}
html.find-fantasy-stage-active.find-fantasy-portrait-landscape .find-fantasy-stage{
  width:var(--ff-track-width);
  min-width:var(--ff-track-width);
  height:var(--ff-physical-h);
  min-height:var(--ff-physical-h);
}
html.reader-fit-stage-active.reader-fit-portrait-landscape .reader-fit-stage{
  width:var(--rf-track-width);
  min-width:var(--rf-track-width);
  height:var(--rf-physical-h);
  min-height:var(--rf-physical-h);
}
html.find-fantasy-stage-active.find-fantasy-portrait-landscape .find-fantasy-document,
html.reader-fit-stage-active.reader-fit-portrait-landscape .reader-fit-document{
  position:absolute;
  left:0;
  top:0;
  width:1280px;
  min-width:1280px;
  max-width:1280px;
  transform-origin:0 0;
  will-change:transform;
}
