#albany-ai {
 --aaai-red:var(--color-red,#dc1b22); --aaai-ink:var(--color-ink,#20242b);
 --aaai-border:var(--color-border,#e3e6eb); --aaai-soft:var(--color-soft,#f7f8fa);
 --aaai-space:var(--space-4,16px); --aaai-small:var(--space-3,12px);
 font-family:var(--font-body,Inter,system-ui,sans-serif); font-size:var(--fs-ui,14px); line-height:var(--line-ui,1.5);
}
#albany-ai *,#albany-ai *::before,#albany-ai *::after { box-sizing:border-box; }
#albany-ai button,#albany-ai textarea { font-family:inherit;font-size:inherit;line-height:1.4; }
#albany-ai button { cursor:pointer;min-height:44px; }
#albany-ai button:focus-visible,#albany-ai textarea:focus-visible,#albany-ai a:focus-visible { outline:var(--focus-ring,3px solid #2457d6);outline-offset:3px; }
.utility-bar .aaai-launcher,.mobile-menu-footer .aaai-launcher { display:inline-flex;align-items:center;gap:var(--space-2,8px);min-height:40px;padding:var(--space-2,8px) 0;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none;font-family:var(--font-body,Inter,system-ui,sans-serif);font-size:var(--fs-ui,14px);font-weight:inherit;line-height:inherit;white-space:nowrap;cursor:pointer; }
.utility-bar .aaai-launcher { color:var(--color-white,#fff); }
.mobile-menu-footer .aaai-launcher { min-height:44px;text-align:left; }
.aaai-launcher:focus-visible { outline:var(--focus-ring,3px solid #2457d6);outline-offset:3px; }
#albany-ai .aaai-send:hover { background:var(--color-red-dark,#b6151c); }
#albany-ai dialog { position:fixed;inset:var(--aaai-space) var(--aaai-space) var(--aaai-space) auto;margin:0;width:min(400px,calc(100vw - 32px));height:calc(100dvh - 32px);max-width:none;max-height:none;padding:0;border:1px solid var(--aaai-border);border-radius:var(--radius-md,16px);background:#fff;color:var(--aaai-ink);box-shadow:0 16px 48px rgb(32 36 43 / 20%);font:inherit;overflow:hidden; }
#albany-ai dialog[open] { display:flex;flex-direction:column;animation:aaai-enter .18s ease-out; }
#albany-ai dialog::backdrop { background:rgb(32 36 43 / 20%); }
#albany-ai .aaai-header { display:flex;justify-content:space-between;align-items:center;gap:var(--space-2,8px);padding:var(--aaai-small) var(--aaai-space);border-bottom:1px solid var(--aaai-border);flex:none; }
#albany-ai #aaai-title { font:600 var(--fs-ui,14px)/1.5 var(--font-body,Inter,system-ui,sans-serif); }
#albany-ai .aaai-header p { margin:var(--space-1,4px) 0 0;color:var(--color-muted,#5b6370);font:inherit; }
#albany-ai .aaai-close { flex:none;display:grid;place-items:center;width:44px;padding:0;border:1px solid var(--aaai-border);border-radius:var(--radius-xs,6px);background:#fff;color:var(--aaai-ink);font-size:24px; }
#albany-ai .aaai-disclosure { flex:none;margin:0;padding:var(--aaai-small) var(--aaai-space);background:var(--aaai-soft);font:inherit; }
#albany-ai .aaai-messages { flex:1;min-height:40px;overflow:auto;padding:var(--aaai-space);display:flex;flex-direction:column;gap:var(--aaai-small);overscroll-behavior:contain; }
#albany-ai .aaai-message { flex:none;max-width:95%;padding:var(--aaai-small);border-radius:var(--radius-sm,10px);white-space:pre-wrap;overflow-wrap:anywhere;font:inherit; }
#albany-ai .aaai-assistant { align-self:flex-start;background:var(--aaai-soft); }
#albany-ai .aaai-user { align-self:flex-end;background:var(--color-red-tint,#fdecec); }
#albany-ai .aaai-status { flex:none;min-height:21px;margin:0;padding:0 var(--aaai-space);color:var(--color-muted,#5b6370);font:inherit;overflow-wrap:anywhere; }
#albany-ai .aaai-status:not(:empty) { padding-bottom:var(--aaai-small); }
#albany-ai .aaai-messages[aria-busy=true] + .aaai-status::before { content:'';display:inline-block;width:10px;height:10px;margin-right:var(--space-2,8px);border:2px solid var(--aaai-border);border-top-color:var(--aaai-red);border-radius:50%;animation:aaai-spin 1s linear infinite; }
#albany-ai .aaai-form { flex:none;padding:var(--aaai-small) var(--aaai-space);border-top:1px solid var(--aaai-border);margin:0; }
#albany-ai label { display:block;margin:0 0 var(--space-2,8px);font:inherit;font-weight:500; }
#albany-ai textarea { display:block;width:100%;resize:none;min-height:64px;max-height:120px;padding:10px var(--aaai-small);margin:0;border:1px solid var(--aaai-border);border-radius:var(--radius-xs,6px);color:var(--aaai-ink);background:#fff; }
#albany-ai .aaai-actions { display:flex;justify-content:space-between;align-items:center;gap:var(--space-2,8px);margin-top:var(--space-2,8px); }
#albany-ai .aaai-send { border:1px solid var(--aaai-red);border-radius:var(--radius-xs,6px);padding:10px var(--aaai-space);background:var(--aaai-red);color:#fff;font-weight:600; }
#albany-ai .aaai-reset { padding:var(--space-2,8px);border:0;background:transparent;color:var(--color-muted,#5b6370);text-decoration:underline; }
#albany-ai button:disabled { opacity:.55;cursor:wait; }
#albany-ai .aaai-footer { flex:none;padding:0 var(--aaai-space) var(--aaai-small);font:inherit; }
#albany-ai a { color:var(--aaai-red); }
@media (max-width:767px) {
 #albany-ai dialog { inset:84px var(--aaai-small) auto; width:calc(100vw - 24px);height:calc(100dvh - 96px); }
 #albany-ai textarea { font-size:16px; }
}
@media (max-height:600px) { #albany-ai dialog { inset:8px 8px auto auto;width:min(400px,calc(100vw - 16px));height:calc(100dvh - 16px); } #albany-ai .aaai-disclosure { max-height:72px;overflow:auto; } }
@media (prefers-reduced-motion:reduce) { #albany-ai dialog[open],#albany-ai .aaai-status::before { animation:none; } }
@keyframes aaai-enter { from { opacity:0;transform:translateX(20px); } to { opacity:1;transform:translateX(0); } }
@keyframes aaai-spin { to { transform:rotate(360deg); } }
