* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; margin: 0; color: #111; }
header { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; background: #111; color: #fff; }
header h1 { margin: 0; font-size: 18px; font-weight: 600; }
#status { font-size: 12px; opacity: 0.9; }
section { padding: 12px 16px; border-bottom: 1px solid #eee; }
.controls .row, .playground .row { display: flex; align-items: center; gap: 8px; margin: 6px 0; flex-wrap: wrap; }
label { font-size: 12px; color: #444; }
input, select, button { font-size: 14px; padding: 6px 8px; }
button { cursor: pointer; transition: all 0.2s; }
button:hover { background: #f0f0f0; }
button.loading { background: #e3f2fd; color: #1976d2; }
button.success { background: #e8f5e8; color: #2e7d32; }
button.error { background: #ffebee; color: #d32f2f; }
.panes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 12px 16px; }
.pane { border: 1px solid #eee; padding: 8px; border-radius: 6px; min-height: 200px; }

/* Results Panel */
.results-panel { margin-top: 16px; padding: 12px; border: 1px solid #e0e0e0; border-radius: 6px; background: #fafafa; }
.status-messages { margin-bottom: 12px; }
.status-message { padding: 8px 12px; margin: 4px 0; border-radius: 4px; font-size: 13px; }
.status-message.success { background: #e8f5e8; color: #2e7d32; border-left: 4px solid #4caf50; }
.status-message.error { background: #ffebee; color: #d32f2f; border-left: 4px solid #f44336; }
.status-message.info { background: #e3f2fd; color: #1976d2; border-left: 4px solid #2196f3; }
.command-results { max-height: 200px; overflow-y: auto; }
.command-result { margin: 8px 0; padding: 8px; border-radius: 4px; background: white; border: 1px solid #ddd; }
.command-result h4 { margin: 0 0 8px 0; font-size: 14px; color: #333; }
.command-result pre { margin: 4px 0; font-size: 11px; }

/* Metrics Summary */
.metrics-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-bottom: 12px; }
.metric-card { padding: 8px 12px; border-radius: 4px; background: white; border: 1px solid #ddd; }
.metric-card h4 { margin: 0 0 4px 0; font-size: 12px; color: #666; text-transform: uppercase; }
.metric-card .value { font-size: 18px; font-weight: 600; color: #333; }
.metric-card.success { border-color: #4caf50; background: #f1f8e9; }
.metric-card.warning { border-color: #ff9800; background: #fff3e0; }
.metric-card.error { border-color: #f44336; background: #ffebee; }

/* Events Container */
.event-controls { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.events-container { max-height: 400px; overflow-y: auto; }
.event-item { padding: 8px; margin: 4px 0; border-radius: 4px; background: white; border-left: 4px solid #ddd; font-size: 12px; }
.event-item.command { border-left-color: #2196f3; }
.event-item.event { border-left-color: #4caf50; }
.event-item.error { border-left-color: #f44336; }
.event-header { display: flex; justify-content: space-between; align-items: center; font-weight: 600; }
.event-type { color: #666; }
.event-time { color: #999; font-size: 11px; }
.event-details { margin-top: 4px; }
.event-content { background: #f8f8f8; padding: 6px; border-radius: 3px; margin-top: 4px; font-family: monospace; }

#events { list-style: none; padding: 0; margin: 0; max-height: 320px; overflow: auto; }
#events li { padding: 6px 4px; border-bottom: 1px solid #f0f0f0; font-size: 12px; }
pre { font-size: 12px; background: #fafafa; border: 1px solid #eee; padding: 8px; border-radius: 6px; max-height: 320px; overflow: auto; }
footer { padding: 12px 16px; color: #555; font-size: 12px; }