/* Griffon Chat Assistant: widget
 * Palette follows griffonconsultants.com: deep navy, Griffon gold, Lexend Deca.
 * Everything is scoped under #gca-root so theme and Elementor styles cannot leak in.
 */
#gca-root {
	--gca-navy: #0F1030;
	--gca-gold: #E1B453;
	--gca-ink: #0B2230;
	--gca-font: 'Lexend Deca', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--gca-bottom: 110px;
	--gca-side: 24px;
	--gca-paper: #FBFAF6;
	--gca-head-text: #FFFFFF;
	--gca-bot-bg: #FFFFFF;
	--gca-bot-text: var(--gca-ink);
	--gca-user-bg: var(--gca-navy);
	--gca-user-text: #FFFFFF;
	--gca-btn-text: #FFFFFF;
	--gca-fs: 14px;
	--gca-title-fs: 15px;
	--gca-width: 392px;
	--gca-height: 600px;
	--gca-bubble: 16px;
	--gca-orb: 62px;
	--gca-top-gap: 24px;
	--gca-line: #ECE6D6;
	--gca-muted: #7B7B7B;
	--gca-navy-2: color-mix(in srgb, var(--gca-navy) 82%, #2a2d6b);
	--gca-gold-soft: color-mix(in srgb, var(--gca-gold) 16%, #fff);
	--gca-radius: 18px;
	--gca-shadow: 0 24px 60px -12px rgba(9, 10, 32, .38), 0 6px 18px rgba(9, 10, 32, .12);
	position: fixed;
	bottom: var(--gca-bottom);
	z-index: 99990;
	font-family: var(--gca-font);
	font-size: var(--gca-fs);
	line-height: 1.5;
	color: var(--gca-ink);
	-webkit-font-smoothing: antialiased;
}
#gca-root.gca-pos-right { right: var(--gca-side); }
#gca-root.gca-pos-left { left: var(--gca-side); }
#gca-root *, #gca-root *::before, #gca-root *::after { box-sizing: border-box; }

/* Hard reset against theme button/input styles */
#gca-root button {
	background: none; border: 0; margin: 0; padding: 0; font: inherit; color: inherit;
	text-transform: none; letter-spacing: normal; box-shadow: none; min-height: 0; min-width: 0;
	line-height: inherit; width: auto; height: auto; border-radius: 0; cursor: pointer; text-decoration: none;
	-webkit-appearance: none; appearance: none; outline: none;
}
#gca-root input, #gca-root textarea {
	font: inherit; color: var(--gca-ink); margin: 0; box-shadow: none; outline: none; -webkit-appearance: none; appearance: none;
	background: transparent; border: 0; min-height: 0; height: auto; letter-spacing: normal; text-transform: none;
}
#gca-root button:focus-visible, #gca-root a:focus-visible { outline: 2px solid var(--gca-gold); outline-offset: 2px; }
#gca-root svg { display: block; flex: none; }
#gca-root [hidden] { display: none !important; }
#gca-root .gca-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* ----------------------------------------------------------------- launcher */
#gca-root .gca-launcher {
	display: flex; align-items: center; gap: 12px;
	flex-direction: row;
}
#gca-root.gca-pos-left .gca-launcher { flex-direction: row-reverse; }
#gca-root .gca-launcher-label {
	background: #fff; color: var(--gca-navy); font-size: 13px; font-weight: 500;
	padding: 9px 16px; border-radius: 30px; white-space: nowrap;
	box-shadow: 0 8px 24px -6px rgba(9, 10, 32, .28); border: 1px solid var(--gca-line);
	transition: opacity .25s, transform .25s;
}
#gca-root.is-open .gca-launcher-label { opacity: 0; transform: translateX(8px); pointer-events: none; }
/* Collapsed label (timed / hover modes): slides back into the button, returns on hover or focus */
#gca-root.gca-label-tucked .gca-launcher-label { opacity: 0; transform: translateX(10px) scale(.96); pointer-events: none; }
#gca-root.gca-pos-left.gca-label-tucked .gca-launcher-label { transform: translateX(-10px) scale(.96); }
#gca-root.gca-label-tucked:not(.is-open) .gca-launcher:hover .gca-launcher-label,
#gca-root.gca-label-tucked:not(.is-open) .gca-launcher:focus-visible .gca-launcher-label { opacity: 1; transform: none; }
#gca-root .gca-launcher-orb {
	position: relative; width: var(--gca-orb); height: var(--gca-orb); border-radius: 50%;
	display: grid; place-items: center; color: var(--gca-gold); overflow: visible;
	background: radial-gradient(120% 120% at 30% 20%, var(--gca-navy-2) 0%, var(--gca-navy) 60%);
	box-shadow: 0 14px 30px -8px rgba(9, 10, 32, .55), inset 0 0 0 2px var(--gca-gold);
	transition: transform .25s cubic-bezier(.2, .8, .2, 1.2);
}
#gca-root .gca-launcher-orb::before {
	content: ""; position: absolute; inset: -5px; border-radius: 50%;
	border: 1px solid color-mix(in srgb, var(--gca-gold) 55%, transparent);
	animation: gca-ring 2.8s ease-out infinite;
}
#gca-root.is-open .gca-launcher-orb::before { animation: none; opacity: 0; }
#gca-root .gca-launcher:hover .gca-launcher-orb { transform: scale(1.06); }
#gca-root .gca-launcher-icon, #gca-root .gca-launcher-close { grid-area: 1 / 1; transition: transform .3s, opacity .3s; }
#gca-root .gca-launcher-close { opacity: 0; transform: rotate(-90deg) scale(.6); }
#gca-root.is-open .gca-launcher-icon { opacity: 0; transform: rotate(90deg) scale(.6); }
#gca-root.is-open .gca-launcher-close { opacity: 1; transform: none; }
#gca-root .gca-badge {
	position: absolute; top: -2px; right: -2px; width: 20px; height: 20px; border-radius: 50%;
	background: var(--gca-gold); color: var(--gca-navy); font: 700 11px/20px var(--gca-font); text-align: center; font-style: normal;
	border: 2px solid #fff;
}
#gca-root .gca-sent-tick { position: absolute; top: -3px; right: -3px; width: 22px; height: 22px; border-radius: 50%; background: var(--gca-gold); color: var(--gca-navy); display: none; place-items: center; border: 2px solid #fff; font-style: normal; }
#gca-root.gca-sent .gca-sent-tick { display: grid; animation: gca-pop .35s cubic-bezier(.2, .8, .2, 1.4); }
#gca-root.gca-sent .gca-badge { display: none !important; }
@keyframes gca-pop { from { transform: scale(0); } to { transform: scale(1); } }
@keyframes gca-ring { 0% { transform: scale(.92); opacity: .9; } 100% { transform: scale(1.25); opacity: 0; } }

