/* MULTIVAC AI（サイト訪問者向けAIチャット）— サイトの配色（紺 #0e1e46・青 #1991e6）に合わせる */
#mvb-root{--mvb-navy:#0e1e46;--mvb-blue:#1991e6;--mvb-blue-d:#0f6fb8;--mvb-bg:#f2f8ff;--mvb-line:#d7deee;--mvb-tx:#2b2b2b;--mvb-mut:#6b7280;
  --mvb-font:inherit}

/* 起動ボタン */
#mvb-root .mvb-launch{position:fixed;right:22px;bottom:22px;z-index:900;display:flex;align-items:center;gap:12px;padding:8px 22px 8px 10px;border:0;border-radius:100px;
  background:var(--mvb-navy);color:#fff;font-family:var(--mvb-font);line-height:1.2;white-space:nowrap;cursor:pointer;box-shadow:0 10px 28px rgba(14,30,70,.32);transition:transform .2s,box-shadow .2s,opacity .2s}
#mvb-root .mvb-launch:hover,#mvb-root .mvb-launch:focus-visible{transform:translateY(-2px);box-shadow:0 14px 34px rgba(14,30,70,.4)}
#mvb-root .mvb-mark{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--mvb-blue)}
#mvb-root .mvb-mark svg{width:28px;height:28px}
#mvb-root .mvb-txt{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
#mvb-root .mvb-txt b{font-size:16px;font-weight:700;letter-spacing:.02em}
#mvb-root .mvb-txt small{margin-top:3px;font-size:11px;font-weight:400;opacity:.85}
#mvb-root.mvb-open .mvb-launch{opacity:0;pointer-events:none;transform:translateY(8px)}

/* パネル */
#mvb-root .mvb-panel{position:fixed;right:22px;bottom:22px;z-index:1100;width:400px;max-width:calc(100vw - 24px);height:640px;max-height:calc(100vh - 44px);
  display:flex;flex-direction:column;background:#fff;border-radius:16px 4px 16px 4px;overflow:hidden;box-shadow:0 24px 70px rgba(14,30,70,.32),0 0 0 1px rgba(14,30,70,.06);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px) scale(.98);transition:opacity .22s,transform .22s,visibility .22s;font-family:var(--mvb-font);color:var(--mvb-tx)}
#mvb-root.mvb-open .mvb-panel{opacity:1;visibility:visible;pointer-events:auto;transform:none}
#mvb-root .mvb-head{flex:none;display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--mvb-navy);color:#fff}
#mvb-root .mvb-head .mvb-mark{width:40px;height:40px}
#mvb-root .mvb-head .mvb-mark svg{width:25px;height:25px}
#mvb-root .mvb-head b{display:block;font-size:15px;font-weight:700;letter-spacing:.02em}
#mvb-root .mvb-head small{display:block;margin-top:2px;font-size:11px;color:#b9c4dd}
#mvb-root .mvb-close{margin:0 0 0 auto;flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:0;min-height:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;line-height:0;cursor:pointer;box-shadow:none}
#mvb-root .mvb-close svg{display:block}
#mvb-root .mvb-close:hover,#mvb-root .mvb-close:focus-visible{background:rgba(255,255,255,.26)}

#mvb-root .mvb-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 8px;background:var(--mvb-bg)}
#mvb-root .mvb-msg{display:flex;gap:9px;margin:0 0 12px;align-items:flex-end}
#mvb-root .mvb-msg.me{flex-direction:row-reverse}
#mvb-root .mvb-av{flex:none;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid var(--mvb-line);color:var(--mvb-blue)}
#mvb-root .mvb-av svg{width:18px;height:18px}
#mvb-root .mvb-bub{max-width:82%;padding:11px 14px;border-radius:14px;font-size:14px;line-height:1.8;white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid var(--mvb-line);border-bottom-left-radius:4px}
#mvb-root .mvb-msg.me .mvb-bub{background:var(--mvb-navy);color:#fff;border-color:var(--mvb-navy);border-bottom-left-radius:14px;border-bottom-right-radius:4px}
#mvb-root .mvb-bub a{color:var(--mvb-blue-d);font-weight:700;text-decoration:underline;text-underline-offset:2px}
#mvb-root .mvb-bub ul{margin:4px 0 4px 18px;padding:0;list-style:disc}
#mvb-root .mvb-bub b{color:var(--mvb-navy)}

/* 参考リンク */
#mvb-root .mvb-refs{display:flex;flex-direction:column;gap:6px;margin:-4px 0 14px 37px;max-width:82%}
#mvb-root .mvb-ref{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:#fff;border:1px solid var(--mvb-line);text-decoration:none;color:var(--mvb-tx);font-size:12.5px;line-height:1.5;transition:border-color .15s}
#mvb-root .mvb-ref:hover,#mvb-root .mvb-ref:focus-visible{border-color:var(--mvb-blue)}
#mvb-root .mvb-ref .t{flex:none;font-size:10px;font-weight:700;color:var(--mvb-blue-d);background:#e3f0fc;border-radius:100px;padding:2px 8px}
#mvb-root .mvb-ref .ar{margin-left:auto;flex:none;color:var(--mvb-blue);font-weight:700}

