:root{--bg:#1b1530;--card:#261e44;--text:#f2eeff;--muted:#b8afd6;--accent:#8f7cf0;--ok:#4ade80;--bad:#f87171;--edge:#ff9a1f}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:18px;line-height:1.45}main{max-width:960px;padding:5vh 5vw;padding-left:max(5vw, env(safe-area-inset-left));padding-right:max(5vw, env(safe-area-inset-right));margin:0 auto}h1{margin:0 0 .3em;font-size:1.6em}h2{margin:0 0 .3em;font-size:1.2em}.build{color:var(--muted);font-size:.8em}.card{background:var(--card);border-radius:12px;margin:0 0 16px;padding:16px 20px}.intro{color:var(--muted);margin-top:0}.row>*{margin:0 8px 8px 0}button{font:inherit;color:var(--text);border:2px solid var(--accent);cursor:pointer;background:#3b2f6b;border-radius:8px;padding:10px 16px}button:focus{outline:3px solid var(--edge);outline-offset:2px}pre.result,pre.log{white-space:pre-wrap;word-break:break-word;background:rgba(0,0,0,.25);border-radius:8px;margin:8px 0 0;padding:10px;font-size:.85em}pre.log:empty{display:none}.pad{border:1px solid #4b3c8a;border-radius:8px;margin:0 0 10px;padding:10px}.pad-id{word-break:break-word;font-weight:600}.pad-map,.axes{color:var(--muted);font-size:.85em}.btn{text-align:center;background:#3b2f6b;border-radius:6px;min-width:2.2em;margin:4px 4px 0 0;padding:4px 0;font-size:.85em;display:inline-block}.btn.on{background:var(--ok);color:#000}.touch-area{border:2px dashed var(--accent);text-align:center;height:160px;color:var(--muted);touch-action:none;user-select:none;-webkit-touch-callout:none;border-radius:12px;justify-content:center;align-items:center;display:flex}table.probes{border-collapse:collapse;width:100%;font-size:.8em}table.probes td{vertical-align:top;word-break:break-all;border-bottom:1px solid #3b2f6b;padding:3px 6px}table.probes td:first-child{width:9em;color:var(--muted)}table.probes tr.bad td:last-child{color:var(--bad)}canvas.qr{max-width:100%;image-rendering:pixelated;margin:8px 0 12px;display:block}textarea.report{width:100%;color:var(--text);background:rgba(0,0,0,.3);border:1px solid #4b3c8a;border-radius:8px;padding:8px;font:.75em ui-monospace,Consolas,monospace}.status{color:var(--ok)}.overscan{border:3px solid var(--edge);pointer-events:none;z-index:10;position:fixed;top:0;bottom:0;left:0;right:0}.overscan i{border:0 solid var(--edge);width:40px;height:40px;position:absolute}.overscan .tl{border-top-width:10px;border-left-width:10px;top:0;left:0}.overscan .tr{border-top-width:10px;border-right-width:10px;top:0;right:0}.overscan .bl{border-bottom-width:10px;border-left-width:10px;bottom:0;left:0}.overscan .br{border-bottom-width:10px;border-right-width:10px;bottom:0;right:0}.wizard{border-top:1px solid #4b3c8a;margin-top:16px;padding-top:12px}h3{margin:0 0 .3em;font-size:1.05em}.wizard-prompt{color:var(--edge);font-size:1.15em;font-weight:600}.wizard-prompt:empty{display:none}
