:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#19273c;background:#fff;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0}
[hidden]{display:none!important}
.page{width:min(100%,808px);margin:clamp(64px,13vh,140px) auto 0;padding:0 24px}
.brand{display:inline-block;margin:0 0 32px;line-height:0}.brand img{display:block;width:132px;height:64px}
h1{max-width:740px;margin:0 0 36px;font-size:clamp(36px,5.2vw,56px);font-weight:650;line-height:1.12;letter-spacing:-1.8px}
button,input{font:inherit;touch-action:manipulation}
.input-row{display:flex;padding:6px;border:1px solid #dbe2eb;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
.input-row:focus-within{border-color:#5278e8;box-shadow:0 0 0 3px #231f9010}
input{width:100%;min-width:0;flex:1;height:54px;padding:0 16px;border:0;outline:none;background:transparent;color:#19273c;font-size:16px}
input::placeholder{color:#8994a4}
button{flex-shrink:0;min-width:132px;padding:0 22px;border:0;border-radius:8px;background:#231f90;color:#fff;font-size:14px;font-weight:600;cursor:pointer}
button:hover{background:#1d197d}
button:disabled{opacity:.65;cursor:wait}
button:focus-visible,a:focus-visible{outline:3px solid #91adff;outline-offset:4px}
.progress{display:flex;align-items:center;gap:10px;margin-top:22px;color:#6e7b8d;font-size:14px}
.spinner{width:18px;height:18px;border:2px solid #e5ebfa;border-top-color:#231f90;border-radius:50%;animation:spin .8s linear infinite}
.error{margin:22px 0 0;color:#b43e34;font-size:14px;line-height:1.6}
.result{margin-top:40px}
.result h2{margin:0 0 6px;font-size:18px;line-height:1.4;font-weight:600;letter-spacing:-.2px}
.vulnerabilities{list-style:none;margin:0;padding:0}
.vulnerability{padding:22px 0;border-bottom:1px solid #e8edf3}
.vulnerability h3{margin:0;font-size:16px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}
.qualifier{margin:5px 0 0;font-size:12px;line-height:1.6;color:#7e8999}
.finding-links{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:10px}
a{font-size:13px;line-height:1.7;color:#231f90;text-decoration:none;overflow-wrap:anywhere}
a:hover{text-decoration:underline}
.empty{margin:0;color:#69768a;font-size:14px;line-height:1.7}
footer{margin:70px 0 28px;color:#a2aab7;font-size:11px}footer a{font-size:12px;color:#858b98}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
dialog{width:min(400px,calc(100% - 32px));padding:28px;border:1px solid #dbe2eb;border-radius:16px;color:#19273c;box-shadow:0 16px 80px #19273c26}
dialog::backdrop{background:#19273c66}
dialog h2{margin:0 0 12px;font-size:22px;line-height:1.3}
dialog p{font-size:14px;line-height:1.6;color:#69768a}
#captcha-image{display:block;max-width:100%;height:auto;margin:16px auto}
#captcha-answer{height:48px;border:1px solid #dbe2eb;border-radius:8px;letter-spacing:6px;text-align:center}
#captcha-answer:focus{border-color:#5278e8;box-shadow:0 0 0 3px #231f9010}
dialog .error{color:#b43e34;margin-top:12px}
.captcha-actions{display:flex;gap:12px;margin-top:18px}.captcha-actions button{height:44px;min-width:0;flex:1}
button.secondary{background:#edf0f6;color:#19273c}button.secondary:hover{background:#e1e6ef}
button.text-button{min-width:0;background:transparent;color:#231f90;padding:12px 0 0;font-size:13px;font-weight:400}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:520px){.page{margin-top:56px;padding:0 20px}h1{font-size:37px;letter-spacing:-1.25px;margin-bottom:28px}.input-row{padding:5px}input{height:50px;font-size:14px;padding:0 11px}button{min-width:105px;padding:0 14px;font-size:12px}.result{margin-top:32px}.vulnerability h3{font-size:15px}footer{margin-top:54px}}
@media(max-width:350px){.page{padding:0 16px}h1{font-size:33px}button{min-width:90px;padding:0 10px}}
@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}*{transition:none!important}}
