.turbo-progress-bar {
	background-color: var(--accent);
	height: 2px;
	box-shadow: 0 0 12px var(--accent);
}

.app-header {
	position: fixed;
	inset-inline: 0;
	top: 0;
	z-index: 50;
}

.app-header__bar {
	position: absolute;
	inset: 0;
	background: var(--frost-bg);
	backdrop-filter: var(--frost);
	-webkit-backdrop-filter: var(--frost);
	border-bottom: 1px solid var(--border);
	pointer-events: none;
}

@media (min-width: 1400px) {
	.app-header nav[aria-label="Primary"] {
		display: flex;
		align-items: center;
	}
}

.app-header nav[aria-label="Primary"] a {
	display: inline-flex;
	align-items: center;
	height: 2.25rem;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1;
	text-transform: none;
	border-radius: var(--radius-md);
}

.app-header button[aria-label="Account menu"] {
	border-radius: var(--radius-md);
	background: transparent;
	outline: 1px solid var(--border);
}

.app-header button[aria-label="Account menu"]:hover {
	background: var(--bg-muted);
}

.brand-lockup {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 2px;
	flex-shrink: 0;
}

.app-header img.brand-mark {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	flex-shrink: 0;
	object-fit: cover;
	border: 0;
}

.brand-wordmark {
	display: none;
	align-items: center;
	height: 2.25rem;
	font-family: var(--font-sans);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1;
	text-transform: uppercase;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

@media (min-width: 1400px) {
	.app-header img.brand-mark {
		display: none;
	}

	.app-header__brand {
		align-items: center;
	}

	.brand-lockup {
		width: auto;
		height: 2.25rem;
		padding: 0;
	}

	.brand-wordmark {
		display: inline-flex;
		height: 100%;
	}
}

.app-header [data-dropdown-target="menu"] {
	border-radius: var(--radius-md);
	background: var(--bg-raised);
	box-shadow:
		0 8px 28px color-mix(in srgb, var(--color-black) 10%, transparent),
		0 0 18px color-mix(in srgb, var(--accent) 12%, transparent);
	outline: 1px solid var(--border);
	color: var(--text);
}

.app-header [data-dropdown-target="menu"] a,
.app-header [data-dropdown-target="menu"] [role="menuitem"] {
	color: var(--text);
}

.app-header [data-dropdown-target="menu"] a:hover,
.app-header [data-dropdown-target="menu"] [role="menuitem"]:hover {
	background: var(--bg-muted);
	color: var(--text);
}

.app-header [data-dropdown-target="menu"] a.app-header__menu-accent {
	color: var(--accent);
}

.app-header [data-dropdown-target="menu"] a.app-header__menu-accent:hover {
	background: var(--bg-muted);
	color: var(--accent);
}

.app-header [data-dropdown-target="menu"] .border-t {
	border-color: var(--border);
}

.header-search-dropdown {
	border-radius: var(--radius-md);
	background: var(--frost-raised);
	box-shadow: none;
	outline: 1px solid var(--border);
	backdrop-filter: var(--frost-xl);
	-webkit-backdrop-filter: var(--frost-xl);
}

.app-header input,
.app-header select,
input.input-compact,
select.input-compact {
	border-radius: var(--radius-md);
}

.listing-panel {
	border-radius: var(--radius-md);
	background: var(--bg-raised);
	box-shadow: none;
	outline: 1px solid var(--border);
}

html.dark .listing-panel {
	background: var(--bg-raised);
	box-shadow: none;
}

.listing-panel.divide-y > :not(:first-child),
.listing-panel.divide-x > :not(:first-child),
.listing-panel.divide-y > :not(:last-child),
.listing-panel.divide-x > :not(:last-child),
.divider-groove {
	box-shadow: none;
	border-color: var(--border);
}

html.dark .listing-panel.divide-y > :not(:first-child),
html.dark .listing-panel.divide-x > :not(:first-child),
html.dark .listing-panel.divide-y > :not(:last-child),
html.dark .listing-panel.divide-x > :not(:last-child),
html.dark .divider-groove {
	box-shadow: none;
	border-color: var(--border);
}

.btn,
.btn-primary,
.btn-neutral,
.listing-cta,
.listing-actions .btn,
.home-landing__cta {
	border-radius: var(--radius-md);
	box-shadow: none;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.75rem;
	font-weight: 500;
}

.page-header .btn {
	font-family: var(--font-sans);
	text-transform: none;
	letter-spacing: normal;
	font-size: 0.875rem;
	font-weight: 500;
}

.btn-primary,
.listing-cta:not(.listing-cta--neutral),
.home-landing__cta--primary {
	background: var(--listing-primary-fill);
	color: var(--listing-primary-text);
	box-shadow: var(--listing-primary-shadow);
}

.btn-primary:hover,
.listing-cta:not(.listing-cta--neutral):hover,
.home-landing__cta--primary:hover {
	background: var(--listing-primary-fill-hover);
}

.listing-cta--neutral {
	background: var(--listing-tinted-fill);
	color: var(--listing-tinted-color);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 55%, var(--border));
}

