*,*::before,*::after{box-sizing:border-box}
html{font-size:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
html[data-font="s"]{font-size:90%}
html[data-font="l"]{font-size:115%}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.6;background:var(--bg);color:var(--text);transition:background .25s,color .25s}
html[data-bold="1"] body{font-weight:700}
html[data-bold="1"] .icon-btn[aria-pressed="true"]{background:rgba(255,255,255,.3)}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px}.skip:focus{left:.5rem;top:.5rem;background:var(--card);padding:.5rem;z-index:100}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.topbar{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;background:var(--bar);color:var(--bar-text);box-shadow:0 1px 4px rgba(0,0,0,.2)}
.site-title{font-size:1.15rem;margin:0;flex:1 1 auto;white-space:nowrap}
.searches{display:flex;gap:.5rem;flex:2 1 100%;order:3}
.searches input{flex:1;min-width:0;padding:.5rem .7rem;border-radius:.5rem;border:1px solid transparent;font:inherit;background:#fff;color:#16222c}
.controls{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.controls select{padding:.4rem;border-radius:.4rem;font:inherit}
.font-ctl{display:flex;gap:.25rem}
.icon-btn{min-width:2.4rem;min-height:2.4rem;border:1px solid rgba(255,255,255,.4);background:transparent;color:inherit;border-radius:.5rem;font:inherit;cursor:pointer}
.icon-btn:hover{background:rgba(255,255,255,.18)}
.icon-btn[aria-pressed="true"]{background:rgba(255,255,255,.3)}
.layout{display:block;max-width:80rem;margin:0 auto}
main{padding:1rem;outline:none}
.sidebar{position:fixed;inset:0 auto 0 0;width:17rem;max-width:85vw;background:var(--card);padding:4.5rem 1rem 1rem;overflow:auto;transform:translateX(-100%);transition:transform .25s;z-index:40;border-right:1px solid var(--border)}
.sidebar.open{transform:none}
.sidebar ul{list-style:none;padding:0;margin:0}
.sidebar a{display:block;padding:.35rem .5rem;border-radius:.4rem;color:var(--text);text-decoration:none;font-size:.9rem}
.sidebar a.active{background:var(--accent-soft);font-weight:600}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:30}
@media(min-width:62rem){
 .topbar{flex-wrap:nowrap}.searches{order:0;flex:2 1 auto}
 .layout{display:grid;grid-template-columns:16rem 1fr}
 .sidebar{position:sticky;top:4rem;height:calc(100vh - 4rem);transform:none;padding-top:1rem;z-index:1}
 #drawerBtn,.scrim{display:none!important}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
