:root{
  --accent:#0d4a68;
  --accent-2:#e0ac5a;
  --paper:#faf5f0;
  --paper-edge:#efe4d8;
  --ink:#241f29;
  --ink-soft:#6b6270;
  --surface:#ffffff;
  --border:#e9ddd0;

  --toolbar-bg:#0a3550;
  --toolbar-border:rgba(255,255,255,.1);
  --shadow-book:0 30px 60px -20px rgba(36,20,20,.35), 0 8px 20px -10px rgba(36,20,20,.2);
  --focus:var(--accent);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#17121a;
    --paper-edge:#241d29;
    --ink:#f4eef2;
    --ink-soft:#b4a9bb;
    --surface:#211a26;
    --border:#332a3a;
    --shadow-book:0 30px 70px -20px rgba(0,0,0,.7), 0 10px 24px -10px rgba(0,0,0,.6);
  }
}
:root[data-theme="dark"]{
  --paper:#17121a;
  --paper-edge:#241d29;
  --ink:#f4eef2;
  --ink-soft:#b4a9bb;
  --surface:#211a26;
  --border:#332a3a;
  --shadow-book:0 30px 70px -20px rgba(0,0,0,.7), 0 10px 24px -10px rgba(0,0,0,.6);
}

*{box-sizing:border-box;}
html,body{height:100%;margin:0;}
body{background:var(--paper);}

.app{
  height:100vh;height:100dvh;display:flex;flex-direction:column;
  background:var(--paper);color:var(--ink);overflow:hidden;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}

.toolbar{
  --t-ink:#ffffff;
  --t-ink-soft:rgba(255,255,255,.72);
  --t-hover-bg:rgba(255,255,255,.14);
  flex:0 0 auto;display:flex;align-items:center;gap:12px;
  padding:9px calc(16px + env(safe-area-inset-right)) 9px calc(16px + env(safe-area-inset-left));
  background:var(--toolbar-bg);border-bottom:1px solid var(--toolbar-border);position:relative;z-index:30;
  box-shadow:0 6px 20px -16px rgba(20,12,20,.5);
}
.brand{display:flex;align-items:center;gap:10px;min-width:0;}
.brand-mark{flex:0 0 auto;width:34px;height:34px;position:relative;}
.brand-mark svg{width:100%;height:100%;}
.brand-text{min-width:0;}
.brand-title{
  font-family:'Inter',-apple-system,sans-serif;font-weight:700;font-size:15px;line-height:1.15;color:var(--t-ink);
  letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.brand-sub{
  font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--t-ink-soft);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;
}

.toolbar-controls{
  margin-left:auto;display:flex;align-items:center;gap:4px;
  flex:1 1 auto;min-width:0;
  overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;-ms-overflow-style:none;
}
.toolbar-controls::-webkit-scrollbar{display:none;}
.tbtn{
  width:34px;height:34px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  border-radius:10px;background:transparent;border:none;color:var(--t-ink-soft);cursor:pointer;
  transition:background .15s ease,color .15s ease,transform .1s ease;
}
.tbtn svg{width:18px;height:18px;stroke:currentColor;fill:none;}
.tbtn:hover{background:var(--t-hover-bg);color:var(--t-ink);}

.tbtn.active{background:var(--accent-2);color:#1c2a33;}
.tbtn:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px;}
.tbtn:active{transform:translateY(1px) scale(.96);}
.tbtn[disabled]{opacity:.35;pointer-events:none;}
#downloadBtn[hidden]{display:none;}
#downloadBtn{text-decoration:none;}

.well{display:flex;align-items:center;gap:2px;background:rgba(255,255,255,.12);border-radius:10px;padding:3px;font-variant-numeric:tabular-nums;}
.page-indicator{padding:0 8px;display:flex;align-items:center;gap:5px;font-size:13px;color:var(--t-ink);}
.page-indicator input{width:2.2ch;padding:0;margin:0;text-align:right;background:transparent;border:none;color:var(--t-ink);font:inherit;font-variant-numeric:tabular-nums;}
.page-indicator input:focus{outline:none;}
.page-indicator #pageRangeSuffix{color:var(--t-ink);font-variant-numeric:tabular-nums;}
.page-indicator .sep{color:var(--t-ink-soft);margin-left:2px;}
.zoom-pct{font-size:12px;width:3.4ch;text-align:center;color:var(--t-ink-soft);}

