/* Only plugin components; no global theme reset, font, brand color or grid override. */
.anl { margin-block: 1.5em; overflow-wrap: anywhere; }
.anl *, .anl *::before, .anl *::after { box-sizing: border-box; }
.anl [hidden] { display: none !important; }
.anl a { text-underline-offset: .16em; }
.anl a:focus-visible, .anl button:focus-visible, .anl input:focus-visible, .anl select:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.anl-tools { display:flex; flex-wrap:wrap; align-items:center; gap:.5em; border-block:1px solid currentColor; padding-block:.65em; }
.anl-tools button, .anl-search button { font:inherit; color:inherit; background:transparent; border:1px solid currentColor; border-radius:.25em; padding:.45em .7em; min-height:44px; cursor:pointer; }
.anl-tools button[aria-pressed="true"] { border-width:2px; font-weight:bold; }
.anl .anl-meta { display:block; font-size:.9em; margin-block:.4em; }
.anl-toc { padding-inline-start:1.4em; }
.anl-toc li, .anl-results > li { margin-block:1.2em; }
.anl-toc p { margin-block:.4em; }
.anl-inline { display:inline-block; margin-inline-end:1em; }
/* Original article layout stays untouched until the reader chooses comfort mode. */
.anl-body.anl-comfort { max-width:72ch; margin-inline:auto; line-height:1.75; }
.anl-body.anl-comfort p, .anl-body.anl-comfort li { line-height:1.75; }
.anl-body.anl-comfort img, .anl-body.anl-comfort video { max-width:100%; height:auto; }
.anl-body.anl-comfort iframe { max-width:100%; }
.anl-body.anl-comfort table { display:block; max-width:100%; overflow-x:auto; }
.anl-body.anl-sized { font-size:var(--anl-font-size); }
.anl-body.anl-sized :is(p,li,blockquote,figcaption) { font-size:inherit; }
.anl-search { display:flex; flex-wrap:wrap; align-items:end; gap:.75em; }
.anl-search > div { flex:1 1 200px; min-width:0; }
.anl-search label { display:block; margin-bottom:.3em; }
.anl-search input, .anl-search select { width:100%; max-width:100%; min-height:44px; font:inherit; color:inherit; background:transparent; border:1px solid currentColor; border-radius:.25em; padding:.45em; }
.anl-results { list-style:none; padding:0; }
.anl-results h3 { margin-bottom:.25em; }
.anl-card-summary { font:inherit; margin-block:.5em; }
.anl-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media print { .anl-tools, .anl-search { display:none; } }
