[hidden]{display:none!important}
:root{--bg:#0f1115;--panel:#171a21;--line:#262b36;--ink:#e8eaf0;--mute:#8b93a7;--acc:#5aa9ff;--ok:#39b37a;--warn:#e8b23a;--bad:#e5533d;--r:10px}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
button{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer}button:hover{border-color:var(--acc)}button.pri{background:var(--acc);border-color:var(--acc);color:#061325;font-weight:600}button:disabled{opacity:.5;cursor:default}
input,textarea{font:inherit;color:inherit;background:#0b0d12;border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}
.top{position:sticky;top:0;background:rgba(15,17,21,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:5}
.top-in{display:flex;align-items:center;gap:16px;padding:12px 20px 6px}.brand{display:flex;align-items:center;gap:14px}.mark{font-weight:800;letter-spacing:-.02em;font-size:20px}.mark i{color:var(--acc);font-style:normal}.rule{width:1px;height:28px;background:var(--line)}
.brand h1{margin:0;font-size:15px;font-weight:600}.brand p{margin:0;color:var(--mute);font-size:13px}.spacer{flex:1}
.pills{display:flex;gap:6px;flex-wrap:wrap}.pill{font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--mute)}.pill.on{color:var(--ok);border-color:var(--ok)}.pill.off{color:var(--bad);border-color:var(--bad)}
.tabs{display:flex;gap:4px;padding:0 20px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:8px 12px;color:var(--mute)}.tabs button.on{color:var(--ink);border-bottom-color:var(--acc)}.n{font-size:11px;color:var(--mute);margin-left:4px}
main{padding:18px 20px 60px;max-width:1500px;margin:0 auto}.tab{display:none}.tab.on{display:block}
.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.bar .grow{flex:1;min-width:220px}
h2{font-size:16px;margin:22px 0 10px;color:var(--mute);font-weight:600;display:flex;align-items:center;gap:10px}h2 .dot{width:8px;height:8px;border-radius:50%;background:var(--mute)}h2 .dot.ok{background:var(--ok)}h2 .dot.bad{background:var(--bad)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.cam{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;cursor:pointer}.cam .img{aspect-ratio:16/9;background:#000;display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:13px;position:relative}.cam img{width:100%;height:100%;object-fit:cover;display:block}
.cam .st{position:absolute;top:6px;left:6px;font-size:11px;padding:2px 7px;border-radius:999px;background:rgba(0,0,0,.6)}.st.dark,.st.unreachable,.st.error,.st.gone{background:var(--bad);color:#fff}.st.stale{background:var(--warn);color:#111}
.cam .meta{padding:8px 10px;display:flex;justify-content:space-between;gap:8px;font-size:13px}.cam .meta b{font-weight:600}.cam .meta span{color:var(--mute);white-space:nowrap}
.cam.hidden-cam{opacity:.45}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:12px}.card h3{margin:0 0 6px;font-size:15px}.card .when{color:var(--mute);font-size:13px}.card p{margin:8px 0;white-space:pre-wrap}
.alert{border-left:3px solid var(--warn);padding:6px 10px;margin:6px 0;background:#1d1a14;border-radius:0 6px 6px 0}.alert.act{border-left-color:var(--bad);background:#211614}.alert b{font-weight:600}
.lines{margin:8px 0 0;padding:0;list-style:none;font-size:13px;columns:2;column-gap:24px}.lines li{break-inside:avoid;padding:2px 0;color:var(--mute)}.lines li b{color:var(--ink);font-weight:500}.lines li.flag{color:var(--warn)}
.sheets{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.sheets img{height:90px;border-radius:6px;border:1px solid var(--line);cursor:pointer}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}th{color:var(--mute);font-weight:600;font-size:12px}td.ok{color:var(--ok)}td.bad{color:var(--bad)}
.log{font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;color:var(--mute)}.log b{color:var(--ink);font-weight:500}
.empty{color:var(--mute);padding:30px;text-align:center;border:1px dashed var(--line);border-radius:var(--r)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}.lb-in{max-width:1200px;width:100%;position:relative}.lb-in h3{margin:0 0 8px;font-size:15px}.lb-in img,.lb-in video{width:100%;border-radius:8px;background:#000}.lb-in video{aspect-ratio:16/9;display:block}.lb-live{display:flex;gap:6px;align-items:center;margin:0 0 8px;font-size:12px}.lb-live button{font-size:12px;padding:3px 10px}.lb-live button.on{outline:2px solid var(--accent,#4ea1ff)}#lbLiveSt{color:var(--mute)}.lb-x{position:absolute;right:0;top:-6px;font-size:20px;padding:2px 10px}
.strip{display:flex;gap:6px;overflow-x:auto;margin-top:8px;padding-bottom:4px}.strip img{height:64px;border-radius:4px;cursor:pointer;opacity:.7;border:2px solid transparent}.strip img.on{opacity:1;border-color:var(--acc)}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--panel);border:1px solid var(--line);padding:10px 16px;border-radius:8px;z-index:30}
@media(max-width:700px){.lines{columns:1}.top-in{padding:10px 14px 4px}main{padding:14px}}
