/* ==========================================================================
   Spexo — Speed Test Page
   Styles specific to the homepage test experience: hero, gauge, quick
   stats, results dashboard, live-throughput graph, and test history.
   ========================================================================== */

.hero{ display:grid; grid-template-columns:1fr; place-items:center; padding:14px 0 6px; text-align:center; }
.eyebrow{ font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.16em; color:var(--cyan); text-transform:uppercase; margin-bottom:10px; opacity:0.85; }
.hero h1{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(26px,4vw,40px); margin:0 0 8px; letter-spacing:-0.01em; }
.hero p{ color:var(--text-mid); max-width:540px; margin:0 auto 30px; font-size:15px; line-height:1.6; }

/* Desktop ad rails around the main speed gauge. Slots stay disabled until
   configured in Admin > Ad Management; the layout is sized around the
   standard 300x250 medium-rectangle format and remains responsive. */
.gauge-ad-layout{
  width:100%; display:grid; grid-template-columns:minmax(220px,300px) minmax(430px,1fr) minmax(220px,300px);
  align-items:center; justify-content:center; gap:24px; margin:4px auto 0;
}
.gauge-center{ display:flex; align-items:center; justify-content:center; min-width:0; }
.gauge-ad-rail{ display:flex; align-items:center; justify-content:center; min-width:0; }
.gauge-ad-slot{ width:min(300px,100%); min-height:250px; margin:0; border-radius:12px; }
.gauge-shell{ position:relative; width:min(430px, 88vw); aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; }
.gauge-shell canvas{ width:100%; height:100%; }

/* Status section — the numeric readout and phase badge sit inside the
   gauge's own open bottom wedge (the 90° gap between the 0 and 1000 tick
   marks where the arc track doesn't reach). The needle can never rotate
   into this gap — the value range only sweeps the 270° that has an arc —
   so this location is always clear of the needle regardless of reading. */
.status-section{
  position:absolute; left:50%; top:74%; transform:translate(-50%, -50%);
  display:flex; flex-direction:column; align-items:center; gap:4px;
  max-width:36%; pointer-events:none;
}
.status-value{ display:flex; align-items:baseline; gap:5px; }

.quick-stats{
  display:flex; align-items:center; justify-content:center; gap:28px; flex-wrap:wrap;
  margin-bottom:26px; padding-bottom:20px; border-bottom:1px solid var(--panel-border);
  width:min(520px, 92vw);
}
.quick-stat{ display:flex; flex-direction:column; align-items:center; gap:3px; min-width:64px; }
.quick-stat-icon{ width:26px; height:26px; display:flex; align-items:center; justify-content:center; border-radius:50%; margin-bottom:2px; }
.quick-stat-icon svg,.quick-stat-icon i{ width:15px; height:15px; }
.quick-ping{ color:var(--warn); background:rgba(255,180,84,0.1); }
.quick-jitter{ color:var(--violet); background:rgba(139,123,255,0.1); }
.quick-dl{ color:var(--cyan); background:rgba(45,217,232,0.1); }
.quick-ul{ color:var(--blue); background:rgba(63,123,255,0.1); }
.quick-stat-label{ font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-low); }
.quick-stat-value{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:17px; color:var(--text-hi); font-variant-numeric:tabular-nums; }
.quick-stat-unit{ font-family:'JetBrains Mono',monospace; font-size:9.5px; color:var(--text-low); margin-top:-2px; }

.isp-strip{
  margin-top:20px; display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap;
  font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--text-mid);
}
.isp-strip .isp-name{ color:var(--text-hi); font-weight:500; }
.isp-strip .isp-sep{ color:var(--text-low); }
.gauge-value{
  font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(22px,5.5vw,30px); line-height:1; letter-spacing:-0.02em;
  font-variant-numeric:tabular-nums; white-space:nowrap;
  color:var(--text-hi); /* always-visible fallback if gradient clipping isn't supported */
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .gauge-value{
    background:linear-gradient(180deg, var(--gauge-grad-1), var(--gauge-grad-2));
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
  }
}
.gauge-unit{ font-family:'JetBrains Mono',monospace; color:var(--text-mid); font-size:9.5px; letter-spacing:0.06em; align-self:flex-end; margin-bottom:3px; white-space:nowrap; }
.gauge-phase{
  font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-low);
  padding:3px 9px; border:1px solid var(--panel-border); border-radius:100px; background:var(--surface-hover-soft);
  transition:color .25s, border-color .25s; white-space:nowrap;
}
.gauge-phase.active{ color:var(--cyan); border-color:rgba(45,217,232,0.4); }
.gauge-phase.err{ color:var(--err); border-color:rgba(255,107,107,0.4); }

.controls{ display:flex; flex-direction:column; align-items:center; gap:16px; margin-top:22px; }
.start-btn{
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:17px; color:#03151a;
  background:linear-gradient(135deg, var(--grad-cyan), var(--grad-blue)); border:none; padding:16px 46px; border-radius:100px; cursor:pointer;
  box-shadow:0 8px 30px rgba(45,217,232,0.28), inset 0 1px 0 rgba(255,255,255,0.4);
  transition:transform .15s ease, box-shadow .15s ease, opacity .2s; letter-spacing:0.01em;
}
@media (hover:hover) and (pointer:fine){
  .start-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 34px rgba(45,217,232,0.4), inset 0 1px 0 rgba(255,255,255,0.4); }
}
.start-btn:active{ transform:translateY(0); }
.start-btn:disabled{ opacity:0.55; cursor:not-allowed; transform:none; }
.progress-track{ width:min(360px,80vw); height:5px; border-radius:100px; background:var(--hairline); overflow:hidden; position:relative; }
.progress-fill{ height:100%; width:0%; border-radius:100px; background:linear-gradient(90deg, var(--grad-blue), var(--grad-cyan)); transition:width .25s ease; }
.progress-fill.err{ background:linear-gradient(90deg, var(--err), #ff9a6b); }
.progress-label{ font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--text-low); letter-spacing:0.08em; text-transform:uppercase; min-height:16px; text-align:center; }

.dashboard{ margin-top:56px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
@media (max-width:1100px){
  .gauge-ad-layout{ grid-template-columns:1fr; gap:16px; }
  .gauge-center{ order:1; }
  .gauge-ad-left{ order:2; }
  .gauge-ad-right{ order:3; }
  .gauge-ad-rail{ width:min(100%,300px); margin:0 auto; }
}
@media (max-width:600px){
  .gauge-ad-rail{ display:none; }
}

@media (max-width:900px){ .dashboard{ grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:520px){ .dashboard{ grid-template-columns:1fr 1fr; gap:10px;} }

.card{
  background:var(--panel); border:1px solid var(--panel-border); border-radius:var(--radius-md); padding:18px 18px 16px;
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); position:relative; overflow:hidden; transition:border-color .3s;
}
.card::before{
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1px;
  background:linear-gradient(135deg, var(--hairline-hi), transparent 40%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none;
}
@media (hover:hover) and (pointer:fine){
  .card:hover{ border-color:var(--panel-border-hi); }
}
.card.wide{ grid-column:span 2; }

.card-label{ font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-low); display:flex; align-items:center; gap:7px; }
.card-label svg{ width:13px; height:13px; opacity:0.7; flex-shrink:0; }
.card-value{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:26px; margin-top:10px; color:var(--text-hi); font-variant-numeric:tabular-nums; line-height:1.1; }
.card-value span.unit{ font-size:13px; font-weight:500; color:var(--text-mid); margin-left:4px; font-family:'Inter',sans-serif;}
.card-sub{ font-size:12px; color:var(--text-low); margin-top:5px; font-family:'JetBrains Mono',monospace; word-break:break-word;}

/* ---- Modern dashboard cards: icon badge (left) + label text, above the
   value. Same layout language used by the connection-details chips below,
   so every card on the results dashboard now shares one consistent style. ---- */
.card-modern{ padding:20px 18px 18px; }
.card-modern .card-label{ gap:12px; }
.card-icon{
  width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center;
  border-radius:11px; border:1px solid var(--panel-border);
  background:var(--accent-tint, rgba(63,123,255,0.08)); color:var(--accent, var(--blue));
  box-shadow:0 4px 10px rgba(20,40,80,0.06);
}
.card-icon svg,.card-icon i{ width:18px; height:18px; opacity:1; }
.card-label-text{ font-size:10.5px; letter-spacing:0.1em; }

/* Per-metric accent — reuses the site's existing color tokens so this
   matches the rest of the theme (and flips correctly in light mode). */
.accent-card-cyan{ --accent:var(--cyan); --accent-tint:rgba(45,217,232,0.12); }
.accent-card-blue{ --accent:var(--blue); --accent-tint:rgba(63,123,255,0.12); }
.accent-card-violet{ --accent:var(--violet); --accent-tint:rgba(139,123,255,0.12); }
.accent-card-warn{ --accent:var(--warn); --accent-tint:rgba(255,180,84,0.12); }
.accent-card-ok{ --accent:var(--ok); --accent-tint:rgba(51,224,161,0.12); }

@media (hover:hover) and (pointer:fine){
  .card-modern:hover .card-icon{ transform:translateY(-1px); box-shadow:0 8px 16px rgba(20,40,80,0.1); }
}
.card-icon{ transition:transform .2s ease, box-shadow .2s ease; }

@media (max-width:520px){
  .card-modern{ padding:15px 13px 13px; }
  .card-icon{ width:32px; height:32px; flex-basis:32px; border-radius:9px; }
  .card-icon svg,.card-icon i{ width:15px; height:15px; }
}
.accent-cyan{ color:var(--cyan); }
.accent-blue{ color:var(--blue); }

.graph-card, .history-card{
  margin-top:12px; background:var(--panel); border:1px solid var(--panel-border); border-radius:var(--radius-lg);
  padding:22px 22px 18px; backdrop-filter:blur(18px);
}
.graph-head, .history-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; flex-wrap:wrap; gap:10px;}
.graph-title, .history-title{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15px; display:flex; align-items:center; gap:9px;}
.legend{ display:flex; gap:16px; }
.legend-item{ display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text-mid); font-family:'JetBrains Mono',monospace;}
.legend-dot{ width:9px; height:9px; border-radius:3px;}
.graph-canvas-wrap{ height:clamp(280px,32vw,430px); width:100%; }
/* Keep the graph card at the normal content width; the canvas plot itself
   expands across the complete chart area inside this box. */
.graph-card{ width:auto; margin-left:0; box-sizing:border-box; }
.graph-card .graph-canvas-wrap{ min-width:0; }
@media (max-width:700px){ .graph-canvas-wrap{height:250px;} }

/* history */
.history-stats{ display:flex; gap:22px; margin-bottom:16px; flex-wrap:wrap; }
.hstat{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--text-low);}
.hstat b{ color:var(--text-hi); font-size:15px; font-weight:600; display:block; font-family:'Space Grotesk',sans-serif; margin-bottom:2px;}
.history-controls{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.history-controls input, .history-controls select{
  background:var(--surface-hover-soft); border:1px solid var(--panel-border); color:var(--text-hi);
  border-radius:var(--radius-sm); padding:11px 14px; font-family:'Inter',sans-serif; font-size:13px; outline:none; min-height:44px;
}
.history-controls input{ flex:1; min-width:140px; }
.history-controls input:focus, .history-controls select:focus{ border-color:var(--panel-border-hi); }
.clear-btn{
  font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--err); background:rgba(255,107,107,0.08);
  border:1px solid rgba(255,107,107,0.3); padding:9px 14px; border-radius:var(--radius-sm); cursor:pointer; transition:background .2s;
}
@media (hover:hover) and (pointer:fine){
  .clear-btn:hover{ background:rgba(255,107,107,0.16); }
}

.history-table-wrap{ overflow-x:auto; border-radius:var(--radius-sm); border:1px solid var(--panel-border); }
table.history-table{ width:100%; border-collapse:collapse; min-width:680px; font-family:'JetBrains Mono',monospace; font-size:12.5px; }
table.history-table th{
  text-align:left; padding:10px 14px; color:var(--text-low); font-weight:500; text-transform:uppercase; letter-spacing:0.06em; font-size:10.5px;
  background:var(--surface-hover-soft); position:sticky; top:0; border-bottom:1px solid var(--panel-border);
}
table.history-table td{ padding:10px 14px; border-bottom:1px solid var(--hairline); color:var(--text-mid); white-space:nowrap; }
table.history-table tr:last-child td{ border-bottom:none; }
@media (hover:hover) and (pointer:fine){
  table.history-table tr:hover td{ background:var(--surface-hover-soft); color:var(--text-hi); }
}
.hist-empty{ text-align:center; padding:34px 12px; color:var(--text-low); font-family:'JetBrains Mono',monospace; font-size:12.5px; }
.hist-dl{ color:var(--cyan); }
.hist-ul{ color:var(--blue); }

.err-banner{
  display:none; margin-top:18px; padding:12px 18px; border-radius:var(--radius-sm); background:rgba(255,107,107,0.08);
  border:1px solid rgba(255,107,107,0.3); color:#ffb3b3; font-size:13px; max-width:520px; text-align:left; line-height:1.5;
}
.err-banner.show{ display:block; }

/* Editorial / informational sections that sit below the tool — good for
   original on-page content (helps with AdSense content-quality review). */
.info-section{ margin-top:36px; }
.info-section h2{ font-family:'Space Grotesk',sans-serif; font-size:22px; margin:0 0 18px; text-align:center; }
.info-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:800px){ .info-grid{ grid-template-columns:1fr; } }
.info-card{
  background:var(--panel); border:1px solid var(--panel-border); border-radius:var(--radius-md);
  padding:20px; backdrop-filter:blur(18px);
}
.info-card h3{ font-family:'Space Grotesk',sans-serif; font-size:15px; margin:0 0 8px; color:var(--text-hi); }
.info-card p{ font-size:13.5px; color:var(--text-mid); line-height:1.65; margin:0; }