/* ------------------------------------------------------------------ teaser */
#gca-root .gca-teaser {
	position: absolute; bottom: calc(var(--gca-orb) + 16px); width: 270px;
	background: #fff; border-radius: 14px; padding: 14px 34px 14px 16px;
	box-shadow: var(--gca-shadow); border-top: 3px solid var(--gca-gold);
	cursor: pointer; opacity: 0; transform: translateY(10px) scale(.97); transition: opacity .25s, transform .25s;
}
#gca-root.gca-pos-right .gca-teaser { right: 0; }
#gca-root.gca-pos-left .gca-teaser { left: 0; }
#gca-root .gca-teaser.is-show { opacity: 1; transform: none; }
#gca-root .gca-teaser-text { margin: 0; font-size: .96em; color: var(--gca-ink); }
#gca-root .gca-teaser-x { position: absolute; top: 8px; right: 8px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; color: var(--gca-muted); }
#gca-root .gca-teaser-x:hover { background: #f3f1ea; color: var(--gca-ink); }

/* ------------------------------------------------------------------- panel */
#gca-root .gca-panel {
	position: absolute; bottom: calc(var(--gca-orb) + 18px); width: var(--gca-width); max-width: calc(100vw - 2 * var(--gca-side));
	/* Never taller than the space above the launcher (leaves a gap under the site header / admin bar). */
	height: min(var(--gca-height), calc(100vh - var(--gca-bottom) - var(--gca-orb) - 18px - var(--gca-top-gap)));
	height: min(var(--gca-height), calc(100dvh - var(--gca-bottom) - var(--gca-orb) - 18px - var(--gca-top-gap)));
	min-height: 0;
	display: flex; flex-direction: column; overflow: hidden;
	background: var(--gca-paper); border-radius: var(--gca-radius); box-shadow: var(--gca-shadow);
	opacity: 0; transform: translateY(16px) scale(.98); transform-origin: bottom right;
	transition: opacity .24s ease, transform .28s cubic-bezier(.2, .8, .2, 1);
}
#gca-root.gca-pos-right .gca-panel { right: 0; }
#gca-root.gca-pos-left .gca-panel { left: 0; transform-origin: bottom left; }
#gca-root .gca-panel.is-open { opacity: 1; transform: none; }
body.admin-bar #gca-root { --gca-top-gap: 56px; }

