/* UncoverWP WordPress Speed Test */
.uwp-sp {
	--s-accent: #1a7f5a; --s-accent-dk: #145f44; --s-accent-lt: #e8f5ef;
	--s-text: #1a1d23; --s-muted: #5f6672; --s-border: #e3e6ea;
	--s-good: #0c8a4f; --s-ok: #b26a00; --s-bad: #c62828;
	font-family: 'DM Sans', system-ui, sans-serif; color: var(--s-text); text-align: left;
}
.uwp-sp *, .uwp-sp *::before, .uwp-sp *::after { box-sizing: border-box; }
.uwp-sp__sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

.uwp-sp__form { display: flex; gap: .5rem; align-items: center; background: #fff; border: 1.5px solid var(--s-border); border-radius: 999px; padding: .5rem; box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.uwp-sp__form:focus-within { border-color: var(--s-accent); }
.uwp-sp__input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 1.12rem; padding: 1rem 1.2rem; color: var(--s-text); }
.uwp-sp__btn { border: 0; border-radius: 999px; background: var(--s-accent); color: #fff; font: inherit; font-size: 1.05rem; font-weight: 600; padding: 1rem 2rem; cursor: pointer; white-space: nowrap; }
.uwp-sp__btn:hover { background: var(--s-accent-dk); }
.uwp-sp__btn:disabled { opacity: .75; cursor: wait; }
.uwp-sp__btn:focus-visible, .uwp-sp__tab:focus-visible { outline: 2px solid #4fd18b; outline-offset: 2px; }

.uwp-sp__tabs { display: inline-flex; gap: .25rem; margin-top: 1rem; padding: .25rem; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); }
.uwp-sp__tab { border: 0; background: transparent; color: rgba(255,255,255,.75); font: inherit; font-size: .9rem; font-weight: 600; padding: .45rem 1.1rem; border-radius: 999px; cursor: pointer; }
.uwp-sp__tab[aria-pressed="true"] { background: #fff; color: var(--s-accent-dk); }

.uwp-sp__out { margin-top: 1.25rem; }
.uwp-sp__out:empty { display: none; }
.uwp-sp__loading, .uwp-sp__error, .uwp-sp__result { background: #fff; color: var(--s-text); border-radius: 18px; padding: 1.4rem; box-shadow: 0 20px 50px rgba(0,0,0,.22); }
.uwp-sp__loading { display: flex; gap: .8rem; align-items: center; color: var(--s-muted); }
.uwp-sp__spinner { width: 20px; height: 20px; flex-shrink: 0; border-radius: 50%; border: 2px solid var(--s-accent-lt); border-top-color: var(--s-accent); animation: uwp-sp-spin .8s linear infinite; }
@keyframes uwp-sp-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .uwp-sp__spinner { animation-duration: 3s; } }
.uwp-sp__error { background: #fff6f6; color: #8a1f1f; }
.uwp-sp__error p { margin: 0; }

.uwp-sp__head { display: flex; gap: 1.4rem; align-items: center; padding-bottom: 1.2rem; border-bottom: 1px solid var(--s-border); }
.uwp-sp__gauge { position: relative; width: 112px; height: 112px; flex-shrink: 0; }
.uwp-sp__gauge svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.uwp-sp__track { fill: none; stroke: #eef0f2; stroke-width: 10; }
.uwp-sp__arc { fill: none; stroke-width: 10; stroke-linecap: round; }
.uwp-sp__gauge.is-good .uwp-sp__arc { stroke: var(--s-good); }
.uwp-sp__gauge.is-ok .uwp-sp__arc { stroke: var(--s-ok); }
.uwp-sp__gauge.is-bad .uwp-sp__arc { stroke: var(--s-bad); }
.uwp-sp__num { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 2.1rem; font-weight: 700; }
.uwp-sp__gauge.is-good .uwp-sp__num { color: var(--s-good); }
.uwp-sp__gauge.is-ok .uwp-sp__num { color: var(--s-ok); }
.uwp-sp__gauge.is-bad .uwp-sp__num { color: var(--s-bad); }
.uwp-sp__label { margin: 0; font-size: .85rem; font-weight: 600; color: var(--s-muted); }
.uwp-sp__host { margin: .1rem 0 .35rem; font-size: 1.25rem; font-weight: 700; word-break: break-all; }
.uwp-sp__verdict { margin: 0; color: var(--s-muted); }

.uwp-sp__block { padding-top: 1.2rem; }
.uwp-sp__block h3 { margin: 0 0 .7rem; font-size: 1.08rem; font-family: inherit; color: var(--s-text); }
.uwp-sp__note { margin: 0 0 .7rem; font-size: .88rem; color: var(--s-muted); }
.uwp-sp__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6rem; }
.uwp-sp__metric { border: 1px solid var(--s-border); border-left-width: 4px; border-radius: 10px; padding: .65rem .8rem; display: flex; flex-direction: column; gap: .15rem; }
.uwp-sp__metric.is-good { border-left-color: var(--s-good); }
.uwp-sp__metric.is-ok { border-left-color: var(--s-ok); }
.uwp-sp__metric.is-bad { border-left-color: var(--s-bad); }
.uwp-sp__mname { font-size: .78rem; color: var(--s-muted); font-weight: 600; }
.uwp-sp__mval { font-size: 1.15rem; font-weight: 700; }
.uwp-sp__cwv { margin: .8rem 0 0; font-weight: 700; font-size: .92rem; }
.uwp-sp__cwv.is-good { color: var(--s-good); }
.uwp-sp__cwv.is-bad { color: var(--s-bad); }

.uwp-sp__fixes { margin: 0; padding: 0; list-style: none; counter-reset: fx; }
.uwp-sp__fixes li { counter-increment: fx; position: relative; border: 1px solid var(--s-border); border-radius: 12px; padding: .85rem 1rem .85rem 2.9rem; }
.uwp-sp__fixes li + li { margin-top: .6rem; }
.uwp-sp__fixes li::before { content: counter(fx); position: absolute; left: .9rem; top: .85rem; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--s-accent-lt); color: var(--s-accent-dk); font-size: .8rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.uwp-sp__fixes li.is-bad::before { background: #fdecec; color: var(--s-bad); }
.uwp-sp__fix-top { display: flex; flex-wrap: wrap; gap: .3rem .8rem; align-items: baseline; }
.uwp-sp__fix-val { font-size: .82rem; color: var(--s-muted); }
.uwp-sp__fixes p { margin: .35rem 0 0; font-size: .92rem; color: #3b4048; line-height: 1.55; }
.uwp-sp__link { display: inline-block; margin-top: .4rem; font-size: .88rem; font-weight: 600; color: var(--s-accent) !important; }
.uwp-sp__credit { margin: 1.1rem 0 0; font-size: .78rem; color: var(--s-muted); }

@media (max-width: 600px) {
	.uwp-sp__form { flex-direction: column; align-items: stretch; border-radius: 16px; }
	.uwp-sp__btn { width: 100%; }
	.uwp-sp__head { flex-direction: column; text-align: center; }
	.uwp-sp__loading, .uwp-sp__error, .uwp-sp__result { padding: 1rem; }
}
