/* GATECHY Chat: the widget on the public site.
 *
 * Every colour, size and shadow is a --gtchat-* property. The values below are neutral defaults (dark, and
 * light when the page says so with data-mode or data-theme) for any theme. The GATECHY theme sets the same properties from its own
 * tokens with a stronger selector (:root:root), so there the chat follows the theme's palette and its light
 * and dark mode; the plugin adds its extra properties to the theme's map (gatechy_plugin_tokens).
 *
 * Under the GATECHY theme (.gtchat--theme) the theme's stylesheet styles the documented gtchat-* classes and
 * this file adds only what the theme has no class for. Under any other theme (.gtchat--standalone, printed in
 * wp_footer with its own dock) this file styles everything. */

:root {
	--gtchat-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--gtchat-font-display: var(--gtchat-font);
	--gtchat-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--gtchat-z: 9990;
	--gtchat-offset-right: 20px;
	--gtchat-offset-bottom: 20px;
	--gtchat-bubble-size: 58px;
	--gtchat-bubble-radius: 50%;
	--gtchat-bubble-bg: #1d4ed8;
	--gtchat-bubble-fg: #ffffff;
	--gtchat-border-width: 1px;
	--gtchat-border-color: rgba(15, 23, 42, 0.16);
	--gtchat-shadow-color: rgba(15, 23, 42, 0.14);
	--gtchat-shadow: 0 10px 28px rgba(15, 23, 42, 0.24);
	--gtchat-shadow-pressed: 0 3px 10px rgba(15, 23, 42, 0.22);
	--gtchat-panel-width: 380px;
	--gtchat-panel-height: 580px;
	--gtchat-panel-radius: 16px;
	--gtchat-panel-bg: #ffffff;
	--gtchat-panel-fg: #111827;
	--gtchat-panel-muted: #5b6474;
	--gtchat-header-bg: #1d4ed8;
	--gtchat-header-fg: #ffffff;
	--gtchat-bot-bg: #f1f4f9;
	--gtchat-bot-fg: #111827;
	--gtchat-user-bg: #1d4ed8;
	--gtchat-user-fg: #ffffff;
	--gtchat-accent: #dbe7ff;
	--gtchat-on-accent: #10307a;
	--gtchat-input-bg: #ffffff;
	--gtchat-focus: #1d4ed8;
	--gtchat-radius: 12px;
	/* The plugin's own (the GATECHY theme maps these too). */
	--gtchat-log-bg: #f8fafc;
	--gtchat-soft-bg: #eef2f8;
	--gtchat-muted-fg: #4b5563;
	--gtchat-person-bg: #e3f5ec;
	--gtchat-person-fg: #0b3b24;
	--gtchat-link: #1d4ed8;
	--gtchat-danger: #b3261e;
	--gtchat-success: #0b7a3b;
	--gtchat-warning: #c27c0e;
}

/* Dark unless the page says light (data-mode or data-theme on the root): never the system's light. The same weight
 * as :root, so a theme's :root:root mapping still wins. */
:root:where(:not([data-mode="light"]):not([data-theme="light"])) {
	--gtchat-bubble-bg: #3b82f6;
	--gtchat-bubble-fg: #0b1020;
	--gtchat-border-color: rgba(226, 232, 240, 0.18);
	--gtchat-shadow-color: rgba(0, 0, 0, 0.4);
	--gtchat-shadow: 0 10px 28px rgba(0, 0, 0, 0.5);
	--gtchat-shadow-pressed: 0 3px 10px rgba(0, 0, 0, 0.45);
	--gtchat-panel-bg: #151b28;
	--gtchat-panel-fg: #e5e9f0;
	--gtchat-panel-muted: #a3acbb;
	--gtchat-header-bg: #1e293b;
	--gtchat-header-fg: #f1f5f9;
	--gtchat-bot-bg: #1f2737;
	--gtchat-bot-fg: #e5e9f0;
	--gtchat-user-bg: #3b82f6;
	--gtchat-user-fg: #0b1020;
	--gtchat-accent: #1e3a8a;
	--gtchat-on-accent: #e0e7ff;
	--gtchat-input-bg: #0f1420;
	--gtchat-focus: #93c5fd;
	--gtchat-log-bg: #0f1420;
	--gtchat-soft-bg: #1b2232;
	--gtchat-muted-fg: #b4bccb;
	--gtchat-person-bg: #12402b;
	--gtchat-person-fg: #d9f7e8;
	--gtchat-link: #93c5fd;
	--gtchat-danger: #ff8a8a;
	--gtchat-success: #5ee0a0;
	--gtchat-warning: #ffc24d;
}

