.aat-root {
	--aat-accent: #2f5fe8;
	--aat-accent-dark: #1e46b9;
	--aat-panel-bg: #f4f6fb;
	--aat-card-bg: #ffffff;
	--aat-card-border: rgba(15, 23, 42, 0.08);
	--aat-text: #101828;
	--aat-muted: #667085;
	--aat-shadow: 0 24px 70px rgba(15, 23, 42, 0.25);
	position: relative;
	z-index: 999999;
}

.aat-trigger,
.aat-icon-button,
.aat-text-button,
.aat-stepper__button,
.aat-card--toggle {
	appearance: none;
	border: 0;
	background: none;
	padding: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
}

.aat-trigger {
	position: fixed;
	right: 24px;
	bottom: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 999px;
	background: var(--aat-accent);
	color: #fff;
	box-shadow: 0 18px 38px rgba(47, 95, 232, 0.34);
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.aat-trigger:hover,
.aat-trigger:focus-visible {
	background: var(--aat-accent-dark);
	transform: translateY(-2px);
}

.aat-trigger:focus-visible,
.aat-icon-button:focus-visible,
.aat-text-button:focus-visible,
.aat-stepper__button:focus-visible,
.aat-card--toggle:focus-visible {
	outline: 3px solid rgba(47, 95, 232, 0.28);
	outline-offset: 3px;
}

.aat-trigger__icon,
.aat-panel__badge,
.aat-card__icon,
.aat-icon-button span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.aat-trigger__icon svg,
.aat-panel__badge svg,
.aat-card__icon svg,
.aat-icon-button svg,
.aat-stepper__button svg {
	width: 28px;
	height: 28px;
}

.aat-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(4, 10, 24, 0.56);
	backdrop-filter: blur(6px);
}

.aat-panel {
	position: fixed;
	inset: 24px 24px auto auto;
	width: min(1080px, calc(100vw - 48px));
	max-height: calc(100vh - 48px);
	overflow: auto;
	border-radius: 32px;
	background: var(--aat-panel-bg);
	box-shadow: var(--aat-shadow);
	color: var(--aat-text);
}

.aat-panel__header {
	padding: 36px 36px 28px;
	background: linear-gradient(180deg, #2f5fe8 0%, #335fda 100%);
	color: #fff;
	display: flex;
	justify-content: space-between;
	gap: 24px;
	border-radius: 32px 32px 0 0;
}

.aat-panel__intro {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	max-width: 720px;
}

.aat-panel__badge {
	flex: 0 0 auto;
	width: 58px;
	height: 58px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
}

.aat-panel__eyebrow {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.aat-panel__title {
	margin: 0 0 10px;
	font-size: clamp(32px, 4vw, 56px);
	line-height: 1.02;
	color: #fff;
}

.aat-panel__subtitle {
	margin: 0;
	font-size: 17px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.82);
}

.aat-panel__header-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}

.aat-text-button,
.aat-icon-button {
	color: #fff;
}

.aat-text-button {
	font-size: 14px;
	font-weight: 600;
}

.aat-icon-button {
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
}

