:root{--bg:#0f1720;--card:#17222e;--line:#263444;--ink:#e8eef4;--mute:#8fa1b3;--ok:#4cc38a;--warn:#f0b429;--bad:#ef5b5b;--acc:#5ab0ff}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,sans-serif}
header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.2rem 1.5rem;border-bottom:1px solid var(--line)}
h1{margin:0;font:700 1.6rem Georgia,serif;letter-spacing:.02em}h1 span{color:var(--bad)}
h2{font-size:1rem;margin:.2rem 0 .7rem}
.sub{color:var(--mute);margin:.2rem 0;font-size:.9rem}
.mode{font-size:.85rem;color:var(--mute);cursor:pointer}
main{display:grid;grid-template-columns:2fr 1fr;gap:1rem;padding:1rem 1.5rem;max-width:1200px;margin:auto}
.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem}
.stat b{display:block;font-size:1.7rem}.stat small{color:var(--mute)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem}
.filters{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem}
button{background:#0f1720;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:.35rem .7rem;cursor:pointer;font:inherit}
button.on,button:hover{border-color:var(--acc)}
button.go{background:var(--acc);color:#04121f;border:0;font-weight:600}
ul{list-style:none;margin:0;padding:0}
#list li{border-top:1px solid var(--line);padding:.7rem 0;display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem}
.msg{font-style:italic}.meta{color:var(--mute);font-size:.82rem}
.tag{display:inline-block;font-size:.72rem;padding:.1rem .45rem;border-radius:99px;border:1px solid;margin-right:.3rem}
.t-ok{color:var(--ok)}.t-warn{color:var(--warn)}.t-bad{color:var(--bad)}.t-mute{color:var(--mute)}
input[type=text]{width:100%;padding:.5rem;border-radius:6px;border:1px solid var(--line);background:#0f1720;color:var(--ink);font:inherit}
.probe{margin:.6rem 0 1rem;min-height:2.5rem;font-size:.9rem}
.supp li{padding:.3rem 0;border-top:1px solid var(--line);font-size:.85rem}
@media(max-width:800px){main{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}}