.sidebar-toggle-group{display:flex;align-items:center;gap:4px;}

.share-wrap{position:relative;}
.share-popover{

  position:fixed;top:0;right:0;
  background:var(--surface);border:1px solid var(--border);border-radius:14px;
  box-shadow:0 24px 50px -14px rgba(20,10,20,.4),0 6px 16px -8px rgba(20,10,20,.22);
  padding:6px;min-width:206px;z-index:50;
  display:flex;flex-direction:column;gap:1px;
  animation:popIn .15s ease;
}
.share-popover[hidden]{display:none;}
@keyframes popIn{from{opacity:0;transform:translateY(-4px) scale(.98);}to{opacity:1;transform:none;}}
.share-item{
  display:flex;align-items:center;gap:10px;width:100%;text-align:left;
  background:none;border:none;border-radius:9px;padding:8px 9px;cursor:pointer;
  color:var(--ink);font:inherit;font-size:13.5px;transition:background .12s ease;
}
.share-item:hover{background:var(--paper-edge);}
.si-dot{
  flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:11.5px;font-weight:700;line-height:1;
}
.si-dot svg{width:15px;height:15px;stroke:#fff;}
.si-copy{background:var(--ink-soft);}
.si-copy svg{stroke:#fff;}
.si-email{background:#6b7280;}
.si-facebook{background:#1877f2;}
.si-twitter{background:#14171a;}
.si-linkedin{background:#0a66c2;}
.si-whatsapp{background:#25d366;}
.si-whatsapp svg{fill:#fff;stroke:none;}

.body{flex:1 1 auto;display:flex;min-height:0;position:relative;}

.scrim{position:absolute;inset:0;background:rgba(20,12,14,.45);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:34;}
.scrim.show{opacity:1;pointer-events:auto;}

.sidebar{
  position:absolute;top:0;bottom:0;left:0;width:300px;max-width:86vw;
  background:var(--surface);border-right:1px solid var(--border);
  display:flex;flex-direction:column;min-height:0;
  transform:translateX(-100%);transition:transform .25s ease;
  z-index:35;box-shadow:18px 0 34px rgba(0,0,0,.25);
}
.sidebar.open{transform:translateX(0);}

@media (min-width:881px){
  body.sidebar-pinned .sidebar{
    position:relative;top:auto;left:auto;bottom:auto;
    flex:0 0 300px;transform:none;box-shadow:none;transition:none;
  }
  body.sidebar-pinned .scrim{display:none;}
}

.sidebar-head{
  position:relative;flex:0 0 auto;overflow:hidden;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:11px 12px;background:var(--accent);
}

.sidebar-head::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.14) 36%, transparent 38%);
}
.sidebar-head-title{
  position:relative;color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.pin-btn{
  position:relative;width:28px;height:28px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  border-radius:8px;background:rgba(255,255,255,.14);border:none;color:#fff;cursor:pointer;
  transition:background .15s ease,transform .1s ease;
}
.pin-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;}
.pin-btn:hover{background:rgba(255,255,255,.28);}
.pin-btn.active{background:var(--accent-2);color:#1c2a33;}
.pin-btn.active svg{fill:currentColor;}
.pin-btn:active{transform:scale(.94);}
.pin-btn:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px;}
@media (max-width:880px){.pin-btn{display:none;}}

.sidebar-tabs{display:flex;flex:0 0 auto;border-bottom:1px solid var(--border);}
.sidebar-tab{
  flex:1 1 0;padding:11px 6px;text-align:center;font-size:12px;font-weight:600;letter-spacing:.02em;
  color:var(--ink-soft);background:transparent;border:none;cursor:pointer;border-bottom:2px solid transparent;
}
.sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.sidebar-panels{flex:1 1 auto;overflow-y:auto;min-height:0;}
.sidebar-panel{display:none;padding:14px;}
.sidebar-panel.active{display:block;}

.toc-list, .toc-sublist{list-style:none;margin:0;padding:0;}
.toc-sublist{padding-left:14px;margin-top:2px;}
.toc-item{margin-bottom:2px;}
.toc-link{
  display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;
  padding:7px 8px;border-radius:8px;color:var(--ink);font-size:13.5px;line-height:1.35;
  transition:background .12s ease;
}
.toc-link:hover{background:var(--paper-edge);}
.toc-link.current{background:var(--accent);color:#fff;}
.toc-link .pg{float:right;color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12px;margin-left:8px;}
.toc-link.current .pg{color:rgba(255,255,255,.85);}
.toc-empty{font-size:13px;color:var(--ink-soft);line-height:1.5;padding:4px 2px;}

.thumb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.thumb{
  position:relative;display:block;padding:0;border-radius:8px;overflow:hidden;cursor:pointer;
  background:var(--paper);border:1.5px solid var(--border);transition:border-color .12s ease,box-shadow .12s ease;
}
.thumb:hover{border-color:var(--accent);}
.thumb.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);}
.thumb canvas{display:block;width:100%;height:100%;background:var(--paper-edge);}
.thumb-ph{width:100%;aspect-ratio:var(--ar,0.773);background:var(--paper-edge);}
.thumb-num{
  position:absolute;right:4px;bottom:4px;font-size:10px;line-height:1;
  background:rgba(20,12,14,.62);color:#f8f1f3;padding:2px 5px;border-radius:4px;font-variant-numeric:tabular-nums;
}

.search-box{
  display:flex;align-items:center;gap:8px;background:var(--paper-edge);border-radius:9px;padding:8px 10px;margin-bottom:12px;
}
.search-box svg{width:16px;height:16px;stroke:var(--ink-soft);flex:0 0 auto;}
.search-box input{flex:1 1 auto;border:none;background:transparent;color:var(--ink);font:inherit;font-size:13.5px;}
.search-box input:focus{outline:none;}
.search-hint{font-size:12px;color:var(--ink-soft);padding:2px 2px 10px;}
.search-results{list-style:none;margin:0;padding:0;}
.search-result{margin-bottom:8px;}
.search-result button{
  width:100%;text-align:left;background:var(--paper);border:1px solid var(--border);border-radius:10px;
  padding:9px 10px;cursor:pointer;color:var(--ink);transition:border-color .12s ease;
}
.search-result button:hover{border-color:var(--accent);}
.search-result .sr-page{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;}
.search-result .sr-snippet{font-size:12.5px;color:var(--ink-soft);margin-top:3px;line-height:1.4;}
.search-result mark{background:rgba(255,85,85,.28);color:var(--ink);border-radius:2px;padding:0 1px;}

.stage{
  flex:1 1 auto;position:relative;overflow:auto;
  display:flex;align-items:center;justify-content:center;
  background-color:var(--paper);
  background-image:radial-gradient(var(--paper-edge) 1.1px,transparent 1.1px);
  background-size:22px 22px;
  padding:32px 16px;

  touch-action:manipulation;
}
.book-zoom{position:relative;width:100%;max-width:700px;transition:transform .18s ease;transform-origin:center top;}
#book{box-shadow:var(--shadow-book);border-radius:3px;background:#111;}
.book-zoom.magnify-mode #book{cursor:none;}

.ministry-logo{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);
  margin-top:14px;width:auto;height:auto;
  max-width:min(160px,32vw);max-height:72px;
  object-fit:contain;z-index:6;pointer-events:none;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.3));
}
.ministry-logo[hidden]{display:none;}
@media (max-width:520px){
  .ministry-logo{max-height:48px;margin-top:10px;}
}

.loupe{
  position:fixed;top:0;left:0;width:220px;height:220px;border-radius:50%;
  transform:translate(-50%,-50%);pointer-events:none;overflow:hidden;z-index:80;
  background:#111;border:3px solid var(--surface);
  box-shadow:0 0 0 2px var(--accent),0 16px 36px -10px rgba(0,0,0,.55);
}
.loupe[hidden]{display:none;}
.loupe canvas{display:block;width:100%;height:100%;}

.page-face{position:relative;width:100%;height:100%;background:#fdfdfc;overflow:hidden;}
.page-face canvas{display:block;width:100%;height:100%;}
.page-face .pg-spinner{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;
}
.page-face .pg-spinner span{
  width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  animation:dotPulse 1.1s ease-in-out infinite;
}
.page-face .pg-spinner span:nth-child(2){animation-delay:.15s;}
.page-face .pg-spinner span:nth-child(3){animation-delay:.3s;}
.page-face .pg-num{
  position:absolute;bottom:6px;left:0;right:0;text-align:center;font-size:10px;color:rgba(0,0,0,.35);
  font-variant-numeric:tabular-nums;pointer-events:none;
}

.hotspot{
  position:absolute;border:none;border-radius:999px;cursor:pointer;
  background:rgba(255,255,255,.88);color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.28);
}
.hotspot svg{width:46%;height:46%;}
.hotspot.playing{background:var(--accent);color:#fff;animation:pulse 1.4s ease-in-out infinite;}
@keyframes pulse{0%,100%{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 0 rgba(255,85,85,.5);}50%{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 8px rgba(255,85,85,0);}}

.nav-arrow{
  position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;
  background:var(--surface);border:1px solid var(--border);color:var(--ink);cursor:pointer;
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px -8px rgba(0,0,0,.35);z-index:5;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.nav-arrow svg{width:20px;height:20px;stroke:currentColor;}
.nav-arrow:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.nav-arrow.prev{left:14px;}
.nav-arrow.next{right:14px;}
.nav-arrow[disabled]{opacity:.3;pointer-events:none;}

.audio-bar{
  position:fixed;left:50%;bottom:18px;transform:translate(-50%,120%);
  display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);
  border-radius:999px;padding:8px 10px 8px 8px;box-shadow:0 14px 30px -10px rgba(0,0,0,.4);
  transition:transform .25s ease;z-index:40;max-width:calc(100vw - 32px);
}
.audio-bar.show{transform:translate(-50%,0);}
.audio-bar button{width:34px;height:34px;border-radius:50%;border:none;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;}
.audio-bar button svg{width:16px;height:16px;fill:currentColor;stroke:none;}
.audio-bar .ab-title{font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw;}
.audio-bar .ab-close{background:transparent;color:var(--ink-soft);width:26px;height:26px;}
.audio-bar .ab-close svg{width:14px;height:14px;stroke:currentColor;fill:none;}

@keyframes dotPulse{0%,80%,100%{transform:scale(.5);opacity:.35;}40%{transform:scale(1);opacity:1;}}

.loading{
  position:fixed;inset:0;z-index:60;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  background:
    radial-gradient(circle at 50% 28%,rgba(255,255,255,.10),transparent 55%),
    linear-gradient(145deg,color-mix(in srgb,var(--accent) 62%,#fff) 0%,var(--accent) 46%,color-mix(in srgb,var(--accent) 76%,#000) 100%);
  transition:opacity .6s ease,visibility .6s ease;
}
.loading.hidden{opacity:0;visibility:hidden;pointer-events:none;}

.loading::before,.loading::after{content:"";position:absolute;pointer-events:none;transform:rotate(-11deg);}
.loading::before{width:42vw;height:140vh;top:-30vh;right:-28vw;border-left:1px solid color-mix(in srgb,var(--accent-2) 58%,transparent);background:rgba(255,255,255,.035);}
.loading::after{width:25vw;height:120vh;left:-19vw;bottom:-25vh;border-right:1px solid color-mix(in srgb,var(--accent-2) 34%,transparent);background:rgba(255,255,255,.025);}
@media (max-width:640px){.loading::before,.loading::after{display:none;}}

.loading-inner{width:min(92vw,760px);padding:32px 24px;text-align:center;position:relative;z-index:2;}

.loading-mark{position:relative;width:104px;height:104px;margin:0 auto 18px;display:grid;place-items:center;}
.loading-mark::before,.loading-mark::after{content:"";position:absolute;inset:0;border-radius:50%;}
.loading-mark::before{border:1px solid color-mix(in srgb,var(--accent-2) 75%,transparent);border-top-color:transparent;animation:loadOrbit 4s linear infinite;}
.loading-mark::after{inset:9px;border:1px solid rgba(255,255,255,.22);border-bottom-color:transparent;animation:loadOrbitRev 6s linear infinite;}
.loading-mark-default{width:56px;height:56px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.18));animation:loadMarkIn 1.05s cubic-bezier(.2,.8,.2,1) both,loadMarkFloat 3.8s ease-in-out 1.1s infinite;}
.loading-mark-logo{position:absolute;max-width:58px;max-height:58px;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,.18));animation:loadMarkIn 1.05s cubic-bezier(.2,.8,.2,1) both,loadMarkFloat 3.8s ease-in-out 1.1s infinite;}
.loading-mark-logo[hidden]{display:none;}
.loading-mark:has(.loading-mark-logo:not([hidden])) .loading-mark-default{display:none;}

