:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;background:#f4f7fb;color:#17263b}*{box-sizing:border-box}body{margin:0}header{height:78px;background:#101d33;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1200px)/2))}.brand{display:flex;align-items:center;gap:12px}.logo{font-size:32px;color:#75c9ff}.brand b{display:block;font-size:19px;letter-spacing:.5px}.brand small{color:#adc0da;font-size:11px}.pill{border:1px solid #405473;color:#c5dcfb;border-radius:20px;padding:8px 12px;font-size:11px}main{max-width:1200px;margin:0 auto;padding:30px 20px 60px}.intro{display:flex;justify-content:space-between;align-items:center;gap:16px}.intro h1{margin:0;font-size:30px}.intro p,.hint{color:#718098;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0}.stat,.panel{background:white;border:1px solid #e4eaf2;border-radius:16px;box-shadow:0 4px 18px #13274308}.stat{padding:20px}.stat span{display:block;font-size:12px;color:#697d95}.stat strong{display:block;font-size:29px;margin-top:9px;color:#172940}.columns{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:22px;min-width:0}.panel h2{font-size:17px;margin:0 0 12px}.panelhead{display:flex;justify-content:space-between;gap:10px;align-items:center}.site{border-top:1px solid #eef1f6;padding:14px 0}.site-top{display:flex;gap:10px;justify-content:space-between;align-items:start}.site-name{font-weight:700;overflow-wrap:anywhere}.site-meta{color:#758499;font-size:12px;margin-top:4px}.actions{display:flex;align-items:center;gap:6px}.score{background:#e7f3ff;color:#056bbb;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:700}.score.empty{background:#f1f4f7;color:#758499}.scan-details{font-size:12px;color:#68788c;margin:8px 0;overflow-wrap:anywhere}button{border:0;border-radius:9px;padding:11px 14px;background:#146ac5;color:white;cursor:pointer;font-weight:650}button:hover{background:#0855a7}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#eaf2fb;color:#185d9e}button.danger{background:#fff0ef;color:#c34442}button.mini{padding:7px 10px;font-size:12px}input,select{border:1px solid #dce4ed;border-radius:9px;padding:11px;background:white;color:#17263b;font:inherit;min-width:0}input:focus,select:focus{outline:2px solid #a5ccf7}form.inlineform{border-top:1px solid #eef1f6;padding-top:15px;display:flex;gap:8px;align-items:center;margin-top:8px}form.inlineform input[type=url],form.inlineform input:not([type]){flex:1}.check{white-space:nowrap;color:#53647a;font-size:12px}.check input{vertical-align:middle}.tip{border-left:3px solid #e7aa42;background:#fffaf1;padding:12px;margin:11px 0;border-radius:0 8px 8px 0;font-size:13px}.tip b{display:block;margin-bottom:5px}.tip.high{border-color:#e66a5b;background:#fff6f4}.tip p{margin:0;line-height:1.5}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:7px 9px;border-radius:8px;background:#eef4fb;font-size:12px;color:#385471}.chip button{background:none;color:#8b9fb4;padding:0 0 0 6px}.rankform{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rankform button{grid-column:span 2}.ranklist{margin-top:15px}.rankrow{border-top:1px solid #e8edf4;padding:9px 0;display:flex;justify-content:space-between;gap:8px;font-size:12px}.rankrow span{color:#697e92}.foot{font-size:12px;color:#8796a8;margin-top:25px}.emptymsg{font-size:13px;color:#8391a2;padding:14px 0}.hidden{display:none!important}#toast{position:fixed;bottom:18px;right:18px;background:#172940;color:white;padding:14px;border-radius:10px;display:none;max-width:350px;font-size:13px}#toast.show{display:block}#login{max-width:410px;margin:70px auto}#login form{display:flex;flex-direction:column;gap:10px}@media(max-width:800px){header{padding:0 18px}.columns{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.intro h1{font-size:23px}.pill{font-size:9px}}@media(max-width:450px){.intro{align-items:start;flex-direction:column}.stat{padding:14px}.stat strong{font-size:24px}.panel{padding:16px}.site-top{flex-direction:column}.actions{width:100%}form.inlineform{flex-wrap:wrap}form.inlineform input[type=url]{flex-basis:100%}}
