.header-actions .search-btn{display:grid!important;place-items:center;flex:0 0 auto;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.55);color:#fff}
.header-actions .search-btn:after{content:none!important}
.header-actions .search-btn svg{width:21px;height:21px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.header-actions .search-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.toc-toggle{position:fixed;z-index:45;top:46%;right:max(14px,calc((100vw - 1140px)/2));display:grid;place-items:center;width:46px;height:46px;padding:0;border:2px solid #111;border-radius:0;background:#fff;color:#111;box-shadow:0 5px 16px rgba(0,0,0,.18);cursor:pointer}
.toc-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.toc-toggle:hover,.toc-toggle[aria-expanded="true"]{border-color:var(--accent);background:var(--accent);color:#fff}
.toc-toggle:focus-visible,.toc-close:focus-visible,.toc-navigation a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.toc-panel{position:fixed;z-index:50;top:50%;right:max(72px,calc((100vw - 1070px)/2));width:min(360px,calc(100vw - 32px));max-height:68vh;overflow:hidden;border-top:5px solid var(--accent);background:#fff;box-shadow:0 18px 55px rgba(0,0,0,.28),0 2px 8px rgba(0,0,0,.14);opacity:0;visibility:hidden;transform:translateY(-46%) translateX(15px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.toc-panel.is-open{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.toc-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px 15px;border-bottom:1px solid var(--line)}
.toc-panel-head span{display:block;margin-bottom:4px;color:var(--accent);font:700 1rem/1 var(--sans);text-transform:uppercase}
.toc-panel-head strong{font:800 2rem/1.1 'Roboto Slab',Georgia,serif}
.toc-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);background:#fff;color:#111;font:400 2.5rem/1 var(--sans);cursor:pointer}
.toc-navigation{max-height:calc(68vh - 86px);overflow-y:auto;padding:10px 0}
.toc-navigation a{display:block;padding:9px 20px;border-left:4px solid transparent;color:#222;font:600 1.25rem/1.35 var(--sans)}
.toc-navigation a:hover,.toc-navigation a.is-active{border-left-color:var(--accent);background:#f2f2f2;color:#000}
.toc-navigation .toc-level-3{padding-left:34px;font-weight:500}
.toc-navigation .toc-level-4{padding-left:49px;color:#555;font-size:1.15rem;font-weight:400}
body.toc-open{overflow:hidden}
@media(max-width:900px){.toc-toggle{top:auto;right:14px;bottom:18px}.toc-panel{top:auto;right:8px;bottom:76px;left:8px;width:auto;max-height:62vh;transform:translateY(12px)}.toc-panel.is-open{transform:translateY(0)}.toc-navigation{max-height:calc(62vh - 86px)}}
@media(max-width:600px){.header-actions .search-btn{width:36px;height:36px}.header-actions .search-btn svg{width:19px;height:19px}}
