:root{font-family:'JetBrains Mono',ui-monospace,Consolas,monospace;color:#eaf2ff;background:#05070a}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:
  radial-gradient(circle at 50% 0,rgba(46,143,255,.16),transparent 55%),
  repeating-linear-gradient(0deg,transparent 0 39px,rgba(46,143,255,.06) 40px),
  repeating-linear-gradient(90deg,transparent 0 39px,rgba(46,143,255,.06) 40px),
  #05070a}
main{max-width:980px;margin:0 auto;padding:26px 20px 70px}
header{display:flex;justify-content:space-between;align-items:center;padding:6px 0 34px}
.mark{color:#4fc3ff;font-weight:900;letter-spacing:.02em;text-decoration:none;font-size:14px;border:1px solid #1c2a3a;padding:6px 10px;border-radius:7px}
.kicker{font-size:11px;letter-spacing:.18em;color:#6b8099;font-weight:700}
.hero{text-align:center;padding:40px 0 30px}
.hero .kicker{margin-bottom:14px}
.ip-value{font-size:clamp(34px,7vw,74px);font-weight:800;letter-spacing:-.02em;color:#eaf2ff;text-shadow:0 0 26px rgba(79,195,255,.55);word-break:break-all;margin:0}
.ip-sub{color:#6b8099;font-size:13px;margin-top:10px}
.copy-btn{margin-top:22px;background:#0d1420;border:1px solid #24445e;color:#4fc3ff;border-radius:8px;padding:11px 18px;cursor:pointer;font:inherit;font-size:13px;font-weight:700}
.copy-btn:hover{border-color:#4fc3ff}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:36px}
.card{background:#0d1420;border:1px solid #1c2a3a;border-radius:10px;padding:18px}
.card p{font-size:11px;letter-spacing:.1em;color:#6b8099;margin:0 0 10px;font-weight:700}
.card strong{display:block;font-size:17px;color:#eaf2ff;word-break:break-word}
.privacy{margin-top:14px;background:#0d1420;border:1px solid #1c2a3a;border-radius:10px;padding:22px;display:flex;gap:16px;align-items:flex-start}
.privacy .shield{font-size:18px;color:#4fc3ff;flex:0 0 auto;margin-top:4px;text-shadow:0 0 16px rgba(79,195,255,.85)}
.privacy h2{margin:0 0 8px;font-size:15px}
.privacy p{margin:0;color:#8fa0b3;font-size:13px;line-height:1.6}
.status{text-align:center;color:#6b8099;font-size:13px;margin-top:16px}
.article{margin-top:48px}
.article h2{font-size:19px;letter-spacing:-.01em;margin:0 0 14px}
.article p{color:#8fa0b3;font-size:14px;line-height:1.75;margin:0 0 14px}
.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px}
.article-grid h3{font-size:14px;color:#4fc3ff;margin:0 0 8px}
.article-grid p{font-size:13px;margin:0}
.faq{margin-top:44px}
.faq h2{font-size:19px;letter-spacing:-.01em;margin:0 0 14px}
.faq details{background:#0d1420;border:1px solid #1c2a3a;border-radius:10px;padding:16px 18px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:700;font-size:14px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';float:right;color:#4fc3ff}
.faq details[open] summary::after{content:'−'}
.faq p{margin:12px 0 0;color:#8fa0b3;font-size:13px;line-height:1.65}
@media(max-width:600px){.grid{grid-template-columns:1fr 1fr}.article-grid{grid-template-columns:1fr}}

/* ── Диагностика сети ────────────────────────────────────────────────── */
.diag{margin-top:14px;background:#0d1420;border:1px solid #1c2a3a;border-radius:10px;padding:22px}
.diag h2{margin:0 0 6px;font-size:15px}
.diag>p{margin:0 0 18px;color:#8fa0b3;font-size:13px}
.diag-block{border-top:1px solid #1c2a3a;padding-top:18px;margin-top:18px}
.diag-block:first-of-type{border-top:0;padding-top:0;margin-top:0}
.diag-block h3{margin:0 0 4px;font-size:13px;letter-spacing:.06em;color:#4fc3ff;text-transform:uppercase}
.diag-block .diag-hint{margin:0 0 12px;color:#6b8099;font-size:12px}
.diag-btn{background:#0d1420;border:1px solid #24445e;color:#4fc3ff;border-radius:8px;padding:10px 16px;cursor:pointer;font:inherit;font-size:13px;font-weight:700}
.diag-btn:hover{border-color:#4fc3ff}
.diag-btn:disabled{opacity:.5;cursor:wait}
.diag-result{margin-top:12px;font-size:13px;color:#eaf2ff}
.diag-result.empty{color:#6b8099}
.diag-bar-track{margin-top:10px;height:6px;border-radius:4px;background:#0a1018;overflow:hidden}
.diag-bar-fill{height:100%;width:0;background:#4fc3ff;transition:width .15s}
.ping-stats{display:flex;gap:22px;margin-top:10px}
.ping-stats div{text-align:center}
.ping-stats p{margin:0;font-size:11px;color:#6b8099;letter-spacing:.06em;text-transform:uppercase}
.ping-stats strong{display:block;margin-top:4px;font-size:18px;color:#eaf2ff}
.port-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}
.port-table th{text-align:left;color:#6b8099;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;font-weight:700}
.port-table td{padding:6px 8px;border-top:1px solid #1c2a3a}
.port-status{font-weight:700}
.port-status.open{color:#ff6b6b}
.port-status.closed,.port-status.timeout{color:#4fc3ff}
.diag-note{margin-top:12px;padding:10px 12px;background:#0a1018;border:1px solid #1c2a3a;border-radius:8px;color:#6b8099;font-size:12px;line-height:1.6}
