/* VBC Webtoon Library — quietly editorial, image-first */
:root{--vbc-ink:#12254f;--vbc-muted:#7883a1;--vbc-border:#e7e9f1;--vbc-blue:#6a82c4;--vbc-max:900px}
html:has(body.vbc-wt-body){scroll-behavior:smooth;background:#fff}
body.vbc-wt-body{margin:0!important;padding:0!important;background:#fff!important;color:var(--vbc-ink)!important;font-family:Georgia,'Times New Roman',serif!important;min-height:100vh;-webkit-font-smoothing:antialiased}
.vbc-wt-body *{box-sizing:border-box}
.vbc-wt-body a{color:inherit;text-decoration:none}
.vbc-wt-body img{max-width:100%}
.vbc-wt-body button,.vbc-wt-body a{-webkit-tap-highlight-color:transparent}
.vbc-wt-body a:focus-visible{outline:3px solid #527bd1;outline-offset:4px;border-radius:9px}
.vbc-wt-shell{width:100%;max-width:var(--vbc-max);margin:0 auto;min-height:100vh;background:#fff;box-shadow:0 10px 65px rgba(33,54,92,.035)}
.vbc-wt-home-hero{display:block;position:relative;width:100%;aspect-ratio:2.25/1;overflow:hidden;background:#e7eff5;isolation:isolate}
.vbc-wt-home-hero-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transition:none}
.vbc-wt-hero-fallback{height:100%;min-height:190px;background:linear-gradient(135deg,#e7d5bd,#a8c7e3 60%,#7194bc);display:grid;place-items:center;color:white}
.vbc-wt-hero-fallback svg{width:65px;height:65px;opacity:.5}
.vbc-wt-home-content{padding:12px clamp(18px,4.5vw,44px) 70px}
.vbc-wt-category-section{margin-bottom:25px}
.vbc-wt-category-title{display:flex;align-items:center;gap:11px;font-size:clamp(19px,3.3vw,29px)!important;font-weight:400!important;letter-spacing:-.03em;line-height:1.2;color:#56668e!important;margin:0 0 12px!important}
.vbc-wt-category-icon,.vbc-wt-category-fallback{width:31px;height:31px;object-fit:contain;display:inline-flex;align-items:center;justify-content:center;color:#7b93d1}
.vbc-wt-category-fallback svg{width:28px;height:28px}
.vbc-wt-cover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(9px,2vw,18px)}
.vbc-wt-cover{display:block;position:relative;aspect-ratio:0.755;overflow:hidden;border-radius:10px;background:#e5ecf3;box-shadow:0 2px 5px rgba(23,35,66,.10);transition:transform .22s ease,box-shadow .22s ease}
.vbc-wt-cover:hover{transform:translateY(-3px);box-shadow:0 10px 20px #17234226}
.vbc-wt-cover img,.vbc-wt-img-fallback{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.vbc-wt-img-fallback{display:grid;place-items:center;background:linear-gradient(140deg,#dfe9ee,#c8d4de);color:#7b93af}
.vbc-wt-img-fallback svg{width:42px;height:42px}
.vbc-wt-cover-overlay{position:absolute;left:0;right:0;bottom:0;color:#fff;padding:35px 8px 10px;background:linear-gradient(transparent,#091a38ad);font-size:13px;font-weight:600;line-height:1.3;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}
.vbc-wt-cover:hover .vbc-wt-cover-overlay,.vbc-wt-cover:focus-visible .vbc-wt-cover-overlay{opacity:1;transform:none}
.vbc-wt-empty-hero{min-height:190px;background:linear-gradient(130deg,#e0ebf6,#f7ede0);display:flex;align-items:center;justify-content:center;gap:20px;padding:30px}
.vbc-wt-empty-hero h1{font-size:clamp(25px,4vw,38px);font-weight:400;letter-spacing:-.04em;margin:0;color:var(--vbc-ink)}
.vbc-wt-mark{color:#7190cb}
.vbc-wt-mark svg{width:40px;height:40px}
.vbc-wt-empty-hint{padding:38px 15px;text-align:center;line-height:1.6;color:#7b8baa}.vbc-wt-empty-hint a{color:#345fa3;text-decoration:underline}
.vbc-wt-comic-hero{position:relative;width:100%;aspect-ratio:2.02/1;background:#e9f1f5;overflow:hidden}
.vbc-wt-comic-hero-img{width:100%;height:100%;object-fit:cover;display:block}
.vbc-wt-round-back{display:grid;place-items:center;width:45px;height:45px;position:absolute;top:clamp(16px,3vw,28px);left:clamp(14px,3.4vw,30px);background:#fffefa;color:var(--vbc-ink);border-radius:50%;box-shadow:0 2px 16px #14244b27;z-index:3;transition:transform .2s,background .2s}
.vbc-wt-round-back:hover{background:white;transform:translateX(-2px)}
.vbc-wt-round-back svg{width:25px;height:25px}
.vbc-wt-comic-content{padding:11px clamp(22px,4.6vw,48px) 80px}
.vbc-wt-comic-title{margin:0 0 5px!important;font-size:clamp(33px,5.7vw,58px)!important;line-height:1.12!important;font-weight:700!important;letter-spacing:-.06em!important;color:var(--vbc-ink)!important}
.vbc-wt-comic-meta{display:flex;align-items:center;gap:18px;color:#617294;margin:8px 0 14px;flex-wrap:wrap;font-size:clamp(14px,2.1vw,21px)}
.vbc-wt-meta-item{display:inline-flex;align-items:center;gap:9px}
.vbc-wt-meta-item svg,.vbc-wt-inline-icon{width:24px;height:24px;object-fit:contain;color:#7690c8;stroke-width:1.9}
.vbc-wt-meta-divider{height:20px;width:1px;background:#bbc2d2}
.vbc-wt-description{font-family:Georgia,'Times New Roman',serif;font-size:clamp(15px,2.5vw,22px);line-height:1.35;color:#68748e;max-width:740px;margin:13px 0 25px}
.vbc-wt-description p{margin:0 0 .55em!important}
.vbc-wt-chapter-list{display:grid;gap:10px}
.vbc-wt-chapter-row{display:flex;align-items:center;gap:clamp(12px,2.6vw,25px);border:1px solid var(--vbc-border);border-radius:17px;min-height:230px;padding:0 14px 0 0;overflow:hidden;box-shadow:0 2px 9px #10224c08;transition:background .2s,border-color .2s,transform .2s}
.vbc-wt-chapter-row:hover{background:#fbfcff;border-color:#cdd9eb;transform:translateX(2px)}
.vbc-wt-chapter-thumb{position:relative;flex:0 0 48%;align-self:stretch;overflow:hidden;border-radius:0;background:#dbe9f3;min-height:230px}
.vbc-wt-chapter-thumb img,.vbc-wt-chapter-thumb .vbc-wt-img-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vbc-wt-chapter-text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.vbc-wt-episode-label{font-size:clamp(12px,1.7vw,18px);color:#5f6e8d}
.vbc-wt-chapter-text strong{font-weight:700;font-size:clamp(15px,2.4vw,23px);line-height:1.18;letter-spacing:-.018em;color:#122552}
.vbc-wt-date{font-size:clamp(11px,1.65vw,18px);color:#9298ad}
.vbc-wt-chapter-chevron{flex:0 0 auto;color:#8c97ac;display:grid;place-items:center}
.vbc-wt-chapter-chevron svg{width:22px;height:22px}
.vbc-wt-empty-chapters{color:#8f9cb0;text-align:center;padding:30px}
.vbc-wt-reader{background:#fff!important}
.vbc-wt-reader-shell{max-width:800px;margin:auto;position:relative;background:#fff;min-height:100vh}
.vbc-wt-reader-images{width:100%;line-height:0;isolation:isolate}
.vbc-wt-reader-images figure,.vbc-wt-reader-images p{margin:0!important;padding:0!important}
.vbc-wt-page-image{display:block!important;width:100%!important;height:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;line-height:0!important;vertical-align:bottom;content-visibility:auto}
.vbc-wt-reader-placeholder{padding:200px 20px;line-height:1.5;text-align:center;color:#71809f}
.vbc-wt-reader-top{position:fixed;top:max(14px,env(safe-area-inset-top));left:max(calc((100vw - 800px)/2 + 15px),15px);z-index:120;opacity:1;transition:opacity .3s,transform .3s;pointer-events:auto}
.vbc-wt-reader-top .vbc-wt-round-back{position:static;box-shadow:0 4px 22px #12234924}
.vbc-wt-reader-bottom{position:fixed;z-index:120;bottom:max(13px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:766px;min-height:96px;display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,1.15fr) minmax(0,1fr);align-items:center;gap:7px;padding:11px clamp(12px,2vw,24px);border:1.5px solid #fffffffa;border-radius:32px;background:linear-gradient(120deg,#e6f1f9d9,#fffef9da,#e6f0fbd4);box-shadow:0 10px 36px rgba(24,51,96,.18),inset 0 1px 6px #fff;backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%);transition:opacity .28s,transform .28s;pointer-events:auto}
.vbc-wt-reader-direction{display:flex;gap:9px;align-items:center;justify-content:flex-start;min-width:0;color:#3e4e78}
.vbc-wt-reader-direction svg{width:28px;height:28px;flex:0 0 28px}
.vbc-wt-reader-direction.vbc-wt-next,.vbc-wt-reader-bottom>.vbc-wt-reader-direction:last-child{justify-content:flex-end;justify-self:stretch}
.vbc-wt-reader-neighbor-thumb{display:block;width:min(124px,100%);height:68px;overflow:hidden;border:2px solid #fff;border-radius:11px;background:#d5e4eb;box-shadow:0 2px 9px #15325021}
.vbc-wt-reader-neighbor-thumb img,.vbc-wt-reader-neighbor-thumb .vbc-wt-img-fallback{width:100%;height:100%;display:block;object-fit:cover}
.vbc-wt-disabled{opacity:.25;pointer-events:none}
.vbc-wt-reader-current{display:grid;gap:3px;min-width:0;text-align:center;line-height:1.16}
.vbc-wt-reader-current strong{font-size:clamp(14px,2.9vw,22px);white-space:normal;color:#172958}
.vbc-wt-reader-current span{font-size:clamp(11px,2vw,17px);color:#677797}
.vbc-wt-reader-controls-hidden .vbc-wt-reader-top{opacity:0;transform:translateY(-22px);pointer-events:none}
.vbc-wt-reader-controls-hidden .vbc-wt-reader-bottom{opacity:0;transform:translate(-50%,calc(100% + 22px));pointer-events:none}
@media(min-width:900px){.vbc-wt-cover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vbc-wt-home-content{padding-top:20px}.vbc-wt-category-section{margin-bottom:33px}}
@media(max-width:520px){.vbc-wt-home-hero{aspect-ratio:2.15/1}.vbc-wt-home-content{padding:13px 18px 50px}.vbc-wt-category-title{margin-bottom:10px!important;gap:8px}.vbc-wt-category-icon,.vbc-wt-category-fallback{width:27px;height:27px}.vbc-wt-cover-grid{gap:9px}.vbc-wt-cover{border-radius:7px}.vbc-wt-comic-hero{aspect-ratio:1.9/1}.vbc-wt-comic-content{padding:11px 17px 60px}.vbc-wt-comic-meta{gap:10px}.vbc-wt-chapter-row{min-height:162px;border-radius:12px;padding:0 7px 0 0;gap:10px}.vbc-wt-chapter-thumb{min-height:162px;border-radius:0;flex-basis:47%}.vbc-wt-chapter-text{gap:3px}.vbc-wt-chapter-chevron svg{width:17px}.vbc-wt-round-back{width:40px;height:40px}.vbc-wt-reader-bottom{min-height:74px;border-radius:26px;padding:7px 12px;width:calc(100% - 20px);gap:3px;grid-template-columns:minmax(0,1fr) minmax(95px,1.2fr) minmax(0,1fr)}.vbc-wt-reader-direction{gap:5px}.vbc-wt-reader-direction svg{width:24px;height:24px;flex-basis:24px}.vbc-wt-reader-neighbor-thumb{height:53px;border-radius:9px}.vbc-wt-cover-overlay{display:none}}
@media(prefers-reduced-motion:reduce){.vbc-wt-body *, .vbc-wt-body *:before,.vbc-wt-body *:after{transition:none!important;animation:none!important}}

/* Larger, two-column comic covers on phones, including larger mobile screens. */
@media(max-width:640px){.vbc-wt-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v1.0.2 — refined Apple-like depth: soft ambient shadows, no hard outlines.
   Only the bottom corners of the two HERO banners are rounded. The continuous
   vertical comic reader stays uninterrupted, with no rounded page seams. */
.vbc-wt-home-hero,
.vbc-wt-comic-hero,
.vbc-wt-empty-hero {
  border-radius:0 0 24px 24px;
  box-shadow:0 2px 3px rgba(25,38,65,.025),0 10px 26px rgba(25,38,65,.058);
}
.vbc-wt-cover {
  box-shadow:0 1px 2px rgba(25,38,65,.045),0 5px 15px rgba(25,38,65,.055);
}
.vbc-wt-cover:hover {
  transform:translateY(-2px);
  box-shadow:0 3px 8px rgba(25,38,65,.055),0 12px 25px rgba(25,38,65,.085);
}
@media(max-width:640px) {
  .vbc-wt-home-hero,
  .vbc-wt-comic-hero,
  .vbc-wt-empty-hero {
    border-radius:0 0 19px 19px;
    box-shadow:0 2px 4px rgba(25,38,65,.028),0 7px 18px rgba(25,38,65,.05);
  }
}

/* v1.0.3 — taller library banner, permanent comic labels, and reader guidance. */
/* Same image width, 1.5 times the original banner height (2.25 / 1 => 1.5 / 1). */
.vbc-wt-home-hero { aspect-ratio:1.5 / 1; }
.vbc-wt-empty-hero { min-height:285px; }
@media (max-width:520px) {
  /* Original phone ratio 2.15 / 1; increasing height 1.5x yields 1.433 / 1. */
  .vbc-wt-home-hero { aspect-ratio:1.43333 / 1; }
}

/* The title is ALWAYS visible, with a gentle resting vignette for contrast.
   Only an additional vignette fades in on hover/focus. */
.vbc-wt-cover-overlay {
  display:block;
  z-index:2;
  opacity:1;
  transform:none;
  color:#fff;
  background:linear-gradient(to bottom, transparent, rgba(5,15,38,.76));
  padding:48px 13px 13px;
  font-size:clamp(16px,2.45vw,22px);
  font-weight:600;
  line-height:1.21;
  letter-spacing:-.018em;
  text-shadow:0 1px 4px rgba(0,0,0,.30);
  overflow-wrap:break-word;
}
.vbc-wt-cover::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to bottom, transparent 45%, rgba(4,13,32,.18) 67%, rgba(4,13,32,.43) 100%);
  pointer-events:none;
  opacity:0;
  transition:opacity .32s ease;
}
.vbc-wt-cover:hover::after,
.vbc-wt-cover:focus-visible::after { opacity:1; }
@media(max-width:640px) {
  .vbc-wt-cover-overlay {display:block;font-size:clamp(16px,3.8vw,19px);padding:36px 11px 12px;}
}

/* The cue belongs to the FIRST image, never to the viewport or a later page. */
.vbc-wt-reader-images { position:relative; }
.vbc-wt-scroll-cue {
  position:absolute;
  z-index:6;
  top:clamp(90px,15vh,155px);
  left:50%;
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,12px);
  transition:opacity .6s ease, transform .6s ease, visibility .6s ease;
  pointer-events:none;
}
.vbc-wt-scroll-cue-visible {
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.vbc-wt-scroll-cue-disc {
  width:74px;
  height:74px;
  border-radius:25px;
  display:grid;
  place-items:center;
  color:#112b54;
  border:1px solid rgba(255,255,255,.89);
  background:rgba(252,253,255,.84);
  box-shadow:0 6px 20px rgba(10,29,55,.13),0 1px 3px rgba(10,29,55,.07);
  backdrop-filter:blur(13px);
  -webkit-backdrop-filter:blur(13px);
}
.vbc-wt-scroll-cue-disc svg {
  display:block;
  width:42px;
  height:42px;
  animation:vbc-wt-down-hint 1.65s ease-in-out infinite;
}
@keyframes vbc-wt-down-hint {
  0%,100% { transform:translateY(-3px); }
  55% { transform:translateY(6px); }
}

/* End-of-chapter next card. Space after the card reserves the fixed navigation
   bar's entire footprint, including mobile safe-area insets. */
.vbc-wt-reader-end {
  padding:24px clamp(14px,3vw,24px) calc(135px + env(safe-area-inset-bottom,0px));
  background:#fff;
}
.vbc-wt-reader-end-empty { min-height:0; }
.vbc-wt-continue-card {
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:2.6 / 1;
  min-height:200px;
  overflow:hidden;
  border-radius:23px;
  background:#dae4ee;
  box-shadow:0 2px 7px rgba(18,38,69,.07),0 10px 24px rgba(18,38,69,.085);
  isolation:isolate;
  transition:transform .25s ease, box-shadow .25s ease;
}
.vbc-wt-continue-card:focus-visible {outline:3px solid #527bd1;outline-offset:3px;}
.vbc-wt-continue-image,
.vbc-wt-continue-card>.vbc-wt-img-fallback {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  transition:transform .45s ease;
}
.vbc-wt-continue-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(8,21,46,.18), rgba(8,21,46,.40));
  z-index:1;
  pointer-events:none;
  transition:background .25s ease;
}
.vbc-wt-continue-arrow {
  position:absolute;
  z-index:2;
  right:clamp(20px,6%,54px);
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  color:#fff;
  border:1px solid rgba(255,255,255,.58);
  border-radius:50%;
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:0 3px 15px rgba(9,22,43,.16);
  transition:transform .25s ease, background .25s ease;
}
.vbc-wt-continue-arrow svg {width:44px;height:44px;stroke-width:2.35;}
@media(hover:hover) {
  .vbc-wt-continue-card:hover {transform:translateY(-2px);box-shadow:0 4px 11px rgba(18,38,69,.09),0 14px 30px rgba(18,38,69,.11);}
  .vbc-wt-continue-card:hover .vbc-wt-continue-image {transform:scale(1.035);}
  .vbc-wt-continue-card:hover .vbc-wt-continue-arrow {transform:translate(3px,-50%);background:rgba(255,255,255,.22);}
}
@media(max-width:640px) {
  .vbc-wt-reader-end {padding:16px 11px calc(110px + env(safe-area-inset-bottom,0px));}
  .vbc-wt-continue-card {aspect-ratio:2.1 / 1;min-height:162px;border-radius:17px;}
  .vbc-wt-continue-arrow {width:62px;height:62px;right:20px;}
  .vbc-wt-continue-arrow svg {width:36px;height:36px;}
  .vbc-wt-scroll-cue-disc {width:66px;height:66px;border-radius:22px;}
  .vbc-wt-scroll-cue-disc svg {width:37px;height:37px;}
}
@media(prefers-reduced-motion:reduce) {
  .vbc-wt-scroll-cue-disc svg {animation:none;}
  .vbc-wt-cover::after {transition:none;}
  .vbc-wt-continue-card,.vbc-wt-continue-image,.vbc-wt-continue-arrow {transition:none;}
}

/* v1.0.4: sticky comic-directory navigation, attribution, and local reading progress */
:root { --vbc-reading-accent:#386477; }

/* A glass-like, viewport-pinned back bar; invisible background over the hero,
   readable translucent white surface once the user scrolls. */
.vbc-wt-comic-backbar {
  position:fixed;
  top:0;
  left:50%;
  transform:translateX(-50%);
  z-index:150;
  display:flex;
  align-items:center;
  width:100%;
  max-width:var(--vbc-max);
  min-height:calc(67px + env(safe-area-inset-top,0px));
  padding:calc(10px + env(safe-area-inset-top,0px)) clamp(14px,3.4vw,30px) 10px;
  background:transparent;
  border-bottom:1px solid transparent;
  pointer-events:none;
  transition:background .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.vbc-wt-comic-backbar.is-scrolled {
  background:rgba(255,255,255,.91);
  border-bottom-color:rgba(31,54,94,.045);
  box-shadow:0 2px 17px rgba(17,41,77,.065);
  -webkit-backdrop-filter:blur(15px) saturate(135%);
  backdrop-filter:blur(15px) saturate(135%);
}
.vbc-wt-comic-backlink {
  pointer-events:auto;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  flex:0 0 46px;
  color:var(--vbc-ink)!important;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  box-shadow:0 2px 14px rgba(18,36,75,.15);
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.vbc-wt-comic-backbar.is-scrolled .vbc-wt-comic-backlink {
  background:rgba(247,249,253,.94);
  box-shadow:0 1px 4px rgba(18,36,75,.08);
}
.vbc-wt-comic-backlink:hover {transform:translateX(-2px);background:#fff}
.vbc-wt-comic-backlink svg {width:25px;height:25px}

.vbc-wt-site-footer {
  width:100%;
  max-width:var(--vbc-max);
  margin:0 auto;
  padding:25px 18px calc(25px + env(safe-area-inset-bottom,0px));
  background:#386477;
  color:#fff;
  text-align:center;
  font:500 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.005em;
}
.vbc-wt-site-footer a {color:#fff!important;text-decoration:underline;text-decoration-color:rgba(255,255,255,.68);text-underline-offset:3px;font-weight:650}
.vbc-wt-site-footer a:hover {text-decoration-color:#fff}
.vbc-wt-site-footer a:focus-visible {outline-color:#fff}

/* Inside the card's border radius, not under or outside the card. */
.vbc-wt-chapter-row {position:relative;}
.vbc-wt-chapter-progress {
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:7.5px;
  z-index:5;
  pointer-events:none;
  overflow:hidden;
}
.vbc-wt-chapter-progress[hidden] {display:none!important}
.vbc-wt-chapter-progress-fill {
  display:block;
  height:100%;
  width:0;
  background:var(--vbc-reading-accent);
  transition:width .3s ease;
}
@media(max-width:640px) {
  .vbc-wt-comic-backbar {min-height:calc(60px + env(safe-area-inset-top,0px));padding:calc(10px + env(safe-area-inset-top,0px)) 17px 10px;}
  .vbc-wt-comic-backlink {width:42px;height:42px;flex-basis:42px;}
  .vbc-wt-chapter-progress {height:6.25px;}
  .vbc-wt-site-footer {padding:22px 14px calc(22px + env(safe-area-inset-bottom,0px));font-size:13px;}
}
@media(prefers-reduced-motion:reduce) {
  .vbc-wt-comic-backbar,.vbc-wt-comic-backlink,.vbc-wt-chapter-progress-fill {transition:none!important}
}

/* v1.0.5: Renew Outreach footer and chapter-progress lines share muted blue #386477. */

/* v1.0.6 — optional Bible Brain audio and verse-range circular progress */
.vbc-wt-episode-head{display:inline-flex;align-items:center;gap:9px;min-width:0}
.vbc-wt-chapter-audio-icon{display:inline-flex;align-items:center;justify-content:center;color:#386477}
.vbc-wt-chapter-audio-icon svg{width:18px;height:18px;display:block}
.vbc-wt-audio-float{position:fixed;bottom:calc(128px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:121;display:flex;flex-direction:column;align-items:center;gap:3px;width:190px;max-width:50vw;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173b4e}
.vbc-wt-audio-button{pointer-events:auto;position:relative;display:grid;place-items:center;width:68px;height:68px;padding:0;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.96);background:rgba(255,255,255,.93);color:#386477;box-shadow:0 3px 17px rgba(12,35,60,.14),0 1px 3px rgba(12,35,60,.08);cursor:pointer;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .2s ease,background .2s ease}
.vbc-wt-audio-button:hover:not(:disabled){background:#fff;transform:translateY(-2px)}
.vbc-wt-audio-button:disabled{cursor:wait;opacity:.7}
.vbc-wt-audio-button:focus-visible{outline:3px solid #386477;outline-offset:3px}
.vbc-wt-audio-ring{position:absolute;inset:1px;transform:rotate(-90deg);overflow:visible}
.vbc-wt-audio-ring-track,.vbc-wt-audio-ring-fill{fill:none;stroke-width:3.25}
.vbc-wt-audio-ring-track{stroke:rgba(56,100,119,.17)}
.vbc-wt-audio-ring-fill{stroke:#386477;stroke-linecap:round;stroke-dasharray:175.929;stroke-dashoffset:175.929;transition:stroke-dashoffset .18s linear}
.vbc-wt-audio-control-icon{position:relative;z-index:2;width:26px;height:26px;margin-left:2px}
.vbc-wt-audio-label,.vbc-wt-audio-terms{pointer-events:auto;text-align:center;color:#264e60;font-size:10px;font-weight:650;letter-spacing:.01em;text-shadow:0 1px 4px #ffffffdd;max-width:100%}
.vbc-wt-audio-label{min-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vbc-wt-audio-terms{font-size:9px;font-weight:400;text-decoration:underline;text-underline-offset:2px;opacity:.86}
.vbc-wt-audio-float.is-playing .vbc-wt-audio-button{background:rgba(241,248,250,.96)}
.vbc-wt-audio-float.is-error .vbc-wt-audio-label{color:#a12636;font-size:10px;white-space:normal}
@media(max-width:640px){.vbc-wt-audio-float{bottom:calc(104px + env(safe-area-inset-bottom,0px))}.vbc-wt-audio-button{width:60px;height:60px}.vbc-wt-audio-ring{width:56px;height:56px;inset:2px}.vbc-wt-audio-control-icon{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.vbc-wt-audio-button,.vbc-wt-audio-ring-fill{transition:none!important}}

.vbc-wt-audio-source{pointer-events:auto;position:relative;max-width:100%}
.vbc-wt-audio-source summary{list-style:none;cursor:pointer;text-align:center;color:#345b6d;font:500 10px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-decoration:underline;text-underline-offset:2px}
.vbc-wt-audio-source summary::-webkit-details-marker{display:none}
.vbc-wt-audio-source .vbc-wt-audio-credits{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%);background:#fff;color:#203e4b;width:min(260px,80vw);padding:14px;border:1px solid #dce4e7;box-shadow:0 7px 22px #0d24352c;border-radius:11px;text-align:left;font:12px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-height:55vh;overflow:auto}
.vbc-wt-audio-source .vbc-wt-audio-credits p{margin:7px 0!important}
.vbc-wt-audio-source .vbc-wt-audio-credits a{color:#386477;text-decoration:underline}

/* v1.0.7 — desktop-only refinements. Keep the tall mobile banner intact. */
@media (min-width: 641px) {
  /* Match the comic detail page's hero aspect ratio (2.02:1). */
  .vbc-wt-home-hero { aspect-ratio: 2.02 / 1; }
}
@media (min-width: 901px) {
  /* The 900px reading canvas stays white; only the outer gutters are gray. */
  html:has(body.vbc-wt-body),
  body.vbc-wt-body { background: #f3f3f3 !important; }
}

/* v1.0.8 — the Audio Bible popup can be dismissed with an explicit X.
   Its floating player follows the existing reader navigation hide/show state. */
.vbc-wt-audio-source .vbc-wt-audio-credits {
  padding-top:16px;
}
.vbc-wt-audio-source .vbc-wt-audio-credits > strong {
  display:block;
  padding-right:29px;
  min-height:25px;
}
.vbc-wt-audio-popup-close {
  appearance:none;
  -webkit-appearance:none;
  position:absolute;
  top:7px;
  right:7px;
  z-index:1;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(56,100,119,.07);
  color:#386477;
  cursor:pointer;
  transition:background .2s ease;
}
.vbc-wt-audio-popup-close:hover { background:rgba(56,100,119,.15); }
.vbc-wt-audio-popup-close:focus-visible { outline:2px solid #386477; outline-offset:2px; }
.vbc-wt-audio-popup-close svg { width:17px; height:17px; display:block; }
.vbc-wt-audio-float {
  opacity:1;
  visibility:visible;
  transition:opacity .28s ease,transform .28s ease,visibility .28s ease;
}
.vbc-wt-reader-controls-hidden .vbc-wt-audio-float {
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,calc(100% + 22px));
  pointer-events:none;
}
@media (prefers-reduced-motion:reduce) {
  .vbc-wt-audio-popup-close,.vbc-wt-audio-float {transition:none!important;}
}

/* v1.0.11 — once used, the audio button stays reachable when controls hide.
   Collapse the copyright/translation text and dock the button to the screen
   bottom with safe-area padding. Unused audio still hides with navigation. */
.vbc-wt-audio-float {
  transition:opacity .28s ease,transform .28s ease,visibility .28s ease,bottom .28s ease;
}
.vbc-wt-reader-controls-hidden .vbc-wt-audio-float.vbc-wt-audio-used {
  opacity:1;
  visibility:visible;
  bottom:calc(16px + env(safe-area-inset-bottom,0px));
  transform:translateX(-50%);
  pointer-events:none;
}
.vbc-wt-reader-controls-hidden .vbc-wt-audio-float.vbc-wt-audio-used .vbc-wt-audio-button {
  pointer-events:auto;
}
.vbc-wt-reader-controls-hidden .vbc-wt-audio-float.vbc-wt-audio-used .vbc-wt-audio-label,
.vbc-wt-reader-controls-hidden .vbc-wt-audio-float.vbc-wt-audio-used .vbc-wt-audio-source,
.vbc-wt-reader-controls-hidden .vbc-wt-audio-float.vbc-wt-audio-used .vbc-wt-audio-terms {
  display:none;
}
@media(prefers-reduced-motion:reduce) {
  .vbc-wt-audio-float {transition:none!important;}
}