/* ------------------------------------------------------------------ both */

.gtchat[hidden],
.gtchat [hidden] {
	display: none !important;
}

.gtchat .gtchat-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* The honeypot: out of sight and out of the keyboard's way; a robot that fills it is ignored. */
.gtchat .gtchat-hp {
	position: absolute !important;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.gtchat .gtchat-messages {
	overscroll-behavior: contain;
}

.gtchat .gtchat-thread,
.gtchat .gtchat-after {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.gtchat .gtchat-after:empty {
	display: none;
}

.gtchat .gtchat-msg {
	overflow-wrap: anywhere;
}

.gtchat .gtchat-wait {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
}

.gtchat .gtchat-slow {
	margin: 0;
	font-size: 0.78rem;
	color: var(--gtchat-muted-fg);
}

.gtchat .gtchat-msg a {
	color: var(--gtchat-link);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.gtchat .gtchat-msg--user a,
.gtchat .gtchat-msg--person a {
	color: inherit;
}

.gtchat .gtchat-msg--person {
	color: var(--gtchat-person-fg);
	background: var(--gtchat-person-bg);
}

.gtchat .gtchat-msg__who {
	margin: 0 0 0.2rem;
	font-family: var(--gtchat-font-mono);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.gtchat .gtchat-msg--system {
	align-self: center;
	max-width: 100%;
	padding: 0.45rem 0.7rem;
	font-size: 0.82rem;
	text-align: center;
	color: var(--gtchat-muted-fg);
	background: transparent;
	border-style: dashed;
	box-shadow: none;
}

.gtchat .gtchat-msg--error {
	align-self: stretch;
	max-width: 100%;
	font-size: 0.88rem;
	color: var(--gtchat-danger);
	background: var(--gtchat-panel-bg);
	border-color: currentColor;
	box-shadow: none;
}

.gtchat .gtchat-sources {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.2rem 0.6rem;
	margin-top: 0.55em !important;
	font-size: 0.8rem;
}

.gtchat .gtchat-sources__label {
	font-family: var(--gtchat-font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.8;
}

.gtchat .gtchat-suggestions {
	max-height: 8rem;
	overflow-y: auto;
}

.gtchat .gtchat-chip {
	font-family: inherit;
	line-height: 1.3;
	text-align: left;
}

/* The row under the thread: "Talk to a person", "Leave your e-mail address", "Start a new conversation". */
.gtchat .gtchat-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem 1rem;
	padding: 0.35rem 0.9rem 0.1rem;
	background: var(--gtchat-panel-bg);
}

.gtchat .gtchat-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 32px;
	padding: 0.2rem 0;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--gtchat-panel-fg);
	background: none;
	border: 0;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.gtchat .gtchat-link .gtchat-icon {
	width: 16px;
	height: 16px;
}

.gtchat .gtchat-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 40px;
	padding: 0.45rem 0.85rem;
	font: inherit;
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--gtchat-bubble-fg);
	background: var(--gtchat-bubble-bg);
	border: 2px solid var(--gtchat-border-color);
	border-radius: 10px;
	box-shadow: 3px 3px 0 var(--gtchat-shadow-color);
	cursor: pointer;
}

.gtchat .gtchat-btn:active {
	transform: translate(2px, 2px);
	box-shadow: 1px 1px 0 var(--gtchat-shadow-color);
}

.gtchat .gtchat-btn--ghost {
	color: var(--gtchat-panel-fg);
	background: var(--gtchat-panel-bg);
}

.gtchat .gtchat-btn:disabled {
	opacity: 0.6;
	cursor: default;
}

.gtchat .gtchat-btn .gtchat-icon {
	width: 18px;
	height: 18px;
}

.gtchat .gtchat-offer {
	display: flex;
	flex-wrap: wrap;
	align-self: flex-start;
	gap: 0.5rem;
}

.gtchat .gtchat-msg--error .gtchat-offer {
	margin-top: 0.5rem;
}

/* The contact form, in the conversation. */
.gtchat .gtchat-contact {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding: 0.75rem;
	color: var(--gtchat-panel-fg);
	background: var(--gtchat-panel-bg);
	border: 2px solid var(--gtchat-border-color);
	border-radius: 12px;
	box-shadow: 3px 3px 0 var(--gtchat-shadow-color);
}

.gtchat .gtchat-contact__title {
	margin: 0;
	font-family: var(--gtchat-font-display);
	font-weight: 700;
}

.gtchat .gtchat-contact__intro,
.gtchat .gtchat-contact__privacy {
	margin: 0;
	font-size: 0.82rem;
	color: var(--gtchat-muted-fg);
}

.gtchat .gtchat-field {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	margin: 0;
}

.gtchat .gtchat-field label {
	font-size: 0.78rem;
	font-weight: 700;
}

.gtchat .gtchat-field input,
.gtchat .gtchat-field textarea {
	width: 100%;
	min-height: 38px;
	padding: 0.4rem 0.6rem;
	font: inherit;
	font-size: 0.9rem;
	color: var(--gtchat-panel-fg);
	background: var(--gtchat-input-bg);
	border: 2px solid var(--gtchat-border-color);
	border-radius: 8px;
	box-sizing: border-box;
}

.gtchat .gtchat-field textarea {
	min-height: 48px;
	resize: vertical;
}

.gtchat .gtchat-consent {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	font-size: 0.8rem;
	line-height: 1.35;
	cursor: pointer;
}

.gtchat .gtchat-consent input {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 0.1rem 0 0;
	accent-color: var(--gtchat-bubble-bg);
}

.gtchat .gtchat-contact__privacy a,
.gtchat .gtchat-footnote a {
	color: var(--gtchat-link);
	text-decoration: underline;
}

.gtchat .gtchat-contact__error {
	margin: 0;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--gtchat-danger);
}