/* 入力待ち */
#mvb-root .mvb-typing .mvb-bub{display:flex;gap:4px;align-items:center;padding:14px 16px}
#mvb-root .mvb-typing i{width:6px;height:6px;border-radius:50%;background:var(--mvb-blue);opacity:.35;animation:mvb-blink 1.2s infinite}
#mvb-root .mvb-typing i:nth-child(2){animation-delay:.2s}
#mvb-root .mvb-typing i:nth-child(3){animation-delay:.4s}
@keyframes mvb-blink{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

/* 質問の例 */
#mvb-root .mvb-chips{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 14px 37px}
#mvb-root .mvb-chip{border:1px solid var(--mvb-line);background:#fff;color:var(--mvb-navy);border-radius:100px;padding:7px 12px;font-family:var(--mvb-font);font-size:12.5px;font-weight:600;line-height:1.4;text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}
#mvb-root .mvb-chip:hover,#mvb-root .mvb-chip:focus-visible{border-color:var(--mvb-blue);background:#eef6ff}

/* 入力欄 */
#mvb-root .mvb-foot{flex:none;padding:10px 12px 12px;background:#fff;border-top:1px solid var(--mvb-line)}
#mvb-root .mvb-form{display:flex;align-items:flex-end;gap:8px;margin:0;background:var(--mvb-bg);border:1px solid var(--mvb-line);border-radius:14px;padding:6px 6px 6px 14px;transition:border-color .15s}
#mvb-root .mvb-form:focus-within{border-color:var(--mvb-blue)}
#mvb-root .mvb-form textarea{flex:1;width:auto;min-width:0;min-height:0;margin:0;border-radius:0;scrollbar-width:none;border:0;background:none;box-shadow:none;resize:none;font-family:var(--mvb-font);font-size:16px;line-height:1.6;color:var(--mvb-tx);max-height:96px;padding:6px 0;outline:none}
#mvb-root .mvb-mic{flex:none;width:38px;height:38px;min-width:0;margin:0;padding:0;line-height:0;border:1px solid var(--mvb-line);border-radius:50%;background:#fff;color:var(--mvb-navy);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s,border-color .15s,color .15s}
#mvb-root .mvb-mic[hidden]{display:none}
#mvb-root .mvb-mic:hover,#mvb-root .mvb-mic:focus-visible{border-color:var(--mvb-blue);color:var(--mvb-blue-d)}
#mvb-root .mvb-mic.is-off{opacity:.45}
#mvb-root .mvb-mic.is-on{background:#d92c2c;border-color:#d92c2c;color:#fff;animation:mvb-rec 1.4s ease-in-out infinite}
@keyframes mvb-rec{0%,100%{box-shadow:0 0 0 0 rgba(217,44,44,.45)}50%{box-shadow:0 0 0 7px rgba(217,44,44,0)}}
#mvb-root .mvb-form textarea::-webkit-scrollbar{display:none}
#mvb-root .mvb-send{flex:none;width:38px;height:38px;min-width:0;margin:0;padding:0;line-height:0;border:0;border-radius:50%;background:var(--mvb-blue);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s}
#mvb-root .mvb-send:hover{background:var(--mvb-blue-d)}
#mvb-root .mvb-send:disabled{background:#c5d3de;cursor:default}
#mvb-root .mvb-note{margin:7px 4px 0;font-size:10.5px;color:var(--mvb-mut);line-height:1.6}
#mvb-root .mvb-note a{color:var(--mvb-blue-d);text-decoration:underline}

@media (max-width:640px){
  #mvb-root .mvb-launch{right:12px;bottom:12px;padding:6px 16px 6px 8px;gap:10px}
  #mvb-root .mvb-mark{width:40px;height:40px}
  #mvb-root .mvb-txt b{font-size:14px}
  #mvb-root .mvb-txt small{display:none}
  #mvb-root .mvb-panel{right:0;bottom:0;width:100%;max-width:100%;height:100%;height:100dvh;max-height:100dvh;border-radius:0}
  #mvb-root .mvb-bub,#mvb-root .mvb-refs{max-width:88%}
}
/* 横向きのスマートフォンなど、高さの無い画面でも全画面にする */
@media (max-height:520px){
  #mvb-root .mvb-panel{right:0;bottom:0;width:100%;max-width:100%;height:100%;height:100dvh;max-height:100dvh;border-radius:0}
  #mvb-root .mvb-head{padding:8px 14px}
  #mvb-root .mvb-note{display:none}
}
@media (prefers-reduced-motion:reduce){#mvb-root .mvb-launch,#mvb-root .mvb-panel,#mvb-root .mvb-typing i,#mvb-root .mvb-mic.is-on{transition:none;animation:none}}
@media print{#mvb-root{display:none!important}}
