:root { color-scheme: dark; }
* { box-sizing: border-box; }
body {
  background: #0c0b08;
  color: #e8c170;
  font: 15px/1.5 ui-monospace, "IBM Plex Mono", monospace;
  max-width: 60rem;
  margin: 0 auto;
  padding: 1.5rem 1.25rem;
}
h1 { font-size: 1.3rem; letter-spacing: 0.04em; }
h2 { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.1em; color: #9a8a63; margin: 0 0 0.25rem; }
.muted { color: #9a8a63; font-weight: normal; font-size: 0.9rem; }

.banner {
  border: 1px solid #6b4f1d;
  background: #161309;
  border-radius: 4px;
  padding: 0.6rem 0.8rem;
  margin: 0.75rem 0 1rem;
  font-size: 0.85rem;
  color: #d8b25e;
}
.banner strong { color: #f0d089; }

form#connect {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: end;
  margin-bottom: 1rem;
}
form#connect label { display: flex; flex-direction: column; font-size: 0.75rem; color: #9a8a63; gap: 0.2rem; }
form#connect input {
  background: #161309; color: #e8c170; border: 1px solid #3a3326;
  border-radius: 4px; padding: 0.4rem 0.5rem; font: inherit; min-width: 16rem;
}
button {
  background: #2a2410; color: #f0d089; border: 1px solid #6b4f1d;
  border-radius: 4px; padding: 0.45rem 0.9rem; font: inherit; cursor: pointer;
}
button:hover { background: #3a3115; }
.status { font-size: 0.8rem; color: #9a8a63; align-self: center; }
.status.connected { color: #8fbf6e; }
.status.error { color: #d87a6e; }

#panes { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pane { display: flex; flex-direction: column; min-height: 18rem; }
.stream {
  flex: 1; margin: 0; padding: 0.6rem; overflow-y: auto;
  background: #110f08; border: 1px solid #3a3326; border-radius: 4px;
  white-space: pre-wrap; word-break: break-word; min-height: 12rem;
}
textarea#input {
  margin-top: 0.5rem; background: #161309; color: #e8c170;
  border: 1px solid #3a3326; border-radius: 4px; padding: 0.5rem;
  font: inherit; resize: vertical;
}
@media (max-width: 40rem) { #panes { grid-template-columns: 1fr; } }
