:root{--bg:#fbf9f4;--fg:#222;--muted:#6b665c;--line:#e1dccf;--accent:#7a2e1d;--card:#fff;--mark:#ffe58a;--bbadge:#7a2e1d;--abadge:#2d5a4a}
@media (prefers-color-scheme:dark){:root{--bg:#16150f;--fg:#e8e4d8;--muted:#9c9686;--line:#33301f;--accent:#e59a7f;--card:#1e1c14;--mark:#6b5a10;--bbadge:#a8523a;--abadge:#3e7a64}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:18px/1.65 Georgia,"Iowan Old Style","Palatino Linotype",Palatino,serif;overflow-wrap:break-word}
a{color:var(--accent)}
.wrap{max-width:70ch;margin:0 auto;padding:0 16px}
body.wide .wrap,.article.with-toc{max-width:70ch}
main.wrap{padding-top:16px;padding-bottom:40px;min-height:60vh}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.muted,.common,.byline,.source{color:var(--muted)}
.common{font-style:italic;margin:.2em 0}
header.site{border-bottom:1px solid var(--line);background:var(--bg)}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:10px;padding-bottom:10px;max-width:70ch}
.brand{font-weight:bold;text-decoration:none;color:var(--fg);font-size:1.05rem}
.bar nav{display:flex;gap:14px}
.bar nav a{text-decoration:none}
.mini{display:flex;gap:6px;margin-left:auto;flex:1 1 150px;max-width:260px}
.mini input{flex:1;min-width:0}
input[type=search]{font:inherit;font-size:1rem;padding:.45em .7em;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg)}
button{font:inherit;font-size:.95rem;padding:.45em .9em;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg);cursor:pointer}
button:hover{border-color:var(--accent)}
button[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.hero h1{font-size:2.2rem;margin:.6em 0 .2em}
.lead{font-size:1.15rem}
.bigsearch{display:flex;gap:8px;margin:1em 0}
.bigsearch input{flex:1;min-width:0;font-size:1.25rem;padding:.7em .9em}
.bigsearch button{font-size:1.1rem;background:var(--accent);color:var(--bg);border-color:var(--accent)}
.cards{display:grid;gap:14px;margin-top:1.5em}
.card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--card);text-decoration:none;color:var(--fg)}
.card:hover{border-color:var(--accent)}
.card strong{color:var(--accent)}
.badge{display:inline-block;align-self:flex-start;font:600 .72rem/1 system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;padding:.3em .55em;border-radius:4px;color:#fff;background:var(--bbadge)}
.badge.allen{background:var(--abadge)}
h1{line-height:1.25;margin:.4em 0 .3em}
h2{margin:1.6em 0 .4em;font-size:1.25rem;border-bottom:1px solid var(--line);padding-bottom:.2em;scroll-margin-top:12px}
.crumbs{margin:0 0 .5em;font-size:.9rem}
.cross{background:var(--card);border:1px solid var(--line);padding:.5em .8em;border-radius:6px;display:inline-block}
.source{font-size:.9rem}
.text p{margin:.7em 0}
.toc{margin:0 0 1em}
.toc h2{margin:0 0 .3em;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;border:0;color:var(--muted)}
.toc ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 12px}
.toc a{text-decoration:none;font-size:.92rem}
@media (min-width:1000px){
 .article.with-toc{max-width:none;position:relative}
 .article.with-toc article{max-width:70ch;margin:0 auto}
 .article.with-toc .toc{position:fixed;top:80px;left:max(16px,calc(50vw - 35ch - 190px));width:150px;max-height:calc(100vh - 100px);overflow:auto;margin:0}
 .toc ul{display:block}.toc li{margin:.25em 0}
}
.filterbar{margin:1em 0 .5em}
.filterbar input{width:100%}
.az{display:flex;flex-wrap:wrap;gap:4px 10px;margin:.5em 0 1em;font:.95rem system-ui,sans-serif}
.az a{text-decoration:none;font-weight:600;padding:2px 4px}
.rem{list-style:none;padding:0;margin:0}
.rem li{padding:.25em 0}
.letter[hidden],.rem li[hidden]{display:none}
.toggle{display:flex;flex-wrap:wrap;gap:6px;margin:.3em 0 .8em}
.res{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:10px 14px;margin:12px 0}
.res h3{margin:0 0 .3em;font-size:1.1rem;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.res h3 a{text-decoration:none}
.hit{margin:.4em 0;font-size:.97rem}
.hit .sec{font:600 .78rem system-ui,sans-serif;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;display:block}
mark{background:var(--mark);color:inherit;border-radius:2px;padding:0 1px}
footer.site{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;padding:16px 0}
@media (max-width:480px){body{font-size:17px}.hero h1{font-size:1.8rem}.bigsearch button{padding:.45em .7em}}
