/* Multipalace assistant — all styles isolated from the inherited theme. */
/* Keep the theme's back-to-top control beside the assistant, with a 14px gap. */
body.mp-chat-enabled .scrollToTop { inset-inline-end:104px; bottom:33px; }
@media (min-width:769px) and (max-width:1024px) { body.mp-chat-enabled .scrollToTop { inset-inline-end:104px; bottom:102px; } }
@media (max-width:768px) { body.mp-chat-enabled .scrollToTop { inset-inline-end:86px; bottom:calc(87px + env(safe-area-inset-bottom,0px)); } }
#mp-chat { --chat-navy:#102e40; --chat-gold:#d9b675; --chat-paper:#fcfaf6; --chat-muted:#73818a; position:fixed; right:26px; bottom:26px; z-index:1000050; font:14px/1.55 Inter,Arial,sans-serif; color:var(--chat-navy); text-align:left; -webkit-font-smoothing:antialiased; }
#mp-chat *,#mp-chat *::before,#mp-chat *::after { box-sizing:border-box; }
#mp-chat [hidden] { display:none!important; }
#mp-chat button,#mp-chat textarea,#mp-chat a { font:inherit; letter-spacing:normal; text-transform:none; }
#mp-chat button { appearance:none; cursor:pointer; border:0; margin:0; padding:0; min-height:44px; line-height:1.4; box-shadow:none; }
#mp-chat button:focus-visible,#mp-chat a:focus-visible,#mp-chat textarea:focus-visible { outline:3px solid #b48c4c; outline-offset:3px; }
#mp-chat svg { width:22px; height:22px; flex:none; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
#mp-chat .mp-chat-avatar { display:block; width:52px; height:52px; object-fit:contain; flex:none; }
#mp-chat .mp-chat-launch { display:flex; justify-content:center; align-items:center; width:64px; height:64px; padding:0; overflow:hidden; border-radius:32px; border:1px solid #e9d5a950; color:white; background:linear-gradient(115deg,#0d2639 0%,#174653 75%,#2b5e60 100%); box-shadow:0 8px 28px #092d3c30,inset 0 1px 0 #ffffff1c; transition:width .24s ease,padding .24s ease,transform .2s,box-shadow .2s; }
#mp-chat .mp-chat-launch-copy { display:none; flex-direction:column; align-items:flex-start; white-space:nowrap; font-size:14px; font-weight:600; }
#mp-chat .mp-chat-launch-copy small { color:#c4d7d8; font-size:11px; font-weight:400; margin-top:3px; }
#mp-chat.mp-chat--invite .mp-chat-launch { width:256px; justify-content:flex-start; gap:10px; padding:5px 16px 5px 6px; }
#mp-chat.mp-chat--invite .mp-chat-launch-copy { display:flex; }
#mp-chat .mp-chat-launch:hover { transform:translateY(-3px); box-shadow:0 14px 34px #092d3c40,inset 0 1px 0 #ffffff24; }
#mp-chat .mp-chat-panel { display:flex; flex-direction:column; width:430px; height:min(790px,calc(100dvh - 52px)); overflow:hidden; border:1px solid #e5dac7; border-radius:26px; background:var(--chat-paper); box-shadow:0 24px 80px #071e3333,0 4px 16px #071e3310; animation:mp-chat-reveal .24s cubic-bezier(.2,.8,.2,1); }
#mp-chat .mp-chat-header { position:relative; isolation:isolate; flex:none; display:flex; align-items:center; gap:9px; padding:16px 18px 16px 13px; color:white; background:linear-gradient(115deg,#0b2235 0%,#174251 68%,#30615f 100%); border-bottom:1px solid #d9b67565; }
#mp-chat .mp-chat-header::before { content:''; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse at 100% 0%,#ecd49d16,transparent 60%),repeating-linear-gradient(125deg,transparent 0px,transparent 22px,#ffffff03 23px,transparent 24px); }
#mp-chat .mp-chat-title { flex:1; min-width:0; }
#mp-chat .mp-chat-title strong { display:block; color:#fff9eb; font:600 18px/1.25 Inter,Arial,sans-serif; letter-spacing:-.04em; }
#mp-chat .mp-chat-status { display:flex; align-items:center; gap:5px; margin-top:5px; color:#c9dcdb; font-size:10px; line-height:1.5; }
#mp-chat .mp-chat-status::before { content:''; width:5px; height:5px; border-radius:50%; background:#e4c487; box-shadow:0 0 0 3px #d9b67515; flex:none; }
#mp-chat .mp-chat-icon-button { display:grid; place-items:center; flex:none; width:36px; height:44px; border-radius:12px; color:#d1e0df; background:transparent; transition:background .15s,color .15s; }
#mp-chat .mp-chat-icon-button svg { width:18px; height:18px; }
#mp-chat .mp-chat-icon-button:hover { background:#ffffff12; color:white; }
#mp-chat .mp-chat-close { margin-left:-5px; }
#mp-chat .mp-chat-toolbar { display:flex; align-items:center; gap:12px; padding:14px 22px 12px; background:var(--chat-paper); flex:none; }
#mp-chat .mp-chat-role-label { color:#7a878e; font-size:11px; flex:none; }
#mp-chat .mp-chat-roles { display:flex; flex:1; gap:4px; padding:4px; border:1px solid #e9e4d9; border-radius:14px; background:#f1eee7; }
#mp-chat .mp-chat-role { display:flex; justify-content:center; align-items:center; gap:6px; flex:1; background:transparent; color:#74818a; border-radius:10px; min-height:36px; font-size:12px; transition:background .18s,color .18s,box-shadow .18s; }
#mp-chat .mp-chat-role svg { width:15px; height:15px; }
#mp-chat .mp-chat-role[aria-pressed=true] { background:white; color:#163d4b; box-shadow:0 2px 8px #2438470c; font-weight:600; }
#mp-chat .mp-chat-body { flex:1; min-height:0; padding:12px 22px 12px; overflow:auto; overscroll-behavior:contain; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:#d9d5cc transparent; background:radial-gradient(ellipse at 50% 0%,#e4eee529,transparent 62%); }
#mp-chat .mp-chat-welcome { padding-top:1px; }
#mp-chat .mp-chat-welcome-visual { width:90px; height:90px; position:relative; margin:0 auto 10px; display:grid; place-items:center; }
#mp-chat .mp-chat-welcome-visual::before { content:''; position:absolute; inset:-3px; border:1px solid #d9b67529; border-radius:50%; }
#mp-chat .mp-chat-welcome-visual::after { content:''; position:absolute; inset:-10px; border:1px dashed #b3cac429; border-radius:50%; animation:mp-chat-orbit 40s linear infinite; }
#mp-chat .mp-chat-welcome-visual .mp-chat-avatar { width:96px; height:96px; }
#mp-chat .mp-chat-orbit-dot { width:7px; height:7px; position:absolute; top:8px; right:7px; z-index:1; border-radius:50%; background:#dec592; border:2px solid #fcfaf6; box-shadow:0 0 0 3px #d9b67519; }
#mp-chat .mp-chat-eyebrow { display:block; text-align:center; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:#a08450; font-weight:600; margin-bottom:7px; }
#mp-chat h2 { font:400 36px/1.16 Georgia,'Times New Roman',serif; color:#163845; letter-spacing:-.045em; margin:0 0 10px; text-align:center; }
#mp-chat .mp-chat-welcome p { color:#74818a; font-size:12px; line-height:1.7; text-align:center; max-width:315px; margin:0 auto 20px; }
#mp-chat .mp-chat-prompts { display:grid; gap:9px; }
#mp-chat .mp-chat-prompt { display:flex; align-items:center; width:100%; text-align:left; gap:12px; padding:12px 13px; border:1px solid #e8e2d7; background:#ffffffd9; color:#173e4d; border-radius:15px; box-shadow:0 2px 5px #0b203002; transition:transform .18s,border-color .18s,box-shadow .18s; }
#mp-chat .mp-chat-prompt:hover { transform:translateX(3px); border-color:#cbb784; box-shadow:0 5px 16px #0b203008; }
#mp-chat .mp-chat-prompt-icon { width:36px; height:36px; flex:none; border-radius:11px; background:#f3ead9; color:#a88245; display:grid; place-items:center; }
#mp-chat .mp-chat-prompt:nth-child(2) .mp-chat-prompt-icon { background:#eaf1ec; color:#457268; }
#mp-chat .mp-chat-prompt:nth-child(3) .mp-chat-prompt-icon { background:#e9eff3; color:#4b7089; }
#mp-chat .mp-chat-prompt-icon svg { width:19px; height:19px; }
#mp-chat .mp-chat-prompt-copy { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
#mp-chat .mp-chat-prompt-copy strong { font-size:13px; font-weight:600; }
#mp-chat .mp-chat-prompt-copy small { font-size:11px; color:#718088; font-weight:400; }
#mp-chat .mp-chat-prompt-arrow { color:#a08c62; display:grid; place-items:center; }
#mp-chat .mp-chat-prompt-arrow svg { width:16px; height:16px; }
#mp-chat .mp-chat-thread { display:flex; flex-direction:column; gap:19px; }
#mp-chat .mp-chat-message { max-width:100%; animation:mp-chat-message-in .2s ease-out; }
#mp-chat .mp-chat-message-label { display:flex; align-items:center; gap:5px; color:#839097; font-size:9px; margin:0 3px 7px; }
#mp-chat .mp-chat-message-label .mp-chat-avatar { width:26px; height:26px; margin-left:-3px; }
#mp-chat .mp-chat-bubble { white-space:pre-wrap; overflow-wrap:anywhere; border:1px solid #e8e3da; border-radius:4px 18px 18px 18px; background:white; padding:14px 16px; font-size:13px; line-height:1.75; color:#344d59; box-shadow:0 3px 10px #0b203003; }
#mp-chat .mp-chat-message--user { align-self:flex-end; max-width:88%; }
#mp-chat .mp-chat-message--user .mp-chat-message-label { justify-content:flex-end; }
#mp-chat .mp-chat-message--user .mp-chat-bubble { color:#fff; background:linear-gradient(120deg,#18394f,#22606a); border-color:#235767; border-radius:18px 4px 18px 18px; box-shadow:0 5px 14px #153e4d12; }
#mp-chat .mp-chat-links { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
#mp-chat .mp-chat-links a { display:flex; gap:5px; align-items:center; padding:5px 9px; background:#f0ece2; border:1px solid #e4ddce; border-radius:7px; color:#817047; font-size:10px; text-decoration:none; min-height:32px; transition:background .15s; }
#mp-chat .mp-chat-links a:hover { background:#e8e0ce; color:#173e4d; }
#mp-chat .mp-chat-links svg { width:12px; height:12px; }
#mp-chat .mp-chat-notice { font-size:10px; line-height:1.65; margin:9px 4px 0; color:#89949b; }
#mp-chat .mp-chat-typing { display:flex; align-items:center; gap:5px; width:max-content; padding:12px 15px; margin-top:15px; border:1px solid #e8e3da; border-radius:4px 14px 14px; background:white; }
#mp-chat .mp-chat-typing i { width:5px; height:5px; border-radius:50%; background:#a38b5e; animation:mp-chat-dot 1s infinite; }
#mp-chat .mp-chat-typing i:nth-child(2) { animation-delay:.15s; } #mp-chat .mp-chat-typing i:nth-child(3) { animation-delay:.3s; }
#mp-chat .mp-chat-composer-area { flex:none; padding:12px 18px 15px; background:#fffefa; border-top:1px solid #eae5dc; box-shadow:0 -6px 20px #0b203002; }
#mp-chat .mp-chat-handoff { display:flex; align-items:center; justify-content:center; gap:6px; min-height:30px; margin-bottom:9px; color:#74858b; font-size:10px; text-decoration:none; }
#mp-chat .mp-chat-handoff:hover { color:#244c59; }
#mp-chat .mp-chat-handoff svg { width:14px; height:14px; }
#mp-chat .mp-chat-form { display:flex; align-items:flex-end; gap:5px; padding:7px; border:1px solid #e2ddcf; border-radius:17px; background:#f5f3ed; box-shadow:inset 0 1px 3px #0b203003; transition:border-color .2s,box-shadow .2s; }
#mp-chat .mp-chat-form:focus-within { border-color:#b6a477; box-shadow:0 0 0 3px #d9b67517; }
#mp-chat textarea { flex:1; min-width:0; width:100%; min-height:46px; height:46px; max-height:100px; border:0; background:transparent; color:#1f4655; font-size:16px; line-height:1.4; padding:11px 8px; resize:none; margin:0; outline:none; box-shadow:none; overflow-y:hidden; }
#mp-chat textarea::placeholder { color:#96a0a4; }
#mp-chat .mp-chat-send { flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:13px; background:linear-gradient(135deg,#d6ba80,#b48d51); color:#fffdf7; box-shadow:0 3px 8px #ab834728,inset 0 1px 0 #ffffff30; transition:transform .16s,opacity .16s; }
#mp-chat .mp-chat-send svg { width:20px; height:20px; }
#mp-chat .mp-chat-send:hover:not(:disabled) { transform:translateY(-1px); }
#mp-chat button:disabled { cursor:default; opacity:.55; transform:none; }
#mp-chat .mp-chat-footnote { font-size:10px; line-height:1.65; color:#6d7b81; text-align:center; margin:9px 2px 0; }
#mp-chat .mp-chat-footnote a { font-size:inherit; color:inherit; text-decoration:underline; }
#mp-chat .mp-chat-sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; white-space:nowrap; overflow:hidden; clip:rect(0,0,0,0); }
html.mp-chat-mobile-open,body.mp-chat-mobile-open { overflow:hidden; }
@keyframes mp-chat-reveal { from { opacity:0; transform:translateY(16px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes mp-chat-message-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@keyframes mp-chat-orbit { to { transform:rotate(360deg); } }
@keyframes mp-chat-dot { 0%,80%,100% { opacity:.3; transform:translateY(0); } 40% { opacity:1; transform:translateY(-2px); } }
@media (min-width:769px) and (max-width:1024px) { #mp-chat { bottom:90px; } #mp-chat .mp-chat-panel { height:min(790px,calc(100dvh - 114px)); } }
@media (max-width:768px) {
  #mp-chat { right:14px; bottom:calc(78px + env(safe-area-inset-bottom,0px)); }
  #mp-chat .mp-chat-launch { width:58px; height:58px; padding:0; border-radius:50%; }
  #mp-chat.mp-chat--invite .mp-chat-launch { width:232px; padding:5px 12px 5px 6px; border-radius:29px; gap:8px; }
  #mp-chat .mp-chat-launch-copy { font-size:12px; }
  #mp-chat .mp-chat-launch-copy small { font-size:10px; }
  #mp-chat .mp-chat-launch .mp-chat-avatar { width:46px; height:46px; }
  #mp-chat.mp-chat--open { left:0; right:0; bottom:0; width:100vw; }
  #mp-chat .mp-chat-panel { width:100%; height:100dvh; border:0; border-radius:0; }
  #mp-chat .mp-chat-header { padding:calc(12px + env(safe-area-inset-top,0px)) 14px 12px 10px; }
  #mp-chat .mp-chat-toolbar { padding:14px 20px 12px; }
  #mp-chat .mp-chat-body { padding:14px 20px 20px; }
  #mp-chat .mp-chat-composer-area { padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px)); }
}
@media (max-width:360px) {
  #mp-chat .mp-chat-title strong { font-size:16px; } #mp-chat .mp-chat-status { font-size:9px; }
  #mp-chat .mp-chat-header { gap:3px; padding-right:8px; } #mp-chat .mp-chat-header .mp-chat-avatar { width:43px; height:43px; }
  #mp-chat .mp-chat-icon-button { width:32px; } #mp-chat h2 { font-size:30px; }
  #mp-chat .mp-chat-toolbar { padding:10px 14px; } #mp-chat .mp-chat-body { padding:12px 14px 16px; }
  #mp-chat .mp-chat-prompt { gap:9px; padding:10px; } #mp-chat .mp-chat-welcome p { font-size:11px; }
}
@media (max-height:820px) {
  #mp-chat .mp-chat-welcome { display:grid; grid-template-columns:64px minmax(0,1fr); column-gap:16px; align-items:start; }
  #mp-chat .mp-chat-welcome-visual { grid-column:1; grid-row:1/span 3; width:64px; height:64px; margin:4px 0 0; }
  #mp-chat .mp-chat-welcome-visual .mp-chat-avatar { width:72px; height:72px; }
  #mp-chat .mp-chat-eyebrow { grid-column:2; text-align:left; margin-bottom:5px; font-size:8px; }
  #mp-chat h2 { grid-column:2; text-align:left; font-size:28px; margin-bottom:7px; }
  #mp-chat .mp-chat-welcome p { grid-column:2; text-align:left; margin:0; font-size:11px; }
  #mp-chat .mp-chat-prompts { grid-column:1/-1; margin-top:20px; }
}
@media (prefers-reduced-motion:reduce) { #mp-chat *,#mp-chat *::before,#mp-chat *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
