*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;margin:0;background:#0f172a;color:#e2e8f0;font-size:16px;line-height:1.55}
a{color:#93c5fd}
header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;background:#111c33;border-bottom:1px solid #233657}
.brand{font-weight:700;font-size:18px;display:flex;align-items:center;gap:9px;white-space:nowrap}
.badge{background:#2563eb;color:#fff;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
nav{display:flex;align-items:center}
nav a{color:#93c5fd;margin-left:14px;text-decoration:none}
nav a:hover{text-decoration:underline}
nav span{color:#94a3b8;margin-left:14px}
main{max-width:980px;margin:26px auto;padding:0 16px}
h1{font-size:27px;line-height:1.25;letter-spacing:-.01em;margin:6px 0 16px;overflow-wrap:anywhere}
h2{font-size:20px;margin:4px 0 12px}
h3{font-size:16px;margin:8px 0 6px}
.card{background:#16223d;border:1px solid #263b63;border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 10px 28px rgba(2,6,17,.35)}
.card.danger{border-color:#ef4444;background:#2a1626}
.narrow{max-width:420px;margin:48px auto}
.narrow h1{text-align:center}
.narrow button{width:100%}
label{display:block;margin:12px 0;font-weight:600;font-size:14.5px;color:#cbd5f5}
input,textarea,select{width:100%;padding:11px 12px;margin-top:6px;border-radius:10px;border:1px solid #334155;background:#0b1220;color:#e2e8f0;font-size:16px}
input:focus,textarea:focus,select:focus{outline:2px solid #2563eb;border-color:#2563eb}
label.check{display:flex;gap:10px;align-items:flex-start;background:#0b1220;border:1px solid #263b63;border-radius:10px;padding:12px 13px;font-weight:400;font-size:15px;color:#e2e8f0;cursor:pointer}
label.check input{width:20px;height:20px;flex:none;margin:1px 0 0;padding:0;accent-color:#2563eb}
button{background:#2563eb;color:#fff;border:0;padding:11px 20px;border-radius:10px;cursor:pointer;font-weight:600;font-size:16px}
button:hover{background:#1d4ed8}
table{width:100%;border-collapse:collapse}
td,th{padding:9px 8px;border-bottom:1px solid #263b63;text-align:left;vertical-align:top}
th{color:#9db8e8;font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.flash{background:#7c2d12;padding:10px 12px;border-radius:10px;margin-bottom:12px}
.note{color:#94a3b8;font-size:13px}
.score{display:flex;gap:22px;align-items:center}
.score .note{overflow-wrap:anywhere}
.big{font-size:46px;font-weight:800;line-height:1}
.big small{font-size:14px;color:#94a3b8;font-weight:600}
.finding{border-left:4px solid #64748b;padding:10px 14px;margin:12px 0;background:#0b1220;border-radius:10px}
.finding h3{margin-top:2px}
.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;vertical-align:2px;background:#334155;color:#e2e8f0}
.pill.sev-critical{background:#ef4444;color:#fff}
.pill.sev-high{background:#f97316;color:#fff}
.pill.sev-medium{background:#eab308;color:#231a00}
.pill.sev-low{background:#38bdf8;color:#06283d}
.pill.sev-info{background:#64748b;color:#fff}
.pill.res-Protected{background:#22c55e;color:#052e12}
.pill.res-Partial{background:#eab308;color:#231a00}
.pill.res-Exposed{background:#ef4444;color:#fff}
.sev-critical{border-color:#ef4444}.sev-high{border-color:#f97316}.sev-medium{border-color:#eab308}.sev-low{border-color:#38bdf8}.sev-info{border-color:#64748b}
.res-Protected{border-color:#22c55e}.res-Partial{border-color:#eab308}.res-Exposed{border-color:#ef4444}
.progress{height:14px;background:#0b1220;border:1px solid #263b63;border-radius:99px;overflow:hidden}
.progress>div{height:100%;background:#2563eb;transition:width .4s ease}
footer{color:#64748b;text-align:center;padding:20px;font-size:12px}
pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0b1220;padding:10px;border-radius:8px;overflow-x:auto}
img,svg{max-width:100%;height:auto}
.finding p,td{overflow-wrap:anywhere}

@media (max-width:700px){
 header{position:sticky;top:0;z-index:60;flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px 8px;box-shadow:0 6px 18px rgba(2,6,17,.5)}
 .brand{font-size:15px;overflow:hidden}
 .badge{font-size:10px;padding:2px 7px}
 nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:8px;padding:2px 0 4px;scrollbar-width:none}
 nav::-webkit-scrollbar{display:none}
 nav a{margin-left:0;flex:none;background:#1c2a4a;border:1px solid #263b63;border-radius:99px;padding:7px 13px;font-size:14px}
 nav a:hover{text-decoration:none;background:#24365e}
 nav span{margin-left:2px;flex:none;align-self:center;font-size:14px}
 main{margin:16px auto;padding:0 12px}
 h1{font-size:23px;margin:4px 0 12px}
 h2{font-size:12.5px;text-transform:uppercase;letter-spacing:.09em;color:#9db8e8;margin-bottom:10px}
 h3{font-size:15.5px}
 .card{padding:16px 14px;border-radius:14px}
 .narrow{margin:20px auto;max-width:100%}
 .narrow input{padding:13px 12px}
 table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;border-radius:8px;background-color:#16223d;
  background-image:linear-gradient(to right,#16223d 30%,rgba(22,34,61,0)),linear-gradient(to left,#16223d 30%,rgba(22,34,61,0)),radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.5),rgba(0,0,0,0)),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.5),rgba(0,0,0,0));
  background-position:0 0,100% 0,0 0,100% 0;background-size:40px 100%,40px 100%,12px 100%,12px 100%;
  background-repeat:no-repeat;background-attachment:local,local,scroll,scroll}
 .stickyfirst td:first-child,.stickyfirst th:first-child{position:sticky;left:0;background:#16223d;z-index:1}
 td,th{padding:7px;font-size:14px}
 th{font-size:12px}
 .score{flex-direction:column;align-items:flex-start;gap:8px}
 .big{font-size:38px}
 button{width:100%;padding:13px}
 .finding{padding:10px 12px}
 .pill{vertical-align:1px}
 .progress{height:18px}
 footer{font-size:11px;padding:16px 14px;line-height:1.6}
}
