:root{--bg:#0f0f23;--card:#19192d;--card2:#232352;--line:#2c2c48;--text:#e6e6f0;--mute:#9a9ab4;--head:#667eea;
  --ok:#4ade80;--warn:#ffbe3c;--bad:#ff6b6b;--cy:#5fd1e0;}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;line-height:1.45;-webkit-tap-highlight-color:transparent}
main{max-width:560px;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) 14px calc(84px + env(safe-area-inset-bottom))}
h1{font-size:19px;font-weight:600;margin:0}
h2{font-size:15px;font-weight:600;margin:0 0 6px;color:#fff}
a{color:#8fa2ff}
.center{text-align:center;padding:40px 10px}
.muted,.mu{color:var(--mute);font-size:13px}
.hd{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:4px 0 14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:12px}
.card.hero{background:var(--card2)}
.card.tap{cursor:pointer}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:4px 0}
.big{font-size:26px;font-weight:600;color:#fff}
.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}.cy{color:var(--cy)}
.pill{font-size:12px;padding:2px 10px;border-radius:100px;white-space:nowrap}
.p-ok{background:#123a26;color:var(--ok)}.p-warn{background:#3d2f0d;color:var(--warn)}.p-bad{background:#3d1414;color:#ff8a8a}
.bar{height:7px;background:var(--line);border-radius:7px;overflow:hidden;margin-top:5px}
.bar i{display:block;height:100%;border-radius:7px}
.btn{display:block;width:100%;border:0;border-radius:12px;padding:13px;font-size:15px;font-weight:600;cursor:pointer;margin-top:10px;font-family:inherit}
.btn-main{background:var(--head);color:#fff}
.btn-blue{background:#3c5a96;color:#fff}
.btn-green{background:#0f6e4a;color:#fff}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.btn:disabled{opacity:.6}
input{width:100%;background:#0b0b1c;border:1px solid #3c3c58;border-radius:12px;padding:13px;color:#fff;font-size:16px;font-family:inherit;margin-top:6px}
.key{font-family:Consolas,monospace;font-size:15px;background:#0b0b1c;border:1px dashed #4b4b70;border-radius:10px;padding:10px;text-align:center;letter-spacing:.5px;word-break:break-all;color:#fff;user-select:all}
.err{color:#ff8a8a;font-size:13px;margin-top:8px;min-height:1em}
.back{background:none;border:0;color:var(--text);font-size:20px;padding:0 6px 0 0;cursor:pointer}
.ev{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.ev:last-child{border-bottom:0}
.ev .t{color:var(--mute);font-size:12px;white-space:nowrap}
ol.steps{padding-left:20px;margin:6px 0}ol.steps li{margin:4px 0}
.logo{width:72px;height:72px;border-radius:18px;display:block;margin:20px auto 10px}
nav{position:fixed;left:0;right:0;bottom:0;background:#14142a;border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:5}
nav a{color:var(--mute);text-decoration:none;font-size:12px;text-align:center;flex:1}
nav a .ic{display:block;font-size:19px;line-height:1.2}
nav a.on{color:#8fa2ff}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.chip{background:#2a2a44;color:#c8c8e0;border:0;border-radius:100px;padding:6px 13px;font-size:13px;font-family:inherit;cursor:pointer}
.chip.on{background:var(--head);color:#fff}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.grid2 .card{margin:0}
.tile b{display:block;font-size:19px;font-weight:600;color:#fff;margin:2px 0}
.tile b.ok{color:var(--ok)}.tile b.warn{color:var(--warn)}.tile b.bad{color:var(--bad)}
.heat{display:grid;grid-template-columns:22px repeat(12,1fr);gap:3px;font-size:10px;color:var(--mute);align-items:center;text-align:center}
.heat span{height:18px;border-radius:3px;background:var(--line)}
.bk{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.bk:last-child{border-bottom:0}
.sw{position:relative;width:46px;height:26px;flex:none}
.sw input{opacity:0;width:0;height:0;position:absolute}
.sw i{position:absolute;inset:0;background:#44445a;border-radius:26px;transition:.2s;cursor:pointer}
.sw i:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.sw input:checked+i{background:var(--head)}
.sw input:checked+i:after{left:23px}
.num{width:96px;margin:0;padding:8px 10px;text-align:right;font-size:15px}
.prow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.prow:last-child{border-bottom:0}
.prow.ch span:first-child{color:var(--warn)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin-top:10px}
.chk input{width:20px;height:20px;margin:0;flex:none}
.toast{position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#2a2a44;color:#fff;padding:10px 16px;border-radius:12px;font-size:14px;z-index:9;max-width:90%}
