/*
Theme Name: Simple Webnovel Art Deco Reading Hall
Theme URI: https://example.com/
Author: OpenAI
Description: Lightweight Art Deco reading-hall theme for Simple Webnovel. Paginated chapters, accessible reader settings, local reading progress, and optimized chapter queries.
Version: 1.1.0
License: GPL2+
Text Domain: simple-webnovel-art-deco
*/

:root {
  --bg: #eee7d9;
  --surface: #fbf5e8;
  --surface-2: #f3ead7;
  --text: #17261f;
  --muted: #746b5c;
  --line: #bca66e;
  --primary: #c6a15b;
  --primary-dark: #9d793b;
  --emerald: #0d342c;
  --emerald-2: #16483d;
  --ink: #101b18;
  --ivory: #fbf5e8;
  --gold: #c6a15b;
  --gold-pale: #e0c88e;
  --content-width: 1180px;
  --reading-width: 780px;
  --logo-height-desktop: 46px;
  --logo-height-mobile: 38px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background-color: var(--bg);
  background-image:
    linear-gradient(30deg, rgba(13,52,44,.025) 12%, transparent 12.5%, transparent 87%, rgba(13,52,44,.025) 87.5%, rgba(13,52,44,.025)),
    linear-gradient(150deg, rgba(13,52,44,.025) 12%, transparent 12.5%, transparent 87%, rgba(13,52,44,.025) 87.5%, rgba(13,52,44,.025));
  background-size: 80px 138px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.65;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--primary-dark); }
button, input, textarea, select { font: inherit; }
.wrap { width: min(calc(100% - 36px), var(--content-width)); margin: 0 auto; }

