/* Scope all overrides so the reference layout and its mobile search remain intact. */
.wanstudio-ai-frontend {
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  text-align: left;
  letter-spacing: normal;
}
.wanstudio-ai-frontend *, .wanstudio-ai-frontend *::before, .wanstudio-ai-frontend *::after { box-sizing: border-box; }
.wanstudio-ai-frontend[data-mode="floating"] { z-index: 10000020; }
.wanstudio-ai-frontend .waf-header {
  position: static; width: auto; height: auto; min-height: 76px; margin: 0;
  background: #fff; color: #222; flex-shrink: 0;
}
.wanstudio-ai-frontend .waf-header strong { white-space: normal; overflow-wrap: anywhere; }
.wanstudio-ai-frontend .waf-header > div { min-width: 0; }
.wanstudio-ai-frontend .waf-panel { max-height: min(var(--waf-height), calc(var(--miroro-chat-height, 100dvh) - 100px)); }
.wanstudio-ai-frontend .waf-chat, .wanstudio-ai-frontend .waf-messages { min-height: 0; }
.wanstudio-ai-frontend .waf-messages { overscroll-behavior: contain; }
.wanstudio-ai-frontend .waf-composer textarea { font: inherit; font-size: 16px !important; min-width: 0; }
.wanstudio-ai-frontend button { font-family: inherit; letter-spacing: normal; cursor: pointer; }
.wanstudio-ai-frontend .waf-close { min-width: 36px; min-height: 36px; }
.wanstudio-ai-frontend .waf-quick-questions button { white-space: normal; text-align: left; }
.wanstudio-ai-frontend .waf-message { overflow-wrap: anywhere; }
.miroro-wan-chat-ready #mw-chat, .miroro-wan-chat-ready .mw-chat-toggle { display: none !important; }
.miroro-chat-preview { padding: 7px 12px; background: #fff3e6; color: #75420f; font-size: 11px; line-height: 1.5; flex-shrink: 0; }
@media (max-width: 767px) {
  .wanstudio-ai-frontend[data-mode="floating"] {
    right: max(12px, env(safe-area-inset-right)) !important;
    left: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom) + var(--miroro-chat-keyboard, 0px)) !important;
  }
  .wanstudio-ai-frontend[data-mode="floating"] .waf-panel {
    width: min(390px, calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));
    height: min(var(--waf-height), calc(var(--miroro-chat-height, 100dvh) - 28px - env(safe-area-inset-bottom)));
    max-height: min(var(--waf-height), calc(var(--miroro-chat-height, 100dvh) - 28px - env(safe-area-inset-bottom)));
  }
  .wanstudio-ai-frontend .waf-header { padding: 12px; min-height: 68px; gap: 8px; }
  .wanstudio-ai-frontend .waf-header strong { font-size: 14px; }
  .wanstudio-ai-frontend .waf-quick-questions { gap: 6px; }
}

/* The imported theme applies 12px !important to every form field. */
.wanstudio-ai-frontend .waf-handoff-form input, .wanstudio-ai-frontend .waf-handoff-form textarea { font-size: 16px !important; }
/* The reference site's mobile header/footer rules otherwise leak into the widget. */
.wanstudio-ai-frontend .waf-header {
  background: #fff !important;
  color: #222 !important;
}
.wanstudio-ai-frontend .waf-brand {
  position: static !important; width: auto !important; height: auto !important;
  min-height: 26px; padding: 6px 12px; margin: 0; flex-shrink: 0;
  background: #fff !important; color: #686868 !important;
  font-size: 11px; line-height: 1.4; text-align: center;
}
.wanstudio-ai-frontend .waf-composer textarea,
.wanstudio-ai-frontend .waf-composer textarea:focus {
  border: 0 !important; outline: none !important; box-shadow: none !important;
}
.wanstudio-ai-frontend .waf-handoff-form input:focus,
.wanstudio-ai-frontend .waf-handoff-form textarea:focus {
  outline: 2px solid #222 !important; outline-offset: 1px; box-shadow: none !important;
}

.wanstudio-ai-frontend .waf-composer, .wanstudio-ai-frontend .waf-attachment-row, .wanstudio-ai-frontend .waf-privacy, .wanstudio-ai-frontend .waf-tabs { flex-shrink: 0; }
