.alex-assistant{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:1085;font-family:inherit;color:#edf7ff}.alex-launcher{display:flex;align-items:center;gap:.55rem;min-height:46px;padding:.55rem .9rem;border:1px solid rgba(51,184,246,.65);border-radius:999px;background:linear-gradient(135deg,#123958,#071b31);box-shadow:0 12px 36px rgba(0,10,25,.45);color:#fff;font-weight:700;cursor:pointer}.alex-launcher:hover,.alex-launcher:focus-visible{border-color:#3bd2f6;box-shadow:0 0 0 3px rgba(59,210,246,.2),0 14px 38px rgba(0,10,25,.55)}.alex-launcher-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#32d3f5,#0879c7);color:#041729;font-weight:900}.alex-panel{position:absolute;right:0;bottom:58px;width:min(390px,calc(100vw - 28px));max-height:min(670px,calc(100vh - 92px));overflow:hidden;border:1px solid rgba(65,179,232,.5);border-radius:18px;background:#0a1b31;box-shadow:0 24px 70px rgba(0,7,20,.68);display:flex;flex-direction:column}.alex-panel[hidden]{display:none}.alex-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;background:linear-gradient(135deg,#123b5a,#0a2039);border-bottom:1px solid rgba(80,173,215,.28)}.alex-header strong,.alex-header small{display:block}.alex-header strong{font-size:1.08rem}.alex-header small{color:#a9c4d9;font-size:.78rem}.alex-header-actions{display:flex;gap:.35rem}.alex-header-actions button{width:34px;height:34px;border:1px solid rgba(150,205,232,.28);border-radius:9px;background:#0a1a2e;color:#dff6ff;font-size:1.25rem;line-height:1;cursor:pointer}.alex-header-actions button:focus-visible,.alex-form button:focus-visible,.alex-suggestion:focus-visible,.alex-form textarea:focus-visible{outline:2px solid #39caf0;outline-offset:2px}.alex-notice{padding:.45rem 1rem;background:rgba(21,108,146,.2);color:#a8dced;font-size:.72rem}.alex-messages{min-height:170px;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.7rem;overscroll-behavior:contain}.alex-message{max-width:88%;padding:.65rem .78rem;border-radius:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.92rem}.alex-message-user{align-self:flex-end;background:#087eb5;color:#fff;border-bottom-right-radius:4px}.alex-message-assistant{align-self:flex-start;background:#132b45;border:1px solid rgba(78,160,201,.28);border-bottom-left-radius:4px}.alex-message-error{align-self:flex-start;background:#402332;border:1px solid rgba(249,100,123,.35)}.alex-links{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}.alex-links a{color:#60dcff;text-decoration:none;border-bottom:1px solid currentColor}.alex-suggestions{display:flex;gap:.42rem;overflow-x:auto;padding:.2rem 1rem .7rem;scrollbar-width:thin}.alex-suggestion{flex:0 0 auto;max-width:270px;border:1px solid rgba(55,187,231,.42);border-radius:999px;background:#0e2942;color:#d9f5ff;padding:.4rem .7rem;font-size:.77rem;cursor:pointer}.alex-form{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.8rem 1rem;border-top:1px solid rgba(80,173,215,.25);background:#08172a}.alex-form textarea{resize:none;min-height:48px;max-height:110px;border:1px solid rgba(93,160,194,.45);border-radius:10px;background:#071322;color:#fff;padding:.65rem .72rem;line-height:1.35}.alex-form textarea::placeholder{color:#7f9db2}.alex-form button{align-self:stretch;border:0;border-radius:10px;padding:0 .9rem;background:linear-gradient(135deg,#31c9ef,#087dc3);color:#04192a;font-weight:800;cursor:pointer}.alex-form button:disabled,.alex-form textarea:disabled{opacity:.58;cursor:wait}.alex-count{grid-column:1 / -1;text-align:right;color:#7594aa;font-size:.65rem;margin-top:-.25rem}.alex-privacy{margin:0;padding:0 1rem .8rem;color:#86a4ba;font-size:.68rem;line-height:1.35}.alex-typing{display:inline-flex;gap:4px;align-items:center}.alex-typing i{display:block;width:6px;height:6px;border-radius:50%;background:#77dff7;animation:alex-dot 1s infinite ease-in-out}.alex-typing i:nth-child(2){animation-delay:.15s}.alex-typing i:nth-child(3){animation-delay:.3s}@keyframes alex-dot{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}@media(max-width:575.98px){.alex-assistant{right:10px;bottom:max(10px,env(safe-area-inset-bottom))}.alex-panel{position:fixed;inset:0;width:100vw;max-height:none;border:0;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.alex-messages{flex:1}.alex-launcher{min-height:44px}.alex-message{max-width:92%}}@media(prefers-reduced-motion:reduce){.alex-typing i{animation:none}}

/* ALEX v1.1: keep all horizontal sizing inside the isolated chat panel. */
/* The panel is absolutely positioned relative to the launcher. */
/* Never cap it to 100% of the narrow launcher width. */
.alex-panel{box-sizing:border-box;min-width:0;max-width:none}
.alex-header,.alex-notice,.alex-messages,.alex-message,.alex-suggestions,.alex-form,.alex-privacy{box-sizing:border-box;min-width:0;max-width:100%}
.alex-header>div:first-child,.alex-links,.alex-links a{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.alex-messages{overflow-x:hidden;overflow-y:auto}
.alex-message{word-break:break-word}
.alex-suggestions{flex-wrap:wrap;overflow-x:hidden;overflow-y:visible}
.alex-suggestion{flex:1 1 145px;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.alex-form textarea{box-sizing:border-box;min-width:0;width:100%;max-width:100%;overflow-x:hidden;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:575.98px){.alex-panel{box-sizing:border-box;max-width:100vw}.alex-form{grid-template-columns:minmax(0,1fr) auto}.alex-suggestion{flex-basis:100%}}
