:root{color-scheme:light;--bg:#fff;--fg:#111;--muted:#5d6570;--panel:#f5f6f7;--border:#c8cdd2;--link:#0645ad;--focus:#ffbf47;--danger:#a40000}html[data-theme="black"]{color-scheme:dark;--bg:#050505;--fg:#fff;--muted:#c9c9c9;--panel:#171717;--border:#666;--link:#8fc7ff;--focus:#ffd45c;--danger:#ff8e8e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,sans-serif}a{color:var(--link)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:var(--bg);padding:.7rem;z-index:10}header,footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 4vw;border-bottom:1px solid var(--border)}footer{border-top:1px solid var(--border);border-bottom:0;margin-top:3rem;color:var(--muted)}.brand{font-size:1.25rem;font-weight:800;color:var(--fg);text-decoration:none}nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}nav form{display:inline}main{max-width:1200px;margin:0 auto;padding:2rem 4vw;min-height:70vh}.panel{background:var(--panel);border:1px solid var(--border);padding:1.5rem;border-radius:.35rem}.narrow{max-width:38rem;margin-inline:auto}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:1.5rem 0}.metrics article{background:var(--panel);border:1px solid var(--border);padding:1.2rem}.metrics strong,.metrics span{display:block}.metrics strong{font-size:1.5rem}label{display:block;font-weight:700;margin-top:1rem}input,button{font:inherit;padding:.65rem;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:.2rem}input[type="submit"],button{cursor:pointer;font-weight:700;margin-top:1rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:1rem}th,td{text-align:left;padding:.65rem;border-bottom:1px solid var(--border);vertical-align:top}th{background:var(--panel)}.flash{padding:.8rem;border:1px solid var(--border)}.alert{border-color:var(--danger)}@media(max-width:700px){header,footer{align-items:flex-start;flex-direction:column}nav{align-items:flex-start}table{font-size:.9rem}}