.gtchat .gtchat-contact__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.gtchat [aria-invalid="true"] {
	border-color: var(--gtchat-danger) !important;
	outline-color: var(--gtchat-danger);
}

.gtchat .gtchat-count {
	margin: 0;
	padding: 0.15rem 0.9rem 0;
	font-size: 0.72rem;
	color: var(--gtchat-muted-fg);
	background: var(--gtchat-panel-bg);
}

.gtchat .gtchat-count:empty {
	display: none;
}

.gtchat .gtchat-dot.is-waiting {
	background: var(--gtchat-warning);
}

.gtchat .gtchat-dot.is-off {
	background: currentColor;
	opacity: 0.5;
}

.gtchat .gtchat-close:focus-visible,
.gtchat .gtchat-chip:focus-visible,
.gtchat .gtchat-link:focus-visible,
.gtchat .gtchat-btn:focus-visible,
.gtchat .gtchat-send:focus-visible,
.gtchat .gtchat-messages:focus-visible,
.gtchat .gtchat-field input:focus-visible,
.gtchat .gtchat-field textarea:focus-visible,
.gtchat .gtchat-consent input:focus-visible,
.gtchat .gtchat-msg a:focus-visible,
.gtchat .gtchat-footnote a:focus-visible,
.gtchat .gtchat-contact__privacy a:focus-visible {
	outline: 3px solid var(--gtchat-focus);
	outline-offset: 2px;
}

