:root{color-scheme:dark;--bg:#0b1528;--panel:#142640;--panel2:#1a2d47;--line:#35516e;--text:#edf4ff;--muted:#adbed3;--blue:#659fea}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 0,rgba(63,122,205,.12),transparent 31rem),linear-gradient(#101d33,#0b1528 32rem);font:15px/1.5 system-ui,Arial;color:var(--text)}header{border-bottom:1px solid var(--line);background:#0b1528d9}.bar{max-width:1080px;margin:auto;display:flex;align-items:center;gap:14px;padding:18px 20px}.brand{font-weight:900;letter-spacing:1px;font-size:22px;background:linear-gradient(90deg,#ff5f6d,#ff9f43,#ffd93d,#6bff95,#4dc9ff,#9b6cff,#ff6ec7);color:transparent;background-clip:text;text-decoration:none}.subtitle{color:var(--muted);font-size:12px;letter-spacing:2px}.home{margin-left:auto;color:#9fc5ff}main{max-width:1000px;margin:35px auto;padding:0 20px}h1{font-size:clamp(27px,4vw,39px);margin-bottom:3px}.lead{color:var(--muted);margin-top:0;margin-bottom:25px}form,.result{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:22px;margin:18px 0;box-shadow:0 10px 30px #0003}label{display:block;font-weight:750;margin-bottom:8px;font-size:13px;color:#c8dbf4}input,select{background:#0e1d33;color:var(--text);border:1px solid #496988;border-radius:9px;padding:12px;font:inherit;width:100%;outline-offset:3px}input:focus,select:focus{border-color:#83b9ff}.selectors{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:17px 0}button{border:1px solid #5687c6;border-radius:9px;padding:12px 20px;background:#285b9f;color:white;font:inherit;font-weight:800;cursor:pointer}button:hover{background:#3674bb}button:disabled{opacity:.55;cursor:wait}.result-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px}.result-head span{font-size:12px;color:#a9c9ec}#summary{color:#bccfe4;font-size:14px;overflow-wrap:anywhere}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;margin-top:15px;font:13px/1.5 ui-monospace,Consolas,monospace}th{text-align:left;color:#9eb9d9;background:var(--panel2)}td,th{border-bottom:1px solid var(--line);padding:10px;overflow-wrap:anywhere}tr:hover td{background:#1a3150}.note{color:var(--muted);font-size:13px}footer{text-align:center;color:#829ab7;padding:35px}footer a{color:#a6c9f7}@media(max-width:550px){.selectors{grid-template-columns:1fr}form,.result{padding:15px}.bar{gap:8px;flex-wrap:wrap}.subtitle{font-size:10px}}


/* Network diagnostic tools */
.tool-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 26px;
}
.tool-tabs button {
  width: auto;
  flex: 1 1 190px;
  background: transparent;
  border: 1px solid #35516e;
  color: #edf4ff;
  border-radius: 12px;
  padding: 13px 18px;
  cursor: pointer;
}
.tool-tabs button.active {
  background: #142640;
  border-color: #6da9eb;
}
.tool-panel[hidden] {
  display: none !important;
}
.terminal-output {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #35516e;
  border-radius: 12px;
  background: #07111f;
  color: #d7edff;
  font: 13px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  overflow-x: auto;
  max-height: 600px;
  overflow-y: auto;
}
#diag-copy {
  margin-top: 12px;
}
#diagnostic-form select {
  margin-bottom: 14px;
}



/* NERDHALLA MAIN SITE SHELL 20261028 */

:root {
  --bg:#090b17;
  --bg2:#0d1122;
  --panel:#13172a;
  --line:#353a5b;
  --text:#f3f4ff;
  --muted:#adb5d2;
  --purple:#8294ed;
  --purple2:#b4c0ff;
  --gold:#e4b95d;
  color-scheme:dark;
}

