:root{--bg:#fff;--fg:#111;--muted:#6b7280;--line:#e5e7eb;--accent:#2563eb;--danger:#dc2626;--out-bg:#fff1f2;--out-fg:#b91c1c;--out-line:#fca5a5;--bar:#fafafa;--row-h:56px;--bar-h:56px;--kb:0px}@media (prefers-color-scheme:dark){:root{--bg:#111;--fg:#f3f4f6;--muted:#9ca3af;--line:#27272a;--out-bg:#2a1215;--out-fg:#fca5a5;--out-line:#7f1d1d;--bar:#18181b}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);-webkit-tap-highlight-color:transparent;font:17px/1.3 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button,input{font:inherit;color:inherit}button{cursor:pointer}[hidden]{display:none!important}a{color:var(--accent)}.list{padding:0 0 calc(env(safe-area-inset-bottom) + var(--kb) + 24px) 0;margin:0;list-style:none}.row{height:var(--row-h);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-items:center;gap:8px;padding:0 12px;display:flex}.row:active{background:var(--line)}.row .name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:18px;overflow:hidden}.row .when{color:var(--out-fg);white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex}.row .when .tag{letter-spacing:.04em;background:var(--out-fg);color:#fff;border-radius:6px;padding:3px 7px;font-size:12px;font-weight:700}.row.out{background:var(--out-bg);box-shadow:inset 4px 0 0 var(--out-fg)}.row.out .name{color:var(--out-fg)}.row .del{color:var(--danger);background:0 0;border:0;margin-right:-8px;padding:8px;display:none}.row .del svg{width:22px;height:22px}body.edit .row .del{display:block}body.gated .list,body.gated .bar,body.gated #empty{display:none}.bar{z-index:10;height:calc(var(--bar-h) + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 8px 8px;background:var(--bar);border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex;position:sticky;top:0}.bar input{border:1px solid var(--line);background:var(--bg);border-radius:10px;flex:1;min-width:0;height:40px;padding:0 12px}.bar .count{color:var(--muted);white-space:nowrap;font-size:14px}.bar .count.offline{color:#d97706}.bar a{padding:0 8px;font-size:15px;text-decoration:none}.iconbtn{border:1px solid var(--line);background:var(--bg);border-radius:10px;justify-content:center;align-items:center;min-width:40px;height:40px;padding:0 8px;display:flex}.iconbtn svg{width:22px;height:22px}.iconbtn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.iconbtn.out{background:var(--out-fg);color:#fff;border-color:var(--out-fg)}.iconbtn .lbl{margin-left:4px;font-size:13px;font-weight:600}.pill{background:var(--accent);color:#fff;border:0;border-radius:10px;height:40px;padding:0 14px;font-weight:600}.toast{color:#fff;z-index:20;background:#111;border-radius:12px;align-items:center;gap:16px;max-width:calc(100% - 32px);padding:12px 16px;display:flex;position:fixed;top:35%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 16px #0000004d}.toast button{color:#93c5fd;background:0 0;border:0;padding:0;font-weight:600}.backdrop{z-index:30;background:#0006;position:fixed;inset:0}.sheet{z-index:31;background:var(--bg);padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;max-height:85vh;position:fixed;bottom:0;left:0;right:0;overflow:auto}.sheet h2{margin:4px 0 12px;font-size:17px}.menu button,.menu a{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;color:inherit;font:inherit;background:0 0;align-items:center;gap:12px;padding:14px 4px;text-decoration:none;display:flex}.menu button svg,.menu a svg{width:22px;height:22px;color:var(--muted)}.menu .danger{color:var(--danger)}.form{flex-direction:column;gap:10px;display:flex}.form input[type=text],.form input[type=password],.form input[type=search]{border:1px solid var(--line);background:var(--bg);border-radius:10px;width:100%;height:44px;padding:0 12px}.form .err{color:var(--danger);min-height:1.2em;font-size:14px}.form .actions{gap:8px;display:flex}.form .actions button{flex:1}.btn{border:1px solid var(--line);background:var(--bg);border-radius:10px;height:44px;padding:0 16px;font-weight:600}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn:disabled{opacity:.5}.center{justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex}.card{width:100%;max-width:360px}.card h1{margin:0 0 16px;font-size:20px}.muted{color:var(--muted);font-size:14px}#empty{text-align:center;padding:32px 16px}.big{border-bottom:1px solid var(--line);color:inherit;padding:18px 16px;font-size:20px;text-decoration:none;display:block}.big:active{background:var(--line)}.section{border-bottom:8px solid var(--line);padding:16px}.section h2{margin:0 0 12px;font-size:16px}.circuit{border-bottom:1px solid var(--line);padding:12px 0}.circuit .title{font-size:18px;font-weight:600}.circuit .tools{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.circuit .tools .btn{height:36px;padding:0 12px;font-weight:500}.inline{margin-top:8px}
