/* Diver MAX — 相談ボックス（サイト側）
 * 1) ランチャーボタン（.dm-consult-btn）+ 相談モーダル（.dm-consult-modal）
 * 2) 相談ページ（.dm-consult-board）: チャットアプリ風
 * 色は --dmc-accent（設定 accent_color / button_color）。テーマは .dm-consult-theme-light|dark|auto。
 */
:root{
  --dm-consult-color:#5B5BD6;
  --dmc-accent:var(--dm-consult-color);
  --dmc-bg:#F4F5F8;--dmc-surface:#FFFFFF;--dmc-surface-2:#F1F3F7;--dmc-ink:#1B2230;--dmc-ink-2:#4B5563;--dmc-muted:#6B7280;--dmc-line:#E3E6EC;
  --dmc-shadow:0 10px 30px rgba(17,24,39,.14);--dmc-r:14px;
  --dmc-font:"Noto Sans JP","Hiragino Sans","Yu Gothic UI","Meiryo",system-ui,sans-serif;
}
.dm-consult-theme-dark,
.dm-consult-launcher.dm-consult-theme-dark{
  --dmc-bg:#111722;--dmc-surface:#1A2130;--dmc-surface-2:#222B3B;--dmc-ink:#EAEFF6;--dmc-ink-2:#C3CBD8;--dmc-muted:#8F9BAE;--dmc-line:#2A3445;
  --dmc-shadow:0 10px 30px rgba(0,0,0,.5);
}
@media (prefers-color-scheme:dark){
  .dm-consult-theme-auto,
  .dm-consult-launcher.dm-consult-theme-auto{
    --dmc-bg:#111722;--dmc-surface:#1A2130;--dmc-surface-2:#222B3B;--dmc-ink:#EAEFF6;--dmc-ink-2:#C3CBD8;--dmc-muted:#8F9BAE;--dmc-line:#2A3445;
    --dmc-shadow:0 10px 30px rgba(0,0,0,.5);
  }
}
.dm-consult-launcher *,.dm-consult-board *,.dm-consult-modal-back *{box-sizing:border-box}
.dm-consult-launcher,.dm-consult-board,.dm-consult-modal-back{font-family:var(--dmc-font);color:var(--dmc-ink)}
.dm-consult-hidden{display:none!important}
.dm-consult-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dm-consult-icon{width:1em;height:1em;flex:none;display:inline-block;vertical-align:middle}