/* Art Deco header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--emerald);
  color: var(--ivory);
  border-bottom: 3px double var(--gold);
}
.site-header::before,
.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(224,200,142,.48);
}
.site-header::before { top: 5px; }
.site-header::after { bottom: 5px; }
.site-header__inner {
  min-height: calc(var(--logo-height-desktop) + 20px);
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 30px;
  position: relative;
}
.site-header__inner::after {
  content: "◆";
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%);
  padding: 0 8px;
  background: var(--emerald);
  color: var(--gold);
  font-size: 10px;
}
.site-branding { display:flex; align-items:center; min-width:0; }
.site-branding__link { display:inline-flex; align-items:center; min-height:var(--logo-height-desktop); }
.site-logo .custom-logo-link { display:inline-flex; align-items:center; line-height:0; }
.custom-logo { max-height:var(--logo-height-desktop); width:auto; height:auto; display:block; }
.site-title {
  margin:0;
  color:var(--ivory);
  font-family: Georgia, "Times New Roman", serif;
  font-size:24px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.main-navigation { justify-self:end; }
.main-navigation ul { display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0; }
.main-navigation li { margin:0; }
.main-navigation a {
  position:relative;
  display:block;
  padding:10px 0;
  color:var(--ivory);
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.main-navigation a::after {
  content:"";
  position:absolute;
  left:50%;
  bottom:3px;
  width:0;
  height:1px;
  background:var(--gold);
  transform:translateX(-50%);
  transition:width .15s ease;
}
.main-navigation a:hover,
.main-navigation .current-menu-item > a { color:var(--gold-pale); }
.main-navigation a:hover::after,
.main-navigation .current-menu-item > a::after { width:100%; }
.menu-toggle {
  display:none;
  min-width:80px;
  min-height:36px;
  border:1px solid var(--gold);
  background:transparent;
  color:var(--ivory);
  padding:0 14px;
  border-radius:0;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
.page-shell { padding:38px 0 64px; }
.home-grid-wrap { padding-top:0; }

/* Decorative home masthead */
.deco-masthead {
  position:relative;
  margin:0 auto 34px;
  padding:26px 24px 22px;
  text-align:center;
  color:var(--emerald);
  border-top:4px double var(--gold);
  border-bottom:4px double var(--gold);
}
.deco-masthead::before,
.deco-masthead::after {
  content:"";
  position:absolute;
  top:10px;
  bottom:10px;
  width:18px;
  border-top:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
}
.deco-masthead::before { left:0; border-left:1px solid var(--gold); }
.deco-masthead::after { right:0; border-right:1px solid var(--gold); }
.deco-masthead__title {
  margin:0;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(36px, 5vw, 64px);
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.deco-masthead__subtitle {
  margin:10px 0 0;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.28em;
}
.deco-masthead__diamond {
  width:12px;
  height:12px;
  margin:0 auto 12px;
  border:2px solid var(--gold);
  transform:rotate(45deg);
}
.deco-masthead__diamond--bottom { margin:14px auto 0; }
.deco-masthead__line { display:none; }

/* 3 x 3 program-card grid */
.novel-grid.editorial-index {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}
.novel-card,
.novel-card--feature,
.novel-card--side,
.novel-card--standard {
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:116px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid var(--emerald);
  outline:1px solid var(--gold-pale);
  outline-offset:-6px;
  background:rgba(251,245,232,.92);
}
.novel-card::before,
.novel-card::after {
  content:"";
  position:absolute;
  width:16px;
  height:16px;
  pointer-events:none;
}
.novel-card::before {
  top:7px; left:7px;
  border-top:2px solid var(--gold);
  border-left:2px solid var(--gold);
}
.novel-card::after {
  right:7px; bottom:7px;
  border-right:2px solid var(--gold);
  border-bottom:2px solid var(--gold);
}
.novel-card__cover-wrap {
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  background:#ded3bc;
  border:1px solid var(--gold);
}
.novel-card__cover-wrap::before { content:""; display:block; padding-top:150%; }
.novel-card__cover { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.novel-card__placeholder { display:grid; place-items:center; color:#81766f; font-size:11px; font-weight:800; }
.novel-card__meta { min-width:0; align-self:center; }
.novel-card__number {
  display:inline-grid;
  place-items:center;
  min-width:34px;
  height:26px;
  margin-bottom:10px;
  padding:0 8px;
  background:var(--emerald);
  color:var(--gold-pale);
  font-family:Georgia, "Times New Roman", serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
}
.novel-card__title,
.novel-card--feature .novel-card__title,
.novel-card--side .novel-card__title,
.novel-card--standard .novel-card__title {
  margin:0;
  font-family:Georgia, "Times New Roman", serif;
  font-size:21px;
  line-height:1.08;
  letter-spacing:-.02em;
  font-weight:700;
}
.novel-card__excerpt,
.novel-card--side .novel-card__excerpt {
  margin:10px 0 0;
  color:#5f574b;
  font-size:12.5px;
  line-height:1.55;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.novel-card__read {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  color:var(--emerald);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.novel-card__read span { color:var(--gold); }

.section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin:0 0 26px;
  padding:18px 20px;
  border:3px double var(--gold);
  background:var(--surface);
}
.section-title { margin:0; font-family:Georgia, "Times New Roman", serif; font-size:34px; line-height:1; letter-spacing:.04em; text-transform:uppercase; }
.section-meta { margin:5px 0 0; color:var(--muted); font-size:12px; letter-spacing:.08em; }

.pagination {
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:36px;
  padding-top:22px;
  border-top:3px double var(--gold);
  flex-wrap:wrap;
}
.pagination .page-numbers {
  min-width:42px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--emerald);
  background:var(--surface);
  color:var(--emerald);
  font-size:12px;
  font-weight:900;
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover { background:var(--emerald); color:var(--gold-pale); }

/* Shared ticket buttons */
.btn,
.wp-block-button__link {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 24px;
  border:1px solid transparent;
  border-radius:0;
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  clip-path:polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px);
}
.btn-primary { background:var(--emerald); color:var(--gold-pale); border-color:var(--emerald); }
.btn-primary:hover { background:var(--emerald-2); color:#fff; }
.btn-secondary { background:transparent; color:var(--emerald); border-color:var(--emerald); }
.btn-secondary:hover { background:var(--surface-2); color:var(--emerald); }

/* Story page: symmetrical reading-hall stage */
.story-page { max-width:1080px; }
.story-panel { background:transparent; }
.deco-story__marquee {
  position:relative;
  margin-bottom:30px;
  padding:28px 24px 30px;
  text-align:center;
  color:var(--ivory);
  background:var(--emerald);
  border:4px double var(--gold);
}
.deco-story__marquee::before,
.deco-story__marquee::after {
  content:"◆";
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  color:var(--gold);
  font-size:11px;
}
.deco-story__marquee::before { left:24px; }
.deco-story__marquee::after { right:24px; }
.book-kicker {
  display:inline-block;
  color:var(--gold-pale);
  font-size:10px;
  font-weight:900;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.book-title {
  margin:10px auto 0;
  max-width:900px;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(40px, 6vw, 70px);
  line-height:1;
  letter-spacing:.03em;
  font-weight:700;
}
.deco-story__rule {
  display:block;
  width:110px;
  height:7px;
  margin:0 auto 15px;
  border-top:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
}
.deco-story__rule--bottom { margin:18px auto 0; }

.deco-story__stage {
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(240px, 320px) minmax(0, .9fr);
  gap:24px;
  align-items:stretch;
}
.deco-story__synopsis,
.deco-story__tickets {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:26px;
  background:var(--surface);
  border:3px double var(--gold);
}
.deco-panel-label {
  margin-bottom:16px;
  color:var(--primary-dark);
  font-size:10px;
  font-weight:900;
  letter-spacing:.24em;
  text-align:center;
}
.book-description { color:#4e473d; font-size:15px; line-height:1.8; }
.book-description p:first-child { margin-top:0; }
.book-description p:last-child { margin-bottom:0; }
.deco-story__cover {
  position:relative;
  padding:10px;
  background:var(--emerald);
  border:1px solid var(--gold);
}
.book-cover__image,
.book-cover__placeholder { width:100%; aspect-ratio:2/3; object-fit:cover; border:1px solid var(--gold-pale); }
.book-cover__placeholder { display:grid; place-items:center; color:#857c6b; background:#e4dac6; font-size:12px; font-weight:800; }
.deco-cover-corner { position:absolute; width:26px; height:26px; z-index:2; }
.deco-cover-corner--tl { top:3px; left:3px; border-top:3px solid var(--gold); border-left:3px solid var(--gold); }
.deco-cover-corner--tr { top:3px; right:3px; border-top:3px solid var(--gold); border-right:3px solid var(--gold); }
.deco-cover-corner--bl { bottom:3px; left:3px; border-bottom:3px solid var(--gold); border-left:3px solid var(--gold); }
.deco-cover-corner--br { bottom:3px; right:3px; border-bottom:3px solid var(--gold); border-right:3px solid var(--gold); }
.book-actions { display:flex; flex-direction:column; gap:12px; }
.book-actions .btn { width:100%; }

/* Theatre-program catalog */
.book-catalog.deco-program { margin-top:34px; }
.deco-program {
  padding:8px;
  background:var(--emerald);
  border:1px solid var(--gold);
}
.deco-program__frame {
  padding:26px 28px;
  border:3px double var(--gold);
  color:var(--ivory);
}
.catalog-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(224,200,142,.7);
}
.deco-program__eyebrow { display:block; margin-bottom:5px; color:var(--gold-pale); font-size:9px; font-weight:900; letter-spacing:.26em; }
.catalog-title { margin:0; font-family:Georgia, "Times New Roman", serif; font-size:32px; line-height:1; letter-spacing:.08em; text-transform:uppercase; }
.catalog-count { color:var(--gold-pale); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.chapter-list {
  list-style:none;
  margin:0;
  padding:14px 0 0;
  counter-reset:chapter;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  column-gap:34px;
}
.chapter-list li { counter-increment:chapter; border-bottom:1px solid rgba(224,200,142,.26); }
.chapter-list a {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 16px;
  gap:10px;
  align-items:center;
  padding:13px 0;
  color:var(--ivory);
  font-size:13px;
}
.chapter-list a::before { content:counter(chapter, decimal-leading-zero); color:var(--gold-pale); font-family:Georgia, "Times New Roman", serif; font-size:11px; }
.chapter-list a span { text-align:right; color:var(--gold); font-size:8px; }
.chapter-list a:hover { color:var(--gold-pale); }

/* Chapter reader: theatre programme meets reading room */
.reader-shell.deco-reader { width:min(calc(100% - 32px), var(--reading-width)); margin:0 auto; padding:10px 0 70px; }
.reader-top {
  position:relative;
  margin:0 auto 24px;
  padding:30px 30px 32px;
  text-align:center;
  color:var(--ivory);
  background:var(--emerald);
  border:4px double var(--gold);
}
.reader-eyebrow { display:block; margin:10px 0 10px; color:var(--gold-pale); font-size:10px; font-weight:900; letter-spacing:.26em; text-transform:uppercase; }
.reader-title { margin:0; font-family:Georgia, "Times New Roman", serif; font-size:clamp(34px, 5.6vw, 54px); line-height:1.05; letter-spacing:.02em; }
.deco-reader__fan { display:flex; align-items:flex-end; justify-content:center; gap:5px; height:16px; }
.deco-reader__fan span { display:block; width:42px; height:1px; background:var(--gold); transform-origin:center bottom; }
.deco-reader__fan span:nth-child(1) { transform:rotate(-14deg); }
.deco-reader__fan span:nth-child(2) { width:58px; }
.deco-reader__fan span:nth-child(3) { transform:rotate(14deg); }
.deco-reader__fan--bottom { margin-top:16px; transform:rotate(180deg); }
.reader-body {
  max-width:720px;
  margin:0 auto;
  padding:38px 40px 32px;
  background:rgba(251,245,232,.96);
  border:3px double var(--gold);
  box-shadow:none;
}
.entry-content,
.reader-content { color:#2e322d; font-size:19px; line-height:2; word-break:break-word; }
.entry-content p,
.reader-content p { margin:0 0 1.35em; }
.reader-content img,
.entry-content img { display:block; max-width:100%; height:auto; margin:1.55em auto; padding:5px; border:1px solid var(--gold); background:var(--surface); }
.reader-content figure,
.entry-content figure { margin:1.55em auto; text-align:center; }
.reader-content .aligncenter,
.entry-content .aligncenter { margin-left:auto; margin-right:auto; }
.reader-nav,
.reader-nav.reader-nav--focus {
  position:static;
  display:grid;
  grid-template-columns:minmax(120px, .75fr) minmax(170px, 1.2fr);
  gap:12px;
  margin-top:34px;
  padding-top:20px;
  border-top:3px double var(--gold);
  background:transparent;
  box-shadow:none;
}
.reader-nav .btn,
.reader-nav--focus .btn { width:100%; min-height:46px; border-radius:0; font-size:12px; }
.reader-nav .btn.is-disabled { background:#d8d0c0; color:#8e887e; border-color:#c5baa2; pointer-events:none; }
.reader-nav--focus .btn-catalog { background:transparent; border:1px solid var(--emerald); color:var(--emerald); }
.reader-nav--focus .btn-next { box-shadow:none; }

.site-footer { padding:0 0 36px; color:var(--muted); font-size:11px; letter-spacing:.08em; }
.footer-inner { padding-top:18px; border-top:3px double var(--gold); text-align:center; }
.screen-reader-text { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

@media (max-width: 980px) {
  .novel-card,
  .novel-card--feature,
  .novel-card--side,
  .novel-card--standard { grid-template-columns:96px minmax(0,1fr); gap:14px; padding:15px; }
  .novel-card__title,
  .novel-card--feature .novel-card__title,
  .novel-card--side .novel-card__title,
  .novel-card--standard .novel-card__title { font-size:18px; }
  .deco-story__stage { grid-template-columns:minmax(0,1fr) 250px; }
  .deco-story__tickets { grid-column:1 / -1; }
  .deco-story__tickets .book-actions { flex-direction:row; }
  .deco-story__tickets .book-actions .btn { width:auto; flex:1; }
}

@media (max-width: 760px) {
  .page-shell { padding-top:24px; }
  .site-header__inner { min-height:calc(var(--logo-height-mobile) + 14px); padding:5px 0; grid-template-columns:auto auto; }
  .site-branding__link { min-height:var(--logo-height-mobile); }
  .custom-logo { max-height:var(--logo-height-mobile); }
  .site-title { font-size:19px; letter-spacing:.05em; }
  .menu-toggle { display:inline-flex; align-items:center; justify-content:center; justify-self:end; }
  .main-navigation {
    position:absolute;
    left:0;
    right:0;
    top:100%;
    display:none;
    padding:8px 18px 14px;
    background:var(--emerald);
    border-top:1px solid rgba(224,200,142,.45);
    border-bottom:3px double var(--gold);
  }
  .main-navigation.is-open { display:block; }
  .main-navigation ul { flex-direction:column; align-items:stretch; gap:0; }
  .main-navigation a { padding:12px 2px; border-bottom:1px solid rgba(224,200,142,.2); }

  .deco-masthead { margin-bottom:24px; padding:22px 16px 18px; }
  .deco-masthead__title { font-size:34px; }
  .deco-masthead__subtitle { font-size:9px; letter-spacing:.2em; }

  .novel-grid.editorial-index { grid-template-columns:1fr; gap:16px; }
  .novel-card,
  .novel-card--feature,
  .novel-card--side,
  .novel-card--standard {
    grid-column:auto;
    grid-row:auto;
    grid-template-columns:100px minmax(0,1fr);
    gap:15px;
    padding:15px;
  }
  .novel-card__title,
  .novel-card--feature .novel-card__title,
  .novel-card--side .novel-card__title,
  .novel-card--standard .novel-card__title { font-size:20px; }
  .novel-card__excerpt { -webkit-line-clamp:2; }
  .novel-card__read { margin-top:8px; }

  .deco-story__marquee { padding:24px 16px 26px; }
  .book-title { font-size:clamp(36px, 11vw, 54px); }
  .deco-story__stage { grid-template-columns:1fr; }
  .deco-story__cover { width:min(310px, 76vw); margin:0 auto; grid-row:1; }
  .deco-story__synopsis { grid-row:2; }
  .deco-story__tickets { grid-row:3; }
  .deco-story__tickets .book-actions { flex-direction:column; }
  .deco-story__tickets .book-actions .btn { width:100%; }

  .deco-program__frame { padding:22px 18px; }
  .catalog-title { font-size:27px; }
  .chapter-list { grid-template-columns:1fr; }

  .reader-top { padding:26px 18px 28px; }
  .reader-body { padding:28px 20px 24px; }
  .entry-content,
  .reader-content { font-size:18px; line-height:1.95; }
}

@media (max-width: 440px) {
  .wrap { width:min(calc(100% - 22px), var(--content-width)); }
  .novel-card,
  .novel-card--feature,
  .novel-card--side,
  .novel-card--standard { grid-template-columns:88px minmax(0,1fr); gap:13px; padding:13px; }
  .novel-card__number { min-width:30px; height:24px; margin-bottom:7px; }
  .novel-card__title,
  .novel-card--feature .novel-card__title,
  .novel-card--side .novel-card__title,
  .novel-card--standard .novel-card__title { font-size:18px; }
  .novel-card__excerpt { font-size:12px; -webkit-line-clamp:2; }
  .novel-card__read { display:none; }
  .catalog-head { align-items:center; }
  .reader-nav,
  .reader-nav.reader-nav--focus { grid-template-columns:minmax(94px, .72fr) minmax(132px, 1.05fr); }
}

/* 1.1: bounded catalog and calm, accessible reading controls. */
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
.ad-skip { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 12px 20px; background: var(--emerald); color: var(--ivory); }
.ad-skip:focus { top: 12px; }
.ad-catalog-tools { display:flex; flex-wrap:wrap; align-items:end; gap:16px; margin:24px 0; padding-bottom:24px; border-bottom:1px solid var(--line); }
.ad-catalog-tools label,.ad-settings label { display:grid; gap:8px; font-size:14px; font-weight:600; }
.ad-catalog-tools input,.ad-catalog-tools select { min-height:44px; padding:8px 12px; border:1px solid var(--line); background:var(--surface); color:var(--text); font:inherit; border-radius:4px; }
.ad-catalog-tools input { width:85px; }
.chapter-list a.ad-last-read { background:var(--emerald); color:var(--ivory); border-color:var(--gold); }
.chapter-list a { min-height:48px; overflow-wrap:anywhere; }
.chapter-list { counter-reset:none; }
.chapter-list a::before { content:none; }
.ad-empty { padding:24px; text-align:center; }
.deco-reader { --reader-size:19px; --reader-leading:1.9; max-width:780px; }
.deco-reader .reader-top { padding:28px 20px 20px; }
.deco-reader .reader-title { font-size:clamp(24px,4vw,36px); line-height:1.4; overflow-wrap:anywhere; }
.ad-settings { margin:0 0 20px; background:var(--surface); border:1px solid var(--line); }
.ad-settings summary { cursor:pointer; padding:14px 20px; min-height:48px; font-size:14px; }
.ad-settings-inner { padding:4px 20px 20px; display:flex; flex-wrap:wrap; gap:24px; align-items:center; }
.ad-settings input { width:150px; min-height:28px; accent-color:var(--emerald); }
.ad-tones { display:flex; flex-wrap:wrap; gap:8px; }
.ad-tones button { min-height:44px; padding:8px 16px; cursor:pointer; background:var(--surface); color:var(--text); border:1px solid var(--line); font:inherit; }
.ad-tones button[aria-pressed="true"] { background:var(--emerald); color:var(--ivory); }
.deco-reader .reader-content { font-size:var(--reader-size); line-height:var(--reader-leading); letter-spacing:0; overflow-wrap:anywhere; }
.deco-reader .reader-content p { margin:0 0 1.2em; }
.deco-reader .reader-body { padding:clamp(20px,5vw,48px); }
.deco-reader .reader-nav { display:flex; flex-wrap:wrap; gap:10px; }
.deco-reader .reader-nav .btn { flex:1 1 110px; width:auto; min-height:48px; font-size:15px; white-space:normal; text-align:center; }
.ad-end { text-align:center; padding:24px 8px; border-top:1px solid var(--line); color:var(--muted); font-size:15px; }
body[data-reading-tone="light"] { --bg:#f4f5f3; --surface:#fff; --surface-2:#f4f5f3; --text:#202820; --muted:#586158; --line:#cbd0c8; background-image:none; }
body[data-reading-tone="dark"] { --bg:#111a17; --surface:#19251f; --surface-2:#202e27; --text:#eee9dd; --muted:#b9beaf; --line:#536153; --emerald:#d7c28c; --ivory:#17231d; background-image:none; }
body[data-reading-tone] .reader-body,body[data-reading-tone] .reader-top { background:var(--surface); color:var(--text); }
body[data-reading-tone="dark"] .reader-title,body[data-reading-tone="dark"] .reader-content,body[data-reading-tone="dark"] .reader-content a { color:var(--text); }
body[data-reading-tone="dark"] .btn-secondary { color:var(--text); background:var(--surface-2); }
body[data-reading-tone="dark"] .btn-primary { color:#17231d; background:#d7c28c; }
html:has(.deco-reader) { scroll-behavior:auto; }
@media (max-width:640px) {
  .deco-reader .reader-top { padding:20px 16px 14px; }
  .deco-reader .reader-body { padding:24px 18px; }
  .ad-settings-inner { gap:16px; }
  .ad-settings label { flex:1 1 110px; }
  .ad-settings input { width:100%; }
  .ad-catalog-tools { gap:10px; }
  .ad-catalog-tools select { max-width:180px; }
  .deco-story__tickets { padding:20px 16px; }
  .book-title { overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
