:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#17243b;background:#f5f8ff;line-height:1.65}
*{box-sizing:border-box}body{margin:0}a{color:#1d4ed8;text-underline-offset:3px}a:focus-visible,summary:focus-visible{outline:3px solid #bd7300;outline-offset:4px}header,footer{background:#fff;border-bottom:1px solid #dce5f2;padding:1.2rem max(1.2rem,calc((100vw - 1080px)/2))}header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.brand{font-size:1.15rem;font-weight:800;text-decoration:none}nav{display:flex;gap:1rem;flex-wrap:wrap}main{max-width:1080px;margin:auto;padding:3rem 1.2rem}h1{font-size:clamp(2.2rem,5vw,3.7rem);line-height:1.12;letter-spacing:-.035em;max-width:880px}h2{line-height:1.3}h3{margin-top:.2rem}.eyebrow{color:#1d4ed8;letter-spacing:.08em;font-size:.85rem;font-weight:750}.intro{font-size:1.15rem;max-width:800px;color:#475569}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.5rem 0}.button{display:inline-block;border-radius:.6rem;padding:.75rem 1rem;background:#1d4ed8;color:white;text-decoration:none;font-weight:650}.button.secondary{background:white;color:#1d4ed8;border:1px solid #a7bad5}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}.card,details,.notice{background:white;border:1px solid #dce5f2;border-radius:1rem;padding:1.4rem;margin:1rem 0}.card p,.muted{color:#475569}.notice{border-left:4px solid #1d4ed8;background:#edf3ff}summary{cursor:pointer;font-weight:750;font-size:1.1rem}.badge{display:inline-block;background:#e3ecff;color:#164394;padding:.15rem .6rem;border-radius:1rem;font-size:.85rem}.gap{background:#fff0cb;color:#674900}blockquote{margin:1rem 0;padding:.6rem 1rem;border-left:3px solid #1d4ed8;background:#f5f8ff;overflow-wrap:anywhere}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{border:1px solid #dce5f2;padding:.75rem;text-align:left;vertical-align:top}th{background:#edf3ff}section{margin:2.5rem 0;scroll-margin-top:1rem}li+li{margin-top:.5rem}.skip{position:absolute;left:1rem;top:-5rem;background:#fff;padding:.6rem}.skip:focus{top:0}footer{font-size:.9rem}footer nav{margin-top:.75rem}.downloads{padding-left:1.2rem}.downloads li{padding:.25rem 0}@media(max-width:500px){main{padding-top:1.5rem}.card,details,.notice{padding:1rem}h1{font-size:2.35rem}.actions .button{width:100%;text-align:center}}