.aat-panel__content {
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.aat-section {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.aat-section__title {
	margin: 0 0 6px;
	font-size: 18px;
	line-height: 1.2;
}

.aat-section__text {
	margin: 0;
	color: var(--aat-muted);
	font-size: 14px;
	line-height: 1.6;
}

.aat-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.aat-card {
	padding: 22px;
	border-radius: 26px;
	background: var(--aat-card-bg);
	border: 1px solid var(--aat-card-border);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
	text-align: left;
}

.aat-card--wide {
	grid-column: span 2;
}

.aat-card__header {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
}

.aat-card__icon {
	width: 54px;
	height: 54px;
	border-radius: 999px;
	background: rgba(47, 95, 232, 0.08);
	color: var(--aat-accent);
}

.aat-card__title {
	margin: 0;
	font-size: 17px;
	line-height: 1.3;
}

.aat-card__description {
	margin: 0;
	color: var(--aat-muted);
	font-size: 14px;
	line-height: 1.6;
}

.aat-card--toggle {
	display: block;
	width: 100%;
	min-height: 200px;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.aat-card--toggle:hover {
	transform: translateY(-2px);
}

.aat-card--toggle.is-active {
	border-color: rgba(47, 95, 232, 0.82);
	box-shadow: inset 0 0 0 2px rgba(47, 95, 232, 0.72);
}

.aat-stepper {
	display: grid;
	grid-template-columns: 52px 1fr 52px;
	align-items: center;
	gap: 16px;
}

.aat-stepper__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 999px;
	background: rgba(47, 95, 232, 0.1);
	color: var(--aat-accent);
}

.aat-stepper__button:disabled {
	opacity: 0.34;
	cursor: not-allowed;
}

.aat-stepper__value {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 10px 16px;
	border-radius: 16px;
	background: rgba(15, 23, 42, 0.04);
	font-size: 15px;
	font-weight: 700;
	text-align: center;
}

.aat-grid--colors .aat-card--toggle {
	min-height: 176px;
}

@media (max-width: 960px) {
	.aat-panel {
		inset: auto 12px 12px 12px;
		width: auto;
		max-height: calc(100vh - 24px);
		border-radius: 28px;
	}

	.aat-panel__header {
		padding: 28px 22px 24px;
		flex-direction: column;
		border-radius: 28px 28px 0 0;
	}

	.aat-panel__header-actions {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}

	.aat-panel__content {
		padding: 22px;
	}

	.aat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aat-card--wide {
		grid-column: span 2;
	}
}

@media (max-width: 640px) {
	.aat-trigger {
		right: 16px;
		bottom: 16px;
		width: 58px;
		height: 58px;
	}

	.aat-grid,
	.aat-card--wide {
		grid-template-columns: 1fr;
		grid-column: span 1;
	}

	.aat-card--toggle {
		min-height: 0;
	}

	.aat-stepper {
		grid-template-columns: 46px 1fr 46px;
		gap: 12px;
	}

	.aat-stepper__button {
		width: 46px;
		height: 46px;
	}

	.aat-panel__title {
		font-size: 32px;
	}
}

body.aat-large-cursor,
body.aat-large-cursor * {
	cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='1.8' d='M5 3v14l4-4 2.8 6 2.2-1-2.8-6 5-1Z'/%3E%3C/svg%3E") 4 4, auto !important;
}

body.aat-large-cursor a,
body.aat-large-cursor button,
body.aat-large-cursor input,
body.aat-large-cursor select,
body.aat-large-cursor textarea,
body.aat-large-cursor label,
body.aat-large-cursor summary,
body.aat-large-cursor [role='button'] {
	cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='1.5' d='M7.5 2c.6 0 1 .4 1 1v6h4c2.5 0 4.5 2 4.5 4.5V16c0 2.8-2.2 5-5 5H9.2C6.9 21 5 19.1 5 16.8V6.5C5 4 6.2 2 7.5 2Z'/%3E%3C/svg%3E") 6 2, pointer !important;
}

html.aat-font-scale-0 {
	font-size: 93.75%;
}

html.aat-font-scale-1 {
	font-size: 100%;
}

html.aat-font-scale-2 {
	font-size: 112.5%;
}

html.aat-font-scale-3 {
	font-size: 125%;
}

body.aat-readable-font > *:not(.aat-root) :is(h1, h2, h3, h4, h5, h6, p, li, a, span, label, input, textarea, select, button, blockquote, figcaption, dt, dd, td, th, small, strong, em) {
	font-family: Arial, Helvetica, Verdana, sans-serif !important;
}

body.aat-line-height > *:not(.aat-root) :is(h1, h2, h3, h4, h5, h6, p, li, a, span, label, blockquote, figcaption, dt, dd, td, th) {
	line-height: var(--aat-line-height, 1.7) !important;
}

body.aat-letter-spacing > *:not(.aat-root) :is(h1, h2, h3, h4, h5, h6, p, li, a, span, label, button, blockquote, figcaption, dt, dd, td, th) {
	letter-spacing: 0.08em !important;
}

body.aat-center-text > *:not(.aat-root) :is(h1, h2, h3, h4, h5, h6, p, li, blockquote, figcaption, td, th, label) {
	text-align: center !important;
}

body.aat-bold-text > *:not(.aat-root) :is(p, li, a, span, label, button, blockquote, figcaption, dt, dd, td, th, small, em) {
	font-weight: 700 !important;
}

body.aat-color-light > *:not(.aat-root) {
	filter: brightness(1.07) contrast(1.08);
}

body.aat-color-high > *:not(.aat-root) {
	filter: contrast(1.28) saturate(1.05);
}

body.aat-color-mono > *:not(.aat-root) {
	filter: grayscale(1);
}

@media (prefers-reduced-motion: reduce) {
	.aat-trigger,
	.aat-card--toggle {
		transition: none;
	}
}
