/* MoveIQ landing-page chat */
.mq-fab { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); z-index: 2147482000; width: 62px; height: 62px; border-radius: 50%; border: 0; cursor: pointer;
  display: grid; place-items: center; color: #051725; background: linear-gradient(135deg, #73b6ff, #64e3df); box-shadow: 0 12px 34px -8px #38a9ff90, 0 2px 8px #0006;
  animation: mqDance 7s ease-in-out infinite; transition: box-shadow .25s; }
.mq-fab:hover { box-shadow: 0 16px 40px -8px #38a9ffc0, 0 2px 8px #0006; }
.mq-fab:focus-visible { outline: 3px solid #ffffff; outline-offset: 3px; }
.mq-fab.is-open, .mq-fab.is-paused, .mq-fab.is-still { animation: none; }
.mq-fab.is-pulse { animation: mqPop .6s ease-out 2; }
@keyframes mqDance {
  0%, 100% { transform: translateY(0) rotate(-3deg); }
  25% { transform: translateY(-3px) rotate(0deg); }
  50% { transform: translateY(0) rotate(3deg); }
  75% { transform: translateY(-3px) rotate(0deg); }
}
@keyframes mqPop { 0% { transform: scale(1); } 40% { transform: scale(1.14); } 100% { transform: scale(1); } }
.mq-badge { position: absolute; top: -4px; right: -4px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: #e5484d; color: #fff; font: 700 12px/22px system-ui, sans-serif; text-align: center; box-shadow: 0 0 0 2px #080e18; }
.mq-badge[hidden] { display: none; }
.mq-panel { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: calc(max(20px, env(safe-area-inset-bottom)) + 76px); z-index: 2147482000; width: 380px; max-width: calc(100vw - 24px); height: 560px; max-height: calc(100vh - 120px);
  display: flex; flex-direction: column; overflow: hidden; border-radius: 22px; border: 1px solid #2a3b57; color: #edf2fb;
  background: radial-gradient(120% 60% at 100% 0%, #1b3a6140, transparent 60%), linear-gradient(180deg, #121c2e 0%, #0b1322 100%);
  box-shadow: 0 30px 80px -20px #000c, 0 0 0 1px #ffffff08 inset; font-family: Inter, "Segoe UI", Arial, sans-serif; animation: mqIn .22s cubic-bezier(.2, .8, .2, 1); }
.mq-panel[hidden] { display: none; }
@keyframes mqIn { from { transform: translateY(14px); } to { transform: none; } }
.mq-head { display: flex; align-items: center; gap: 12px; padding: 14px 14px 14px 16px; border-bottom: 1px solid #22304a; background: linear-gradient(135deg, #17304f66, transparent); }
.mq-avatar, .mq-msg-avatar { flex: none; display: grid; place-items: center; border-radius: 50%; color: #051725; background: linear-gradient(135deg, #73b6ff, #64e3df); }
.mq-avatar { width: 40px; height: 40px; }
.mq-head-text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mq-head-text strong { font-size: 15px; }
.mq-status { color: #a1afc4; font-size: 12px; }
.mq-status.is-online { color: #5ad5b1; }
.mq-status.is-online::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #5ad5b1; }
.mq-ibtn { width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 10px; background: transparent; color: #a1afc4; cursor: pointer; }
.mq-ibtn:hover { background: #ffffff12; color: #fff; }
.mq-body { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.mq-start { display: flex; flex-direction: column; gap: 12px; padding: 22px 20px; overflow-y: auto; }
.mq-start h3 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
.mq-sub { margin: 0; color: #a1afc4; font-size: 14px; line-height: 1.5; }
.mq-start label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 600; color: #a1afc4; }
.mq-start input:not(.mq-hp) { font: 500 15px inherit; padding: 12px 13px; border-radius: 11px; border: 1px solid #2a3b57; background: #0a1220; color: #edf2fb; }
.mq-start input:focus, .mq-foot textarea:focus { outline: 2px solid #5699ff; outline-offset: 0; }
.mq-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.mq-primary { padding: 13px; border: 0; border-radius: 11px; font: 700 15px inherit; cursor: pointer; color: #051725; background: linear-gradient(110deg, #73b6ff, #64e3df); }
.mq-primary:disabled { opacity: .6; cursor: wait; }
.mq-fine { margin: 0; color: #7d8ca3; font-size: 11.5px; line-height: 1.5; }
.mq-fine a { color: #8fbfff; }
.mq-error { margin: 0; color: #f18d99; font-size: 13px; }
.mq-messages { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.mq-msg { display: flex; gap: 8px; align-items: flex-end; max-width: 86%; }
.mq-msg.is-visitor { align-self: flex-end; }
.mq-msg-avatar { width: 28px; height: 28px; }
.mq-msg-col { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.mq-who { color: #7d8ca3; font-size: 11px; }
.mq-bubble { padding: 10px 13px; border-radius: 16px; font-size: 14.5px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.mq-msg.is-support .mq-bubble { background: #1a2740; border: 1px solid #2a3b57; border-bottom-left-radius: 5px; }
.mq-msg.is-visitor .mq-bubble { color: #051725; background: linear-gradient(135deg, #73b6ff, #64e3df); border-bottom-right-radius: 5px; font-weight: 500; }
.mq-note { align-self: center; color: #f1c97a; font-size: 12.5px; text-align: center; }
.mq-foot { display: flex; gap: 8px; align-items: flex-end; padding: 12px; border-top: 1px solid #22304a; }
.mq-foot[hidden] { display: none; }
.mq-foot textarea { flex: 1; resize: none; max-height: 110px; font: 500 15px inherit; padding: 11px 13px; border-radius: 13px; border: 1px solid #2a3b57; background: #0a1220; color: #edf2fb; }
.mq-send { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border: 0; border-radius: 13px; cursor: pointer; color: #051725; background: linear-gradient(135deg, #73b6ff, #64e3df); }
.mq-notice { padding: 30px 24px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; overflow-y: auto; }
.mq-notice-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; color: #eac16b; background: #eac16b1a; }
.mq-notice h3 { margin: 0; font-size: 19px; }
.mq-notice p { margin: 0; color: #a1afc4; font-size: 14px; line-height: 1.6; }
.mq-notice a { color: #8fbfff; font-weight: 650; }
@media (max-width: 600px) {
  .mq-fab { width: 56px; height: 56px; right: 14px; bottom: 14px; }
  .mq-panel { inset: 0; width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 0; border: 0; }
}
@media (prefers-reduced-motion: reduce) { .mq-fab, .mq-fab.is-pulse, .mq-panel { animation: none; } }
@media (max-width: 600px) { html.mq-lock, html.mq-lock body { overflow: hidden; } .mq-panel { z-index: 2147482100; animation: none; } }