/* Short screens (laptops at 125-150% zoom): tighter header and chip area */
@media (max-height: 720px) and (min-width: 521px) {
	#gca-root .gca-head { padding: 12px 14px 10px; }
	#gca-root .gca-avatar { width: 38px; height: 38px; }
	#gca-root .gca-meter { margin-top: 8px; }
	#gca-root .gca-chips { max-height: 128px; }
	#gca-root .gca-body { padding-top: 12px; }
}

/* header */
#gca-root .gca-head {
	position: relative; color: var(--gca-head-text); padding: 16px 16px 12px;
	background:
		repeating-linear-gradient(135deg, rgba(225, 180, 83, .07) 0 1px, transparent 1px 14px),
		linear-gradient(160deg, var(--gca-navy-2) 0%, var(--gca-navy) 70%);
	border-bottom: 2px solid var(--gca-gold);
	flex: none;
}
#gca-root .gca-head-row { display: flex; align-items: center; gap: 12px; }
#gca-root .gca-avatar {
	position: relative; width: 44px; height: 44px; border-radius: 50%; flex: none;
	display: grid; place-items: center; background: var(--gca-navy);
	box-shadow: 0 0 0 2px var(--gca-gold), 0 0 0 4px rgba(225, 180, 83, .18);
}
#gca-root .gca-avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; background: #F7F1E4; }
#gca-root .gca-mono {
	font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: 21px; color: var(--gca-gold);
	letter-spacing: 0; line-height: 1;
}
#gca-root .gca-dot { position: absolute; right: -1px; bottom: -1px; width: 12px; height: 12px; border-radius: 50%; background: #3ECF8E; border: 2px solid var(--gca-navy); }
#gca-root .gca-head-text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
#gca-root .gca-head-text strong { font-size: var(--gca-title-fs); font-weight: 500; letter-spacing: .01em; color: var(--gca-head-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#gca-root .gca-head-text .gca-sub { font-size: .86em; color: var(--gca-head-text); opacity: .66; }
#gca-root .gca-head-actions { display: flex; gap: 4px; }
#gca-root .gca-icon-btn { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: var(--gca-head-text); opacity: .8; transition: background .15s, color .15s; }
#gca-root .gca-icon-btn:hover { background: rgba(255, 255, 255, .1); color: var(--gca-gold); }
#gca-root .gca-meter { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
#gca-root .gca-meter-bar { flex: 1; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .12); overflow: hidden; }
#gca-root .gca-meter-bar i { display: block; height: 100%; width: 0; border-radius: 4px; background: linear-gradient(90deg, color-mix(in srgb, var(--gca-gold) 70%, #fff), var(--gca-gold)); transition: width .5s cubic-bezier(.2, .8, .2, 1); }
#gca-root .gca-meter-text { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--gca-gold); white-space: nowrap; }
#gca-root .gca-meter.is-done .gca-meter-text { display: none; }

