.pmai{font:15px/1.55 system-ui,sans-serif;color:#eef4ff}
.pmai button,.pmai a{font:inherit}
.pmai button{background:#123246;color:#fff;border:1px solid #60d8dc;border-radius:8px;padding:9px 13px;cursor:pointer;margin:3px 6px 3px 0}
.pmai button:disabled{opacity:.55;cursor:wait}
.pmai [hidden]{display:none!important}
.pmai p{margin:8px 0;font-size:14px;white-space:pre-wrap}
.pmai a{color:#70e3e5;text-decoration:underline}
.pmai textarea{width:100%;box-sizing:border-box;background:#07101d;color:#fff;border:1px solid #97a8be;border-radius:6px;padding:9px;font:inherit}
.pmai :focus-visible{outline:3px solid #ffd479;outline-offset:2px}
.pmai-log{overflow-wrap:anywhere}
.pmai-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.pmai-live::after{content:"\25AE";margin-left:2px;opacity:.65;animation:pmai-caret 1.1s steps(2,start) infinite}
@keyframes pmai-caret{to{opacity:.08}}

/* In the "IA LOCALE" box: the reply prints under the label, above the figure. */
.pmai-say-area{margin:0}
.pmai-chatting .pmai-say-area{position:relative;margin:10px 0 16px;padding:12px 14px;border:1px solid #2f5b76;border-left:3px solid #60d8dc;border-radius:12px;background:linear-gradient(180deg,#14283d,#0e1b2c)}
/* Tail pointing down at the figure, so the box reads as the one speaking. */
.pmai-chatting .pmai-say-area::after{content:"";position:absolute;left:26px;bottom:-9px;width:14px;height:14px;transform:rotate(45deg);border-right:1px solid #2f5b76;border-bottom:1px solid #2f5b76;background:#0e1b2c}
/* A fixed reply area once a conversation starts, so the box is exactly the same
   size whether it holds "Thinking", a one-line answer or a full one. A
   min-height was not enough: it stopped the box shrinking but it still grew
   with a longer reply, measured at 120 -> 244 -> 306 px across two turns, which
   is the moving box the owner asked to be rid of. The height matches the
   previous maximum, so no reply has less room than before; it scrolls inside
   the area rather than pushing the figure and the composer down the page. */
.pmai-say-area .pmai-log{overflow:auto}
.pmai-chatting .pmai-say-area .pmai-log{height:34dvh}
@media(min-width:900px){.pmai-chatting .pmai-say-area .pmai-log{height:13rem}}
.pmai-thinking{margin:0;font-size:1.04rem;color:#9fd9e4}
/* Animated dots: during a 20 s wait a static line reads as frozen. */
.pmai-thinking::after{content:"...";display:inline-block;overflow:hidden;vertical-align:bottom;width:0;animation:pmai-think 1.4s steps(4,end) infinite}
@keyframes pmai-think{to{width:1.2em}}
@media(prefers-reduced-motion:reduce){.pmai-thinking::after{animation:none;width:1.2em}}
.pmai-say{margin:0;font-size:1.04rem;line-height:1.5;color:#dffbff}
.pmai-you{margin:0 0 6px;font-size:.85rem;color:#9fb4c9}
.pmai-say+.pmai-you{margin-top:14px}
.pmai-sources{margin:8px 0 0;font-size:.82rem;color:#b9c9db}
.pmai-composer{margin:0 0 14px}
.pmai-composer form{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.pmai-composer form button{margin:0}
/* Keep the link whole: at 390px "Contact us" was breaking across two lines. */
.pmai-composer>a{display:inline-block;white-space:nowrap;margin:3px 0}
.pmai-composer [role=status]:empty{display:none}
.pmai-note{font-size:.78rem;color:#9fb4c9;margin:10px 0 0}
/* The figure brightens only while a reply is actually streaming. */
.pmai-host .hologram-space{transition:filter 320ms ease-out}
.pmai-speaking .hologram-space{filter:drop-shadow(0 0 20px rgba(96,216,220,.42));animation:pmai-glow 2.4s ease-in-out infinite}
@keyframes pmai-glow{50%{filter:drop-shadow(0 0 30px rgba(96,216,220,.62))}}
@media(prefers-reduced-motion:reduce){.pmai-live::after,.pmai-speaking .hologram-space{animation:none}}

/* Fallback placement, used only if the box is ever absent from the page. */
.pmai-float{position:fixed;right:16px;bottom:16px;z-index:9999;max-width:calc(100vw - 32px)}
.pmai-float>button{float:right}
.pmai-float #pmai-panel{clear:both;width:380px;max-width:calc(100vw - 32px);max-height:75dvh;overflow:auto;background:#101c2e;border:1px solid #60d8dc;border-radius:12px;padding:16px;box-sizing:border-box}
.pmai-float .pmai-log{max-height:210px;overflow:auto}
.pmai-float .pmai-say{font-size:14px;color:#eef4ff}
