#mesPublicAssistantLauncher { position: fixed; z-index: 80; right: 24px; bottom: 112px; display: flex; width: 104px; height: 146px; padding: 0; border: 0; flex-direction: column; align-items: center; justify-content: flex-end; gap: 2px; color: #1e3a5f; background: transparent; cursor: grab; touch-action: none; user-select: none; filter: drop-shadow(0 8px 12px rgba(30,64,175,.18)); }
#mesPublicAssistantLauncher.is-dragging { cursor: grabbing; }
#mesPublicAssistantLauncher.is-dragging .mes-assistant-robot-svg { animation: none; }
#mesPublicAssistantLauncher[aria-expanded="true"] { opacity: 0; visibility: hidden; pointer-events: none; }
#mesPublicAssistantLauncher .mes-assistant-robot-svg { display: block; width: 78px; height: 117px; overflow: visible; animation: mes-public-assistant-idle 4.8s ease-in-out infinite; transform-origin: 50% 88%; }
#mesPublicAssistantLauncher:hover .mes-assistant-robot-svg { animation-play-state: paused; transform: translateY(-3px) scale(1.04); }
.mes-public-assistant-label { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border: 1px solid #bfdbfe; border-radius: 999px; color: #1e3a8a; background: rgba(255,255,255,.96); box-shadow: 0 4px 10px rgba(30,64,175,.12); font-size: 10px; font-weight: 900; line-height: 1; white-space: nowrap; }
.mes-public-assistant-label small { padding: 2px 4px; border-radius: 4px; color: #fff; background: #2563eb; font-size: 8px; }
#mesPublicAssistantPanel { position: fixed; z-index: 81; width: min(420px,calc(100vw - 32px)); height: min(650px,calc(100dvh - 32px)); min-height: 360px; display: flex; overflow: hidden; opacity: 0; visibility: hidden; pointer-events: none; flex-direction: column; border: 1px solid #cbd5e1; border-radius: 16px; background: #fff; box-shadow: 0 24px 64px rgba(15,23,42,.26); }
#mesPublicAssistantPanel.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.mes-public-assistant-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 18px; border-bottom: 1px solid #dbeafe; background: linear-gradient(135deg,#eff6ff,#fff); }
.mes-public-assistant-header > div { display: grid; gap: 2px; }
.mes-public-assistant-header strong { font-size: 15px; font-weight: 900; }
.mes-public-assistant-header small { color: #64748b; font-size: 11px; font-weight: 600; }
.mes-public-assistant-close { display: grid; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 8px; place-items: center; color: #64748b; background: transparent; cursor: pointer; font-size: 24px; line-height: 1; }
.mes-public-assistant-close:hover { color: #1e3a8a; background: #dbeafe; }
.mes-public-assistant-status { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px; border-bottom: 1px solid #eef2ff; color: #475569; font-size: 12px; font-weight: 800; }
.mes-public-assistant-status button { width: 30px; height: 30px; padding: 0; border: 1px solid #dbeafe; border-radius: 8px; color: #64748b; background: #f8fafc; cursor: pointer; }
.mes-public-assistant-status button:hover { color: #1d4ed8; border-color: #93c5fd; background: #eff6ff; }
.mes-public-assistant-content { min-height: 0; flex: 1; padding: 16px 18px; overflow: auto; }
.mes-public-assistant-input { display: grid; grid-template-columns: minmax(0,1fr) 52px; gap: 7px; padding: 12px 18px; border-top: 1px solid #e2e8f0; }
.mes-public-assistant-input input,
.mes-public-assistant-input button { min-width: 0; height: 38px; border: 1px solid #cbd5e1; border-radius: 8px; background: #f8fafc; font: inherit; font-size: 11px; }
.mes-public-assistant-input input { padding: 0 10px; }
.mes-public-assistant-input input:disabled,
.mes-public-assistant-input button:disabled { opacity: .52; cursor: not-allowed; }
.mes-public-assistant-send { color: #fff; border-color: #2563eb !important; background: #2563eb !important; font-weight: 850 !important; }
.mes-robot-antenna { fill: none; stroke: #2563eb; stroke-width: 3; stroke-linecap: round; }
.mes-robot-antenna-light { fill: #22d3ee; stroke: #fff; stroke-width: 2; transform-box: fill-box; transform-origin: center; }
.mes-robot-antenna-spark { opacity: 0; fill: #fde047; stroke: #f59e0b; stroke-width: 1.2; stroke-linejoin: round; filter: drop-shadow(0 0 5px #facc15); transform-box: fill-box; transform-origin: center; }
.mes-robot-ear { fill: #60a5fa; stroke: #fff; stroke-width: 2; }
.mes-robot-head { fill: url(#mesRobotHead); stroke: #60a5fa; stroke-width: 2.5; }
.mes-robot-face { fill: #172554; stroke: #38bdf8; stroke-width: 2; }
.mes-robot-eye { fill: #67e8f9; filter: drop-shadow(0 0 4px #22d3ee); transform-box: fill-box; transform-origin: center; animation: mes-public-assistant-blink 4.2s infinite; }
.mes-robot-mouth { fill: #67e8f9; transform-box: fill-box; transform-origin: center; }
.mes-robot-body { fill: url(#mesRobotHead); stroke: #60a5fa; stroke-width: 2.5; }
.mes-robot-chest { fill: #172554; stroke: #38bdf8; stroke-width: 2; }
.mes-robot-waist { fill: #93c5fd; stroke: #fff; stroke-width: 1.5; }
.mes-robot-arm { transform-box: view-box; }
.mes-robot-arm-right { transform-origin: 93px 101px; }
.mes-robot-joint { fill: #60a5fa; stroke: #fff; stroke-width: 2; }
.mes-robot-limb { fill: url(#mesRobotHead); stroke: #60a5fa; stroke-width: 2; }
.mes-robot-hand { fill: #dbeafe; stroke: #60a5fa; stroke-width: 2; }
.mes-robot-leg rect { fill: url(#mesRobotHead); stroke: #60a5fa; stroke-width: 2; }
.mes-robot-foot { fill: #dbeafe; stroke: #60a5fa; stroke-width: 2; stroke-linejoin: round; }
.mes-robot-badge { fill: #67e8f9; stroke: #fff; stroke-width: 1.5; filter: drop-shadow(0 0 4px #22d3ee); }
.mes-robot-badge-mark { fill: none; stroke: #172554; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@keyframes mes-public-assistant-idle { 0%,100% { transform: translateY(0) rotate(0); } 48% { transform: translateY(-4px) rotate(-.6deg); } 54% { transform: translateY(-4px) rotate(.6deg); } }
@keyframes mes-public-assistant-blink { 0%,45%,49%,100% { transform: scaleY(1); } 47% { transform: scaleY(.12); } }
@media (max-width: 600px) { #mesPublicAssistantLauncher { right: 12px; bottom: 84px; width: 88px; height: 124px; } #mesPublicAssistantLauncher .mes-assistant-robot-svg { width: 64px; height: 96px; } #mesPublicAssistantPanel { width: calc(100vw - 24px); height: min(620px,calc(100dvh - 24px)); } }
@media (prefers-reduced-motion: reduce) { #mesPublicAssistantLauncher .mes-assistant-robot-svg, .mes-robot-eye { animation: none; } }