.gtchat .gtchat-header .gtchat-close:focus-visible,
.gtchat .gtchat-header .gtchat-max:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 2px;
}

/* Maximize: a large panel, or the whole screen on a phone (Escape makes it small again). */
.gtchat .gtchat-max {
	display: grid;
	flex: none;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 2px solid currentColor;
	border-radius: 8px;
	cursor: pointer;
}

.gtchat .gtchat-max .gt-icon {
	width: 18px;
	height: 18px;
}

.gtchat .gtchat-max__shrink,
.gtchat .gtchat-max[aria-pressed="true"] .gtchat-max__grow {
	display: none;
}

.gtchat .gtchat-max[aria-pressed="true"] .gtchat-max__shrink {
	display: inline-block;
}

.gtchat.is-large .gtchat-panel {
	position: fixed;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 16px);
	right: var(--gtchat-offset-right, 20px);
	bottom: calc(var(--gtchat-offset-bottom, 20px) + var(--gtchat-bubble-size, 60px) + 16px + env(safe-area-inset-bottom, 0px));
	left: auto;
	width: min(880px, calc(100vw - 2 * var(--gtchat-offset-right, 20px)));
	height: auto;
	max-height: none;
}

@media (max-width: 520px) {
	.gtchat.is-large .gtchat-panel {
		top: var(--wp-admin--admin-bar--height, 0px);
		right: 0;
		bottom: 0;
		left: 0;
		width: auto;
		border-width: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.gtchat.is-large.is-open .gtchat-bubble {
		display: none;
	}

	html.gtchat-large-open {
		overflow: hidden;
	}
}

/* ------------------------------------------------- any other theme: everything */

.gtchat-dock {
	position: fixed;
	right: var(--gtchat-offset-right);
	bottom: calc(var(--gtchat-offset-bottom) + env(safe-area-inset-bottom, 0px));
	z-index: var(--gtchat-z);
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	pointer-events: none;
}

.gtchat-dock > * {
	pointer-events: auto;
}

.gtchat--standalone {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 14px;
	font-family: var(--gtchat-font);
	font-size: 16px;
	line-height: 1.45;
	color: var(--gtchat-panel-fg);
	text-align: left;
}

.gtchat--standalone *,
.gtchat--standalone *::before,
.gtchat--standalone *::after {
	box-sizing: border-box;
}

.gtchat--standalone p {
	margin: 0;
}

.gtchat--standalone .gt-icon {
	display: inline-block;
	flex: none;
	width: 1.25em;
	height: 1.25em;
}

.gtchat--standalone .gtchat-bubble {
	position: relative;
	display: grid;
	place-items: center;
	width: var(--gtchat-bubble-size);
	height: var(--gtchat-bubble-size);
	margin: 0;
	padding: 0;
	color: var(--gtchat-bubble-fg);
	background: var(--gtchat-bubble-bg);
	border: var(--gtchat-border-width) solid var(--gtchat-border-color);
	border-radius: var(--gtchat-bubble-radius);
	box-shadow: var(--gtchat-shadow);
	cursor: pointer;
	transition: transform 120ms ease, box-shadow 120ms ease;
}

.gtchat--standalone .gtchat-bubble:hover {
	transform: translateY(-2px);
}

.gtchat--standalone .gtchat-bubble:active {
	transform: translateY(1px);
	box-shadow: var(--gtchat-shadow-pressed);
}

.gtchat--standalone .gtchat-bubble:focus-visible {
	outline: 3px solid var(--gtchat-focus);
	outline-offset: 3px;
}

.gtchat--standalone .gtchat-bubble .gt-icon {
	width: 26px;
	height: 26px;
}

.gtchat--standalone .gtchat-bubble__close,
.gtchat--standalone .gtchat-bubble[aria-expanded="true"] .gtchat-bubble__open {
	display: none;
}

.gtchat--standalone .gtchat-bubble[aria-expanded="true"] .gtchat-bubble__close {
	display: inline-block;
}

.gtchat--standalone .gtchat-bubble[data-unread]::after {
	content: attr(data-unread);
	position: absolute;
	top: -6px;
	right: -6px;
	min-width: 22px;
	height: 22px;
	padding: 0 5px;
	font-family: var(--gtchat-font-mono);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 20px;
	text-align: center;
	color: #ffffff;
	background: #d92d20;
	border: 1px solid #ffffff;
	border-radius: 11px;
}

.gtchat--standalone .gtchat-panel {
	display: flex;
	flex-direction: column;
	width: min(var(--gtchat-panel-width), calc(100vw - 2 * var(--gtchat-offset-right)));
	height: min(var(--gtchat-panel-height), calc(100vh - var(--gtchat-offset-bottom) - var(--gtchat-bubble-size) - 6rem));
	overflow: hidden;
	color: var(--gtchat-panel-fg);
	background: var(--gtchat-panel-bg);
	border: var(--gtchat-border-width) solid var(--gtchat-border-color);
	border-radius: var(--gtchat-panel-radius);
	box-shadow: var(--gtchat-shadow);
	transform-origin: bottom right;
	animation: gtchat-pop 180ms ease-out;
}

.gtchat--standalone .gtchat-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 0.9rem;
	color: var(--gtchat-header-fg);
	background: var(--gtchat-header-bg);
}

