#glai{font:15px/1.5 Arial,sans-serif;color:#172234;position:fixed;right:24px;bottom:24px;z-index:2147483000}#glai *{box-sizing:border-box}#glai button,#glai textarea,#glai a{font:inherit}#glai button{cursor:pointer}#glai .gl-launch{border:0;border-radius:30px;background:#185cfc;color:white;padding:15px 23px;box-shadow:0 8px 30px #185cfc40}#glai .gl-panel{width:390px;height:min(650px,calc(100dvh - 110px));background:white;border:1px solid #dde4ef;border-radius:22px;box-shadow:0 20px 70px #12254335;overflow:hidden;display:flex;flex-direction:column;margin-bottom:12px}#glai [hidden]{display:none!important}#glai header{padding:20px;background:#112540;color:white;display:flex;align-items:center;gap:12px}#glai header strong{font-size:18px}#glai header small{display:block;color:#b9d0f4;font-size:12px}#glai .gl-icon{background:#2666ef;border-radius:12px;padding:10px;font-weight:bold}#glai .gl-close{margin-left:auto;background:transparent;border:0;color:white;font-size:26px}#glai .gl-log{overflow-y:auto;overscroll-behavior:contain;flex:1;padding:18px;background:#f6f8fc}#glai .gl-msg{white-space:pre-wrap;overflow-wrap:anywhere;padding:13px 15px;border-radius:14px;background:white;border:1px solid #e4eaf3;margin-bottom:12px}#glai .gl-user{background:#185cfc;color:white;margin-left:30px;border:0}#glai .gl-links a{display:block;color:#185cfc;padding:7px 0;text-decoration:underline}#glai .gl-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}#glai .gl-chips button{border:1px solid #d8e1f0;background:white;border-radius:18px;padding:7px 11px;color:#24446d;font-size:13px}#glai form{padding:12px;display:flex;gap:8px;border-top:1px solid #e4eaf3}#glai textarea{resize:none;min-width:0;flex:1;border:1px solid #d8e1f0;border-radius:12px;padding:10px;color:#172234;background:white}#glai .gl-send{border:0;border-radius:12px;background:#185cfc;color:white;padding:10px 14px}#glai button:disabled{opacity:.5;cursor:wait}#glai footer{padding:0 14px 12px;font-size:11px;color:#65758b}#glai footer a{color:#185cfc}#glai .gl-reset{border:0;background:none;color:#185cfc;padding:0;font-size:11px}#glai :focus-visible{outline:3px solid #75a4ff;outline-offset:2px}@media(max-width:480px){#glai{right:12px;bottom:12px;left:12px}#glai .gl-panel{width:100%;height:calc(100dvh - 100px)}#glai .gl-launch{float:right}#glai textarea{font-size:16px}}

/* Mobile: fit the visual viewport, including when the keyboard is open. */
#glai .gl-log{min-height:0}
#glai header,#glai form,#glai footer{flex-shrink:0}
@media(max-width:767px),(pointer:coarse){
 #glai.gl-open{top:calc(var(--gl-top,0px) + 8px);bottom:auto;left:8px;right:8px;height:calc(var(--gl-height,100dvh) - 16px)}
 #glai.gl-open .gl-panel{width:100%;height:100%;margin:0;border-radius:18px}
 #glai.gl-open .gl-launch{display:none}
 #glai header{padding:12px 15px}
 #glai header strong{font-size:16px}
 #glai .gl-icon{padding:7px}
 #glai .gl-log{padding:12px}
 #glai form{padding:8px}
 #glai textarea{height:48px;min-height:48px;max-height:80px;font-size:16px}
 #glai footer{font-size:10px;line-height:1.35;padding:0 12px 8px}
}