.loading-sub{margin:0 0 22px;font-size:clamp(11px,1.3vw,14px);line-height:1.45;letter-spacing:.06em;font-weight:600;text-transform:uppercase;color:rgba(255,255,255,.85);opacity:0;transform:translateY(10px);animation:loadRiseIn .8s .3s ease forwards;}
.loading-sub[hidden]{display:none;}

.loading-title{
  margin:0 auto;max-width:640px;font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  font-weight:700;font-size:clamp(30px,5.4vw,54px);line-height:1.08;letter-spacing:-.01em;
  color:color-mix(in srgb,var(--accent-2) 75%,#fff);
  text-shadow:0 8px 28px rgba(0,0,0,.16);
  opacity:0;transform:translateY(20px);filter:blur(6px);
  animation:loadTitleReveal .95s .5s cubic-bezier(.2,.7,.2,1) forwards;
}

.loading-status{
  margin-top:32px;opacity:0;animation:loadRiseIn .8s 1.1s ease forwards;
  display:inline-flex;align-items:flex-end;gap:2px;
  font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.88);
}
.loading-dots{display:inline-flex;gap:3px;margin-left:4px;transform:translateY(-1px);}
.loading-dots i{width:4px;height:4px;border-radius:50%;background:color-mix(in srgb,var(--accent-2) 75%,#fff);animation:loadDot 1.2s ease-in-out infinite;}
.loading-dots i:nth-child(2){animation-delay:.16s;}
.loading-dots i:nth-child(3){animation-delay:.32s;}

.loading-progress{
  width:min(280px,70vw);height:2px;margin:14px auto 0;overflow:hidden;border-radius:999px;
  background:rgba(255,255,255,.16);position:relative;opacity:0;animation:loadRiseIn .8s 1.1s ease forwards;
}
.loading-progress::after{
  content:"";position:absolute;top:0;bottom:0;width:42%;left:-45%;border-radius:inherit;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent-2) 75%,#fff),transparent);
  animation:loadProgressMove 1.6s ease-in-out infinite;
}

.loading.has-error .loading-dots,.loading.has-error .loading-progress{display:none;}
.loading-error{margin-top:18px;font-size:13px;color:#ffcfc7;max-width:360px;text-align:center;line-height:1.5;}

@keyframes loadOrbit{to{transform:rotate(360deg);}}
@keyframes loadOrbitRev{to{transform:rotate(-360deg);}}
@keyframes loadMarkIn{from{opacity:0;transform:scale(.68);filter:blur(8px);}to{opacity:1;transform:scale(1);filter:blur(0);}}
@keyframes loadMarkFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
@keyframes loadRiseIn{to{opacity:1;transform:translateY(0);}}
@keyframes loadTitleReveal{to{opacity:1;transform:translateY(0);filter:blur(0);}}
@keyframes loadDot{0%,100%{opacity:.35;transform:translateY(0);}50%{opacity:1;transform:translateY(-4px);}}
@keyframes loadProgressMove{0%{left:-45%;}100%{left:105%;}}

@media (max-width:560px){
  .loading-inner{padding-inline:18px;}
  .loading-mark{width:88px;height:88px;margin-bottom:14px;}
  .loading-mark-default{width:48px;height:48px;}
  .loading-mark-logo{max-width:50px;max-height:50px;}
  .loading-sub{margin-bottom:18px;}
  .loading-status{margin-top:26px;}
}

@media (prefers-reduced-motion:reduce){
  .pg-spinner span,.hotspot.playing{animation:none;}
  .loading *,.loading *::before,.loading *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;animation-delay:0ms !important;}
}

.print-dialog-overlay{
  position:fixed;inset:0;background:rgba(10,6,10,.55);z-index:70;
  display:flex;align-items:center;justify-content:center;padding:20px;
  animation:fadeIn .15s ease;
}
.print-dialog-overlay[hidden]{display:none;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.print-dialog{
  background:var(--surface);border-radius:16px;padding:22px;width:100%;max-width:320px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.55);
}
.print-dialog h3{margin:0 0 14px;font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.01em;}
.pd-radio{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink);padding:6px 0;cursor:pointer;}
.pd-radio input{accent-color:var(--accent);width:15px;height:15px;flex:0 0 auto;}
.pd-range-inputs{display:flex;align-items:center;gap:8px;margin:2px 0 18px 24px;}
.pd-range-inputs input{
  width:64px;padding:6px 8px;border-radius:8px;border:1px solid var(--border);
  background:var(--paper);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;
}
.pd-range-inputs input:disabled{opacity:.45;}
.pd-range-inputs span{color:var(--ink-soft);}
.pd-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px;}
.pd-btn{border:none;border-radius:9px;padding:8px 16px;font:inherit;font-weight:600;cursor:pointer;font-size:13px;transition:filter .12s ease;}
.pd-btn:hover{filter:brightness(0.96);}
.pd-btn:disabled{opacity:.6;cursor:default;}
.pd-btn-ghost{background:var(--paper-edge);color:var(--ink);}
.pd-btn-primary{background:var(--accent);color:#fff;}

@media (max-width:880px){
  .nav-arrow{width:38px;height:38px;}
  .nav-arrow.prev{left:6px;}
  .nav-arrow.next{right:6px;}
}
@media (max-width:520px){
  .brand-sub{display:none;}
  .toolbar{gap:6px;}
  .zoom-pct{display:none;}
  .page-indicator{padding:0 6px;}
  .sidebar{width:86vw;}
}
@media (max-width:420px){
  .brand-text{display:none;}
}

#printArea{display:none;}

@page{size:A4 portrait;margin:0;}
@media print{
  body > *:not(#printArea){display:none !important;}
  #printArea{display:block !important;}
  .print-page{
    width:210mm;height:297mm;box-sizing:border-box;padding:10mm;
    display:flex;align-items:center;justify-content:center;
    page-break-after:always;overflow:hidden;
  }
  .print-page:last-child{page-break-after:auto;}
  .print-page img{max-width:100%;max-height:100%;object-fit:contain;display:block;}
}

.stf__parent{position:relative;display:block;box-sizing:border-box;transform:translateZ(0);-ms-touch-action:pan-y;touch-action:pan-y;}
.sft__wrapper{position:relative;width:100%;box-sizing:border-box;}
.stf__parent canvas{position:absolute;width:100%;height:100%;left:0;top:0;}
.stf__block{position:absolute;width:100%;height:100%;box-sizing:border-box;perspective:2000px;}
.stf__item{display:none;position:absolute;transform-style:preserve-3d;}
.stf__outerShadow{position:absolute;left:0;top:0;}
.stf__innerShadow{position:absolute;left:0;top:0;}
.stf__hardShadow{position:absolute;left:0;top:0;}
.stf__hardInnerShadow{position:absolute;left:0;top:0;}