.gtchat--standalone .gtchat-avatar {
	display: grid;
	flex: none;
	place-items: center;
	width: 36px;
	height: 36px;
	color: var(--gtchat-header-bg);
	background: var(--gtchat-header-fg);
	border-radius: 10px;
}

.gtchat--standalone .gtchat-heading {
	flex: 1;
	min-width: 0;
}

.gtchat--standalone .gtchat-title {
	font-family: var(--gtchat-font-display);
	font-weight: 700;
}

.gtchat--standalone .gtchat-status {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.75rem;
	opacity: 0.92;
}

.gtchat--standalone .gtchat-dot {
	width: 8px;
	height: 8px;
	background: #34d399;
	border-radius: 50%;
}

.gtchat--standalone .gtchat-close {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 8px;
	cursor: pointer;
}

.gtchat--standalone .gtchat-close .gt-icon {
	width: 18px;
	height: 18px;
}

.gtchat--standalone .gtchat-messages {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1rem;
	overflow-y: auto;
	background: var(--gtchat-log-bg);
}

.gtchat--standalone .gtchat-msg {
	max-width: 86%;
	padding: 0.6rem 0.8rem;
	font-size: 0.95rem;
	line-height: 1.45;
	border: 1px solid var(--gtchat-border-color);
	border-radius: var(--gtchat-radius);
}

.gtchat--standalone .gtchat-msg p + p {
	margin-top: 0.5em;
}

.gtchat--standalone .gtchat-msg--bot {
	align-self: flex-start;
	color: var(--gtchat-bot-fg);
	background: var(--gtchat-bot-bg);
	border-bottom-left-radius: 4px;
}

.gtchat--standalone .gtchat-msg--user {
	align-self: flex-end;
	color: var(--gtchat-user-fg);
	background: var(--gtchat-user-bg);
	border-color: transparent;
	border-bottom-right-radius: 4px;
}

.gtchat--standalone .gtchat-msg--person {
	color: var(--gtchat-person-fg);
	background: var(--gtchat-person-bg);
}

.gtchat--standalone .gtchat-typing {
	display: inline-flex;
	align-self: flex-start;
	gap: 4px;
	padding: 0.65rem 0.8rem;
	background: var(--gtchat-bot-bg);
	border: 1px solid var(--gtchat-border-color);
	border-radius: var(--gtchat-radius);
}

.gtchat--standalone .gtchat-typing i {
	width: 7px;
	height: 7px;
	background: var(--gtchat-panel-fg);
	border-radius: 50%;
	animation: gtchat-typing 1s ease-in-out infinite;
}