/* Geolink palette: brand blue #1DA1FF, orange accent #FF7B1D. */
#glai{font-family:inherit;color:#112540}
#glai .gl-launch{background:#ff7b1d;color:#112540;font-weight:600;border:1px solid #ffad72;box-shadow:0 8px 28px #11254030,0 0 0 3px #ffffffc9;padding:15px 22px;transition:background .18s,box-shadow .18s}
#glai .gl-launch:hover{background:#ff9447;box-shadow:0 10px 32px #11254040,0 0 0 3px #ffffff}
#glai .gl-panel{border-color:#dce8ef;box-shadow:0 20px 70px #11254030}
#glai header{background:#112540}
#glai header small{color:#c5deed}
#glai .gl-icon{background:#1da1ff;color:#112540}
#glai .gl-log{background:#f4f8fb}
#glai .gl-msg{border-color:#e0e9ef}
#glai .gl-user{background:#1da1ff;color:#112540}
#glai .gl-chips button{border-color:#c9deeb;color:#17466a;background:white}
#glai .gl-chips button:hover{background:#e8f5ff;border-color:#1da1ff}
#glai .gl-send{background:#ff7b1d;color:#112540;font-weight:700}
#glai .gl-send:hover{background:#ff9447}
#glai .gl-links a,#glai footer a,#glai .gl-reset{color:#08689e}
#glai :focus-visible{outline-color:#0876b8}
#glai textarea:focus{border-color:#1da1ff}
@media(max-width:767px),(pointer:coarse){#glai .gl-launch{font-size:14px;max-width:100%;padding:14px 18px}}
@media(prefers-reduced-motion:reduce){#glai .gl-launch{transition:none}}

/* Launcher refinement */
#glai .gl-launch,#glai .gl-launch:hover,#glai .gl-launch:active{font-weight:400;color:#fff;background:#ff6b0d;box-shadow:none;border:0}

/* One accessible button, with pill label and a separate AI circle. */
#glai .gl-launch,#glai .gl-launch:hover,#glai .gl-launch:active{display:flex;align-items:center;gap:0;padding:0;background:transparent;border:0;box-shadow:none;color:#fff;font-weight:400;max-width:100%;width:max-content;margin-left:auto;float:none;line-height:1.2;text-transform:uppercase}
#glai .gl-launch-label{display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;background:#ff6b0d;font-weight:400;font-size:14px;white-space:nowrap}
#glai .gl-launch-ai{display:flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:#ff6b0d;color:#fff;font-size:17px;font-weight:400}
@media(max-width:767px),(pointer:coarse){
 #glai .gl-launch-label{min-height:46px;padding:0 16px;font-size:12px}
 #glai .gl-launch-ai{flex-basis:46px;width:46px;height:46px;font-size:16px}
 #glai.gl-open .gl-launch{display:none}
}
@media(max-width:350px){#glai .gl-launch-label{padding:0 12px;font-size:11px}}

/* Keep the site's back-to-top circle above the AI launcher. */
body:has(#glai) .progress-wrap{bottom:96px!important}
body:has(#glai.gl-open) .progress-wrap{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* Brief invitation every 12 seconds; keep the AI lettering readable. */
@keyframes glai-invite{0%,76%,100%{transform:translateY(0)}80%{transform:translateY(-4px)}84%{transform:translateY(0)}88%{transform:translateY(-2px)}92%{transform:translateY(0)}}
@keyframes glai-ai-turn{0%,76%,100%{transform:rotate(0deg)}81%{transform:rotate(-12deg)}87%{transform:rotate(12deg)}93%{transform:rotate(0deg)}}
#glai:not(.gl-open) .gl-launch{animation:glai-invite 12s ease-in-out 2s infinite}
#glai:not(.gl-open) .gl-launch-ai{animation:glai-ai-turn 12s ease-in-out 2s infinite}
#glai .gl-launch:hover,#glai .gl-launch:focus-visible,#glai .gl-launch:hover .gl-launch-ai,#glai .gl-launch:focus-visible .gl-launch-ai{animation-play-state:paused}
#glai .gl-launch-label,#glai .gl-launch-ai{transition:background-color .2s ease}
#glai .gl-launch:hover .gl-launch-label,#glai .gl-launch:hover .gl-launch-ai{background:#ed5900}
@media(prefers-reduced-motion:reduce){
 #glai:not(.gl-open) .gl-launch,#glai:not(.gl-open) .gl-launch-ai{animation:none;transform:none}
 #glai .gl-launch-label,#glai .gl-launch-ai{transition:none}
}

/* Visible entrance and repeating invitation. */
@keyframes glai-visible-lift{0%,22%,100%{transform:translateY(0)}6%{transform:translateY(-10px)}12%{transform:translateY(0)}17%{transform:translateY(-5px)}}
@keyframes glai-visible-turn{0%{transform:rotate(0deg)}20%,100%{transform:rotate(360deg)}}
#glai:not(.gl-open) .gl-launch{animation:glai-visible-lift 6s ease-in-out 0s infinite}
#glai:not(.gl-open) .gl-launch-ai{animation:glai-visible-turn 6s ease-in-out 0s infinite}
@media(prefers-reduced-motion:reduce){#glai:not(.gl-open) .gl-launch,#glai:not(.gl-open) .gl-launch-ai{animation:none;transform:none}}
