@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f7f2;--panel:#fff;--ink:#173c32;--muted:#74847d;--line:#dae2da;--soft:#eef3ed;--blue:#0875f5;--purple:#9562df;--shadow:0 5px 24px #18372c04;color-scheme:light}html[data-theme=dark]{--bg:#091b16;--panel:#10271f;--ink:#c8f4d8;--muted:#7d9e8c;--line:#2b4838;--soft:#183326;--blue:#4198ff;--shadow:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif;transition:background .2s,color .2s}button,a,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}.shell{max-width:1240px;margin:auto;padding:0 34px}.header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:800;letter-spacing:-1px}.brand-icon{display:grid;place-items:center;width:39px;height:39px;background:var(--ink);color:var(--bg);border-radius:11px;font-size:31px}.brand-light{font-weight:500}.brand small{font-size:12px;letter-spacing:0;color:var(--muted);margin-left:3px}.header-right{display:flex;align-items:center;gap:10px}.version,.eyebrow,.panel-top,.metric>div,.gauge-bottom,.steps,.chart-footer,.server small,.pill,.footer-bottom,.privacy-note{font-family:'DM Mono',Consolas,monospace}.version{font-size:10px;letter-spacing:1px;margin-right:20px;color:var(--muted)}.icon-button{width:36px;height:36px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:7px}.intro{display:flex;justify-content:space-between;align-items:end;padding:28px 0 23px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;background:#28ad6e;border-radius:50%;margin-right:6px}.intro h1{font-size:34px;letter-spacing:-1.4px;margin:9px 0 0;font-weight:800}.intro p{font-size:12px;color:var(--muted);margin-bottom:5px}.dashboard{display:grid;grid-template-columns:1.14fr 1fr;gap:18px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:13px;box-shadow:var(--shadow);overflow:hidden}.instrument{padding:20px 24px 0;position:relative;background:radial-gradient(ellipse at 50% 50%,#0875f507,transparent 65%),var(--panel)}.panel-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;color:var(--muted)}.pill{border:1px solid var(--line);border-radius:4px;font-size:9px;padding:4px 7px;color:var(--ink)}.pill.active{color:var(--blue);border-color:var(--blue)}.gauge-wrap{position:relative;max-width:560px;margin:0 auto}.gauge-wrap svg{display:block;width:100%;overflow:visible}.gauge-track{fill:none;stroke:var(--soft);stroke-width:14;stroke-linecap:round}#progressArc{fill:none;stroke:url(#arcGradient);stroke-width:14;stroke-linecap:round;stroke-dasharray:0 100}.tick{stroke:var(--line);stroke-width:2}.major{stroke:var(--muted);stroke-width:2}.tick-label{fill:var(--muted);font:12px 'DM Mono',monospace}#needle{transform-origin:300px 251px;transform:rotate(-120deg);fill:var(--blue)}#needle circle{fill:var(--panel);stroke:var(--blue);stroke-width:3}.digital{position:absolute;top:47%;left:0;right:0;text-align:center;pointer-events:none}#phase{font:9px 'DM Mono',monospace;letter-spacing:1.4px;color:var(--muted)}#speed{font-size:65px;letter-spacing:-4px;font-weight:800;line-height:1.25;font-variant-numeric:tabular-nums}#speed span{font-size:35px;letter-spacing:-2px;color:var(--muted)}.unit{font:12px 'DM Mono',monospace;color:var(--muted)}.unit span{color:var(--blue);margin-left:8px}.gauge-bottom{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);letter-spacing:.5px;margin-top:-12px}.test-action{text-align:center;margin:20px auto 15px;max-width:340px}#start{display:flex;align-items:center;justify-content:space-between;width:100%;background:#0875f5;border:0;border-radius:9px;padding:17px 22px;color:#fff;font-weight:800;letter-spacing:1.5px;font-size:14px;box-shadow:0 6px 18px #0875f525;transition:background .15s,transform .15s}#start:hover{background:#0066df;transform:translateY(-1px)}#start:disabled{opacity:.7;cursor:wait;transform:none}.start-symbol{font-size:23px;font-weight:400}.button-arrow{font-size:21px}#testNote{color:var(--muted);font-size:10px;margin:11px 0 0}#cancel{border:0;background:transparent;color:var(--muted);font-size:11px;margin-top:8px;text-decoration:underline}.steps{display:flex;border-top:1px solid var(--line);justify-content:space-between;margin:0 -24px;padding:16px 22px;font-size:9px;color:var(--muted)}.steps b{font-weight:400}.steps span.active{color:var(--blue)}.steps span.complete{color:#22a96b}.readouts{display:flex;flex-direction:column;gap:14px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.metric{padding:19px 21px}.metric>div{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1px;color:var(--muted)}.metric-icon{font-size:19px;color:var(--ink)}.blue{color:var(--blue)}.purple{color:var(--purple)}.metric p{margin:12px 0 3px;display:flex;align-items:baseline;gap:8px}.metric strong{font-size:34px;line-height:1.1;letter-spacing:-1.5px;font-weight:700;font-variant-numeric:tabular-nums}.metric small{font:11px 'DM Mono',monospace;color:var(--muted)}.metric>span{font-size:10px;color:var(--muted)}.compact{padding-top:14px;padding-bottom:14px}.compact strong{font-size:29px}.compact p{margin-top:9px}.chart-panel{padding:18px 20px}.chart-key{font-size:8px;letter-spacing:0;color:var(--blue)}.chart-key i{color:var(--purple);font-style:normal;margin-left:8px}.chart{height:97px;position:relative;margin-top:13px}.chart-grid{position:absolute;inset:0;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/100% 32px;opacity:.5}.chart svg{position:absolute;width:100%;height:100%;overflow:visible}.chart path{stroke:var(--blue);fill:none;stroke-width:2;vector-effect:non-scaling-stroke}#uploadGraph{stroke:var(--purple)}#chartEmpty{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;color:var(--muted)}.chart-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;margin-top:9px}.server{display:flex;align-items:center;gap:12px;padding:14px 18px;margin-top:auto}.server-icon{font-size:24px}.server small{display:block;font-size:8px;letter-spacing:1px;color:var(--muted)}.server strong{display:block;font-size:11px;margin-top:5px;font-weight:600}.server-badge{margin-left:auto;color:var(--muted);font:9px 'DM Mono',monospace}.secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0 0}summary{padding:19px 21px;display:flex;justify-content:space-between;cursor:pointer;font:10px 'DM Mono',monospace;letter-spacing:.6px;list-style:none}summary::-webkit-details-marker{display:none}.details-body{border-top:1px solid var(--line);padding:20px;font-size:12px}.details-body p{font-size:11px;line-height:1.8;color:var(--muted)}select{display:block;width:100%;padding:12px;margin-top:9px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--ink)}.detail-stats>div{display:flex;justify-content:space-between;margin-bottom:12px;gap:10px}#notice:not(:empty){padding:14px 18px;margin-top:15px;border:1px solid var(--line);border-radius:9px;font-size:12px;line-height:1.6}.history-section{margin-top:35px}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading h2{font-size:17px;letter-spacing:-.4px}.section-heading h2>span:first-child{font:10px 'DM Mono',monospace;color:var(--muted);margin-right:8px}.text-button{border:0;background:transparent;color:var(--muted);font-size:10px;padding:8px 0}.text-button:hover{color:var(--blue)}.history{padding:5px 20px}.empty-history{padding:24px;text-align:center;color:var(--muted);font-size:12px}.history-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:10px;padding:15px 0;border-bottom:1px solid var(--line);font-size:11px}.history-row:last-child{border:0}.history-row span{font-family:'DM Mono',monospace;color:var(--muted)}.privacy-note{font-size:9px;color:var(--muted)}.guide{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:44px 0 40px;border-bottom:1px solid var(--line)}.guide h2{font-size:28px;letter-spacing:-1px;max-width:300px;margin-top:12px}.guide p{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 10px}.footer-main{display:flex;justify-content:space-between;gap:25px;padding:32px 0}.footer-main .brand{font-size:17px}.footer-main .brand-icon{width:29px;height:29px;font-size:24px;border-radius:8px}.footer-main p{font-size:11px;color:var(--muted)}.footer-main small{font-size:10px;color:var(--muted)}.donate{padding-top:3px}.donation-address{display:flex;align-items:center;gap:10px;margin-top:10px}.donation-address code{font-size:10px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:15px 0 24px;font-size:8px;color:var(--muted)}.result-section{margin-top:20px;padding:20px}.verdicts{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.verdicts div{padding:15px;background:var(--soft);border-radius:7px}.verdicts b{display:block;font-size:13px;margin-bottom:6px}.verdicts span{font-size:11px;color:var(--muted)}dialog{max-width:540px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);padding:30px}dialog::backdrop{background:#071a1680}dialog p{font-size:13px;line-height:1.9;color:var(--muted)}#closeDialog{float:right}@media(min-width:1450px){.intro{padding-top:38px}.instrument{padding-top:24px}.metric{padding:24px}.compact{padding:18px 24px}.chart{height:110px}}@media(max-width:900px){.shell{padding-left:22px;padding-right:22px}.version{display:none}.intro h1{font-size:29px}.intro p{font-size:10px}.instrument{padding:16px 15px 0}.steps{margin:0 -15px;padding:14px 12px;font-size:8px}.metric{padding:15px}.metric strong{font-size:29px}.metric-grid,.readouts{gap:10px}.dashboard{gap:12px}#speed{font-size:51px}#speed span{font-size:28px}#phase{font-size:7px}.chart-panel{padding:15px}.chart-key{font-size:7px}.panel-top{font-size:8px}.gauge-bottom{font-size:6px}.footer-main{flex-direction:column}.guide{gap:25px}}@media(max-width:620px){.shell{padding:0 16px}.header{height:64px}.brand{font-size:17px}.brand-icon{width:31px;height:31px;font-size:25px}.brand small{font-size:10px}.icon-button{width:33px;height:33px}.header-right{gap:6px}.intro{padding:19px 0 16px;display:block}.intro h1{font-size:27px;margin-top:7px}.intro p{display:none}.eyebrow{font-size:8px}.dashboard{grid-template-columns:1fr;gap:10px}.instrument{padding:12px 16px 0}.gauge-wrap{max-width:330px;margin-top:-8px}.digital{top:48%}#speed{font-size:48px}#speed span{font-size:26px}#phase{font-size:7px}.gauge-bottom{margin-top:-20px;font-size:6px}.test-action{margin:13px auto 10px;max-width:300px}#start{padding:12px 19px;font-size:13px}#testNote{font-size:9px;margin-top:8px}.steps{margin:0 -16px;padding:11px 16px;font-size:8px}.readouts{gap:10px}.metric-grid{gap:8px;grid-template-columns:repeat(4,1fr)}.metric,.compact{padding:10px 8px}.metric>div{font-size:7px;gap:4px;letter-spacing:0}.metric-icon{font-size:13px}.metric p,.compact p{margin:7px 0 0;display:block}.metric strong,.compact strong{font-size:23px;letter-spacing:-1px}.metric small{font-size:8px;display:block;margin-top:4px}.metric>span{display:none}.chart-panel{padding:12px}.chart{height:58px;margin-top:8px}.chart-footer{margin-top:6px;font-size:7px}.chart-key{font-size:7px}.server{padding:10px 13px}.server strong{font-size:10px}.server-icon{font-size:20px}.secondary-grid{grid-template-columns:1fr;gap:8px;margin-top:12px}summary{padding:15px;font-size:9px}.history-section{margin-top:25px}.section-heading h2{font-size:14px}.history{padding:3px 12px}.history-row{grid-template-columns:1.25fr 1fr 1fr 1fr;font-size:9px;gap:4px}.guide{grid-template-columns:1fr;gap:5px;padding:30px 0 24px}.guide h2{font-size:25px;max-width:none}.footer-main{padding:25px 0}.donation-address code{font-size:9px;overflow-wrap:anywhere}.footer-bottom{flex-wrap:wrap;gap:10px;padding-top:12px}.verdicts{grid-template-columns:1fr}.result-section{padding:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.gauge-bottom{margin-top:6px}.brand-icon img{display:block;width:44px;height:44px;max-width:none}.brand-icon{flex-shrink:0}.donation-qr{width:76px;height:76px;background:white;border:1px solid var(--line);border-radius:6px;padding:4px;margin-top:10px}.digital{pointer-events:none}@media(max-width:620px){.brand-icon img{width:38px;height:38px}.gauge-bottom{margin-top:0}.gauge-wrap{max-width:310px}.metric small{margin-top:5px}}
