*{box-sizing:border-box}body{margin:0;background:#0c0f14;color:#f5f7fb;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif}main{max-width:1000px;margin:auto;padding:18px}h1{font-size:40px;margin-bottom:4px}h2{margin-top:0}section{background:#151922;border:1px solid #2b3342;border-radius:18px;padding:18px;margin:16px 0}label{display:block;margin:10px 0;color:#dce2eb}input,select,button{width:100%;padding:12px;border:1px solid #2b3342;border-radius:11px;background:#1b202b;color:#fff;margin-top:6px}input[readonly]{color:#aab6c7;background:#131821}button{cursor:pointer;font-weight:800}button:disabled{opacity:.45}.sectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.sectionHead h2{margin-bottom:6px}.muted,.detectNote{color:#9aa6b7;line-height:1.6}.detectNote{font-size:13px;margin:12px 0 0}.smallBtn{width:auto;min-width:120px;margin-top:0}.autoGrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}.state{display:inline-block;margin-right:7px;padding:2px 7px;border-radius:999px;background:#153b2a;color:#9ce0bb;font-size:11px;font-weight:800}.state.manual{background:#463717;color:#ffd58a}.state.locked{background:#1e3150;color:#a9cbff}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.metrics div{padding:12px;background:#10141a;border:1px solid #2b3342;border-radius:12px}.metrics b{display:block;font-size:20px;margin-top:5px}canvas{width:100%;height:300px;background:#0e1218;border:1px solid #2b3342;border-radius:14px}#events{max-height:300px;overflow:auto;background:#0e1218;border:1px solid #2b3342;border-radius:12px;padding:10px;direction:ltr;text-align:left;font-family:monospace}.event{padding:6px;border-bottom:1px solid #222a35}.bad{color:#ffb4b4}.warn{color:#ffd58a}#verdict{padding:14px;border:1px solid #2b3342;border-radius:12px;line-height:1.7}@media(max-width:650px){.metrics,.autoGrid{grid-template-columns:1fr 1fr}h1{font-size:32px}.sectionHead{flex-direction:column}.smallBtn{width:100%}}@media(max-width:460px){.autoGrid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}}