:root{color-scheme:dark;--bg:#081429;--panel:#0e2140;--panel-border:#274060;--text:#f3f8ff;--muted:#a0b5d3;--blue:#28b3ec;--orange:#ff963c;--gauge-back:#233b5a;--line:rgba(130,173,230,.15);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 75% 0%,#143a65 0,transparent 48%),var(--bg);color:var(--text)}body{padding:28px 20px}button{font:inherit}.shell{max-width:880px;margin:0 auto}.brand{display:flex;align-items:center;gap:13px}.mark{width:52px;height:52px;display:grid;place-items:center;color:#4db9f3;background:rgba(46,178,237,.12);border:1px solid #28577b;border-radius:16px}.mark svg{width:35px}.brand-name{font-weight:800;font-size:22px;line-height:1.15;letter-spacing:-.6px}.brand-name span{color:#57c8f6}.brand-line{font-size:12px;color:var(--muted);margin-top:5px}.version{opacity:.68}.online{margin-left:auto;font-size:12px;padding:9px 12px;border:1px solid #325a75;border-radius:100px;display:flex;gap:7px;align-items:center;color:#bfd3ea}.pulse{width:7px;height:7px;border-radius:50%;background:#ebbf52}.online.ok .pulse{background:#55d5a4}.online.bad .pulse{background:#fa7878}.hero{text-align:center;margin:44px auto 26px}.eyebrow{font-size:11px;letter-spacing:2.5px;color:#62c9f3;font-weight:700}h1{font-size:clamp(28px,5vw,41px);letter-spacing:-1px;line-height:1.14;margin:12px 0}.hero p{color:var(--muted);font-size:15px;margin:0}.test-card{background:linear-gradient(180deg,rgba(20,45,80,.96),rgba(13,31,58,.98));border:1px solid var(--panel-border);border-radius:24px;padding:20px 36px 30px;box-shadow:0 28px 70px #0003}.meter{width:min(100%,405px);position:relative;margin:0 auto}.dial{display:block;width:100%;height:auto}.tick{fill:#869dbb;font:14px system-ui,sans-serif}.center{position:absolute;left:0;right:0;top:26%;text-align:center}.dial-direction{font-size:13px;color:#96b5d2;margin-bottom:10px}.speed-line{display:flex;align-items:baseline;justify-content:center;gap:5px}.speed{font-weight:800;font-variant-numeric:tabular-nums;font-size:clamp(42px,8vw,67px);line-height:1.05;letter-spacing:-2px}.unit{font-size:15px;color:#a9bdd4}.dial-sub{font-size:12px;margin-top:11px;color:#98b1c8}.status-line{text-align:center;min-height:24px;color:#b7cde5;font-size:13px;margin:0 0 10px}.progress-track{background:#24405f;height:5px;border-radius:10px;overflow:hidden}.progress-fill{width:0%;height:100%;background:linear-gradient(90deg,#37bee9,#ff9c4f);transition:width .18s linear}.primary-btn{display:flex;gap:18px;align-items:center;justify-content:center;margin:25px auto 32px;border:0;border-radius:12px;padding:15px 27px;color:#031429;font-weight:800;cursor:pointer;background:linear-gradient(110deg,#4bccf6,#80def8);box-shadow:0 8px 30px #17add52d}.primary-btn:hover:not(:disabled){filter:brightness(1.09)}.primary-btn:focus-visible{outline:3px solid #fff;outline-offset:4px}.primary-btn:disabled{opacity:.55;cursor:wait}.results{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.result{background:#0b1a33;border:1px solid var(--line);border-radius:15px;padding:17px 10px;text-align:center}.result-icon{font-size:21px;font-weight:800;margin-bottom:5px}.blue{color:#57c9ff}.orange{color:#ffad73}.violet{color:#bda0ff}.teal{color:#76e8ce}.result-label{color:#b0c2da;font-size:12px}.result-value{margin-top:8px;font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.result-value small{font-size:11px;color:#a2bdd4;font-weight:500}.completed{margin:15px 0 0;padding:18px 22px;border:1px solid #2e674f;background:rgba(44,137,100,.13);border-radius:16px}.completed h2{font-size:17px;margin:0 0 6px}.completed p{margin:0;color:#b9d4c7;font-size:13px}.completed .receipt{margin-top:9px;font-family:ui-monospace,Consolas,monospace;color:#8ebda6;font-size:11px}.footer{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;margin:25px 0 0;font-size:12px;color:#a3b5c9}.footer b{color:#e6f6ff}.footer-muted{opacity:.65}@media(max-width:580px){body{padding:15px 12px}.brand-name{font-size:19px}.mark{width:45px;height:45px}.online{font-size:10px;padding:7px 8px}.hero{margin:38px auto 20px}.test-card{padding:15px 12px 19px;border-radius:18px}.meter{max-width:340px}.center{top:26%}.speed{font-size:46px}.results{gap:6px;grid-template-columns:repeat(2,1fr)}.result{padding:12px 4px}.result-value{font-size:23px}.primary-btn{margin:22px auto 24px}}
@media(prefers-reduced-motion:reduce){.progress-fill{transition:none}}

/* Modo de medição - tema claro/escuro segue a superfície do cartão */
.mode-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin:8px 0 4px; }
.mode-row label { font-size:13px; font-weight:600; color:var(--text-muted, #8a98b4); }
.mode-row select { appearance:auto; background:var(--surface, #172844); color:inherit; border:1px solid var(--border, #52627a); border-radius:10px; padding:9px 12px; max-width:100%; font:inherit; }
.mode-row select:focus-visible {outline:3px solid #55a8ff; outline-offset:2px;}
.mode-hint { font-size:12px; color:var(--muted, #98a6bb); line-height:1.5; margin:4px 0 16px; }
