:root{color-scheme:dark;font:15px system-ui,sans-serif;background:#090f1f;color:#eaf0ff}*{box-sizing:border-box}body{margin:0}main{max-width:1300px;margin:auto;padding:42px 28px}header,.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:clamp(30px,4vw,48px);margin:9px 0}h1 span{color:#16cfaa}h2{font-size:20px;margin:7px 0 0}p,small,.muted{color:#92a1bb}.eyebrow,.label{color:#8293ad;font-size:11px;letter-spacing:.15em;font-weight:700}.badge{font-size:11px;letter-spacing:.1em;border:1px solid #945657;color:#ff9a9a;padding:9px 12px;border-radius:20px}.badge.ok{border-color:#1d9d82;color:#36e2bb}.badge.warn{color:#ffd17f;border-color:#bb8b39}.connect,article{background:#101a2d;border:1px solid #22304a;border-radius:12px}.connect{margin:30px 0 18px;padding:20px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}.connect label{flex:1;min-width:210px;color:#aab8ce;font-size:12px}.connect p{flex-basis:100%;font-size:12px;margin:2px 0}input{display:block;width:100%;margin-top:7px;background:#091222;color:#eef4ff;border:1px solid #30405c;border-radius:7px;padding:12px}button{background:#1bc9a3;border:0;border-radius:7px;color:#071b19;padding:12px 18px;font-weight:700;cursor:pointer}.secondary{background:#24334b;color:#eaf0ff}button:disabled{background:#263348;color:#8291a7;cursor:not-allowed}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid article{min-height:130px}.grid strong{display:block;font-size:26px;margin:14px 0 4px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}article{padding:22px;min-width:0}.empty{min-height:130px;margin-top:20px;padding:20px;background:#0b1424;border:1px dashed #30405a;border-radius:8px;color:#91a2bd;white-space:pre-wrap;overflow:auto}.score{margin:20px 0}.score div{display:flex;justify-content:space-between;border-bottom:1px solid #243148;padding:10px 0;color:#9eacc3}.score b{color:#e6edfa}.controls{display:flex;gap:8px;margin-top:26px;flex-wrap:wrap}footer{color:#6f809a;margin-top:28px;font-size:12px}@media(max-width:800px){.grid{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}main{padding:24px 16px}header{align-items:flex-start}}
