:root{--bg:#07090c;--card:#0e1217;--line:#1b222b;--tx:#d7dee6;--mut:#6b7785;--g:#2ee59d;--r:#ff5d6c;--y:#ffc857;--b:#5aa9ff;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}
*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--tx);font:14px/1.35 -apple-system,system-ui,sans-serif}
body{padding:calc(env(safe-area-inset-top) + 52px) 0 calc(env(safe-area-inset-bottom) + 84px)}
.top{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top) + 10px) 14px 10px;background:rgba(7,9,12,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{font:700 13px var(--mono);letter-spacing:.12em}.logo{color:var(--g)}.hdr-r{display:flex;gap:8px;align-items:center}
.badge{font:700 10px var(--mono);letter-spacing:.1em;color:#000;background:var(--y);padding:3px 7px;border-radius:4px}
.live{font:600 10px var(--mono);color:var(--g)}.live.off{color:var(--mut)}
main{padding:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}
.h{font:600 10px var(--mono);letter-spacing:.14em;color:var(--mut);text-transform:uppercase;margin-bottom:8px;display:flex;justify-content:space-between}
.eq{font:700 32px var(--mono);letter-spacing:-.02em}.row{display:flex;justify-content:space-between;gap:8px}
.kv{flex:1;background:#0a0d11;border:1px solid var(--line);border-radius:8px;padding:8px}.kv b{display:block;font:600 15px var(--mono)}.kv small{color:var(--mut);font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}
.pos{color:var(--g)}.neg{color:var(--r)}.mut{color:var(--mut)}.mono{font-family:var(--mono)}
.dots{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;font:11px var(--mono)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:var(--mut);vertical-align:0}
.dot.ok{background:var(--g);box-shadow:0 0 6px var(--g)}.dot.stale,.dot.missing{background:var(--r);box-shadow:0 0 6px var(--r)}.dot.paused{background:var(--y)}
.tbl{width:100%;border-collapse:collapse;font:12px var(--mono)}.tbl th{color:var(--mut);font-weight:500;text-align:right;font-size:10px;padding:4px 2px}.tbl th:first-child,.tbl td:first-child{text-align:left}
.tbl td{text-align:right;padding:7px 2px;border-top:1px solid var(--line)}a{color:var(--b);text-decoration:none}
.ev{display:flex;gap:8px;padding:7px 0;border-top:1px solid var(--line);font-size:12px}.ev:first-of-type{border-top:0}
.ev .t{font:11px var(--mono);color:var(--mut);width:40px;flex:none}.ev .m{flex:1;min-width:0}.ev .m div:last-child{color:var(--mut);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev .rt{font:12px var(--mono)}
.tag{font:600 9px var(--mono);padding:1px 5px;border-radius:3px;border:1px solid var(--line);color:var(--mut);margin-right:4px;text-transform:uppercase}
.empty{text-align:center;color:var(--mut);padding:18px 8px;font-size:13px}.empty .ic{font-size:22px;display:block;margin-bottom:6px;color:#3a4552}
.ag-h{display:flex;align-items:center;justify-content:space-between}.ag-n{font:700 15px var(--mono)}.ag-r{font:11px var(--mono);color:var(--mut)}
.ctr{display:flex;gap:6px;margin:10px 0 6px}.ctr .kv b{font-size:16px}
.ln{font:11px var(--mono);padding:4px 0;border-top:1px dashed var(--line);display:flex;gap:6px}.ln span:first-child{color:var(--mut);flex:none}.ln span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.banner{margin:10px 12px 0;padding:10px 12px;border-radius:10px;font-size:12px;border:1px solid}.banner.err{background:#2a0f14;border-color:#5a1d27;color:#ffb3bc}.banner.warn{background:#2a220d;border-color:#5a4a1d;color:#ffe2a3}
.hidden{display:none}.loading{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--mut);padding:80px 0}.spin{width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--g);border-radius:50%;animation:s 1s linear infinite}@keyframes s{to{transform:rotate(360deg)}}
.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:rgba(10,13,17,.96);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.tabs button{flex:1;background:none;border:0;color:var(--mut);font:10px -apple-system,system-ui;padding:8px 0 9px;display:flex;flex-direction:column;align-items:center;gap:2px}.tabs button span{font-size:18px}.tabs button.on{color:var(--g)}
.soon{text-align:center;padding:60px 20px;color:var(--mut)}.soon b{display:block;color:var(--tx);font:700 16px var(--mono);margin:8px 0}
.btn{display:inline-block;margin-top:12px;padding:9px 14px;border-radius:8px;border:1px solid var(--line);background:#121820;color:var(--tx);font:600 12px var(--mono)}
.sm{font-size:10px}.bic{font-size:28px}.mt{margin-top:10px}.nx{display:inline-block;margin-top:12px}
.tabs button span{height:22px;line-height:22px;display:block}

.back{background:none;border:0;color:var(--b);font:600 14px -apple-system,system-ui;padding:2px 0 10px}
.chips{display:flex;gap:6px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.chips.in{margin-bottom:8px}.chips .sp{flex:1}.cnt{margin-left:auto;font:11px var(--mono)}
.chip{background:#0a0d11;border:1px solid var(--line);color:var(--mut);font:600 11px var(--mono);padding:5px 10px;border-radius:999px}.chip.on{color:#000;background:var(--g);border-color:var(--g)}
.li{display:flex;gap:8px;align-items:center;padding:9px 0;border-top:1px solid var(--line);cursor:pointer}.li:first-child{border-top:0}.li .m{flex:1;min-width:0}.li .m div:last-child{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.li .rt{font-size:11px}
.vt{font:700 9px var(--mono);padding:2px 5px;border-radius:3px;letter-spacing:.06em}.vt.kill{background:#3a1219;color:var(--r)}.vt.pass{background:#0f3324;color:var(--g)}.vt.pending{background:#2a220d;color:var(--y)}
.cl{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.cl:first-of-type{border-top:0}.cl.red{background:linear-gradient(90deg,rgba(255,93,108,.08),transparent)}.cl .m{flex:1;min-width:0}
.ck{flex:none;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 11px var(--mono)}.ck.ok{background:#0f3324;color:var(--g)}.ck.bad{background:#3a1219;color:var(--r)}.ck.na{background:#151b22;color:var(--mut)}
.why{margin-top:8px;font-size:12px;color:#ffb3bc;background:#2a0f14;border:1px solid #5a1d27;border-radius:8px;padding:8px}.why.okc{color:var(--g);background:#0b2219;border-color:#164a33}
.btn.fomo{background:var(--g);color:#000;border-color:var(--g)}.row .btn{margin-top:0;flex:1;text-align:center}
.chart{width:100%;display:block}.lg{display:flex;gap:12px;font:10px var(--mono);margin-top:6px}.l-e{color:var(--b)}.l-s{color:var(--r)}.l-t{color:var(--y)}.warnc{color:var(--y)}
.search input{width:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;color:var(--tx);font:14px -apple-system,system-ui;padding:10px 12px;margin-bottom:10px;-webkit-appearance:none}
.ln.kvl span:last-child{margin-left:auto;text-align:right}
main{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
.chips.in .chip{padding:5px 8px}.chips.in{flex-wrap:nowrap;gap:4px}
.banner.ok{background:#0b2219;border-color:#164a33;color:var(--g)}
.hint{margin-top:10px;font-size:13px;color:#ffe2a3;background:#2a220d;border:1px solid #5a4a1d;border-radius:8px;padding:10px}
.btn.wide{display:block;width:100%;text-align:center;padding:12px}
.ag-h{gap:8px;min-width:0}.ag-h .ag-n{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-h>span,.ag-h>.ag-r{flex:none;white-space:nowrap}
