:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.4}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:#0a0d12;color:#d8dde3}button{font:inherit;color:inherit;background:transparent;border:1px solid #2a3140;padding:4px 10px;cursor:pointer;border-radius:3px}button:hover{background:#1a2030}.app-shell{display:grid;grid-template-columns:1fr 320px;height:100vh;width:100vw}.viewport{position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#0e1218,#06080c);cursor:grab}.viewport.dragging{cursor:grabbing}.viewport svg{display:block;-webkit-user-select:none;user-select:none}.hud{position:absolute;top:12px;left:12px;background:#0f141cd9;border:1px solid #232a36;border-radius:4px;padding:8px 12px;font-size:11px;font-family:ui-monospace,monospace;pointer-events:none}.legend{position:absolute;bottom:12px;left:12px;background:#0f141cd9;border:1px solid #232a36;border-radius:4px;padding:8px 12px;font-size:11px;display:grid;grid-template-columns:auto auto;gap:4px 12px;align-items:center;pointer-events:none}.legend .swatch{width:12px;height:12px;border-radius:50%}.sidebar{border-left:1px solid #1c2230;background:#0d1118;overflow-y:auto;padding:16px}.sidebar h2{margin:0 0 4px;font-size:14px;font-weight:600;letter-spacing:.04em}.sidebar h3{margin:16px 0 6px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:#6b7585}.sidebar table{width:100%;border-collapse:collapse;font-size:12px;font-family:ui-monospace,monospace}.sidebar td{padding:2px 0}.sidebar td:first-child{color:#6b7585;padding-right:12px}.sidebar pre{margin:0;font-size:11px;white-space:pre-wrap;color:#aab1bd}.sidebar .empty{color:#4a5260;font-style:italic}.sidebar .pill{display:inline-block;padding:1px 6px;margin-right:4px;margin-bottom:4px;border:1px solid #2a3140;border-radius:8px;font-size:11px;font-family:ui-monospace,monospace}.sidebar .pill.hub{background:#3a2a18;border-color:#5a4828;color:#ffd28a}.toolbar{position:absolute;top:12px;right:12px;display:flex;gap:8px;align-items:center;background:#0f141cd9;border:1px solid #232a36;border-radius:4px;padding:6px 10px;font-size:11px;font-family:ui-monospace,monospace}.toolbar .status{padding-right:8px;border-right:1px solid #232a36}.toolbar button:disabled{opacity:.4;cursor:not-allowed}
