/* Melnet speedtest — base Identity, botão azul */
:root{
  --g50:#f0fdf4;--g100:#dcfce7;--g200:#bbf7d0;--g300:#86efac;--g400:#4ade80;
  --g500:#22c55e;--g600:#16a34a;--g700:#15803d;--g800:#166534;--g900:#14532d;
  --on-green:#052e16;
}
/* section uses Melnet navy instead of pure black-green */
.speed{background:radial-gradient(ellipse at 15% 0,#0B315E 0%,#071F3D 55%,#051628 100%)!important}
/* ---------- Teste de velocidade (somente index.html) ---------- */
.speed{position:relative;overflow:hidden;background:radial-gradient(ellipse at 15% 0,#14532d 0%,#0d0d0d 55%,#0a0a0a 100%);color:#fff;padding:112px 0}
.speed:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 70% 50%,#000,transparent 75%);mask-image:radial-gradient(ellipse at 70% 50%,#000,transparent 75%);pointer-events:none}
.speed-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.speed-bg i{position:absolute;left:-260px;height:2px;width:240px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--g400));opacity:0;animation:streak 7s linear infinite}
.speed-bg i:nth-child(1){top:16%;animation-delay:0s}
.speed-bg i:nth-child(2){top:38%;animation-delay:2.4s;width:180px}
.speed-bg i:nth-child(3){top:63%;animation-delay:4.6s}
.speed-bg i:nth-child(4){top:84%;animation-delay:1.2s;width:300px}
@keyframes streak{0%{transform:translateX(0);opacity:0}8%{opacity:.8}92%{opacity:.45}100%{transform:translateX(calc(100vw + 520px));opacity:0}}
.st-grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.st-copy .kicker{color:var(--g300)}
.st-copy h2{font-size:clamp(34px,4.6vw,56px);line-height:1.08;letter-spacing:-.04em;margin:16px 0;color:#fff;font-weight:800}
.st-copy h2 span{color:var(--g400)}
.st-copy>p{font-size:18px;line-height:1.65;color:#e5e5e5;max-width:470px;margin:0 0 26px}
.st-tips{list-style:none;margin:0 0 32px;padding:0;display:grid;gap:12px;max-width:500px}
.st-tips li{display:flex;gap:14px;align-items:center;font-size:15.5px;line-height:1.5;color:#d4d4d4}
.st-tips .ic{flex:none;width:40px;height:40px;padding:9px;border-radius:12px;background:#ffffff14;border:1px solid #ffffff26;color:var(--g400)}
.st-card{position:relative;border-radius:32px;border:1px solid #ffffff33;background:linear-gradient(145deg,#ffffff1f,#ffffff08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:30px 30px 24px;box-shadow:0 30px 90px #00000066,inset 0 1px 0 #ffffff26}
.st-gauge{position:relative;width:min(100%,380px);aspect-ratio:360/300;margin:0 auto}
.st-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.st-track{fill:none;stroke:#ffffff1c;stroke-width:14;stroke-linecap:round}
.st-prog{fill:none;stroke-width:14;stroke-linecap:round;filter:drop-shadow(0 0 8px #22c55eaa);transition:stroke-dasharray .16s linear}
.st-tick{stroke:#ffffff3a;stroke-width:1.5}
.st-tick.mj{stroke:#ffffff80;stroke-width:2.5}
.st-lbl{fill:#d4d4d4;font-size:12px;font-weight:700;text-anchor:middle;dominant-baseline:middle;font-family:inherit}
.st-card[data-state=run] .st-center:after{content:"";position:absolute;inset:7%;border-radius:50%;border:1px solid #4ade8077;pointer-events:none;animation:ring 1.6s ease-out infinite}
@keyframes ring{from{transform:scale(.82);opacity:.9}to{transform:scale(1.1);opacity:0}}
.st-center{position:absolute;left:0;top:0;width:100%;aspect-ratio:1;display:grid;place-items:center;text-align:center}
.st-go{width:44%;aspect-ratio:1;border-radius:50%;border:0;cursor:pointer;color:var(--on-green);background:radial-gradient(circle at 35% 28%,var(--g300),var(--g500) 60%,var(--g600));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-weight:900;letter-spacing:.14em;font-size:13px;line-height:1.2;padding:8px;transition:transform .2s;animation:breathe 2.8s ease-in-out infinite}
.st-go .ic{width:36px;height:36px;stroke-width:2.4}
.st-go:hover{transform:scale(1.05)}
@keyframes breathe{0%,100%{box-shadow:0 0 0 10px #22c55e22,0 0 0 22px #22c55e12,0 18px 50px #22c55e66}50%{box-shadow:0 0 0 16px #22c55e2e,0 0 0 34px #22c55e0d,0 18px 60px #22c55e88}}
.st-read{display:none;flex-direction:column;align-items:center}
.st-read small{font-size:12px;letter-spacing:.16em;font-weight:800;color:var(--g300)}
.st-read strong{font-size:clamp(54px,12vw,84px);line-height:1;letter-spacing:-.05em;font-weight:800;font-variant-numeric:tabular-nums;margin-top:6px}
.st-read em{font-style:normal;color:var(--g400);font-weight:700;letter-spacing:.08em;font-size:15px;margin-top:4px}
.st-card[data-state=run] .st-go,.st-card[data-state=done] .st-go{display:none}
.st-card[data-state=run] .st-read,.st-card[data-state=done] .st-read{display:flex}
.st-card[data-state=idle] .st-prog,.st-card[data-state=error] .st-prog{opacity:0}
.st-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.st-m{border-radius:18px;border:1px solid #ffffff1f;background:#ffffff0d;padding:14px 14px 12px;transition:border-color .25s,background .25s,box-shadow .25s}
.st-m .row{display:flex;align-items:center;gap:8px}
.st-m .ic{width:19px;height:19px;color:var(--g400)}
.st-m .l{font-size:11.5px;letter-spacing:.1em;font-weight:800;color:#d4d4d4;text-transform:uppercase}
.st-m b{display:block;margin-top:6px;font-size:28px;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.st-m b em{font-style:normal}
.st-m b small{font-size:12px;color:var(--g300);margin-left:4px;font-weight:700;letter-spacing:.04em}
.st-m.on{border-color:var(--g400);background:#22c55e1a;box-shadow:0 0 28px #22c55e33}
.st-verdict{margin:16px 4px 0;text-align:center;font-size:15px;color:#e5e5e5;min-height:48px;line-height:1.55}
.st-after{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.st-after .btn-ghost{background:transparent;cursor:pointer;font-family:inherit}
.st-after[hidden]{display:none}
.st-after .btn{padding:13px 22px;font-size:14px}
.st-note{margin:16px 0 0;text-align:center;font-size:12.5px;color:#a3a3a3;line-height:1.55}
@media(max-width:900px){
  .speed{padding:84px 0}
  .st-grid{grid-template-columns:1fr;gap:44px}
  .st-copy>p{max-width:none}
}
@media(max-width:560px){
  .st-card{padding:22px 16px 20px;border-radius:26px}
  .st-metrics{gap:8px}
  .st-m{padding:12px 10px 10px}
  .st-m .l{font-size:10.5px;letter-spacing:.06em}
  .st-m b{font-size:22px}
  .st-after .btn{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){
  .speed-bg i,.st-go,.st-card[data-state=run] .st-center:after{animation:none}
  .st-prog{transition:none}
}

/* Botão INICIAR — azul Melnet */
.st-go{
  color:#fff!important;
  background:radial-gradient(circle at 35% 28%,#3b82f6,#1d4ed8 55%,#1e3a8a)!important;
  box-shadow:0 0 0 12px rgba(37,99,235,.2),0 12px 36px rgba(29,78,216,.45)!important;
  animation:none!important;
}
.st-go:hover{transform:scale(1.05);box-shadow:0 0 0 16px rgba(37,99,235,.28),0 16px 44px rgba(29,78,216,.55)!important}
/* Botões do after */
.st-after .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:13px 22px;font-size:14px;font-weight:700;text-decoration:none;transition:.2s;white-space:nowrap}
.st-after .btn-primary{background:linear-gradient(110deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 12px 30px rgba(29,78,216,.4);border:0}
.st-after .btn-primary:hover{filter:brightness(1.08)}
.st-after .btn-ghost{border:1.5px solid rgba(255,255,255,.5);color:#fff;background:transparent;cursor:pointer;font-family:inherit}
.st-after .btn-ghost:hover{background:rgba(255,255,255,.08)}
.st-after .btn .ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.st-after .btn .ic-fill{fill:currentColor;stroke:none}
.st-after .btn .arrow{width:14px;height:14px}
.st-center .ic,.st-m .ic,.st-go .ic{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:2}
.st-go .ic{width:36px;height:36px;stroke-width:2.4;fill:currentColor;stroke:none}
.st-m .ic{width:14px;height:14px;color:var(--g400)}

.st-copy .kicker{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--g300);margin-bottom:4px}
.st-external{display:inline-flex;align-items:center;gap:10px;border:1.5px solid rgba(255,255,255,.5);color:#fff;border-radius:999px;padding:14px 22px;font-weight:700;font-size:14px;text-decoration:none}
.st-external:hover{background:rgba(255,255,255,.08)}
.st-external .ic{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.st-tips .ic{flex:none;width:40px;height:40px;padding:9px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:var(--g400);stroke:currentColor;fill:none;stroke-width:2;box-sizing:border-box}


/* Velocímetro — valores em branco */
.speed .st-read strong,
.speed #st-num,
.speed .st-m b,
.speed .st-m b em,
.speed #st-ping,
.speed #st-down,
.speed #st-up,
.speed .st-m small,
.speed .st-read em,
.speed #st-unit,
.speed #st-phase{
  color:#fff!important
}
.speed .st-m .l,
.speed .st-m .row span{color:rgba(255,255,255,.75)!important}
.speed .st-verdict{color:#e8eef5!important}
