.trainer-chat { color: #eef3f8; font: 15px/1.5 Inter,system-ui,sans-serif; }
.trainer-chat [hidden] { display: none !important; }
.trainer-chat .trainer-launch { position: fixed; right: 20px; bottom: 20px; z-index: 9990; padding: 14px 20px; border: 1px solid #d4af37; border-radius: 999px; background: #111821; color: #f5d47b; font-weight: 700; cursor: pointer; box-shadow: 0 8px 30px #0005; }
.trainer-chat .trainer-panel { display: flex; flex-direction: column; border: 1px solid #ffffff24; background: #111821; border-radius: 22px; overflow: hidden; box-shadow: 0 16px 50px #0006; }
.trainer-chat-floating .trainer-panel { position: fixed; right: 20px; bottom: 20px; z-index: 9991; width: 410px; max-width: calc(100vw - 32px); height: min(640px,calc(100dvh - 32px)); }
.trainer-chat-inline .trainer-panel { height: min(700px,80dvh); min-height: 480px; }
.trainer-chat .trainer-header { display: flex; align-items: center; gap: 12px; padding: 16px; background: #172231; }
.trainer-chat .trainer-header > div { flex: 1; min-width: 0; }
.trainer-chat .trainer-header strong { display: block; }
.trainer-chat .trainer-header span { display: block; color: #c1cbd4; font-size: 11px; }
.trainer-chat .trainer-header button { border: 0; background: transparent; color: #f5d47b; cursor: pointer; padding: 8px; }
.trainer-chat .trainer-close { font-size: 25px; }
.trainer-chat .trainer-messages { flex: 1; min-height: 0; overflow: auto; padding: 18px; }
.trainer-chat .trainer-msg { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 92%; border-radius: 16px; padding: 12px 14px; margin: 0 0 12px; color: #e7edf2; }
.trainer-chat .trainer-bot { background: #202b37; }
.trainer-chat .trainer-user { margin-left: auto; background: #d4af37; color: #10151c; }
.trainer-chat .trainer-options { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 16px 12px; max-height: 150px; overflow: auto; }
.trainer-chat .trainer-options a, .trainer-chat .trainer-options button { background: #172231; color: #f5d47b; border: 1px solid #d4af3766; border-radius: 12px; padding: 8px 12px; font-size: 13px; cursor: pointer; text-align: left; }
.trainer-chat .trainer-form { display: flex; align-items: center; gap: 10px; margin: 0; padding: 12px 16px; border-top: 1px solid #ffffff18; }
.trainer-chat .trainer-form input { flex: 1; min-width: 0; color: #eef3f8; background: #0b0f14; border: 1px solid #ffffff30; border-radius: 12px; padding: 12px; font-size: 16px; }
.trainer-chat .trainer-form button { padding: 12px; border: 0; border-radius: 12px; background: #d4af37; color: #10151c; font-weight: 700; cursor: pointer; }
.trainer-chat button:disabled { opacity: .5; cursor: wait; }
.trainer-chat .trainer-note { color: #aab8c5; font-size: 10px; line-height: 1.4; padding: 0 16px 12px; margin: 0; }
.trainer-chat .trainer-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 768px) {
 .trainer-chat .trainer-launch { width: auto !important; max-width: calc(100vw - 32px) !important; right: 16px; bottom: max(16px,env(safe-area-inset-bottom)); font-size: 14px !important; }
 .trainer-chat-floating .trainer-panel { right: 8px; bottom: max(8px,env(safe-area-inset-bottom)); width: calc(100vw - 16px); max-width: none; height: calc(100dvh - 24px); }
 .trainer-chat .trainer-header button, .trainer-chat .trainer-options button, .trainer-chat .trainer-form button { width: auto !important; max-width: none !important; flex-shrink: 0; padding: 8px 12px !important; font-size: 13px !important; }
 .trainer-chat .trainer-form input { width: auto !important; }
 .trainer-chat .trainer-msg { font-size: 15px !important; }
 .trainer-chat .trainer-note { font-size: 10px !important; }
 .trainer-chat-page .container { padding-top: 0 !important; padding-bottom: 0 !important; }
}
