.hero{display:flex;gap:18px;align-items:center;padding:24px 22px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 40%,transparent),transparent 70%);border-bottom:1px solid var(--line);border-top:4px solid var(--accent)}
.hlogo{width:64px;height:64px;border-radius:14px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex:none;padding:10px}
.hlogo img{max-width:100%;max-height:100%}
.htext h2{margin:0;font-size:24px;word-break:break-all}
.hhost{color:var(--muted);font-size:14px;margin-top:2px}
.hslogan{margin-top:6px;font-style:italic;color:#cfe0ee}
.pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:20px 22px}
.stat{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.stat .sv{font-size:24px;font-weight:600;word-break:break-word}
.stat .sl{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.stat .ss{color:var(--muted);font-size:12px;margin-top:2px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;padding:0 22px 14px}
.result>.card{margin:0 22px 14px}
.card{background:#121c27;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}
.cardh{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--panel2)}
.cardh h3{margin:0;font-size:15px;display:flex;align-items:center;gap:8px}
.ico{font-size:15px}
.src{font-size:11px;color:var(--muted);font-family:ui-monospace,monospace}
.cardb{padding:10px 14px 14px}
.kv{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-bottom:1px dashed #22313f;font-size:14px}
.kv:last-child{border-bottom:0}
.kv.col{flex-direction:column;gap:6px}
.kk{color:var(--muted)}
.vv{text-align:right;word-break:break-word;min-width:0}
.vv a,.vv a:visited{color:#7fd8ff}
.vv a:hover{color:#fff}
.mono{font-family:ui-monospace,monospace;font-size:12px}
.num{font-variant-numeric:tabular-nums}
.b{font-size:12px;font-weight:600;padding:2px 8px;border-radius:6px}
.b.yes{background:rgba(62,207,142,.15);color:var(--ok)}
.b.no{background:rgba(139,163,184,.12);color:var(--muted)}
.swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px;border:1px solid rgba(255,255,255,.3)}
.sub{margin:8px 0 4px;padding:8px 10px;border-left:2px solid var(--line);background:rgba(255,255,255,.015);border-radius:0 8px 8px 0}
.subh{font-size:12px;font-weight:600;color:#b9cde0;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:12px;padding:3px 8px;border-radius:6px;background:rgba(0,200,255,.1);color:#9fdcff;font-family:ui-monospace,monospace}
.bar{display:grid;grid-template-columns:140px 1fr 70px;gap:10px;align-items:center;margin:8px 0;font-size:14px}
.bl{color:var(--muted)}
.bt{height:12px;background:#0d151e;border-radius:6px;overflow:hidden;border:1px solid var(--line)}
.bt span{display:block;height:100%;border-radius:6px}
.bn{text-align:right;font-variant-numeric:tabular-nums}
.desc{margin:0;line-height:1.5;color:#cfe0ee}
.group{font-size:14px;text-transform:uppercase;letter-spacing:.5px;margin:18px 22px 12px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.group .muted{text-transform:none;letter-spacing:0;font-size:12px;font-weight:400}
.rawall{padding:0 22px 14px}
.rawbtn{margin-top:10px;background:none;border:1px solid var(--line);color:var(--muted);border-radius:7px;padding:5px 10px;font-size:12px;cursor:pointer}
.rawbtn:hover{color:var(--text);border-color:var(--nc)}
.raw{margin:8px 0 0;max-height:360px;overflow:auto;background:#0a1118;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:12px;color:#b9cde0}
.probe{margin:0 22px 18px;border:1px solid var(--line);border-radius:10px;background:#0d151e}
.probe summary{cursor:pointer;padding:12px 14px;color:var(--muted);font-size:14px}
.probe .block{padding:0 14px 10px}
.tag-ok,.tag-bad{display:inline-block}
main{max-width:1040px}
.made{margin-top:10px;font-size:13px;color:var(--muted)}
.made a,.made a:visited{color:#7fd8ff;text-decoration:none;border-bottom:1px solid rgba(127,216,255,.4)}
.made a:hover{color:#fff;border-bottom-color:#fff}
.offline{margin-top:28px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 22px}
.offline h2{margin:0 0 8px;font-size:16px}
.offline p{margin:0;color:var(--muted);line-height:1.6;font-size:14px}
.offline code{font-family:ui-monospace,monospace;background:#0d151e;border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--text)}
.scanning{display:flex;gap:16px;align-items:center;padding:26px 22px}
.scanning .st{font-size:16px}
.scanning .ss{font-size:13px;margin-top:4px}
.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--nc);animation:spin .8s linear infinite;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}
.oops{display:flex;gap:22px;align-items:flex-start;padding:28px 24px;border-top:4px solid #f5a524;background:linear-gradient(120deg,rgba(245,165,36,.14),transparent 65%)}
.oops-dns,.oops-refused,.oops-tls,.oops-unreachable{border-top-color:#ff6b6b;background:linear-gradient(120deg,rgba(255,107,107,.14),transparent 65%)}
.oops-invalid,.oops-scanner{border-top-color:var(--nc);background:linear-gradient(120deg,rgba(0,130,201,.16),transparent 65%)}
.oicon{font-size:54px;line-height:1;flex:none;animation:bob 2.4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-6px) rotate(-4deg)}}
.otext{min-width:0}
.otext h2{margin:0 0 8px;font-size:22px;word-break:break-word}
.otext p{margin:0 0 10px;color:#cfe0ee;line-height:1.55}
.otext ul{margin:0 0 14px;padding-left:20px;color:var(--muted);line-height:1.7;font-size:14px}
.odetail{margin:0 0 14px;font-size:13px;color:var(--muted)}
.odetail summary{cursor:pointer}
.odetail code{display:block;margin-top:6px;font-family:ui-monospace,monospace;font-size:12px;background:#0a1118;border:1px solid var(--line);border-radius:8px;padding:8px 10px;word-break:break-word}
.retry{background:var(--nc);color:#fff;border:0;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer}
.retry:hover{filter:brightness(1.12)}
@media(prefers-reduced-motion:reduce){.oicon,.spinner{animation:none}}
@media(max-width:560px){.oops{flex-direction:column;gap:12px}}
@media(max-width:560px){.cards{grid-template-columns:1fr}.bar{grid-template-columns:100px 1fr 56px}.hero{flex-direction:column;align-items:flex-start}}
