:root{font-family:Inter,system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#4f46e5;--ok:#047857;--bad:#b91c1c}*{box-sizing:border-box}body{margin:0;padding:20px;color:var(--ink);background:#f8fafc;-webkit-text-size-adjust:100%}.wrap{max-width:520px;margin:0 auto}.back a{color:var(--muted);text-decoration:none;font-size:13.5px}.back a:hover{color:var(--brand)}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 8px 30px #0f172a0a}h1{margin:0 0 6px;font-size:22px}.lead{margin:0 0 10px;color:var(--muted);font-size:14px;line-height:1.7}.safe{margin:0 0 18px;font-size:12.5px;color:var(--ok);background:#ecfdf5;border-radius:9px;padding:9px 12px;line-height:1.6}label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;letter-spacing:.5px;text-transform:uppercase}input:focus{outline:2px solid #c7d2fe;border-color:var(--brand)}input::placeholder{text-transform:none;letter-spacing:0;color:#94a3b8;font-size:13px}.hint,.bad,.ok{margin:8px 0 0;font-size:12.5px;line-height:1.6;min-height:20px}.hint{color:var(--muted)}.bad{color:var(--bad)}.ok{color:var(--ok)}.norm{display:block;margin-top:4px;font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--muted);word-break:break-all;font-size:12px}.out{margin:20px 0 14px;padding:22px 16px;border-radius:14px;background:#0f172a;color:#fff;text-align:center}.out.off{background:#e2e8f0;color:#94a3b8}.digits{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:44px;font-weight:700;letter-spacing:6px;line-height:1.2}.meter{height:5px;background:#ffffff26;border-radius:5px;margin:14px auto 8px;max-width:260px;overflow:hidden}.meter i{display:block;height:100%;background:#38bdf8;transition:width 1s linear}.meter i.low{background:#f97316}.sub{font-size:12.5px;opacity:.8}.row{display:flex;gap:10px;margin-bottom:12px}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;border:0;border-radius:10px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;min-height:44px}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed}details{border-top:1px solid var(--line);padding:12px 0}summary{cursor:pointer;font-size:13.5px;min-height:24px}details p{margin:10px 0 2px;font-size:12.5px;color:var(--muted);line-height:1.8}@media (max-width:480px){body{padding:12px}.card{padding:18px}.digits{font-size:36px;letter-spacing:4px}}
