/*
 * Shared modal contract. Platform resolves these tokens from its data-scheme
 * state; individual modal systems retain ownership of their behaviour.
 */
:where(.adp-popup, .sba-access-gate.sba-modal-ready) {
	--synoptikon-modal-surface: var(--cs-layout-background);
	--synoptikon-modal-border: var(--cs-color-border);
	--synoptikon-modal-radius: 8px;
	--synoptikon-modal-shadow: 0 12px 32px color-mix(in srgb, var(--cs-color-primary) 12%, transparent);
}

/* Advanced Popups exposes equivalent variables but does not consume Platform's tokens. */
.adp-popup {
	--adp-popup-container-background: var(--cs-layout-background);
	--adp-popup-close-color: var(--cs-color-primary);
	--adp-popup-close-hover-color: var(--cs-color-secondary);
	--adp-popup-type-notification-text-color: var(--cs-color-secondary);
	--adp-popup-type-notification-text-link-color: var(--cs-color-primary);
	--adp-popup-type-notification-button-background: var(--cs-color-button);
	--adp-popup-type-notification-button-color: var(--cs-color-button-contrast);
}

/* Both modal shells use Synoptikon's raised-card treatment. */
.adp-popup .adp-popup-container,
.sba-access-gate.sba-modal-ready {
	background: var(--synoptikon-modal-surface);
	border: 1px solid var(--synoptikon-modal-border);
	border-radius: var(--synoptikon-modal-radius);
	box-shadow: var(--synoptikon-modal-shadow);
}

/* Advanced Popups has a separate content wrapper and can safely clip to its card edge. */
.adp-popup .adp-popup-container {
	overflow: hidden;
}

/* Align the non-content chrome without replacing either modal's interaction model. */
.adp-popup-overlay,
.sba-modal-backdrop {
	backdrop-filter: blur(2px);
}

.adp-popup .adp-popup-close,
.sba-modal-ready .sba-modal-close {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
}

.adp-popup .adp-popup-close:focus-visible,
.sba-modal-ready .sba-modal-close:focus-visible {
	outline: 2px solid var(--cs-color-primary);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.adp-popup *,
	.adp-popup-overlay {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

/* Only display the Beehiiv form that matches Platform's resolved scheme. */
.synoptikon-beehiiv-scheme-form {
	display: none;
}

body[data-scheme="light"] .synoptikon-beehiiv-scheme-form--light,
body[data-scheme="dark"] .synoptikon-beehiiv-scheme-form--dark {
	display: block;
}

@media (prefers-color-scheme: light) {
	body[data-scheme="auto"] .synoptikon-beehiiv-scheme-form--light {
		display: block;
	}
}

@media (prefers-color-scheme: dark) {
	body[data-scheme="auto"] .synoptikon-beehiiv-scheme-form--dark {
		display: block;
	}
}
