:root{--speed-purple:#6b30b3;--speed-violet:#8b5cf6;--speed-ink:#2d2735;--speed-muted:#6d6675;--speed-line:#e8e2ee;--speed-paper:#faf9fc;--speed-pale:#f4effa;--speed-green:#15803d;--speed-green-bg:#edf8f0;--speed-amber:#a16207;--speed-amber-bg:#fff8e8;--speed-red:#b42318;--speed-red-bg:#fff0ef}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--speed-ink);font:16px/1.58 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--speed-purple)}button,input{font:inherit}button{cursor:pointer}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px;top:8px;background:#fff;padding:8px 12px;z-index:20}.skip:focus{left:8px}.header-row{min-height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--speed-line)}header .wrap{width:min(1180px,calc(100% - 40px))}.brand{display:flex;align-items:center;gap:10px;color:var(--speed-ink);text-decoration:none;letter-spacing:.04em;font-size:14px}.brand em{font-style:normal;color:var(--speed-purple);font-weight:700}.brand-icon{width:34px;height:34px;border-radius:11px;background:var(--speed-purple);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px}.header-row nav{display:flex;align-items:center;gap:28px}.header-row nav a{text-decoration:none;color:#51495a;font-size:14px}.header-row nav .all-tools{padding:9px 14px;border:1px solid var(--speed-line);border-radius:10px;color:var(--speed-purple);font-weight:650}.breadcrumb{display:flex;align-items:center;gap:10px;margin:20px 0;color:#877f8e;font-size:13px}.breadcrumb a{color:#71667b;text-decoration:none}.breadcrumb span:last-child{color:#3d3445}.hero{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:1fr 300px;align-items:center;gap:40px;margin:14px 0 30px;padding:38px 40px;background:linear-gradient(110deg,#fbfaff,#f5f0fc 65%,#eee6fa);border:1px solid #eee7f6;border-radius:22px}.hero:after{content:"";position:absolute;width:350px;height:350px;border-radius:50%;right:90px;top:-210px;background:#fff8;z-index:-1}.eyebrow{margin:0 0 9px;color:var(--speed-purple);font-size:11px;line-height:1.35;letter-spacing:.12em;font-weight:800}.hero h1{max-width:760px;margin:0;color:#2d2336;font-size:clamp(30px,4.2vw,46px);line-height:1.15;letter-spacing:-.035em}.hero h1 span{display:block;color:#574767;font-size:.75em;letter-spacing:-.02em;margin-top:5px}.intro{max-width:700px;margin:17px 0 20px;color:#655b6d;font-size:17px}.hero-pills{display:flex;flex-wrap:wrap;gap:8px}.hero-pills span{background:#ffffffc7;border:1px solid #e5dcef;border-radius:99px;padding:5px 11px;font-size:12px;color:#574a66;font-weight:650}.hero-art{position:relative;min-height:160px;display:flex;align-items:center;justify-content:center}.speed-dial{width:140px;height:140px;border-radius:50%;border:11px solid #ffffffc9;background:linear-gradient(145deg,#fff,#f1e8fc);box-shadow:0 16px 45px #6b30b322;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:var(--speed-purple)}.speed-dial:before{content:"";position:absolute;inset:8px;border-radius:50%;border:1px dashed #c6b5dc}.speed-dial span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#85708f}.speed-dial strong{font-size:42px;line-height:1.1}.speed-dial i{position:absolute;width:2px;height:43px;bottom:50%;left:50%;background:#6b30b3;transform-origin:bottom;transform:rotate(38deg);border-radius:3px}.hero-art-caption{position:absolute;bottom:-2px;right:1px;display:flex;flex-direction:column;text-align:right;font-size:12px}.hero-art-caption b{color:#49385b}.hero-art-caption span{color:#7b7182}.card{background:#fff;border:1px solid var(--speed-line);border-radius:16px;box-shadow:0 5px 20px #37204408}.tester{padding:26px 28px;margin-bottom:28px}.card-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.card-heading>div,.section-heading>div{display:flex;align-items:center;gap:11px}.card-heading h2,.card-heading h3,.section-heading h2{font-size:20px;line-height:1.3;margin:0;letter-spacing:-.02em}.step{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--speed-pale);color:var(--speed-purple);font-weight:800;font-size:11px}.mini-label{font-size:12px;color:#6e6576}.tester form{margin-top:24px}.tester label,.strategy-picker legend{display:block;font-weight:700;font-size:14px;margin-bottom:8px}.url-row{display:flex;gap:10px}.url-row input{min-width:0;flex:1;padding:14px 15px;border:1px solid #d9d1e1;border-radius:10px;color:#282130;outline:none;transition:border-color .15s,box-shadow .15s}.url-row input:focus,.url-row input:focus-visible{border-color:var(--speed-purple);box-shadow:0 0 0 3px #6b30b31c}.url-row input[aria-invalid=true]{border-color:var(--speed-red)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;padding:11px 16px;font-weight:700;font-size:14px;transition:background .15s,transform .15s,border-color .15s}.button:focus-visible,.strategy-option:focus-visible,.strategy-options button:focus-visible,.history-item button:focus-visible,summary:focus-visible{outline:3px solid #a78bfa;outline-offset:2px}.button.primary{border:1px solid var(--speed-purple);background:var(--speed-purple);color:#fff;white-space:nowrap}.button.primary:hover{background:#54258f}.button:disabled{cursor:wait;opacity:.65}.button.secondary{border:1px solid #ddd4e6;background:white;color:#554067}.button.secondary:hover{border-color:#b9a4cf;background:#fbf8fe}.text-button{background:none;border:0;color:var(--speed-purple);padding:8px;font-size:13px}.help{font-size:12px;color:#777080;margin:7px 0 0}.error{font-size:13px;color:var(--speed-red);margin:6px 0 0}.strategy-picker{border:0;padding:0;margin:23px 0 0}.strategy-options{display:grid;grid-template-columns:1fr 1fr;gap:11px}.strategy-option{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 15px;border:1px solid #e3dce9;border-radius:11px;background:#fff;color:#413749}.strategy-option.selected{border-color:var(--speed-purple);background:#faf7fe;box-shadow:inset 0 0 0 1px var(--speed-purple)}.device-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#f3edf9;color:var(--speed-purple);font-size:21px}.strategy-option b,.strategy-option small{display:block}.strategy-option b{font-size:14px}.strategy-option small{font-size:11px;color:#6a6172;margin-top:1px}.privacy-note{display:flex;gap:7px;align-items:flex-start;color:#766d7c;font-size:12px;margin:18px 0 0}.privacy-note span{color:var(--speed-purple);font-size:16px;line-height:1.25}.loading-panel{display:flex;gap:14px;align-items:center;margin-top:22px;padding:15px 17px;background:#f7f3fc;border:1px solid #e7def1;border-radius:12px}.loading-panel[hidden],.request-error[hidden],.results[hidden],.tester [hidden]{display:none!important}.loading-panel strong{font-size:14px}.loading-panel p{margin:3px 0 0;color:var(--speed-muted);font-size:12px}.spinner{width:25px;height:25px;border:3px solid #ddcdeb;border-top-color:var(--speed-purple);border-radius:50%;animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.request-error{margin-top:20px;padding:16px;background:#fff5f4;border:1px solid #f1cbc7;border-radius:12px;color:#85342e}.request-error strong{display:block}.request-error p{margin:4px 0 12px;font-size:13px}.request-error .button{padding:8px 12px;background:#fff}.results{display:grid;gap:22px;margin:30px 0}.result-heading{padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:18px}.result-identity{display:flex;gap:13px;align-items:flex-start;min-width:0}.result-icon{width:38px;height:38px;display:grid;place-items:center;background:#f0e8f8;border-radius:11px;color:var(--speed-purple);font-size:20px}.result-identity .eyebrow{margin-bottom:4px}.result-identity h2{font-size:20px;margin:0;line-height:1.3}.result-url{font-size:14px;overflow-wrap:anywhere;color:#514268;margin:4px 0 2px}.result-actions{display:flex;align-items:flex-start;gap:8px}.result-actions .button{font-size:12px;padding:9px 11px}.result-strategy{grid-column:1/-1;border-top:1px solid #eee8f2;padding-top:15px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:13px}.result-strategy>span{font-size:12px;color:var(--speed-muted);font-weight:700}.result-strategy p{font-size:13px;margin:0;color:#62596b}.strategy-options.compact{display:flex;gap:5px;padding:3px;border-radius:9px;background:#f2eff5;width:max-content}.strategy-options.compact button{border:0;background:transparent;color:#6e6577;border-radius:7px;padding:6px 13px;font-size:12px;font-weight:700}.strategy-options.compact button[aria-pressed=true]{background:white;color:var(--speed-purple);box-shadow:0 1px 5px #26103416}.score-section{padding-top:2px}.section-heading{margin-bottom:14px}.section-heading h2{font-size:21px}.section-heading .eyebrow{margin-bottom:4px}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.score-card{padding:18px 17px;display:flex;align-items:center;gap:14px;border:1px solid var(--speed-line);border-radius:14px;background:#fff}.score-ring{--score-color:#72727b;position:relative;flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--score-color) calc(var(--score)*1%),#eeeaf0 0)}.score-ring:before{content:"";position:absolute;inset:5px;border-radius:50%;background:white}.score-ring strong{position:relative;font-size:18px;letter-spacing:-.05em}.score-copy b{display:block;font-size:13px;line-height:1.3}.score-copy span{display:block;margin-top:4px;font-size:11px;font-weight:700}.status-good{--score-color:#198754!important;color:var(--speed-green)}.status-needs{--score-color:#d49a13!important;color:var(--speed-amber)}.status-poor{--score-color:#c43d34!important;color:var(--speed-red)}.status-unknown{color:#68616e!important}.field-section,.lab-section,.priorities,.audit-card,.resources,.history{padding:22px 24px}.section-intro{font-size:13px;color:var(--speed-muted);margin:0 0 16px}.source-badge{padding:5px 10px;border-radius:99px;background:#f1ebf8;color:#604276;font-size:11px;font-weight:750;white-space:nowrap}.empty-state{padding:14px 16px;background:#f8f6fa;border-radius:10px;color:#756b7c;font-size:13px;margin:10px 0}.cwv-status{padding:11px 14px;margin-bottom:14px;border-radius:10px;font-weight:750;font-size:13px}.cwv-status.passed{background:var(--speed-green-bg);color:var(--speed-green)}.cwv-status.needs{background:var(--speed-amber-bg);color:var(--speed-amber)}.cwv-status.incomplete{background:#f6f4f8;color:#685f70}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.metric-card{padding:14px;border-radius:11px;border:1px solid #eee9f1;background:#fff;min-width:0}.metric-name{display:block;font-size:11px;line-height:1.35;color:#6f6677;min-height:30px}.metric-value{display:block;margin:5px 0 4px;font-size:20px;line-height:1.25;font-weight:760;letter-spacing:-.04em;color:#332b3a;overflow-wrap:anywhere}.metric-status{display:inline-block;padding:3px 7px;border-radius:99px;font-size:10px;font-weight:750;background:#f1eff3;color:#696170}.metric-status.good{background:var(--speed-green-bg);color:var(--speed-green)}.metric-status.needs_improvement{background:var(--speed-amber-bg);color:var(--speed-amber)}.metric-status.poor{background:var(--speed-red-bg);color:var(--speed-red)}.distribution{display:flex;gap:3px;height:6px;border-radius:6px;overflow:hidden;margin-top:10px;background:#eee}.distribution span{height:100%}.distribution .good{background:#51a56b}.distribution .needs_improvement{background:#eab43f}.distribution .poor{background:#d1635d}.metric-meta{font-size:10px;color:#857d8b;margin-top:7px}.lab-section .source-badge{align-self:center}.priority-list{display:grid;gap:9px}.priority-item{display:grid;grid-template-columns:32px 1fr auto;gap:11px;align-items:start;padding:12px 13px;border:1px solid #eee9f1;border-radius:11px}.priority-number{width:29px;height:29px;border-radius:9px;background:#f1eafa;color:var(--speed-purple);display:grid;place-items:center;font-weight:800;font-size:12px}.priority-copy b{font-size:13px}.priority-copy p{font-size:12px;color:#756d7b;margin:3px 0 0}.saving{font-size:11px;color:#5e4778;background:#f6f1fa;border-radius:8px;padding:5px 8px;white-space:nowrap;font-weight:700}.audit-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.audit-card .section-heading{margin-bottom:12px}.count-badge{flex:none;min-width:27px;text-align:center;padding:2px 7px;border-radius:99px;background:#f1edf5;color:#74647f;font-size:11px;font-weight:750}.audit-list{display:grid;gap:8px}.audit-item{border:1px solid #eee9f1;border-radius:10px;overflow:hidden}.audit-item summary{display:flex;justify-content:space-between;gap:10px;align-items:center;cursor:pointer;padding:11px 12px;list-style:none}.audit-item summary::-webkit-details-marker,.passed-section>summary::-webkit-details-marker,.technical>summary::-webkit-details-marker{display:none}.audit-item summary:after{content:"＋";color:#877b91;font-size:13px;flex:none}.audit-item[open] summary:after{content:"−"}.audit-item summary b{font-size:12px;line-height:1.4}.audit-item .audit-body{padding:0 12px 12px;color:#6c6371;font-size:12px}.audit-body p{margin:0 0 5px}.audit-body .audit-saving{font-weight:700;color:#58436c}.passed-section{padding:0 22px}.passed-section>summary,.technical>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:17px 0;font-weight:700}.passed-section>summary span:first-child{display:flex;align-items:center;gap:10px}.passed-section>summary small{color:#6d6574;font-weight:500;font-size:12px}.expand-mark{color:#776387}.passed-list{columns:2;column-gap:30px;padding:0 0 17px 18px;margin:0;color:#625b69;font-size:12px}.passed-list li{break-inside:avoid;margin:3px 0}.resources .table-scroll{overflow-x:auto}.resources table{border-collapse:collapse;width:100%;font-size:12px}.resources th,.resources td{text-align:left;padding:10px;border-bottom:1px solid #eee9f1}.resources th{color:#655d6c;background:#faf9fb}.technical{padding:0 22px}.technical>summary{justify-content:flex-start}.technical[open]>summary{border-bottom:1px solid #eee9f1}.technical dl{display:grid;grid-template-columns:190px 1fr;gap:0 12px;font-size:12px;padding:6px 0 14px}.technical dt,.technical dd{padding:6px 0;border-bottom:1px solid #f1edf3;margin:0;overflow-wrap:anywhere}.technical dt{color:#797080}.feedback{text-align:center;min-height:20px;margin:0;color:var(--speed-muted);font-size:12px}.history{margin:26px 0 38px}.history-list{display:grid;gap:8px}.history-item{display:grid;grid-template-columns:1fr auto auto;gap:15px;align-items:center;padding:10px 12px;border:1px solid #eee9f1;border-radius:10px}.history-item button{border:0;background:transparent;color:#50435e;text-align:left;cursor:pointer;min-width:0;overflow-wrap:anywhere;font-size:13px}.history-meta{font-size:11px;color:#7b7283;white-space:nowrap}.history-score{min-width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f2edf7;color:#5e3b7f;font-weight:800;font-size:12px}.knowledge{padding:18px 0 30px}.knowledge h2,.faq h2{font-size:28px;letter-spacing:-.03em;margin:0 0 12px}.knowledge-lead{max-width:840px;color:#62596a;margin:0 0 20px}.knowledge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.knowledge-grid article{position:relative;padding:17px 18px 16px 52px;border:1px solid #ede8f0;border-radius:12px;background:#fff}.knowledge-grid article>span{position:absolute;left:16px;top:18px;color:#725a87;font-size:11px;font-weight:800}.knowledge-grid h3{margin:0 0 5px;font-size:14px}.knowledge-grid p{margin:0;color:#6b6371;font-size:12px}.source-note{font-size:11px;color:#6c6472;margin:16px 0 0}.source-note a{color:#69517e}.faq{padding:20px 0 34px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.faq-grid details{border:1px solid #eae5ed;border-radius:11px;padding:13px 15px;background:#fff}.faq-grid summary{cursor:pointer;font-size:13px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:10px}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary:after{content:"＋";color:#897a96;flex:none}.faq-grid details[open] summary:after{content:"−"}.faq-grid p{font-size:12px;color:#706777;margin:10px 0 1px}.related{padding:17px 0 32px;border-top:1px solid var(--speed-line)}.related h2{font-size:15px;margin:0 0 10px}.related>div{display:flex;flex-wrap:wrap;gap:7px}.related a{padding:6px 9px;background:#f7f4f9;border-radius:8px;text-decoration:none;font-size:11px;color:#644d78}.footer-row{display:flex;align-items:center;gap:19px;min-height:68px;border-top:1px solid var(--speed-line);font-size:12px;color:#797080}.footer-row strong{color:#3a3042}.footer-row strong span{color:var(--speed-purple)}.footer-row p{flex:1}.footer-row a{color:#6c5c7c;text-decoration:none}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.hero{grid-template-columns:1fr 190px;padding:30px}.hero-art{min-height:140px}.speed-dial{width:118px;height:118px}.score-grid{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:repeat(3,1fr)}.result-heading{grid-template-columns:1fr}.result-actions{grid-row:2}.result-strategy{grid-row:3}.result-strategy{grid-template-columns:auto auto}.result-strategy p{grid-column:1/-1}.result-actions .button{flex:1}.audit-columns{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.wrap{width:min(100% - 28px,1120px)}header .wrap{width:calc(100% - 28px)}.header-row{min-height:62px}.header-row nav{gap:12px}.header-row nav>a:not(.all-tools){display:none}.header-row nav .all-tools{font-size:12px;padding:8px 10px}.breadcrumb{margin:14px 0;font-size:11px;gap:7px}.hero{display:block;margin:10px 0 20px;padding:25px 21px;border-radius:16px}.hero h1{font-size:31px}.hero h1 span{font-size:.72em}.intro{font-size:14px;margin:13px 0 15px}.hero-pills span{font-size:10px;padding:4px 8px}.hero-art{display:none}.tester{padding:20px 17px;margin-bottom:22px}.card-heading{align-items:flex-start}.card-heading h2{font-size:17px}.card-heading>.mini-label{max-width:110px;text-align:right;font-size:10px}.url-row{display:grid;grid-template-columns:1fr}.url-row input{width:100%;font-size:14px}.url-row .button{width:100%}.strategy-options{gap:8px}.strategy-option{padding:10px 9px;gap:7px}.strategy-option small{font-size:10px}.device-icon{width:29px;height:29px}.privacy-note{font-size:11px}.results{gap:16px;margin:22px 0}.result-heading{padding:17px 15px;gap:13px}.result-actions{display:grid;grid-template-columns:1fr 1fr}.result-actions .button{padding:9px 7px;font-size:11px}.result-strategy{grid-template-columns:1fr auto;gap:9px}.result-strategy>span{grid-column:1/-1}.section-heading{gap:8px;align-items:flex-start}.section-heading h2{font-size:18px}.section-heading>.mini-label{max-width:135px;text-align:right;font-size:10px}.score-grid{gap:8px}.score-card{padding:12px 9px;gap:9px}.score-ring{width:51px;height:51px}.score-ring strong{font-size:15px}.score-ring:before{inset:4px}.score-copy b{font-size:11px}.score-copy span{font-size:10px}.field-section,.lab-section,.priorities,.audit-card,.resources,.history{padding:17px 14px}.source-badge{font-size:9px;padding:4px 7px}.section-intro{font-size:12px}.metric-grid{grid-template-columns:repeat(2,1fr);gap:7px}.metric-card{padding:11px}.metric-name{font-size:10px;min-height:27px}.metric-value{font-size:18px}.metric-status{font-size:9px}.audit-columns{grid-template-columns:1fr;gap:12px}.priority-item{grid-template-columns:29px 1fr;gap:9px}.priority-item .saving{grid-column:2;justify-self:start}.passed-section,.technical{padding:0 14px}.passed-list{columns:1}.technical dl{grid-template-columns:1fr}.technical dt{border-bottom:0;padding-bottom:0}.technical dd{padding-top:0}.history{margin:12px 0 30px}.history-item{grid-template-columns:minmax(0,1fr) auto auto;gap:7px;padding:8px}.history-item button{font-size:11px}.history-meta{font-size:9px}.history-score{min-width:28px;height:28px}.knowledge h2,.faq h2{font-size:23px}.knowledge-grid,.faq-grid{grid-template-columns:1fr}.knowledge-grid article{padding-top:14px;padding-bottom:14px}.knowledge-grid article>span{top:15px}.faq-grid details{padding:12px}.footer-row{flex-wrap:wrap;gap:8px 15px;padding:14px 0}.footer-row p{flex-basis:100%;margin:0;order:2}.footer-row a:last-child{margin-left:auto}.feedback{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* AdSense may create wide helper frames; keep them within the viewport on mobile. */
div[id^="aswift_"][id$="_host"],iframe[id^="aswift_"]{box-sizing:border-box!important;width:min(100%,100vw)!important;max-width:100vw!important}