* {box-sizing:border-box}
html {scroll-behavior:smooth}
body {
  margin:0;
  min-height:100vh;
  color:#f3f4ff;
  background:
    radial-gradient(circle at 85% 5%,rgba(101,108,166,.14),transparent 32rem),
    radial-gradient(circle at 8% 30%,rgba(228,185,93,.07),transparent 25rem),
    linear-gradient(180deg,#0d1122,#090b17 30rem);
  font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

a {color:#b4c0ff;text-decoration:none}
a:hover {text-decoration:underline}

/* Exact main-site header structure and dimensions */
body > header.topbar {
  position:sticky;
  top:0;
  z-index:20;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(9,11,23,.87);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
  padding:0;
  margin:0;
  width:100%;
  box-shadow:none;
}

.topbar .topbar-inner {
  max-width:1180px;
  margin:auto;
  padding:12px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.topbar .brand {
  display:flex;
  align-items:center;
  gap:11px;
  color:#fff;
  font-weight:800;
  font-size:15px;
  letter-spacing:.02em;
  text-decoration:none;
  flex-shrink:0;
}

.topbar .brand small {
  display:block;
  color:#adb5d2;
  font-size:11px;
  font-weight:600;
  letter-spacing:normal;
}

.topbar .brand-mark {
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:rgba(101,108,166,.12);
  border:1px solid #353a5b;
  box-shadow:none;
  overflow:hidden;
}

.topbar .brand-mark img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
  display:block;
}

.topbar .brand-fallback {
  display:none;
  width:100%;
  height:100%;
  place-items:center;
}

.topbar .nav {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}

.topbar .nav a {
  color:#d5dcf5;
  padding:7px 10px;
  border-radius:9px;
  font-size:13px;
  font-weight:400;
  text-decoration:none;
}

.topbar .nav a:hover {
  background:rgba(255,255,255,.055);
}

.topbar .nav a.discord-login-nav {
  background:#5865f2;
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  font-weight:800;
}

.topbar .nav a.discord-login-nav:hover {
  background:#4752c4;
}

/* Main-site rainbow treatment */
.rainbow-link,
.nh-footer-domain-rainbow {
  background:linear-gradient(
    90deg,#ff5f6d,#ff9f43,#ffd93d,
    #6bff95,#4dc9ff,#9b6cff,#ff6ec7
  );
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent !important;
  font-weight:800;
  text-decoration:none;
}

.rainbow-link:hover {filter:brightness(1.12)}

.topbar .nav a.rainbow-link:hover {
  background:linear-gradient(
    90deg,#ff5f6d,#ff9f43,#ffd93d,
    #6bff95,#4dc9ff,#9b6cff,#ff6ec7
  );
  -webkit-background-clip:text;
  background-clip:text;
}

/* Toolbox content matching main-site layout */
body > main {
  max-width:1180px;
  width:100%;
  margin:0 auto;
  padding:42px 20px 80px;
}

main h1 {
  color:#f3f4ff;
  letter-spacing:-.025em;
}

main .lead,
main .note {
  color:#adb5d2;
}

main .result {
  border-color:#353a5b;
  background:#13172a;
  border-radius:16px;
}

main input,
main select {
  color:#f3f4ff;
  background:#090d1f;
  border:1px solid #62688d;
  border-radius:9px;
}

main button:not(.tool-tab) {
  border:1px solid #3a4477;
  border-radius:12px;
  background:#272d52;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

main button:not(.tool-tab):hover:not(:disabled) {
  background:#3a4477;
  border-color:#756cf0;
}

main .tool-tabs button {
  background:rgba(255,255,255,.035);
  border:1px solid #353a5b;
  border-radius:12px;
  color:#d5dcf5;
}

main .tool-tabs button.active {
  background:#272d52;
  color:#fff;
  border-color:#656ca6;
}

/* Main-site footer */
body > footer.nerdhalla-site-footer {
  position:relative;
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(9,11,23,.96);
  margin:42px 0 0;
  padding:0;
  width:100%;
  text-align:left;
  color:#adb5d2;
}

.nh-footer-inner {
  max-width:1180px;
  margin:auto;
  padding:24px 20px 30px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.nh-footer-logo {
  display:inline-block;
  font-weight:900;
  letter-spacing:.08em;
}

.nh-footer-subtitle {
  color:#adb5d2;
  font-size:12px;
  margin-top:3px;
}

.nh-footer-copyright {
  color:#756b81;
  font-size:11px;
  margin-top:6px;
}

.nh-footer-contact {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  font-size:12px;
  line-height:1.5;
}

.nh-footer-contact a {
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
}

.nh-footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:8px 15px;
  font-size:13px;
}

.nh-footer-nav a {
  color:#b4c0ff;
  text-decoration:none;
}

.nh-footer-nav a:hover {text-decoration:underline}

.nh-network-pi {
  position:absolute;
  right:14px;
  bottom:8px;
  color:#adb5d2;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  opacity:.7;
}

.nh-network-pi:hover {
  opacity:1;
  color:#fff;
}

@media(max-width:860px) {
  .topbar .nav {display:none}
}

@media(max-width:560px) {
  .topbar .topbar-inner {padding:10px 14px}
  body > main {padding:28px 14px 60px}
  .nh-footer-inner {padding:24px 14px 32px}
}
