.sws-speed{--lime:#bce243;--black:#111;--ink:#202020;--muted:#696d67;--border:#e3e6dc;--pale:#f6f8f2;font-family:inherit;color:var(--ink);max-width:1160px;margin:16px auto 38px;padding:clamp(28px,3.6vw,42px) clamp(22px,3.2vw,34px);background:var(--pale);border:1px solid var(--border);border-radius:24px;box-sizing:border-box}
.sws-speed *, .sws-speed *::before,.sws-speed *::after{box-sizing:border-box}
.sws-speed .sws-speed__intro h2{margin:0 0 6px!important;letter-spacing:-.045em;font-size:clamp(28px,3vw,40px)!important;line-height:1.16!important;color:#111!important;font-weight:850!important}
.sws-speed .sws-speed__intro p,.sws-speed p{color:var(--muted);line-height:1.55}.sws-speed .sws-speed__intro p{font-size:14px;margin:0 0 18px}
.sws-speed .sws-speed__label{font-size:13px;display:block;color:#111;font-weight:750;margin-bottom:8px}
.sws-speed .sws-speed__input-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:stretch!important;min-width:0;margin-top:6px}
.sws-speed .sws-speed__input-row>input{width:100%!important;min-width:0!important;min-height:54px!important;margin:0!important;box-shadow:none!important;padding:14px 18px!important;background:#fff!important;border:1px solid #cdd2c9!important;border-radius:12px!important;color:#151515!important;font-size:16px!important;transition:border-color .15s ease,box-shadow .15s ease}
.sws-speed .sws-speed__input-row>input:focus{border-color:#bce243!important;outline:none!important;box-shadow:0 0 0 3px rgba(188,226,67,.24)!important}
.sws-speed button,.sws-speed .sws-speed__actions a{font-family:inherit!important;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;border-radius:11px!important;font-weight:800!important;letter-spacing:.055em!important;line-height:1.15!important;text-decoration:none!important}
.sws-speed .sws-speed__run,.sws-speed .sws-speed__actions button,.sws-speed .sws-speed__actions a{display:inline-flex!important;justify-content:center!important;align-items:center!important;gap:10px!important;padding:15px 22px!important;background:#111!important;border:2px solid #111!important;color:#fff!important;font-size:12px!important;white-space:nowrap;text-transform:uppercase}
.sws-speed .sws-speed__run{min-height:54px!important;min-width:218px!important;width:auto!important;margin:0!important}
.sws-speed .sws-speed__run:hover,.sws-speed .sws-speed__actions button:hover,.sws-speed .sws-speed__actions a:hover{background:#bce243!important;border-color:#bce243!important;color:#fff!important;box-shadow:0 10px 22px rgba(188,226,67,.28)!important;transform:translateY(-2px)}
.sws-speed button:focus-visible,.sws-speed a:focus-visible,.sws-speed input:focus-visible{outline:2px solid #67970d!important;outline-offset:3px!important}
.sws-speed button:disabled{opacity:.65;cursor:wait!important;transform:none!important}
.sws-speed__options{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:13px}
.sws-speed__device{display:inline-flex;align-items:center;cursor:pointer;margin:0!important}
.sws-speed__device input{position:absolute;opacity:0;width:1px;height:1px}
.sws-speed__device span{display:inline-flex;align-items:center;justify-content:center;font-weight:750;color:#333;background:#fff;border:1px solid #daddd5;border-radius:999px;padding:9px 17px;min-width:80px;font-size:13px;line-height:1.2;transition:.18s}
.sws-speed__device input:checked+span{background:#111;border-color:#111;color:#fff}
.sws-speed__device input:focus-visible+span{outline:3px solid #bce243;outline-offset:3px}
.sws-speed__micro{color:#767b70;font-size:12px;margin-left:4px}
.sws-speed__status{font-size:13px;font-weight:700;color:#3d6637;margin-top:14px;min-height:1px}.sws-speed__status:empty{display:none}.sws-speed__status--error{color:#a43f32}
.sws-speed__results[hidden]{display:none}.sws-speed__results{margin-top:24px}
.sws-speed__report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--border);border-radius:17px;padding:23px;margin-bottom:13px}
.sws-speed__overline,.sws-speed__tiny{font-size:11px;color:#777c75;letter-spacing:.07em;text-transform:uppercase;font-weight:800}
.sws-speed__report-head h3{font-size:28px!important;line-height:1.15!important;margin:8px 0!important;color:#111!important;font-weight:850!important;letter-spacing:-.04em!important}
.sws-speed__tested{margin:0!important;font-weight:700;overflow-wrap:anywhere;font-size:14px}.sws-speed__tested-at{font-size:12px;color:#70756c;white-space:nowrap}
.sws-speed__score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.sws-speed__score{border-radius:16px;border:1px solid var(--border);background:#fff;padding:18px;display:flex;align-items:center;gap:12px;min-width:0}
.sws-speed__ring{--ring-color:#399b50;width:66px;height:66px;flex:0 0 66px;display:grid;place-items:center;border-radius:50%;position:relative;background:conic-gradient(var(--ring-color) calc(var(--v)*1%),#eaede5 0)}
.sws-speed__ring::before{content:'';position:absolute;inset:6px;background:#fff;border-radius:50%}
.sws-speed__ring strong{position:relative;z-index:1;font-size:20px;color:#111;font-weight:850}.sws-speed__score.warn .sws-speed__ring{--ring-color:#c8a12a}.sws-speed__score.bad .sws-speed__ring{--ring-color:#d85d52}.sws-speed__score.unknown .sws-speed__ring{--ring-color:#afb4aa}
.sws-speed__score-label{font-size:14px;font-weight:750;color:#111;margin-top:5px}
.sws-speed__section{padding:23px;background:#fff;border:1px solid var(--border);border-radius:18px;margin-top:13px}
.sws-speed__section h3{margin:0 0 9px!important;font-size:24px!important;color:#111!important;letter-spacing:-.03em!important;font-weight:850!important}.sws-speed__section h4{margin:13px 0 12px!important;font-size:16px!important;color:#222!important}
.sws-speed .sws-speed__muted{font-size:13px;margin:0 0 16px!important;color:#697069!important}.sws-speed__metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.sws-speed__metric{padding:16px;border:1px solid var(--border);border-radius:14px;min-width:0}.sws-speed__metric-top{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#64685f;font-size:11px;font-weight:750}.sws-speed__metric>strong{display:block;font-size:25px;margin:13px 0 8px;color:#111}.sws-speed__rating{font-size:10px;border-radius:99px;padding:5px 8px;background:#f3f5f0;color:#575b55}.sws-speed__rating.good{color:#227142;background:#e9f5e8}.sws-speed__rating.warn{color:#845f0e;background:#fff2cb}.sws-speed__rating.bad{color:#a53a36;background:#ffefed}.sws-speed__metric-note{font-size:12px;color:#71756f;line-height:1.45}
.sws-speed__timeline{margin-top:18px;padding:17px;background:#f8faf5;border-radius:13px;border:1px solid var(--border)}.sws-speed__timeline h4{margin:0 0 15px!important}.sws-speed__bar-row{display:grid;grid-template-columns:94px minmax(0,1fr) 68px;align-items:center;gap:12px;margin:9px 0;font-size:12px;font-weight:750}.sws-speed__bar-row strong{text-align:right;color:#242424}.sws-speed__bar{height:11px;background:#e5e9df;border-radius:9px;overflow:hidden}.sws-speed__bar i{display:block;height:100%;background:#bce243;border-radius:9px}
.sws-speed__fixes{display:grid;gap:10px}.sws-speed__fix{display:grid;grid-template-columns:40px minmax(0,1fr);gap:15px;padding:17px;background:#fafbf7;border:1px solid var(--border);border-radius:14px}.sws-speed__fix-num{width:32px;height:32px;background:rgba(188,226,67,.25);border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:900}.sws-speed__fix h4{margin:0 0 6px!important;font-size:17px!important;color:#111!important}.sws-speed__fix p{margin:0 0 8px!important;font-size:13px}.sws-speed__fix .sws-speed__how{color:#333!important}.sws-speed__savings{font-size:12px;color:#886b11;font-weight:800}
.sws-speed__field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:15px}.sws-speed__field{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fafbf7}.sws-speed__field span,.sws-speed__field small{display:block;color:#6f756b;font-size:12px}.sws-speed__field strong{font-size:19px;display:block;color:#111;margin:7px 0}
.sws-speed__actions{display:flex;gap:10px;flex-wrap:wrap}.sws-speed__actions button,.sws-speed__actions a{font-size:12px!important;min-height:47px!important;margin:0!important}.sws-speed__small{font-size:11px!important;margin-top:16px!important}
@media(max-width:1020px){.sws-speed__score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sws-speed__metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.sws-speed{margin:8px auto 22px;padding:22px 17px;border-radius:18px}.sws-speed .sws-speed__input-row{grid-template-columns:1fr!important}.sws-speed .sws-speed__run{width:100%!important;min-width:0!important}.sws-speed__score-grid,.sws-speed__metric-grid,.sws-speed__field-grid{grid-template-columns:1fr}.sws-speed__report-head{display:block}.sws-speed__tested-at{display:block;white-space:normal;margin-top:10px}.sws-speed__section{padding:18px}.sws-speed__actions{flex-direction:column}.sws-speed__actions button,.sws-speed__actions a{width:100%!important}.sws-speed__bar-row{grid-template-columns:70px minmax(0,1fr) 56px;gap:7px}}
@media(prefers-reduced-motion:reduce){.sws-speed button,.sws-speed a,.sws-speed input{transition:none!important;transform:none!important}}

.sws-speed .sws-speed__label{display:none!important}


/* SWS v0.1.2 — search form parity with Website Audit / Sitemap Explorer.
   Scoped to this plugin; existing result styles remain untouched. */
.sws-speed {
  width:100% !important;
  max-width:1150px !important;
  margin:8px auto 16px !important;
  padding:clamp(20px,3vw,32px) !important;
  border-radius:20px !important;
  background:#f6f7f1 !important;
  border:1px solid #e4e6de !important;
}
.sws-speed .sws-speed__intro h2 {
  margin:0 0 7px !important;
  padding:0 !important;
  color:#111 !important;
  font-size:clamp(23px,2.5vw,31px) !important;
  font-weight:800 !important;
  line-height:1.16 !important;
  letter-spacing:-.035em !important;
}
.sws-speed .sws-speed__intro p {
  max-width:760px;
  margin:0 !important;
  color:#666963 !important;
  font-size:15px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
}
.sws-speed .sws-speed__form { margin:17px 0 0 !important; }
.sws-speed .sws-speed__input-row {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  width:100% !important;
  gap:12px !important;
  align-items:stretch !important;
  margin:0 !important;
}
.sws-speed .sws-speed__input-row>input {
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  height:54px !important;
  min-height:54px !important;
  max-height:54px !important;
  margin:0 !important;
  padding:0 16px !important;
  border:1px solid #cacdc5 !important;
  border-radius:11px !important;
  color:#111 !important;
  background:#fff !important;
  font-size:16px !important;
  line-height:normal !important;
  box-shadow:none !important;
  transform:none !important;
}
.sws-speed .sws-speed__input-row>input:focus {
  outline:none !important;
  border-color:#96c036 !important;
  box-shadow:0 0 0 3px rgba(188,226,67,.22) !important;
}
.sws-speed .sws-speed__input-row>.sws-speed__run {
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:4px !important;
  box-sizing:border-box !important;
  width:auto !important;
  min-width:206px !important;
  height:54px !important;
  min-height:54px !important;
  max-height:54px !important;
  margin:0 !important;
  padding:0 20px !important;
  border:2px solid #111 !important;
  border-radius:11px !important;
  color:#fff !important;
  background:#111 !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.sws-speed .sws-speed__input-row>.sws-speed__run:hover,
.sws-speed .sws-speed__input-row>.sws-speed__run:focus-visible,
.sws-speed .sws-speed__actions button:hover,
.sws-speed .sws-speed__actions a:hover {
  color:#fff !important;
  background:#bce243 !important;
  border-color:#bce243 !important;
  box-shadow:0 10px 22px rgba(188,226,67,.28) !important;
}
.sws-speed .sws-speed__meta {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px 18px !important;
  flex-wrap:wrap !important;
  margin:9px 0 0 !important;
}
.sws-speed .sws-speed__micro {
  margin:0 !important;
  color:#757970 !important;
  font-size:11px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
}
.sws-speed .sws-speed__options {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
}
.sws-speed .sws-speed__device-label {font-size:11px;color:#757970;line-height:1.5;}
.sws-speed .sws-speed__device {margin:0 !important;position:relative;}
.sws-speed .sws-speed__device span {
  min-width:65px !important;
  padding:6px 11px !important;
  background:#fff;
  border:1px solid #daddd5;
  border-radius:999px;
  font-size:11px !important;
  font-weight:700;
  line-height:1.3;
}
.sws-speed .sws-speed__device input:checked+span {
  border-color:#111 !important;
  background:#111 !important;
  color:#fff !important;
}
.sws-speed .sws-speed__status--error {
  margin-top:13px !important;
  padding:13px 15px !important;
  border:1px solid #efddd7 !important;
  border-left:3px solid #c95c4c !important;
  border-radius:10px !important;
  background:#fffaf7 !important;
  color:#883d30 !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1.6 !important;
}
.sws-speed .sws-speed__error-help[hidden] {display:none !important;}
.sws-speed .sws-speed__error-help {display:flex;align-items:center;flex-wrap:wrap;gap:9px 13px;margin:10px 0 0;}
.sws-speed .sws-speed__error-help span{font-size:12px;line-height:1.5;color:#676d63;}
.sws-speed .sws-speed__external-link {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 13px !important;
  border-radius:9px !important;
  color:#fff !important;
  background:#111 !important;
  border:1px solid #111 !important;
  font-size:11px !important;
  line-height:1.2 !important;
  letter-spacing:.04em !important;
  font-weight:800 !important;
  text-decoration:none !important;
}
.sws-speed .sws-speed__external-link:hover {
  border-color:#bce243 !important;
  background:#bce243 !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(188,226,67,.26) !important;
}
.sws-speed .sws-speed__admin-hint {
  margin:12px 0 0 !important;
  font-size:12px !important;
  line-height:1.6 !important;
  color:#805612 !important;
}
.sws-speed .sws-speed__admin-hint a {text-decoration:underline;color:#594812;font-weight:800;}
@media(max-width:700px) {
  .sws-speed {margin:6px auto 16px !important;padding:20px 18px !important;border-radius:18px !important;}
  .sws-speed .sws-speed__intro h2 {font-size:25px !important;}
  .sws-speed .sws-speed__intro p {font-size:14px !important;}
  .sws-speed .sws-speed__form {margin-top:15px !important;}
  .sws-speed .sws-speed__input-row {grid-template-columns:minmax(0,1fr) !important;gap:9px !important;}
  .sws-speed .sws-speed__input-row>.sws-speed__run{width:100% !important;min-width:0 !important;}
  .sws-speed .sws-speed__meta {align-items:flex-start !important;flex-direction:column !important;gap:10px !important;}
}
@media(prefers-reduced-motion:reduce) {
  .sws-speed .sws-speed__external-link{transition:none !important;}
}

/* v0.1.4: clear disabled state during active Google test */
.sws-speed .sws-speed__device input:disabled + span {cursor:wait;opacity:.65;}
.sws-speed .sws-speed__device:has(input:disabled) {cursor:wait;}
