/* room-prompt.css — the prompt box at the foot of every console room and
   the workbench (js/shared/room-prompt.js), in the chat composer's grammar:
   glass, 44 px hands, the reply in a dismissible glass sheet above the box
   with its safety chip. Tokens only. Phone first. */

.room-prompt-host { flex: none; position: relative; z-index: 5; }
.rp { padding: 6px 12px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid var(--border); background: color-mix(in srgb, var(--bg) 78%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); position: relative; }
.rp-inner {
  max-width: 900px; margin: 0 auto; display: flex; align-items: flex-end; gap: 6px;
  background: var(--panel); backdrop-filter: blur(10px) saturate(1.1); -webkit-backdrop-filter: blur(10px) saturate(1.1);
  border: 1px solid var(--border-strong); border-radius: 26px; padding: 4px 4px 4px 6px; box-shadow: var(--shadow-md);
}
.rp-inner:focus-within { border-color: rgba(var(--glow-rgb), .55); box-shadow: 0 0 0 1px rgba(var(--glow-rgb), .3), 0 0 28px rgba(var(--glow-rgb), .14); }
.rp-field { flex: 1; min-width: 0; display: flex; align-items: flex-end; position: relative; }
.rp-input {
  flex: 1; min-width: 0; border: none; background: transparent; resize: none; outline: none;
  max-height: 160px; min-height: 44px; line-height: 1.45; padding: 11px 8px; color: var(--text); width: 100%;
  font-family: inherit; font-size: 14px; box-sizing: border-box;
}
.rp-input::placeholder { color: var(--text-faint); }
.rp-btn {
  min-width: 44px; min-height: 44px; height: 44px; border-radius: 22px; border: none; background: transparent;
  color: var(--text-muted); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex-shrink: 0;
  padding: 0 12px; font: 600 12px/1 var(--font-mono); letter-spacing: .04em;
}
.rp-btn:hover { background: var(--bg-sunken); color: var(--text); }
.rp-btn:disabled { opacity: .45; cursor: default; }
.rp-send { width: 44px; padding: 0; background: var(--accent); color: var(--accent-contrast); }
.rp-send:hover { background: var(--accent-strong); color: var(--accent-contrast); }
.rp-note { text-align: center; font-size: 10.5px; color: var(--text-faint); max-width: 900px; margin: 6px auto 0; font-family: var(--font-mono); }

/* the reply sheet, above the box */
.rp-sheet {
  position: absolute; left: 12px; right: 12px; bottom: calc(100% - 2px); max-width: 900px; margin: 0 auto;
  background: color-mix(in srgb, var(--bg-elevated) 88%, transparent); backdrop-filter: blur(16px) saturate(1.1); -webkit-backdrop-filter: blur(16px) saturate(1.1);
  border: 1px solid var(--border-strong); border-radius: var(--radius-md); box-shadow: var(--shadow-lg);
  max-height: min(60dvh, 480px); display: flex; flex-direction: column; overflow: hidden; z-index: 6;
}
.rp-sheet-head { display: flex; align-items: center; gap: 8px; padding: 4px 4px 4px 14px; border-bottom: 1px solid var(--border); min-height: 44px; }
.rp-sheet-title { font: 700 11px/1 var(--font-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--text-muted); flex: 1; }
.rp-sheet-close { width: 44px; height: 44px; border: 0; background: transparent; color: var(--text); border-radius: 50%; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.rp-sheet-close:hover { background: var(--bg-sunken); }
.rp-sheet-body { padding: 12px 16px 14px; overflow-y: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 1.5; color: var(--text); }
.rp-thinking { margin: 0; color: var(--text-muted); font-style: italic; }
.rp-error { margin: 0; color: var(--danger); }
.rp-chip { font: 600 10.5px/1 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; padding: 5px 9px; border-radius: var(--radius-pill); border: 1px solid var(--border-strong); color: var(--text-muted); white-space: nowrap; }
.rp-chip-blocked, .rp-chip-halted { color: var(--danger); border-color: var(--danger); background: var(--danger-soft); }
.rp-chip-deep { color: var(--amber); border-color: var(--amber); background: var(--amber-soft); }
.rp-chip-corrected { color: var(--accent); border-color: var(--accent); background: var(--accent-soft); }

/* the microphone (bottom-left) and the ready-prompt button (bottom-right)
   keep their own absolute places inside the field wrap; the field pads for both */
.rp-field .rp-input { padding-left: 48px !important; padding-right: 52px !important; }
.rp-field .pp-btn { bottom: 0; right: 0; border-color: transparent; background: transparent; }
.rp-field .prompt-mic-btn { bottom: 0; left: 4px; margin: 0; }

@media (max-width: 480px) {
  .rp { padding-left: 8px; padding-right: 8px; }
  .rp-note { display: none; }
  .rp-sheet { left: 8px; right: 8px; }
}
