:root{--bg:#000;--card:#111114;--line:#1d1d22;--fg:#f2f2f7;--dim:#8e8e93;--green:#30d158;--red:#ff453a;--cyan:#64d2ff;--orange:#ff9f0a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui;padding-bottom:80px;-webkit-font-smoothing:antialiased}
header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;background:rgba(0,0,0,.85);backdrop-filter:blur(20px);font-weight:700;font-size:22px}
.badge{font-size:12px;padding:3px 8px;border-radius:8px;background:#2c2c2e;color:var(--orange);letter-spacing:.5px}.badge.live{color:var(--green)}
main{padding:0 12px}.card{background:var(--card);border-radius:16px;padding:14px 16px;margin:10px 0}.card h3{margin:0 0 6px;font-size:13px;color:var(--dim);text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.big{font-size:34px;font-weight:700}.dim{color:var(--dim)}.green{color:var(--green)}.red{color:var(--red)}
.row{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row a{color:inherit;text-decoration:none}
.kill{opacity:.45}.kill .nm{text-decoration:line-through var(--red)}.pill{display:inline-block;font-size:12px;padding:2px 8px;border-radius:10px;margin-right:6px}.pill.r{background:#3a1110;color:var(--red)}.pill.g{background:#0f2a17;color:var(--green)}
.strips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.strip{height:28px;border-radius:6px;background:#2c2c2e;font-size:10px;display:flex;align-items:center;justify-content:center;color:var(--dim)}.strip.ok{background:#0f2a17;color:var(--green)}.strip.bad{background:#3a1110;color:var(--red)}
canvas{width:100%;height:180px;display:block}.empty{color:var(--dim);text-align:center;padding:40px 12px}.err{color:var(--red);text-align:center;padding:40px 12px}
nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:rgba(10,10,12,.92);backdrop-filter:blur(20px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
nav button{flex:1;padding:12px 0 14px;background:none;border:0;color:var(--dim);font-size:12px}nav button.on{color:var(--fg)}
.btn{display:block;text-align:center;background:#fff;color:#000;border-radius:12px;padding:12px;font-weight:600;text-decoration:none;margin-top:10px}
.ring{width:84px;height:84px}.layer{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
