:root{--bg: #0d1117;--bg-panel: #161b22;--bg-input: #0d1117;--border: #30363d;--text: #e6edf3;--text-muted: #7d8590;--accent: #58a6ff;--accent-hover: #79c0ff;--green: #3fb950;--red: #f85149;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", "JetBrains Mono", Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}.app{max-width:1040px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:100vh}.header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px}.header h1{font-size:18px;font-weight:600}.status{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:13px}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0;background-color:var(--red)}.status-dot.connected{background-color:var(--green)}.status-dot.connecting{background-color:#d29922}.status-text{color:var(--text-muted)}.connection-id{color:var(--text-muted);font-size:12px}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:16px}.panel h2{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}select,input[type=text],input[type=number]{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text);font-family:var(--font-mono);font-size:13px;outline:none}select:focus,input[type=text]:focus,input[type=number]:focus{border-color:var(--accent)}select{min-width:140px;cursor:pointer}input:disabled{opacity:.5}.input-narrow{width:100px}button{height:36px;padding:0 16px;border:1px solid var(--border);border-radius:6px;background:var(--accent);color:#fff;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.4;cursor:not-allowed}.form-row,.subscribe-form,.auth-form .form-row,.post-form .form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.subscribe-form{align-items:flex-end}label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-family:var(--font-mono);color:var(--text-muted)}.auth-success{font-family:var(--font-mono);font-size:13px;color:var(--green)}.auth-success .permissions{color:var(--text-muted);font-size:12px}.hint{font-size:12px;color:var(--text-muted);margin-bottom:10px}.hint code{font-family:var(--font-mono);color:var(--accent);font-size:11px}.health-result{font-family:var(--font-mono);font-size:12px;color:var(--green);padding:6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px}.post-form{display:flex;flex-direction:column;gap:10px}.sub-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.sub-item{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-family:var(--font-mono);font-size:13px}.sub-item code{color:var(--accent)}.btn-unsub{background:none;border:1px solid var(--red);color:var(--red);border-radius:4px;padding:2px 8px;font-size:12px;height:auto}.btn-unsub:hover{background:var(--red);color:#fff}.event-panel{flex:1;display:flex;flex-direction:column;min-height:300px}.event-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.event-header h2{margin-bottom:0}.event-count{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);flex:1}.btn-clear{background:none;border:1px solid var(--border);color:var(--text-muted);height:auto;padding:4px 10px;font-size:12px;font-family:var(--font-mono)}.btn-clear:hover{border-color:var(--text-muted);color:var(--text)}.event-stream{flex:1;overflow-y:auto;max-height:60vh;display:flex;flex-direction:column;gap:4px}.event-entry{display:flex;gap:10px;align-items:flex-start;padding:4px 0;border-bottom:1px solid var(--border)}.event-ts{flex-shrink:0;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);padding-top:2px;min-width:95px}.event-json{font-family:var(--font-mono);font-size:12px;line-height:1.4;white-space:pre-wrap;word-break:break-all;color:var(--text);margin:0;flex:1}.empty-hint{color:var(--text-muted);font-style:italic;font-size:13px}
