:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#173454;background:#f3f7fc;color-scheme:light}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;gap:16px;padding:22px max(20px,calc((100vw - 1120px)/2));background:white;border-bottom:1px solid #dce7f5}a{color:#075cab;text-underline-offset:3px}main{max-width:1160px;margin:auto;padding:42px 20px}h1{font-size:clamp(30px,4vw,49px);line-height:1.12;max-width:800px;margin:14px 0}h2{margin-top:0;font-size:25px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800;color:#0875c7}.intro{font-size:18px;line-height:1.6;max-width:780px}p{line-height:1.6}section{margin-top:38px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px}.card{padding:22px;background:#fff;border:1px solid #d7e4f4;border-radius:15px;box-shadow:0 4px 14px #17345406;overflow-wrap:anywhere}.card h3{margin:0 0 12px}.score{font-size:30px;font-weight:800;color:#075cab}progress{display:block;width:100%;height:14px;margin:13px 0;accent-color:#0875c7}.meta{font-size:13px;color:#526b83}.needs{padding-left:19px;line-height:1.6}.sources{display:flex;flex-wrap:wrap;gap:10px;font-size:13px}.badge{display:inline-block;border-radius:7px;padding:5px 8px;background:#e4f3ff;font-size:12px;font-weight:800;text-transform:uppercase}nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:24px 0}button{font:inherit;font-weight:650;min-height:44px;padding:11px 17px;border:1px solid #0875c7;border-radius:9px;background:#086bc0;color:white;cursor:pointer}button:disabled{opacity:.5;cursor:wait}textarea{display:block;width:100%;max-width:700px;margin:10px 0;min-height:100px;padding:13px;border:1px solid #a9bed6;border-radius:9px;font:inherit}#status{padding:14px;background:#e5f2ff;border-radius:9px}#status.error{background:#fff0df;color:#773500}#assessment{display:flex;flex-wrap:wrap;gap:18px}#assessment .card{flex:1;min-width:220px}#runs p,#jobs p{background:white;padding:15px;border-bottom:1px solid #dce7f5}footer{padding:25px;text-align:center;color:#526b83;font-size:13px}@media(max-width:600px){header{flex-direction:column;padding:18px 20px}main{padding-top:25px}nav button{flex:1}section{margin-top:30px}}
