:root{--bg:#0b0f14;--panel:#131924;--panel-hi:#1a2230;--border:#222c3c;--text:#e6edf3;--text-dim:#8b98a8;--accent:#7cc4ff;--ok:#6ee7a8;--warn:#f3c06b;--err:#ff8a8a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}button{font:inherit;cursor:pointer}input{font:inherit}.muted{color:var(--text-dim)}.small{font-size:12px}code{background:var(--panel-hi);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:1px 6px;font-family:ui-monospace,Consolas,monospace;font-size:.9em}.connect{place-items:center;min-height:100vh;padding:24px;display:grid}.connect-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;gap:12px;width:100%;max-width:420px;padding:28px;display:grid}.connect-card h1{margin:0;font-size:24px;font-weight:600}.connect-card label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-top:8px;font-size:12px}.connect-card input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;padding:10px 12px}.connect-card input:focus{border-color:var(--accent)}.port-hint{color:var(--text-dim);font-size:13px}.connect-card button[type=submit]{background:var(--accent);color:#0b0f14;border:none;border-radius:8px;margin-top:8px;padding:10px 12px;font-weight:600}.connect-card button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.dashboard{max-width:1200px;margin:0 auto;padding:16px 20px 48px}.topbar{background:var(--panel);border:1px solid var(--border);z-index:1;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex;position:sticky;top:8px}.topbar-left,.topbar-right{align-items:center;gap:10px;display:flex}.ghost{color:var(--text);border:1px solid var(--border);background:0 0;border-radius:6px;padding:6px 10px}.ghost:hover{background:var(--panel-hi)}.badge{border:1px solid var(--border);background:var(--panel-hi);border-radius:999px;padding:3px 8px;font-size:12px}.badge-open{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, var(--border))}.badge-connecting{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, var(--border))}.badge-error{color:var(--err);border-color:color-mix(in srgb, var(--err) 40%, var(--border))}.banner{border:1px solid var(--border);background:var(--panel);border-radius:8px;margin-top:12px;padding:10px 12px}.banner-err{color:var(--err);border-color:color-mix(in srgb, var(--err) 40%, var(--border))}.empty{text-align:center;color:var(--text-dim);margin-top:24px}.group{margin-top:24px}.group h2{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0 0 10px;font-size:13px;font-weight:600}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;gap:4px;padding:12px 14px;display:grid}.card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.card-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.card-type{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.card-value{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:18px;overflow:hidden}.card-id{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:11px;overflow:hidden}
