/* 浮层：对话气泡、输入框、toast、加载提示 —— 不属于左右布局 */
#chat { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 40; width: min(680px, 92vw); display: flex; flex-direction: column; align-items: stretch; gap: 10px; pointer-events: none; }
#chat > * { pointer-events: auto; }
#inputBar { background: var(--plate); backdrop-filter: blur(10px); border-radius: var(--radius-pill); padding: 8px 12px; box-shadow: var(--shadow-float); }
#chatInput, #pipChatInput { width: 100%; border: 0; background: transparent; padding: 6px 8px; font-size: 16px; }
#chatInput.idle, #pipChatInput.idle { text-align: center; cursor: pointer; }
#chatInput.idle::placeholder, #pipChatInput.idle::placeholder { color: var(--muted); font-size: 17px; }
#chatInput:focus, #pipChatInput:focus { outline: none; }
#bubble { position: absolute; bottom: 64px; left: 50%; transform: translateX(-50%); width: max-content; min-width: 260px; max-width: 100%; background: var(--plate); backdrop-filter: blur(10px); border-radius: 16px; padding: 15px 18px; box-shadow: var(--shadow-float); }
#bubble .b-text { white-space: pre-wrap; font-size: 15px; padding-right: 30px; }
#bubble .b-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; align-items: stretch; }
#bubble .b-actions button { padding: 8px 12px; text-align: left; }
#bubble .b-close { position: absolute; top: 4px; right: 4px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; color: var(--muted); font-size: 20px; line-height: 1; padding: 0; }
#bubble .b-close:hover { background: rgba(0, 0, 0, 0.07); color: var(--text); }

#toasts { position: fixed; top: 14px; right: 14px; z-index: 60; display: flex; flex-direction: column; gap: 8px; max-width: 380px; }
.toast { background: #fff; border-left: 4px solid var(--accent); border-radius: 8px; padding: 8px 12px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18); }
.toast.error { border-color: var(--danger); }
#warnings { position: fixed; top: 14px; left: 50%; transform: translateX(-50%); z-index: 55; width: min(640px, 92vw); max-height: 40vh; overflow: auto; background: #fff8e6; border: 1px solid #f6d58a; border-radius: var(--radius-card); padding: 10px 14px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15); }
#warnings ul { margin: 4px 0 0; padding-left: 18px; }
#warnings .w-close { float: right; }