.listing-cta--neutral:hover {
	background: var(--listing-tinted-fill-hover);
	color: var(--listing-tinted-color);
	box-shadow: inset 0 0 0 1px var(--accent);
}

.cta-accent,
a.cta-accent,
button.cta-accent {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-weight: 500;
	line-height: 1.375;
	color: var(--text);
	background: color-mix(in srgb, var(--accent) 8%, var(--bg-raised));
	border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border));
	box-shadow: none;
	backdrop-filter: var(--frost-sm);
	-webkit-backdrop-filter: var(--frost-sm);
	transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
	text-decoration: none;
	cursor: pointer;
}

.cta-accent:hover {
	background: color-mix(in srgb, var(--accent) 14%, var(--bg-raised));
	border-color: color-mix(in srgb, var(--accent) 55%, var(--border));
	color: var(--text);
}

.cta-accent:focus-visible {
	outline: none;
	border-color: var(--accent);
	box-shadow: var(--glow);
	color: var(--text);
}

.cta-accent:active {
	background: color-mix(in srgb, var(--accent) 22%, var(--bg-raised));
	border-color: var(--accent);
	color: var(--text);
}

.cta-accent:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.cta-accent--md {
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
	border-radius: var(--radius-xl);
}

.cta-accent--sm {
	padding: 0.375rem 0.625rem;
	font-size: 0.6875rem;
	border-radius: var(--radius-md);
}

.cta-accent--pill {
	border-radius: 9999px;
	padding: 0.375rem 0.75rem;
	font-size: 0.75rem;
}

.cta-accent--pill.cta-accent--sm {
	padding: 0.25rem 0.625rem;
	font-size: 0.6875rem;
}

.cta-accent--block {
	display: block;
	width: 100%;
}

.cta-accent--card {
	border-radius: var(--radius-xl);
	padding: 0.625rem 0.75rem;
	text-align: left;
	align-items: flex-start;
}

.cta-accent--card.cta-accent--block {
	display: block;
}

.cta-accent-panel {
	border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border));
	background: color-mix(in srgb, var(--accent) 8%, var(--bg-raised));
	border-radius: var(--radius-xl);
	box-shadow: none;
}

.cta-muted,
button.cta-muted {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	color: var(--text-muted);
	background: var(--bg-raised);
	border: 1px solid var(--border);
	box-shadow: none;
	transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
	cursor: pointer;
	text-decoration: none;
}

.cta-muted:hover {
	color: var(--text);
	border-color: color-mix(in srgb, var(--accent) 40%, var(--border));
	background: color-mix(in srgb, var(--accent) 8%, var(--bg-raised));
}

.cta-muted:focus-visible {
	outline: none;
	border-color: var(--accent);
	box-shadow: var(--glow);
	color: var(--text);
}

.cta-muted:active {
	background: color-mix(in srgb, var(--accent) 14%, var(--bg-raised));
	color: var(--text);
}

.cta-muted--pill {
	border-radius: 9999px;
	padding: 0.375rem 0.75rem;
	font-size: 0.75rem;
}

.cta-muted--pill.cta-muted--sm {
	padding: 0.25rem 0.625rem;
	font-size: 0.6875rem;
}

.cta-text,
button.cta-text {
	padding: 0.5rem 0.875rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: color-mix(in srgb, var(--accent) 80%, var(--text));
	background: transparent;
	border: 1px solid transparent;
	border-radius: var(--radius-md);
	transition: background-color 150ms ease, color 150ms ease;
	cursor: pointer;
}

.cta-text:hover {
	background: color-mix(in srgb, var(--accent) 10%, var(--bg-raised));
	color: var(--text);
}

.cta-text:focus-visible {
	outline: none;
	box-shadow: var(--glow);
	color: var(--text);
}

.cta-toggle {
	border-radius: 9999px;
	padding: 0.25rem 0.625rem;
	font-size: 0.6875rem;
	font-weight: 500;
	color: var(--text-muted);
	background: var(--bg-raised);
	border: 1px solid var(--border);
	transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
	cursor: pointer;
}

.cta-toggle:hover {
	color: var(--text);
	border-color: color-mix(in srgb, var(--accent) 40%, var(--border));
	background: color-mix(in srgb, var(--accent) 8%, var(--bg-raised));
}

