/* ODDBOT — TERMINAL.app-style local chat. Monospace inherits from the
   site; green-on-dark from existing tokens. No new fonts, no keyframes
   (the typewriter is the animation). */
.ob-chat { display: flex; flex-direction: column; gap: 8px; }

/* nowrap + min-height:0 is the documented column-flex trap: a wrapping
   column overflows sideways invisibly instead of scrolling. */
.ob-log {
  flex: 1;
  flex-wrap: nowrap;
  min-height: 0;
  max-height: 280px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  line-height: 1.5;
}

.ob-line { white-space: pre-wrap; word-break: break-word; }
.ob-bot { color: var(--green); }
.ob-user { color: var(--plat-darker); }

.ob-ask {
  align-self: flex-start;
  margin: 2px 0 4px;
  background: transparent;
  color: var(--green);
  border: 1px solid var(--green-dim);
  padding: 4px 10px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.ob-ask:hover { color: var(--plat-darker); background: var(--green-dim); }

.ob-form { display: flex; gap: 6px; }
.ob-input {
  flex: 1;
  background: transparent;
  color: var(--green);
  border: 1px solid var(--green-dim);
  padding: 6px 8px;
  font: inherit;
  font-size: 13px;
}
.ob-input::placeholder { color: var(--plat-darker); }
.ob-send {
  background: transparent;
  color: var(--green);
  border: 1px solid var(--green-dim);
  padding: 6px 12px;
  font: inherit;
  cursor: pointer;
}
.ob-send:disabled { opacity: 0.4; cursor: default; }

.ob-foot { font-size: 11px; color: var(--plat-darker); }
