/* NextWatch AI speed-test family — isolated from the existing YouTube speed test. */
.nw-speed-family-page {
  --family-a: #57edff;
  --family-b: #596bff;
  --family-c: #9b65ff;
  --family-soft: rgba(87,237,255,.14);
  min-height: calc(100svh - 72px);
  padding: 24px 0 64px;
}
.nw-speed-family-page.theme-hub { --family-a:#65f5d0; --family-b:#4da5ff; --family-c:#8b68ff; --family-soft:rgba(101,245,208,.13); }
.nw-speed-family-page.theme-internet { --family-a:#59e8ff; --family-b:#4e7bff; --family-c:#9168ff; --family-soft:rgba(89,232,255,.13); }
.nw-speed-family-page.theme-wifi { --family-a:#72ffd4; --family-b:#42c8ff; --family-c:#5b79ff; --family-soft:rgba(114,255,212,.13); }
.nw-speed-family-page.theme-broadband { --family-a:#ffd45c; --family-b:#ff8c54; --family-c:#ff5f9e; --family-soft:rgba(255,212,92,.12); }
.nw-speed-family-page.theme-connection { --family-a:#a8ff79; --family-b:#43e5b5; --family-c:#42bfff; --family-soft:rgba(168,255,121,.12); }
.nw-speed-family-page.theme-streaming { --family-a:#ff67d8; --family-b:#9a63ff; --family-c:#4f83ff; --family-soft:rgba(255,103,216,.12); }
.nw-speed-family-page.theme-download { --family-a:#62f0ff; --family-b:#39a4ff; --family-c:#5565ff; --family-soft:rgba(98,240,255,.12); }
.nw-speed-family-page.theme-upload { --family-a:#b46fff; --family-b:#ff5fd1; --family-c:#ff8f6c; --family-soft:rgba(180,111,255,.12); }
.nw-speed-family-page.theme-netflix { --family-a:#ff7b8f; --family-b:#c75dff; --family-c:#5b76ff; --family-soft:rgba(255,123,143,.12); }

.nw-family-hero {
  max-width: 1000px;
  margin: 0 auto 24px;
  text-align: center;
}
.nw-family-hero .nw-kicker { border-color: color-mix(in srgb, var(--family-a) 48%, transparent); background: var(--family-soft); }
.nw-family-hero h1 {
  margin: 16px 0 12px;
  font-size: clamp(3rem, 7vw, 6rem);
  line-height: .94;
  letter-spacing: -.065em;
}
.nw-family-hero h1 span {
  background: linear-gradient(110deg, var(--family-a), var(--family-b), var(--family-c));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.nw-family-hero p { max-width: 760px; margin: 0 auto; color: #afbad8; line-height: 1.68; }
.nw-family-intent-pills { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:18px; }
.nw-family-intent-pills span { padding:8px 11px; border:1px solid rgba(255,255,255,.08); border-radius:999px; background:rgba(255,255,255,.035); color:#c8d3ef; font-size:11px; font-weight:800; }

.nw-family-test-card {
  position: relative;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 30px;
  padding: clamp(19px, 2.2vw, 30px);
  background:
    linear-gradient(rgba(6,9,27,.92),rgba(6,9,27,.92)) padding-box,
    linear-gradient(125deg, color-mix(in srgb,var(--family-a) 74%,transparent), color-mix(in srgb,var(--family-b) 58%,transparent), color-mix(in srgb,var(--family-c) 72%,transparent)) border-box;
  box-shadow: var(--shadow), 0 0 80px color-mix(in srgb,var(--family-b) 12%,transparent), inset 0 1px rgba(255,255,255,.08);
}
.nw-family-test-card::before { content:""; position:absolute; width:440px; height:440px; right:-220px; top:-250px; border-radius:50%; background:radial-gradient(circle,var(--family-soft),transparent 68%); pointer-events:none; }
.nw-family-test-card.testing { box-shadow: var(--shadow), 0 0 48px color-mix(in srgb,var(--family-a) 22%,transparent), inset 0 1px rgba(255,255,255,.08); }
.nw-family-card-head { position:relative; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:20px; }
.nw-family-card-title { display:flex; align-items:center; gap:13px; }
.nw-family-icon { width:48px; height:48px; display:grid; place-items:center; flex:0 0 auto; border:1px solid color-mix(in srgb,var(--family-a) 46%,transparent); border-radius:16px; background:var(--family-soft); color:var(--family-a); font-size:22px; font-weight:900; box-shadow:inset 0 1px rgba(255,255,255,.08); }
.nw-family-card-head h2 { margin:0; font-size:clamp(1.35rem,2.1vw,2.05rem); letter-spacing:-.045em; }
.nw-family-card-head p { margin:6px 0 0; color:#9da9cb; font-size:12px; }
.nw-family-status { flex:0 0 auto; padding:8px 11px; border:1px solid color-mix(in srgb,var(--family-a) 42%,transparent); border-radius:999px; background:var(--family-soft); color:var(--family-a); font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }

.nw-family-main { position:relative; z-index:1; display:grid; grid-template-columns:minmax(230px,.72fr) minmax(360px,1.28fr); gap:16px; align-items:stretch; }
.nw-family-gauge-panel { min-height:270px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.09); border-radius:25px; background:radial-gradient(circle at 50% 34%,var(--family-soft),transparent 58%),rgba(5,8,24,.72); }
.nw-family-gauge { --progress:0; position:relative; width:min(210px,78%); aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:conic-gradient(from 215deg,var(--family-a) calc(var(--progress)*.72%),var(--family-b) calc(var(--progress)*1%),rgba(105,119,180,.17) 0 78%,transparent 78% 100%); filter:drop-shadow(0 0 19px color-mix(in srgb,var(--family-a) 20%,transparent)); }
.nw-family-gauge::before { content:""; position:absolute; inset:15px; border-radius:50%; background:radial-gradient(circle at 35% 28%,var(--family-soft),transparent 48%),#090c27; box-shadow:inset 0 0 34px rgba(0,0,0,.48); }
.nw-family-gauge-core { position:relative; z-index:1; text-align:center; }
.nw-family-gauge-core span { display:block; color:#9ca9cc; font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.nw-family-gauge-core strong { display:block; margin-top:6px; font-size:clamp(2.8rem,5vw,4.4rem); line-height:.9; letter-spacing:-.075em; }
.nw-family-gauge-core small { display:block; margin-top:7px; color:var(--family-a); font-weight:900; }

.nw-family-result-panel { min-height:270px; padding:22px; border:1px solid rgba(255,255,255,.09); border-radius:25px; background:linear-gradient(150deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); }
.nw-family-result-panel .eyebrow { color:var(--family-a); font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.nw-family-result-panel h3 { margin:8px 0 8px; font-size:clamp(1.55rem,2.8vw,2.6rem); line-height:1.03; letter-spacing:-.05em; }
.nw-family-result-panel > p { margin:0; color:#aeb9d7; line-height:1.58; font-size:13px; }
.nw-family-experience { display:grid; gap:8px; margin-top:16px; }
.nw-family-experience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.nw-family-experience-card { min-height:78px; padding:12px; border:1px solid rgba(255,255,255,.08); border-radius:14px; background:rgba(4,7,22,.64); }
.nw-family-experience-card span { display:block; color:#8895b9; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.nw-family-experience-card strong { display:block; margin-top:6px; color:#edf4ff; font-size:14px; line-height:1.25; }
.nw-family-experience-card.good strong { color:#77f3bd; }
.nw-family-experience-card.warn strong { color:#ffd772; }
.nw-family-experience-card.bad strong { color:#ff8b9e; }
.nw-family-experience-wide { padding:12px 13px; border:1px solid color-mix(in srgb,var(--family-a) 22%,transparent); border-radius:14px; background:var(--family-soft); color:#c8d3ed; font-size:12px; line-height:1.52; }
.nw-family-baseline-button { min-height:38px; padding:0 13px; border:1px solid color-mix(in srgb,var(--family-a) 34%,transparent); border-radius:11px; background:rgba(8,12,31,.78); color:#eef6ff; font-size:11px; font-weight:900; cursor:pointer; }

.nw-family-metrics { position:relative; z-index:1; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-top:10px; }
.nw-family-metric { min-height:82px; padding:12px; border:1px solid rgba(255,255,255,.08); border-radius:15px; background:rgba(5,8,24,.62); text-align:center; }
.nw-family-metric span { display:block; color:#8490b4; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.nw-family-metric strong { display:block; margin-top:7px; font-size:1.22rem; letter-spacing:-.04em; }
.nw-family-metric small { display:block; margin-top:2px; color:#7f8bae; font-size:9px; }
.nw-family-actions { position:relative; z-index:1; display:flex; gap:10px; flex-wrap:wrap; margin-top:15px; }
.nw-family-note { position:relative; z-index:1; margin:12px 2px 0; color:#7f8aad; font-size:10px; line-height:1.55; }

.nw-family-branch-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:28px; }
.nw-family-branch-card { position:relative; overflow:hidden; min-height:190px; padding:20px; border:1px solid rgba(102,183,255,.16); border-radius:20px; background:rgba(6,9,27,.68); text-decoration:none; transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.nw-family-branch-card:hover { transform:translateY(-3px); border-color:rgba(104,223,255,.34); background:rgba(8,13,36,.82); }
.nw-family-branch-card .branch-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:14px; border-radius:13px; border:1px solid rgba(89,232,255,.26); background:rgba(89,232,255,.08); color:#7eeeff; font-weight:900; }
.nw-family-branch-card h2,.nw-family-branch-card h3 { margin:0; font-size:1rem; }
.nw-family-branch-card p { margin:8px 0 0; color:#94a0c3; font-size:12px; line-height:1.55; }
.nw-family-branch-card b { position:absolute; right:17px; bottom:14px; color:#83efff; font-size:11px; }

.nw-family-content { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:26px; }
.nw-family-content article { padding:18px; border:1px solid rgba(255,255,255,.075); border-radius:18px; background:rgba(5,8,24,.57); }
.nw-family-content h2 { margin:0; font-size:.98rem; }
.nw-family-content p { margin:8px 0 0; color:#96a2c4; font-size:12px; line-height:1.62; }

/* Wi-Fi router helper */
.nw-router-helper { margin-top:30px; padding:clamp(20px,2.5vw,30px); border:1px solid rgba(114,255,212,.2); border-radius:26px; background:linear-gradient(150deg,rgba(12,34,38,.57),rgba(5,9,26,.78)); box-shadow:0 22px 70px rgba(0,0,0,.3); }
.nw-router-helper-head { display:flex; gap:14px; align-items:flex-start; justify-content:space-between; }
.nw-router-helper-head h2 { margin:0; font-size:clamp(1.5rem,3vw,2.35rem); letter-spacing:-.045em; }
.nw-router-helper-head p { margin:7px 0 0; max-width:760px; color:#9fb0cb; font-size:13px; line-height:1.58; }
.nw-router-safe { flex:0 0 auto; padding:8px 10px; border:1px solid rgba(114,255,212,.26); border-radius:999px; background:rgba(114,255,212,.08); color:#8affdc; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.nw-router-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:18px; }
.nw-router-field label { display:block; margin:0 0 7px 2px; color:#8998bb; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.nw-router-field select { width:100%; min-height:48px; padding:0 13px; border:1px solid rgba(114,255,212,.18); border-radius:13px; outline:0; color:#f5fbff; background:#0a1026; }
.nw-router-result { margin-top:12px; padding:16px; border:1px solid rgba(114,255,212,.15); border-radius:16px; background:rgba(4,8,21,.68); }
.nw-router-result h3 { margin:0; font-size:1rem; }
.nw-router-result p { margin:7px 0 0; color:#9cabca; font-size:12px; line-height:1.58; }
.nw-router-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }
.nw-router-link { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 14px; border:1px solid rgba(114,255,212,.28); border-radius:12px; color:#eafff8; background:rgba(27,83,75,.28); text-decoration:none; font-size:11px; font-weight:900; }
.nw-router-link.secondary { border-color:rgba(112,174,255,.22); background:rgba(36,63,111,.22); }
.nw-router-warning { margin-top:13px; padding:12px 13px; border:1px solid rgba(255,212,92,.16); border-radius:13px; background:rgba(106,79,19,.13); color:#d9cda8; font-size:11px; line-height:1.55; }
.nw-router-gateway-help { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:12px; }
.nw-router-gateway-help div { padding:12px; border:1px solid rgba(255,255,255,.07); border-radius:13px; background:rgba(255,255,255,.025); }
.nw-router-gateway-help b { display:block; color:#edf4ff; font-size:11px; }
.nw-router-gateway-help span { display:block; margin-top:5px; color:#8290b3; font-size:10px; line-height:1.45; }

/* Header speed family dropdown */
.nw-speed-menu { position:relative; display:flex; align-items:center; }
.nw-speed-menu-trigger { min-height:38px; display:inline-flex; align-items:center; gap:6px; border:0; padding:10px 13px; border-radius:999px; color:#cbd3ef; background:transparent; font:inherit; font-size:13px; font-weight:700; cursor:pointer; transition:.22s ease; }
.nw-speed-menu-trigger:hover,.nw-speed-menu.open .nw-speed-menu-trigger,.nw-speed-menu-trigger[aria-current="page"] { color:#fff; background:rgba(255,255,255,.06); }
.nw-speed-menu-trigger .chev { font-size:10px; transition:transform .18s ease; }
.nw-speed-menu.open .nw-speed-menu-trigger .chev { transform:rotate(180deg); }
.nw-speed-submenu { position:absolute; top:calc(100% + 11px); left:50%; width:min(640px,82vw); padding:10px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; visibility:hidden; opacity:0; transform:translate(-50%,-6px); pointer-events:none; border:1px solid rgba(93,193,255,.2); border-radius:18px; background:rgba(5,8,23,.97); box-shadow:0 28px 70px rgba(0,0,0,.52); transition:.18s ease; }
.nw-speed-menu:hover .nw-speed-submenu,.nw-speed-menu:focus-within .nw-speed-submenu,.nw-speed-menu.open .nw-speed-submenu { visibility:visible; opacity:1; transform:translate(-50%,0); pointer-events:auto; }
.nw-speed-submenu a { display:flex !important; align-items:center !important; gap:10px; min-height:48px; padding:9px 11px !important; border-radius:12px !important; text-align:left !important; }
.nw-speed-submenu a:hover { background:rgba(87,237,255,.07) !important; }
.nw-speed-submenu a[aria-current="page"] { background:rgba(87,237,255,.09) !important; box-shadow:inset 3px 0 0 rgba(87,237,255,.75) !important; }
.nw-speed-submenu .menu-ico { width:30px; height:30px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(87,237,255,.15); border-radius:9px; background:rgba(87,237,255,.06); color:#77efff; font-size:12px; }
.nw-speed-submenu .menu-copy { min-width:0; }
.nw-speed-submenu .menu-copy b { display:block; color:#f1f5ff; font-size:11px; }
.nw-speed-submenu .menu-copy small { display:block; margin-top:2px; color:#7886aa; font-size:8px; line-height:1.25; }

@media (max-width: 900px) {
  .nw-family-main { grid-template-columns:1fr; }
  .nw-family-gauge-panel,.nw-family-result-panel { min-height:220px; }
  .nw-family-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nw-family-metric:last-child { grid-column:1/-1; }
  .nw-family-branch-grid,.nw-family-content { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nw-router-controls { grid-template-columns:1fr; }
  .nw-router-gateway-help { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .nw-speed-family-page { padding:24px 0 46px; }
  .nw-family-hero h1 { font-size:clamp(2.5rem,11vw,3.45rem); }
  .nw-family-card-head { align-items:center; gap:10px; }
  .nw-family-icon { width:42px; height:42px; border-radius:14px; }
  .nw-family-status { display:none; }
  .nw-family-result-panel { padding:17px; }
  .nw-family-experience-grid { grid-template-columns:1fr; }
  .nw-family-actions { display:grid; grid-template-columns:1fr; }
  .nw-family-actions .nw-button { width:100%; }
  .nw-family-branch-grid,.nw-family-content { grid-template-columns:1fr; }
  .nw-router-helper-head { display:block; }
  .nw-router-safe { display:inline-flex; margin-top:12px; }
  .nw-router-gateway-help { grid-template-columns:1fr; }

  .nw-nav-links .nw-speed-menu { width:100%; display:block; }
  .nw-speed-menu-trigger { width:100%; min-height:44px; justify-content:center; border-radius:12px; }
  .nw-speed-menu:hover .nw-speed-submenu,.nw-speed-menu:focus-within .nw-speed-submenu { visibility:hidden; opacity:0; pointer-events:none; transform:none; }
  .nw-speed-menu.open .nw-speed-submenu { visibility:visible; opacity:1; pointer-events:auto; }
  .nw-speed-submenu { position:static; width:100%; margin-top:5px; grid-template-columns:1fr; transform:none !important; border-color:rgba(87,237,255,.11); box-shadow:none; background:rgba(6,10,28,.8); }
  .nw-speed-submenu a { min-height:44px !important; }
  .nw-speed-submenu .menu-copy small { display:none; }
}

/* Distinct visual signatures for each specialist branch while keeping one NextWatch design system. */
.nw-speed-family-page .nw-family-test-card::after {
  position:absolute; right:-18px; bottom:-76px; z-index:0; pointer-events:none;
  font-size:220px; line-height:1; font-weight:900; letter-spacing:-.12em;
  color:var(--family-a); opacity:.035; filter:blur(.2px);
}
.theme-hub .nw-family-test-card::after { content:"⚡"; }
.theme-internet .nw-family-test-card::after { content:"◎"; font-size:260px; bottom:-95px; }
.theme-wifi .nw-family-test-card::after { content:"⌁"; font-size:300px; bottom:-112px; }
.theme-broadband .nw-family-test-card::after { content:"▰"; transform:rotate(-8deg); }
.theme-connection .nw-family-test-card::after { content:"↔"; font-size:250px; bottom:-92px; }
.theme-streaming .nw-family-test-card::after { content:"▶"; font-size:235px; bottom:-84px; }
.theme-download .nw-family-test-card::after { content:"↓"; font-size:280px; bottom:-102px; }
.theme-upload .nw-family-test-card::after { content:"↑"; font-size:280px; bottom:-102px; }
.theme-netflix .nw-family-test-card::after { content:"▣"; font-size:235px; bottom:-86px; }
.theme-wifi .nw-family-gauge-panel { background:radial-gradient(circle at 50% 38%,rgba(114,255,212,.13),transparent 52%),repeating-radial-gradient(circle at 50% 72%,rgba(114,255,212,.07) 0 1px,transparent 1px 26px),rgba(5,8,24,.72); }
.theme-connection .nw-family-gauge-panel { background:linear-gradient(180deg,transparent 49%,rgba(168,255,121,.06) 50%,transparent 51%),linear-gradient(90deg,transparent 49%,rgba(168,255,121,.045) 50%,transparent 51%),rgba(5,8,24,.72); background-size:100% 26px,34px 100%,auto; }
.theme-streaming .nw-family-result-panel { box-shadow:inset 0 0 0 1px rgba(255,103,216,.035),inset 0 -45px 90px rgba(79,131,255,.05); }
.theme-download .nw-family-gauge { filter:drop-shadow(0 12px 20px rgba(57,164,255,.22)); }
.theme-upload .nw-family-gauge { filter:drop-shadow(0 -12px 20px rgba(255,95,209,.18)); }
.theme-broadband .nw-family-result-panel { background:linear-gradient(135deg,rgba(255,212,92,.055),rgba(255,95,158,.025)),rgba(5,8,24,.66); }
.theme-netflix .nw-family-result-panel { background:linear-gradient(145deg,rgba(255,123,143,.055),rgba(91,118,255,.035)),rgba(5,8,24,.68); }
@media (max-width: 760px) {
  .nw-nav-links.open { max-height: calc(100svh - 88px); overflow-y: auto; overscroll-behavior: contain; }
}


/* === Speed Test family expansion V1.41: new intent themes + grouped menu === */
.nw-speed-family-page.theme-network { --family-a:#5df6e6; --family-b:#46b7ff; --family-c:#5f75ff; --family-soft:rgba(93,246,230,.12); }
.nw-speed-family-page.theme-bandwidth { --family-a:#ffe06a; --family-b:#68e5ff; --family-c:#617cff; --family-soft:rgba(255,224,106,.12); }
.nw-speed-family-page.theme-data { --family-a:#83ff83; --family-b:#58d6ff; --family-c:#a36cff; --family-soft:rgba(131,255,131,.12); }
.nw-speed-family-page.theme-dsl { --family-a:#ffbe63; --family-b:#e87955; --family-c:#8b68ff; --family-soft:rgba(255,190,99,.12); }
.nw-speed-family-page.theme-5g { --family-a:#4dffe1; --family-b:#4d9cff; --family-c:#f05cff; --family-soft:rgba(77,255,225,.12); }
.nw-speed-family-page.theme-fiber { --family-a:#bafcff; --family-b:#5fdcff; --family-c:#8068ff; --family-soft:rgba(186,252,255,.12); }
.nw-speed-family-page.theme-lte { --family-a:#a8ff6c; --family-b:#3ed9c8; --family-c:#4e86ff; --family-soft:rgba(168,255,108,.12); }
.nw-speed-family-page.theme-nbn { --family-a:#6ee7ff; --family-b:#63d3b7; --family-c:#ffd166; --family-soft:rgba(110,231,255,.12); }
.theme-network .nw-family-test-card::after { content:"◫"; font-size:250px; bottom:-92px; }
.theme-bandwidth .nw-family-test-card::after { content:"▥"; font-size:245px; bottom:-92px; }
.theme-data .nw-family-test-card::after { content:"▮"; font-size:275px; bottom:-102px; }
.theme-dsl .nw-family-test-card::after { content:"≋"; font-size:285px; bottom:-110px; }
.theme-5g .nw-family-test-card::after { content:"5G"; font-size:180px; bottom:-58px; font-weight:900; }
.theme-fiber .nw-family-test-card::after { content:"✦"; font-size:270px; bottom:-96px; }
.theme-lte .nw-family-test-card::after { content:"LTE"; font-size:145px; bottom:-42px; font-weight:900; }
.theme-nbn .nw-family-test-card::after { content:"NBN"; font-size:135px; bottom:-34px; font-weight:900; }
.theme-network .nw-family-gauge-panel { background:linear-gradient(90deg,rgba(93,246,230,.04) 1px,transparent 1px),linear-gradient(rgba(93,246,230,.04) 1px,transparent 1px),rgba(5,8,24,.72); background-size:28px 28px; }
.theme-bandwidth .nw-family-gauge-panel { background:repeating-linear-gradient(90deg,rgba(255,224,106,.05) 0 10px,transparent 10px 22px),rgba(5,8,24,.72); }
.theme-data .nw-family-result-panel { background:linear-gradient(145deg,rgba(131,255,131,.05),rgba(163,108,255,.035)),rgba(5,8,24,.68); }
.theme-dsl .nw-family-result-panel { background:linear-gradient(145deg,rgba(255,190,99,.06),rgba(139,104,255,.025)),rgba(5,8,24,.68); }
.theme-5g .nw-family-gauge { filter:drop-shadow(0 0 24px rgba(77,255,225,.20)); }
.theme-fiber .nw-family-gauge-panel { background:radial-gradient(circle at 50% 40%,rgba(186,252,255,.14),transparent 50%),linear-gradient(120deg,transparent 45%,rgba(95,220,255,.06) 50%,transparent 55%),rgba(5,8,24,.72); }
.theme-lte .nw-family-result-panel { background:linear-gradient(145deg,rgba(168,255,108,.045),rgba(78,134,255,.035)),rgba(5,8,24,.68); }
.theme-nbn .nw-family-result-panel { background:linear-gradient(145deg,rgba(110,231,255,.05),rgba(255,209,102,.035)),rgba(5,8,24,.68); }
.nw-family-special-control { margin:0 0 18px; padding:14px 16px; display:flex; gap:18px; align-items:center; justify-content:space-between; border:1px solid rgba(110,231,255,.15); border-radius:15px; background:rgba(7,12,30,.58); }
.nw-family-special-control label span { display:block; color:#f3f7ff; font-size:13px; font-weight:800; }
.nw-family-special-control label small { display:block; margin-top:3px; color:#8592b6; font-size:10px; }
.nw-family-special-control select { min-width:220px; padding:10px 12px; border:1px solid rgba(110,231,255,.2); border-radius:11px; color:#eef7ff; background:#0a1027; font:inherit; font-size:12px; }
.nw-speed-submenu.nw-speed-submenu-v141 { width:min(900px,92vw); grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; padding:12px; align-items:start; }
.nw-speed-menu-group { display:flex; flex-direction:column; gap:4px; min-width:0; }
.nw-speed-menu-group-label { display:block; padding:5px 10px 4px; color:#7788b2; font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.nw-speed-submenu.nw-speed-submenu-v141 .nw-speed-menu-group a { width:100%; }
@media (max-width:760px){
 .nw-speed-submenu.nw-speed-submenu-v141 { grid-template-columns:1fr; max-height:min(68vh,620px); overflow:auto; overscroll-behavior:contain; }
 .nw-speed-menu-group-label { padding-top:8px; }
 .nw-family-special-control { align-items:stretch; flex-direction:column; gap:10px; }
 .nw-family-special-control select { width:100%; min-width:0; }
}


/* === V1.42 Social Media Speed Test family + compact mobile closed menu === */
.nw-speed-family-page.theme-social { --family-a:#65f5ff; --family-b:#ff59c7; --family-c:#8a6cff; --family-soft:rgba(101,245,255,.12); }
.nw-speed-family-page.theme-instagram { --family-a:#ff8b5f; --family-b:#ff4bb8; --family-c:#8b5cff; --family-soft:rgba(255,75,184,.12); }
.nw-speed-family-page.theme-tiktok { --family-a:#55f6f2; --family-b:#ff5a8a; --family-c:#e9f7ff; --family-soft:rgba(85,246,242,.11); }
.nw-speed-family-page.theme-facebook { --family-a:#61a8ff; --family-b:#4fdcff; --family-c:#6678ff; --family-soft:rgba(97,168,255,.12); }
.nw-speed-family-page.theme-snapchat { --family-a:#ffe966; --family-b:#73f5ff; --family-c:#ff8bc7; --family-soft:rgba(255,233,102,.12); }
.nw-speed-family-page.theme-x { --family-a:#f6f8ff; --family-b:#7cecff; --family-c:#7488ff; --family-soft:rgba(246,248,255,.09); }
.nw-speed-family-page.theme-twitch { --family-a:#bf7cff; --family-b:#7b62ff; --family-c:#5ce8ff; --family-soft:rgba(191,124,255,.12); }
.nw-speed-family-page.theme-discord { --family-a:#9ba8ff; --family-b:#6d7dff; --family-c:#63dcff; --family-soft:rgba(155,168,255,.12); }
.nw-speed-family-page.theme-linkedin { --family-a:#5ca8ff; --family-b:#5ed8d2; --family-c:#6f7cff; --family-soft:rgba(92,168,255,.12); }
.nw-speed-family-page.theme-pinterest { --family-a:#ff6673; --family-b:#ff75bb; --family-c:#8c6cff; --family-soft:rgba(255,102,115,.12); }
.nw-speed-family-page.theme-reddit { --family-a:#ff9b5c; --family-b:#ff6b64; --family-c:#6bc9ff; --family-soft:rgba(255,155,92,.12); }
.nw-speed-family-page.theme-whatsapp { --family-a:#62eea8; --family-b:#54d9ff; --family-c:#65a4ff; --family-soft:rgba(98,238,168,.12); }
.nw-speed-family-page.theme-threads { --family-a:#eef2ff; --family-b:#d46cff; --family-c:#6bdfff; --family-soft:rgba(238,242,255,.10); }
.nw-speed-family-page.theme-telegram { --family-a:#57bfff; --family-b:#63e0ff; --family-c:#6d79ff; --family-soft:rgba(87,191,255,.12); }
.theme-social .nw-family-test-card::after { content:"SOC"; font-size:135px; bottom:-34px; font-weight:900; }
.theme-instagram .nw-family-test-card::after { content:"IG"; font-size:185px; bottom:-56px; font-weight:900; }
.theme-tiktok .nw-family-test-card::after { content:"TT"; font-size:185px; bottom:-56px; font-weight:900; }
.theme-facebook .nw-family-test-card::after { content:"FB"; font-size:185px; bottom:-56px; font-weight:900; }
.theme-snapchat .nw-family-test-card::after { content:"SC"; font-size:185px; bottom:-56px; font-weight:900; }
.theme-x .nw-family-test-card::after { content:"X"; font-size:245px; bottom:-86px; font-weight:900; }
.theme-twitch .nw-family-test-card::after { content:"TW"; font-size:180px; bottom:-54px; font-weight:900; }
.theme-discord .nw-family-test-card::after { content:"DC"; font-size:180px; bottom:-54px; font-weight:900; }
.theme-linkedin .nw-family-test-card::after { content:"LI"; font-size:190px; bottom:-58px; font-weight:900; }
.theme-pinterest .nw-family-test-card::after { content:"P"; font-size:245px; bottom:-86px; font-weight:900; }
.theme-reddit .nw-family-test-card::after { content:"R"; font-size:245px; bottom:-86px; font-weight:900; }
.theme-whatsapp .nw-family-test-card::after { content:"WA"; font-size:175px; bottom:-52px; font-weight:900; }
.theme-threads .nw-family-test-card::after { content:"TH"; font-size:180px; bottom:-54px; font-weight:900; }
.theme-telegram .nw-family-test-card::after { content:"TG"; font-size:180px; bottom:-54px; font-weight:900; }
.theme-social .nw-family-result-panel { background:linear-gradient(145deg,rgba(101,245,255,.045),rgba(255,89,199,.04)),rgba(5,8,24,.68); }
.theme-instagram .nw-family-result-panel { background:radial-gradient(circle at 92% 0%,rgba(255,139,95,.11),transparent 40%),linear-gradient(145deg,rgba(255,75,184,.055),rgba(139,92,255,.035)),rgba(5,8,24,.68); }
.theme-tiktok .nw-family-gauge-panel { background:linear-gradient(135deg,rgba(85,246,242,.055),transparent 48%),linear-gradient(315deg,rgba(255,90,138,.05),transparent 48%),rgba(5,8,24,.72); }
.theme-facebook .nw-family-gauge-panel { background:radial-gradient(circle at 50% 38%,rgba(97,168,255,.13),transparent 52%),rgba(5,8,24,.72); }
.theme-snapchat .nw-family-result-panel { background:linear-gradient(145deg,rgba(255,233,102,.065),rgba(115,245,255,.025)),rgba(5,8,24,.68); }
.theme-x .nw-family-gauge-panel { background:linear-gradient(90deg,rgba(246,248,255,.035) 1px,transparent 1px),linear-gradient(rgba(124,236,255,.03) 1px,transparent 1px),rgba(5,8,24,.72); background-size:30px 30px; }
.theme-twitch .nw-family-gauge { filter:drop-shadow(0 0 25px rgba(191,124,255,.18)); }
.theme-discord .nw-family-result-panel { background:linear-gradient(145deg,rgba(155,168,255,.06),rgba(99,220,255,.025)),rgba(5,8,24,.68); }
.theme-linkedin .nw-family-result-panel { background:linear-gradient(145deg,rgba(92,168,255,.05),rgba(94,216,210,.035)),rgba(5,8,24,.68); }
.theme-pinterest .nw-family-gauge { filter:drop-shadow(0 0 24px rgba(255,102,115,.16)); }
.theme-reddit .nw-family-result-panel { background:linear-gradient(145deg,rgba(255,155,92,.06),rgba(107,201,255,.025)),rgba(5,8,24,.68); }
.theme-whatsapp .nw-family-gauge-panel { background:radial-gradient(circle at 50% 38%,rgba(98,238,168,.12),transparent 52%),rgba(5,8,24,.72); }
.theme-threads .nw-family-result-panel { background:linear-gradient(145deg,rgba(238,242,255,.045),rgba(212,108,255,.035)),rgba(5,8,24,.68); }
.theme-telegram .nw-family-gauge-panel { background:radial-gradient(circle at 50% 38%,rgba(87,191,255,.13),transparent 52%),rgba(5,8,24,.72); }
.nw-social-platform-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.nw-speed-submenu.nw-speed-submenu-v142 { width:min(1120px,96vw); grid-template-columns:repeat(4,minmax(0,1fr)); max-height:min(78vh,760px); overflow:auto; overscroll-behavior:contain; }
@media (max-width:980px) and (min-width:761px){ .nw-speed-submenu.nw-speed-submenu-v142 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px){
  /* Critical V1.42 fix: closed nested Speed Test menu consumes ZERO layout height. */
  .nw-nav-links .nw-speed-submenu,
  .nw-nav-links .nw-speed-submenu.nw-speed-submenu-v141,
  .nw-nav-links .nw-speed-submenu.nw-speed-submenu-v142 { display:none !important; visibility:hidden !important; opacity:0 !important; pointer-events:none !important; margin-top:0 !important; }
  .nw-nav-links .nw-speed-menu.open > .nw-speed-submenu,
  .nw-nav-links .nw-speed-menu.open > .nw-speed-submenu.nw-speed-submenu-v141,
  .nw-nav-links .nw-speed-menu.open > .nw-speed-submenu.nw-speed-submenu-v142 { display:grid !important; visibility:visible !important; opacity:1 !important; pointer-events:auto !important; margin-top:5px !important; grid-template-columns:1fr !important; max-height:min(62vh,560px); overflow:auto; }
  .nw-social-platform-grid { grid-template-columns:1fr; }
}