.cta-toggle[aria-pressed="true"] {
	color: var(--text);
	background: color-mix(in srgb, var(--accent) 18%, var(--bg-raised));
	border-color: color-mix(in srgb, var(--accent) 50%, var(--border));
}

.cta-toggle[aria-pressed="true"]:hover {
	background: color-mix(in srgb, var(--accent) 24%, var(--bg-raised));
	border-color: var(--accent);
}

.search-ask-ai {
	border-radius: var(--radius-md);
	background: color-mix(in srgb, var(--accent) 14%, var(--bg-raised));
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent);
}

.search-ask-ai:hover {
	background: color-mix(in srgb, var(--accent) 22%, var(--bg-raised));
	box-shadow: inset 0 0 0 1px var(--accent);
}

.search-ask-ai-label {
	background-image: linear-gradient(
		90deg,
		var(--color-primary-700) 0%,
		var(--color-primary-500) 40%,
		var(--color-brand-sky) 50%,
		var(--color-primary-500) 60%,
		var(--color-primary-700) 100%
	);
	background-size: 200% 100%;
	background-position: 100% 50%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-family: var(--font-sans);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-transform: none;
}

html.dark .search-ask-ai {
	background: color-mix(in srgb, var(--accent) 12%, var(--bg-raised));
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent);
}

html.dark .search-ask-ai-label {
	background-image: linear-gradient(
		90deg,
		var(--color-primary-300) 0%,
		var(--color-primary-200) 40%,
		var(--color-brand-sky-soft) 50%,
		var(--color-primary-200) 60%,
		var(--color-primary-400) 100%
	);
	background-size: 200% 100%;
	background-position: 100% 50%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	text-shadow: none;
}

#support-chat,
#support-chat .auth-modal-panel {
	border-radius: 0;
	box-shadow: none;
}

#support-chat button {
	border-radius: var(--radius-md);
}

.home-landing {
	color: var(--text);
	background-color: var(--bg);
	background-image:
		linear-gradient(color-mix(in srgb, var(--accent) 9%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--accent) 9%, transparent) 1px, transparent 1px);
	background-size: 28px 28px;
}

html.dark .home-landing {
	color: var(--text);
	background-color: var(--bg);
	background-image:
		linear-gradient(color-mix(in srgb, var(--accent) 12%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--accent) 12%, transparent) 1px, transparent 1px);
}

.home-landing__hero-shade {
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--color-gray-950) 42%, transparent) 0%, color-mix(in srgb, var(--color-gray-950) 78%, transparent) 100%),
		repeating-linear-gradient(
			0deg,
			transparent,
			transparent 2px,
			color-mix(in srgb, var(--color-gray-950) 18%, transparent) 3px
		);
}

.home-landing__title {
	font-family: var(--font-sans);
	font-weight: 600;
	letter-spacing: -0.04em;
	text-shadow: none;
}

.home-landing__title::after {
	content: "_";
	color: var(--accent);
	margin-left: 0.02em;
	animation: resider-caret 1.05s step-end infinite;
}

@keyframes resider-caret {
	50% {
		opacity: 0;
	}
}

.home-landing__lede {
	font-family: var(--font-mono);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	text-shadow: none;
}

.home-landing__kicker {
	letter-spacing: 0.18em;
}

.home-landing__cta--ghost {
	background: color-mix(in srgb, var(--color-white) 12%, transparent);
	backdrop-filter: var(--frost-sm);
	-webkit-backdrop-filter: var(--frost-sm);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-white) 35%, transparent);
}

input.home-landing__search-input,
input.home-landing__search-input--hero {
	border-radius: 0;
	background: var(--bg-raised);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, var(--border));
}

input.home-landing__search-input--hero:focus,
input.home-landing__search-input:focus {
	box-shadow: inset 0 0 0 1px var(--accent), var(--glow);
}

html.dark input.home-landing__search-input--hero,
html.dark input.home-landing__search-input {
	background: color-mix(in srgb, var(--bg) 88%, transparent);
}

.home-landing__chip,
.home-landing__chip--hero {
	border-radius: 0;
	font-size: 0.6875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: color-mix(in srgb, var(--bg) 55%, transparent);
}

.home-landing__chip--hero {
	background: color-mix(in srgb, var(--color-white) 12%, transparent);
	backdrop-filter: var(--frost-sm);
	-webkit-backdrop-filter: var(--frost-sm);
}

.home-landing__trust {
	background: color-mix(in srgb, var(--bg) 72%, transparent);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--border);
}

html.dark .home-landing__trust {
	background: color-mix(in srgb, var(--bg) 70%, transparent);
	border-bottom-color: var(--border);
}
