:root{--bg:#fff;--surface:#f4f7fa;--text:#111820;--muted:#4a5663;--brand:#0b5f93;--brand-ink:#fff;--accent:#0b5f93;--border:#d5dde5;--radius:12px;--shadow:0 1px 3px rgba(0,0,0,.08);--focus:#d97706;--s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2.5rem;--font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color-scheme:light}
:root[data-theme=dark]{--bg:#0e141b;--surface:#17202a;--text:#eef2f6;--muted:#a9b6c3;--brand:#4aa8e0;--brand-ink:#06121c;--accent:#4aa8e0;--border:#2a3745;--shadow:none;--focus:#fbbf24;color-scheme:dark}
*{box-sizing:border-box}html{scroll-padding-top:5rem}
body{margin:0;font:1rem/1.6 var(--font);background:var(--bg);color:var(--text)}
img{max-width:100%;height:auto}a{color:var(--accent)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--brand);color:var(--brand-ink);padding:.75rem 1rem;z-index:100}.skip:focus{left:0}
.wrap{max-width:70rem;margin:0 auto;padding:0 var(--s2)}
main.wrap{padding-top:var(--s3);padding-bottom:var(--s4);min-height:60vh}
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border)}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);padding-top:.6rem;padding-bottom:.6rem}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.2rem;color:var(--text);text-decoration:none;margin-right:auto}
.brand img{border-radius:50%;background:#fff}
.nav{display:none;width:100%;flex-direction:column;gap:var(--s2)}.nav.open{display:flex}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}
.nav a{display:block;padding:.6rem .5rem;color:var(--text);text-decoration:none;border-radius:8px;font-weight:600}
.nav a:hover,.nav a[aria-current=page]{background:var(--surface);color:var(--accent)}
.tools,.search{display:flex;gap:.5rem;align-items:center}
input,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;min-height:44px;max-width:100%}
.search input{flex:1;min-width:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:600;min-height:44px;padding:.5rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);text-decoration:none;cursor:pointer}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.btn.icon{min-width:44px;padding:.5rem}
.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed}
.i-moon{display:none}[data-theme=dark] .i-sun{display:none}[data-theme=dark] .i-moon{display:block}
.hero{padding:var(--s4) 0 var(--s3)}h1{font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.15;margin:0 0 var(--s2)}
h2{margin-top:var(--s4)}.lead{font-size:1.15rem;color:var(--muted);max-width:46rem}.muted,.small{color:var(--muted)}.small{font-size:.9rem}
.search.big{max-width:36rem;margin:var(--s3) 0}
.grid{display:grid;gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s2) var(--s3);box-shadow:var(--shadow)}
.card h3{margin:.2rem 0}.card img{border-radius:8px;margin-bottom:.5rem}
.badge{display:inline-block;font-size:.8rem;font-weight:700;border:1px solid var(--border);border-radius:99px;padding:.1rem .6rem;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chips a{border:1px solid var(--border);border-radius:99px;padding:.4rem .9rem;text-decoration:none;font-weight:600}
.filters{display:grid;gap:var(--s2);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:end;margin-bottom:var(--s2)}
.filters label{display:block;font-weight:600;font-size:.9rem}.filters input,.filters select{width:100%}
.notice{border-left:4px solid var(--focus);background:var(--surface);padding:var(--s2);border-radius:8px}
.toc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s1) var(--s3)}
.site-footer{border-top:1px solid var(--border);background:var(--surface);padding:var(--s3) 0}
.flinks{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3)}.disclosure{max-width:50rem}
dl.facts{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem}dl.facts dt{font-weight:700}dl.facts dd{margin:0}
@media(min-width:56rem){.nav-toggle{display:none}.nav,.nav.open{display:flex;flex-direction:row;align-items:center;width:auto;flex:1;justify-content:flex-end;flex-wrap:wrap}.nav ul{flex-direction:row}.search{max-width:15rem}.brand{margin-right:0}.bar{flex-wrap:nowrap}.bar .brand{margin-right:var(--s2)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