/* body */
#gca-root .gca-body {
	flex: 1 1 auto; min-height: 120px; overflow-y: auto; overflow-anchor: none; overscroll-behavior: contain; padding: 18px 14px 10px;
	display: flex; flex-direction: column; gap: 10px; scrollbar-width: thin; scrollbar-color: #d8d2c1 transparent;
}
#gca-root .gca-body > * { flex-shrink: 0; }
#gca-root .gca-msg { display: flex; gap: 8px; max-width: 100%; animation: gca-in .28s cubic-bezier(.2, .8, .2, 1) both; }
#gca-root .gca-msg-av { width: 28px; height: 28px; border-radius: 50%; flex: none; display: grid; place-items: center; background: var(--gca-navy); align-self: flex-end; box-shadow: 0 0 0 1.5px var(--gca-gold); overflow: hidden; }
#gca-root .gca-msg-av img { width: 100%; height: 100%; object-fit: cover; }
#gca-root .gca-msg-av .gca-mono { font-size: 13px; }
#gca-root .gca-msg-col { display: flex; flex-direction: column; gap: 5px; max-width: 82%; }
#gca-root .gca-bubble { padding: 10px 14px; border-radius: var(--gca-bubble); white-space: pre-line; word-wrap: break-word; overflow-wrap: anywhere; font-size: var(--gca-fs); }
#gca-root .gca-msg-bot .gca-bubble { background: var(--gca-bot-bg); color: var(--gca-bot-text); border: 1px solid var(--gca-line); border-bottom-left-radius: 4px; box-shadow: 0 1px 2px rgba(11, 34, 48, .04); }
#gca-root .gca-msg-user { justify-content: flex-end; }
#gca-root .gca-msg-user .gca-msg-col { align-items: flex-end; }
#gca-root .gca-msg-user .gca-bubble { background: var(--gca-user-bg); color: var(--gca-user-text); border-bottom-right-radius: 4px; }
#gca-root .gca-msg-err .gca-bubble { background: #FFF6F4; border-color: #F2D2CB; color: #8A2B1B; }
#gca-root .gca-msg-ok .gca-bubble { background: var(--gca-gold-soft); border-color: color-mix(in srgb, var(--gca-gold) 45%, #fff); }
#gca-root .gca-note {
	font-size: 12px; color: #6d5a2c; background: var(--gca-gold-soft); border-left: 2px solid var(--gca-gold);
	padding: 6px 10px; border-radius: 0 8px 8px 0;
}
#gca-root .gca-typing .gca-bubble { display: flex; gap: 4px; padding: 13px 14px; }
#gca-root .gca-typing .gca-bubble i { width: 6px; height: 6px; border-radius: 50%; background: var(--gca-gold); animation: gca-dot 1s infinite ease-in-out; }
#gca-root .gca-typing .gca-bubble i:nth-child(2) { animation-delay: .15s; }
#gca-root .gca-typing .gca-bubble i:nth-child(3) { animation-delay: .3s; }
@keyframes gca-dot { 0%, 80%, 100% { transform: translateY(0); opacity: .45; } 40% { transform: translateY(-4px); opacity: 1; } }
@keyframes gca-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* summary */
#gca-root .gca-summary { background: #fff; border: 1px solid var(--gca-line); border-radius: 14px; overflow: hidden; margin: 2px 0 4px 36px; animation: gca-in .3s both; }
#gca-root .gca-summary-head { background: var(--gca-navy); color: #fff; padding: 10px 14px; border-bottom: 2px solid var(--gca-gold); display: flex; flex-direction: column; }
#gca-root .gca-summary-kicker { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--gca-gold); }
#gca-root .gca-summary-head strong { font-weight: 500; font-size: 14px; color: #fff; }
#gca-root .gca-summary-list { margin: 0; padding: 4px 14px 8px; }
#gca-root .gca-summary-row { padding: 8px 0; border-bottom: 1px dashed var(--gca-line); }
#gca-root .gca-summary-row:last-child { border-bottom: 0; }
#gca-root .gca-summary-row dt { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--gca-muted); margin: 0; }
#gca-root .gca-summary-row dd { margin: 2px 0 0; font-size: 13px; color: var(--gca-ink); display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; word-break: break-word; }
#gca-root .gca-summary-edit { color: #b1a88f; padding: 3px; border-radius: 6px; flex: none; }
#gca-root .gca-summary-edit:hover { color: var(--gca-navy); background: var(--gca-gold-soft); }

