/* Зміст для книг: кнопка, бічна панель, вбудований зміст, "вгору" */
:root{--toc-accent:#1a5c96;--toc-off:90px}
h1,h2,h3,h4,h5{scroll-margin-top:var(--toc-off)}
#tocBtn,#tocTop{position:fixed;z-index:1001;border:0;cursor:pointer;font:600 15px/1 Verdana,Arial,sans-serif;color:#fff;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
#tocBtn{top:8px;left:8px;padding:10px 14px;border-radius:8px;display:flex;gap:8px;align-items:center;text-shadow:none}
#tocBtn:hover,#tocTop:hover{background:rgba(0,0,0,.75)}
#tocBtn:focus-visible,#tocTop:focus-visible,#tocPanel a:focus-visible,#tocPanel input:focus-visible,#tocClose:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
#tocTop{right:12px;bottom:12px;width:44px;height:44px;border-radius:50%;font-size:22px;display:none;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.35)}
#tocTop.show{display:flex}
#tocShade{position:fixed;inset:0;z-index:1002;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
#tocShade.open{opacity:1;visibility:visible}
#tocPanel{position:fixed;z-index:1003;top:0;left:0;bottom:0;width:min(440px,88vw);background:#fff;color:#1b1b1b;font:15px/1.35 Verdana,Arial,sans-serif;display:flex;flex-direction:column;transform:translateX(-102%);transition:transform .22s ease;box-shadow:6px 0 28px rgba(0,0,0,.35);visibility:hidden}
#tocPanel.open{transform:none;visibility:visible}
#tocPanel .th{background:var(--toc-accent);color:#fff;padding:12px 14px;display:flex;align-items:center;gap:10px}
#tocPanel .th b{flex:1;font-size:16px;line-height:1.25}
#tocClose{border:0;background:rgba(255,255,255,.18);color:#fff;width:36px;height:36px;border-radius:8px;font-size:22px;cursor:pointer;line-height:1}
#tocClose:hover{background:rgba(255,255,255,.32)}
#tocPanel .ts{padding:10px 12px;border-bottom:1px solid #e3e3e3;background:#f6f6f6}
#tocPanel input{width:100%;box-sizing:border-box;padding:9px 11px;font:15px Verdana,Arial,sans-serif;border:1px solid #bbb;border-radius:8px;background:#fff;color:#111}
#tocPanel .tl{flex:1;overflow:auto;padding:6px 0 18px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
#tocPanel ol,.toc-inline ol{list-style:none;margin:0;padding:0;color:inherit}
#tocPanel li,.toc-inline li{margin:0;padding:0}
#tocPanel a,.toc-inline a{display:block;text-decoration:none;color:#1b1b1b;border-left:4px solid transparent}
#tocPanel a{padding:8px 14px 8px 12px}
#tocPanel li.l1>a{font-weight:700;margin-top:4px;background:#f3f6f9}
#tocPanel li.l2>a{padding-left:28px;font-size:14px}
#tocPanel li.tb>a{font-style:italic;color:#555}
#tocPanel a:hover{background:#e8eef4}
#tocPanel a.on{border-left-color:var(--toc-accent);background:#dbe8f4;color:#000}
#tocPanel .tn{padding:20px 16px;color:#666;display:none}
#tocPanel .tf{padding:10px 14px;border-top:1px solid #e3e3e3;background:#f6f6f6}
#tocPanel .tf a{display:inline-block;padding:4px 0;color:var(--toc-accent);font-weight:600;border:0}
/* вбудований зміст на початку книги */
.toc-inline{max-width:900px;margin:34px auto 10px;padding:16px 22px 18px;border:1px solid #d6d6d6;border-top:6px solid var(--toc-accent);border-radius:8px;background:#fafafa;font-size:16px;line-height:1.35;font-family:Verdana,Arial,sans-serif;text-indent:0;color:#1b1b1b}
.toc-inline h2{margin:0 0 10px;border:0;font-size:1.3em;text-align:center}
.toc-inline li.l1>a{font-weight:700;padding:7px 8px;margin-top:3px}
.toc-inline li.l2>a{padding:3px 8px 3px 30px;font-size:.92em}
.toc-inline li.tb>a{font-style:italic;color:#555}
.toc-inline a:hover{background:#e8eef4;border-left-color:var(--toc-accent)}
@media (max-width:700px){
 .icon-menu{font-size:18px!important;padding:8px 8px 8px 112px!important;box-sizing:border-box;text-align:left!important;line-height:1.2}
 #tocBtn{padding:9px 11px}
 .body{font-size:13pt!important}
 .toc-inline{margin:18px 0 8px;padding:12px 10px 14px}
}
@media print{#tocBtn,#tocTop,#tocPanel,#tocShade{display:none!important}.toc-inline{break-inside:avoid}}
@media (prefers-reduced-motion:reduce){#tocPanel,#tocShade{transition:none}}
