/* Adult-site contrast contract: homepage emerald, walnut, brass and cream.
   Loaded after route CSS so older light-page rules cannot wash out headings or cards. */
:root{
  --adult-navy:#06130d;
  --adult-navy-2:#10291c;
  --adult-emerald:#0c352f;
  --adult-emerald-2:#155342;
  --adult-brass:#d8b462;
  --adult-ivory:#f7f1e4;
  --adult-muted:#b8cbc5;
  --adult-glass:linear-gradient(145deg,rgba(22,69,45,.78),rgba(5,25,16,.9));
  --adult-edge:rgba(227,196,121,.32);
}

body:not(.kids-body):not(.kids-room-body):not(.sprouts-body):not(.coloring-body):not(.reader-body){
  color:var(--adult-ivory);
  background:
    radial-gradient(900px 560px at 12% 0,rgba(25,111,91,.3),transparent 64%),
    radial-gradient(850px 600px at 95% 18%,rgba(108,66,31,.2),transparent 62%),
    linear-gradient(145deg,var(--adult-navy-2),var(--adult-navy) 48%,#0b281a);
  min-width:0;
  overflow-x:hidden;
}

body:not(.kids-body):not(.kids-room-body):not(.sprouts-body):not(.coloring-body):not(.reader-body) main{
  color:var(--adult-ivory);
}

body:not(.kids-body):not(.kids-room-body):not(.sprouts-body):not(.coloring-body):not(.reader-body)
  :is(input,select,textarea,button){font:inherit}

/* Dark controls and cards always carry light ink. */
body:not(.kids-body):not(.kids-room-body):not(.sprouts-body):not(.coloring-body):not(.reader-body)
  :is(.glass,.invitation,.room-card,.journal-card,.journal-blank,.store-honesty,.product,.newsletter-card,.join-card,.prayer-glass){
  color:var(--adult-ivory);
  background:var(--adult-glass);
  border-color:var(--adult-edge);
  box-shadow:inset 0 1px rgba(255,255,255,.2),0 22px 55px rgba(0,5,12,.38);
}

/* Real writing/reading paper remains light, with a hard dark-ink guarantee. */
body:not(.kids-body):not(.kids-room-body):not(.sprouts-body):not(.coloring-body):not(.reader-body)
  :is(.reader-card,.reader-player,.place-paper,.paper-surface,[data-paper]){
  color:#182a29;
  background:#f5efe2;
}
body:not(.kids-body):not(.kids-room-body):not(.sprouts-body):not(.coloring-body):not(.reader-body)
  :is(.reader-card,.reader-player,.place-paper,.paper-surface,[data-paper]) :is(h1,h2,h3,h4,p,label,small,strong){color:inherit}

/* The place directory used an entire pale page; bring it into the adult room. */
.place-page{
  background:
    radial-gradient(900px 560px at 12% 0,rgba(25,111,91,.3),transparent 64%),
    radial-gradient(850px 600px at 95% 18%,rgba(108,66,31,.2),transparent 62%),
    linear-gradient(145deg,var(--adult-navy-2),var(--adult-navy) 48%,#0b281a)!important;
  color:var(--adult-ivory)!important;
}
.place-page .place-layout{color:var(--adult-ivory)!important}
.place-page .place-content>section{border-color:rgba(216,180,98,.25)}
.place-page :is(.place-facts div,.evidence-card,.place-aside,.related-list a,.place-missing){
  background:var(--adult-glass)!important;color:var(--adult-ivory)!important;border-color:var(--adult-edge)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.15),0 16px 40px rgba(0,0,0,.24);
}
.place-page :is(.place-content h2,.place-aside h2,.evidence-card h3,.place-facts dd,.evidence-card dd,.place-aside>p:not(.place-eyebrow),.related-list a){color:var(--adult-ivory)}
.place-page :is(.place-facts dt,.evidence-card dt,.evidence-refs,.related-list span){color:var(--adult-muted)}
.place-page .place-back{color:#f0cd78}
.place-page .place-back:hover,.place-page .place-back:focus-visible{color:#fff4d2}
.place-page .place-not-found{background:transparent;color:var(--adult-ivory)}

/* Library listings become glass; the listening reader keeps deliberate paper. */
.adult-library-page .adult-library{background:transparent!important;color:var(--adult-ivory)!important}
.adult-library-page .adult-library>header>p:last-child{color:var(--adult-muted)}
.adult-library-page .adult-filter input{background:rgba(5,27,17,.9);color:var(--adult-ivory);border-color:var(--adult-edge)}
.adult-library-page .adult-filter input::placeholder{color:#9fb5ae}
.adult-library-page .adult-book{background:var(--adult-glass)!important;color:var(--adult-ivory)!important;border-color:var(--adult-edge)!important;box-shadow:0 18px 44px rgba(0,0,0,.32)}
.adult-library-page .adult-book :is(h3,p){color:var(--adult-ivory)}
.adult-library-page .adult-book small{color:var(--adult-muted)}
.adult-library-page .adult-book-copy a{color:#f0cd78}
.adult-reader-page .reader-card,.adult-reader-page .reader-player{color:#1d302c;background:#f5eddd}
.adult-reader-page .reader-player :is(h1,h2,h3,p,button){color:#1d302c}
.adult-reader-page .ebook-contents button[aria-current="true"]{color:#743817}

/* Accessible defaults for editable fields on dark glass. */
body:not(.kids-body):not(.kids-room-body):not(.sprouts-body):not(.coloring-body):not(.reader-body)
  :is(input,select,textarea){max-width:100%}
body:not(.kids-body):not(.kids-room-body):not(.sprouts-body):not(.coloring-body):not(.reader-body)
  :is(input,select,textarea):not(.paper-input){background:rgba(5,27,17,.9);color:var(--adult-ivory);border-color:rgba(216,180,98,.36)}
body:not(.kids-body):not(.kids-room-body):not(.sprouts-body):not(.coloring-body):not(.reader-body)
  :is(input,textarea)::placeholder{color:#a8bbb5;opacity:1}

@media(max-width:700px){
  body:not(.kids-body):not(.kids-room-body):not(.sprouts-body):not(.coloring-body):not(.reader-body) :is(main,section,article,header,aside){min-width:0}
  .place-page :is(.place-layout,.place-hero-grid){grid-template-columns:minmax(0,1fr)}
  .adult-library-page .adult-book{grid-template-columns:1fr}
}

@media print{
  body{background:#fff!important;color:#172b27!important}
}