/* ------------------------------------------------------------------- dock */
#gca-root .gca-dock { flex: none; padding: 10px 12px 12px; background: #fff; border-top: 1px solid var(--gca-line); display: flex; flex-direction: column; gap: 8px; }
#gca-root .gca-dock:empty { display: none; }
#gca-root .gca-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
#gca-root .gca-tools-end { justify-content: flex-end; }
#gca-root .gca-hint { font-size: 11.5px; color: var(--gca-muted); }
#gca-root .gca-chips { display: flex; flex-wrap: wrap; gap: 6px; max-height: min(196px, 28vh); overflow-y: auto; padding: 2px; }
#gca-root .gca-chip {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 14px; border-radius: 22px; font-size: .93em; line-height: 1.25;
	background: #fff; color: var(--gca-navy); border: 1px solid color-mix(in srgb, var(--gca-gold) 70%, #fff);
	transition: background .15s, color .15s, border-color .15s, transform .1s; text-align: left;
}
#gca-root .gca-chip:hover { background: var(--gca-navy); color: var(--gca-gold); border-color: var(--gca-navy); }
#gca-root .gca-chip:active { transform: scale(.97); }
#gca-root .gca-chip-toggle[aria-pressed="true"] { background: var(--gca-navy); color: #fff; border-color: var(--gca-navy); }
#gca-root .gca-chip-toggle[aria-pressed="true"]::before { content: ""; width: 12px; height: 7px; border-left: 2px solid var(--gca-gold); border-bottom: 2px solid var(--gca-gold); transform: rotate(-45deg) translate(1px, -2px); }
#gca-root .gca-chip-ghost { border-color: #E3E1DA; color: var(--gca-muted); }
#gca-root .gca-chip-ghost:hover { background: #F4F2EC; color: var(--gca-ink); border-color: #E3E1DA; }
#gca-root .gca-chip-soft { background: var(--gca-gold-soft); border-color: transparent; }
#gca-root .gca-chip-done { background: var(--gca-gold); color: var(--gca-navy); border-color: var(--gca-gold); font-weight: 500; }
#gca-root .gca-chip-done:hover { background: var(--gca-navy); color: var(--gca-gold); }
#gca-root .gca-chip-done:disabled { opacity: .45; cursor: not-allowed; background: var(--gca-gold); color: var(--gca-navy); }
#gca-root .gca-undo { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--gca-muted); padding: 5px 8px; border-radius: 8px; margin-right: auto; }
#gca-root .gca-tools-end .gca-undo { margin-right: auto; }
#gca-root .gca-undo:hover { color: var(--gca-navy); background: #F4F2EC; }

#gca-root .gca-input {
	position: relative; display: flex; align-items: flex-end; gap: 8px;
	background: var(--gca-paper); border: 1px solid #E5E0D2; border-radius: 26px; padding: 5px 5px 5px 16px;
	transition: border-color .15s, box-shadow .15s;
}
#gca-root .gca-input:focus-within { border-color: var(--gca-gold); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gca-gold) 22%, transparent); background: #fff; }
#gca-root .gca-field { flex: 1; min-width: 0; padding: 8px 0; font-size: max(var(--gca-fs), 14px); line-height: 1.35; resize: none; max-height: 120px; width: 100%; }
#gca-root .gca-field::placeholder { color: #A9A597; opacity: 1; }
#gca-root .gca-send {
	width: 40px; height: 40px; border-radius: 50%; flex: none; display: grid; place-items: center;
	background: var(--gca-navy); color: var(--gca-gold); transition: transform .15s, background .15s;
}
#gca-root .gca-send:hover { transform: translateX(2px); background: var(--gca-navy-2); }
#gca-root .gca-counter { position: absolute; right: 56px; bottom: -18px; font-size: 10.5px; color: var(--gca-muted); }
#gca-root .gca-counter.is-over { color: #B3261E; }
#gca-root .gca-inline-err { font-size: 12px; color: #B3261E; padding: 0 12px; }
#gca-root .is-shake { animation: gca-shake .35s; border-color: #E4A59C; }
@keyframes gca-shake { 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }

