:root{--color-bg: #ffffff;--color-surface: #f8fafc;--color-text: #0f172a;--color-muted: #64748b;--color-border: #e2e8f0;--color-accent: #1e293b;--color-accent-text: #ffffff;--color-error-text: #b42318;--color-error-bg: #fef3f2;--color-error-border: #fda29b;--color-warn-text: #b54708;--font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--radius: 8px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family);color:var(--color-text);background:var(--color-bg)}.input{width:100%;padding:8px 12px;font-size:14px;color:inherit;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px}.btn{padding:8px 12px;font-size:14px;font-weight:500;color:var(--color-accent-text);background:var(--color-accent);border:none;border-radius:6px;cursor:pointer}.btn:disabled{opacity:.45;cursor:default}.btn-ghost{color:var(--color-muted);background:transparent;border:1px solid var(--color-border)}.input-invalid{border-color:var(--color-error-border)}.toggle{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:500;white-space:nowrap;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle:has(input:checked){color:var(--color-accent-text);background:var(--color-accent);border-color:var(--color-accent)}.toggle:has(input:disabled){opacity:.45;cursor:default}.toggle-state{font-size:12px;color:var(--color-muted)}.toggle-state-pending{color:var(--color-warn-text);font-weight:500}.error{margin:0;padding:8px 12px;font-size:13px;color:var(--color-error-text);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:6px}.connect{width:320px;margin:96px auto 0;padding:24px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 1px 3px #00000014}.connect-title{margin:0;font-size:18px;font-weight:600}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--color-muted)}.app{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border)}.app-title{margin:0;font-size:16px;font-weight:600}.status{font-size:12px;color:var(--color-muted)}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.filters .input{width:auto}.filters .grow{flex:1}.queries{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.query-row{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center}.query-row .error{grid-column:1 / -1;padding:4px 8px;font-size:12px}.query-actions{display:flex;gap:8px}.list{flex:1;overflow:auto}.empty{padding:24px;font-size:14px;color:var(--color-muted)}.messages{width:100%;border-collapse:collapse;font-size:14px}.messages th{position:sticky;top:0;padding:8px 16px;font-weight:500;text-align:left;color:var(--color-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.messages td{padding:8px 16px;vertical-align:top;border-bottom:1px solid var(--color-surface)}.nowrap{white-space:nowrap}.mono{font-family:var(--font-mono);font-size:12px}.muted{color:var(--color-muted)}.badge{padding:2px 8px;font-size:12px;background:var(--color-surface);border-radius:4px}.body-open{cursor:pointer}.body-open:hover{background:var(--color-surface)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.modal{display:flex;flex-direction:column;width:min(880px,100%);max-height:100%;background:var(--color-bg);border-radius:var(--radius);box-shadow:0 8px 32px #0000003d}.modal-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--color-border)}.modal-sender{font-size:14px;font-weight:500}.modal-close{margin-left:auto;padding:0 6px;font-size:20px;line-height:1;color:var(--color-muted);background:none;border:none;cursor:pointer}.modal-body{flex:1;margin:0;padding:12px 16px;overflow:auto;overscroll-behavior:contain;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
