:root{--bg:#f4f5f7;--card:#fff;--text:#16181d;--muted:#646b78;--line:#e2e5ea;--brand:#0b6e4f;--brand-2:#0e8a63;--danger:#c0362c;--ok:#13804f;--warn:#a86400;--radius:12px;--shadow:0 1px 2px #0000000d, 0 4px 16px #0000000d}@media (prefers-color-scheme:dark){:root{--bg:#111317;--card:#1a1d23;--text:#e9ebef;--muted:#9aa1ad;--line:#2b3038;--brand:#19a476;--brand-2:#22c08b;--shadow:none}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--brand)}.wrap{max-width:880px;margin:0 auto;padding:16px}header.top{border-bottom:1px solid var(--line);background:var(--card);z-index:5;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}header.top h1{letter-spacing:-.01em;margin:0;font-size:17px}header.top h1 span{color:var(--brand)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:18px}.card h2{margin:0 0 12px;font-size:15px}label{color:var(--muted);margin:0 0 6px;font-size:13px;font-weight:600;display:block}input[type=text],input[type=password],input[type=datetime-local],textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px}textarea{resize:vertical;min-height:140px}input:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px}.btn{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:9px 14px;font-weight:600}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.small{padding:5px 10px;font-size:13px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{justify-content:space-between}.muted{color:var(--muted);font-size:13px}.err{color:var(--danger);min-height:20px;font-size:14px}.channels{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.ch{border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.ch:has(input:checked){border-color:var(--brand);background:color-mix(in srgb, var(--brand) 8%, transparent)}.ch input{width:18px;height:18px;accent-color:var(--brand)}.ch img,.ch .ico{background:var(--line);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.ch .ico.wa{background:#25d366}.ch .meta{min-width:0}.ch .meta b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.ch .meta small{color:var(--muted);text-transform:capitalize}.ch.off{opacity:.5}.drop{border:2px dashed var(--line);text-align:center;cursor:pointer;border-radius:10px;padding:16px}.drop.has{border-style:solid}.preview{margin-top:10px;border-radius:8px;max-width:100%;max-height:260px;margin-inline:auto;display:block}.counter{color:var(--muted);text-align:right;font-size:12px}.results li{margin:4px 0}.ok{color:var(--ok)}.bad{color:var(--danger)}.hist{margin:0;padding:0;list-style:none}.hist li{border-top:1px solid var(--line);padding:10px 0}.hist li:first-child{border-top:0}.hist .t{white-space:pre-wrap;word-break:break-word}.pill{border:1px solid var(--line);border-radius:99px;margin:2px 4px 0 0;padding:1px 8px;font-size:12px;display:inline-block}.pill.ok{border-color:var(--ok)}.pill.bad{border-color:var(--danger)}.qr{background:#fff;border-radius:8px;width:240px;height:240px;margin:10px auto;display:block}.login-box{max-width:380px;margin:10vh auto}.login-box .card{padding:26px}.field{margin-bottom:14px}.login-title{margin:0 0 4px;font-size:22px}.login-title span{color:var(--brand)}.login-sub{margin:0 0 20px}.full{width:100%}.hidden{display:none!important}.tabs{gap:6px;margin-bottom:16px;display:flex}.tabs button{flex:1}.tabs button[aria-selected=true]{background:var(--brand);color:#fff;border-color:var(--brand)}@media (width<=520px){.wrap{padding:12px}.card{padding:14px}}.notice{font-weight:600}.notice.ok{border-color:var(--ok);color:var(--ok)}.notice.bad{border-color:var(--danger);color:var(--danger)}p.bad{color:var(--danger)}.setup code{background:var(--bg);border:1px solid var(--line);word-break:break-all;border-radius:8px;margin-bottom:12px;padding:8px 10px;font-size:13px;display:block}a.btn{text-decoration:none;display:inline-block}