#gca-root .gca-primary {
	display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%;
	padding: 14px 18px; border-radius: 12px; font-size: 1.05em; font-weight: 500; color: var(--gca-btn-text);
	background: linear-gradient(160deg, var(--gca-navy-2), var(--gca-navy)); box-shadow: 0 10px 22px -10px rgba(9, 10, 32, .7);
	transition: transform .15s, box-shadow .15s;
}
#gca-root .gca-primary svg { color: var(--gca-gold); }
#gca-root .gca-primary:hover { transform: translateY(-1px); box-shadow: 0 14px 26px -10px rgba(9, 10, 32, .75); }
#gca-root .gca-primary.is-loading { opacity: .8; cursor: progress; }
#gca-root .gca-primary.is-loading svg { animation: gca-fly 1s ease-in-out infinite; }
@keyframes gca-fly { 50% { transform: translate(3px, -3px); } }
#gca-root .gca-secondary { width: 100%; padding: 12px; border-radius: 12px; border: 1px solid var(--gca-navy); color: var(--gca-navy); font-weight: 500; text-align: center; }
#gca-root .gca-secondary:hover { background: var(--gca-navy); color: #fff; }
#gca-root .gca-wa { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; color: #128C4B; text-decoration: none; padding: 6px; }
#gca-root .gca-wa:hover { text-decoration: underline; }

#gca-root .gca-foot { flex: none; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 11px; color: #9C9786; padding: 7px 14px 9px; background: #fff; text-align: center; }
#gca-root .gca-foot a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
#gca-root .gca-foot-lock { color: var(--gca-gold); }

/* success burst */
#gca-root .gca-burst { position: absolute; left: 50%; bottom: 120px; width: 0; height: 0; pointer-events: none; }
#gca-root .gca-burst i { position: absolute; width: 6px; height: 6px; border-radius: 2px; background: var(--gca-gold); animation: gca-burst 1s cubic-bezier(.1, .7, .3, 1) forwards; transform: rotate(var(--a)) translateY(0); }
#gca-root .gca-burst i:nth-child(3n) { background: var(--gca-navy); }
@keyframes gca-burst { to { transform: rotate(var(--a)) translateY(calc(var(--d) * -1)); opacity: 0; } }

/* Shortcode button */
.gca-inline-btn { cursor: pointer; }

/* --------------------------------------------------------------- mobile */
@media (max-width: 520px) {
	#gca-root { bottom: calc(var(--gca-bottom) * .75); }
	#gca-root .gca-launcher-label { display: none; }
	#gca-root .gca-launcher-orb { width: calc(var(--gca-orb) * .9); height: calc(var(--gca-orb) * .9); }
	#gca-root .gca-teaser { width: min(270px, calc(100vw - 32px)); }
	#gca-root .gca-panel {
		position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; height: 100dvh; min-height: 0; max-height: none; border-radius: 0; bottom: 0;
		transform: translateY(24px);
	}
	#gca-root.gca-pos-right .gca-panel, #gca-root.gca-pos-left .gca-panel { left: 0; right: 0; }
	#gca-root .gca-head { padding-top: max(16px, env(safe-area-inset-top)); }
	#gca-root .gca-foot { padding-bottom: max(9px, env(safe-area-inset-bottom)); }
	#gca-root.is-open .gca-launcher { display: none; }
	#gca-root .gca-field { font-size: 16px; } /* stops iOS zoom */
	#gca-root .gca-chips { max-height: 40vh; }
	html.gca-locked, html.gca-locked body { overflow: hidden; }
}

@media (prefers-reduced-motion: reduce) {
	#gca-root *, #gca-root *::before { animation: none !important; transition: none !important; }
}
#gca-root.gca-no-anim *, #gca-root.gca-no-anim *::before { animation: none !important; transition: none !important; }

/* Launcher showing the avatar instead of the chat icon */
#gca-root .gca-launcher-avatar { width: 100%; height: 100%; border-radius: 50%; overflow: hidden; display: grid; place-items: center; }
#gca-root .gca-launcher-avatar img { width: 100%; height: 100%; object-fit: cover; }
#gca-root .gca-launcher-avatar .gca-mono { font-size: calc(var(--gca-orb) * .4); }
@media print { #gca-root { display: none !important; } }

/* Older browsers without color-mix() */
@supports not (color: color-mix(in srgb, red 50%, blue)) {
	#gca-root { --gca-navy-2: #1B1D4A; --gca-gold-soft: #FBF3E0; }
	#gca-root .gca-chip { border-color: #EBCF8E; }
	#gca-root .gca-launcher-orb::before { border-color: rgba(225, 180, 83, .55); }
}