/* ---------- 1) ランチャーボタン ---------- */
.dm-consult-btn{position:fixed;bottom:22px;z-index:99970;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--dmc-accent);color:#fff;border:0;border-radius:999px;padding:0 22px;height:50px;font-family:var(--dmc-font);font-size:15px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.20),0 1px 3px rgba(0,0,0,.12);transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s,filter .18s;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.dm-consult-btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.24),0 2px 4px rgba(0,0,0,.12);filter:brightness(1.05)}
.dm-consult-btn:active{transform:translateY(-1px)}
.dm-consult-btn:focus-visible{outline:3px solid rgba(255,255,255,.9);outline-offset:2px}
.dm-consult-btn-right{right:22px}
.dm-consult-btn-left{left:22px}
.dm-consult-btn-lg{height:60px;padding:0 28px;font-size:17px}
.dm-consult-btn .dm-consult-icon{width:22px;height:22px}
.dm-consult-btn-lg .dm-consult-icon{width:26px;height:26px}
.dm-consult-btn-img{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#fff;flex:none}
.dm-consult-btn-lg .dm-consult-btn-img{width:34px;height:34px}
/* 円形: 文言は読み上げ用に残し、アイコンだけを出す */
.dm-consult-btn-circle{width:58px;height:58px;padding:0;border-radius:50%}
.dm-consult-btn-circle.dm-consult-btn-lg{width:70px;height:70px}
.dm-consult-btn-circle .dm-consult-btn-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dm-consult-btn-circle .dm-consult-icon{width:26px;height:26px}
.dm-consult-btn-circle .dm-consult-btn-img{width:36px;height:36px}
.dm-consult-btn-circle.dm-consult-btn-lg .dm-consult-icon{width:32px;height:32px}
.dm-consult-btn-circle.dm-consult-btn-lg .dm-consult-btn-img{width:44px;height:44px}
/* アイコンも画像も無い円形 → 文言の先頭1文字 */
.dm-consult-btn-circle .dm-consult-btn-initial{font-size:20px;font-weight:800}
/* 画像だけの円形ボタンは背景を画像に */
.dm-consult-btn-circle.dm-consult-btn-imgonly{background:#fff;padding:0;overflow:hidden}
.dm-consult-btn-circle.dm-consult-btn-imgonly .dm-consult-btn-img{width:100%;height:100%;border-radius:50%}
@media (max-width:600px){
  .dm-consult-btn{bottom:16px;width:56px;height:56px;padding:0;border-radius:50%}
  .dm-consult-btn-right{right:16px}
  .dm-consult-btn-left{left:16px}
  .dm-consult-btn .dm-consult-btn-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .dm-consult-btn .dm-consult-icon{width:26px;height:26px}
  .dm-consult-btn .dm-consult-btn-img{width:34px;height:34px}
  .dm-consult-btn-lg{width:64px;height:64px}
  .dm-consult-btn-none:not(.dm-consult-btn-circle) .dm-consult-btn-initial{display:inline}
}
.dm-consult-btn-initial{display:none}
.dm-consult-btn-circle .dm-consult-btn-initial{display:inline}
.dm-consult-btn-circle .dm-consult-btn-initial:empty{display:none}

/* ---------- 相談モーダル ---------- */
.dm-consult-modal-back{position:fixed;inset:0;background:rgba(10,12,20,.55);z-index:99990;display:grid;place-items:center;padding:16px;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:dmc-fade .16s}
@keyframes dmc-fade{from{opacity:0}to{opacity:1}}
.dm-consult-modal{background:var(--dmc-surface);color:var(--dmc-ink);border-radius:18px;width:min(520px,100%);max-height:92vh;overflow:auto;box-shadow:var(--dmc-shadow);position:relative;animation:dmc-pop .2s cubic-bezier(.2,.7,.2,1)}
@keyframes dmc-pop{from{transform:translateY(10px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.dm-consult-modal-h{display:flex;align-items:center;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--dmc-line)}
.dm-consult-modal-h .dm-consult-modal-mark{width:38px;height:38px;border-radius:12px;background:var(--dmc-accent);color:#fff;display:grid;place-items:center;flex:none}
.dm-consult-modal-h .dm-consult-modal-mark .dm-consult-icon{width:20px;height:20px}
.dm-consult-modal-h .dm-consult-modal-mark img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.dm-consult-modal-h h2{margin:0;font-size:17px;font-weight:800;line-height:1.3;color:var(--dmc-ink)}
.dm-consult-modal-h .dm-consult-modal-sub{font-size:12.5px;color:var(--dmc-muted);margin-top:2px}
.dm-consult-x{margin-left:auto;background:transparent;border:0;cursor:pointer;color:var(--dmc-muted);width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none}
.dm-consult-x:hover{background:var(--dmc-surface-2);color:var(--dmc-ink)}
.dm-consult-x .dm-consult-icon{width:20px;height:20px}
.dm-consult-modal-b{padding:18px}
.dm-consult-welcome{margin:0 0 14px;font-size:14px;color:var(--dmc-ink-2);line-height:1.75}
.dm-consult-existing{margin:0 0 14px}
.dm-consult-field{display:grid;gap:5px;margin-bottom:12px}
.dm-consult-field>span{font-weight:700;font-size:13px;color:var(--dmc-ink-2);display:flex;align-items:center;gap:6px}
.dm-consult-field>span em{font-style:normal;font-weight:600;font-size:11px;color:var(--dmc-muted)}
.dm-consult-field>span em.req{color:#C93B3B}
.dm-consult-input{width:100%;border:1px solid var(--dmc-line);border-radius:11px;padding:10px 12px;font:inherit;font-size:15px;background:var(--dmc-surface);color:var(--dmc-ink);min-height:44px;line-height:1.5}
.dm-consult-input::placeholder{color:var(--dmc-muted);opacity:.8}
.dm-consult-input:focus{outline:none;border-color:var(--dmc-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--dmc-accent) 22%,transparent)}
textarea.dm-consult-input{resize:vertical;min-height:120px}
.dm-consult-note{font-size:12.5px;color:var(--dmc-muted);line-height:1.6;margin:0}
.dm-consult-err{margin:8px 0 0;color:#C93B3B;font-size:13px;font-weight:700}
.dm-consult-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--dmc-accent);color:#fff;border:0;border-radius:12px;padding:12px 20px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;line-height:1.3;width:100%;transition:filter .15s,transform .05s}
.dm-consult-primary:hover{filter:brightness(1.06)}
.dm-consult-primary:active{transform:translateY(1px)}
.dm-consult-primary:disabled{opacity:.6;cursor:default}
.dm-consult-primary .dm-consult-icon{width:18px;height:18px}
.dm-consult-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--dmc-ink);border:1px solid var(--dmc-line);border-radius:12px;padding:10px 16px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.3}
.dm-consult-ghost:hover{background:var(--dmc-surface-2)}
.dm-consult-ghost .dm-consult-icon{width:18px;height:18px}
.dm-consult-actions{margin-top:14px}
.dm-consult-done{display:grid;justify-items:center;gap:10px;text-align:center;padding:26px 8px 18px}
.dm-consult-done .dm-consult-done-i{width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--dmc-accent) 14%,transparent);color:var(--dmc-accent);display:grid;place-items:center}
.dm-consult-done .dm-consult-done-i .dm-consult-icon{width:28px;height:28px}
.dm-consult-done b{font-size:16px}
.dm-consult-done p{margin:0;color:var(--dmc-muted);font-size:13.5px}
body.dm-consult-open{overflow:hidden}

/* ---------- 2) 相談ページ（チャット） ---------- */
.dm-consult-board-article{max-width:860px;margin:0 auto;padding:6px 0 40px}
.dm-consult-title{margin:0 0 12px;font-size:20px}
.dm-consult-board{background:var(--dmc-surface);border:1px solid var(--dmc-line);border-radius:18px;box-shadow:0 6px 24px rgba(17,24,39,.07);overflow:hidden;display:flex;flex-direction:column;min-height:520px;color:var(--dmc-ink)}
.dm-consult-loading{color:var(--dmc-muted);font-size:13.5px;text-align:center;padding:36px 0}
/* ヘッダー: 担当者 / AI のアイコンと名前 */
.dm-consult-head{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--dmc-line);background:var(--dmc-surface);flex-wrap:wrap}
.dm-consult-people{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
.dm-consult-person{display:flex;align-items:center;gap:9px;min-width:0}
.dm-consult-person-n{display:grid;line-height:1.25;min-width:0}
.dm-consult-person-n b{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-consult-person-n small{font-size:11px;color:var(--dmc-muted)}
.dm-consult-avatar{width:36px;height:36px;border-radius:50%;flex:none;display:inline-grid;place-items:center;font-weight:800;font-size:14px;color:#fff;background:var(--dmc-accent);overflow:hidden;box-shadow:0 0 0 2px var(--dmc-surface)}
.dm-consult-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.dm-consult-avatar-ai{background:linear-gradient(135deg,#6C7BFF,#22D3EE)}
.dm-consult-avatar-user{background:#9AA5B4}
.dm-consult-avatar .dm-consult-icon{width:18px;height:18px}
.dm-consult-status{margin-left:auto;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--dmc-surface-2);color:var(--dmc-ink-2);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.dm-consult-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.dm-consult-status-open{background:#EEF0FF;color:#3B3BA8}
.dm-consult-status-answered{background:#E4F6EC;color:#1A8B5A}
.dm-consult-status-closed{background:var(--dmc-surface-2);color:var(--dmc-muted)}
.dm-consult-theme-dark .dm-consult-status-open{background:#1E2542;color:#B3BBFF}
.dm-consult-theme-dark .dm-consult-status-answered{background:#12321F;color:#5CD39A}
/* メッセージ */
.dm-consult-messages{padding:18px 16px 10px;display:flex;flex-direction:column;gap:14px;flex:1;min-height:320px;max-height:64vh;overflow-y:auto;background:var(--dmc-bg);scroll-behavior:smooth}
.dm-consult-day{align-self:center;font-size:11.5px;color:var(--dmc-muted);background:var(--dmc-surface);border:1px solid var(--dmc-line);border-radius:999px;padding:2px 10px;margin:2px 0}
.dm-consult-msg{display:flex;gap:10px;max-width:100%;align-items:flex-end}
.dm-consult-msg-user{flex-direction:row-reverse}
.dm-consult-msg .dm-consult-avatar{width:32px;height:32px;font-size:13px;margin-bottom:18px}
.dm-consult-msg-user .dm-consult-avatar{display:none}
.dm-consult-msg-c{display:grid;gap:4px;max-width:min(78%,640px);min-width:0}
.dm-consult-msg-user .dm-consult-msg-c{justify-items:end}
.dm-consult-meta{display:flex;align-items:baseline;gap:8px;font-size:11.5px;color:var(--dmc-muted);padding:0 4px}
.dm-consult-who{font-weight:700;color:var(--dmc-ink-2)}
.dm-consult-bubble{border-radius:18px;padding:10px 14px;font-size:14.5px;line-height:1.75;word-break:break-word;overflow-wrap:anywhere;box-shadow:0 1px 2px rgba(0,0,0,.05);background:var(--dmc-surface);color:var(--dmc-ink);border:1px solid var(--dmc-line);border-bottom-left-radius:6px}
.dm-consult-msg-user .dm-consult-bubble{background:var(--dmc-accent);color:#fff;border-color:transparent;border-bottom-left-radius:18px;border-bottom-right-radius:6px}
.dm-consult-msg-user .dm-consult-bubble a{color:#fff;text-decoration:underline}
.dm-consult-msg-ai .dm-consult-bubble{background:var(--dmc-surface-2);border-style:dashed}
.dm-consult-body a{word-break:break-all;color:var(--dmc-accent)}
.dm-consult-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.dm-consult-thumb{width:132px;height:132px;object-fit:cover;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fff;display:block;cursor:zoom-in;transition:transform .15s}
.dm-consult-thumb:hover{transform:scale(1.02)}
.dm-consult-thumb-link{display:block;line-height:0}
.dm-consult-time{font-size:11px;color:var(--dmc-muted);padding:0 4px}
.dm-consult-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:99995;display:grid;place-items:center;padding:20px;cursor:zoom-out;animation:dmc-fade .15s}
.dm-consult-lightbox img{max-width:96vw;max-height:92vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.dm-consult-lightbox-x{position:absolute;top:14px;right:16px;color:#fff;background:rgba(255,255,255,.12);border:0;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.dm-consult-lightbox-x .dm-consult-icon{width:22px;height:22px}
/* 送信欄 */
.dm-consult-composer{padding:12px 14px 14px;border-top:1px solid var(--dmc-line);background:var(--dmc-surface);display:grid;gap:8px}
.dm-consult-composer-box{display:flex;align-items:flex-end;gap:8px;border:1px solid var(--dmc-line);border-radius:16px;padding:6px 6px 6px 8px;background:var(--dmc-surface);transition:border-color .15s,box-shadow .15s}
.dm-consult-composer-box:focus-within{border-color:var(--dmc-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--dmc-accent) 20%,transparent)}
.dm-consult-textarea{flex:1;border:0;background:transparent;resize:none;font:inherit;font-size:15px;line-height:1.55;padding:8px 6px;min-height:40px;max-height:200px;color:var(--dmc-ink);outline:none}
.dm-consult-textarea::placeholder{color:var(--dmc-muted);opacity:.8}
.dm-consult-attach,.dm-consult-send{flex:none;width:40px;height:40px;border-radius:12px;border:0;display:grid;place-items:center;cursor:pointer;background:transparent;color:var(--dmc-muted);transition:background .15s,color .15s}
.dm-consult-attach:hover{background:var(--dmc-surface-2);color:var(--dmc-ink)}
.dm-consult-attach .dm-consult-icon,.dm-consult-send .dm-consult-icon{width:20px;height:20px}
.dm-consult-send{background:var(--dmc-accent);color:#fff}
.dm-consult-send:hover{filter:brightness(1.06)}
.dm-consult-send:disabled{opacity:.55;cursor:default}
.dm-consult-previews{display:flex;flex-wrap:wrap;gap:8px}
.dm-consult-previews:empty{display:none}
.dm-consult-preview{position:relative;display:inline-block;line-height:0}
.dm-consult-preview img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--dmc-line)}
.dm-consult-preview-x{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;border:0;background:#1B2230;color:#fff;padding:0;cursor:pointer;display:grid;place-items:center}
.dm-consult-preview-x .dm-consult-icon{width:12px;height:12px}
.dm-consult-composer-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--dmc-muted)}
.dm-consult-composer-foot .dm-consult-err{margin:0}
/* URL の控え（控えめ） */
.dm-consult-keep{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--dmc-line);background:var(--dmc-surface-2);font-size:12.5px;color:var(--dmc-ink-2);flex-wrap:wrap}
.dm-consult-keep>.dm-consult-icon{width:16px;height:16px;color:var(--dmc-muted);flex:none}
.dm-consult-keep>span{flex:1;min-width:180px;line-height:1.5}
.dm-consult-keep button{background:transparent;border:1px solid var(--dmc-line);border-radius:9px;padding:5px 11px;font:inherit;font-size:12px;font-weight:700;color:var(--dmc-ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.dm-consult-keep button:hover{background:var(--dmc-surface)}
.dm-consult-keep button .dm-consult-icon{width:14px;height:14px;color:currentColor}
@media (max-width:600px){
  .dm-consult-board-article{padding:0 0 24px}
  .dm-consult-wrap .l-main-container,.dm-consult-wrap #page-main{padding-left:0!important;padding-right:0!important}
  .dm-consult-title{font-size:17px;padding:0 12px}
  .dm-consult-board{border-radius:0;border-left:0;border-right:0;min-height:calc(100vh - 160px)}
  .dm-consult-head{padding:10px 12px;gap:10px}
  .dm-consult-status{margin-left:auto;font-size:11px}
  .dm-consult-messages{padding:14px 10px 8px;max-height:none}
  .dm-consult-msg-c{max-width:86%}
  .dm-consult-thumb{width:108px;height:108px}
  .dm-consult-composer{padding:10px 10px 12px}
  .dm-consult-keep{padding:8px 12px}
}
@media (prefers-reduced-motion:reduce){.dm-consult-launcher *,.dm-consult-board *,.dm-consult-modal-back *{animation:none!important;transition:none!important}}
