.parts-chat { position: fixed; right: 20px; bottom: max(20px, env(safe-area-inset-bottom)); z-index: 50; font-family: 'Rajdhani', sans-serif; }
.parts-chat button { cursor: pointer; font: inherit; }
.parts-chat button:focus-visible, .parts-chat textarea:focus-visible { outline: 2px solid var(--neon-cyan); outline-offset: 3px; }
.chat-launcher { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 18px; background: #12121c; color: var(--neon-cyan); border: 1px solid var(--neon-cyan); border-radius: 8px; font-weight: 700 !important; letter-spacing: .5px; }
.chat-launcher svg { width: 22px; height: 22px; }
.chat-panel { display: flex; flex-direction: column; width: min(390px, calc(100vw - 32px)); height: min(560px, calc(100dvh - 110px)); margin-bottom: 12px; background: #12121c; border: 1px solid #38515b; border-top: 3px solid var(--neon-cyan); border-radius: 10px; box-shadow: 0 16px 50px #05050bcc; overflow: hidden; }
.chat-panel[hidden] { display: none; }
.chat-header { display: flex; justify-content: space-between; align-items: center; padding: 16px; border-bottom: 1px solid #292938; }
.chat-header h2 { font: 700 .9rem 'Orbitron', sans-serif; color: var(--neon-cyan); }
.chat-header p { color: #b7b7ca; font-size: .9rem; margin-top: 5px; }
.chat-close { background: transparent; border: 0; color: #e1e1ee; font-size: 1.8rem !important; width: 40px; height: 40px; }
.chat-messages { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 14px; overscroll-behavior: contain; }
.chat-message { max-width: 94%; padding: 11px 13px; border: 1px solid #303040; border-radius: 8px; background: #1b1b29; }
.chat-message[data-role="user"] { align-self: flex-end; background: #112830; border-color: #245663; }
.chat-message strong { display: block; color: var(--neon-cyan); font: .7rem 'Share Tech Mono', monospace; text-transform: uppercase; margin-bottom: 6px; }
.chat-message p { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.45; font-size: 1rem; color: #f0f0f5; }
.chat-composer { padding: 12px 16px; border-top: 1px solid #292938; }
.chat-composer label { font: .75rem 'Share Tech Mono', monospace; color: #c1c1d0; }
.chat-input-row { display: flex; gap: 8px; align-items: flex-end; }
.parts-chat .chat-input { min-height: 48px; max-height: 120px; resize: vertical; font-size: 1rem; padding: 10px; }
.chat-send { min-height: 48px; padding: 0 14px; color: #0a0a0f; background: var(--neon-cyan); border: 0; border-radius: 5px; font-weight: 700 !important; }
.chat-send:disabled { opacity: .5; cursor: wait; }
.chat-status { font-size: .85rem; color: #c1c1d0; min-height: 1.3em; margin-top: 8px; }
.chat-status[data-error="true"] { color: #ff9dbe; }
.chat-note { padding: 0 16px 12px; color: #aaaabd; font-size: .8rem; }
@media (max-width: 480px) { .parts-chat { right: 16px; bottom: max(12px, env(safe-area-inset-bottom)); } }
