:root{--page:#fff;--ink:#202122;--link:#245a91;--line:#a2a9b1;--soft:#ddd;--panel:#f8f9fa;--green:#e0eee2;--intro:#f0f6ef;--table:#eaecf0}
:root[data-theme=dark]{color-scheme:dark;--page:#171a19;--ink:#e7ece8;--link:#9bc7fa;--line:#78827e;--soft:#4c5852;--panel:#232925;--green:#304738;--intro:#25382c;--table:#303a34}
body{background:var(--page);color:var(--ink);font-size:1rem}a{color:var(--link)}header,nav strong,.tabs,footer{border-color:var(--soft)}h1,h2,.directory th,.directory td,.search input,aside{border-color:var(--line)}h1{font-size:2.625rem}h2{font-size:1.6875rem}nav,.tabs,aside{font-size:.875rem}aside h2{font-size:1.0625rem}footer{font-size:.875rem}.results,.search input{background:var(--page);color:var(--ink)}aside{background:var(--panel)}aside h2{background:var(--green)}.intro{background:var(--intro);border-color:var(--soft)}.directory th{background:var(--table)}[data-theme=dark] header svg [fill="#1f382d"]{fill:#d8ebda}[data-theme=dark] header svg [fill="#5b8857"]{fill:#95bd91}[data-theme=dark] header svg [stroke="#5b8857"]{stroke:#95bd91}
.site-footer{max-width:1390px;margin:0 auto;padding:18px max(20px,4vw) 26px}.footer-links,.appearance{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.appearance{margin-top:12px}.appearance label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.appearance button,form button{font:inherit;padding:5px 12px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--ink);cursor:pointer}.request-form{max-width:600px}.request-form label{display:block;margin:12px 0}.request-form input,.request-form textarea,.request-form select{display:block;width:100%;padding:8px;font:inherit;border:1px solid var(--line);background:var(--page);color:var(--ink)}.request-form textarea{min-height:8em}@media(max-width:470px){h1{font-size:2.125rem}}
.theme-control{display:inline-flex;align-items:center;gap:8px}
.appearance .theme-switch{display:inline-grid;grid-template-columns:1fr 1fr;align-items:center;width:64px;height:30px;padding:0;border:2px solid #191919;border-radius:999px;background:#191919;color:white;position:relative;isolation:isolate;line-height:1;font-size:20px;font-weight:700}
.theme-switch::before{content:"";position:absolute;inset:0 50% 0 0;border-radius:999px;background:#fff;z-index:-1;transition:transform .15s ease}
.theme-switch[aria-checked=false]::before{transform:translateX(100%)}
.theme-switch[aria-checked=true] span:first-child,.theme-switch[aria-checked=false] span:last-child{color:#191919}
@media(prefers-reduced-motion:reduce){.theme-switch::before{transition:none}}