/* Enhanced homepage visuals + six-stage measurement section */
.hero{ position:relative; isolation:isolate; }
.hero::after{ content:""; position:absolute; inset:auto 8% 4% auto; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle, rgba(45,217,232,.12), transparent 68%); filter:blur(6px); z-index:-1; pointer-events:none; }
.quick-stat{ transition:none; }
@media (hover:hover) and (pointer:fine){ .quick-stat:hover{ transform:none; border-color:transparent; box-shadow:none; background:transparent; } }
.measurement-section{ position:relative; padding:32px; border:1px solid var(--panel-border); border-radius:calc(var(--radius-md) + 6px); background:linear-gradient(145deg, rgba(255,255,255,.025), rgba(45,217,232,.035)); overflow:hidden; }
.measurement-section::before{ content:""; position:absolute; width:280px; height:280px; right:-110px; top:-140px; border-radius:50%; border:1px solid rgba(45,217,232,.12); pointer-events:none; }
.section-kicker{ margin:0 auto 10px; width:max-content; padding:7px 12px; border:1px solid var(--panel-border); border-radius:999px; color:var(--cyan); font:11px 'JetBrains Mono',monospace; letter-spacing:.12em; }
.measurement-section h2{ margin-bottom:10px; }
.section-intro{ max-width:760px; margin:0 auto 24px; text-align:center; color:var(--text-mid); line-height:1.65; }
.measurement-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.measurement-card{ min-height:190px; position:relative; overflow:hidden; padding:22px; transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.measurement-card::after{ content:""; position:absolute; right:-24px; bottom:-28px; width:96px; height:96px; border-radius:50%; background:radial-gradient(circle, rgba(45,217,232,.11), transparent 70%); pointer-events:none; }
.measurement-icon{ width:46px; height:46px; display:inline-flex; align-items:center; justify-content:center; margin-bottom:15px; border-radius:14px; color:var(--cyan); border:1px solid rgba(45,217,232,.28); background:rgba(45,217,232,.08); box-shadow:0 8px 20px rgba(0,0,0,.1); }
.measurement-icon svg,.measurement-icon i{ width:23px; height:23px; }
.measurement-card:nth-child(2) .measurement-icon,.measurement-card:nth-child(5) .measurement-icon{ color:var(--blue); border-color:rgba(80,120,255,.3); background:rgba(80,120,255,.08); }
.measurement-card:nth-child(3) .measurement-icon,.measurement-card:nth-child(6) .measurement-icon{ color:#a950f3; border-color:rgba(169,80,243,.3); background:rgba(169,80,243,.08); }
@media (hover:hover) and (pointer:fine){ .measurement-card:hover{ transform:translateY(-5px); border-color:rgba(45,217,232,.34); box-shadow:0 18px 42px rgba(0,0,0,.18); } }
.measurement-cta-wrap{ display:flex; justify-content:center; margin-top:26px; }
.measurement-cta{ display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:0 20px; border-radius:14px; text-decoration:none; color:#061218; background:linear-gradient(135deg, var(--grad-cyan), var(--grad-blue)); font-family:'Space Grotesk',sans-serif; font-weight:700; box-shadow:0 12px 28px rgba(45,217,232,.18); transition:transform .2s ease, filter .2s ease; }
.measurement-cta svg{ width:19px; height:19px; }
@media (hover:hover) and (pointer:fine){ .measurement-cta:hover{ transform:translateY(-2px); filter:brightness(1.05); } }
@media (max-width:1000px){ .measurement-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:800px){ .measurement-section{ padding:24px 18px; } .measurement-grid{ grid-template-columns:1fr; } .measurement-card{ min-height:0; } }
@media (max-width:480px){ .measurement-section{ padding:20px 14px; border-radius:var(--radius-md); } .section-intro{ font-size:13.5px; } .measurement-cta{ width:100%; justify-content:center; } }

/* Ad slot placeholders — swap the HTML comment inside for your real
   AdSense <ins> unit once your account is approved. Kept visually quiet
   so they don't fight with the tool's design. */
.ad-slot{
  margin:32px auto; max-width:100%; min-height:90px; display:flex; align-items:center; justify-content:center;
  border:1px dashed var(--panel-border); border-radius:var(--radius-sm); color:var(--text-low);
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase;
}

@media (max-width:600px){
  .dashboard{ margin-top:40px; }
}

/* Short viewports (phones in landscape orientation) — the gauge is the
   tallest single element on the page, so it's the one that needs to
   shrink to keep the whole hero usable without excessive scrolling. */
@media (max-height:480px) and (orientation:landscape){
  .gauge-shell{ width:min(260px, 42vh); }
  .hero{ padding:8px 0 4px; }
  .hero p{ margin-bottom:16px; }
  .quick-stats{ margin-bottom:16px; padding-bottom:12px; }
}

/* Large screens / smart TVs — let the gauge and dashboard breathe a bit
   more instead of staying capped at the same size used on a laptop. */
@media (min-width:1600px){
  .gauge-shell{ width:min(500px, 32vw); }
  .hero p{ max-width:620px; font-size:16px; }
  .dashboard{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .graph-canvas-wrap{ height:260px; }
}

/* ==========================================================================\n   Completed speed-test result popup\n   Reference-inspired layout: light grey result surface, cyan/blue metrics,\n   large GO control and compact network details. It appears only after a\n   successful test and leaves the existing dashboard untouched underneath.\n   ========================================================================== */
body.speed-result-open{ overflow:hidden; }
.speed-result-overlay{
  position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center;
  padding:18px; background:rgba(4,10,18,.68); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px);
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s ease, visibility .22s ease;
}
.speed-result-overlay.show{ opacity:1; visibility:visible; pointer-events:auto; }
.speed-result-modal{
  position:relative; width:min(960px,100%); max-height:calc(100vh - 36px); overflow:auto;
  background:#e7e7e7; color:#626262; border-radius:12px; padding:24px 26px 20px;
  box-shadow:0 24px 80px rgba(0,0,0,.38); font-family:'Inter',sans-serif;
  transform:translateY(10px) scale(.985); transition:transform .24s ease;
}
.speed-result-overlay.show .speed-result-modal{ transform:translateY(0) scale(1); }
.speed-result-close{
  position:absolute; top:10px; right:12px; width:32px; height:32px; border:0; border-radius:50%;
  background:rgba(0,0,0,.06); color:#666; font-size:24px; line-height:1; cursor:pointer;
}
.speed-result-close:hover{ background:rgba(0,0,0,.12); }
.speed-result-topline{ display:grid; grid-template-columns:1fr 1fr; gap:52px; padding:0 8%; }
.result-metric{ position:relative; text-align:center; padding-bottom:4px; }
.result-metric-icon{ display:inline-flex; width:23px; height:23px; vertical-align:middle; margin-right:7px; border-radius:50%; align-items:center; justify-content:center; }
.result-metric-icon svg{ width:21px; height:21px; }
.result-download .result-metric-icon{ color:#10c9d8; }
.result-upload .result-metric-icon{ color:#a950f3; }
.result-metric-label{ font-family:'Space Grotesk',sans-serif; font-size:19px; letter-spacing:.03em; color:#777; vertical-align:middle; }
.result-metric-label small{ font-size:12px; letter-spacing:0; color:#999; }
.result-metric strong{ display:block; font-family:'Space Grotesk',sans-serif; font-size:62px; line-height:.95; font-weight:300; color:#666; letter-spacing:-.045em; margin-top:7px; font-variant-numeric:tabular-nums; }
.result-download strong{ margin-left:8%; }
.result-upload strong{ margin-right:8%; }
.speed-result-main{ display:grid; grid-template-columns:205px 1fr; align-items:center; gap:28px; margin:0 3% 6px; }
.result-go{
  width:132px; height:132px; margin:0 auto; border-radius:50%; border:1.5px solid #08c8e0;
  display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-size:30px;
  color:#101820; background:rgba(255,255,255,.08);
}
.result-details h2{ margin:0 0 12px; color:#343434; font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:600; }
.result-ping-row{ display:flex; flex-wrap:wrap; align-items:center; gap:18px; font-size:13px; color:#777; }
.result-ping-row b{ color:#555; font-size:18px; font-weight:500; margin-left:4px; }
.result-ping-row small{ font-size:11px; color:#888; }
.result-down-small,.result-up-small{ display:inline-flex; align-items:center; gap:6px; }
.result-down-small i,.result-up-small i{ width:12px; height:12px; display:inline-block; border-radius:50%; border:2px solid currentColor; }
.result-down-small{ color:#0ccbd8; }.result-up-small{ color:#aa50f3; }
.result-device-row{ display:flex; gap:26px; margin-top:17px; }
.result-device-row>div{ display:flex; flex-direction:column; align-items:center; gap:2px; color:#111; font-size:9px; letter-spacing:1px; }
.result-device-icon{ width:47px; height:35px; display:flex; align-items:center; justify-content:center; color:#777; }
.result-device-icon svg{ width:43px; height:33px; }
.result-network-grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin:10px 0 18px; }
.result-network-item{ display:flex; align-items:center; gap:12px; min-width:0; }
.result-network-icon{ flex:0 0 48px; width:48px; height:48px; border:1px solid #bdbdbd; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#777; }
.result-network-icon svg{ width:27px; height:27px; }
.result-network-item b,.result-network-item small{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.result-network-item b{ font-size:16px; font-weight:400; color:#555; }
.result-network-item small{ margin-top:3px; font-size:14px; color:#777; }
.result-footer-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid #ccc; padding-top:14px; }
.result-nps strong{ display:block; color:#333; font-size:13px; letter-spacing:.04em; }
.result-nps span{ display:block; color:#888; font-size:11px; margin-top:3px; }
.result-actions{ display:flex; gap:8px; }
.result-action{ border-radius:6px; padding:9px 17px; font-family:'Space Grotesk',sans-serif; font-size:13px; cursor:pointer; }
.result-secondary{ border:1px solid #bcbcbc; background:transparent; color:#666; }
.result-primary{ border:1px solid #12bfe0; background:#10c9dc; color:#fff; }
.result-secondary:hover{ background:#dcdcdc; }.result-primary:hover{ filter:brightness(.96); }

@media (max-width:720px){
  .speed-result-modal{ padding:20px 16px 16px; }
  .speed-result-topline{ gap:10px; padding:0; }
  .result-metric-label{ font-size:13px; }.result-metric strong{ font-size:43px; }
  .speed-result-main{ grid-template-columns:1fr; gap:14px; margin:10px 0; }
  .result-go{ width:102px; height:102px; font-size:25px; }
  .result-details{ text-align:center; }.result-ping-row,.result-device-row{ justify-content:center; }
  .result-network-grid{ grid-template-columns:1fr; gap:10px; }
  .result-network-item{ padding:3px 8px; }
  .result-footer-row{ flex-direction:column; align-items:stretch; text-align:center; }
  .result-actions{ justify-content:center; }
}
@media (max-width:420px){
  .speed-result-overlay{ padding:8px; }
  .speed-result-modal{ max-height:calc(100vh - 16px); border-radius:10px; }
  .result-metric strong{ font-size:36px; }
  .result-ping-row{ gap:10px; font-size:12px; }
  .result-device-row{ gap:12px; }
}


/* ==========================================================================
   Public review system
   ========================================================================== */
.reviews-section{ margin:20px 0 24px; padding:24px; border:1px solid var(--panel-border); border-radius:var(--radius-md); background:var(--panel); }
.reviews-section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.reviews-section h2{ margin:4px 0 7px; font-family:'Space Grotesk',sans-serif; font-size:27px; color:var(--text-high); }
.reviews-section-head p{ margin:0; color:var(--text-mid); }
.reviews-summary{ min-width:150px; text-align:right; }
.reviews-summary strong{ display:block; font:700 30px/1 'Space Grotesk',sans-serif; color:var(--text-high); }
.reviews-summary span{ display:block; margin:6px 0 2px; letter-spacing:2px; color:#f5b83d; font-size:17px; }
.reviews-summary small{ color:var(--text-low); }
.reviews-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.review-card{ min-width:0; padding:20px; border:1px solid var(--panel-border); border-radius:16px; background:var(--bg-soft,var(--panel)); box-shadow:0 12px 30px rgba(0,0,0,.08); }
.review-card-stars{ color:#f5b83d; letter-spacing:2px; font-size:16px; }
.review-card-text{ margin:12px 0 18px; color:var(--text-mid); line-height:1.65; overflow-wrap:anywhere; }
.review-card-meta{ display:flex; justify-content:space-between; gap:12px; align-items:center; color:var(--text-low); font-size:12px; }
.review-card-meta strong{ color:var(--text-high); font-weight:600; }
.reviews-empty{ grid-column:1/-1; padding:24px; text-align:center; border:1px dashed var(--panel-border); border-radius:14px; color:var(--text-low); }

.result-review-section{ margin:4px 0 18px; padding:20px; border:1px solid #c9c9c9; border-radius:14px; background:rgba(255,255,255,.48); }
.result-review-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.result-review-kicker{ display:block; color:#8b8b8b; font:600 10px/1 'JetBrains Mono',monospace; letter-spacing:.12em; }
.result-review-head h3{ margin:7px 0 3px; color:#343434; font:600 21px/1.2 'Space Grotesk',sans-serif; }
.result-review-head p{ margin:0; color:#777; font-size:12px; }
.review-selected-rating{ padding:8px 11px; border:1px solid #d0d0d0; border-radius:999px; color:#777; font-size:12px; white-space:nowrap; }
.star-rating{ display:flex; gap:5px; margin:16px 0 13px; }
.star-btn{ width:40px; height:40px; border:1px solid #d2d2d2; border-radius:10px; background:#f4f4f4; color:#b7b7b7; font-size:23px; line-height:1; cursor:pointer; transition:transform .15s ease, color .15s ease, background .15s ease, border-color .15s ease; }
.star-btn:hover,.star-btn:focus-visible{ transform:translateY(-2px); color:#f5b83d; border-color:#f0c86d; outline:none; }
.star-btn.selected{ color:#f5b83d; background:#fff7df; border-color:#efca72; }
.review-form-grid{ display:grid; grid-template-columns:minmax(160px,.38fr) minmax(0,1fr); gap:10px; }
.review-input{ width:100%; box-sizing:border-box; border:1px solid #cfcfcf; border-radius:10px; padding:11px 12px; background:#fff; color:#444; font:14px/1.45 'Inter',sans-serif; outline:none; }
.review-input:focus{ border-color:#8a58e9; box-shadow:0 0 0 3px rgba(138,88,233,.11); }
.review-textarea{ resize:vertical; min-height:68px; }
.review-form-footer{ display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:11px; }
.review-form-status{ min-height:18px; color:#777; font-size:12px; }
#submitReviewBtn:disabled{ opacity:.55; cursor:not-allowed; }

@media (max-width:900px){ .reviews-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px){
  .reviews-section{ padding:20px; }
  .reviews-section-head{ align-items:flex-start; flex-direction:column; }
  .reviews-summary{ text-align:left; }
  .reviews-grid{ grid-template-columns:1fr; }
  .result-review-head{ flex-direction:column; }
  .review-form-grid{ grid-template-columns:1fr; }
  .review-form-footer{ align-items:flex-start; flex-direction:column; }
  #submitReviewBtn{ width:100%; }
}
@media (max-width:420px){
  .result-review-section{ padding:15px; }
  .star-btn{ width:36px; height:36px; font-size:20px; }
}

/* ==========================================================================\n   Final compact speed-test result popup\n   ========================================================================== */
.speed-result-overlay{padding:12px;}
.speed-result-modal{
  width:min(900px,100%);
  max-height:calc(100vh - 24px);
  overflow:hidden;
  padding:18px 22px 14px;
  border-radius:18px;
  background:linear-gradient(145deg,#eeeeee 0%,#e5e5e5 100%);
}
.speed-result-close{top:9px;right:10px;z-index:3;width:30px;height:30px;font-size:22px;}
.speed-result-main{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  align-items:center;
  gap:22px;
  margin:0 22px 12px;
}
.result-go-wrap{display:flex;justify-content:center;}
.result-go{
  width:142px;height:142px;padding:0;border-radius:50%;cursor:pointer;
  border:2px solid transparent;
  background:
    linear-gradient(#e9e9e9,#e9e9e9) padding-box,
    linear-gradient(145deg,#00cfe3 5%,#387cff 48%,#b44cff 95%) border-box;
  box-shadow:inset 0 0 0 8px rgba(255,255,255,.16),0 10px 28px rgba(49,101,211,.14);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#151a20;font-family:'Space Grotesk',sans-serif;
  transition:transform .18s ease,box-shadow .18s ease;
}
.result-go:hover{transform:scale(1.035);box-shadow:inset 0 0 0 8px rgba(255,255,255,.2),0 14px 32px rgba(49,101,211,.2);}
.result-go:focus-visible{outline:3px solid rgba(105,82,235,.3);outline-offset:4px;}
.result-go-value{font-size:31px;line-height:1;font-weight:500;letter-spacing:-.04em;}
.result-go-unit{font-size:10px;color:#7b7b7b;letter-spacing:.08em;margin-top:3px;}
.result-go-action{font-size:11px;font-weight:700;letter-spacing:.11em;color:#333;margin-top:9px;}
.result-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;}
.result-kicker{display:block;font:600 9px/1 'JetBrains Mono',monospace;letter-spacing:.12em;color:#8b8b8b;margin-bottom:5px;}
.result-details h2{margin:0;color:#303030;font:600 22px/1.1 'Space Grotesk',sans-serif;}
.result-mini-metrics{display:flex;gap:10px;flex-shrink:0;}
.result-mini-circle{
  width:102px;height:102px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;background:#e7e7e7;position:relative;
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.22);
}
.result-mini-circle:before{content:"";position:absolute;inset:-1px;border-radius:50%;border:2px solid currentColor;opacity:.95;}
.result-mini-circle strong{font:500 23px/1 'Space Grotesk',sans-serif;letter-spacing:-.03em;color:#555;}
.result-mini-circle small{font-size:8px;color:#8c8c8c;line-height:1;margin-top:2px;}
.result-mini-circle span{font:600 10px/1 'Space Grotesk',sans-serif;margin-top:5px;color:#555;}
.result-mini-circle em{font:normal 8px/1.1 'Inter',sans-serif;color:#858585;margin-top:4px;}
.result-mini-circle em b{font-weight:600;color:inherit;}
.result-mini-download{color:#0ccbd8;}.result-mini-upload{color:#a84ff1;}
.result-ping-row{display:flex;align-items:center;gap:22px;margin-top:13px;font-size:12px;color:#777;}
.result-ping-main b,.result-jitter b{font:500 18px/1 'Space Grotesk',sans-serif;color:#555;margin-right:2px;}
.result-ping-row small{font-size:9px;color:#888;}
.result-jitter:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#f0bb00;margin-right:6px;vertical-align:1px;}
.result-network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px;}
.result-network-item{min-width:0;display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:12px;background:rgba(255,255,255,.3);}
.result-network-icon{flex:0 0 38px;width:38px;height:38px;}
.result-network-icon svg{width:22px;height:22px;}
.result-network-item b{font-size:12px;color:#555;}
.result-network-item small{font-size:10px;color:#777;margin-top:2px;}
.result-review-section{margin:0 0 11px;padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.43);border:1px solid #c9c9c9;}
.result-review-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:9px;}
.result-review-kicker{font:600 8px/1 'JetBrains Mono',monospace;letter-spacing:.12em;color:#8b8b8b;}
.result-review-head h3{margin:4px 0 2px;font:600 15px/1.1 'Space Grotesk',sans-serif;color:#343434;}
.result-review-head p{margin:0;font-size:10px;color:#777;}
.review-inline-rating{display:flex;align-items:center;gap:3px;flex-shrink:0;}
.star-btn{width:27px;height:27px;border:0;border-radius:7px;background:transparent;color:#b9b9b9;font-size:19px;padding:0;}
.star-btn:hover,.star-btn:focus-visible{transform:none;color:#f5b83d;border-color:transparent;outline:0;background:#fff7df;}
.star-btn.selected{color:#f5b83d;background:#fff7df;}
.review-selected-rating{font-size:9px;color:#777;margin-left:5px;white-space:nowrap;}
.review-form-grid{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:8px;align-items:stretch;}
.review-input{border-radius:8px;padding:8px 10px;font-size:11px;min-height:35px;}
.review-textarea{min-height:35px;height:35px;resize:none;}
.result-review-section .result-action{height:35px;padding:7px 14px;font-size:11px;white-space:nowrap;}
.review-form-footer{margin-top:4px;min-height:12px;}
.review-form-status{font-size:9px;min-height:12px;}
.result-footer-row{padding-top:9px;border-top:1px solid #ccc;}
.result-nps strong{font-size:9px;}.result-nps span{font-size:8px;margin-top:2px;}
.result-actions{gap:6px;}.result-action{padding:7px 13px;font-size:10px;}

@media (max-width:760px){
  .speed-result-overlay{padding:7px;}
  .speed-result-modal{max-height:calc(100vh - 14px);padding:15px 13px 11px;border-radius:15px;}
  .speed-result-main{grid-template-columns:100px minmax(0,1fr);gap:12px;margin:0 5px 9px;}
  .result-go{width:94px;height:94px;}
  .result-go-value{font-size:22px;}.result-go-action{font-size:8px;margin-top:7px;}.result-go-unit{font-size:8px;}
  .result-title-row{display:block;}
  .result-details h2{font-size:17px;}
  .result-mini-metrics{margin-top:8px;gap:6px;}
  .result-mini-circle{width:82px;height:82px;}
  .result-mini-circle strong{font-size:18px;}.result-mini-circle span{font-size:8px;}.result-mini-circle em{font-size:7px;}
  .result-ping-row{margin-top:8px;gap:13px;}
  .result-network-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;}
  .result-network-item{padding:5px 5px;gap:6px;}
  .result-network-icon{flex-basis:30px;width:30px;height:30px;}.result-network-icon svg{width:18px;height:18px;}
  .result-network-item b{font-size:9px;}.result-network-item small{font-size:8px;}
  .result-review-section{padding:9px 10px;margin-bottom:8px;}
  .result-review-head{align-items:flex-start;gap:7px;}
  .result-review-head h3{font-size:13px;}.result-review-head p{font-size:8px;}
  .review-inline-rating{flex-wrap:wrap;justify-content:flex-end;max-width:170px;}
  .star-btn{width:23px;height:23px;font-size:16px;}.review-selected-rating{width:100%;text-align:right;margin:0;font-size:8px;}
  .review-form-grid{grid-template-columns:1fr 1.5fr auto;gap:5px;}
  .review-input{font-size:9px;padding:7px 8px;min-height:31px;}.review-textarea{height:31px;min-height:31px;}
  .result-review-section .result-action{height:31px;padding:5px 8px;font-size:9px;}
  .result-footer-row{padding-top:7px;}
}

@media (max-width:520px){
  .speed-result-modal{padding:13px 10px 9px;}
  .speed-result-main{grid-template-columns:78px minmax(0,1fr);gap:8px;margin:0 2px 7px;}
  .result-go{width:76px;height:76px;border-width:1.5px;}
  .result-go-value{font-size:18px;}.result-go-action{font-size:7px;}.result-go-unit{font-size:7px;}
  .result-kicker{font-size:7px;}.result-details h2{font-size:14px;}
  .result-mini-metrics{gap:4px;}.result-mini-circle{width:68px;height:68px;}
  .result-mini-circle:before{border-width:1.5px;}.result-mini-circle strong{font-size:14px;}.result-mini-circle span{font-size:7px;margin-top:3px;}.result-mini-circle em{font-size:6px;margin-top:2px;}
  .result-ping-row{font-size:9px;gap:8px;}.result-ping-main b,.result-jitter b{font-size:14px;}
  .result-network-grid{grid-template-columns:1fr 1fr 1fr;}
  .result-network-item{padding:4px 3px;gap:4px;}.result-network-icon{display:none;}
  .result-network-item b{font-size:8px;}.result-network-item small{font-size:7px;}
  .result-review-head{display:block;}.review-inline-rating{justify-content:flex-start;margin-top:5px;max-width:none;flex-wrap:nowrap;}.review-selected-rating{width:auto;margin-left:4px;text-align:left;}
  .review-form-grid{grid-template-columns:1fr 1fr;}.review-form-grid .result-action{grid-column:1/-1;width:100%;}
  .result-nps span{display:none;}
}

/* Reviews: four visible cards, with the remaining saved reviews moving through a carousel. */
.reviews-carousel{position:relative;display:flex;align-items:center;gap:10px;}
.reviews-viewport{position:relative;overflow:hidden;flex:1;min-width:0;padding:3px 0 7px;}
.reviews-grid{display:flex;grid-template-columns:none;gap:14px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform;}
.review-card{flex:0 0 var(--review-card-width,calc((100% - 42px)/4));box-sizing:border-box;}
.reviews-nav{width:38px;height:38px;flex:0 0 38px;border:1px solid var(--panel-border);border-radius:50%;background:var(--bg-soft,var(--panel));color:var(--text-high);font-size:27px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:transform .15s ease,opacity .15s ease,background .15s ease;}
.reviews-nav:hover:not(:disabled){transform:scale(1.06);}
.reviews-nav:disabled{opacity:.3;cursor:not-allowed;}
.reviews-carousel-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;color:var(--text-low);font-size:11px;}
.reviews-dots{display:flex;align-items:center;gap:5px;}
.review-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:var(--text-low);opacity:.35;cursor:pointer;}
.review-dot.active{opacity:1;transform:scale(1.2);}
.reviews-carousel.is-empty .reviews-nav,.reviews-carousel.is-empty + .reviews-carousel-meta{display:none;}
@media (max-width:980px){.review-card{flex-basis:var(--review-card-width,calc((100% - 14px)/2));}}
@media (max-width:640px){
  .reviews-section{padding:20px 15px;}
  .reviews-section-head{align-items:flex-start;flex-direction:column;gap:14px;}
  .reviews-summary{text-align:left;}
  .reviews-carousel{gap:5px;}
  .reviews-nav{width:31px;height:31px;flex-basis:31px;font-size:23px;}
  .review-card{flex-basis:var(--review-card-width,100%);}
  .reviews-carousel-meta{font-size:10px;}
}

/* Final review card treatment: flat cards, no shadow, green-to-soft-purple gradient. */
.reviews-section .review-card{
  background:linear-gradient(135deg, rgba(51,224,161,.78) 0%, rgba(164,180,220,.78) 52%, rgba(139,123,255,.78) 100%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:none;
  color:#07151a;
}
.reviews-section .review-card-text{color:rgba(7,21,26,.82);}
.reviews-section .review-card-meta{color:rgba(7,21,26,.68);}
.reviews-section .review-card-meta strong{color:#07151a;}
.reviews-section .review-card-stars{color:#f5c400;}

/* Rebuilt content spacing and value section */
.values-section{margin-top:30px;}
.values-section .eyebrow{text-align:center;margin-bottom:8px;}
.values-grid{grid-template-columns:repeat(4,1fr);}
@media (max-width:1000px){.values-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.values-grid{grid-template-columns:1fr;}}
.graph-canvas-wrap canvas{display:block;width:100%;height:100%;}

/* Home dashboard refinement: six primary metric cards + compact connection details. */
.connection-details{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:0;}
.detail-chip{display:flex;align-items:center;gap:10px;min-width:0;padding:13px 14px;border:1px solid var(--panel-border);border-radius:var(--radius-md);background:var(--surface-hover-soft);color:var(--text-mid);}
.detail-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid var(--panel-border);border-radius:10px;color:var(--accent, var(--cyan));background:var(--accent-tint, rgba(51,224,161,.06));box-shadow:0 4px 10px rgba(20,40,80,0.06);}
.detail-icon svg,.detail-icon i{width:15px;height:15px;}
.detail-chip span:last-child{display:flex;flex-direction:column;min-width:0;}
.detail-chip b{font:600 9px/1.2 'JetBrains Mono',monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--text-low);}
.detail-chip strong{margin-top:3px;color:var(--text-hi);font:600 13px/1.25 'Space Grotesk',sans-serif;overflow-wrap:anywhere;}
.detail-chip small{margin-top:2px;color:var(--text-low);font-size:10px;line-height:1.35;overflow-wrap:anywhere;}
.history-pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;flex-wrap:wrap;}
.history-page-btn{min-width:38px;height:38px;padding:0 11px;border:1px solid var(--panel-border);border-radius:10px;background:var(--surface-hover-soft);color:var(--text-mid);font:600 12px 'JetBrains Mono',monospace;cursor:pointer;}
.history-page-btn:hover:not(:disabled){border-color:var(--panel-border-hi);color:var(--text-hi);}
.history-page-btn.active{background:linear-gradient(135deg,rgba(51,224,161,.18),rgba(139,123,255,.18));color:var(--text-hi);border-color:var(--panel-border-hi);}
.history-page-btn:disabled{opacity:.4;cursor:not-allowed;}
.history-page-info{font:11px 'JetBrains Mono',monospace;color:var(--text-low);margin:0 8px;}
.overall-badge{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:92px;padding:5px 9px;border-radius:999px;font:600 11px 'JetBrains Mono',monospace;line-height:1;border:1px solid transparent;white-space:nowrap;}
.overall-badge i{font-size:12px;line-height:1;}
.overall-badge.excellent{color:#087a4b;background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.28);}
.overall-badge.good{color:#3f8f62;background:rgba(134,239,172,.16);border-color:rgba(134,239,172,.32);}
.overall-badge.warning{color:#a66a00;background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.30);}
.history-page-btn i{pointer-events:none;}

@media (max-width:900px){.connection-details{grid-template-columns:1fr;}}
@media (max-width:520px){.dashboard{grid-template-columns:1fr 1fr;gap:10px;}.connection-details{grid-template-columns:1fr;}.detail-chip{padding:12px;}}

/* Cross-device hardening */
html{overflow-x:hidden;}
img,svg,canvas,video{max-width:100%;}
button,input,select,textarea{max-width:100%;}
@media(max-width:700px){
  .wrap{width:100%;box-sizing:border-box;}
  .graph-card,.history-card{padding:16px 14px;}
  .graph-head,.history-head{align-items:flex-start;}
  .controls{width:100%;}
  .start-btn{width:min(100%,360px);padding:14px 28px;}
  .progress-track{width:min(100%,360px);}
}
@media(max-width:520px){
  .hero{padding-top:8px;}
  .hero p{font-size:14px;margin-bottom:22px;}
  .gauge-shell{width:min(360px,94vw);}
  .dashboard{grid-template-columns:1fr 1fr!important;}
  .card{padding:14px 12px;}
  .card-value{font-size:22px;}
  .connection-details{gap:10px;}
  .history-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .history-actions{flex-wrap:wrap;}
}
@media(max-width:380px){
  .dashboard{grid-template-columns:1fr!important;}
  .quick-stats{gap:16px;width:100%;}
  .gauge-shell{width:92vw;}
}

/* ==========================================================================
   Branded single-test report — reference layout
   ========================================================================== */
.report-modal{
  width:min(1180px,100%);
  max-height:calc(100vh - 28px);
  overflow:auto;
  padding:18px 28px 20px;
  border:1px solid #d9e1ee;
  border-radius:20px;
  background:#fff;
  box-shadow:0 24px 70px rgba(15,35,70,.18);
  color:#0f1a2e;
}
.report-header{text-align:center;padding:8px 30px 18px;background:radial-gradient(circle at 50% 0,rgba(37,116,220,.08),transparent 58%);border-radius:16px}.report-logo{width:min(360px,58vw);height:auto;margin:0 auto 8px;display:block}.report-brand-logo{filter:drop-shadow(0 8px 18px rgba(13,82,165,.12))}.report-header h2{margin:0;font:800 clamp(24px,3vw,42px)/1.05 'Space Grotesk',sans-serif;letter-spacing:.01em;color:#10234d}.report-header>p{margin:8px 0 0;font-size:15px;color:#5a6477}.report-rule{display:flex;align-items:center;justify-content:center;gap:12px;margin:11px auto 0;max-width:470px;color:#2374dc}.report-rule span{height:2px;flex:1;background:#2374dc}.report-rule b{font-size:19px}
.report-meta-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #d8e3f1;border-radius:16px;padding:18px 14px;margin:2px 0 16px;background:#fff}.report-meta-item{display:flex;align-items:center;gap:10px;padding:0 14px;border-right:1px dashed #cbd5e3;min-width:0}.report-meta-item:last-child{border-right:0}.report-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:0 0 42px;background:linear-gradient(145deg,#0e82df,#2764c9);color:#fff;font-size:20px;font-weight:700}.report-meta-item div{min-width:0}.report-meta-item b,.report-meta-item span{display:block}.report-meta-item b{font-size:12px;color:#101522;margin-bottom:4px}.report-meta-item span{font-size:12px;color:#28334a;overflow-wrap:anywhere}
.report-section{position:relative;border:1px solid #d8e3f1;border-radius:16px;margin:18px 0;padding:28px 18px 18px;background:#fff}.report-section-tab{position:absolute;left:-1px;top:-1px;background:linear-gradient(90deg,#1766c9,#1e75dc);color:#fff;padding:7px 36px;border-radius:14px 14px 0 0;font-size:12px;font-weight:800;letter-spacing:.02em}.report-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2px}.report-detail-item{display:flex;gap:12px;align-items:center;padding:7px 20px;border-right:1px dashed #cbd5e3;min-width:0}.report-detail-item:last-child{border-right:0}.report-detail-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#173d91,#1d7de0);font-weight:700;flex:0 0 42px}.report-detail-item b,.report-detail-item span{display:block}.report-detail-item b{font-size:14px;color:#111827;margin-bottom:4px}.report-detail-item span{font-size:13px;color:#263248;overflow-wrap:anywhere}
.report-results-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:4px}.report-result-card{border:1px solid #d9e2ef;border-radius:14px;padding:17px 10px 14px;text-align:center;min-width:0;background:linear-gradient(180deg,#fff,#fbfdff)}.report-result-card h3{margin:0 0 13px;font-size:13px;color:#111a2e}.report-result-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:linear-gradient(145deg,#0d82e6,#2a6bd2);color:#fff;font-size:42px;line-height:1;font-weight:700}.report-result-card strong{display:block;font:800 21px/1.1 'Space Grotesk',sans-serif;color:#1762c5}.report-result-card small{display:block;margin-top:9px;color:#5d6678;font-size:11px}.report-upload-card .report-result-icon{background:linear-gradient(145deg,#3168d7,#7c55df)}.report-upload-card strong{color:#6a54d9}.report-status-complete{color:#0b9a4d!important}
.report-bottom-note{display:grid;grid-template-columns:1.35fr 1fr;border:1px solid #d8e3f1;border-radius:16px;margin:18px 0;padding:16px 20px;gap:20px}.report-note-item{display:flex;align-items:center;gap:15px;color:#17233a;font-size:12px;line-height:1.55}.report-note-item+.report-note-item{border-left:1px dashed #cbd5e3;padding-left:22px}.report-note-icon{width:42px;height:42px;border-radius:50%;background:#edf3f9;color:#1762c5;display:grid;place-items:center;font-size:21px;flex:0 0 42px}.report-note-item p{margin:0}.report-note-item small{color:#5e687a}.report-review-section{margin:18px 0 12px;padding:14px 18px;border:1px solid #d8e3f1;border-radius:16px;background:#fbfdff}.report-review-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.report-review-head>div:first-child>span{font:700 10px/1 'JetBrains Mono',monospace;color:#7c8798;letter-spacing:.1em}.report-review-head h3{margin:6px 0 2px;font-size:18px}.report-review-head p{margin:0;color:#687286;font-size:12px}.report-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.report-actions .result-action{min-width:130px}
@media(max-width:1050px){.report-meta-grid{grid-template-columns:repeat(3,1fr);gap:16px}.report-meta-item:nth-child(3){border-right:0}.report-results-grid{grid-template-columns:repeat(3,1fr)}.report-detail-grid{grid-template-columns:repeat(2,1fr)}.report-detail-item:nth-child(2){border-right:0}.report-bottom-note{grid-template-columns:1fr}.report-note-item+.report-note-item{border-left:0;border-top:1px dashed #cbd5e3;padding:14px 0 0}}
@media(max-width:680px){.report-modal{padding:12px 10px 14px;border-radius:14px}.report-header{padding:4px 8px 10px}.report-logo{width:190px}.report-header h2{font-size:22px}.report-header>p{font-size:12px}.report-meta-grid{grid-template-columns:1fr 1fr;padding:12px 8px}.report-meta-item{border-right:0;padding:5px 6px}.report-meta-item:nth-child(odd){border-right:1px dashed #cbd5e3}.report-meta-item:nth-child(n+3){border-top:1px dashed #cbd5e3}.report-section{padding:30px 10px 10px}.report-detail-grid{grid-template-columns:1fr}.report-detail-item,.report-detail-item:nth-child(2){border-right:0;border-bottom:1px dashed #cbd5e3;padding:10px 6px}.report-detail-item:last-child{border-bottom:0}.report-results-grid{grid-template-columns:1fr 1fr;gap:10px}.report-result-card{padding:13px 7px}.report-result-icon{width:52px;height:52px;font-size:34px}.report-result-card strong{font-size:17px}.report-bottom-note{padding:12px}.report-review-head{align-items:flex-start;flex-direction:column}.report-actions{flex-direction:column}.report-actions .result-action{width:100%}}
@media(max-width:420px){.report-results-grid{grid-template-columns:1fr}.report-meta-grid{grid-template-columns:1fr}.report-meta-item,.report-meta-item:nth-child(odd){border-right:0}.report-meta-item:not(:first-child){border-top:1px dashed #cbd5e3}.report-header h2{font-size:19px}}

/* Report icon fix: inline SVGs do not depend on emoji/symbol fonts. */
.report-icon svg,.report-icon i,.report-detail-icon svg,.report-detail-icon i,.report-result-icon svg,.report-result-icon i{width:58%;height:58%;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.report-logo{object-fit:contain;max-width:100%;background:transparent}
.report-logo.is-fallback{width:min(320px,55vw)}


/* Premium homepage result treatment + database report lookup */
.dashboard{position:relative}.dashboard .card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.dashboard .card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(28,55,100,.10);border-color:rgba(39,116,220,.28)}
.connection-details .detail-chip{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(240,246,253,.96));box-shadow:0 8px 22px rgba(28,55,100,.05)}
.report-modal{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}.report-meta-grid,.report-section,.report-bottom-note{box-shadow:0 10px 28px rgba(25,54,100,.045)}.report-result-card{transition:transform .2s ease,box-shadow .2s ease}.report-result-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(25,54,100,.10)}
.report-lookup{margin:14px 0 16px;padding:18px 20px;border:1px solid var(--panel-border);border-radius:16px;background:linear-gradient(135deg,rgba(35,116,220,.08),rgba(44,189,214,.06));display:grid;grid-template-columns:1fr minmax(300px,460px);gap:14px;align-items:center}.lookup-kicker{display:block;font:700 10px 'JetBrains Mono',monospace;letter-spacing:.12em;color:var(--cyan);margin-bottom:5px}.report-lookup strong{display:block;color:var(--text-hi);font:700 16px 'Space Grotesk',sans-serif}.report-lookup small{display:block;margin-top:4px;color:var(--text-low)}.report-lookup-form{display:flex;gap:8px}.report-lookup-form input{flex:1;min-width:0;border:1px solid var(--panel-border);border-radius:10px;padding:12px 13px;background:var(--surface);color:var(--text-hi);font-family:'JetBrains Mono',monospace;text-transform:uppercase}.report-lookup-form button{border:0;border-radius:10px;padding:0 16px;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#fff;font-weight:700;cursor:pointer}.report-lookup-form button:disabled{opacity:.65;cursor:wait}.report-lookup-result{grid-column:1/-1;min-height:0;color:var(--text-mid);font-size:13px}.report-found-card{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;border:1px solid rgba(37,116,220,.22);background:rgba(255,255,255,.75);border-radius:12px;padding:12px 14px;color:var(--text-hi);cursor:pointer}.report-found-card span{display:flex;flex-direction:column;gap:4px}.report-found-card b{font-family:'JetBrains Mono',monospace}.report-found-card small{color:var(--text-low)}.report-found-card strong{color:var(--cyan);white-space:nowrap}@media(max-width:760px){.report-lookup{grid-template-columns:1fr}.report-lookup-form{flex-direction:column}.report-lookup-form button{height:44px}}

/* Homepage review CTA + dedicated review popup */
.write-review-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:11px;padding:9px 14px;border:0;border-radius:999px;background:linear-gradient(135deg,#1766c9,#2a7ee6);color:#fff;font:700 12px/1 'Inter',sans-serif;box-shadow:0 8px 20px rgba(23,102,201,.22);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;}
.write-review-btn:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(23,102,201,.3)}
.review-modal-overlay{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.55);backdrop-filter:blur(8px);}
.review-modal-overlay.show{display:flex;}
.review-modal{position:relative;width:min(500px,100%);padding:30px;border-radius:22px;background:linear-gradient(145deg,#fff,#f7faff);border:1px solid rgba(255,255,255,.8);box-shadow:0 28px 80px rgba(0,0,0,.28);}
.review-modal-close{position:absolute;top:12px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:#eef3fa;color:#52606f;font-size:24px;cursor:pointer;}
.review-modal-kicker{font:700 10px/1 'JetBrains Mono',monospace;letter-spacing:.14em;color:#2b72cf;}
.review-modal h3{margin:9px 0 6px;color:#17243b;font:700 27px/1.1 'Space Grotesk',sans-serif;}
.review-modal>p{margin:0 0 18px;color:#687386;font-size:13px;line-height:1.55;}
.homepage-star-rating{display:flex;gap:8px;margin:0 0 18px;}
.homepage-star-btn{width:48px;height:48px;border:1px solid #d7e0ec;border-radius:13px;background:#fff;color:#b6c0ce;font-size:25px;cursor:pointer;transition:all .18s ease;}
.homepage-star-btn:hover,.homepage-star-btn.selected{color:#f5b83d;background:#fff8e8;border-color:#f2cf7c;transform:translateY(-2px);}
.review-modal .review-input{margin-bottom:10px;}
.review-modal .review-textarea{height:120px;resize:vertical;}
.homepage-review-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:5px;font-size:12px;color:#687386;}
.write-review-submit{padding:11px 17px;border:0;border-radius:10px;background:linear-gradient(135deg,#1766c9,#2a7ee6);color:#fff;font-weight:700;cursor:pointer;}
.write-review-submit:disabled{opacity:.6;cursor:not-allowed;}
.report-latency-grid .report-detail-item{min-height:68px;}
.report-latency-icon{width:62px;height:62px;flex-basis:62px;background:linear-gradient(145deg,#0d82e6,#2a6bd2);}
.report-download-latency-icon{background:linear-gradient(145deg,#0d82e6,#2a6bd2);}
.report-upload-latency-icon{background:linear-gradient(145deg,#3168d7,#7c55df);}
.report-latency-grid .report-detail-item b{font-size:13px;letter-spacing:.02em;}
.report-latency-grid .report-detail-item span span{display:inline;color:#263248;font-weight:700;}
@media(max-width:680px){.reviews-summary{width:100%;}.write-review-btn{margin-top:9px}.homepage-review-actions{align-items:flex-start;flex-direction:column}.write-review-submit{width:100%}.homepage-star-btn{width:42px;height:42px}.report-latency-icon{width:52px;height:52px;flex-basis:52px}}


/* ===== Spexo report popup V5: exact code implementation of approved design ===== */
.speed-result-modal.report-modal{width:min(1380px,calc(100vw - 32px));max-height:calc(100vh - 18px);padding:30px 30px 22px;background:linear-gradient(135deg,#fff 0%,#f9fbff 52%,#fff 100%);border:1px solid #dbe5f0;border-radius:22px;color:#22324c}
.report-header-v5{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start;text-align:left;padding:10px 28px 22px;background:radial-gradient(circle at 70% 5%,rgba(37,116,220,.11),transparent 36%);border-radius:18px}
.report-brand-area{text-align:left}.report-brand-area .report-logo{width:min(360px,100%);margin:0 0 20px}.report-brand-area h2{font-size:clamp(26px,3vw,40px);letter-spacing:.015em;text-align:left}.report-brand-area .report-rule{margin:15px 0 0;max-width:370px;justify-content:flex-start}.report-brand-area>p{text-align:left;margin-top:12px;font-size:16px}
.report-header-actions{display:flex;flex-direction:column;align-items:center;gap:20px;padding:0 6px}.report-run-again{display:flex;align-items:center;gap:18px;border:0;background:transparent;padding:0;color:#20304b;cursor:pointer;text-align:left}.report-run-circle{width:140px;height:140px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#214b99,#2b83d9);border:5px solid #edf4ff;outline:3px solid #5674ca;box-shadow:0 14px 30px rgba(39,92,183,.24);color:#fff;transition:transform .2s ease,box-shadow .2s ease}.report-run-again:hover .report-run-circle{transform:translateY(-3px) rotate(1deg);box-shadow:0 18px 34px rgba(39,92,183,.3)}.report-run-circle strong{font:800 28px/1 'Space Grotesk',sans-serif}.report-run-circle small{font-size:14px;font-weight:700;margin-top:6px}.report-run-circle i{font-style:normal;font-size:27px;line-height:1;margin-top:8px}.report-run-copy{display:flex;flex-direction:column;gap:8px}.report-run-copy b{font-size:20px}.report-run-copy small{font-size:14px;line-height:1.55;color:#5d6980}.report-print-button{min-width:250px;padding:17px 22px;border:1px solid #ccd9e8;border-radius:12px;background:#fff;color:#34445d;font:600 16px/1 'Inter',sans-serif;box-shadow:0 8px 20px rgba(25,54,100,.05);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.report-print-button:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(25,54,100,.12)}.report-print-button span{font-size:21px;margin-right:10px;color:#1f5fb7}
.report-meta-grid{margin:0 0 16px;padding:24px 18px;border-radius:18px}.report-meta-item{padding:0 16px}.report-icon{width:68px;height:68px;flex-basis:68px;background:linear-gradient(145deg,#1f75d4,#244c9c);box-shadow:0 10px 20px rgba(31,94,184,.16)}.report-icon svg{width:46%;height:46%;stroke:#fff}.report-meta-item b{font-size:14px;margin-bottom:7px}.report-meta-item span{font-size:14px;line-height:1.45}
.report-section{border-radius:18px;padding:38px 24px 20px;margin:16px 0;background:linear-gradient(180deg,#fbfdff,#fff)}.report-section-tab{border-radius:16px 16px 0 0;min-width:200px;padding:11px 26px;font-size:14px;letter-spacing:.02em;background:linear-gradient(135deg,#184d9b,#287bd6);box-shadow:0 8px 20px rgba(30,91,180,.16)}
.report-results-grid{gap:22px}.report-result-card{border-radius:18px;padding:22px 12px 18px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.report-result-card h3{font-size:15px;margin-bottom:18px}.report-result-icon{width:82px;height:82px;margin-bottom:18px;box-shadow:0 12px 24px rgba(35,92,181,.18)}.report-result-card strong{font-size:24px}.report-result-card small{font-size:13px;margin-top:11px}
.report-detail-grid.report-latency-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.report-latency-grid .report-detail-item{min-height:170px;border:1px solid #d9e2ef;border-radius:18px;padding:18px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#fff,#fbfdff)}.report-latency-grid .report-detail-item>div{display:flex;flex-direction:column;align-items:center;gap:7px}.report-latency-icon{width:62px;height:62px;flex-basis:62px;display:grid;place-items:center;border-radius:50%;box-shadow:0 10px 20px rgba(35,92,181,.16)}.report-latency-icon svg{width:50%;height:50%;stroke:#fff}.report-latency-grid .report-detail-item b{font-size:14px}.report-latency-grid .report-detail-item>div>span{font:800 20px/1.1 'Space Grotesk',sans-serif;color:#24579d}.report-latency-grid .report-detail-item small{font-size:12px;color:#667286}
.report-bottom-note{margin:14px 0 0;padding:16px 24px;border-radius:18px}.report-note-icon{width:48px;height:48px;flex-basis:48px;background:#edf4fb;color:#1e5cac;font-size:24px}
@media(max-width:1050px){.speed-result-modal.report-modal{width:min(100%,calc(100vw - 18px));padding:22px 18px}.report-header-v5{grid-template-columns:1fr;gap:18px}.report-header-actions{flex-direction:row;justify-content:space-between;align-items:center}.report-print-button{min-width:220px}.report-detail-grid.report-latency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.speed-result-overlay{padding:6px}.speed-result-modal.report-modal{width:100%;max-height:100vh;border-radius:14px;padding:16px 10px}.report-header-v5{padding:6px 8px 16px}.report-brand-area .report-logo{width:230px;margin-bottom:14px}.report-brand-area h2{font-size:24px}.report-brand-area>p{font-size:13px}.report-header-actions{flex-direction:column;align-items:stretch;gap:14px}.report-run-again{justify-content:center}.report-run-circle{width:112px;height:112px}.report-run-circle strong{font-size:23px}.report-run-copy b{font-size:18px}.report-print-button{width:100%;min-width:0}.report-meta-grid{grid-template-columns:1fr 1fr;padding:14px 8px}.report-icon{width:54px;height:54px;flex-basis:54px}.report-meta-item{padding:8px 7px}.report-results-grid{grid-template-columns:1fr 1fr;gap:10px}.report-result-card{min-height:195px;padding:16px 8px}.report-result-icon{width:66px;height:66px}.report-result-card strong{font-size:19px}.report-detail-grid.report-latency-grid{grid-template-columns:1fr 1fr;gap:10px}.report-latency-grid .report-detail-item{min-height:150px}.report-bottom-note{padding:13px}.report-note-item{font-size:11px}}
@media(max-width:430px){.report-brand-area h2{font-size:20px}.report-run-circle{width:98px;height:98px}.report-run-circle strong{font-size:20px}.report-run-copy small{font-size:12px}.report-results-grid,.report-detail-grid.report-latency-grid{grid-template-columns:1fr}.report-meta-grid{grid-template-columns:1fr}.report-result-card{min-height:0}.report-latency-grid .report-detail-item{min-height:130px}.report-note-item+.report-note-item{padding-top:10px}}


/* ===== Spexo report popup V6: centered viewport modal + true icon centering ===== */
.speed-result-overlay{align-items:center!important;justify-content:center!important;padding:18px!important;}
.speed-result-modal.report-modal{
  width:min(1320px,calc(100vw - 36px))!important;
  max-height:calc(100vh - 36px)!important;
  overflow:hidden!important;
  margin:auto!important;
  padding:22px 24px 16px!important;
}
.report-icon,.report-result-icon,.report-latency-icon{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:0!important;
}
.report-icon svg,.report-icon i,.report-result-icon svg,.report-result-icon i,.report-latency-icon svg,.report-latency-icon i{
  position:absolute!important;
  inset:0!important;
  width:52%!important;
  height:52%!important;
  max-width:52%!important;
  max-height:52%!important;
  margin:auto!important;
  display:block!important;
  transform:none!important;
  color:#fff!important;
  stroke:#fff!important;
  fill:none!important;
  flex:none!important;
}
.report-header-v5{grid-template-columns:minmax(0,1fr) 430px!important;gap:18px!important;padding:4px 20px 14px!important;}
.report-brand-area .report-logo{width:min(310px,100%)!important;margin:0 0 12px!important;}
.report-brand-area h2{font-size:clamp(23px,2.45vw,34px)!important;line-height:1.05!important;}
.report-brand-area .report-rule{margin-top:10px!important;max-width:330px!important;}
.report-brand-area>p{margin-top:8px!important;font-size:14px!important;}
.report-header-actions{gap:12px!important;align-items:stretch!important;}
.report-action-row{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;}
.report-run-again{gap:12px!important;flex:1;justify-content:flex-start;min-width:0;}
.report-run-circle{width:118px!important;height:118px!important;flex:0 0 118px!important;border-width:4px!important;outline-width:2px!important;}
.report-run-circle strong{font-size:25px!important;}.report-run-circle small{font-size:12px!important;}.report-run-circle i{font-size:23px!important;margin-top:5px!important;}
.report-run-copy b{font-size:18px!important;}.report-run-copy small{font-size:12px!important;}
.report-write-review-button{min-height:86px;min-width:142px;flex:0 0 142px;border:1px solid #cbd9ec;border-radius:16px;background:linear-gradient(145deg,#fff,#f5f9ff);color:#23405f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;box-shadow:0 9px 22px rgba(30,72,130,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.report-write-review-button:hover{transform:translateY(-2px);box-shadow:0 13px 26px rgba(30,72,130,.15);border-color:#5d8fd1;}
.report-write-review-button span{font-size:22px;line-height:1;color:#f0ae35}.report-write-review-button b{font-size:13px}.report-write-review-button small{font-size:10px;color:#6b778a;}
.report-print-button{width:100%!important;min-width:0!important;padding:12px 16px!important;font-size:14px!important;}
.report-meta-grid{padding:13px 12px!important;margin:0 0 10px!important;}.report-meta-item{padding:0 10px!important;}.report-icon{width:52px!important;height:52px!important;flex-basis:52px!important;}.report-meta-item b{font-size:12px!important;margin-bottom:4px!important;}.report-meta-item span{font-size:12px!important;}
.report-section{margin:10px 0!important;padding:31px 16px 13px!important;}.report-section-tab{min-width:180px!important;padding:8px 20px!important;font-size:12px!important;}
.report-results-grid{gap:14px!important;}.report-result-card{min-height:165px!important;padding:15px 8px 12px!important;}.report-result-card h3{font-size:13px!important;margin-bottom:10px!important;}.report-result-icon{width:64px!important;height:64px!important;margin-bottom:10px!important;}.report-result-card strong{font-size:20px!important;}.report-result-card small{font-size:11px!important;margin-top:7px!important;}
.report-detail-grid.report-latency-grid{gap:14px!important;}.report-latency-grid .report-detail-item{min-height:125px!important;padding:12px 8px!important;gap:7px!important;}.report-latency-icon{width:54px!important;height:54px!important;flex-basis:54px!important;}.report-latency-grid .report-detail-item b{font-size:12px!important;}.report-latency-grid .report-detail-item>div>span{font-size:17px!important;}.report-latency-grid .report-detail-item small{font-size:11px!important;}
.report-bottom-note{margin:10px 0 0!important;padding:11px 18px!important;}.report-note-icon{width:38px!important;height:38px!important;flex-basis:38px!important;font-size:19px!important;}.report-note-item{font-size:11px!important;}
.review-modal-overlay{z-index:10050!important;}
@media(max-width:1180px){.speed-result-modal.report-modal{overflow:auto!important}.report-header-v5{grid-template-columns:1fr!important}.report-header-actions{align-items:stretch!important}.report-action-row{justify-content:flex-start}.report-print-button{max-width:420px!important}.report-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.report-detail-grid.report-latency-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.speed-result-modal.report-modal{width:calc(100vw - 12px)!important;max-height:calc(100vh - 12px)!important;padding:14px 9px!important;overflow:auto!important}.report-header-v5{padding:3px 4px 12px!important}.report-brand-area .report-logo{width:220px!important}.report-brand-area h2{font-size:22px!important}.report-action-row{flex-direction:column;align-items:stretch}.report-run-again{justify-content:center}.report-write-review-button{width:100%;flex-basis:auto;min-height:62px;flex-direction:row;gap:8px}.report-write-review-button small{display:none}.report-print-button{max-width:none!important}.report-meta-grid{grid-template-columns:1fr 1fr!important}.report-results-grid{grid-template-columns:1fr 1fr!important}.report-detail-grid.report-latency-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:430px){.report-results-grid,.report-detail-grid.report-latency-grid,.report-meta-grid{grid-template-columns:1fr!important}.report-meta-item{border-right:0!important}.report-meta-item+.report-meta-item{border-top:1px dashed #cbd5e3!important;padding-top:8px!important}.report-result-card{min-height:145px!important}}

/* ===== Spexo report popup V7: compact full-result viewport layout ===== */
.speed-result-overlay{
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px!important;
  overflow:hidden!important;
}
.speed-result-modal.report-modal{
  width:min(1180px,calc(100vw - 20px))!important;
  max-height:calc(100vh - 20px)!important;
  height:auto!important;
  overflow:hidden!important;
  padding:12px 14px 10px!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
}
.speed-result-close{top:10px!important;right:12px!important;width:34px!important;height:34px!important;font-size:26px!important;z-index:5!important;}
.report-header-v5{grid-template-columns:minmax(0,1fr) 340px!important;gap:12px!important;padding:2px 14px 8px!important;min-height:0!important;}
.report-brand-area .report-logo{width:min(245px,100%)!important;margin:0 0 7px!important;}
.report-brand-area h2{font-size:clamp(19px,2vw,28px)!important;line-height:1.05!important;margin:0!important;}
.report-brand-area .report-rule{margin:6px 0 0!important;max-width:250px!important;}
.report-brand-area>p{margin:5px 0 0!important;font-size:12px!important;}
.report-header-actions{gap:7px!important;padding-right:22px!important;}
.report-action-row{gap:9px!important;}
.report-run-circle{width:82px!important;height:82px!important;flex-basis:82px!important;border-width:3px!important;outline-width:1px!important;box-shadow:0 8px 18px rgba(39,92,183,.20)!important;}
.report-run-circle strong{font-size:19px!important;}.report-run-circle small{font-size:10px!important;margin-top:3px!important;}.report-run-circle i{font-size:19px!important;margin-top:3px!important;}
.report-run-copy{gap:3px!important;}.report-run-copy b{font-size:15px!important;}.report-run-copy small{font-size:10px!important;line-height:1.35!important;}
.report-write-review-button{min-height:58px!important;padding:8px 10px!important;gap:3px!important;}.report-write-review-button>b{font-size:12px!important;}.report-write-review-button small{font-size:9px!important;}
.report-print-button{min-width:0!important;width:100%!important;padding:10px 13px!important;font-size:13px!important;border-radius:10px!important;}.report-print-button span{font-size:17px!important;margin-right:6px!important;}
.report-meta-grid{margin:0 0 7px!important;padding:10px 8px!important;border-radius:13px!important;}
.report-meta-item{padding:0 8px!important;gap:8px!important;min-width:0!important;}.report-icon{width:46px!important;height:46px!important;flex-basis:46px!important;}.report-icon svg{width:48%!important;height:48%!important;}
.report-meta-item b{font-size:11px!important;margin-bottom:3px!important;}.report-meta-item span{font-size:11px!important;line-height:1.2!important;}
.report-section{padding:25px 9px 8px!important;margin:7px 0!important;border-radius:14px!important;}.report-section-tab{min-width:160px!important;padding:7px 16px!important;font-size:11px!important;border-radius:12px 12px 0 0!important;}
.report-results-grid{gap:9px!important;}.report-result-card{min-height:128px!important;padding:10px 6px 8px!important;border-radius:14px!important;}.report-result-card h3{font-size:11px!important;margin:0 0 7px!important;}.report-result-icon{width:52px!important;height:52px!important;margin-bottom:7px!important;}.report-result-card strong{font-size:18px!important;line-height:1.1!important;}.report-result-card small{font-size:10px!important;margin-top:5px!important;}
.report-detail-grid.report-latency-grid{gap:9px!important;}.report-latency-grid .report-detail-item{min-height:98px!important;padding:8px 5px!important;border-radius:14px!important;gap:5px!important;}.report-latency-icon{width:46px!important;height:46px!important;flex-basis:46px!important;}.report-latency-grid .report-detail-item b{font-size:10px!important;}.report-latency-grid .report-detail-item>div{gap:3px!important;}.report-latency-grid .report-detail-item>div>span{font-size:15px!important;}.report-latency-grid .report-detail-item small{font-size:9px!important;}
.report-bottom-note{margin:7px 0 0!important;padding:8px 12px!important;border-radius:13px!important;}.report-note-item{gap:8px!important;font-size:10px!important;line-height:1.25!important;}.report-note-icon{width:32px!important;height:32px!important;flex-basis:32px!important;font-size:18px!important;}.report-note-item p{margin:0!important;}.report-note-item small{font-size:9px!important;}
/* exact center for every report SVG icon */
.report-icon,.report-result-icon,.report-latency-icon{display:grid!important;place-items:center!important;overflow:hidden!important;}
.report-icon svg,.report-icon i,.report-result-icon svg,.report-result-icon i,.report-latency-icon svg,.report-latency-icon i{position:static!important;display:block!important;margin:0!important;transform:none!important;}
@media(max-height:760px) and (min-width:701px){
  .speed-result-modal.report-modal{width:min(1100px,calc(100vw - 16px))!important;padding:8px 10px 7px!important;}
  .report-header-v5{grid-template-columns:minmax(0,1fr) 310px!important;padding:0 10px 5px!important;}.report-brand-area .report-logo{width:210px!important;}.report-brand-area h2{font-size:22px!important;}.report-brand-area>p{font-size:10px!important;}.report-run-circle{width:70px!important;height:70px!important;flex-basis:70px!important;}.report-run-circle strong{font-size:16px!important;}.report-write-review-button{min-height:50px!important;}.report-meta-grid{padding:7px 6px!important;margin-bottom:5px!important;}.report-icon{width:38px!important;height:38px!important;flex-basis:38px!important;}.report-meta-item b,.report-meta-item span{font-size:9px!important;}.report-section{padding:20px 7px 6px!important;margin:5px 0!important;}.report-section-tab{padding:5px 12px!important;font-size:10px!important;}.report-result-card{min-height:108px!important;padding:7px 4px!important;}.report-result-icon{width:42px!important;height:42px!important;margin-bottom:4px!important;}.report-result-card h3{font-size:9px!important;margin-bottom:4px!important;}.report-result-card strong{font-size:15px!important;}.report-result-card small{font-size:8px!important;margin-top:3px!important;}.report-latency-grid .report-detail-item{min-height:82px!important;padding:5px!important;}.report-latency-icon{width:36px!important;height:36px!important;flex-basis:36px!important;}.report-latency-grid .report-detail-item b{font-size:8px!important;}.report-latency-grid .report-detail-item>div>span{font-size:12px!important;}.report-latency-grid .report-detail-item small{font-size:8px!important;}.report-bottom-note{margin-top:5px!important;padding:5px 9px!important;}.report-note-item{font-size:8px!important;}.report-note-icon{width:25px!important;height:25px!important;flex-basis:25px!important;font-size:14px!important;}
}
@media(max-width:700px){
  .speed-result-overlay{padding:6px!important;overflow:auto!important;align-items:flex-start!important;}
  .speed-result-modal.report-modal{width:calc(100vw - 12px)!important;max-height:none!important;min-height:0!important;overflow:visible!important;padding:10px 8px!important;}
  .report-header-v5{grid-template-columns:1fr!important;padding:2px 4px 7px!important;}.report-header-actions{padding-right:0!important;}.report-action-row{align-items:center!important;}.report-brand-area .report-logo{width:185px!important;}.report-brand-area h2{font-size:19px!important;}.report-brand-area>p{font-size:10px!important;}.report-run-circle{width:72px!important;height:72px!important;flex-basis:72px!important;}.report-write-review-button{min-height:52px!important;}.report-meta-grid{padding:8px 5px!important;}.report-icon{width:40px!important;height:40px!important;flex-basis:40px!important;}.report-results-grid{gap:7px!important;}.report-result-card{min-height:112px!important;padding:7px 4px!important;}.report-result-icon{width:46px!important;height:46px!important;}.report-result-card strong{font-size:15px!important;}.report-detail-grid.report-latency-grid{gap:7px!important;}.report-latency-grid .report-detail-item{min-height:88px!important;}.report-latency-icon{width:40px!important;height:40px!important;flex-basis:40px!important;}.report-bottom-note{padding:7px!important;}
}

/* ===== Spexo Report V8: polished compact responsive modal ===== */
.speed-result-overlay{
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
  overflow:hidden!important;
}
.speed-result-modal.report-modal{
  width:min(1120px,calc(100vw - 24px))!important;
  max-height:calc(100vh - 24px)!important;
  overflow:hidden!important;
  padding:12px 16px 12px!important;
  border-radius:20px!important;
  box-shadow:0 28px 80px rgba(22,42,76,.24)!important;
}
.speed-result-close{
  top:10px!important;right:12px!important;
  width:38px!important;height:38px!important;
  display:grid!important;place-items:center!important;
  line-height:1!important;border-radius:50%!important;
}

/* Header: no overlap, clean two-column desktop layout */
.report-header-v5{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(290px,330px)!important;
  gap:18px!important;
  align-items:center!important;
  padding:2px 48px 10px 8px!important;
  min-height:0!important;
}
.report-brand-area{min-width:0!important;overflow:hidden!important;}
.report-brand-area .report-logo{width:min(250px,100%)!important;margin:0 0 7px!important;display:block!important;}
.report-brand-area h2{font-size:clamp(20px,2.35vw,30px)!important;line-height:1.08!important;margin:0!important;letter-spacing:.01em!important;}
.report-brand-area .report-rule{margin:7px 0 0!important;max-width:280px!important;}
.report-brand-area>p{margin:5px 0 0!important;font-size:12px!important;line-height:1.35!important;}
.report-header-actions{width:100%!important;min-width:0!important;gap:7px!important;padding:0!important;align-items:stretch!important;}
.report-action-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;align-items:stretch!important;}
.report-run-again{min-width:0!important;width:100%!important;justify-content:center!important;gap:10px!important;padding:6px!important;}
.report-run-circle{width:84px!important;height:84px!important;flex:0 0 84px!important;}
.report-run-circle strong{font-size:20px!important;line-height:1!important;}
.report-run-circle small{font-size:10px!important;}
.report-run-circle i{font-size:18px!important;}
.report-run-copy b{font-size:14px!important;white-space:nowrap!important;}
.report-run-copy small{font-size:9px!important;line-height:1.25!important;}
.report-write-review-button{min-width:0!important;width:100%!important;min-height:84px!important;padding:8px 10px!important;justify-content:center!important;}
.report-write-review-button>b{font-size:12px!important;white-space:nowrap!important;}
.report-write-review-button small{font-size:9px!important;text-align:center!important;}
.report-print-button{width:100%!important;min-width:0!important;padding:9px 12px!important;font-size:12px!important;line-height:1.2!important;}

/* Compact report information */
.report-meta-grid{margin:0 0 7px!important;padding:9px 8px!important;border-radius:14px!important;}
.report-meta-item{min-width:0!important;padding:0 7px!important;gap:8px!important;align-items:center!important;}
.report-meta-item>div{min-width:0!important;overflow:hidden!important;}
.report-meta-item b{font-size:10px!important;margin-bottom:2px!important;}
.report-meta-item span{font-size:10px!important;line-height:1.25!important;overflow-wrap:anywhere!important;}

/* Larger, readable icons centered exactly in their circles */
.report-icon,.report-result-icon,.report-latency-icon{
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  flex-shrink:0!important;
  overflow:hidden!important;
}
.report-icon{width:52px!important;height:52px!important;flex-basis:52px!important;}
.report-result-icon{width:58px!important;height:58px!important;margin:0 auto 6px!important;}
.report-latency-icon{width:54px!important;height:54px!important;flex-basis:54px!important;}
.report-icon svg,.report-icon i,.report-result-icon svg,.report-result-icon i,.report-latency-icon svg,.report-latency-icon i{
  position:absolute!important;
  left:50%!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  display:block!important;
  width:50%!important;height:50%!important;
  max-width:none!important;max-height:none!important;
  stroke:#fff!important;fill:none!important;
  stroke-width:2!important;
}
.report-result-icon svg{width:52%!important;height:52%!important;}
.report-icon svg *,.report-result-icon svg *,.report-latency-icon svg *{stroke:#fff!important;}

/* Results */
.report-section{padding:24px 10px 9px!important;margin:7px 0!important;border-radius:15px!important;}
.report-section-tab{min-width:172px!important;padding:7px 16px!important;font-size:11px!important;}
.report-results-grid{gap:10px!important;}
.report-result-card{min-height:134px!important;padding:10px 7px 8px!important;border-radius:15px!important;}
.report-result-card h3{font-size:11px!important;margin:0 0 7px!important;}
.report-result-card strong{font-size:18px!important;line-height:1.15!important;}
.report-result-card small{font-size:10px!important;margin-top:4px!important;}

/* Latency */
.report-detail-grid.report-latency-grid{gap:10px!important;}
.report-latency-grid .report-detail-item{min-height:96px!important;padding:8px 8px!important;gap:9px!important;border-radius:14px!important;align-items:center!important;}
.report-latency-grid .report-detail-item b{font-size:10px!important;}
.report-latency-grid .report-detail-item>div>span{font-size:15px!important;}
.report-latency-grid .report-detail-item small{font-size:9px!important;}

.report-bottom-note{margin:7px 0 0!important;padding:8px 12px!important;border-radius:14px!important;}
.report-note-item{font-size:10px!important;line-height:1.25!important;gap:8px!important;}
.report-note-icon{width:32px!important;height:32px!important;flex-basis:32px!important;}
.report-note-item small{font-size:9px!important;}

/* Medium screens */
@media(max-width:1180px){
  .speed-result-modal.report-modal{width:min(1040px,calc(100vw - 20px))!important;max-height:calc(100vh - 20px)!important;overflow:auto!important;}
  .report-header-v5{grid-template-columns:1fr!important;padding-right:42px!important;gap:8px!important;}
  .report-header-actions{display:grid!important;grid-template-columns:1fr 220px!important;align-items:center!important;}
  .report-print-button{grid-column:2!important;}
  .report-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .report-detail-grid.report-latency-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* Short-height desktop: reduce spacing, keep icons readable */
@media(max-height:760px) and (min-width:701px){
  .speed-result-modal.report-modal{width:min(1060px,calc(100vw - 18px))!important;padding:8px 12px!important;}
  .report-header-v5{grid-template-columns:minmax(0,1fr) 300px!important;padding:0 42px 5px 6px!important;gap:10px!important;}
  .report-brand-area .report-logo{width:210px!important;margin-bottom:4px!important;}
  .report-brand-area h2{font-size:21px!important;}.report-brand-area .report-rule{margin-top:4px!important;}.report-brand-area>p{font-size:10px!important;margin-top:3px!important;}
  .report-run-circle{width:72px!important;height:72px!important;flex-basis:72px!important;}.report-run-circle strong{font-size:17px!important;}
  .report-write-review-button{min-height:72px!important;}.report-print-button{padding:7px 10px!important;}
  .report-meta-grid{padding:6px 6px!important;margin-bottom:5px!important;}.report-meta-item{padding:0 5px!important;gap:6px!important;}.report-icon{width:44px!important;height:44px!important;flex-basis:44px!important;}.report-meta-item b,.report-meta-item span{font-size:9px!important;}
  .report-section{padding:19px 7px 6px!important;margin:5px 0!important;}.report-section-tab{padding:5px 12px!important;font-size:10px!important;}
  .report-result-card{min-height:110px!important;padding:7px 5px!important;}.report-result-card h3{font-size:9px!important;margin-bottom:4px!important;}.report-result-icon{width:48px!important;height:48px!important;margin-bottom:4px!important;}.report-result-card strong{font-size:15px!important;}.report-result-card small{font-size:8px!important;}
  .report-latency-grid .report-detail-item{min-height:78px!important;padding:5px 6px!important;}.report-latency-icon{width:46px!important;height:46px!important;flex-basis:46px!important;}.report-latency-grid .report-detail-item b{font-size:8px!important;}.report-latency-grid .report-detail-item>div>span{font-size:12px!important;}.report-latency-grid .report-detail-item small{font-size:8px!important;}
  .report-bottom-note{margin-top:5px!important;padding:5px 8px!important;}.report-note-item{font-size:8px!important;}.report-note-icon{width:26px!important;height:26px!important;flex-basis:26px!important;}
}

/* Mobile / tablet: natural responsive flow without overlap */
@media(max-width:700px){
  .speed-result-overlay{padding:6px!important;overflow:auto!important;align-items:flex-start!important;}
  .speed-result-modal.report-modal{width:calc(100vw - 12px)!important;max-height:none!important;overflow:visible!important;padding:11px 9px!important;border-radius:16px!important;}
  .report-header-v5{grid-template-columns:1fr!important;padding:2px 40px 9px 4px!important;}
  .report-header-actions{display:block!important;}.report-action-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
  .report-run-again{gap:7px!important;}.report-run-circle{width:70px!important;height:70px!important;flex-basis:70px!important;}.report-run-copy small{display:none!important;}
  .report-write-review-button{min-height:70px!important;}.report-write-review-button small{display:none!important;}
  .report-print-button{margin-top:8px!important;}
  .report-brand-area .report-logo{width:190px!important;}.report-brand-area h2{font-size:19px!important;}
  .report-meta-grid{grid-template-columns:1fr 1fr!important;gap:0!important;}.report-icon{width:46px!important;height:46px!important;flex-basis:46px!important;}
  .report-results-grid{grid-template-columns:1fr 1fr!important;gap:8px!important;}.report-result-card{min-height:124px!important;}.report-result-icon{width:54px!important;height:54px!important;}
  .report-detail-grid.report-latency-grid{grid-template-columns:1fr 1fr!important;gap:8px!important;}.report-latency-grid .report-detail-item{min-height:88px!important;}.report-latency-icon{width:48px!important;height:48px!important;flex-basis:48px!important;}
}
@media(max-width:430px){
  .report-action-row{grid-template-columns:1fr!important;}.report-run-circle{width:74px!important;height:74px!important;flex-basis:74px!important;}
  .report-meta-grid,.report-results-grid,.report-detail-grid.report-latency-grid{grid-template-columns:1fr!important;}
}

/* ========================================================================== 
   SPEXO REPORT — FINAL RESPONSIVE / MODERN PASS
   Keeps the existing report markup and JS intact while replacing the
   accumulated legacy overrides with one predictable responsive system.
   ========================================================================== */
.speed-result-overlay{
  box-sizing:border-box !important;
  padding:20px !important;
  overflow:auto !important;
  align-items:center !important;
  justify-content:center !important;
}

.speed-result-modal.report-modal{
  box-sizing:border-box !important;
  width:min(1320px, calc(100vw - 32px)) !important;
  max-width:1320px !important;
  max-height:calc(100vh - 32px) !important;
  overflow:auto !important;
  padding:20px 22px 18px !important;
  border:1px solid #d8e3f1 !important;
  border-radius:24px !important;
  background:linear-gradient(145deg,#ffffff 0%,#f8fbff 55%,#ffffff 100%) !important;
  box-shadow:0 30px 90px rgba(15,35,70,.24) !important;
  scrollbar-width:thin;
}

.speed-result-modal.report-modal::-webkit-scrollbar{width:8px;height:8px;}
.speed-result-modal.report-modal::-webkit-scrollbar-thumb{background:#cbd8e8;border-radius:20px;}
.speed-result-modal.report-modal::-webkit-scrollbar-track{background:transparent;}

.speed-result-close{
  top:12px !important;
  right:12px !important;
  width:36px !important;
  height:36px !important;
  z-index:20 !important;
  border:1px solid #e1e8f1 !important;
  background:rgba(240,244,249,.94) !important;
  color:#667085 !important;
  box-shadow:0 4px 12px rgba(22,45,78,.08) !important;
}
.speed-result-close:hover{background:#e7edf5 !important;color:#263b59 !important;}

/* Header: clean two-column desktop layout */
.report-header-v5{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(430px,520px) !important;
  gap:26px !important;
  align-items:center !important;
  padding:4px 44px 16px 6px !important;
  background:radial-gradient(circle at 18% 0,rgba(36,123,231,.08),transparent 45%) !important;
  border-radius:18px !important;
}
.report-brand-area{min-width:0 !important;}
.report-brand-area .report-logo{
  width:min(270px,100%) !important;
  margin:0 0 9px !important;
}
.report-brand-area h2{
  font-size:clamp(23px,2.15vw,32px) !important;
  line-height:1.08 !important;
  letter-spacing:.005em !important;
}
.report-brand-area .report-rule{max-width:330px !important;margin:8px 0 0 !important;}
.report-brand-area>p{font-size:13px !important;margin:6px 0 0 !important;color:#667085 !important;}

.report-header-actions{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:9px !important;
  min-width:0 !important;
}
.report-action-row{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(180px,220px) !important;
  gap:10px !important;
  width:100% !important;
}
.report-run-again{
  min-width:0 !important;
  width:100% !important;
  padding:6px 10px !important;
  gap:11px !important;
  border-radius:16px !important;
}
.report-run-circle{
  width:88px !important;
  height:88px !important;
  flex:0 0 88px !important;
}
.report-run-circle strong{font-size:21px !important;}
.report-run-circle small{font-size:10px !important;}
.report-run-copy b{font-size:15px !important;}
.report-run-copy small{font-size:10px !important;line-height:1.3 !important;}
.report-write-review-button{
  min-width:0 !important;
  min-height:88px !important;
  width:100% !important;
  padding:10px !important;
  border-radius:16px !important;
}
.report-write-review-button>b{font-size:13px !important;}
.report-write-review-button small{font-size:10px !important;}
.report-print-button{
  width:100% !important;
  min-width:0 !important;
  padding:10px 14px !important;
  border-radius:12px !important;
  font-size:13px !important;
}

/* Six metadata items remain equal-width on desktop */
.report-meta-grid{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:0 !important;
  margin:0 0 12px !important;
  padding:12px 8px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.9) !important;
  box-shadow:0 6px 18px rgba(32,70,115,.04) !important;
}
.report-meta-item{padding:2px 9px !important;gap:9px !important;}
.report-meta-item b{font-size:11px !important;margin-bottom:3px !important;}
.report-meta-item span{font-size:11px !important;line-height:1.3 !important;}
.report-icon{width:48px !important;height:48px !important;flex-basis:48px !important;}

/* Section cards */
.report-section{
  margin:12px 0 !important;
  padding:30px 12px 12px !important;
  border-radius:17px !important;
  border-color:#d6e2f0 !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 5px 18px rgba(32,70,115,.035) !important;
}
.report-section-tab{
  min-width:190px !important;
  padding:7px 17px !important;
  border-radius:14px 14px 0 0 !important;
  font-size:11px !important;
  letter-spacing:.03em !important;
}

/* IMPORTANT: exactly four equal-width speed cards on desktop */
.report-results-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:2px !important;
}
.report-result-card{
  min-width:0 !important;
  min-height:145px !important;
  padding:12px 10px 10px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#ffffff,#f9fcff) !important;
  box-shadow:0 5px 16px rgba(32,70,115,.035) !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease !important;
}
.report-result-card:hover{
  transform:translateY(-2px) !important;
  border-color:#c8d9ed !important;
  box-shadow:0 10px 22px rgba(32,70,115,.09) !important;
}
.report-result-card h3{font-size:12px !important;margin:0 0 8px !important;letter-spacing:.01em !important;}
.report-result-icon{width:60px !important;height:60px !important;margin:0 auto 8px !important;}
.report-result-card strong{font-size:20px !important;}
.report-result-card small{font-size:10px !important;margin-top:5px !important;}

/* Exactly four equal-width latency cards on desktop */
.report-detail-grid.report-latency-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:2px !important;
}
.report-latency-grid .report-detail-item{
  min-width:0 !important;
  min-height:100px !important;
  padding:8px 12px !important;
  gap:10px !important;
  border:1px solid #dce6f2 !important;
  border-radius:15px !important;
  background:linear-gradient(180deg,#ffffff,#fbfdff) !important;
}
.report-latency-grid .report-detail-item:nth-child(n){border-right:1px solid #dce6f2 !important;}
.report-latency-icon{width:56px !important;height:56px !important;flex-basis:56px !important;}
.report-latency-grid .report-detail-item b{font-size:11px !important;margin-bottom:4px !important;}
.report-latency-grid .report-detail-item>div>span{font-size:16px !important;font-weight:700 !important;}
.report-latency-grid .report-detail-item small{font-size:9px !important;margin-top:3px !important;}

.report-bottom-note{
  margin:12px 0 0 !important;
  padding:10px 14px !important;
  border-radius:15px !important;
  background:rgba(255,255,255,.82) !important;
}
.report-note-item{font-size:10px !important;line-height:1.35 !important;gap:9px !important;}
.report-note-icon{width:34px !important;height:34px !important;flex-basis:34px !important;font-size:18px !important;}
.report-note-item small{font-size:9px !important;}

/* Tablet */
@media(max-width:1100px){
  .speed-result-modal.report-modal{width:min(1040px,calc(100vw - 24px)) !important;}
  .report-header-v5{grid-template-columns:1fr !important;gap:12px !important;padding-right:42px !important;}
  .report-header-actions{max-width:none !important;}
  .report-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .report-meta-item:nth-child(3n){border-right:0 !important;}
  .report-results-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .report-detail-grid.report-latency-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

/* Phone / small tablet: no overlap, no horizontal scrolling */
@media(max-width:700px){
  .speed-result-overlay{
    padding:8px !important;
    align-items:flex-start !important;
  }
  .speed-result-modal.report-modal{
    width:100% !important;
    max-width:none !important;
    max-height:none !important;
    overflow:visible !important;
    padding:12px 10px 12px !important;
    border-radius:18px !important;
  }
  .speed-result-close{top:9px !important;right:9px !important;width:34px !important;height:34px !important;}
  .report-header-v5{
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:2px 40px 12px 3px !important;
  }
  .report-brand-area .report-logo{width:210px !important;margin-bottom:8px !important;}
  .report-brand-area h2{font-size:21px !important;line-height:1.12 !important;}
  .report-brand-area>p{font-size:12px !important;}
  .report-brand-area .report-rule{max-width:250px !important;}
  .report-action-row{grid-template-columns:1fr 1fr !important;gap:8px !important;}
  .report-run-circle{width:72px !important;height:72px !important;flex-basis:72px !important;}
  .report-run-circle strong{font-size:18px !important;}
  .report-run-copy b{font-size:13px !important;}
  .report-run-copy small{display:none !important;}
  .report-write-review-button{min-height:72px !important;}
  .report-write-review-button>b{font-size:12px !important;}
  .report-write-review-button small{display:none !important;}
  .report-print-button{margin-top:0 !important;font-size:12px !important;}

  .report-meta-grid{grid-template-columns:1fr 1fr !important;padding:8px 6px !important;}
  .report-meta-item{padding:7px 5px !important;gap:8px !important;}
  .report-meta-item:nth-child(3n){border-right:0 !important;}
  .report-meta-item:nth-child(odd){border-right:1px dashed #cbd5e3 !important;}
  .report-meta-item:nth-child(n+3){border-top:1px dashed #cbd5e3 !important;}
  .report-meta-item b{font-size:10px !important;}
  .report-meta-item span{font-size:10px !important;}
  .report-icon{width:44px !important;height:44px !important;flex-basis:44px !important;}

  .report-section{padding:28px 8px 9px !important;margin:9px 0 !important;}
  .report-section-tab{min-width:165px !important;padding:7px 13px !important;font-size:10px !important;}
  .report-results-grid{grid-template-columns:1fr 1fr !important;gap:8px !important;}
  .report-result-card{min-height:130px !important;padding:10px 6px 9px !important;}
  .report-result-card h3{font-size:10px !important;}
  .report-result-icon{width:52px !important;height:52px !important;}
  .report-result-card strong{font-size:17px !important;}
  .report-result-card small{font-size:9px !important;}

  .report-detail-grid.report-latency-grid{grid-template-columns:1fr 1fr !important;gap:8px !important;}
  .report-latency-grid .report-detail-item{min-height:86px !important;padding:8px 7px !important;gap:8px !important;}
  .report-latency-icon{width:46px !important;height:46px !important;flex-basis:46px !important;}
  .report-latency-grid .report-detail-item b{font-size:9px !important;}
  .report-latency-grid .report-detail-item>div>span{font-size:14px !important;}
  .report-latency-grid .report-detail-item small{font-size:8px !important;}

  .report-bottom-note{grid-template-columns:1fr !important;padding:9px 10px !important;gap:8px !important;}
  .report-note-item+.report-note-item{border-left:0 !important;border-top:1px dashed #cbd5e3 !important;padding:8px 0 0 !important;}
}

@media(max-width:430px){
  .speed-result-overlay{padding:5px !important;}
  .speed-result-modal.report-modal{padding:10px 8px !important;border-radius:16px !important;}
  .report-brand-area .report-logo{width:185px !important;}
  .report-brand-area h2{font-size:18px !important;}
  .report-action-row{grid-template-columns:1fr !important;}
  .report-run-again,.report-write-review-button{min-height:70px !important;}
  .report-meta-grid{grid-template-columns:1fr 1fr !important;}
  .report-meta-item{padding:7px 4px !important;}
  .report-meta-item:nth-child(odd){border-right:1px dashed #cbd5e3 !important;}
  .report-results-grid,.report-detail-grid.report-latency-grid{grid-template-columns:1fr 1fr !important;}
  .report-result-card{min-height:126px !important;}
  .report-result-card strong{font-size:16px !important;}
}

@media(max-width:350px){
  .report-meta-grid,.report-results-grid,.report-detail-grid.report-latency-grid{grid-template-columns:1fr !important;}
  .report-meta-item,.report-meta-item:nth-child(odd){border-right:0 !important;}
  .report-meta-item:not(:first-child){border-top:1px dashed #cbd5e3 !important;}
}

/* ========================================================================== 
   SPEXO REPORT — DESKTOP VIEWPORT FIT
   Compact the completed-result modal on short desktop/laptop screens so the
   complete report fits inside the viewport without an inner vertical scroll.
   Mobile keeps its natural responsive flow because the report is intentionally
   taller than a phone viewport.
   ========================================================================== */
@media (min-width:701px) and (max-height:820px){
  .speed-result-overlay{
    padding:10px !important;
    overflow:hidden !important;
  }

  .speed-result-modal.report-modal{
    width:min(1180px, calc(100vw - 20px)) !important;
    max-width:1180px !important;
    max-height:calc(100vh - 20px) !important;
    overflow:hidden !important;
    padding:11px 14px 10px !important;
    border-radius:20px !important;
  }

  .speed-result-close{
    top:8px !important;
    right:8px !important;
    width:32px !important;
    height:32px !important;
    font-size:21px !important;
  }

  .report-header-v5{
    grid-template-columns:minmax(0,1fr) minmax(360px,430px) !important;
    gap:14px !important;
    padding:0 38px 7px 3px !important;
  }
  .report-brand-area .report-logo{
    width:210px !important;
    margin-bottom:4px !important;
  }
  .report-brand-area h2{
    font-size:21px !important;
    line-height:1.05 !important;
  }
  .report-brand-area .report-rule{
    max-width:280px !important;
    margin-top:5px !important;
  }
  .report-brand-area>p{
    font-size:10px !important;
    margin-top:3px !important;
  }

  .report-header-actions{
    gap:6px !important;
  }
  .report-action-row{
    grid-template-columns:minmax(0,1fr) minmax(150px,185px) !important;
    gap:7px !important;
  }
  .report-run-again{
    padding:3px 7px !important;
    gap:8px !important;
    border-radius:13px !important;
  }
  .report-run-circle{
    width:70px !important;
    height:70px !important;
    flex-basis:70px !important;
  }
  .report-run-circle strong{font-size:18px !important;}
  .report-run-circle small{font-size:9px !important;}
  .report-run-copy b{font-size:13px !important;}
  .report-run-copy small{font-size:9px !important;}
  .report-write-review-button{
    min-height:70px !important;
    padding:7px !important;
    border-radius:13px !important;
  }
  .report-write-review-button>b{font-size:11px !important;}
  .report-write-review-button small{font-size:9px !important;}
  .report-print-button{
    padding:6px 10px !important;
    font-size:11px !important;
    border-radius:10px !important;
  }

  .report-meta-grid{
    margin:0 0 6px !important;
    padding:6px 5px !important;
    border-radius:13px !important;
  }
  .report-meta-item{
    padding:0 5px !important;
    gap:6px !important;
  }
  .report-icon{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
  .report-meta-item b{font-size:9px !important;margin-bottom:2px !important;}
  .report-meta-item span{font-size:9px !important;line-height:1.2 !important;}

  .report-section{
    margin:6px 0 !important;
    padding:22px 8px 7px !important;
    border-radius:14px !important;
  }
  .report-section-tab{
    min-width:165px !important;
    padding:5px 12px !important;
    border-radius:11px 11px 0 0 !important;
    font-size:9px !important;
  }

  .report-results-grid,
  .report-detail-grid.report-latency-grid{
    gap:8px !important;
    margin-top:1px !important;
  }
  .report-result-card{
    min-height:108px !important;
    padding:7px 6px 6px !important;
    border-radius:12px !important;
  }
  .report-result-card h3{
    font-size:9px !important;
    margin-bottom:4px !important;
  }
  .report-result-icon{
    width:46px !important;
    height:46px !important;
    margin-bottom:4px !important;
  }
  .report-result-card strong{font-size:16px !important;}
  .report-result-card small{font-size:8px !important;margin-top:2px !important;}

  .report-latency-grid .report-detail-item{
    min-height:74px !important;
    padding:5px 8px !important;
    gap:7px !important;
    border-radius:12px !important;
  }
  .report-latency-icon{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }
  .report-latency-grid .report-detail-item b{font-size:8px !important;margin-bottom:2px !important;}
  .report-latency-grid .report-detail-item>div>span{font-size:13px !important;}
  .report-latency-grid .report-detail-item small{font-size:7px !important;margin-top:2px !important;}

  .report-bottom-note{
    margin-top:6px !important;
    padding:6px 9px !important;
    border-radius:12px !important;
  }
  .report-note-item{font-size:8px !important;line-height:1.2 !important;gap:6px !important;}
  .report-note-icon{width:26px !important;height:26px !important;flex-basis:26px !important;font-size:14px !important;}
  .report-note-item small{font-size:7px !important;}
}

/* Extra-tight laptop height: preserve readability while removing excess air. */
@media (min-width:701px) and (max-height:700px){
  .speed-result-modal.report-modal{padding:8px 11px 7px !important;border-radius:17px !important;}
  .report-header-v5{padding-bottom:5px !important;gap:10px !important;}
  .report-brand-area .report-logo{width:185px !important;}
  .report-brand-area h2{font-size:19px !important;}
  .report-brand-area .report-rule{margin-top:3px !important;}
  .report-brand-area>p{font-size:9px !important;margin-top:2px !important;}
  .report-run-circle{width:62px !important;height:62px !important;flex-basis:62px !important;}
  .report-run-circle strong{font-size:16px !important;}
  .report-write-review-button{min-height:62px !important;}
  .report-meta-grid{padding:4px !important;margin-bottom:4px !important;}
  .report-icon{width:36px !important;height:36px !important;flex-basis:36px !important;}
  .report-meta-item b,.report-meta-item span{font-size:8px !important;}
  .report-section{margin:4px 0 !important;padding:19px 7px 5px !important;}
  .report-result-card{min-height:94px !important;padding:5px !important;}
  .report-result-icon{width:40px !important;height:40px !important;}
  .report-result-card strong{font-size:14px !important;}
  .report-latency-grid .report-detail-item{min-height:64px !important;padding:4px 6px !important;}
  .report-latency-icon{width:38px !important;height:38px !important;flex-basis:38px !important;}
  .report-latency-grid .report-detail-item>div>span{font-size:12px !important;}
  .report-bottom-note{margin-top:4px !important;padding:4px 7px !important;}
}

/* ========================================================================
   Spexo Report V7 — reference artwork implementation
   Visual target: supplied 1536x1024 report reference.
   This layer intentionally overrides the older report iterations above.
   ======================================================================== */
.speed-result-overlay{
  background:linear-gradient(135deg,rgba(5,18,48,.78),rgba(16,54,132,.72)) !important;
  padding:18px !important;
}
.speed-result-modal.report-modal{
  width:min(1500px,calc(100vw - 36px)) !important;
  max-width:1500px !important;
  max-height:calc(100vh - 36px) !important;
  overflow:auto !important;
  padding:28px 28px 20px !important;
  border-radius:28px !important;
  border:1px solid #d8e4f3 !important;
  background:
    radial-gradient(circle at 72% 7%,rgba(31,111,218,.12),transparent 26%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 54%,#ffffff 100%) !important;
  box-shadow:0 30px 90px rgba(5,28,75,.42) !important;
  color:#10265a !important;
}
.report-header-v5{
  grid-template-columns:minmax(0,1fr) minmax(430px,560px) !important;
  gap:28px !important;
  padding:4px 18px 20px !important;
  background:transparent !important;
}
.report-brand-area .report-logo{
  width:275px !important;
  max-width:48% !important;
  margin:0 0 22px !important;
}
.report-brand-area h2{
  font-size:clamp(28px,2.65vw,42px) !important;
  line-height:1.08 !important;
  color:#10265a !important;
  font-weight:800 !important;
}
.report-brand-area .report-rule{max-width:350px !important;margin-top:14px !important;}
.report-brand-area .report-rule span{height:2px !important;background:#246ed3 !important;}
.report-brand-area .report-rule b{font-size:23px !important;color:#246ed3 !important;}
.report-brand-area>p{font-size:16px !important;color:#4e5f82 !important;margin-top:12px !important;}
.report-header-actions{gap:12px !important;padding:0 !important;align-items:stretch !important;}
.report-action-row{display:grid !important;grid-template-columns:minmax(0,1fr) 215px !important;gap:16px !important;width:100% !important;align-items:center !important;}
.report-run-again{gap:15px !important;justify-content:flex-start !important;}
.report-run-circle{
  width:104px !important;height:104px !important;flex-basis:104px !important;
  border:4px solid #edf4ff !important;outline:2px solid #5574c8 !important;
  box-shadow:0 10px 24px rgba(39,92,183,.22) !important;
}
.report-run-circle strong{font-size:24px !important;}.report-run-circle small{font-size:12px !important;margin-top:4px !important}.report-run-circle i{font-size:22px !important;margin-top:4px !important}
.report-run-copy{gap:5px !important}.report-run-copy b{font-size:18px !important}.report-run-copy small{font-size:11px !important;line-height:1.4 !important;color:#566783 !important}
.report-write-review-button{
  min-width:0 !important;min-height:94px !important;border-radius:17px !important;
  border:1px solid #cbd9ec !important;background:linear-gradient(145deg,#fff,#f4f8ff) !important;
  box-shadow:0 9px 24px rgba(30,72,130,.08) !important;color:#18305a !important;
}
.report-write-review-button>span{font-size:24px !important;color:#f3b51d !important}.report-write-review-button>b{font-size:15px !important}.report-write-review-button small{font-size:10px !important;color:#687894 !important}
.report-print-button{width:100% !important;min-width:0 !important;padding:12px 18px !important;border-radius:12px !important;font-size:14px !important;background:#fff !important;color:#3a4a66 !important}
.report-meta-grid{
  margin:0 0 12px !important;padding:14px 10px !important;border-radius:17px !important;
  background:rgba(255,255,255,.88) !important;box-shadow:0 8px 24px rgba(25,54,100,.055) !important;
}
.report-meta-item{padding:0 12px !important;gap:10px !important}.report-icon{width:54px !important;height:54px !important;flex-basis:54px !important}.report-meta-item b{font-size:11px !important;margin-bottom:4px !important;color:#142348 !important}.report-meta-item span{font-size:11px !important;color:#1d315c !important}
.report-section{
  margin:12px 0 !important;padding:31px 14px 12px !important;border-radius:17px !important;
  background:rgba(255,255,255,.9) !important;box-shadow:0 8px 24px rgba(25,54,100,.045) !important;
}
.report-section-tab{min-width:245px !important;padding:8px 20px !important;border-radius:15px 15px 0 0 !important;font-size:12px !important}
.report-results-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:14px !important}
.report-result-card{
  min-height:190px !important;padding:15px 10px 13px !important;border-radius:16px !important;
  background:linear-gradient(180deg,#fff,#fbfdff) !important;box-shadow:0 8px 20px rgba(25,54,100,.045) !important;
}
.report-result-card h3{font-size:13px !important;margin-bottom:8px !important;color:#142348 !important}
.report-result-card strong{font-size:22px !important;color:#145dcc !important}.report-result-card small{font-size:10px !important;margin-top:5px !important;color:#566783 !important}.report-upload-card strong{color:#6651d6 !important}.report-status-complete{color:#08a14f !important}
.report-gauge{position:relative;width:100px;height:68px;margin:0 auto 5px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.report-gauge:before{content:"";position:absolute;left:50%;top:0;width:100px;height:100px;transform:translateX(-50%);border-radius:50%;background:conic-gradient(from 270deg,#1682e8 0deg 145deg,#edf3fc 145deg 180deg,#edf3fc 180deg 360deg);}
.report-gauge:after{content:"";position:absolute;left:50%;top:14px;width:72px;height:72px;transform:translateX(-50%);border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #eef3fa;}
.report-gauge-face{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.report-gauge-face:before{content:"";position:absolute;inset:11px 11px 2px;border-radius:50%;background:repeating-conic-gradient(from 270deg,rgba(27,104,215,.95) 0deg 2deg,transparent 2deg 11deg);-webkit-mask:radial-gradient(circle,transparent 0 53%,#000 54% 60%,transparent 61%);mask:radial-gradient(circle,transparent 0 53%,#000 54% 60%,transparent 61%)}
.report-gauge-face svg{position:relative;width:28px !important;height:28px !important;stroke:#1767d3 !important;fill:none !important;z-index:3}
.report-gauge-purple:before{background:conic-gradient(from 270deg,#7254df 0deg 145deg,#edf0fb 145deg 180deg,#edf0fb 180deg 360deg)}
.report-gauge-purple .report-gauge-face:before{background:repeating-conic-gradient(from 270deg,rgba(112,82,220,.95) 0deg 2deg,transparent 2deg 11deg);-webkit-mask:radial-gradient(circle,transparent 0 53%,#000 54% 60%,transparent 61%);mask:radial-gradient(circle,transparent 0 53%,#000 54% 60%,transparent 61%)}
.report-gauge-purple .report-gauge-face svg{stroke:#6d50da !important}
.report-gauge-loss:before{background:conic-gradient(from 270deg,#1586e6 0deg 115deg,#edf3fc 115deg 180deg,#edf3fc 180deg 360deg)}
.report-gauge-loss .report-gauge-face svg{stroke:#1767d3 !important}
.report-gauge-status:before{background:conic-gradient(from 270deg,#0aa54d 0deg 150deg,#e8f7ef 150deg 180deg,#e8f7ef 180deg 360deg)}
.report-gauge-status .report-gauge-face:before{background:repeating-conic-gradient(from 270deg,rgba(10,165,77,.95) 0deg 2deg,transparent 2deg 11deg);-webkit-mask:radial-gradient(circle,transparent 0 53%,#000 54% 60%,transparent 61%);mask:radial-gradient(circle,transparent 0 53%,#000 54% 60%,transparent 61%)}
.report-gauge-status .report-gauge-face svg{stroke:#079c49 !important}
.report-detail-grid.report-latency-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:14px !important}
.report-latency-grid .report-detail-item{min-height:125px !important;padding:12px 10px !important;border:1px solid #dbe5f1 !important;border-radius:16px !important;background:linear-gradient(180deg,#fff,#fbfdff) !important;display:grid !important;grid-template-columns:62px 1fr !important;grid-template-rows:auto auto auto !important;column-gap:12px !important;row-gap:3px !important;text-align:left !important}
.report-latency-icon{grid-row:1 / span 3 !important;width:62px !important;height:62px !important;flex-basis:62px !important;align-self:center !important}
.report-latency-grid .report-detail-item>div{align-items:flex-start !important;gap:3px !important}.report-latency-grid .report-detail-item b{font-size:10px !important;margin:0 !important}.report-latency-grid .report-detail-item>div>span{font-size:18px !important;color:#155ecb !important}.report-latency-grid .report-detail-item small{font-size:9px !important;color:#65738b !important}
.report-latency-grid .report-detail-item:nth-child(4) .report-latency-icon{background:linear-gradient(145deg,#6250dc,#765ee8) !important}
.report-latency-grid .report-detail-item:nth-child(4) .report-detail-icon svg{stroke:#fff !important}
.report-bottom-note{margin-top:10px !important;padding:10px 15px !important;border-radius:16px !important;background:rgba(255,255,255,.88) !important}.report-note-icon{width:36px !important;height:36px !important;flex-basis:36px !important;font-size:18px !important}.report-note-item{font-size:9px !important;gap:9px !important}.report-note-item small{font-size:8px !important}

@media (min-width:701px) and (max-height:900px){
  .speed-result-overlay{padding:10px !important}
  .speed-result-modal.report-modal{max-height:calc(100vh - 20px) !important;padding:16px 18px 12px !important;border-radius:22px !important}
  .report-header-v5{padding:2px 12px 10px !important;gap:18px !important}.report-brand-area .report-logo{width:220px !important;margin-bottom:10px !important}.report-brand-area h2{font-size:26px !important}.report-brand-area .report-rule{margin-top:7px !important}.report-brand-area>p{font-size:12px !important;margin-top:6px !important}
  .report-run-circle{width:86px !important;height:86px !important;flex-basis:86px !important}.report-run-circle strong{font-size:20px !important}.report-run-circle small{font-size:10px !important}.report-run-circle i{font-size:19px !important}.report-run-copy b{font-size:15px !important}.report-run-copy small{font-size:9px !important}.report-write-review-button{min-height:78px !important}.report-write-review-button>b{font-size:12px !important}.report-print-button{padding:9px 14px !important;font-size:12px !important}
  .report-meta-grid{padding:9px 7px !important;margin-bottom:8px !important}.report-icon{width:44px !important;height:44px !important;flex-basis:44px !important}.report-meta-item{padding:0 7px !important;gap:7px !important}.report-meta-item b,.report-meta-item span{font-size:9px !important}
  .report-section{margin:7px 0 !important;padding:25px 9px 8px !important}.report-section-tab{min-width:190px !important;padding:6px 14px !important;font-size:10px !important}.report-results-grid,.report-detail-grid.report-latency-grid{gap:8px !important}.report-result-card{min-height:126px !important;padding:8px 6px !important}.report-result-card h3{font-size:9px !important;margin-bottom:4px !important}.report-gauge{width:70px;height:47px;margin-bottom:2px}.report-gauge:before{width:70px;height:70px}.report-gauge:after{top:10px;width:50px;height:50px}.report-gauge-face:before{inset:8px 8px 0}.report-gauge-face svg{width:21px !important;height:21px !important}.report-result-card strong{font-size:16px !important}.report-result-card small{font-size:8px !important;margin-top:2px !important}
  .report-latency-grid .report-detail-item{min-height:84px !important;grid-template-columns:44px 1fr !important;padding:8px !important;column-gap:8px !important}.report-latency-icon{width:44px !important;height:44px !important}.report-latency-grid .report-detail-item b{font-size:8px !important}.report-latency-grid .report-detail-item>div>span{font-size:13px !important}.report-latency-grid .report-detail-item small{font-size:7px !important}.report-bottom-note{margin-top:6px !important;padding:6px 10px !important}.report-note-icon{width:27px !important;height:27px !important;flex-basis:27px !important;font-size:14px !important}.report-note-item{font-size:8px !important}.report-note-item small{font-size:7px !important}
}
@media(max-width:1050px){
  .report-header-v5{grid-template-columns:1fr !important}.report-header-actions{max-width:none !important}.report-action-row{grid-template-columns:minmax(0,1fr) 190px !important}.report-results-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.report-detail-grid.report-latency-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:700px){
  .speed-result-modal.report-modal{max-height:calc(100vh - 12px) !important;width:calc(100vw - 12px) !important;padding:13px 9px !important;border-radius:18px !important}.report-brand-area .report-logo{max-width:72% !important;width:210px !important}.report-brand-area h2{font-size:21px !important}.report-header-v5{padding:3px 7px 12px !important}.report-action-row{grid-template-columns:1fr 1fr !important}.report-run-circle{width:72px !important;height:72px !important;flex-basis:72px !important}.report-run-circle strong{font-size:17px !important}.report-run-copy b{font-size:12px !important}.report-run-copy small{font-size:8px !important}.report-write-review-button{min-height:66px !important}.report-write-review-button>b{font-size:10px !important}.report-write-review-button small{font-size:8px !important}.report-print-button{font-size:10px !important;padding:8px !important}.report-meta-grid{grid-template-columns:1fr 1fr !important;padding:8px 5px !important}.report-meta-item{padding:5px !important}.report-icon{width:40px !important;height:40px !important;flex-basis:40px !important}.report-meta-item b,.report-meta-item span{font-size:8px !important}.report-section{padding:27px 7px 8px !important}.report-section-tab{min-width:160px !important;font-size:9px !important;padding:6px 11px !important}.report-results-grid{grid-template-columns:1fr 1fr !important}.report-result-card{min-height:140px !important}.report-detail-grid.report-latency-grid{grid-template-columns:1fr 1fr !important}.report-latency-grid .report-detail-item{min-height:100px !important;grid-template-columns:48px 1fr !important}.report-latency-icon{width:48px !important;height:48px !important}.report-bottom-note{grid-template-columns:1fr !important}.report-note-item+.report-note-item{border-left:0 !important;border-top:1px dashed #cbd5e3 !important;padding:7px 0 0 !important}
}
@media(max-width:430px){
  .report-results-grid,.report-detail-grid.report-latency-grid{grid-template-columns:1fr !important}.report-meta-grid{grid-template-columns:1fr !important}.report-brand-area h2{font-size:19px !important}.report-action-row{grid-template-columns:1fr !important}.report-write-review-button{min-height:58px !important}.report-result-card{min-height:132px !important}
}

/* ========================================================================
   Spexo Report V14 — pixel-reference finishing layer
   Target: supplied 1536×1024 completed speed-test report artwork.
   This final layer deliberately normalizes the popup after legacy V1–V7
   overrides so the live result popup follows one stable reference design.
   ======================================================================== */
.speed-result-overlay{
  background:linear-gradient(135deg,rgba(11,42,109,.92),rgba(5,20,62,.88)) !important;
  padding:18px !important;
}
.speed-result-modal.report-modal{
  width:min(1500px,calc(100vw - 36px)) !important;
  max-width:1500px !important;
  max-height:calc(100vh - 36px) !important;
  overflow:auto !important;
  padding:20px 28px 22px !important;
  border-radius:30px !important;
  border:1px solid rgba(212,224,241,.96) !important;
  background:
    radial-gradient(circle at 77% 9%,rgba(37,102,198,.13),transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 56%,#ffffff 100%) !important;
  box-shadow:0 30px 100px rgba(1,18,62,.48) !important;
}
.speed-result-close{
  top:18px !important;right:22px !important;width:40px !important;height:40px !important;
  border:1px solid #cfd9e8 !important;border-radius:50% !important;background:#f8fbff !important;
  color:#64738d !important;font-size:27px !important;line-height:36px !important;
  box-shadow:0 4px 12px rgba(20,54,105,.08) !important;
}
.report-header-v5{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 590px !important;
  gap:26px !important;
  align-items:center !important;
  padding:10px 2px 20px !important;
}
.report-brand-area .report-logo{width:280px !important;max-width:100% !important;margin:0 0 18px !important;}
.report-brand-area h2{font-size:clamp(28px,2.7vw,40px) !important;font-weight:800 !important;letter-spacing:.018em !important;}
.report-brand-area .report-rule{max-width:355px !important;margin-top:13px !important;}
.report-brand-area>p{font-size:15px !important;margin-top:12px !important;}

/* Exact top-right composition: circle + Print + Review, all on one line. */
.report-header-actions{
  display:grid !important;
  grid-template-columns:118px minmax(180px,1fr) minmax(180px,1fr) !important;
  gap:16px !important;
  align-items:center !important;
  justify-content:end !important;
  padding-right:36px !important;
}
.report-run-again.report-run-reference{display:block !important;padding:0 !important;border:0 !important;background:transparent !important;min-width:0 !important;}
.report-run-reference .report-run-copy{display:none !important;}
.report-run-circle{
  width:104px !important;height:104px !important;flex-basis:104px !important;margin:0 auto !important;
  background:radial-gradient(circle at 35% 28%,#315fae,#143a8c 68%,#0f2c74) !important;
  color:#fff !important;border:5px solid #f3f7ff !important;outline:2px solid #4f71bf !important;
  box-shadow:0 12px 24px rgba(24,67,150,.22) !important;
}
.report-run-circle strong{font-size:25px !important;color:#fff !important;}.report-run-circle small{font-size:0 !important;}.report-run-circle i{font-size:24px !important;color:#fff !important;margin-top:7px !important;}
.report-print-button,.report-write-review-button{
  min-height:94px !important;height:94px !important;width:100% !important;min-width:0 !important;
  border:1px solid #cbd8ea !important;border-radius:17px !important;
  background:linear-gradient(145deg,#ffffff,#f7faff) !important;
  box-shadow:0 9px 22px rgba(30,72,130,.08) !important;color:#1c2d4d !important;
  display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;
  gap:8px !important;padding:10px !important;cursor:pointer !important;
}
.report-print-button .report-action-icon{font-size:31px !important;line-height:1 !important;color:#2456a4 !important;}
.report-print-button b,.report-write-review-button b{font-size:14px !important;font-weight:700 !important;}
.report-write-review-button>span{font-size:28px !important;color:#f2ad13 !important;line-height:1 !important;}
.report-write-review-button small{display:none !important;}

.report-meta-grid{margin:0 0 10px !important;padding:15px 8px !important;border-radius:17px !important;}
.report-icon{width:52px !important;height:52px !important;flex-basis:52px !important;}
.report-meta-item{padding:0 10px !important;gap:9px !important;}.report-meta-item b{font-size:11px !important;}.report-meta-item span{font-size:11px !important;}
.report-section{margin:10px 0 !important;padding:31px 14px 12px !important;border-radius:17px !important;}
.report-section-tab{min-width:245px !important;padding:8px 20px !important;}
.report-results-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:14px !important;}
.report-result-card{min-height:188px !important;padding:15px 10px 13px !important;}.report-result-card h3{margin-bottom:8px !important;}
.report-gauge{width:100px !important;height:68px !important;margin:0 auto 5px !important;}
.report-result-card strong{font-size:22px !important;}.report-result-card small{font-size:10px !important;}
.report-detail-grid.report-latency-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:14px !important;}
.report-latency-grid .report-detail-item{min-height:125px !important;}
.report-bottom-note{margin-top:10px !important;padding:10px 15px !important;border-radius:16px !important;}

@media (max-width:1250px){
  .report-header-v5{grid-template-columns:1fr !important;}
  .report-header-actions{padding-right:0 !important;max-width:590px !important;width:100% !important;}
}
@media (max-width:900px){
  .report-header-actions{grid-template-columns:104px 1fr 1fr !important;gap:10px !important;}
  .report-print-button,.report-write-review-button{min-height:78px !important;height:78px !important;}
  .report-results-grid,.report-detail-grid.report-latency-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .report-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width:620px){
  .speed-result-modal.report-modal{width:calc(100vw - 12px) !important;max-height:calc(100vh - 12px) !important;padding:14px 9px !important;border-radius:18px !important;}
  .report-header-actions{grid-template-columns:76px 1fr 1fr !important;gap:7px !important;}
  .report-run-circle{width:68px !important;height:68px !important;}.report-run-circle strong{font-size:16px !important;}.report-run-circle i{font-size:17px !important;margin-top:4px !important;}
  .report-print-button,.report-write-review-button{min-height:66px !important;height:66px !important;border-radius:12px !important;gap:5px !important;}.report-print-button .report-action-icon{font-size:21px !important;}.report-write-review-button>span{font-size:22px !important;}.report-print-button b,.report-write-review-button b{font-size:10px !important;}
  .report-meta-grid{grid-template-columns:1fr 1fr !important;}
}
@media (max-width:430px){
  .report-header-actions{grid-template-columns:1fr 1fr !important;}.report-run-again.report-run-reference{grid-column:1/-1 !important;}.report-results-grid,.report-detail-grid.report-latency-grid,.report-meta-grid{grid-template-columns:1fr !important;}
}

/* =====================================================================
   FINAL V14 REFERENCE REPORT IMPLEMENTATION
   Clean, centered modal matching the supplied reference artwork.
   ===================================================================== */
.speed-result-overlay{
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:22px!important;background:rgba(6,19,52,.72)!important;
  backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;
}
.speed-result-modal.report-modal{
  width:min(1260px,calc(100vw - 44px))!important;max-width:1260px!important;
  max-height:min(920px,calc(100vh - 44px))!important;overflow:auto!important;
  padding:24px 28px 22px!important;border-radius:28px!important;
  background:radial-gradient(circle at 68% 5%,rgba(53,116,208,.13),transparent 31%),linear-gradient(135deg,#fff 0%,#f8fbff 56%,#fff 100%)!important;
  box-shadow:0 30px 90px rgba(0,9,35,.48)!important;
}
.report-header-v5{grid-template-columns:minmax(0,1fr) 510px!important;gap:22px!important;padding:6px 4px 18px!important;align-items:center!important}
.report-brand-area .report-logo{width:245px!important;margin:0 0 13px!important}
.report-brand-area h2{font-size:31px!important;line-height:1.12!important;letter-spacing:.018em!important;margin:0!important}
.report-brand-area .report-rule{max-width:330px!important;margin:10px 0!important}.report-brand-area>p{font-size:14px!important;margin-top:7px!important}
.report-header-actions{grid-template-columns:110px 1fr 1fr!important;gap:14px!important;padding:0 28px 0 0!important;align-items:center!important}
.report-run-again.report-run-reference{width:110px!important;height:110px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;padding:0!important}
.report-run-reference .report-run-copy{display:none!important}.report-run-circle{width:96px!important;height:96px!important;flex-basis:96px!important;border:4px solid #f6f9ff!important;outline:2px solid #3d65b6!important;border-radius:50%!important;background:radial-gradient(circle at 35% 25%,#3766b8,#163d8d 68%,#102c71)!important;box-shadow:0 9px 24px rgba(18,54,132,.25)!important}.report-run-circle strong{font-size:24px!important}.report-run-circle small{font-size:13px!important;font-weight:700!important}.report-run-circle i{font-size:23px!important;margin-top:4px!important}
.report-print-button,.report-write-review-button{height:88px!important;min-height:88px!important;border-radius:17px!important;gap:7px!important;background:linear-gradient(145deg,#fff,#f7faff)!important}.report-print-button .report-action-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important}.report-print-button .report-action-icon svg{width:25px!important;height:25px!important;fill:none!important;stroke:#2456a4!important;stroke-width:1.8!important}.report-print-button b,.report-write-review-button b{font-size:14px!important}.report-write-review-button>span,.report-write-review-button>i{font-size:27px!important}
.report-meta-grid{margin:0 0 12px!important;padding:13px 8px!important;border-radius:17px!important}.report-icon{width:48px!important;height:48px!important;flex-basis:48px!important}.report-meta-item{padding:0 8px!important}.report-meta-item b,.report-meta-item span{font-size:10px!important}
.report-section{margin:9px 0!important;padding:29px 12px 11px!important;border-radius:18px!important}.report-section-tab{min-width:210px!important;padding:7px 18px!important}.report-results-grid{gap:12px!important}.report-result-card{min-height:218px!important;padding:16px 9px 13px!important}.report-result-card h3{font-size:13px!important;margin-bottom:10px!important}.report-gauge{width:128px!important;height:86px!important;margin:0 auto 8px!important;overflow:hidden!important}.report-gauge:before{width:128px!important;height:128px!important}.report-gauge:after{top:17px!important;width:92px!important;height:92px!important}.report-gauge-face:before{inset:14px 14px 2px!important}.report-gauge-face svg{width:34px!important;height:34px!important}.report-result-card strong{font-size:24px!important}.report-result-card small{font-size:11px!important}
.report-detail-grid.report-latency-grid{gap:12px!important}.report-latency-grid .report-detail-item{position:relative!important;min-height:176px!important;padding:17px 14px 48px!important;grid-template-columns:62px 1fr!important;overflow:hidden!important}.report-latency-icon{width:58px!important;height:58px!important}.report-detail-item b{font-size:11px!important}.report-detail-item>div>span{font-size:20px!important}.report-detail-item small{font-size:10px!important}.report-sparkline{position:absolute;left:14px;right:14px;bottom:12px;width:calc(100% - 28px);height:36px;fill:none;stroke:#3775d1;stroke-width:1.7;opacity:.9}.report-sparkline-purple{stroke:#7a56db}
.report-bottom-note{margin-top:10px!important;padding:12px 16px!important;border-radius:16px!important}.report-note-item{font-size:10px!important}.report-note-item small{font-size:10px!important}
@media(max-width:1050px){.speed-result-modal.report-modal{width:min(980px,calc(100vw - 28px))!important}.report-header-v5{grid-template-columns:1fr!important}.report-header-actions{padding-right:0!important;max-width:510px!important}.report-results-grid,.report-detail-grid.report-latency-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){.speed-result-overlay{padding:6px!important}.speed-result-modal.report-modal{width:calc(100vw - 12px)!important;max-height:calc(100vh - 12px)!important;padding:15px 9px!important;border-radius:18px!important}.report-brand-area h2{font-size:21px!important}.report-brand-area .report-logo{width:210px!important}.report-header-actions{grid-template-columns:76px 1fr 1fr!important;gap:7px!important}.report-run-again.report-run-reference{width:76px!important;height:76px!important}.report-run-circle{width:68px!important;height:68px!important;flex-basis:68px!important}.report-run-circle strong{font-size:16px!important}.report-run-circle small{font-size:9px!important}.report-run-circle i{font-size:17px!important}.report-print-button,.report-write-review-button{height:66px!important;min-height:66px!important}.report-print-button b,.report-write-review-button b{font-size:9px!important}.report-meta-grid,.report-results-grid,.report-detail-grid.report-latency-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.report-results-grid{gap:8px!important}.report-result-card{min-height:178px!important}.report-gauge{width:98px!important;height:66px!important}.report-gauge:before{width:98px!important;height:98px!important}.report-gauge:after{width:70px!important;height:70px!important;top:13px!important}.report-latency-grid .report-detail-item{min-height:145px!important;grid-template-columns:48px 1fr!important}.report-latency-icon{width:46px!important;height:46px!important}}

/* =====================================================================
   V15 COMPACT VIEWPORT RESULT REPORT
   Keep the entire completed-test popup visible on normal desktop screens.
   ===================================================================== */
@media (min-width:651px){
  .speed-result-overlay{
    padding:14px !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .speed-result-modal.report-modal{
    width:min(1120px,calc(100vw - 28px)) !important;
    max-width:1120px !important;
    max-height:calc(100vh - 28px) !important;
    overflow:hidden !important;
    padding:14px 18px 12px !important;
    border-radius:22px !important;
  }
  .report-header-v5{
    grid-template-columns:minmax(0,1fr) 430px !important;
    gap:14px !important;
    padding:2px 2px 10px !important;
  }
  .report-brand-area .report-logo{width:205px !important;margin-bottom:7px !important}
  .report-brand-area h2{font-size:25px !important;line-height:1.08 !important}
  .report-brand-area .report-rule{margin:6px 0 !important;max-width:280px !important}
  .report-brand-area>p{font-size:12px !important;margin-top:4px !important}
  .report-header-actions{
    grid-template-columns:82px 1fr 1fr !important;
    gap:9px !important;
    padding:0 !important;
  }
  .report-run-again.report-run-reference{width:82px !important;height:82px !important}
  .report-run-circle{width:74px !important;height:74px !important;flex-basis:74px !important}
  .report-run-circle strong{font-size:19px !important}
  .report-run-circle small{font-size:10px !important}
  .report-run-circle i{font-size:18px !important;margin-top:1px !important}
  .report-print-button,.report-write-review-button{height:66px !important;min-height:66px !important;border-radius:14px !important}
  .report-print-button .report-action-icon svg{width:21px !important;height:21px !important}
  .report-print-button b,.report-write-review-button b{font-size:12px !important}
  .report-write-review-button>span{font-size:22px !important}

  .report-meta-grid{margin:0 0 7px !important;padding:8px 6px !important;border-radius:14px !important}
  .report-icon{width:38px !important;height:38px !important;flex-basis:38px !important}
  .report-meta-item{padding:0 6px !important;min-height:48px !important}
  .report-meta-item b,.report-meta-item span{font-size:9px !important}

  .report-section{margin:6px 0 !important;padding:24px 8px 8px !important;border-radius:15px !important}
  .report-section-tab{min-width:180px !important;padding:5px 14px !important;font-size:11px !important}
  .report-results-grid{gap:8px !important}
  .report-result-card{min-height:158px !important;padding:10px 7px 8px !important}
  .report-result-card h3{font-size:11px !important;margin-bottom:5px !important}
  .report-gauge{width:102px !important;height:66px !important;margin:0 auto 4px !important}
  .report-gauge:before{width:102px !important;height:102px !important}
  .report-gauge:after{top:13px !important;width:74px !important;height:74px !important}
  .report-gauge-face:before{inset:11px 11px 1px !important}
  .report-gauge-face svg{width:27px !important;height:27px !important}
  .report-result-card strong{font-size:19px !important}
  .report-result-card small{font-size:9px !important}

  .report-detail-grid.report-latency-grid{gap:8px !important}
  .report-latency-grid .report-detail-item{min-height:112px !important;padding:10px 10px 32px !important;grid-template-columns:46px 1fr !important}
  .report-latency-icon{width:44px !important;height:44px !important}
  .report-detail-item b{font-size:9px !important}
  .report-detail-item>div>span{font-size:16px !important}
  .report-detail-item small{font-size:8px !important}
  .report-sparkline{left:10px !important;right:10px !important;bottom:7px !important;width:calc(100% - 20px) !important;height:24px !important}

  .report-bottom-note{margin-top:6px !important;padding:8px 11px !important;border-radius:13px !important}
  .report-note-item,.report-note-item small{font-size:8px !important}
}

/* Extra-short laptop displays: compact one more step, with no modal scroll. */
@media (min-width:651px) and (max-height:760px){
  .speed-result-modal.report-modal{padding:10px 14px 9px !important;max-height:calc(100vh - 16px) !important}
  .report-header-v5{padding-bottom:6px !important}.report-brand-area .report-logo{width:180px !important}.report-brand-area h2{font-size:22px !important}.report-brand-area>p{font-size:10px !important}
  .report-run-again.report-run-reference{width:70px !important;height:70px !important}.report-run-circle{width:64px !important;height:64px !important;flex-basis:64px !important}.report-run-circle strong{font-size:17px !important}
  .report-print-button,.report-write-review-button{height:56px !important;min-height:56px !important}
  .report-section{padding-top:21px !important;margin:4px 0 !important}.report-result-card{min-height:140px !important}.report-gauge{transform:scale(.88);margin-top:-3px !important;margin-bottom:-2px !important}
  .report-latency-grid .report-detail-item{min-height:96px !important;padding-top:8px !important;padding-bottom:27px !important}.report-latency-icon{width:38px !important;height:38px !important}.report-sparkline{height:19px !important}
  .report-bottom-note{padding:6px 9px !important}
}


/* =====================================================================
   V16 FINAL REPORT LAYOUT FIX
   Exact compact reference layout: safe padding, no header overlap,
   true circular speed badge, responsive grids, footer note removed.
   ===================================================================== */
.speed-result-overlay{
  box-sizing:border-box!important;
  padding:clamp(12px,2vw,28px)!important;
  overflow:auto!important;
  align-items:center!important;
  justify-content:center!important;
}
.speed-result-modal.report-modal,
.speed-result-modal.report-modal *{box-sizing:border-box!important;}
.speed-result-modal.report-modal{
  position:relative!important;
  width:min(1280px,calc(100vw - 40px))!important;
  max-width:1280px!important;
  max-height:calc(100vh - 40px)!important;
  overflow:auto!important;
  padding:22px clamp(20px,2.4vw,34px) 24px!important;
  border-radius:26px!important;
}
.speed-result-close{
  z-index:50!important;
  top:18px!important;
  right:18px!important;
  width:46px!important;height:46px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:28px!important;
}
.report-header-v5{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(430px,520px)!important;
  align-items:center!important;
  gap:26px!important;
  padding:6px 56px 18px 6px!important;
}
.report-header-actions{
  display:grid!important;
  grid-template-columns:108px minmax(150px,1fr) minmax(150px,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  padding:0!important;
  min-width:0!important;
}
.report-run-again.report-run-reference{
  width:108px!important;height:108px!important;
  min-width:108px!important;
  padding:0!important;margin:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
.report-run-circle{
  width:92px!important;height:92px!important;
  min-width:92px!important;flex:0 0 92px!important;
  aspect-ratio:1/1!important;
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  gap:2px!important;overflow:hidden!important;
  line-height:1!important;
}
.report-run-circle strong{display:block!important;margin:0!important;line-height:1!important;font-size:24px!important;white-space:nowrap!important;}
.report-run-circle small{display:block!important;margin:0!important;line-height:1.1!important;font-size:12px!important;}
.report-run-circle i{display:block!important;margin:3px 0 0!important;line-height:1!important;font-size:21px!important;}
.report-print-button,.report-write-review-button{
  width:100%!important;min-width:0!important;height:82px!important;min-height:82px!important;
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  gap:7px!important;padding:10px!important;
  overflow:hidden!important;
}
.report-print-button b,.report-write-review-button b{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
.report-brand-area{min-width:0!important;}
.report-brand-area h2{white-space:normal!important;}
.report-meta-grid{padding:13px 10px!important;margin:0 0 12px!important;}
.report-section{margin:10px 0!important;padding:30px 14px 14px!important;}
.report-results-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;}
.report-result-card{min-width:0!important;min-height:220px!important;}
.report-gauge{position:relative!important;width:132px!important;height:88px!important;overflow:hidden!important;}
.report-gauge:before{width:132px!important;height:132px!important;}
.report-gauge:after{width:96px!important;height:96px!important;top:18px!important;}
.report-gauge-face{overflow:hidden!important;}
.report-latency-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;}
.report-latency-grid .report-detail-item{min-width:0!important;min-height:160px!important;}
/* The reference footer thank-you/disclaimer panel is intentionally removed. */
.report-bottom-note{display:none!important;}

@media (max-width:1180px){
  .speed-result-modal.report-modal{width:calc(100vw - 28px)!important;max-height:calc(100vh - 28px)!important;padding:20px 22px 22px!important;}
  .report-header-v5{grid-template-columns:minmax(0,1fr) 460px!important;gap:18px!important;padding-right:52px!important;}
  .report-header-actions{grid-template-columns:96px 1fr 1fr!important;gap:10px!important;}
  .report-run-again.report-run-reference{width:96px!important;height:96px!important;min-width:96px!important;}
  .report-run-circle{width:82px!important;height:82px!important;min-width:82px!important;flex-basis:82px!important;}
  .report-print-button,.report-write-review-button{height:74px!important;min-height:74px!important;}
  .report-results-grid,.report-latency-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:900px){
  .speed-result-overlay{align-items:flex-start!important;padding:14px!important;}
  .speed-result-modal.report-modal{width:100%!important;max-height:calc(100vh - 28px)!important;padding:20px 18px 24px!important;}
  .report-header-v5{grid-template-columns:1fr!important;padding:4px 52px 16px 4px!important;}
  .report-header-actions{max-width:100%!important;grid-template-columns:96px 1fr 1fr!important;}
  .report-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:650px){
  .speed-result-overlay{padding:8px!important;}
  .speed-result-modal.report-modal{width:100%!important;max-height:calc(100vh - 16px)!important;padding:16px 14px 20px!important;border-radius:20px!important;}
  .speed-result-close{top:10px!important;right:10px!important;width:38px!important;height:38px!important;font-size:24px!important;}
  .report-header-v5{padding:2px 44px 14px 2px!important;}
  .report-brand-area .report-logo{width:min(200px,70vw)!important;}
  .report-brand-area h2{font-size:22px!important;line-height:1.15!important;}
  .report-header-actions{grid-template-columns:74px minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;}
  .report-run-again.report-run-reference{width:74px!important;height:74px!important;min-width:74px!important;}
  .report-run-circle{width:66px!important;height:66px!important;min-width:66px!important;flex-basis:66px!important;}
  .report-run-circle strong{font-size:16px!important;}.report-run-circle small{font-size:9px!important;}.report-run-circle i{font-size:16px!important;margin-top:2px!important;}
  .report-print-button,.report-write-review-button{height:66px!important;min-height:66px!important;padding:7px 4px!important;}
  .report-print-button b,.report-write-review-button b{font-size:10px!important;}
  .report-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:8px 6px!important;}
  .report-section{padding:26px 8px 10px!important;}
  .report-results-grid,.report-latency-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .report-result-card{min-height:174px!important;padding:10px 5px!important;}
  .report-gauge{width:104px!important;height:68px!important;}.report-gauge:before{width:104px!important;height:104px!important;}.report-gauge:after{width:74px!important;height:74px!important;top:14px!important;}
  .report-latency-grid .report-detail-item{min-height:138px!important;padding:10px 8px 30px!important;grid-template-columns:44px 1fr!important;}
  .report-latency-icon{width:42px!important;height:42px!important;}
}
@media (max-width:430px){
  .speed-result-modal.report-modal{padding:14px 10px 18px!important;}
  .report-header-actions{grid-template-columns:68px 1fr 1fr!important;gap:6px!important;}
  .report-run-again.report-run-reference{width:68px!important;height:68px!important;min-width:68px!important;}
  .report-run-circle{width:60px!important;height:60px!important;min-width:60px!important;flex-basis:60px!important;}
  .report-print-button,.report-write-review-button{height:60px!important;min-height:60px!important;}
  .report-print-button b,.report-write-review-button b{font-size:8px!important;}
  .report-brand-area h2{font-size:19px!important;}
  .report-results-grid,.report-latency-grid,.report-meta-grid{grid-template-columns:1fr!important;}
}

/* =====================================================================
   V17 VIEWPORT-FIT COMPACT REPORT
   Keeps the completed result visible on one desktop screen without
   scrolling and normalizes all gauges into true clipped semicircles.
   ===================================================================== */
.speed-result-overlay{
  padding:12px!important;
  overflow:hidden!important;
  align-items:center!important;
  justify-content:center!important;
}
.speed-result-modal.report-modal{
  width:min(1180px,calc(100vw - 24px))!important;
  max-height:calc(100vh - 24px)!important;
  height:auto!important;
  overflow:hidden!important;
  padding:12px 16px 14px!important;
  border-radius:22px!important;
}
.report-header-v5{
  grid-template-columns:minmax(0,1fr) 430px!important;
  gap:18px!important;
  padding:2px 48px 10px 2px!important;
  min-height:0!important;
}
.report-brand-area .report-logo{width:min(250px,100%)!important;margin:0 0 8px!important;}
.report-brand-area h2{font-size:28px!important;line-height:1.08!important;margin:0!important;}
.report-brand-area .report-rule{margin:8px 0 0!important;max-width:330px!important;}
.report-brand-area>p{margin:7px 0 0!important;font-size:13px!important;}
.report-header-actions{grid-template-columns:82px minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;}
.report-run-again.report-run-reference{width:82px!important;height:82px!important;min-width:82px!important;}
.report-run-circle{width:72px!important;height:72px!important;min-width:72px!important;flex-basis:72px!important;border-width:3px!important;outline-width:2px!important;}
.report-run-circle strong{font-size:19px!important;line-height:1!important;}
.report-run-circle small{font-size:10px!important;line-height:1!important;margin:0!important;}
.report-run-circle i{font-size:17px!important;line-height:1!important;margin:1px 0 0!important;}
.report-print-button,.report-write-review-button{height:62px!important;min-height:62px!important;padding:7px!important;border-radius:14px!important;gap:4px!important;}
.report-print-button b,.report-write-review-button b{font-size:12px!important;}
.report-print-button span{font-size:17px!important;margin:0!important;}
.speed-result-close{top:10px!important;right:10px!important;width:38px!important;height:38px!important;font-size:24px!important;}

.report-meta-grid{margin:0 0 7px!important;padding:8px 6px!important;border-radius:16px!important;}
.report-meta-item{padding:0 7px!important;min-width:0!important;}
.report-icon{width:48px!important;height:48px!important;flex-basis:48px!important;}
.report-meta-item b{font-size:10px!important;margin-bottom:3px!important;}
.report-meta-item span{font-size:10px!important;line-height:1.2!important;}

.report-section{margin:7px 0!important;padding:25px 10px 9px!important;border-radius:17px!important;}
.report-section-tab{min-width:185px!important;padding:6px 14px!important;font-size:11px!important;}
.report-results-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;}
.report-result-card{min-height:158px!important;padding:9px 6px 8px!important;border-radius:16px!important;}
.report-result-card h3{font-size:11px!important;margin:0 0 5px!important;}
.report-result-card strong{font-size:18px!important;line-height:1.1!important;}
.report-result-card small{font-size:9px!important;margin-top:4px!important;}

/* true compact semicircle gauge */
.report-gauge{position:relative!important;width:110px!important;height:70px!important;margin:0 auto 2px!important;overflow:hidden!important;}
.report-gauge:before{content:""!important;position:absolute!important;left:50%!important;top:0!important;width:110px!important;height:110px!important;transform:translateX(-50%)!important;border-radius:50%!important;background:conic-gradient(from 270deg,#1b6ed0 0deg 145deg,#e6edf7 145deg 180deg,transparent 180deg 360deg)!important;}
.report-gauge:after{content:""!important;position:absolute!important;left:50%!important;top:13px!important;width:82px!important;height:82px!important;transform:translateX(-50%)!important;border-radius:50%!important;background:#fff!important;box-shadow:inset 0 0 0 1px #edf2f8!important;}
.report-gauge-face{position:absolute!important;inset:0!important;z-index:3!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.report-gauge-face:before{content:""!important;position:absolute!important;left:50%!important;top:8px!important;width:90px!important;height:90px!important;transform:translateX(-50%)!important;border-radius:50%!important;background:repeating-conic-gradient(from 270deg,rgba(27,104,215,.9) 0 1.5deg,transparent 1.5deg 10deg)!important;-webkit-mask:radial-gradient(circle,transparent 0 54%,#000 55% 58%,transparent 59%)!important;mask:radial-gradient(circle,transparent 0 54%,#000 55% 58%,transparent 59%)!important;}
.report-gauge-face svg{position:absolute!important;z-index:4!important;width:24px!important;height:24px!important;top:34px!important;stroke:#1767d3!important;fill:none!important;}
.report-gauge-purple:before{background:conic-gradient(from 270deg,#7254df 0deg 145deg,#ecebfa 145deg 180deg,transparent 180deg 360deg)!important;}
.report-gauge-purple .report-gauge-face:before{background:repeating-conic-gradient(from 270deg,rgba(112,82,220,.9) 0 1.5deg,transparent 1.5deg 10deg)!important;}
.report-gauge-purple .report-gauge-face svg{stroke:#6d50da!important;}
.report-gauge-loss:before{background:conic-gradient(from 270deg,#1b6ed0 0deg 118deg,#e6edf7 118deg 180deg,transparent 180deg 360deg)!important;}
.report-gauge-status:before{background:conic-gradient(from 270deg,#15924d 0deg 150deg,#e7f5ed 150deg 180deg,transparent 180deg 360deg)!important;}
.report-gauge-status .report-gauge-face:before{background:repeating-conic-gradient(from 270deg,rgba(21,146,77,.9) 0 1.5deg,transparent 1.5deg 10deg)!important;}
.report-gauge-status .report-gauge-face svg{stroke:#128244!important;}

.report-latency-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;}
.report-latency-grid .report-detail-item{min-height:112px!important;padding:8px 7px 22px!important;border-radius:16px!important;gap:5px!important;position:relative!important;}
.report-latency-icon{width:44px!important;height:44px!important;flex-basis:44px!important;}
.report-latency-grid .report-detail-item b{font-size:10px!important;}
.report-latency-grid .report-detail-item>div>span{font-size:16px!important;}
.report-latency-grid .report-detail-item small{font-size:9px!important;}
.report-sparkline{height:20px!important;bottom:5px!important;}

/* Short laptop screens: compact visual scale, still centered and non-scrollable. */
@media (min-width:901px) and (max-height:800px){
  .speed-result-modal.report-modal{zoom:.88!important;max-height:calc((100vh - 24px)/.88)!important;}
}
@media (min-width:901px) and (max-height:700px){
  .speed-result-modal.report-modal{zoom:.78!important;max-height:calc((100vh - 20px)/.78)!important;}
}

/* Tablet/mobile remains usable; scroll is only allowed where a one-screen report is physically impossible. */
@media (max-width:900px){
  .speed-result-overlay{overflow:auto!important;padding:8px!important;align-items:flex-start!important;}
  .speed-result-modal.report-modal{width:100%!important;max-height:none!important;overflow:visible!important;padding:14px 12px 18px!important;}
  .report-header-v5{grid-template-columns:1fr!important;padding:2px 44px 10px 2px!important;}
  .report-results-grid,.report-latency-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .report-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:560px){
  .report-header-actions{grid-template-columns:68px 1fr 1fr!important;gap:7px!important;}
  .report-run-again.report-run-reference{width:68px!important;height:68px!important;min-width:68px!important;}
  .report-run-circle{width:60px!important;height:60px!important;min-width:60px!important;flex-basis:60px!important;}
  .report-print-button,.report-write-review-button{height:56px!important;min-height:56px!important;}
  .report-print-button b,.report-write-review-button b{font-size:9px!important;}
  .report-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .report-result-card{min-height:148px!important;}
  .report-gauge{transform:scale(.86)!important;margin-top:-3px!important;margin-bottom:-4px!important;}
  .report-latency-grid .report-detail-item{min-height:102px!important;}
}
@media (max-width:420px){
  .report-results-grid,.report-latency-grid,.report-meta-grid{grid-template-columns:1fr!important;}
}


/* V23 homepage visual enhancement + relocated CTA */
.values-section{position:relative;overflow:hidden;}
.values-section::before{content:"";position:absolute;inset:auto -12% -45% auto;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(45,217,232,.12),transparent 68%);pointer-events:none;}
.values-grid,.measurement-grid{position:relative;z-index:1;}
.values-cta-wrap{display:flex;justify-content:center;margin-top:28px;position:relative;z-index:2;}
.values-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:15px;text-decoration:none;color:#061218;background:linear-gradient(135deg,var(--grad-cyan),var(--grad-blue));font-family:'Space Grotesk',sans-serif;font-weight:700;box-shadow:0 14px 32px rgba(45,217,232,.22);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;}
.values-cta svg{width:19px;height:19px;flex:0 0 auto;}
.measurement-card{position:relative;overflow:hidden;isolation:isolate;}
.measurement-card::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-58px;bottom:-62px;background:radial-gradient(circle,rgba(70,125,255,.10),transparent 70%);z-index:-1;}
.measurement-icon{box-shadow:0 10px 24px rgba(45,217,232,.10);}
@media (hover:hover) and (pointer:fine){.values-cta:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 18px 38px rgba(45,217,232,.28);}}
@media (max-width:480px){.values-cta{width:100%;}.values-section::before{width:300px;height:300px;}.values-cta-wrap{margin-top:20px;}}


/* Homepage FAQ call-to-action */
.faq-section-cta{display:flex;justify-content:center;margin:26px 0 4px;}
.faq-more-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:14px;text-decoration:none;font-weight:800;letter-spacing:.01em;color:#fff;background:linear-gradient(135deg,#2456a4,#2c82d9);box-shadow:0 10px 24px rgba(36,86,164,.22);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;}
.faq-more-btn:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 14px 30px rgba(36,86,164,.3);}
.faq-more-btn span{font-size:20px;line-height:1;transition:transform .2s ease}.faq-more-btn:hover span{transform:translateX(3px);}
@media(max-width:560px){.faq-section-cta{margin-top:20px}.faq-more-btn{width:min(100%,320px);min-height:46px;padding:11px 18px;}}

/* ===== V1.1.0 result-popup action fix ===== */
.report-run-again-primary{
  width:auto!important; min-width:250px!important; height:66px!important; min-height:66px!important;
  display:flex!important; align-items:center!important; justify-content:center!important; gap:10px!important;
  padding:12px 22px!important; border:1px solid transparent!important; border-radius:12px!important;
  background:var(--spexo-action-bg)!important; color:#fff!important;
  box-shadow:var(--spexo-action-shadow)!important; text-align:center!important;
  font:600 16px/1 'Inter',sans-serif!important;
  cursor:pointer!important; transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.report-run-again-primary:hover{transform:translateY(-2px)!important; filter:brightness(1.03)!important; box-shadow:var(--spexo-action-shadow-hover)!important;}
.report-run-again-primary .report-action-icon{display:flex!important; align-items:center!important; justify-content:center!important; width:24px!important; height:24px!important; margin:0!important;}
.report-run-again-primary .report-action-icon svg,.report-run-again-primary .report-action-icon i{width:22px!important;height:22px!important;color:currentColor!important;}
.report-run-again-primary b{font:600 16px/1 'Inter',sans-serif!important;color:inherit!important;}
@media(max-width:700px){.report-run-again-primary{width:100%!important;min-width:0!important;height:62px!important;min-height:62px!important;}}


/* ======================================================================
   V27 — HOMEPAGE METRIC HOVER FIX
   Ping/Jitter/connection metric cards stay visually static on hover.
   ====================================================================== */
@media (hover:hover) and (pointer:fine){
  .quick-stat:hover, .quick-stat-card:hover, .metric-card:hover,
  .quick-stats > *:hover{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    color:inherit!important;
  }
}

/* ======================================================================
   V27 — COMPLETED RESULT ACTIONS
   Order: Write a Review → Run Test Again → Download speed circle.
   ====================================================================== */
.speed-result-modal.report-modal .report-header-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  padding:0!important;
}
.speed-result-modal.report-modal .report-header-actions > .report-write-review-button,
.speed-result-modal.report-modal .report-header-actions > .report-run-again-button{
  width:100%!important;
  min-width:0!important;
  min-height:82px!important;
  height:82px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #cbd9ec!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#fff,#f5f9ff)!important;
  color:#23405f!important;
  box-shadow:0 9px 22px rgba(30,72,130,.08)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  cursor:pointer!important;
  text-align:center!important;
}
.speed-result-modal.report-modal .report-header-actions > .report-write-review-button:hover,
.speed-result-modal.report-modal .report-header-actions > .report-run-again-button:hover{
  transform:translateY(-2px)!important;
  border-color:#5d8fd1!important;
  box-shadow:0 13px 26px rgba(30,72,130,.15)!important;
}
.speed-result-modal.report-modal .report-write-review-button > span{
  font-size:25px!important; line-height:1!important; color:#f0ae35!important;
}
.speed-result-modal.report-modal .report-write-review-button b,
.speed-result-modal.report-modal .report-run-again-button b{
  font-size:13px!important; line-height:1.15!important; white-space:nowrap!important;
}
.speed-result-modal.report-modal .report-run-again-button .report-action-icon{
  width:26px!important; height:26px!important; display:flex!important; align-items:center!important; justify-content:center!important;
}
.speed-result-modal.report-modal .report-run-again-button .report-action-icon svg,.speed-result-modal.report-modal .report-run-again-button .report-action-icon i{
  width:24px!important; height:24px!important; fill:none!important; stroke:#2456a4!important; stroke-width:1.8!important;
}
.speed-result-modal.report-modal .report-download-speed-circle{
  width:96px!important; height:96px!important; min-width:96px!important;
  border-radius:50%!important;
  display:flex!important; flex-direction:column!important; align-items:center!important; justify-content:center!important;
  background:linear-gradient(145deg,#6a52d8 0%,#3f7bff 52%,#2dd9e8 100%)!important;
  border:4px solid #f6f9ff!important;
  outline:2px solid #3f7bff!important;
  box-shadow:0 10px 26px rgba(63,123,255,.25)!important;
  color:#fff!important;
  line-height:1!important;
}
.speed-result-modal.report-modal .report-download-speed-circle strong{
  font:800 22px/1 'Space Grotesk',sans-serif!important;
}
.speed-result-modal.report-modal .report-download-speed-circle small{
  margin-top:5px!important; font:700 11px/1 'Inter',sans-serif!important; color:#fff!important;
}
@media(max-width:700px){
  .speed-result-modal.report-modal .report-header-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
  .speed-result-modal.report-modal .report-header-actions > .report-write-review-button,
  .speed-result-modal.report-modal .report-header-actions > .report-run-again-button{min-height:70px!important;height:70px!important;padding:7px 5px!important;border-radius:13px!important;}
  .speed-result-modal.report-modal .report-write-review-button > span{font-size:21px!important;}
  .speed-result-modal.report-modal .report-write-review-button b,
  .speed-result-modal.report-modal .report-run-again-button b{font-size:10px!important;}
  .speed-result-modal.report-modal .report-run-again-button .report-action-icon{width:22px!important;height:22px!important;}
  .speed-result-modal.report-modal .report-run-again-button .report-action-icon svg,.speed-result-modal.report-modal .report-run-again-button .report-action-icon i{width:20px!important;height:20px!important;}
  .speed-result-modal.report-modal .report-download-speed-circle{width:70px!important;height:70px!important;min-width:70px!important;border-width:3px!important;}
  .speed-result-modal.report-modal .report-download-speed-circle strong{font-size:16px!important;}
  .speed-result-modal.report-modal .report-download-speed-circle small{font-size:8px!important;margin-top:3px!important;}
}
@media(max-width:380px){
  .speed-result-modal.report-modal .report-header-actions{gap:5px!important;}
  .speed-result-modal.report-modal .report-header-actions > .report-write-review-button,
  .speed-result-modal.report-modal .report-header-actions > .report-run-again-button{height:64px!important;min-height:64px!important;}
  .speed-result-modal.report-modal .report-write-review-button b,
  .speed-result-modal.report-modal .report-run-again-button b{font-size:9px!important;}
  .speed-result-modal.report-modal .report-download-speed-circle{width:62px!important;height:62px!important;min-width:62px!important;}
  .speed-result-modal.report-modal .report-download-speed-circle strong{font-size:14px!important;}
}


/* V1.1.2 FINAL UI OVERRIDES: result action order + stable sticky header */
.speed-result-modal.report-modal .report-header-actions{
  display:grid!important;
  grid-template-columns:104px minmax(180px,1fr) minmax(180px,1fr)!important;
  flex-direction:initial!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
  padding:0!important;
}
.speed-result-modal.report-modal .report-download-speed-circle{
  grid-column:1!important;
  grid-row:1!important;
  width:96px!important;height:96px!important;min-width:96px!important;
  margin:0 auto!important;
}
.speed-result-modal.report-modal .report-run-again-button{
  grid-column:2!important;grid-row:1!important;
}
.speed-result-modal.report-modal .report-write-review-button{
  grid-column:3!important;grid-row:1!important;
}
@media(max-width:900px){
  .speed-result-modal.report-modal .report-header-actions{grid-template-columns:88px minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;}
  .speed-result-modal.report-modal .report-download-speed-circle{width:80px!important;height:80px!important;min-width:80px!important;}
}
@media(max-width:620px){
  .speed-result-modal.report-modal .report-header-actions{grid-template-columns:72px minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important;}
  .speed-result-modal.report-modal .report-download-speed-circle{width:68px!important;height:68px!important;min-width:68px!important;}
  .speed-result-modal.report-modal .report-run-again-button,
  .speed-result-modal.report-modal .report-write-review-button{min-height:64px!important;height:64px!important;padding:6px 4px!important;}
}
@media(max-width:430px){
  .speed-result-modal.report-modal .report-header-actions{grid-template-columns:1fr 1fr!important;}
  .speed-result-modal.report-modal .report-download-speed-circle{grid-column:1!important;grid-row:1!important;justify-self:center!important;}
  .speed-result-modal.report-modal .report-run-again-button{grid-column:2!important;grid-row:1!important;}
  .speed-result-modal.report-modal .report-write-review-button{grid-column:1/-1!important;grid-row:2!important;}
}

/* ========================================================================
   GLOBAL HOMEPAGE ICON SYSTEM — fixed box, padding, centering & visual weight
   Scoped to the homepage so the report/tool detail pages keep their own
   intentionally different icon scales.
   ======================================================================== */
body:has(#speed-test) .quick-stat-icon,
body:has(#speed-test) .card-icon,
body:has(#speed-test) .detail-icon,
body:has(#speed-test) .measurement-icon,
body:has(#speed-test) .report-icon,
body:has(#speed-test) .report-result-icon,
body:has(#speed-test) .report-latency-icon,
body:has(#speed-test) .report-action-icon {
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  place-items:center !important;
  padding:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  overflow:hidden !important;
  line-height:1 !important;
  text-align:center !important;
  vertical-align:middle !important;
}

/* Compact KPI icons */
body:has(#speed-test) .quick-stat-icon {
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  flex:0 0 40px !important;
  border-radius:12px !important;
  margin:0 auto 6px !important;
  box-shadow:0 7px 16px rgba(18,45,86,.10) !important;
}
body:has(#speed-test) .quick-stat-icon i,
body:has(#speed-test) .quick-stat-icon svg {
  width:18px !important;
  height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
  margin:0 !important;
  flex:0 0 18px !important;
  font-size:18px !important;
  line-height:1 !important;
}

/* Dashboard metric icons */
body:has(#speed-test) .card-icon {
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  flex:0 0 44px !important;
  padding:0 !important;
  border-radius:12px !important;
  margin:0 !important;
  box-shadow:0 7px 16px rgba(20,40,80,.09) !important;
}
body:has(#speed-test) .card-icon i,
body:has(#speed-test) .card-icon svg {
  width:19px !important;
  height:19px !important;
  max-width:19px !important;
  max-height:19px !important;
  margin:0 !important;
  flex:0 0 19px !important;
  font-size:19px !important;
  line-height:1 !important;
}

/* Connection detail icons */
body:has(#speed-test) .detail-icon {
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  flex:0 0 40px !important;
  border-radius:11px !important;
  margin:0 !important;
  box-shadow:0 6px 14px rgba(20,40,80,.08) !important;
}
body:has(#speed-test) .detail-icon i,
body:has(#speed-test) .detail-icon svg {
  width:17px !important;
  height:17px !important;
  max-width:17px !important;
  max-height:17px !important;
  margin:0 !important;
  flex:0 0 17px !important;
  font-size:17px !important;
  line-height:1 !important;
}

/* Measurement / information cards */
body:has(#speed-test) .measurement-icon {
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  flex:0 0 52px !important;
  border-radius:14px !important;
  padding:0 !important;
  margin:0 0 14px !important;
  box-shadow:0 9px 20px rgba(20,40,80,.09) !important;
}
body:has(#speed-test) .measurement-icon i,
body:has(#speed-test) .measurement-icon svg {
  width:23px !important;
  height:23px !important;
  max-width:23px !important;
  max-height:23px !important;
  margin:0 !important;
  flex:0 0 23px !important;
  font-size:23px !important;
  line-height:1 !important;
}

/* Result/report icons: one fixed visual system instead of per-icon offsets */
body:has(#speed-test) .report-icon {
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  min-height:56px !important;
  flex:0 0 56px !important;
  border-radius:15px !important;
  padding:0 !important;
  margin:0 !important;
}
body:has(#speed-test) .report-result-icon {
  width:78px !important;
  height:78px !important;
  min-width:78px !important;
  min-height:78px !important;
  flex:0 0 78px !important;
  border-radius:18px !important;
  padding:0 !important;
  margin:0 auto 16px !important;
}
body:has(#speed-test) .report-latency-icon {
  width:60px !important;
  height:60px !important;
  min-width:60px !important;
  min-height:60px !important;
  flex:0 0 60px !important;
  border-radius:50% !important;
  padding:0 !important;
  margin:0 auto !important;
}
body:has(#speed-test) .report-icon i,
body:has(#speed-test) .report-icon svg,
body:has(#speed-test) .report-result-icon i,
body:has(#speed-test) .report-result-icon svg,
body:has(#speed-test) .report-latency-icon i,
body:has(#speed-test) .report-latency-icon svg {
  position:static !important;
  inset:auto !important;
  width:52% !important;
  height:52% !important;
  max-width:52% !important;
  max-height:52% !important;
  margin:0 !important;
  flex:0 0 auto !important;
  transform:none !important;
  font-size:24px !important;
  line-height:1 !important;
}

/* Action icons and rating buttons */
body:has(#speed-test) .report-action-icon {
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  flex:0 0 36px !important;
  border-radius:10px !important;
  margin:0 !important;
}
body:has(#speed-test) .report-action-icon i,
body:has(#speed-test) .report-action-icon svg {
  width:18px !important;
  height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
  margin:0 !important;
  font-size:18px !important;
  line-height:1 !important;
}
body:has(#speed-test) .homepage-star-btn {
  box-sizing:border-box !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
}
body:has(#speed-test) .homepage-star-btn i {
  margin:0 !important;
  font-size:18px !important;
  line-height:1 !important;
}

/* Keep all icon-bearing flex rows vertically locked to the same baseline. */
body:has(#speed-test) .card-label,
body:has(#speed-test) .detail-chip,
body:has(#speed-test) .report-meta-item,
body:has(#speed-test) .report-detail-item,
body:has(#speed-test) .report-action-row {
  align-items:center !important;
}

@media (max-width:520px){
  body:has(#speed-test) .quick-stat-icon{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;flex-basis:36px!important;border-radius:10px!important;}
  body:has(#speed-test) .quick-stat-icon i,body:has(#speed-test) .quick-stat-icon svg{width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important;font-size:16px!important;flex-basis:16px!important;}
  body:has(#speed-test) .card-icon{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;flex-basis:40px!important;border-radius:11px!important;}
  body:has(#speed-test) .card-icon i,body:has(#speed-test) .card-icon svg{width:17px!important;height:17px!important;max-width:17px!important;max-height:17px!important;font-size:17px!important;flex-basis:17px!important;}
  body:has(#speed-test) .detail-icon{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;flex-basis:36px!important;}
  body:has(#speed-test) .detail-icon i,body:has(#speed-test) .detail-icon svg{width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important;font-size:16px!important;flex-basis:16px!important;}
  body:has(#speed-test) .measurement-icon{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;flex-basis:48px!important;border-radius:13px!important;}
  body:has(#speed-test) .measurement-icon i,body:has(#speed-test) .measurement-icon svg{width:21px!important;height:21px!important;max-width:21px!important;max-height:21px!important;font-size:21px!important;flex-basis:21px!important;}
}

/* ========================================================================
   REPORT OVERLAP HOTFIX — keep the approved visual design, fix only layout
   ======================================================================== */
/* Latency cards use a two-column grid so the icon never collides with the
   label/value block. The existing sparkline stays pinned along the bottom. */
.speed-result-modal.report-modal .report-latency-grid .report-detail-item{
  display:grid !important;
  grid-template-columns:52px minmax(0,1fr) !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  align-items:center !important;
  column-gap:10px !important;
  row-gap:2px !important;
  min-width:0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.speed-result-modal.report-modal .report-latency-grid .report-detail-item .report-latency-icon{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  flex:none !important;
  margin:0 !important;
  align-self:center !important;
  justify-self:center !important;
}
.speed-result-modal.report-modal .report-latency-grid .report-detail-item > div{
  grid-column:2 !important;
  grid-row:1 / span 2 !important;
  min-width:0 !important;
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:3px !important;
  overflow:hidden !important;
}
.speed-result-modal.report-modal .report-latency-grid .report-detail-item > div b,
.speed-result-modal.report-modal .report-latency-grid .report-detail-item > div > span,
.speed-result-modal.report-modal .report-latency-grid .report-detail-item > div small{
  display:block !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.speed-result-modal.report-modal .report-latency-grid .report-detail-item > div > span{
  line-height:1.15 !important;
  white-space:nowrap !important;
}
.speed-result-modal.report-modal .report-latency-grid .report-sparkline{
  grid-column:1 / -1 !important;
  grid-row:3 !important;
  position:absolute !important;
  left:10px !important;
  right:10px !important;
  bottom:5px !important;
  width:calc(100% - 20px) !important;
  height:20px !important;
  pointer-events:none !important;
}

/* The four result/gauge icons were visually undersized after the compact
   viewport rules. Keep the gauge design unchanged; only enlarge its center
   Font Awesome glyph so it remains readable inside the existing gauge. */
.speed-result-modal.report-modal .report-gauge-face > i,
.speed-result-modal.report-modal .report-gauge-face > svg{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  min-height:30px !important;
  font-size:30px !important;
  line-height:1 !important;
}

/* Metadata text gets a protected content column on narrow desktop widths. */
.speed-result-modal.report-modal .report-meta-item > div{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.speed-result-modal.report-modal .report-meta-item > div > span{
  min-width:0 !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

@media (max-width:900px){
  .speed-result-modal.report-modal .report-latency-grid .report-detail-item{
    grid-template-columns:48px minmax(0,1fr) !important;
    column-gap:8px !important;
  }
  .speed-result-modal.report-modal .report-latency-grid .report-detail-item .report-latency-icon{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
  }
  .speed-result-modal.report-modal .report-gauge-face > i,
  .speed-result-modal.report-modal .report-gauge-face > svg{
    width:27px !important;
    height:27px !important;
    min-width:27px !important;
    min-height:27px !important;
    font-size:27px !important;
  }
}

@media (max-width:560px){
  .speed-result-modal.report-modal .report-latency-grid .report-detail-item{
    grid-template-columns:44px minmax(0,1fr) !important;
    column-gap:7px !important;
  }
  .speed-result-modal.report-modal .report-latency-grid .report-detail-item .report-latency-icon{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
  }
}

/* ========================================================================
   REPORT MICRO-FIX V52 — spacing + true gauge icon centering
   Keep the approved report design; only correct icon positioning/spacing.
   ======================================================================== */
.speed-result-modal.report-modal .report-latency-grid .report-detail-item{
  column-gap:16px !important;
}
.speed-result-modal.report-modal .report-latency-grid .report-detail-item .report-latency-icon{
  justify-self:center !important;
}
.speed-result-modal.report-modal .report-gauge-face > i,
.speed-result-modal.report-modal .report-gauge-face > svg{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
  z-index:4 !important;
  display:block !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  min-height:30px !important;
  line-height:1 !important;
  text-align:center !important;
}
@media (max-width:900px){
  .speed-result-modal.report-modal .report-latency-grid .report-detail-item{column-gap:13px !important;}
  .speed-result-modal.report-modal .report-gauge-face > i,
  .speed-result-modal.report-modal .report-gauge-face > svg{
    width:27px !important;height:27px !important;min-width:27px !important;min-height:27px !important;font-size:27px !important;
  }
}
@media (max-width:560px){
  .speed-result-modal.report-modal .report-latency-grid .report-detail-item{column-gap:11px !important;}
  .speed-result-modal.report-modal .report-gauge-face > i,
  .speed-result-modal.report-modal .report-gauge-face > svg{
    width:25px !important;height:25px !important;min-width:25px !important;min-height:25px !important;font-size:25px !important;
  }
}


/* ========================================================================
   Global homepage visual refinement — preserve the existing design, but
   normalize card/icon geometry and make history controls unmistakable.
   ======================================================================== */
.dashboard .card.card-modern{
  position:relative;
  min-height:142px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:0;
  overflow:hidden;
  border:1px solid var(--panel-border);
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--accent, var(--cyan)) 10%, transparent), transparent 45%),
    linear-gradient(145deg,var(--panel),var(--surface-hover-soft));
  box-shadow:0 10px 26px rgba(20,40,80,.06);
}
.dashboard .card.card-modern .card-label{min-height:38px;align-items:center;}
.dashboard .card.card-modern .card-icon{
  width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
  flex:0 0 38px!important;display:grid!important;place-items:center!important;
  padding:0!important;margin:0!important;border-radius:11px!important;
  box-sizing:border-box!important;
}
.dashboard .card.card-modern .card-icon i,
.dashboard .card.card-modern .card-icon svg{
  width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;
  font-size:18px!important;display:block!important;margin:0!important;
}
.dashboard .card.card-modern .card-value{margin-top:13px;}
.dashboard .card.card-modern .card-sub{margin-top:6px;}
.dashboard .card.card-modern:hover{transform:translateY(-3px);}
.history-card .history-title>i{width:18px;height:18px;display:inline-grid;place-items:center;color:var(--cyan);font-size:16px;}
.history-page-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;}
.history-page-btn i{font-size:11px;line-height:1;}
.history-page-btn.active{font-weight:800;}

/* Global theme-safe homepage surfaces. */
:root[data-theme="dark"] .dashboard .card.card-modern{box-shadow:0 12px 30px rgba(0,0,0,.18);}
:root[data-theme="light"] .dashboard .card.card-modern{box-shadow:0 12px 28px rgba(38,78,129,.08);}


/* SEO resource links: visible, useful internal linking without changing the core test UI. */
.seo-network-resources{margin:34px 0 10px;padding:24px;border:1px solid var(--border);border-radius:18px;background:var(--panel);}
.seo-network-resources h2{margin:0 0 8px;}
.seo-network-resources p{max-width:850px;color:var(--muted);}
.seo-resource-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.seo-resource-links a{display:inline-flex;align-items:center;padding:9px 14px;border:1px solid var(--border);border-radius:999px;color:var(--text);text-decoration:none;background:var(--panel-2,var(--panel));font-weight:600;}
.seo-resource-links a:hover{border-color:var(--cyan);color:var(--cyan);}
.review-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}


/* Homepage: modern Internet Speed & Network Diagnostics resource panel. */
.seo-network-resources{
  position:relative;isolation:isolate;overflow:hidden;margin:38px 0 14px!important;padding:clamp(20px,3vw,32px)!important;
  border:1px solid var(--panel-border,var(--border));border-radius:24px;
  background:radial-gradient(ellipse at 0% 0%,color-mix(in srgb,var(--cyan) 12%,transparent),transparent 42%),
             radial-gradient(ellipse at 100% 100%,color-mix(in srgb,#7c6cff 9%,transparent),transparent 38%),var(--panel);
  box-shadow:0 16px 40px rgba(20,40,80,.07);
}
.seo-network-resources:before{content:"";position:absolute;z-index:-1;right:-55px;top:-78px;width:210px;height:210px;border:1px solid color-mix(in srgb,var(--cyan) 18%,transparent);border-radius:50%;box-shadow:0 0 0 24px color-mix(in srgb,var(--cyan) 3%,transparent),0 0 0 48px color-mix(in srgb,var(--cyan) 2%,transparent);pointer-events:none;}
.seo-resources-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;}
.seo-resources-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--cyan);font:700 10px 'JetBrains Mono',monospace;letter-spacing:.13em;}
.seo-resources-kicker i{font-size:13px;}
.seo-resources-note{display:inline-flex;align-items:center;gap:7px;color:var(--text-mid);font-size:11px;font-weight:600;}
.seo-resources-note i{color:#35bd8a;}
.seo-resources-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px;}
.seo-network-resources .seo-resources-heading h2{margin:0 0 9px;text-align:left;font-size:clamp(22px,2.7vw,30px);line-height:1.2;letter-spacing:-.035em;}
.seo-network-resources .seo-resources-heading p{max-width:680px;margin:0;color:var(--text-mid);font-size:14px;line-height:1.7;}
.seo-resources-main-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;padding:11px 15px;border:1px solid color-mix(in srgb,var(--cyan) 35%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--cyan) 9%,var(--panel));color:var(--text)!important;text-decoration:none;font-size:12px;font-weight:750;transition:transform .2s ease,border-color .2s ease,background .2s ease;}
.seo-resources-main-link:hover{transform:translateY(-2px);border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 14%,var(--panel));}
.seo-resource-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px!important;margin-top:0!important;}
.seo-resource-card{min-width:0;display:flex!important;align-items:center;gap:12px;padding:16px!important;border:1px solid var(--panel-border,var(--border));border-radius:16px!important;background:color-mix(in srgb,var(--panel-2,var(--panel)) 88%,transparent)!important;color:var(--text)!important;text-decoration:none!important;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.seo-resource-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--cyan) 55%,var(--border));box-shadow:0 12px 24px rgba(20,40,80,.08);}
.seo-resource-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;font-size:17px;}
.seo-resource-icon.tools-icon{color:var(--cyan);background:color-mix(in srgb,var(--cyan) 13%,transparent);}
.seo-resource-icon.guides-icon{color:#8b7cff;background:color-mix(in srgb,#8b7cff 13%,transparent);}
.seo-resource-icon.faq-icon{color:#35bd8a;background:color-mix(in srgb,#35bd8a 13%,transparent);}
.seo-resource-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:5px;}
.seo-resource-copy strong{font-size:13px;line-height:1.3;font-weight:750;}
.seo-resource-copy small{font-size:11px;line-height:1.5;color:var(--text-mid);}
.seo-resource-arrow{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;color:var(--text-mid);font-size:11px;transition:color .2s ease,border-color .2s ease,transform .2s ease;}
.seo-resource-card:hover .seo-resource-arrow{color:var(--cyan);border-color:var(--cyan);transform:translateX(2px);}
:root[data-theme="dark"] .seo-network-resources{box-shadow:0 18px 42px rgba(0,0,0,.16);}
:root[data-theme="dark"] .seo-resource-card:hover{box-shadow:0 14px 28px rgba(0,0,0,.2);}
@media(max-width:900px){.seo-resource-links{grid-template-columns:1fr!important}.seo-resource-card{padding:14px!important}.seo-resource-copy small{font-size:12px}}
@media(max-width:620px){.seo-network-resources{margin-top:28px!important;padding:19px!important;border-radius:19px!important}.seo-resources-topline{align-items:flex-start}.seo-resources-note{font-size:10px}.seo-resources-heading{align-items:flex-start;flex-direction:column;gap:15px}.seo-network-resources .seo-resources-heading h2{font-size:23px}.seo-network-resources .seo-resources-heading p{font-size:13px}.seo-resources-main-link{width:100%;box-sizing:border-box}.seo-resource-card{gap:10px}.seo-resource-icon{width:38px;height:38px;flex-basis:38px}.seo-resource-copy strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.seo-resource-card,.seo-resources-main-link,.seo-resource-arrow{transition:none}}

/* FIX: show exactly one theme-specific logo at a time in header and footer.
   !important prevents the generic footer-brand img display rule from overriding
   the light-logo visibility rule when the site is in light mode. */
:root[data-theme="light"] .site-header .logo-chip img.logo-for-light,
:root[data-theme="light"] .site-footer .logo-chip img.logo-for-light {
  display: block !important;
}
:root[data-theme="light"] .site-header .logo-chip img.logo-for-dark,
:root[data-theme="light"] .site-footer .logo-chip img.logo-for-dark {
  display: none !important;
}
:root[data-theme="dark"] .site-header .logo-chip img.logo-for-light,
:root[data-theme="dark"] .site-footer .logo-chip img.logo-for-light {
  display: none !important;
}
:root[data-theme="dark"] .site-header .logo-chip img.logo-for-dark,
:root[data-theme="dark"] .site-footer .logo-chip img.logo-for-dark {
  display: block !important;
}


/* Final logo visibility guard: the footer has a generic img display rule, so
   force the theme-specific asset state in both header and footer. */
.site-header .logo-chip img.logo-for-light,
.site-footer .logo-chip img.logo-for-light { display: block !important; }
.site-header .logo-chip img.logo-for-dark,
.site-footer .logo-chip img.logo-for-dark { display: none !important; }
:root[data-theme="dark"] .site-header .logo-chip img.logo-for-light,
:root[data-theme="dark"] .site-footer .logo-chip img.logo-for-light { display: none !important; }
:root[data-theme="dark"] .site-header .logo-chip img.logo-for-dark,
:root[data-theme="dark"] .site-footer .logo-chip img.logo-for-dark { display: block !important; }
