:root{--ink:#15171c;--cream:#f4ede0;--paper:#fffaf1;--blue:#0040e4;--muted:#5b5b5d;--line:#dcd7cc;--nav:#262931;--coral:#ff5722;color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}body{margin:0;min-width:280px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--coral);outline-offset:4px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}.masthead{background:var(--ink);color:var(--cream)}.header-inner{max-width:1120px;margin:auto;min-height:88px;padding:8px 24px 8px 12px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:block;line-height:0}.brand img{display:block;width:216px;max-width:46vw;height:auto}.masthead h1,.header-label{font-size:13px;font-weight:800;letter-spacing:.12em;margin:0}.app-main{max-width:1120px;margin:28px auto;box-shadow:0 1px 0 var(--line);border:1px solid var(--line)}.test-layout{display:grid;grid-template-columns:1fr 1fr}.dial-panel{background:var(--blue);color:var(--cream);text-align:center;padding:24px 28px 36px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.server-status{align-self:flex-end;font-size:12px;font-weight:700;min-height:16px}.gauge{width:100%;max-width:440px;aspect-ratio:400/270;position:relative;margin:10px 0 2px}.gauge-art{width:100%;height:100%;overflow:visible}.gauge-track,.gauge-arc{fill:none;stroke:var(--cream);stroke-width:12}.gauge-track{opacity:.15}.gauge-arc{stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .22s linear}.gauge-ticks{stroke:var(--cream);stroke-width:1.5;opacity:.25}.gauge-reading{position:absolute;inset:40% 0 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.gauge-reading>span:first-child{font-size:12px;font-weight:700;letter-spacing:.035em}.gauge-reading strong{font-size:clamp(48px,5.3vw,72px);font-weight:800;line-height:1.25;letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin:9px 0 2px}.gauge-reading>span:last-child{font-size:19px}.dial-panel h2{font-size:24px;line-height:1.2;margin:2px 0 10px;font-weight:800;letter-spacing:-.02em}.dial-panel>p{font-size:14px;line-height:1.5;margin:0;min-height:21px}.results-panel{padding:28px;background:var(--cream);min-width:0}.primary-button,.secondary-button{display:block;width:100%;border:1px solid var(--ink);border-radius:0;min-height:52px;padding:13px 16px;font-size:17px;font-weight:700;line-height:1.25;text-align:center;text-decoration:none}.primary-button{background:var(--ink);color:var(--cream)}.secondary-button{background:transparent;color:var(--ink)}.primary-button:hover{background:#30333a}.secondary-button:hover{background:#e8e0d3}.primary-button:active,.secondary-button:active{transform:translateY(1px)}.usage{font-size:12px;color:var(--muted);text-align:center;margin:12px 0 22px;line-height:1.4}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{background:var(--paper);border:1px solid var(--line);padding:18px 16px;min-width:0}.metric h3,.server-info h3{font-size:11px;font-weight:700;color:var(--muted);margin:0 0 17px;line-height:1.3}.metric h3>span{margin-right:4px}.metric p{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin:0}.metric strong{font-size:31px;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.metric p>span{font-size:12px;color:var(--muted)}.metric.download strong{color:var(--blue)}.small-metric{padding-top:14px;padding-bottom:14px}.small-metric h3{margin-bottom:12px}.small-metric strong{font-size:25px}.server-info{border-top:1px solid #c7c3b9;margin-top:22px;padding-top:17px}.server-info h3{font-size:10px;margin-bottom:8px}.server-info p{font-size:15px;font-weight:700;margin:0 0 4px}.server-info>span{font-size:12px;overflow-wrap:anywhere;color:var(--muted)}.result-time{font-size:11px;line-height:1.5;color:var(--muted);margin:16px 0 0;min-height:17px}.bottom-nav{background:var(--ink);padding:14px 20px}.nav-track{display:flex;border-radius:40px;padding:5px;background:var(--nav);max-width:480px;margin:0 auto;gap:3px}.nav-track>button,.nav-track>a{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:10px 12px;border:0;border-radius:32px;background:transparent;color:var(--cream);font-size:14px;font-weight:700;text-decoration:none;transition:background .18s,color .18s}.nav-track>[aria-current=page]{background:var(--cream);color:var(--ink)}.nav-track>button:hover:not([aria-current]),.nav-track>a:hover:not([aria-current]){background:#383c46}.page-panel{min-height:520px;padding:34px;background:var(--cream)}.page-heading{margin-bottom:26px}.page-heading h2,.page-heading h1,.page-panel>h1{font-size:30px;margin:0 0 10px;letter-spacing:-.03em}.page-heading p,.muted{font-size:14px;line-height:1.5;color:var(--muted);margin:0}.history-empty{border:1px solid var(--line);background:var(--paper);padding:36px 24px;text-align:center}.history-empty p{color:var(--muted);font-size:14px;margin:0 0 18px}.history-empty button{max-width:280px;margin:auto}.history-card{padding:20px;border:1px solid var(--line);background:var(--paper);margin-bottom:12px}.history-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.history-top h3{font-size:14px;margin:0}.history-top span{font-size:11px;color:var(--muted)}.history-card dl{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 0}.history-card dt{font-size:10px;font-weight:700;color:var(--muted);margin-bottom:7px}.history-card dd{margin:0;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.history-card dd small{font-size:11px;font-weight:400;color:var(--muted);letter-spacing:0}.history-card dl>div:first-child dd{color:var(--blue)}#clearHistory{margin-top:20px;max-width:240px}#historyStatus{margin-top:12px}.about-content{max-width:720px;margin:auto}.about-content h2{font-size:19px;margin:26px 0 9px}.about-content p{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 14px}.about-content a:not(.primary-button){color:var(--blue);text-underline-offset:3px}.about-content .primary-button{max-width:320px;margin:18px 0 10px}.license-links{display:flex;flex-direction:column;gap:10px;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}dialog{max-width:calc(100% - 40px);width:380px;border:1px solid var(--line);padding:24px;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#15171c99}dialog h2{font-size:20px;margin:0 0 12px}dialog p{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 22px}.dialog-actions{display:flex;gap:12px}.dialog-actions button{font-size:14px;min-height:46px}
@media(min-width:1400px){.app-main{margin-top:42px;margin-bottom:42px}.dial-panel{padding-top:28px;padding-bottom:40px}.results-panel{padding:32px}}
@media(max-width:760px){.header-inner{min-height:74px;padding:6px 20px 6px 8px}.brand img{width:184px}.masthead h1,.header-label{font-size:12px}.app-main{margin:0;border:0;min-height:calc(100svh - 74px);display:flex;flex-direction:column;padding-bottom:calc(82px + env(safe-area-inset-bottom))}.test-layout{grid-template-columns:1fr}.dial-panel{padding:16px 22px 24px}.server-status{font-size:11px}.gauge{max-width:340px;margin:0}.gauge-reading strong{font-size:60px}.dial-panel h2{font-size:23px;margin:0 0 8px}.dial-panel>p{font-size:14px}.results-panel{padding:20px}.primary-button{font-size:18px}.usage{margin:12px 0 20px}.metric{padding:17px 15px}.metric h3{font-size:11px}.metric strong{font-size:31px}.small-metric{padding:14px 15px}.small-metric strong{font-size:26px}.server-info{margin-top:20px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:5;margin-top:auto;padding:12px 14px max(12px,env(safe-area-inset-bottom))}.nav-track{max-width:480px}.page-panel{min-height:calc(100svh - 156px);padding:26px 20px}.history-card{padding:17px}.history-card dl{grid-template-columns:repeat(2,1fr);row-gap:18px}.history-top{display:block}.history-top span{display:block;margin-top:6px}.history-card dd{font-size:26px}.about-content p{font-size:14px}}
@media(max-width:360px){.header-inner{padding-right:14px}.brand img{width:160px}.masthead h1{font-size:10px}.dial-panel{padding-left:18px;padding-right:18px}.gauge-reading strong{font-size:52px}.results-panel{padding:16px}.metric{padding:15px 12px}.metric strong{font-size:26px}.nav-track>button,.nav-track>a{font-size:13px;padding-left:8px;padding-right:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
