.nke-chat-panel { display: flex; flex-direction: column; max-width: 56rem; margin-inline: auto; gap: .75rem; min-height: min(65dvh, 40rem); }
.nke-chat-title { margin: 0; }
.nke-chat-transcript { display: flex; flex-direction: column; gap: .75rem; min-height: 12rem; max-height: 55dvh; overflow-y: auto; padding: .5rem; }
.nke-chat-bubble { max-width: 90%; border: 1px solid var(--color-border); border-radius: 1rem; padding: .75rem 1rem; background: var(--color-surface-1); overflow-wrap: anywhere; }
.nke-chat-user { align-self: flex-end; background: var(--color-primary); color: var(--color-on-primary); }
.nke-chat-assistant { align-self: flex-start; }
.nke-chat-content { margin-block: .4rem 0; white-space: pre-wrap; }
.nke-chat-composer { display: flex; flex-wrap: wrap; gap: .5rem; }
.nke-chat-input-label, .nke-chat-input { width: 100%; }
.nke-chat-input { min-height: 5rem; resize: vertical; padding: .75rem; color: var(--color-text); background: var(--color-canvas); border: 1px solid var(--color-border-strong); border-radius: .75rem; font: inherit; }
.nke-chat-input:focus-visible { outline: 2px solid var(--color-primary-focus); outline-offset: 2px; }
.nke-chat-panel [hidden] { display: none; }
@media (max-width: 640px) {
  body[data-shell="flow-atlas"] .atlas-dock[data-nke-chat-enabled="true"] { overflow-x: auto; overflow-y: hidden; }
  .atlas-dock[data-nke-chat-enabled="true"] .atlas-dock-routes { flex-shrink: 0; }
  .nke-chat-panel { min-height: 65dvh; padding-bottom: env(safe-area-inset-bottom); }
  .nke-chat-transcript { max-height: 45dvh; padding-inline: 0; }
  .nke-chat-bubble { max-width: 95%; }
  .nke-chat-composer button { min-height: 44px; }
}