.gtchat--standalone .gtchat-typing i:nth-child(2) {
	animation-delay: 0.15s;
}

.gtchat--standalone .gtchat-typing i:nth-child(3) {
	animation-delay: 0.3s;
}

.gtchat--standalone .gtchat-suggestions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0.6rem 0.9rem;
	background: var(--gtchat-panel-bg);
	border-top: 1px solid var(--gtchat-border-color);
}

.gtchat--standalone .gtchat-chip {
	padding: 0.35rem 0.7rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--gtchat-panel-fg);
	background: var(--gtchat-panel-bg);
	border: 1px solid var(--gtchat-border-color);
	border-radius: 999px;
	cursor: pointer;
}

.gtchat--standalone .gtchat-chip:hover {
	color: var(--gtchat-on-accent);
	background: var(--gtchat-accent);
}

.gtchat--standalone .gtchat-form {
	display: flex;
	align-items: flex-end;
	gap: 0.5rem;
	margin: 0;
	padding: 0.7rem 0.75rem;
	background: var(--gtchat-panel-bg);
	border-top: 1px solid var(--gtchat-border-color);
}

.gtchat--standalone .gtchat-input {
	flex: 1;
	min-height: 44px;
	max-height: 120px;
	margin: 0;
	padding: 0.6rem 0.8rem;
	font: inherit;
	font-size: 0.95rem;
	color: var(--gtchat-panel-fg);
	background: var(--gtchat-input-bg);
	border: 1px solid var(--gtchat-border-color);
	border-radius: 10px;
	resize: none;
}

.gtchat--standalone .gtchat-input:focus-visible {
	outline: 3px solid var(--gtchat-focus);
	outline-offset: 1px;
}

.gtchat--standalone .gtchat-send {
	display: grid;
	flex: none;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	color: var(--gtchat-bubble-fg);
	background: var(--gtchat-bubble-bg);
	border: 0;
	border-radius: 10px;
	cursor: pointer;
}

.gtchat--standalone .gtchat-send .gt-icon {
	width: 20px;
	height: 20px;
}

.gtchat--standalone .gtchat-footnote {
	padding: 0 0.9rem 0.65rem;
	font-size: 0.6875rem;
	color: var(--gtchat-panel-muted);
	background: var(--gtchat-panel-bg);
}

.gtchat--standalone .gtchat-btn {
	border-width: 1px;
	box-shadow: none;
}

.gtchat--standalone .gtchat-contact {
	border-width: 1px;
	box-shadow: none;
}

.gtchat--standalone .gtchat-field input,
.gtchat--standalone .gtchat-field textarea {
	border-width: 1px;
}

@keyframes gtchat-pop {
	from {
		opacity: 0;
		transform: translateY(8px) scale(0.98);
	}
}

@keyframes gtchat-typing {
	0%,
	100% {
		opacity: 0.4;
		transform: translateY(0);
	}

	50% {
		opacity: 1;
		transform: translateY(-3px);
	}
}

@media (max-width: 520px) {
	.gtchat--standalone .gtchat-panel {
		position: fixed;
		right: 8px;
		bottom: calc(var(--gtchat-offset-bottom) + var(--gtchat-bubble-size) + 16px + env(safe-area-inset-bottom, 0px));
		left: 8px;
		width: auto;
		height: min(72vh, 560px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gtchat .gtchat-panel {
		animation: none !important;
	}

	.gtchat .gtchat-typing i {
		opacity: 0.6;
		animation: none !important;
	}

	.gtchat .gtchat-bubble,
	.gtchat .gtchat-btn {
		transition: none !important;
	}

	.gtchat .gtchat-bubble:hover,
	.gtchat .gtchat-bubble:active,
	.gtchat .gtchat-btn:active {
		transform: none !important;
	}
}

@media print {
	.gtchat,
	.gtchat-dock {
		display: none !important;
	}
}
