
:root{
  --olbm-green:#0d5546;
  --olbm-green-dark:#073b33;
  --olbm-ink:#123d34;
  --olbm-gold:#b68428;
  --olbm-cream:#fffdf8;
  --olbm-paper:#fffefa;
  --olbm-line:#e7dfd1;
  --olbm-soft:#f6f1e8;
}
body.ol-book-modal-open{overflow:hidden}
.ol-book-modal[hidden]{display:none!important}
.ol-book-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:28px}
.ol-book-modal__scrim{position:absolute;inset:0;background:rgba(8,22,19,.68);backdrop-filter:blur(7px)}
.ol-book-modal__dialog{
  position:relative;z-index:1;width:min(1120px,calc(100vw - 48px));height:min(790px,calc(100vh - 48px));
  display:grid;grid-template-columns:330px minmax(0,1fr);overflow:hidden;
  background:linear-gradient(140deg,#fffefa 0%,#fffdf9 72%,#fbf6ec 100%);
  border:1px solid rgba(186,164,124,.38);border-radius:25px;
  box-shadow:0 36px 90px rgba(0,0,0,.34),0 2px 0 rgba(255,255,255,.8) inset;
  color:var(--olbm-ink);
}
.ol-book-modal__close{
  position:absolute;right:18px;top:18px;z-index:3;width:44px;height:44px;border-radius:14px;
  border:1px solid #ddd4c4;background:#fffdf8;color:#142f29;font-size:30px;line-height:1;cursor:pointer;
}
.ol-book-modal__rail{padding:28px 24px 22px;background:linear-gradient(180deg,#fbf6eb,#f5efe3);border-right:1px solid var(--olbm-line);overflow:auto}
.ol-book-modal__cover-wrap{width:100%;display:grid;place-items:center;padding:2px 12px 20px}
.ol-book-modal__cover{display:block;width:min(250px,100%);aspect-ratio:2/3;object-fit:cover;border-radius:13px;box-shadow:0 18px 35px rgba(65,46,19,.22)}
.ol-book-modal__stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--olbm-line);border-bottom:1px solid var(--olbm-line);margin:0 0 18px}
.ol-book-modal__stats>div{display:grid;place-items:center;padding:15px 4px;text-align:center}
.ol-book-modal__stats>div+div{border-left:1px solid var(--olbm-line)}
.ol-book-modal__stats span{color:var(--olbm-gold);font-size:20px}
.ol-book-modal__stats strong{font-family:Georgia,serif;font-size:19px;margin-top:3px}
.ol-book-modal__stats small{color:#77817d;font-size:11px;margin-top:2px}
.ol-book-modal__rail-note{display:flex;gap:12px;padding:16px;border:1px solid var(--olbm-line);border-radius:18px;background:rgba(255,255,255,.54)}
.ol-book-modal__rail-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f3e5bd;color:#9b6f1e;flex:0 0 auto}
.ol-book-modal__rail-note small{display:block;color:#9a762f;font-weight:800;letter-spacing:.12em;font-size:9px}
.ol-book-modal__rail-note strong{display:block;margin-top:4px;font-family:Georgia,serif;font-size:16px}
.ol-book-modal__rail-note p{margin:3px 0 0;color:#77817d;font-size:12px}
.ol-book-modal__main{padding:30px 34px 26px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.ol-book-modal__eyebrow{font-size:12px;font-weight:900;letter-spacing:.15em;color:#aa7925;margin-right:60px}
.ol-book-modal__main h2{font:700 clamp(34px,4vw,52px)/1.02 Georgia,serif;margin:8px 60px 3px 0;color:#0b3d34}
.ol-book-modal__main h3{font:700 20px/1.3 Georgia,serif;color:#9a6d25;margin:0 60px 14px 0}
.ol-book-modal__description{font:16px/1.58 Georgia,serif;color:#274c43;margin:0 55px 15px 0;max-width:820px}
.ol-book-modal__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.ol-book-modal__tags span{padding:7px 12px;border-radius:999px;background:#f3efe7;border:1px solid #e5ddcf;font:12px Georgia,serif;color:#3d4d48}
.ol-book-modal__actions{display:grid;grid-template-columns:1.15fr 1.05fr .85fr;gap:10px;padding:0 0 20px;border-bottom:1px solid var(--olbm-line)}
.ol-book-modal__primary,.ol-book-modal__secondary{min-height:62px;border-radius:13px;text-decoration:none;display:flex;align-items:center;gap:11px;padding:10px 15px}
.ol-book-modal__primary{background:linear-gradient(135deg,#0a654f,#08765a);color:white;box-shadow:0 8px 20px rgba(8,103,79,.15)}
.ol-book-modal__primary>b{margin-left:auto;font-size:20px}
.ol-book-modal__primary strong,.ol-book-modal__secondary strong{display:block;font-size:13px}
.ol-book-modal__primary small{display:block;color:rgba(255,255,255,.76);font-size:11px;margin-top:2px}
.ol-book-modal__secondary{border:1px solid #ddd8cd;background:#fff;color:#17463d;cursor:pointer}
.ol-book-modal__secondary small{display:block;color:#89918d;font-size:10px;margin-top:2px}
.ol-book-modal__tabs{display:flex;gap:26px;border-bottom:1px solid var(--olbm-line);height:58px;align-items:end;flex:0 0 auto}
.ol-book-modal__tabs button{height:58px;border:0;border-bottom:2px solid transparent;background:none;color:#425a54;font:14px Georgia,serif;cursor:pointer;padding:0 2px}
.ol-book-modal__tabs button.is-active{color:#0a5142;border-bottom-color:#0a6c55;font-weight:700}
.ol-book-modal__panel{display:none;min-height:0;flex:1}
.ol-book-modal__panel.is-active{display:flex;flex-direction:column}
.ol-book-modal__chapter-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 4px 10px}
.ol-book-modal__chapter-head h4{margin:0;font:700 22px Georgia,serif;color:#143f36}
.ol-book-modal__chapter-head h4 em{font:normal 13px/1 sans-serif;color:#82908b}
.ol-book-modal__chapter-head a{font-size:12px;color:#0d6250;text-decoration:none}
.ol-book-modal__chapter-list{min-height:0;overflow:auto;border:1px solid #eee7dc;border-radius:14px;background:rgba(255,255,255,.7)}
.ol-book-modal__chapter{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 14px;text-decoration:none;color:#173c34;border-bottom:1px solid #eee7dc}
.ol-book-modal__chapter:last-child{border-bottom:0}
.ol-book-modal__chapter:hover{background:#f7f3eb}
.ol-book-modal__chapter>span{width:30px;height:30px;border:1px solid #9cafaa;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12px}
.ol-book-modal__chapter strong{font:15px Georgia,serif}
.ol-book-modal__chapter em{font-style:normal;font-size:13px;color:#0b6a53}
.ol-book-modal__prose{padding:22px 4px;overflow:auto}
.ol-book-modal__prose h4{font:700 24px Georgia,serif;margin:0 0 12px}
.ol-book-modal__prose p,.ol-book-modal__prose li{font:16px/1.65 Georgia,serif;color:#36564e}
.ol-book-modal__prose ul{padding-left:20px}
@media(max-width:900px){
  .ol-book-modal{padding:10px}
  .ol-book-modal__dialog{width:100%;height:calc(100vh - 20px);grid-template-columns:1fr;overflow:auto;border-radius:20px}
  .ol-book-modal__rail{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:18px;border-right:0;border-bottom:1px solid var(--olbm-line)}
  .ol-book-modal__cover-wrap{padding:0}.ol-book-modal__cover{width:110px}
  .ol-book-modal__stats{margin:0;align-self:center}.ol-book-modal__rail-note{grid-column:1/-1}
  .ol-book-modal__main{padding:22px;overflow:visible}
  .ol-book-modal__actions{grid-template-columns:1fr}
  .ol-book-modal__main h2{font-size:36px}
  .ol-book-modal__panel.is-active{min-height:420px}
}
@media(max-width:560px){
  .ol-book-modal__rail{grid-template-columns:92px 1fr}.ol-book-modal__cover{width:86px}
  .ol-book-modal__stats>div{padding:9px 2px}.ol-book-modal__stats strong{font-size:15px}.ol-book-modal__stats small{font-size:9px}
  .ol-book-modal__main{padding:18px}.ol-book-modal__description{margin-right:0}.ol-book-modal__main h2,.ol-book-modal__main h3{margin-right:42px}
  .ol-book-modal__tabs{gap:15px;overflow-x:auto}.ol-book-modal__tabs button{white-space:nowrap}
}
