:root { --pico-font-size: 95%; }
.topbar { background: #1f4e79; color: #fff; padding: 0 .5rem; }
.topbar a { color: #fff; text-decoration: none; }
.topbar a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.topbar nav ul li { padding: .3rem .5rem; }
.topbar .quick input { margin: 0; width: 24rem; max-width: 60vw; padding: .35rem .6rem; }
.mainnav a { font-weight: 500; }
main { padding-top: 1rem; }
mark { background: #ffe58a; padding: 0 .1em; }
.muted { color: var(--pico-muted-color); }
.small { font-size: .85em; }
.cols { display: grid; grid-template-columns: 18rem 1fr; gap: 1.5rem; }
@media (max-width: 900px) { .cols { grid-template-columns: 1fr; } }
.sidebar ul { list-style: none; padding-left: 0; margin: 0; }
.sidebar ul ul { padding-left: 1rem; }
.sidebar li { margin: .15rem 0; }
.sidebar a.active { font-weight: 700; }
.result { padding: .6rem 0; border-bottom: 1px solid var(--pico-muted-border-color); }
.result .src { font-size: .78em; text-transform: uppercase; letter-spacing: .03em; color: #1f4e79; }
.result h4 { margin: .1rem 0; font-size: 1.05em; }
.result p { margin: .2rem 0 0; font-size: .92em; }
.facets a { display: inline-block; margin: 0 .5rem .4rem 0; padding: .15rem .6rem; border: 1px solid var(--pico-muted-border-color); border-radius: 1rem; font-size: .85em; text-decoration: none; }
.facets a.active { background: #1f4e79; color: #fff; border-color: #1f4e79; }
.html-body p { margin: .25rem 0; }
.html-body h1, .html-body h3 { font-size: 1.2em; margin: .8rem 0 .3rem; }
.grade-2 { font-weight: 600; }
.grade-3 { font-weight: 700; text-transform: uppercase; }
.grade-4 { font-weight: 800; text-transform: uppercase; color: #a00; }
.breadcrumbs { font-size: .9em; margin-bottom: .5rem; }
.breadcrumbs a { text-decoration: none; }
.tags span { display: inline-block; background: #eef3f8; border-radius: .3rem; padding: .1rem .5rem; margin: .1rem .3rem .1rem 0; font-size: .85em; }
table.compact td, table.compact th { padding: .3rem .5rem; font-size: .9em; }
.freqs span { display: inline-block; margin: .15rem; padding: .15rem .5rem; background: #eef3f8; border-radius: .3rem; font-variant-numeric: tabular-nums; }
.card { border: 1px solid var(--pico-muted-border-color); border-radius: .5rem; padding: 1rem; margin-bottom: 1rem; }
.visit { border-left: 4px solid #1f4e79; padding-left: 1rem; margin: 1rem 0; }
form.inline { display: flex; gap: .5rem; align-items: center; }
form.inline input { margin: 0; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
@media (max-width: 700px) { .grid2 { grid-template-columns: 1fr; } }
