.site-assistant-launch{position:fixed;right:22px;bottom:86px;z-index:1100;display:flex;align-items:center;gap:9px;border:1px solid #445363;border-radius:100px;padding:13px 18px;background:#17212d;color:#fff;font:600 14px system-ui;box-shadow:0 8px 26px #0005;cursor:pointer;min-height:46px}
.site-assistant-launch svg{width:18px;height:18px}.assistant-dialog{--chat-safe-area-top:env(safe-area-inset-top,0px);--chat-safe-area-right:env(safe-area-inset-right,0px);--chat-safe-area-bottom:env(safe-area-inset-bottom,0px);--chat-safe-area-left:env(safe-area-inset-left,0px);padding:0;border:1px solid #3a4656;border-radius:20px;background:#131c27;color:#edf2f7;width:min(460px,var(--chat-width,calc(100vw - 24px)));max-height:min(740px,calc(100dvh - 32px));box-shadow:0 24px 100px #0008;font:14px/1.55 system-ui;overflow:hidden}.assistant-dialog::backdrop{background:#050a12a6;backdrop-filter:blur(5px)}.assistant-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 36px)}.assistant-head{display:flex;gap:10px;align-items:center;padding:19px 20px;border-bottom:1px solid #2b3846}.assistant-head h2{font-size:18px;margin:0;line-height:1.3}.assistant-head small{display:block;color:#a8b7c7;margin-top:4px}.assistant-close{margin-left:auto;background:none;border:1px solid #425166;color:#fff;border-radius:9px;width:40px;height:40px;font-size:25px;cursor:pointer}.assistant-thread{overflow-y:auto;min-height:180px;max-height:390px;padding:18px;display:flex;flex-direction:column;gap:14px}.assistant-message{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 14px;border-radius:12px;background:#1d2a38;color:#e5edf7;margin:0}.assistant-message.user{background:#294562;align-self:flex-end;max-width:90%}.assistant-message.error{border:1px solid #ac655b;background:#382425}.assistant-source{display:block;color:#9dc4ed;font-size:11px;text-decoration:underline}.assistant-action{border:1px solid #526b86;background:#20374c;color:#eff7ff;border-radius:8px;padding:10px 12px;cursor:pointer;font:inherit;min-height:42px}.assistant-form{padding:14px 18px;border-top:1px solid #2b3846;display:grid;grid-template-columns:1fr auto;gap:9px}.assistant-form label{grid-column:1/-1;color:#c3cfdd;font-size:12px}.assistant-form textarea{box-sizing:border-box;min-height:48px;max-height:110px;resize:vertical;padding:11px;border:1px solid #536479;background:#0d1520;color:#fff;border-radius:10px;font:16px/1.4 system-ui;width:100%}.assistant-send{border:0;background:#b9d7f9;color:#142233;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.assistant-send:disabled{opacity:.5;cursor:wait}.assistant-foot{padding:0 18px 15px;color:#a4b2c3;font-size:12px;line-height:1.5;max-height:35%;overflow-y:auto}.assistant-foot button{border:0;background:none;color:#bfddff;text-decoration:underline;cursor:pointer;padding:7px 0;font:inherit}.assistant-dialog :focus-visible,.site-assistant-launch:focus-visible{outline:3px solid #d3e8ff;outline-offset:3px}.assistant-action{align-self:flex-start}
@media(max-width:820px){.site-assistant-launch{right:12px;bottom:calc(110px + env(safe-area-inset-bottom,0px));padding:11px 14px}.assistant-dialog{max-height:calc(100dvh - 20px);border-radius:16px}.assistant-shell{max-height:calc(100dvh - 24px)}.assistant-thread{max-height:42dvh;min-height:120px}.assistant-head{padding:14px 16px}}

@media(max-width:820px){.site-assistant-launch{width:52px;height:52px;min-height:52px;padding:0;justify-content:center}.site-assistant-launch span{display:none}.site-assistant-launch svg{width:23px;height:23px}}

/* Fit the visible viewport, including Safari's on-screen keyboard. */
.assistant-dialog{position:fixed;inset:auto 0 auto;top:var(--chat-top,12px);margin:0 auto;box-sizing:border-box;height:var(--chat-height,calc(100dvh - 24px));max-height:var(--chat-height,calc(100dvh - 24px))}
.assistant-shell{height:100%;max-height:100%;min-height:0;overflow:hidden}
.assistant-head,.assistant-form,.assistant-foot{flex-shrink:0}
.assistant-thread{flex:1 1 auto;min-height:0;max-height:none;overscroll-behavior:contain}
.assistant-close{flex-shrink:0}
.assistant-compact .assistant-foot span,.assistant-compact .assistant-foot br,.assistant-compact .assistant-head small{display:none}
.assistant-compact .assistant-head{padding:8px 14px}.assistant-compact .assistant-form{padding:8px 14px;gap:5px}.assistant-compact .assistant-form textarea{height:48px;min-height:48px;resize:none}.assistant-compact .assistant-foot{padding:0 14px 4px}.assistant-compact .assistant-thread{padding:10px 14px}
@media(max-width:820px){.assistant-dialog{width:min(460px,var(--chat-width,calc(100vw - 24px)))}.assistant-form textarea{resize:none}.assistant-foot{font-size:12px}}

/* Keep the composer compact with a programmatic input label. */
.assistant-form{align-items:end}.assistant-form label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.assistant-form textarea{height:48px;resize:none}.assistant-send{height:48px;min-width:64px;font-weight:600}.assistant-dialog{box-shadow:0 12px 40px #0002}.assistant-dialog::backdrop{backdrop-filter:none;background:#1d1d1f55}

/* Ethen Norton chat treatment: same geometry, Flock palette. */
.assistant-message{align-self:flex-start;max-width:min(86%,720px);border-radius:18px 18px 18px 6px;background:#1d2a38;color:#edf2f7;box-shadow:0 3px 12px #0002}
.assistant-message.user{align-self:flex-end;max-width:min(86%,720px);border-radius:18px 18px 6px 18px;background:#294562;color:#fff}
.assistant-form{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:center!important;gap:4px!important;margin:10px 14px 8px;padding:4px 5px 4px 6px!important;border:1px solid #c8d4e3!important;border-radius:999px;background:#f3f7fc!important;box-shadow:none!important}
.assistant-form:focus-within{border-color:#6f8fb6!important;box-shadow:0 0 0 2px rgba(49,93,146,.16)!important}
.assistant-form textarea{flex:1 1 auto!important;width:auto!important;min-width:0!important;height:40px!important;min-height:40px!important;max-height:72px!important;margin:0!important;padding:10px 8px 10px 12px!important;border:0!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;color:#243447!important;font:15px/20px system-ui,sans-serif!important;resize:none!important}
.assistant-form textarea:focus{outline:0!important;box-shadow:none!important}.assistant-form textarea::placeholder{color:#7b8799;opacity:1}
.assistant-send{flex:0 0 34px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#315f91!important;color:#fff!important;box-shadow:none!important;font-size:0!important;line-height:1!important}
.assistant-send::before{content:'↑';display:block;font-size:21px;font-weight:700;line-height:1;transform:translateY(-1px)}
.assistant-send:hover{background:#254c76!important}.assistant-send:active{transform:scale(.96)}.assistant-send:disabled{opacity:.5}
.assistant-foot{max-height:none;overflow:visible;padding:0 18px 9px}.assistant-foot .assistant-clear{text-decoration:none;color:#b9c9da;font-size:11px;font-weight:600}
@media(max-width:820px){.assistant-form{margin:8px 12px 7px}.assistant-foot{padding:0 14px 7px}.assistant-message{max-width:90%}}

.assistant-head{touch-action:none;user-select:none;-webkit-user-select:none}
