@layer properties {
	@supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or
		((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
		*,
		::before,
		::after,
		::backdrop {
			--tw-translate-x: 0;
			--tw-translate-y: 0;
			--tw-translate-z: 0;
			--tw-rotate-x: initial;
			--tw-rotate-y: initial;
			--tw-rotate-z: initial;
			--tw-skew-x: initial;
			--tw-skew-y: initial;
			--tw-space-y-reverse: 0;
			--tw-space-x-reverse: 0;
			--tw-border-style: solid;
			--tw-leading: initial;
			--tw-font-weight: initial;
			--tw-tracking: initial;
			--tw-ordinal: initial;
			--tw-slashed-zero: initial;
			--tw-numeric-figure: initial;
			--tw-numeric-spacing: initial;
			--tw-numeric-fraction: initial;
			--tw-shadow: 0 0 #0000;
			--tw-shadow-color: initial;
			--tw-shadow-alpha: 100%;
			--tw-inset-shadow: 0 0 #0000;
			--tw-inset-shadow-color: initial;
			--tw-inset-shadow-alpha: 100%;
			--tw-ring-color: initial;
			--tw-ring-shadow: 0 0 #0000;
			--tw-inset-ring-color: initial;
			--tw-inset-ring-shadow: 0 0 #0000;
			--tw-ring-inset: initial;
			--tw-ring-offset-width: 0px;
			--tw-ring-offset-color: #fff;
			--tw-ring-offset-shadow: 0 0 #0000;
			--tw-outline-style: solid;
			--tw-blur: initial;
			--tw-brightness: initial;
			--tw-contrast: initial;
			--tw-grayscale: initial;
			--tw-hue-rotate: initial;
			--tw-invert: initial;
			--tw-opacity: initial;
			--tw-saturate: initial;
			--tw-sepia: initial;
			--tw-drop-shadow: initial;
			--tw-drop-shadow-color: initial;
			--tw-drop-shadow-alpha: 100%;
			--tw-drop-shadow-size: initial;
			--tw-backdrop-blur: initial;
			--tw-backdrop-brightness: initial;
			--tw-backdrop-contrast: initial;
			--tw-backdrop-grayscale: initial;
			--tw-backdrop-hue-rotate: initial;
			--tw-backdrop-invert: initial;
			--tw-backdrop-opacity: initial;
			--tw-backdrop-saturate: initial;
			--tw-backdrop-sepia: initial;
			--tw-duration: initial;
			--tw-ease: initial;
			--tw-content: '';
			--tw-animation-delay: 0s;
			--tw-animation-direction: normal;
			--tw-animation-duration: initial;
			--tw-animation-fill-mode: none;
			--tw-animation-iteration-count: 1;
			--tw-enter-blur: 0;
			--tw-enter-opacity: 1;
			--tw-enter-rotate: 0;
			--tw-enter-scale: 1;
			--tw-enter-translate-x: 0;
			--tw-enter-translate-y: 0;
			--tw-exit-blur: 0;
			--tw-exit-opacity: 1;
			--tw-exit-rotate: 0;
			--tw-exit-scale: 1;
			--tw-exit-translate-x: 0;
			--tw-exit-translate-y: 0;
		}
	}
}
@layer theme {
	:root,
	:host {
		--font-sans: 'DM Sans', sans-serif;
		--font-serif: 'Cormorant Garamond', serif;
		--font-mono:
			ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
			'Courier New', monospace;
		--color-black: #000;
		--spacing: 0.25rem;
		--container-sm: 24rem;
		--container-md: 28rem;
		--container-lg: 32rem;
		--text-xs: 0.75rem;
		--text-xs--line-height: calc(1 / 0.75);
		--text-sm: 0.875rem;
		--text-sm--line-height: calc(1.25 / 0.875);
		--text-base: 1rem;
		--text-base--line-height: calc(1.5 / 1);
		--text-lg: 1.125rem;
		--text-lg--line-height: calc(1.75 / 1.125);
		--text-xl: 1.25rem;
		--text-xl--line-height: calc(1.75 / 1.25);
		--text-7xl: 4.5rem;
		--text-7xl--line-height: 1;
		--font-weight-normal: 400;
		--font-weight-medium: 500;
		--font-weight-semibold: 600;
		--font-weight-bold: 700;
		--tracking-tight: -0.025em;
		--tracking-widest: 0.1em;
		--leading-relaxed: 1.625;
		--radius-sm: 0.25rem;
		--radius-md: 0.375rem;
		--radius-lg: 0.5rem;
		--radius-xl: 0.75rem;
		--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
		--animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
		--blur-sm: 8px;
		--aspect-video: 16 / 9;
		--default-transition-duration: 0.15s;
		--default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
		--default-font-family: 'DM Sans', sans-serif;
		--default-mono-font-family: var(--font-mono);
		--font-script: 'Parisienne', cursive;
		--color-border: var(--border);
		--shadow-bloom: var(--shadow-bloom);
	}
}
@layer base {
	*,
	::after,
	::before,
	::backdrop {
		box-sizing: border-box;
		border: 0px solid;
		margin: 0px;
		padding: 0px;
	}
	::file-selector-button {
		box-sizing: border-box;
		border: 0px solid;
		margin: 0px;
		padding: 0px;
	}
	html,
	:host {
		text-size-adjust: 100%;
		tab-size: 4;
		line-height: 1.5;
		font-family: var(
			--default-font-family,
			-apple-system,
			BlinkMacSystemFont,
			'Segoe UI',
			Roboto,
			'Helvetica Neue',
			'Noto Sans',
			Arial,
			sans-serif,
			'Apple Color Emoji',
			'Segoe UI Emoji',
			'Segoe UI Symbol',
			'Noto Color Emoji'
		);
		font-feature-settings: var(--default-font-feature-settings, normal);
		font-variation-settings: var(--default-font-variation-settings, normal);
		-webkit-tap-highlight-color: transparent;
	}
	hr {
		height: 0px;
		color: inherit;
		border-top-width: 1px;
	}
	abbr:where([title]) {
		text-decoration: underline dotted;
	}
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-size: inherit;
		font-weight: inherit;
	}
	a {
		color: inherit;
		text-decoration: inherit;
	}
	b,
	strong {
		font-weight: bolder;
	}
	code,
	kbd,
	samp,
	pre {
		font-family: var(
			--default-mono-font-family,
			ui-monospace,
			SFMono-Regular,
			Menlo,
			Monaco,
			Consolas,
			'Liberation Mono',
			'Courier New',
			monospace
		);
		font-feature-settings: var(--default-mono-font-feature-settings, normal);
		font-variation-settings: var(
			--default-mono-font-variation-settings,
			normal
		);
		font-size: 1em;
	}
	small {
		font-size: 80%;
	}
	sub,
	sup {
		vertical-align: baseline;
		font-size: 75%;
		line-height: 0;
		position: relative;
	}
	sub {
		bottom: -0.25em;
	}
	sup {
		top: -0.5em;
	}
	table {
		text-indent: 0px;
		border-color: inherit;
		border-collapse: collapse;
	}
	progress {
		vertical-align: baseline;
	}
	summary {
		display: list-item;
	}
	ol,
	ul,
	menu {
		list-style: none;
	}
	img,
	svg,
	video,
	canvas,
	audio,
	iframe,
	embed,
	object {
		vertical-align: middle;
		display: block;
	}
	img,
	video {
		max-width: 100%;
		height: auto;
	}
	button,
	input,
	select,
	optgroup,
	textarea {
		font: inherit;
		letter-spacing: inherit;
		color: inherit;
		opacity: 1;
		background-color: rgba(0, 0, 0, 0);
		border-radius: 0px;
	}
	::file-selector-button {
		font: inherit;
		letter-spacing: inherit;
		color: inherit;
		opacity: 1;
		background-color: rgba(0, 0, 0, 0);
		border-radius: 0px;
	}
	:where(select:is([multiple], [size])) optgroup {
		font-weight: bolder;
	}
	:where(select:is([multiple], [size])) optgroup option {
		padding-inline-start: 20px;
	}
	::file-selector-button {
		margin-inline-end: 4px;
	}
	::placeholder {
		opacity: 1;
	}
	@supports (not ((-webkit-appearance: -apple-pay-button))) or
		(contain-intrinsic-size: 1px) {
		::placeholder {
			color: currentcolor;
		}
		@supports (color: color-mix(in lab, red, red)) {
			::placeholder {
				color: color-mix(in oklab, currentcolor, transparent);
			}
		}
	}
	textarea {
		resize: vertical;
	}
	::-webkit-search-decoration {
		appearance: none;
	}
	::-webkit-date-and-time-value {
		min-height: 1lh;
		text-align: inherit;
	}
	::-webkit-datetime-edit {
		display: inline-flex;
	}
	::-webkit-datetime-edit-fields-wrapper {
		padding: 0px;
	}
	::-webkit-datetime-edit {
		padding-block: 0px;
	}
	::-webkit-datetime-edit-year-field {
		padding-block: 0px;
	}
	::-webkit-datetime-edit-month-field {
		padding-block: 0px;
	}
	::-webkit-datetime-edit-day-field {
		padding-block: 0px;
	}
	::-webkit-datetime-edit-hour-field {
		padding-block: 0px;
	}
	::-webkit-datetime-edit-minute-field {
		padding-block: 0px;
	}
	::-webkit-datetime-edit-second-field {
		padding-block: 0px;
	}
	::-webkit-datetime-edit-millisecond-field {
		padding-block: 0px;
	}
	::-webkit-datetime-edit-meridiem-field {
		padding-block: 0px;
	}
	::-webkit-calendar-picker-indicator {
		line-height: 1;
	}
	button,
	input:where([type='button'], [type='reset'], [type='submit']) {
		appearance: button;
	}
	::file-selector-button {
		appearance: button;
	}
	::-webkit-inner-spin-button {
		height: auto;
	}
	::-webkit-outer-spin-button {
		height: auto;
	}
	[hidden]:where(:not([hidden='until-found'])) {
		display: none !important;
	}
}
@layer components;
@layer utilities {
	.pointer-events-none {
		pointer-events: none;
	}
	.invisible {
		visibility: hidden;
	}
	.visible {
		visibility: visible;
	}
	.sr-only {
		clip-path: inset(50%);
		white-space: nowrap;
		border-width: 0px;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0px;
		position: absolute;
		overflow: hidden;
	}
	.absolute {
		position: absolute;
	}
	.fixed {
		position: fixed;
	}
	.relative {
		position: relative;
	}
	.inset-0 {
		inset: 0px;
	}
	.inset-x-0 {
		inset-inline: 0px;
	}
	.inset-y-0 {
		inset-block: 0px;
	}
	.-top-12 {
		top: calc(var(--spacing) * -12);
	}
	.top-0 {
		top: 0px;
	}
	.top-1\.5 {
		top: calc(var(--spacing) * 1.5);
	}
	.top-1\/2 {
		top: 50%;
	}
	.top-3\.5 {
		top: calc(var(--spacing) * 3.5);
	}
	.top-4 {
		top: calc(var(--spacing) * 4);
	}
	.top-\[1px\] {
		top: 1px;
	}
	.top-\[50\%\] {
		top: 50%;
	}
	.top-\[60\%\] {
		top: 60%;
	}
	.top-full {
		top: 100%;
	}
	.-right-12 {
		right: calc(var(--spacing) * -12);
	}
	.right-0 {
		right: 0px;
	}
	.right-1 {
		right: var(--spacing);
	}
	.right-2 {
		right: calc(var(--spacing) * 2);
	}
	.right-3 {
		right: calc(var(--spacing) * 3);
	}
	.right-4 {
		right: calc(var(--spacing) * 4);
	}
	.-bottom-12 {
		bottom: calc(var(--spacing) * -12);
	}
	.bottom-0 {
		bottom: 0px;
	}
	.-left-12 {
		left: calc(var(--spacing) * -12);
	}
	.left-0 {
		left: 0px;
	}
	.left-1\/2 {
		left: 50%;
	}
	.left-2 {
		left: calc(var(--spacing) * 2);
	}
	.left-\[50\%\] {
		left: 50%;
	}
	.z-10 {
		z-index: 10;
	}
	.z-20 {
		z-index: 20;
	}
	.z-50 {
		z-index: 50;
	}
	.z-\[1\] {
		z-index: 1;
	}
	.-mx-1 {
		margin-inline: calc(var(--spacing) * -1);
	}
	.mx-2 {
		margin-inline: calc(var(--spacing) * 2);
	}
	.mx-3\.5 {
		margin-inline: calc(var(--spacing) * 3.5);
	}
	.mx-auto {
		margin-inline: auto;
	}
	.my-0\.5 {
		margin-block: calc(var(--spacing) * 0.5);
	}
	.my-1 {
		margin-block: var(--spacing);
	}
	.-mt-4 {
		margin-top: calc(var(--spacing) * -4);
	}
	.mt-1\.5 {
		margin-top: calc(var(--spacing) * 1.5);
	}
	.mt-2 {
		margin-top: calc(var(--spacing) * 2);
	}
	.mt-4 {
		margin-top: calc(var(--spacing) * 4);
	}
	.mt-6 {
		margin-top: calc(var(--spacing) * 6);
	}
	.mt-24 {
		margin-top: calc(var(--spacing) * 24);
	}
	.mt-auto {
		margin-top: auto;
	}
	.mr-2 {
		margin-right: calc(var(--spacing) * 2);
	}
	.mb-1 {
		margin-bottom: var(--spacing);
	}
	.-ml-4 {
		margin-left: calc(var(--spacing) * -4);
	}
	.ml-1 {
		margin-left: var(--spacing);
	}
	.ml-auto {
		margin-left: auto;
	}
	.block {
		display: block;
	}
	.flex {
		display: flex;
	}
	.grid {
		display: grid;
	}
	.hidden {
		display: none;
	}
	.inline-flex {
		display: inline-flex;
	}
	.table {
		display: table;
	}
	.aspect-square {
		aspect-ratio: 1 / 1;
	}
	.aspect-video {
		aspect-ratio: var(--aspect-video);
	}
	.size-\(--cell-size\) {
		width: var(--cell-size);
		height: var(--cell-size);
	}
	.size-4 {
		width: calc(var(--spacing) * 4);
		height: calc(var(--spacing) * 4);
	}
	.size-11 {
		width: calc(var(--spacing) * 11);
		height: calc(var(--spacing) * 11);
	}
	.h-\(--cell-size\) {
		height: var(--cell-size);
	}
	.h-1\.5 {
		height: calc(var(--spacing) * 1.5);
	}
	.h-2 {
		height: calc(var(--spacing) * 2);
	}
	.h-2\.5 {
		height: calc(var(--spacing) * 2.5);
	}
	.h-3 {
		height: calc(var(--spacing) * 3);
	}
	.h-3\.5 {
		height: calc(var(--spacing) * 3.5);
	}
	.h-4 {
		height: calc(var(--spacing) * 4);
	}
	.h-5 {
		height: calc(var(--spacing) * 5);
	}
	.h-7 {
		height: calc(var(--spacing) * 7);
	}
	.h-8 {
		height: calc(var(--spacing) * 8);
	}
	.h-9 {
		height: calc(var(--spacing) * 9);
	}
	.h-10 {
		height: calc(var(--spacing) * 10);
	}
	.h-11 {
		height: calc(var(--spacing) * 11);
	}
	.h-12 {
		height: calc(var(--spacing) * 12);
	}
	.h-\[1px\] {
		height: 1px;
	}
	.h-\[var\(--radix-navigation-menu-viewport-height\)\] {
		height: var(--radix-navigation-menu-viewport-height);
	}
	.h-\[var\(--radix-select-trigger-height\)\] {
		height: var(--radix-select-trigger-height);
	}
	.h-auto {
		height: auto;
	}
	.h-full {
		height: 100%;
	}
	.h-px {
		height: 1px;
	}
	.h-svh {
		height: 100svh;
	}
	.max-h-\(--radix-context-menu-content-available-height\) {
		max-height: var(--radix-context-menu-content-available-height);
	}
	.max-h-\(--radix-select-content-available-height\) {
		max-height: var(--radix-select-content-available-height);
	}
	.max-h-\[300px\] {
		max-height: 300px;
	}
	.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] {
		max-height: var(--radix-dropdown-menu-content-available-height);
	}
	.min-h-0 {
		min-height: 0px;
	}
	.min-h-9 {
		min-height: calc(var(--spacing) * 9);
	}
	.min-h-11 {
		min-height: calc(var(--spacing) * 11);
	}
	.min-h-\[60px\] {
		min-height: 60px;
	}
	.min-h-screen {
		min-height: 100vh;
	}
	.min-h-svh {
		min-height: 100svh;
	}
	.w-\(--cell-size\) {
		width: var(--cell-size);
	}
	.w-\(--sidebar-width\) {
		width: var(--sidebar-width);
	}
	.w-0 {
		width: 0px;
	}
	.w-1 {
		width: var(--spacing);
	}
	.w-2 {
		width: calc(var(--spacing) * 2);
	}
	.w-2\.5 {
		width: calc(var(--spacing) * 2.5);
	}
	.w-3 {
		width: calc(var(--spacing) * 3);
	}
	.w-3\.5 {
		width: calc(var(--spacing) * 3.5);
	}
	.w-3\/4 {
		width: 75%;
	}
	.w-4 {
		width: calc(var(--spacing) * 4);
	}
	.w-5 {
		width: calc(var(--spacing) * 5);
	}
	.w-7 {
		width: calc(var(--spacing) * 7);
	}
	.w-8 {
		width: calc(var(--spacing) * 8);
	}
	.w-9 {
		width: calc(var(--spacing) * 9);
	}
	.w-10 {
		width: calc(var(--spacing) * 10);
	}
	.w-64 {
		width: calc(var(--spacing) * 64);
	}
	.w-72 {
		width: calc(var(--spacing) * 72);
	}
	.w-\[1px\] {
		width: 1px;
	}
	.w-\[100px\] {
		width: 100px;
	}
	.w-auto {
		width: auto;
	}
	.w-fit {
		width: fit-content;
	}
	.w-full {
		width: 100%;
	}
	.w-max {
		width: max-content;
	}
	.w-px {
		width: 1px;
	}
	.max-w-\(--skeleton-width\) {
		max-width: var(--skeleton-width);
	}
	.max-w-lg {
		max-width: var(--container-lg);
	}
	.max-w-max {
		max-width: max-content;
	}
	.max-w-md {
		max-width: var(--container-md);
	}
	.min-w-\(--cell-size\) {
		min-width: var(--cell-size);
	}
	.min-w-0 {
		min-width: 0px;
	}
	.min-w-5 {
		min-width: calc(var(--spacing) * 5);
	}
	.min-w-8 {
		min-width: calc(var(--spacing) * 8);
	}
	.min-w-9 {
		min-width: calc(var(--spacing) * 9);
	}
	.min-w-10 {
		min-width: calc(var(--spacing) * 10);
	}
	.min-w-\[8rem\] {
		min-width: 8rem;
	}
	.min-w-\[12rem\] {
		min-width: 12rem;
	}
	.min-w-\[var\(--radix-select-trigger-width\)\] {
		min-width: var(--radix-select-trigger-width);
	}
	.flex-1 {
		flex: 1 1 0%;
	}
	.shrink-0 {
		flex-shrink: 0;
	}
	.grow {
		flex-grow: 1;
	}
	.grow-0 {
		flex-grow: 0;
	}
	.basis-full {
		flex-basis: 100%;
	}
	.caption-bottom {
		caption-side: bottom;
	}
	.border-collapse {
		border-collapse: collapse;
	}
	.origin-\(--radix-context-menu-content-transform-origin\) {
		transform-origin: var(--radix-context-menu-content-transform-origin);
	}
	.origin-\(--radix-dropdown-menu-content-transform-origin\) {
		transform-origin: var(--radix-dropdown-menu-content-transform-origin);
	}
	.origin-\(--radix-hover-card-content-transform-origin\) {
		transform-origin: var(--radix-hover-card-content-transform-origin);
	}
	.origin-\(--radix-menubar-content-transform-origin\) {
		transform-origin: var(--radix-menubar-content-transform-origin);
	}
	.origin-\(--radix-popover-content-transform-origin\) {
		transform-origin: var(--radix-popover-content-transform-origin);
	}
	.origin-\(--radix-select-content-transform-origin\) {
		transform-origin: var(--radix-select-content-transform-origin);
	}
	.origin-\(--radix-tooltip-content-transform-origin\) {
		transform-origin: var(--radix-tooltip-content-transform-origin);
	}
	.-translate-x-1\/2 {
		--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.-translate-x-px {
		--tw-translate-x: -1px;
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.translate-x-\[-50\%\] {
		--tw-translate-x: -50%;
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.translate-x-px {
		--tw-translate-x: 1px;
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.-translate-y-1\/2 {
		--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.translate-y-\[-50\%\] {
		--tw-translate-y: -50%;
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.rotate-45 {
		rotate: 45deg;
	}
	.rotate-90 {
		rotate: 90deg;
	}
	.transform {
		transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,)
			var(--tw-skew-x,) var(--tw-skew-y,);
	}
	.animate-caret-blink {
		animation: 1.25s ease-out 0s infinite normal none running caret-blink;
	}
	.animate-in {
		animation: enter var(--tw-animation-duration, var(--tw-duration, 0.15s))
			var(--tw-ease, ease) var(--tw-animation-delay, 0s)
			var(--tw-animation-iteration-count, 1)
			var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
	}
	.animate-pulse {
		animation: var(--animate-pulse);
	}
	.cursor-default {
		cursor: default;
	}
	.cursor-pointer {
		cursor: pointer;
	}
	.touch-none {
		touch-action: none;
	}
	.list-none {
		list-style-type: none;
	}
	.flex-col {
		flex-direction: column;
	}
	.flex-col-reverse {
		flex-direction: column-reverse;
	}
	.flex-row {
		flex-direction: row;
	}
	.flex-wrap {
		flex-wrap: wrap;
	}
	.place-content-center {
		place-content: center;
	}
	.items-center {
		align-items: center;
	}
	.items-end {
		align-items: flex-end;
	}
	.items-start {
		align-items: flex-start;
	}
	.items-stretch {
		align-items: stretch;
	}
	.justify-between {
		justify-content: space-between;
	}
	.justify-center {
		justify-content: center;
	}
	.gap-1 {
		gap: var(--spacing);
	}
	.gap-1\.5 {
		gap: calc(var(--spacing) * 1.5);
	}
	.gap-2 {
		gap: calc(var(--spacing) * 2);
	}
	.gap-4 {
		gap: calc(var(--spacing) * 4);
	}
	:where(.space-y-1\.5 > :not(:last-child)) {
		--tw-space-y-reverse: 0;
		margin-block-start: calc(
			calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse)
		);
		margin-block-end: calc(
			calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse))
		);
	}
	:where(.space-y-2 > :not(:last-child)) {
		--tw-space-y-reverse: 0;
		margin-block-start: calc(
			calc(var(--spacing) * 2) * var(--tw-space-y-reverse)
		);
		margin-block-end: calc(
			calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))
		);
	}
	:where(.space-x-1 > :not(:last-child)) {
		--tw-space-x-reverse: 0;
		margin-inline-start: calc(var(--spacing) * var(--tw-space-x-reverse));
		margin-inline-end: calc(
			var(--spacing) * calc(1 - var(--tw-space-x-reverse))
		);
	}
	.overflow-auto {
		overflow: auto;
	}
	.overflow-hidden {
		overflow: hidden;
	}
	.overflow-x-hidden {
		overflow-x: hidden;
	}
	.overflow-y-auto {
		overflow-y: auto;
	}
	.rounded-\[2px\] {
		border-radius: 2px;
	}
	.rounded-\[inherit\] {
		border-radius: inherit;
	}
	.rounded-full {
		border-radius: 3.40282e38px;
	}
	.rounded-lg {
		border-radius: var(--radius-lg);
	}
	.rounded-md {
		border-radius: var(--radius-md);
	}
	.rounded-none {
		border-radius: 0px;
	}
	.rounded-sm {
		border-radius: var(--radius-sm);
	}
	.rounded-xl {
		border-radius: var(--radius-xl);
	}
	.rounded-t-\[10px\] {
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
	}
	.rounded-l-md {
		border-top-left-radius: var(--radius-md);
		border-bottom-left-radius: var(--radius-md);
	}
	.rounded-tl-sm {
		border-top-left-radius: var(--radius-sm);
	}
	.rounded-r-md {
		border-top-right-radius: var(--radius-md);
		border-bottom-right-radius: var(--radius-md);
	}
	.border {
		border-style: var(--tw-border-style);
		border-width: 1px;
	}
	.border-2 {
		border-style: var(--tw-border-style);
		border-width: 2px;
	}
	.border-\[1\.5px\] {
		border-style: var(--tw-border-style);
		border-width: 1.5px;
	}
	.border-y {
		border-block-style: var(--tw-border-style);
		border-block-width: 1px;
	}
	.border-t {
		border-top-style: var(--tw-border-style);
		border-top-width: 1px;
	}
	.border-r {
		border-right-style: var(--tw-border-style);
		border-right-width: 1px;
	}
	.border-b {
		border-bottom-style: var(--tw-border-style);
		border-bottom-width: 1px;
	}
	.border-l {
		border-left-style: var(--tw-border-style);
		border-left-width: 1px;
	}
	.border-dashed {
		--tw-border-style: dashed;
		border-style: dashed;
	}
	.border-\(--color-border\) {
		border-color: var(--color-border);
	}
	.border-border {
		border-color: var(--border);
	}
	.border-border\/50 {
		border-color: var(--border);
	}
	@supports (color: color-mix(in lab, red, red)) {
		.border-border\/50 {
			border-color: color-mix(in oklab, var(--border) 50%, transparent);
		}
	}
	.border-input {
		border-color: var(--input);
	}
	.border-primary {
		border-color: var(--primary);
	}
	.border-primary\/30 {
		border-color: var(--primary);
	}
	@supports (color: color-mix(in lab, red, red)) {
		.border-primary\/30 {
			border-color: color-mix(in oklab, var(--primary) 30%, transparent);
		}
	}
	.border-primary\/50 {
		border-color: var(--primary);
	}
	@supports (color: color-mix(in lab, red, red)) {
		.border-primary\/50 {
			border-color: color-mix(in oklab, var(--primary) 50%, transparent);
		}
	}
	.border-transparent {
		border-color: rgba(0, 0, 0, 0);
	}
	.border-t-transparent {
		border-top-color: rgba(0, 0, 0, 0);
	}
	.border-l-transparent {
		border-left-color: rgba(0, 0, 0, 0);
	}
	.bg-\(--color-bg\) {
		background-color: var(--color-bg);
	}
	.bg-accent {
		background-color: var(--accent);
	}
	.bg-background {
		background-color: var(--background);
	}
	.bg-black\/80 {
		background-color: rgba(0, 0, 0, 0.8);
	}
	@supports (color: color-mix(in lab, red, red)) {
		.bg-black\/80 {
			background-color: color-mix(
				in oklab,
				var(--color-black) 80%,
				transparent
			);
		}
	}
	.bg-border {
		background-color: var(--border);
	}
	.bg-card {
		background-color: var(--card);
	}
	.bg-card\/70 {
		background-color: var(--card);
	}
	@supports (color: color-mix(in lab, red, red)) {
		.bg-card\/70 {
			background-color: color-mix(in oklab, var(--card) 70%, transparent);
		}
	}
	.bg-foreground {
		background-color: var(--foreground);
	}
	.bg-muted {
		background-color: var(--muted);
	}
	.bg-muted\/50 {
		background-color: var(--muted);
	}
	@supports (color: color-mix(in lab, red, red)) {
		.bg-muted\/50 {
			background-color: color-mix(in oklab, var(--muted) 50%, transparent);
		}
	}
	.bg-primary {
		background-color: var(--primary);
	}
	.bg-primary\/10 {
		background-color: var(--primary);
	}
	@supports (color: color-mix(in lab, red, red)) {
		.bg-primary\/10 {
			background-color: color-mix(in oklab, var(--primary) 10%, transparent);
		}
	}
	.bg-primary\/20 {
		background-color: var(--primary);
	}
	@supports (color: color-mix(in lab, red, red)) {
		.bg-primary\/20 {
			background-color: color-mix(in oklab, var(--primary) 20%, transparent);
		}
	}
	.bg-secondary {
		background-color: var(--secondary);
	}
	.bg-transparent {
		background-color: rgba(0, 0, 0, 0);
	}
	.fill-current {
		fill: currentcolor;
	}
	.fill-primary {
		fill: var(--primary);
	}
	.p-0 {
		padding: 0px;
	}
	.p-1 {
		padding: var(--spacing);
	}
	.p-2 {
		padding: calc(var(--spacing) * 2);
	}
	.p-3 {
		padding: calc(var(--spacing) * 3);
	}
	.p-4 {
		padding: calc(var(--spacing) * 4);
	}
	.p-6 {
		padding: calc(var(--spacing) * 6);
	}
	.p-\[1px\] {
		padding: 1px;
	}
	.px-\(--cell-size\) {
		padding-inline: var(--cell-size);
	}
	.px-0 {
		padding-inline: 0px;
	}
	.px-1 {
		padding-inline: var(--spacing);
	}
	.px-1\.5 {
		padding-inline: calc(var(--spacing) * 1.5);
	}
	.px-2 {
		padding-inline: calc(var(--spacing) * 2);
	}
	.px-2\.5 {
		padding-inline: calc(var(--spacing) * 2.5);
	}
	.px-3 {
		padding-inline: calc(var(--spacing) * 3);
	}
	.px-4 {
		padding-inline: calc(var(--spacing) * 4);
	}
	.px-5 {
		padding-inline: calc(var(--spacing) * 5);
	}
	.px-7 {
		padding-inline: calc(var(--spacing) * 7);
	}
	.py-0\.5 {
		padding-block: calc(var(--spacing) * 0.5);
	}
	.py-1 {
		padding-block: var(--spacing);
	}
	.py-1\.5 {
		padding-block: calc(var(--spacing) * 1.5);
	}
	.py-2 {
		padding-block: calc(var(--spacing) * 2);
	}
	.py-3 {
		padding-block: calc(var(--spacing) * 3);
	}
	.py-4 {
		padding-block: calc(var(--spacing) * 4);
	}
	.py-6 {
		padding-block: calc(var(--spacing) * 6);
	}
	.pt-0 {
		padding-top: 0px;
	}
	.pt-3 {
		padding-top: calc(var(--spacing) * 3);
	}
	.pt-4 {
		padding-top: calc(var(--spacing) * 4);
	}
	.pr-1 {
		padding-right: var(--spacing);
	}
	.pr-2 {
		padding-right: calc(var(--spacing) * 2);
	}
	.pr-2\.5 {
		padding-right: calc(var(--spacing) * 2.5);
	}
	.pr-8 {
		padding-right: calc(var(--spacing) * 8);
	}
	.pb-3 {
		padding-bottom: calc(var(--spacing) * 3);
	}
	.pb-4 {
		padding-bottom: calc(var(--spacing) * 4);
	}
	.pl-2 {
		padding-left: calc(var(--spacing) * 2);
	}
	.pl-2\.5 {
		padding-left: calc(var(--spacing) * 2.5);
	}
	.pl-4 {
		padding-left: calc(var(--spacing) * 4);
	}
	.pl-8 {
		padding-left: calc(var(--spacing) * 8);
	}
	.text-center {
		text-align: center;
	}
	.text-left {
		text-align: left;
	}
	.align-middle {
		vertical-align: middle;
	}
	.font-mono {
		font-family: var(--font-mono);
	}
	.text-7xl {
		font-size: var(--text-7xl);
		line-height: var(--tw-leading, var(--text-7xl--line-height));
	}
	.text-base {
		font-size: var(--text-base);
		line-height: var(--tw-leading, var(--text-base--line-height));
	}
	.text-lg {
		font-size: var(--text-lg);
		line-height: var(--tw-leading, var(--text-lg--line-height));
	}
	.text-sm {
		font-size: var(--text-sm);
		line-height: var(--tw-leading, var(--text-sm--line-height));
	}
	.text-xl {
		font-size: var(--text-xl);
		line-height: var(--tw-leading, var(--text-xl--line-height));
	}
	.text-xs {
		font-size: var(--text-xs);
		line-height: var(--tw-leading, var(--text-xs--line-height));
	}
	.text-\[0\.8rem\] {
		font-size: 0.8rem;
	}
	.leading-none {
		--tw-leading: 1;
		line-height: 1;
	}
	.font-bold {
		--tw-font-weight: var(--font-weight-bold);
		font-weight: var(--font-weight-bold);
	}
	.font-medium {
		--tw-font-weight: var(--font-weight-medium);
		font-weight: var(--font-weight-medium);
	}
	.font-normal {
		--tw-font-weight: var(--font-weight-normal);
		font-weight: var(--font-weight-normal);
	}
	.font-semibold {
		--tw-font-weight: var(--font-weight-semibold);
		font-weight: var(--font-weight-semibold);
	}
	.tracking-tight {
		--tw-tracking: var(--tracking-tight);
		letter-spacing: var(--tracking-tight);
	}
	.tracking-widest {
		--tw-tracking: var(--tracking-widest);
		letter-spacing: var(--tracking-widest);
	}
	.break-words {
		overflow-wrap: break-word;
	}
	.whitespace-nowrap {
		white-space: nowrap;
	}
	.text-accent-foreground {
		color: var(--accent-foreground);
	}
	.text-card-foreground {
		color: var(--card-foreground);
	}
	.text-current {
		color: currentcolor;
	}
	.text-foreground {
		color: var(--foreground);
	}
	.text-muted-foreground {
		color: var(--muted-foreground);
	}
	.text-primary {
		color: var(--primary);
	}
	.text-primary-foreground {
		color: var(--primary-foreground);
	}
	.text-secondary-foreground {
		color: var(--secondary-foreground);
	}
	.tabular-nums {
		--tw-numeric-spacing: tabular-nums;
		font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,)
			var(--tw-numeric-figure,) var(--tw-numeric-spacing,)
			var(--tw-numeric-fraction,);
	}
	.underline-offset-4 {
		text-underline-offset: 4px;
	}
	.opacity-0 {
		opacity: 0;
	}
	.opacity-50 {
		opacity: 0.5;
	}
	.opacity-60 {
		opacity: 0.6;
	}
	.opacity-70 {
		opacity: 0.7;
	}
	.shadow {
		--tw-shadow:
			0 1px 3px 0 var(--tw-shadow-color, #0000001a),
			0 1px 2px -1px var(--tw-shadow-color, #0000001a);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.shadow-\[0_0_0_1px_var\(--sidebar-border\)\] {
		--tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-border));
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.shadow-bloom {
		--tw-shadow: var(--shadow-bloom);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.shadow-lg {
		--tw-shadow:
			0 10px 15px -3px var(--tw-shadow-color, #0000001a),
			0 4px 6px -4px var(--tw-shadow-color, #0000001a);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.shadow-md {
		--tw-shadow:
			0 4px 6px -1px var(--tw-shadow-color, #0000001a),
			0 2px 4px -2px var(--tw-shadow-color, #0000001a);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.shadow-none {
		--tw-shadow: 0 0 #0000;
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.shadow-sm {
		--tw-shadow:
			0 1px 3px 0 var(--tw-shadow-color, #0000001a),
			0 1px 2px -1px var(--tw-shadow-color, #0000001a);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.shadow-xl {
		--tw-shadow:
			0 20px 25px -5px var(--tw-shadow-color, #0000001a),
			0 8px 10px -6px var(--tw-shadow-color, #0000001a);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.shadow-xs {
		--tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.ring-0 {
		--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
			calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.ring-1 {
		--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
			calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.ring-ring {
		--tw-ring-color: var(--ring);
	}
	.ring-offset-background {
		--tw-ring-offset-color: var(--background);
	}
	.outline {
		outline-style: var(--tw-outline-style);
		outline-width: 1px;
	}
	.filter {
		filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
			var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
			var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
	}
	.backdrop-blur-sm {
		--tw-backdrop-blur: blur(var(--blur-sm));
		backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
			var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
			var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
			var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
			var(--tw-backdrop-sepia,);
	}
	.transition {
		transition-property:
			color,
			background-color,
			border-color,
			outline-color,
			text-decoration-color,
			fill,
			stroke,
			--tw-gradient-from,
			--tw-gradient-via,
			--tw-gradient-to,
			opacity,
			box-shadow,
			transform,
			translate,
			scale,
			rotate,
			filter,
			-webkit-backdrop-filter,
			backdrop-filter,
			display,
			content-visibility,
			overlay,
			pointer-events;
		transition-timing-function: var(
			--tw-ease,
			var(--default-transition-timing-function)
		);
		transition-duration: var(--tw-duration, var(--default-transition-duration));
	}
	.transition-\[left\,right\,width\] {
		transition-property: left, right, width;
		transition-timing-function: var(
			--tw-ease,
			var(--default-transition-timing-function)
		);
		transition-duration: var(--tw-duration, var(--default-transition-duration));
	}
	.transition-\[margin\,opacity\] {
		transition-property: margin, opacity;
		transition-timing-function: var(
			--tw-ease,
			var(--default-transition-timing-function)
		);
		transition-duration: var(--tw-duration, var(--default-transition-duration));
	}
	.transition-\[width\,height\,padding\] {
		transition-property: width, height, padding;
		transition-timing-function: var(
			--tw-ease,
			var(--default-transition-timing-function)
		);
		transition-duration: var(--tw-duration, var(--default-transition-duration));
	}
	.transition-\[width\] {
		transition-property: width;
		transition-timing-function: var(
			--tw-ease,
			var(--default-transition-timing-function)
		);
		transition-duration: var(--tw-duration, var(--default-transition-duration));
	}
	.transition-all {
		transition-property: all;
		transition-timing-function: var(
			--tw-ease,
			var(--default-transition-timing-function)
		);
		transition-duration: var(--tw-duration, var(--default-transition-duration));
	}
	.transition-colors {
		transition-property:
			color, background-color, border-color, outline-color,
			text-decoration-color, fill, stroke, --tw-gradient-from,
			--tw-gradient-via, --tw-gradient-to;
		transition-timing-function: var(
			--tw-ease,
			var(--default-transition-timing-function)
		);
		transition-duration: var(--tw-duration, var(--default-transition-duration));
	}
	.transition-opacity {
		transition-property: opacity;
		transition-timing-function: var(
			--tw-ease,
			var(--default-transition-timing-function)
		);
		transition-duration: var(--tw-duration, var(--default-transition-duration));
	}
	.transition-transform {
		transition-property: transform, translate, scale, rotate;
		transition-timing-function: var(
			--tw-ease,
			var(--default-transition-timing-function)
		);
		transition-duration: var(--tw-duration, var(--default-transition-duration));
	}
	.duration-200 {
		--tw-duration: 0.2s;
		transition-duration: 0.2s;
	}
	.duration-300 {
		--tw-duration: 0.3s;
		transition-duration: 0.3s;
	}
	.duration-1000 {
		--tw-duration: 1s;
		transition-duration: 1s;
	}
	.ease-in-out {
		--tw-ease: var(--ease-in-out);
		transition-timing-function: var(--ease-in-out);
	}
	.ease-linear {
		--tw-ease: linear;
		transition-timing-function: linear;
	}
	.fade-in-0 {
		--tw-enter-opacity: 0;
	}
	.outline-none {
		--tw-outline-style: none;
		outline-style: none;
	}
	.select-none {
		user-select: none;
	}
	.zoom-in-95 {
		--tw-enter-scale: 0.95;
	}
	.\[--cell-size\:2rem\] {
		--cell-size: 2rem;
	}
	.running {
		animation-play-state: running;
	}
	.group-focus-within\/menu-item\:opacity-100:is(
		:where(.group\/menu-item):focus-within *
	) {
		opacity: 1;
	}
	@media (hover: hover) {
		.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *) {
			opacity: 1;
		}
	}
	.group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8:is(
		:where(.group\/menu-item):has([data-sidebar='menu-action']) *
	) {
		padding-right: calc(var(--spacing) * 8);
	}
	.group-data-\[collapsible\=icon\]\:-mt-8:is(
		:where(.group)[data-collapsible='icon'] *
	) {
		margin-top: calc(var(--spacing) * -8);
	}
	.group-data-\[collapsible\=icon\]\:hidden:is(
		:where(.group)[data-collapsible='icon'] *
	) {
		display: none;
	}
	.group-data-\[collapsible\=icon\]\:\!size-8:is(
		:where(.group)[data-collapsible='icon'] *
	) {
		width: calc(var(--spacing) * 8) !important;
		height: calc(var(--spacing) * 8) !important;
	}
	.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(
		:where(.group)[data-collapsible='icon'] *
	) {
		width: var(--sidebar-width-icon);
	}
	.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]:is(
			:where(.group)[data-collapsible='icon'] *
		) {
		width: calc(var(--sidebar-width-icon) + 1rem);
	}
	.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]:is(
			:where(.group)[data-collapsible='icon'] *
		) {
		width: calc(var(--sidebar-width-icon) + 1rem + 2px);
	}
	.group-data-\[collapsible\=icon\]\:overflow-hidden:is(
		:where(.group)[data-collapsible='icon'] *
	) {
		overflow: hidden;
	}
	.group-data-\[collapsible\=icon\]\:\!p-0:is(
		:where(.group)[data-collapsible='icon'] *
	) {
		padding: 0px !important;
	}
	.group-data-\[collapsible\=icon\]\:\!p-2:is(
		:where(.group)[data-collapsible='icon'] *
	) {
		padding: calc(var(--spacing) * 2) !important;
	}
	.group-data-\[collapsible\=icon\]\:opacity-0:is(
		:where(.group)[data-collapsible='icon'] *
	) {
		opacity: 0;
	}
	.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(
		:where(.group)[data-collapsible='offcanvas'] *
	) {
		right: calc(var(--sidebar-width) * -1);
	}
	.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(
		:where(.group)[data-collapsible='offcanvas'] *
	) {
		left: calc(var(--sidebar-width) * -1);
	}
	.group-data-\[collapsible\=offcanvas\]\:w-0:is(
		:where(.group)[data-collapsible='offcanvas'] *
	) {
		width: 0px;
	}
	.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(
		:where(.group)[data-collapsible='offcanvas'] *
	) {
		--tw-translate-x: 0px;
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.group-data-\[focused\=true\]\/day\:relative:is(
		:where(.group\/day)[data-focused='true'] *
	) {
		position: relative;
	}
	.group-data-\[focused\=true\]\/day\:z-10:is(
		:where(.group\/day)[data-focused='true'] *
	) {
		z-index: 10;
	}
	.group-data-\[focused\=true\]\/day\:border-ring:is(
		:where(.group\/day)[data-focused='true'] *
	) {
		border-color: var(--ring);
	}
	.group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(
		:where(.group\/day)[data-focused='true'] *
	) {
		--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
			calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(
		:where(.group\/day)[data-focused='true'] *
	) {
		--tw-ring-color: var(--ring);
	}
	@supports (color: color-mix(in lab, red, red)) {
		.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(
			:where(.group\/day)[data-focused='true'] *
		) {
			--tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
		}
	}
	.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side='left'] *) {
		right: calc(var(--spacing) * -4);
	}
	.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side='left'] *) {
		border-right-style: var(--tw-border-style);
		border-right-width: 1px;
	}
	.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side='right'] *) {
		left: 0px;
	}
	.group-data-\[side\=right\]\:rotate-180:is(
		:where(.group)[data-side='right'] *
	) {
		rotate: 180deg;
	}
	.group-data-\[side\=right\]\:border-l:is(
		:where(.group)[data-side='right'] *
	) {
		border-left-style: var(--tw-border-style);
		border-left-width: 1px;
	}
	.group-data-\[state\=open\]\:rotate-180:is(
		:where(.group)[data-state='open'] *
	) {
		rotate: 180deg;
	}
	.group-data-\[variant\=floating\]\:rounded-lg:is(
		:where(.group)[data-variant='floating'] *
	) {
		border-radius: var(--radius-lg);
	}
	.group-data-\[variant\=floating\]\:border:is(
		:where(.group)[data-variant='floating'] *
	) {
		border-style: var(--tw-border-style);
		border-width: 1px;
	}
	.group-data-\[variant\=floating\]\:shadow:is(
		:where(.group)[data-variant='floating'] *
	) {
		--tw-shadow:
			0 1px 3px 0 var(--tw-shadow-color, #0000001a),
			0 1px 2px -1px var(--tw-shadow-color, #0000001a);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *) {
		background-color: var(--muted);
	}
	.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *) {
		background-color: var(--primary);
	}
	.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *) {
		color: var(--muted-foreground);
	}
	.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *) {
		color: var(--primary-foreground);
	}
	.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *) {
		border-color: var(--border);
	}
	.group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *) {
		background-color: var(--background);
	}
	.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *) {
		color: var(--foreground);
	}
	.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *) {
		--tw-shadow:
			0 10px 15px -3px var(--tw-shadow-color, #0000001a),
			0 4px 6px -4px var(--tw-shadow-color, #0000001a);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {
		cursor: not-allowed;
	}
	.peer-disabled\:opacity-70:is(:where(.peer):disabled ~ *) {
		opacity: 0.7;
	}
	.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(
			:where(.peer\/menu-button)[data-size='default'] ~ *
		) {
		top: calc(var(--spacing) * 1.5);
	}
	.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(
			:where(.peer\/menu-button)[data-size='lg'] ~ *
		) {
		top: calc(var(--spacing) * 2.5);
	}
	.peer-data-\[size\=sm\]\/menu-button\:top-1:is(
		:where(.peer\/menu-button)[data-size='sm'] ~ *
	) {
		top: var(--spacing);
	}
	.file\:border-0::file-selector-button {
		border-style: var(--tw-border-style);
		border-width: 0px;
	}
	.file\:bg-transparent::file-selector-button {
		background-color: rgba(0, 0, 0, 0);
	}
	.file\:text-sm::file-selector-button {
		font-size: var(--text-sm);
		line-height: var(--tw-leading, var(--text-sm--line-height));
	}
	.file\:font-medium::file-selector-button {
		--tw-font-weight: var(--font-weight-medium);
		font-weight: var(--font-weight-medium);
	}
	.file\:text-foreground::file-selector-button {
		color: var(--foreground);
	}
	.placeholder\:text-muted-foreground::placeholder {
		color: var(--muted-foreground);
	}
	.after\:absolute::after {
		content: var(--tw-content);
		position: absolute;
	}
	.after\:-inset-2::after {
		content: var(--tw-content);
		inset: calc(var(--spacing) * -2);
	}
	.after\:inset-y-0::after {
		content: var(--tw-content);
		inset-block: 0px;
	}
	.after\:left-1\/2::after {
		content: var(--tw-content);
		left: 50%;
	}
	.after\:w-1::after {
		content: var(--tw-content);
		width: var(--spacing);
	}
	.after\:w-\[2px\]::after {
		content: var(--tw-content);
		width: 2px;
	}
	.after\:-translate-x-1\/2::after {
		content: var(--tw-content);
		--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(
			:where(.group)[data-collapsible='offcanvas'] *
		)::after {
		content: var(--tw-content);
		left: 100%;
	}
	.first\:rounded-l-md:first-child {
		border-top-left-radius: var(--radius-md);
		border-bottom-left-radius: var(--radius-md);
	}
	.first\:border-l:first-child {
		border-left-style: var(--tw-border-style);
		border-left-width: 1px;
	}
	.last\:rounded-r-md:last-child {
		border-top-right-radius: var(--radius-md);
		border-bottom-right-radius: var(--radius-md);
	}
	@media (hover: hover) {
		.hover\:-translate-y-0\.5:hover {
			--tw-translate-y: calc(var(--spacing) * -0.5);
			translate: var(--tw-translate-x) var(--tw-translate-y);
		}
		.hover\:bg-accent:hover {
			background-color: var(--accent);
		}
		.hover\:bg-card:hover {
			background-color: var(--card);
		}
		.hover\:bg-muted:hover,
		.hover\:bg-muted\/50:hover {
			background-color: var(--muted);
		}
		@supports (color: color-mix(in lab, red, red)) {
			.hover\:bg-muted\/50:hover {
				background-color: color-mix(in oklab, var(--muted) 50%, transparent);
			}
		}
		.hover\:bg-primary\/80:hover {
			background-color: var(--primary);
		}
		@supports (color: color-mix(in lab, red, red)) {
			.hover\:bg-primary\/80:hover {
				background-color: color-mix(in oklab, var(--primary) 80%, transparent);
			}
		}
		.hover\:bg-primary\/90:hover {
			background-color: var(--primary);
		}
		@supports (color: color-mix(in lab, red, red)) {
			.hover\:bg-primary\/90:hover {
				background-color: color-mix(in oklab, var(--primary) 90%, transparent);
			}
		}
		.hover\:bg-secondary\/80:hover {
			background-color: var(--secondary);
		}
		@supports (color: color-mix(in lab, red, red)) {
			.hover\:bg-secondary\/80:hover {
				background-color: color-mix(
					in oklab,
					var(--secondary) 80%,
					transparent
				);
			}
		}
		.hover\:text-accent-foreground:hover {
			color: var(--accent-foreground);
		}
		.hover\:text-foreground:hover {
			color: var(--foreground);
		}
		.hover\:text-muted-foreground:hover {
			color: var(--muted-foreground);
		}
		.hover\:underline:hover {
			text-decoration-line: underline;
		}
		.hover\:opacity-100:hover {
			opacity: 1;
		}
		.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover {
			--tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-accent));
			box-shadow:
				var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
				var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
		}
	}
	.focus\:bg-accent:focus {
		background-color: var(--accent);
	}
	.focus\:text-accent-foreground:focus {
		color: var(--accent-foreground);
	}
	.focus\:ring-1:focus {
		--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
			calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.focus\:ring-2:focus {
		--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
			calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.focus\:ring-ring:focus {
		--tw-ring-color: var(--ring);
	}
	.focus\:ring-offset-2:focus {
		--tw-ring-offset-width: 2px;
		--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0
			var(--tw-ring-offset-width) var(--tw-ring-offset-color);
	}
	.focus\:outline-none:focus {
		--tw-outline-style: none;
		outline-style: none;
	}
	.focus-visible\:ring-1:focus-visible {
		--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
			calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.focus-visible\:ring-2:focus-visible {
		--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
			calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.focus-visible\:ring-ring:focus-visible {
		--tw-ring-color: var(--ring);
	}
	.focus-visible\:ring-offset-1:focus-visible {
		--tw-ring-offset-width: 1px;
		--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0
			var(--tw-ring-offset-width) var(--tw-ring-offset-color);
	}
	.focus-visible\:ring-offset-2:focus-visible {
		--tw-ring-offset-width: 2px;
		--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0
			var(--tw-ring-offset-width) var(--tw-ring-offset-color);
	}
	.focus-visible\:ring-offset-background:focus-visible {
		--tw-ring-offset-color: var(--background);
	}
	.focus-visible\:outline-none:focus-visible {
		--tw-outline-style: none;
		outline-style: none;
	}
	.disabled\:pointer-events-none:disabled {
		pointer-events: none;
	}
	.disabled\:cursor-not-allowed:disabled {
		cursor: not-allowed;
	}
	.disabled\:opacity-50:disabled {
		opacity: 0.5;
	}
	.has-focus\:border-ring:has(:focus) {
		border-color: var(--ring);
	}
	.has-focus\:ring-\[3px\]:has(:focus) {
		--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
			calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.has-focus\:ring-ring\/50:has(:focus) {
		--tw-ring-color: var(--ring);
	}
	@supports (color: color-mix(in lab, red, red)) {
		.has-focus\:ring-ring\/50:has(:focus) {
			--tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
		}
	}
	.has-\[\:disabled\]\:opacity-50:has(:disabled) {
		opacity: 0.5;
	}
	.aria-disabled\:pointer-events-none[aria-disabled='true'] {
		pointer-events: none;
	}
	.aria-disabled\:opacity-50[aria-disabled='true'] {
		opacity: 0.5;
	}
	.aria-selected\:text-muted-foreground[aria-selected='true'] {
		color: var(--muted-foreground);
	}
	.data-\[active\=true\]\:font-medium[data-active='true'] {
		--tw-font-weight: var(--font-weight-medium);
		font-weight: var(--font-weight-medium);
	}
	.data-\[disabled\]\:pointer-events-none[data-disabled] {
		pointer-events: none;
	}
	.data-\[disabled\]\:opacity-50[data-disabled] {
		opacity: 0.5;
	}
	.data-\[disabled\=true\]\:pointer-events-none[data-disabled='true'] {
		pointer-events: none;
	}
	.data-\[disabled\=true\]\:opacity-50[data-disabled='true'] {
		opacity: 0.5;
	}
	.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion='from-end'] {
		--tw-enter-translate-x: calc(52 * var(--spacing));
	}
	.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion='from-start'] {
		--tw-enter-translate-x: calc(52 * var(--spacing) * -1);
	}
	.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion='to-end'] {
		--tw-exit-translate-x: calc(52 * var(--spacing));
	}
	.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion='to-start'] {
		--tw-exit-translate-x: calc(52 * var(--spacing) * -1);
	}
	.data-\[motion\^\=from-\]\:animate-in[data-motion^='from-'] {
		animation: enter var(--tw-animation-duration, var(--tw-duration, 0.15s))
			var(--tw-ease, ease) var(--tw-animation-delay, 0s)
			var(--tw-animation-iteration-count, 1)
			var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
	}
	.data-\[motion\^\=from-\]\:fade-in[data-motion^='from-'] {
		--tw-enter-opacity: 0;
	}
	.data-\[motion\^\=to-\]\:animate-out[data-motion^='to-'] {
		animation: exit var(--tw-animation-duration, var(--tw-duration, 0.15s))
			var(--tw-ease, ease) var(--tw-animation-delay, 0s)
			var(--tw-animation-iteration-count, 1)
			var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
	}
	.data-\[motion\^\=to-\]\:fade-out[data-motion^='to-'] {
		--tw-exit-opacity: 0;
	}
	.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction='vertical'] {
		height: 1px;
	}
	.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction='vertical'] {
		width: 100%;
	}
	.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction='vertical'] {
		flex-direction: column;
	}
	.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction='vertical']::after {
		content: var(--tw-content);
		left: 0px;
	}
	.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction='vertical']::after {
		content: var(--tw-content);
		height: var(--spacing);
	}
	.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction='vertical']::after {
		content: var(--tw-content);
		width: 100%;
	}
	.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction='vertical']::after {
		content: var(--tw-content);
		--tw-translate-x: 0px;
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction='vertical']::after {
		content: var(--tw-content);
		--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
		color: var(--muted-foreground);
	}
	.data-\[range-end\=true\]\:rounded-md[data-range-end='true'] {
		border-radius: var(--radius-md);
	}
	.data-\[range-end\=true\]\:bg-primary[data-range-end='true'] {
		background-color: var(--primary);
	}
	.data-\[range-end\=true\]\:text-primary-foreground[data-range-end='true'] {
		color: var(--primary-foreground);
	}
	.data-\[range-middle\=true\]\:rounded-none[data-range-middle='true'] {
		border-radius: 0px;
	}
	.data-\[range-middle\=true\]\:bg-accent[data-range-middle='true'] {
		background-color: var(--accent);
	}
	.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle='true'] {
		color: var(--accent-foreground);
	}
	.data-\[range-start\=true\]\:rounded-md[data-range-start='true'] {
		border-radius: var(--radius-md);
	}
	.data-\[range-start\=true\]\:bg-primary[data-range-start='true'] {
		background-color: var(--primary);
	}
	.data-\[range-start\=true\]\:text-primary-foreground[data-range-start='true'] {
		color: var(--primary-foreground);
	}
	.data-\[selected-single\=true\]\:bg-primary[data-selected-single='true'] {
		background-color: var(--primary);
	}
	.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single='true'] {
		color: var(--primary-foreground);
	}
	.data-\[selected\=true\]\:rounded-none[data-selected='true'] {
		border-radius: 0px;
	}
	.data-\[selected\=true\]\:bg-accent[data-selected='true'] {
		background-color: var(--accent);
	}
	.data-\[selected\=true\]\:text-accent-foreground[data-selected='true'] {
		color: var(--accent-foreground);
	}
	.data-\[side\=bottom\]\:translate-y-1[data-side='bottom'] {
		--tw-translate-y: var(--spacing);
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.data-\[side\=bottom\]\:slide-in-from-top-2[data-side='bottom'] {
		--tw-enter-translate-y: calc(2 * var(--spacing) * -1);
	}
	.data-\[side\=left\]\:-translate-x-1[data-side='left'] {
		--tw-translate-x: calc(var(--spacing) * -1);
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.data-\[side\=left\]\:slide-in-from-right-2[data-side='left'] {
		--tw-enter-translate-x: calc(2 * var(--spacing));
	}
	.data-\[side\=right\]\:translate-x-1[data-side='right'] {
		--tw-translate-x: var(--spacing);
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.data-\[side\=right\]\:slide-in-from-left-2[data-side='right'] {
		--tw-enter-translate-x: calc(2 * var(--spacing) * -1);
	}
	.data-\[side\=top\]\:-translate-y-1[data-side='top'] {
		--tw-translate-y: calc(var(--spacing) * -1);
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.data-\[side\=top\]\:slide-in-from-bottom-2[data-side='top'] {
		--tw-enter-translate-y: calc(2 * var(--spacing));
	}
	.data-\[state\=active\]\:bg-background[data-state='active'] {
		background-color: var(--background);
	}
	.data-\[state\=active\]\:text-foreground[data-state='active'] {
		color: var(--foreground);
	}
	.data-\[state\=active\]\:shadow[data-state='active'] {
		--tw-shadow:
			0 1px 3px 0 var(--tw-shadow-color, #0000001a),
			0 1px 2px -1px var(--tw-shadow-color, #0000001a);
		box-shadow:
			var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
			var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	}
	.data-\[state\=checked\]\:translate-x-4[data-state='checked'] {
		--tw-translate-x: calc(var(--spacing) * 4);
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.data-\[state\=checked\]\:bg-primary[data-state='checked'] {
		background-color: var(--primary);
	}
	.data-\[state\=checked\]\:text-primary-foreground[data-state='checked'] {
		color: var(--primary-foreground);
	}
	.data-\[state\=closed\]\:animate-accordion-up[data-state='closed'] {
		animation: accordion-up
			var(--tw-animation-duration, var(--tw-duration, 0.2s))
			var(--tw-ease, ease-out) var(--tw-animation-delay, 0s)
			var(--tw-animation-iteration-count, 1)
			var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
	}
	.data-\[state\=closed\]\:animate-out[data-state='closed'] {
		animation: exit var(--tw-animation-duration, var(--tw-duration, 0.15s))
			var(--tw-ease, ease) var(--tw-animation-delay, 0s)
			var(--tw-animation-iteration-count, 1)
			var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
	}
	.data-\[state\=closed\]\:duration-300[data-state='closed'] {
		--tw-duration: 0.3s;
		transition-duration: 0.3s;
	}
	.data-\[state\=closed\]\:fade-out-0[data-state='closed'] {
		--tw-exit-opacity: 0;
	}
	.data-\[state\=closed\]\:zoom-out-95[data-state='closed'] {
		--tw-exit-scale: 0.95;
	}
	.data-\[state\=closed\]\:slide-out-to-bottom[data-state='closed'] {
		--tw-exit-translate-y: 100%;
	}
	.data-\[state\=closed\]\:slide-out-to-left[data-state='closed'] {
		--tw-exit-translate-x: -100%;
	}
	.data-\[state\=closed\]\:slide-out-to-right[data-state='closed'] {
		--tw-exit-translate-x: 100%;
	}
	.data-\[state\=closed\]\:slide-out-to-top[data-state='closed'] {
		--tw-exit-translate-y: -100%;
	}
	.data-\[state\=hidden\]\:animate-out[data-state='hidden'] {
		animation: exit var(--tw-animation-duration, var(--tw-duration, 0.15s))
			var(--tw-ease, ease) var(--tw-animation-delay, 0s)
			var(--tw-animation-iteration-count, 1)
			var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
	}
	.data-\[state\=hidden\]\:fade-out[data-state='hidden'] {
		--tw-exit-opacity: 0;
	}
	.data-\[state\=on\]\:bg-accent[data-state='on'] {
		background-color: var(--accent);
	}
	.data-\[state\=on\]\:text-accent-foreground[data-state='on'] {
		color: var(--accent-foreground);
	}
	.data-\[state\=open\]\:animate-accordion-down[data-state='open'] {
		animation: accordion-down
			var(--tw-animation-duration, var(--tw-duration, 0.2s))
			var(--tw-ease, ease-out) var(--tw-animation-delay, 0s)
			var(--tw-animation-iteration-count, 1)
			var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
	}
	.data-\[state\=open\]\:animate-in[data-state='open'] {
		animation: enter var(--tw-animation-duration, var(--tw-duration, 0.15s))
			var(--tw-ease, ease) var(--tw-animation-delay, 0s)
			var(--tw-animation-iteration-count, 1)
			var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
	}
	.data-\[state\=open\]\:bg-accent[data-state='open'] {
		background-color: var(--accent);
	}
	.data-\[state\=open\]\:bg-accent\/50[data-state='open'] {
		background-color: var(--accent);
	}
	@supports (color: color-mix(in lab, red, red)) {
		.data-\[state\=open\]\:bg-accent\/50[data-state='open'] {
			background-color: color-mix(in oklab, var(--accent) 50%, transparent);
		}
	}
	.data-\[state\=open\]\:bg-secondary[data-state='open'] {
		background-color: var(--secondary);
	}
	.data-\[state\=open\]\:text-accent-foreground[data-state='open'] {
		color: var(--accent-foreground);
	}
	.data-\[state\=open\]\:text-muted-foreground[data-state='open'] {
		color: var(--muted-foreground);
	}
	.data-\[state\=open\]\:opacity-100[data-state='open'] {
		opacity: 1;
	}
	.data-\[state\=open\]\:duration-500[data-state='open'] {
		--tw-duration: 0.5s;
		transition-duration: 0.5s;
	}
	.data-\[state\=open\]\:fade-in-0[data-state='open'] {
		--tw-enter-opacity: 0;
	}
	.data-\[state\=open\]\:zoom-in-90[data-state='open'] {
		--tw-enter-scale: 0.9;
	}
	.data-\[state\=open\]\:zoom-in-95[data-state='open'] {
		--tw-enter-scale: 0.95;
	}
	.data-\[state\=open\]\:slide-in-from-bottom[data-state='open'] {
		--tw-enter-translate-y: 100%;
	}
	.data-\[state\=open\]\:slide-in-from-left[data-state='open'] {
		--tw-enter-translate-x: -100%;
	}
	.data-\[state\=open\]\:slide-in-from-right[data-state='open'] {
		--tw-enter-translate-x: 100%;
	}
	.data-\[state\=open\]\:slide-in-from-top[data-state='open'] {
		--tw-enter-translate-y: -100%;
	}
	@media (hover: hover) {
		.data-\[state\=open\]\:hover\:bg-accent[data-state='open']:hover {
			background-color: var(--accent);
		}
	}
	.data-\[state\=open\]\:focus\:bg-accent[data-state='open']:focus {
		background-color: var(--accent);
	}
	.data-\[state\=selected\]\:bg-muted[data-state='selected'] {
		background-color: var(--muted);
	}
	.data-\[state\=unchecked\]\:translate-x-0[data-state='unchecked'] {
		--tw-translate-x: 0px;
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.data-\[state\=unchecked\]\:bg-input[data-state='unchecked'] {
		background-color: var(--input);
	}
	.data-\[state\=visible\]\:animate-in[data-state='visible'] {
		animation: enter var(--tw-animation-duration, var(--tw-duration, 0.15s))
			var(--tw-ease, ease) var(--tw-animation-delay, 0s)
			var(--tw-animation-iteration-count, 1)
			var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
	}
	.data-\[state\=visible\]\:fade-in[data-state='visible'] {
		--tw-enter-opacity: 0;
	}
	@media (width >= 40rem) {
		.sm\:mt-0 {
			margin-top: 0px;
		}
		.sm\:flex {
			display: flex;
		}
		.sm\:max-w-sm {
			max-width: var(--container-sm);
		}
		.sm\:flex-row {
			flex-direction: row;
		}
		.sm\:justify-end {
			justify-content: flex-end;
		}
		.sm\:gap-2\.5 {
			gap: calc(var(--spacing) * 2.5);
		}
		:where(.sm\:space-x-2 > :not(:last-child)) {
			--tw-space-x-reverse: 0;
			margin-inline-start: calc(
				calc(var(--spacing) * 2) * var(--tw-space-x-reverse)
			);
			margin-inline-end: calc(
				calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse))
			);
		}
		.sm\:rounded-lg {
			border-radius: var(--radius-lg);
		}
		.sm\:text-left {
			text-align: left;
		}
	}
	@media (width >= 48rem) {
		.md\:absolute {
			position: absolute;
		}
		.md\:block {
			display: block;
		}
		.md\:flex {
			display: flex;
		}
		.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
			width: var(--radix-navigation-menu-viewport-width);
		}
		.md\:w-auto {
			width: auto;
		}
		.md\:flex-row {
			flex-direction: row;
		}
		.md\:text-sm {
			font-size: var(--text-sm);
			line-height: var(--tw-leading, var(--text-sm--line-height));
		}
		.md\:opacity-0 {
			opacity: 0;
		}
		.md\:peer-data-\[variant\=inset\]\:m-2:is(
			:where(.peer)[data-variant='inset'] ~ *
		) {
			margin: calc(var(--spacing) * 2);
		}
		.md\:peer-data-\[variant\=inset\]\:ml-0:is(
			:where(.peer)[data-variant='inset'] ~ *
		) {
			margin-left: 0px;
		}
		.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(
			:where(.peer)[data-variant='inset'] ~ *
		) {
			border-radius: var(--radius-xl);
		}
		.md\:peer-data-\[variant\=inset\]\:shadow:is(
			:where(.peer)[data-variant='inset'] ~ *
		) {
			--tw-shadow:
				0 1px 3px 0 var(--tw-shadow-color, #0000001a),
				0 1px 2px -1px var(--tw-shadow-color, #0000001a);
			box-shadow:
				var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
				var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
		}
		.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2:is(
				:where(.peer)[data-state='collapsed'] ~ *
			):is(:where(.peer)[data-variant='inset'] ~ *) {
			margin-left: calc(var(--spacing) * 2);
		}
	}
	.after\:md\:hidden::after {
		content: var(--tw-content);
	}
	@media (width >= 48rem) {
		.after\:md\:hidden::after {
			display: none;
		}
	}
	.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground
		.recharts-cartesian-axis-tick
		text {
		fill: var(--muted-foreground);
	}
	.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50
		.recharts-cartesian-grid
		line[stroke='#ccc'] {
		stroke: var(--border);
	}
	@supports (color: color-mix(in lab, red, red)) {
		.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50
			.recharts-cartesian-grid
			line[stroke='#ccc'] {
			stroke: color-mix(in oklab, var(--border) 50%, transparent);
		}
	}
	.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border
		.recharts-curve.recharts-tooltip-cursor {
		stroke: var(--border);
	}
	.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent
		.recharts-dot[stroke='#fff'] {
		stroke: rgba(0, 0, 0, 0);
	}
	.\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
		--tw-outline-style: none;
		outline-style: none;
	}
	.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border
		.recharts-polar-grid
		[stroke='#ccc'] {
		stroke: var(--border);
	}
	.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted
		.recharts-radial-bar-background-sector,
	.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted
		.recharts-rectangle.recharts-tooltip-cursor {
		fill: var(--muted);
	}
	.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border
		.recharts-reference-line
		[stroke='#ccc'] {
		stroke: var(--border);
	}
	.\[\&_\.recharts-sector\]\:outline-none .recharts-sector {
		--tw-outline-style: none;
		outline-style: none;
	}
	.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent
		.recharts-sector[stroke='#fff'] {
		stroke: rgba(0, 0, 0, 0);
	}
	.\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
		--tw-outline-style: none;
		outline-style: none;
	}
	.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
		padding-inline: calc(var(--spacing) * 2);
	}
	.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
		padding-block: calc(var(--spacing) * 1.5);
	}
	.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
		font-size: var(--text-xs);
		line-height: var(--tw-leading, var(--text-xs--line-height));
	}
	.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
		--tw-font-weight: var(--font-weight-medium);
		font-weight: var(--font-weight-medium);
	}
	.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
		color: var(--muted-foreground);
	}
	.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
		padding-inline: calc(var(--spacing) * 2);
	}
	.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0
		[cmdk-group]:not([hidden])
		~ [cmdk-group] {
		padding-top: 0px;
	}
	.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
		height: calc(var(--spacing) * 5);
	}
	.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
		width: calc(var(--spacing) * 5);
	}
	.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
		height: calc(var(--spacing) * 12);
	}
	.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
		padding-inline: calc(var(--spacing) * 2);
	}
	.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
		padding-block: calc(var(--spacing) * 3);
	}
	.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
		height: calc(var(--spacing) * 5);
	}
	.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
		width: calc(var(--spacing) * 5);
	}
	.\[\&_p\]\:leading-relaxed p {
		--tw-leading: var(--leading-relaxed);
		line-height: var(--leading-relaxed);
	}
	.\[\&_svg\]\:pointer-events-none svg {
		pointer-events: none;
	}
	.\[\&_svg\]\:size-4 svg {
		width: calc(var(--spacing) * 4);
		height: calc(var(--spacing) * 4);
	}
	.\[\&_svg\]\:shrink-0 svg {
		flex-shrink: 0;
	}
	.\[\&_tr\]\:border-b tr {
		border-bottom-style: var(--tw-border-style);
		border-bottom-width: 1px;
	}
	.\[\&_tr\:last-child\]\:border-0 tr:last-child {
		border-style: var(--tw-border-style);
		border-width: 0px;
	}
	.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected='true']
		button {
		border-top-left-radius: var(--radius-md);
		border-bottom-left-radius: var(--radius-md);
	}
	.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role='checkbox']) {
		padding-right: 0px;
	}
	:is(
		.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(
				:is(
					:lang(ae),
					:lang(ar),
					:lang(arc),
					:lang(bcc),
					:lang(bqi),
					:lang(ckb),
					:lang(dv),
					:lang(fa),
					:lang(glk),
					:lang(he),
					:lang(ku),
					:lang(mzn),
					:lang(nqo),
					:lang(pnb),
					:lang(ps),
					:lang(sd),
					:lang(ug),
					:lang(ur),
					:lang(yi)
				),
				[dir='rtl'],
				[dir='rtl'] *
			)
			*
	):is(.rdp-button_next > svg),
	:is(
		.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(
				:is(
					:lang(ae),
					:lang(ar),
					:lang(arc),
					:lang(bcc),
					:lang(bqi),
					:lang(ckb),
					:lang(dv),
					:lang(fa),
					:lang(glk),
					:lang(he),
					:lang(ku),
					:lang(mzn),
					:lang(nqo),
					:lang(pnb),
					:lang(ps),
					:lang(sd),
					:lang(ug),
					:lang(ur),
					:lang(yi)
				),
				[dir='rtl'],
				[dir='rtl'] *
			)
			*
	):is(.rdp-button_previous > svg) {
		rotate: 180deg;
	}
	.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected='true']
		button {
		border-top-right-radius: var(--radius-md);
		border-bottom-right-radius: var(--radius-md);
	}
	.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\] > [role='checkbox'] {
		--tw-translate-y: 2px;
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.\[\&\>button\]\:hidden > button {
		display: none;
	}
	.\[\&\>span\]\:line-clamp-1 > span {
		-webkit-line-clamp: 1;
		-webkit-box-orient: vertical;
		display: -webkit-box;
		overflow: hidden;
	}
	.\[\&\>span\]\:text-xs > span {
		font-size: var(--text-xs);
		line-height: var(--tw-leading, var(--text-xs--line-height));
	}
	.\[\&\>span\]\:opacity-70 > span {
		opacity: 0.7;
	}
	.\[\&\>span\:last-child\]\:truncate > span:last-child {
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
	}
	.\[\&\>svg\]\:absolute > svg {
		position: absolute;
	}
	.\[\&\>svg\]\:top-4 > svg {
		top: calc(var(--spacing) * 4);
	}
	.\[\&\>svg\]\:left-4 > svg {
		left: calc(var(--spacing) * 4);
	}
	.\[\&\>svg\]\:size-3\.5 > svg {
		width: calc(var(--spacing) * 3.5);
		height: calc(var(--spacing) * 3.5);
	}
	.\[\&\>svg\]\:size-4 > svg {
		width: calc(var(--spacing) * 4);
		height: calc(var(--spacing) * 4);
	}
	.\[\&\>svg\]\:h-2\.5 > svg {
		height: calc(var(--spacing) * 2.5);
	}
	.\[\&\>svg\]\:h-3 > svg {
		height: calc(var(--spacing) * 3);
	}
	.\[\&\>svg\]\:h-3\.5 > svg {
		height: calc(var(--spacing) * 3.5);
	}
	.\[\&\>svg\]\:w-2\.5 > svg {
		width: calc(var(--spacing) * 2.5);
	}
	.\[\&\>svg\]\:w-3 > svg {
		width: calc(var(--spacing) * 3);
	}
	.\[\&\>svg\]\:w-3\.5 > svg {
		width: calc(var(--spacing) * 3.5);
	}
	.\[\&\>svg\]\:shrink-0 > svg {
		flex-shrink: 0;
	}
	.\[\&\>svg\]\:text-foreground > svg {
		color: var(--foreground);
	}
	.\[\&\>svg\]\:text-muted-foreground > svg {
		color: var(--muted-foreground);
	}
	.\[\&\>svg\+div\]\:translate-y-\[-3px\] > svg + div {
		--tw-translate-y: -3px;
		translate: var(--tw-translate-x) var(--tw-translate-y);
	}
	.\[\&\>svg\~\*\]\:pl-7 > svg ~ * {
		padding-left: calc(var(--spacing) * 7);
	}
	.\[\&\>tr\]\:last\:border-b-0 > tr:last-child {
		border-bottom-style: var(--tw-border-style);
		border-bottom-width: 0px;
	}
	.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction='vertical']
		> div {
		rotate: 90deg;
	}
	.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state='open'] > svg {
		rotate: 180deg;
	}
	[data-side='left'] .\[\[data-side\=left\]_\&\]\:cursor-w-resize {
		cursor: w-resize;
	}
	[data-side='left'][data-collapsible='offcanvas']
		.\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
		right: calc(var(--spacing) * -2);
	}
	[data-side='left'][data-state='collapsed']
		.\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize,
	[data-side='right'] .\[\[data-side\=right\]_\&\]\:cursor-e-resize {
		cursor: e-resize;
	}
	[data-side='right'][data-collapsible='offcanvas']
		.\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
		left: calc(var(--spacing) * -2);
	}
	[data-side='right'][data-state='collapsed']
		.\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
		cursor: w-resize;
	}
	[data-slot='card-content']
		.\[\[data-slot\=card-content\]_\&\]\:bg-transparent,
	[data-slot='popover-content']
		.\[\[data-slot\=popover-content\]_\&\]\:bg-transparent {
		background-color: rgba(0, 0, 0, 0);
	}
}
@property --tw-animation-delay {
	syntax: '*';
	inherits: false;
	initial-value: 0s;
}
@property --tw-animation-direction {
	syntax: '*';
	inherits: false;
	initial-value: normal;
}
@property --tw-animation-duration {
	syntax: '*';
	inherits: false;
}
@property --tw-animation-fill-mode {
	syntax: '*';
	inherits: false;
	initial-value: none;
}
@property --tw-animation-iteration-count {
	syntax: '*';
	inherits: false;
	initial-value: 1;
}
@property --tw-enter-blur {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
@property --tw-enter-opacity {
	syntax: '*';
	inherits: false;
	initial-value: 1;
}
@property --tw-enter-rotate {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
@property --tw-enter-scale {
	syntax: '*';
	inherits: false;
	initial-value: 1;
}
@property --tw-enter-translate-x {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
@property --tw-enter-translate-y {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
@property --tw-exit-blur {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
@property --tw-exit-opacity {
	syntax: '*';
	inherits: false;
	initial-value: 1;
}
@property --tw-exit-rotate {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
@property --tw-exit-scale {
	syntax: '*';
	inherits: false;
	initial-value: 1;
}
@property --tw-exit-translate-x {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
@property --tw-exit-translate-y {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
:root {
	--radius: 0.5rem;
	--background: oklch(97% 0.025 8);
	--foreground: oklch(29% 0.06 7);
	--card: oklch(98.5% 0.016 52);
	--card-foreground: oklch(29% 0.06 7);
	--primary: oklch(55% 0.16 8);
	--primary-foreground: oklch(98.5% 0.01 40);
	--secondary: oklch(90% 0.06 10);
	--secondary-foreground: oklch(38% 0.09 8);
	--muted: oklch(94% 0.025 15);
	--muted-foreground: oklch(48% 0.055 10);
	--accent: oklch(91% 0.07 350);
	--accent-foreground: oklch(35% 0.1 5);
	--border: oklch(82% 0.07 5);
	--input: oklch(86% 0.05 10);
	--ring: oklch(62% 0.15 7);
	--rose-deep: oklch(38% 0.105 5);
	--rose-soft: oklch(77% 0.115 4);
	--rose-pale: oklch(94% 0.035 10);
	--cream: oklch(98% 0.02 73);
	--green: oklch(45% 0.07 145);
	--green-soft: oklch(66% 0.08 135);
	--coral: oklch(68% 0.15 24);
	--gold: oklch(72% 0.09 75);
	--shadow-bloom: 0 18px 50px var(--primary);
}
@supports (color: color-mix(in lab, red, red)) {
	:root {
		--shadow-bloom: 0 18px 50px
			color-mix(in oklab, var(--primary) 22%, transparent);
	}
}
* {
	box-sizing: border-box;
	border-color: var(--border);
}
html,
body,
#root {
	height: 100%;
	margin: 0px;
}
body {
	background: var(--background);
	color: var(--foreground);
	font-family: var(--font-sans);
	overflow: hidden;
}
button {
	font: inherit;
}
.blush-bloom {
	background: var(--background);
	height: 100svh;
	position: relative;
	overflow: hidden;
}
.story {
	scroll-snap-type: y mandatory;
	scrollbar-width: none;
	overscroll-behavior: none;
	height: 100%;
	overflow-y: auto;
}
.story::-webkit-scrollbar {
	display: none;
}
.story-section {
	isolation: isolate;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	height: 100vh;
	min-height: 100svh;
	display: flex;
	position: relative;
	overflow: hidden;
}
.story-copy {
	z-index: 4;
	text-align: center;
	position: relative;
}
.eyebrow {
	color: var(--primary);
	letter-spacing: 0.24em;
	text-transform: uppercase;
	margin: 0px 0px 1rem;
	font-size: 0.68rem;
	font-weight: 600;
}
h1,
h2,
h3,
p {
	letter-spacing: 0px;
}
h1,
h2,
h3 {
	font-family: var(--font-serif);
	font-weight: 500;
}
h1 {
	max-width: 900px;
	margin: 0px;
	font-size: clamp(4rem, 8vw, 8.25rem);
	line-height: 0.84;
}
h2 {
	margin: 0px;
	font-size: clamp(3rem, 6vw, 6rem);
	line-height: 0.9;
}
h2 em {
	color: var(--primary);
	font-family: var(--font-script);
	font-weight: 400;
}
.lead {
	font-family: var(--font-script);
	color: var(--primary);
	margin: 1.6rem 0px 0.75rem;
	font-size: clamp(1.9rem, 3vw, 3rem);
}
.body-copy {
	max-width: 580px;
	color: var(--muted-foreground);
	font-family: var(--font-serif);
	margin: 1rem auto 0px;
	font-size: clamp(1.1rem, 1.7vw, 1.4rem);
	line-height: 1.55;
}
.flourish {
	background: var(--primary);
	width: 5rem;
	height: 1px;
	margin: 1.2rem auto;
	display: block;
	position: relative;
}
.flourish::after {
	content: '✦';
	background: inherit;
	color: var(--primary);
	padding: 0.35rem;
	font-size: 0.65rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.reflection-heart {
	width: 24px;
	height: 24px;
	color: var(--primary);
	fill: var(--primary);
	margin: 1.2rem auto;
	display: block;
}
.opening {
	background:
		radial-gradient(circle at 50% 30%, var(--cream), transparent 35%),
		linear-gradient(160deg, var(--rose-pale), var(--secondary));
	justify-content: center;
	align-items: center;
	padding: 8vh 1.5rem 25vh;
}
.opening::before {
	content: '';
	opacity: 0.32;
	background-image: radial-gradient(var(--primary) 0.7px, transparent 0.7px);
	background-size: 24px 24px;
	position: absolute;
	inset: 0px;
	mask-image: linear-gradient(rgb(0, 0, 0), rgba(0, 0, 0, 0) 65%);
}
.opening-copy {
	animation: 1.4s ease 0s 1 normal both running appear;
}
.opening h1 span,
.finale-copy h2 span {
	vertical-align: 0.22em;
	font-size: 0.46em;
	display: inline-block;
}
.journey-cue {
	z-index: 8;
	color: var(--rose-deep);
	letter-spacing: 0.13em;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
	background: none;
	border: 0px;
	flex-direction: column;
	align-items: center;
	gap: 0.2rem;
	font-size: 0.67rem;
	display: flex;
	position: absolute;
	bottom: 3.2vh;
	left: 50%;
	transform: translateX(-50%);
}
.journey-cue svg,
.continue-cue svg {
	width: 16px;
	animation: 1.8s ease-in-out 0s infinite normal none running drift-down;
}
.corner-flower {
	z-index: 2;
	transform-origin: center bottom;
	opacity: 0.65;
	align-items: end;
	gap: 0.5rem;
	display: flex;
	position: absolute;
	bottom: 10vh;
	left: 2vw;
	transform: rotate(-8deg) scale(0.8);
}
.tulip {
	--flower: var(--rose-soft);
	transform-origin: 50% 100%;
	width: 55px;
	height: 160px;
	animation: sway 4.8s calc(var(--delay) * -1) ease-in-out infinite alternate;
	flex: 0 0 auto;
	display: inline-block;
	position: relative;
}
.tulip svg {
	width: 100%;
	height: 100%;
	display: block;
	overflow: visible;
}
.tulip-sm {
	width: 39px;
	height: 112px;
}
.tulip-lg {
	width: 72px;
	height: 204px;
}
.tulip-rose {
	--flower: var(--primary);
}
.tulip-blush {
	--flower: var(--rose-soft);
}
.tulip-cream {
	--flower: var(--cream);
}
.tulip-coral {
	--flower: var(--coral);
}
.tulip-stem {
	fill: none;
	stroke: var(--green);
	stroke-width: 3.5px;
	stroke-linecap: round;
}
.tulip-leaf {
	fill: var(--green-soft);
	stroke: var(--green);
}
@supports (color: color-mix(in lab, red, red)) {
	.tulip-leaf {
		stroke: color-mix(in oklab, var(--green) 60%, black);
	}
}
.tulip-leaf {
	stroke-width: 1.3px;
}
.tulip-bloom {
	fill: var(--flower);
	stroke: var(--rose-deep);
}
@supports (color: color-mix(in lab, red, red)) {
	.tulip-bloom {
		stroke: color-mix(in oklab, var(--rose-deep) 70%, black);
	}
}
.tulip-bloom {
	stroke-width: 1.6px;
	stroke-linejoin: round;
}
.tulip-petal {
	fill: var(--flower);
}
@supports (color: color-mix(in lab, red, red)) {
	.tulip-petal {
		fill: color-mix(in oklab, var(--flower) 80%, var(--rose-deep));
	}
}
.tulip-petal {
	stroke: var(--rose-deep);
}
@supports (color: color-mix(in lab, red, red)) {
	.tulip-petal {
		stroke: color-mix(in oklab, var(--rose-deep) 70%, black);
	}
}
.tulip-petal {
	stroke-width: 1.3px;
	stroke-linejoin: round;
	opacity: 0.9;
}
.tulip-petal-left {
	fill: var(--flower);
}
@supports (color: color-mix(in lab, red, red)) {
	.tulip-petal-left {
		fill: color-mix(in oklab, var(--flower) 90%, var(--rose-deep));
	}
}
.tulip-highlight {
	fill: var(--flower);
}
@supports (color: color-mix(in lab, red, red)) {
	.tulip-highlight {
		fill: color-mix(in oklab, var(--flower) 72%, var(--cream));
	}
}
.tulip-highlight {
	opacity: 0.52;
}
.garden {
	z-index: 3;
	pointer-events: none;
	justify-content: space-around;
	align-items: end;
	height: 30vh;
	display: flex;
	position: absolute;
	inset: auto -2vw -3rem;
}
.garden .tulip:nth-child(3n) {
	margin-bottom: -2rem;
}
.garden .tulip:nth-child(4n) {
	margin-bottom: 2rem;
}
.garden-dense {
	height: 34vh;
}
.garden-dense .tulip {
	margin-left: -1.3rem;
}
.petals {
	z-index: 30;
	pointer-events: none;
	position: fixed;
	inset: 0px;
	overflow: hidden;
}
.petals i {
	top: -5%;
	left: var(--x);
	width: var(--s);
	height: calc(var(--s) * 1.55);
	background: var(--rose-soft);
	opacity: 0.45;
	animation: petal 12s var(--d) linear infinite;
	border-radius: 100% 0px;
	position: absolute;
}
.progress-dots {
	z-index: 50;
	flex-direction: column;
	gap: 0.75rem;
	display: flex;
	position: fixed;
	top: 50%;
	right: 1.4rem;
	transform: translateY(-50%);
}
.progress-dots button {
	border: 1px solid var(--primary);
	width: 11px;
	height: 11px;
	padding: 0px;
	position: relative;
}
@supports (color: color-mix(in lab, red, red)) {
	.progress-dots button {
		border: 1px solid color-mix(in oklab, var(--primary) 40%, transparent);
	}
}
.progress-dots button {
	background: var(--cream);
	border-radius: 50%;
}
@supports (color: color-mix(in lab, red, red)) {
	.progress-dots button {
		background: color-mix(in oklab, var(--cream) 65%, transparent);
	}
}
.progress-dots button {
	cursor: pointer;
	transition: 0.4s;
}
.progress-dots button.is-active {
	border-color: var(--primary);
	background: var(--primary);
	box-shadow:
		0 0 0 4px var(--primary),
		0 0 15px var(--rose-soft);
}
@supports (color: color-mix(in lab, red, red)) {
	.progress-dots button.is-active {
		box-shadow:
			0 0 0 4px color-mix(in oklab, var(--primary) 14%, transparent),
			0 0 15px var(--rose-soft);
	}
}
.progress-dots button span {
	opacity: 0;
	color: var(--primary);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	font-size: 0.62rem;
	transition: 0.25s;
	position: absolute;
	top: 50%;
	right: 18px;
	transform: translateY(-50%) translateX(5px);
}
.progress-dots button:hover span,
.progress-dots button:focus-visible span {
	opacity: 1;
	transform: translateY(-50%);
}
.bouquet-section {
	background: linear-gradient(115deg, var(--cream) 0 49%, var(--rose-pale) 49%);
	align-items: center;
	gap: 4vw;
	padding: 6vh 5vw 6vh 5vw;
}
.bouquet {
	width: 50%;
	min-width: 440px;
	height: 78vh;
	filter: drop-shadow(0 25px 25px var(--primary));
	justify-content: center;
	align-items: end;
	display: flex;
	position: relative;
}
@supports (color: color-mix(in lab, red, red)) {
	.bouquet {
		filter: drop-shadow(
			0 25px 25px color-mix(in oklab, var(--primary) 20%, transparent)
		);
	}
}
.bouquet .tulip {
	opacity: 0;
	margin: 0px -15px;
	transform: translateY(40%) scale(0.55);
}
.bouquet .tulip:nth-child(3n) {
	margin-bottom: 5rem;
}
.bouquet .tulip:nth-child(4n) {
	margin-bottom: 2.2rem;
}
.is-active .bouquet .tulip {
	animation:
		bouquet-in 1.2s calc(var(--delay) + 0.15s) cubic-bezier(0.2, 0.8, 0.2, 1)
			forwards,
		sway 4.8s calc(var(--delay) * -1 + 1.4s) ease-in-out infinite alternate;
}
.ribbon {
	z-index: 4;
	background: var(--primary);
	color: var(--primary-foreground);
	font-family: var(--font-script);
	white-space: nowrap;
	box-shadow: var(--shadow-bloom);
	padding: 0.6rem 2.5rem;
	font-size: 1.2rem;
	position: absolute;
	bottom: 13%;
	left: 50%;
	transform: translateX(-50%) rotate(-4deg);
}
.bouquet-copy {
	text-align: left;
	width: 42%;
}
.bouquet-copy .body-copy {
	margin-left: 0px;
}
.thanks-section {
	background: radial-gradient(circle, var(--cream), var(--rose-pale));
	justify-content: center;
	align-items: center;
	gap: clamp(1rem, 5vw, 6rem);
	padding: 7vh 6vw;
}
.thanks-section > .tulip {
	opacity: 0.55;
}
.thanks-section h2 {
	color: var(--primary);
	font-family: var(--font-script);
	font-size: clamp(5rem, 11vw, 10rem);
}
.thank-list {
	margin-top: 2rem;
}
.thank-list p {
	opacity: 0;
	color: var(--muted-foreground);
	font-family: var(--font-serif);
	margin: 0.5rem;
	font-size: clamp(1.05rem, 1.8vw, 1.4rem);
	transform: translateY(12px);
}
.thank-list p span {
	color: var(--foreground);
	font-weight: 600;
}
.is-active .thank-list p {
	animation: appear 0.6s calc(var(--i) * 0.28s + 0.5s) ease forwards;
}
.letter-section {
	background: linear-gradient(145deg, var(--secondary), var(--rose-pale));
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 3vh 1.5rem;
}
.letter-wrap {
	border: 1px solid var(--border);
	background: var(--card);
	width: min(790px, 88vw);
	height: min(79vh, 760px);
	box-shadow: 0 30px 70px var(--rose-deep);
	padding: clamp(1.5rem, 4vw, 3.6rem);
	position: relative;
}
@supports (color: color-mix(in lab, red, red)) {
	.letter-wrap {
		box-shadow: 0 30px 70px
			color-mix(in oklab, var(--rose-deep) 18%, transparent);
	}
}
.letter-wrap {
	transform: rotate(-0.75deg);
}
.letter-wrap::before {
	content: '';
	border: 1px solid var(--primary);
	position: absolute;
	inset: 10px;
}
@supports (color: color-mix(in lab, red, red)) {
	.letter-wrap::before {
		border: 1px solid color-mix(in oklab, var(--primary) 38%, transparent);
	}
}
.letter-wrap::before {
	pointer-events: none;
}
.letter-wrap h2 {
	font-family: var(--font-script);
	text-align: center;
	color: var(--primary);
	font-size: clamp(2.4rem, 5vw, 4.4rem);
}
.letter-text-1,
.letter-text-2 {
	white-space: pre-wrap;
	max-width: 650px;
	color: var(--foreground);
	font-family: var(--font-serif);
	margin: 1.4rem auto 0px;
	font-size: clamp(0.92rem, 1.8vh, 1.22rem);
	line-height: 1.4;
}
.cursor {
	background: var(--primary);
	vertical-align: -0.1em;
	width: 1px;
	height: 1em;
	margin-left: 3px;
	animation: 0.8s step-end 0s infinite normal none running blink;
	display: inline-block;
}
.cursor.done {
	animation-iteration-count: 3;
}
.pressed-flower {
	opacity: 0.62;
	position: absolute;
	top: -3rem;
	right: 2rem;
	transform: rotate(22deg) scale(0.65);
}
.continue-cue-1,
.continue-cue-2 {
	z-index: 5;
	opacity: 0;
	color: var(--primary);
	font-family: var(--font-serif);
	pointer-events: none;
	align-items: center;
	font-size: 0.9rem;
	gap: 0.25rem;
	transition: opacity 0.5s;
	display: flex;
	position: absolute;
	bottom: 1.2rem;
}
.continue-cue-1.visible,
.continue-cue-2.visible {
	opacity: 1;
}
.lessons-section {
	background: linear-gradient(180deg, var(--cream), var(--rose-pale));
	flex-direction: column;
	justify-content: center;
	padding: 6vh 8vw;
}
.section-heading {
	z-index: 3;
	text-align: center;
	position: relative;
}
.lesson-grid {
	z-index: 3;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.1rem;
	max-width: 1200px;
	margin: 3rem auto 0px;
	display: grid;
	position: relative;
}
.lesson-grid article {
	border: 1px solid var(--border);
	min-height: 310px;
	padding: 2rem 1.5rem;
	position: relative;
}
@supports (color: color-mix(in lab, red, red)) {
	.lesson-grid article {
		border: 1px solid color-mix(in oklab, var(--border) 70%, transparent);
	}
}
.lesson-grid article {
	background: var(--card);
}
@supports (color: color-mix(in lab, red, red)) {
	.lesson-grid article {
		background: color-mix(in oklab, var(--card) 74%, transparent);
	}
}
.lesson-grid article {
	box-shadow: 0 18px 50px var(--primary);
}
@supports (color: color-mix(in lab, red, red)) {
	.lesson-grid article {
		box-shadow: 0 18px 50px color-mix(in oklab, var(--primary) 9%, transparent);
	}
}
.lesson-grid article {
	opacity: 0;
	backdrop-filter: blur(8px);
	transform: translateY(30px);
}
.is-active .lesson-grid article {
	animation: appear 0.7s calc(var(--i) * 0.18s + 0.4s) ease forwards;
}
.lesson-grid .tulip {
	opacity: 0.35;
	position: absolute;
	bottom: 0px;
	right: 1rem;
}
.lesson-grid article > p {
	color: var(--primary);
	letter-spacing: 0.2em;
	font-size: 0.65rem;
}
.lesson-grid h3 {
	margin: 4rem 0px 1.2rem;
	font-size: 2.2rem;
}
.lesson-grid blockquote {
	color: var(--muted-foreground);
	font-family: var(--font-serif);
	margin: 0px;
	font-size: 1.2rem;
	line-height: 1.45;
}
.memories-section {
	background: var(--rose-pale);
	align-items: center;
	gap: 4vw;
	padding: 5vh 7vw;
}
.memories-section .section-heading {
	text-align: left;
	width: 33%;
}
.memory-wall {
	width: min(880px, 72vw);
	height: 80vh;
	position: relative;
}
.memory {
	background: var(--card);
	width: clamp(210px, 22vw, 320px);
	box-shadow: 0 16px 32px var(--rose-deep);
	margin: 0px;
	padding: 0.85rem 0.85rem 1.25rem;
	position: absolute;
}
@supports (color: color-mix(in lab, red, red)) {
	.memory {
		box-shadow: 0 16px 32px
			color-mix(in oklab, var(--rose-deep) 15%, transparent);
	}
}
.memory {
	opacity: 0;
}
.memory-0 {
	top: 5%;
	left: 5%;
	transform: rotate(-6deg);
}
.memory-1 {
	top: 2%;
	right: 6%;
	transform: rotate(5deg);
}
.memory-2 {
	bottom: 3%;
	left: 15%;
	transform: rotate(4deg);
}
.memory-3 {
	bottom: 7%;
	right: 0px;
	transform: rotate(-7deg);
}
.is-active .memory {
	animation: photo-in 0.7s calc(var(--i, 0) * 0.15s + 0.3s) ease forwards;
}
.memory-image {
	aspect-ratio: 4 / 3;
	background: linear-gradient(145deg, var(--secondary), var(--accent));
	justify-content: center;
	align-items: center;
	display: flex;
	overflow: hidden;
}
.memory-image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	display: block;
}

.memory-image span {
	z-index: 2;
	max-width: 80%;
	color: var(--rose-pale);
	font-family: var(--font-serif);
	text-align: center;
	font-size: 1rem;
	position: absolute;
}
.memory-image .tulip {
	opacity: 0.22;
	transform: scale(1.3);
}
.memory figcaption {
	color: var(--foreground);
	font-family: var(--font-script);
	text-align: center;
	padding-top: 0.9rem;
	font-size: clamp(1.15rem, 1.8vw, 1.5rem);
}
.photos-section {
	background: var(--secondary);
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 2vh;
	padding: 4vh 3rem 13vh;
}
.photos-section h2 {
	font-size: 3.6rem;
}
.photos-section .eyebrow {
	letter-spacing: 0px;
	margin-bottom: 0.7rem;
}
.photo-gallery {
	z-index: 5;
	width: min(560px, 68vw);
	position: relative;
}
.gallery-stage {
	position: relative;
}
.gallery-frame {
	border: 1px solid var(--border);
	background: var(--card);
	width: 100%;
	box-shadow: var(--shadow-bloom);
	margin: 0px;
	padding: 0.8rem 0.8rem 0px;
}
.gallery-image {
	background: var(--rose-pale);
	height: min(48vh, 540px);
	overflow: hidden;
}
.gallery-image img {
	object-fit: contain;
	width: 100%;
	height: 100%;
	animation: 0.7s ease 0s 1 normal both running photo-in;
	display: block;
}
.gallery-frame figcaption {
	text-align: center;
	min-height: 3.25rem;
	font-family: var(--font-script);
	color: var(--primary);
	justify-content: center;
	align-items: center;
	gap: 0.65rem;
	font-size: 1.6rem;
	display: flex;
}
.gallery-frame figcaption svg {
	flex-shrink: 0;
	width: 15px;
	height: 15px;
}
.gallery-arrow {
	z-index: 6;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.gallery-prev {
	left: -3.6rem;
}
.gallery-next {
	right: -3.6rem;
}
.gallery-controls {
	height: 3rem;
	color: var(--primary);
	justify-content: center;
	align-items: center;
	gap: 0.6rem;
	display: flex;
}
.gallery-controls svg {
	width: 16px;
	height: 16px;
}
.gallery-counter {
	font-variant-numeric: tabular-nums;
	min-width: 4rem;
	font-size: 0.85rem;
}
.gallery-counter span {
	color: var(--muted-foreground);
}
.gallery-thumbnails {
	grid-template-columns: repeat(10, minmax(0px, 1fr));
	gap: 0.4rem;
	display: grid;
}
.gallery-thumbnail {
	aspect-ratio: 3 / 4;
	opacity: 0.6;
	border: 1px solid rgba(0, 0, 0, 0);
	border-radius: 3px;
	width: 100%;
	height: auto;
	min-height: 0px;
	padding: 3px;
}
.gallery-thumbnail img {
	object-fit: cover;
	border-radius: 1px;
	width: 100%;
	height: 100%;
	display: block;
}
.gallery-thumbnail[aria-pressed='true'] {
	border-color: var(--primary);
	opacity: 1;
	background: var(--card);
}
.gallery-thumbnail:hover,
.gallery-thumbnail:focus-visible {
	opacity: 1;
}
.gallery-florals {
	z-index: 2;
	pointer-events: none;
	flex-wrap: wrap;
	justify-content: center;
	align-items: end;
	gap: 0px;
	width: 19%;
	display: flex;
	position: absolute;
	bottom: 17%;
}
.gallery-florals .tulip {
	margin: -1rem -0.4rem;
}
.gallery-florals .tulip:nth-child(3n) {
	transform: rotate(12deg);
}
.gallery-florals-left {
	left: 2%;
	transform: rotate(-14deg);
}
.gallery-florals-right {
	right: 2%;
	transform: rotate(14deg);
}
.photos-section .garden {
	z-index: 1;
	opacity: 0.8;
}
@media (width <= 800px) {
	.photos-section {
		gap: 2vh;
		padding: 3vh 2rem 14vh;
	}
	.photos-section h2 {
		font-size: 2.8rem;
	}
	.photo-gallery {
		width: min(440px, 82vw);
	}
	.gallery-image {
		height: 43vh;
	}
	.gallery-frame {
		padding: 0.5rem 0.5rem 0px;
	}
	.gallery-frame figcaption {
		min-height: 2.8rem;
		font-size: 1.2rem;
	}
	.gallery-prev {
		left: -0.9rem;
	}
	.gallery-next {
		right: -0.9rem;
	}
	.gallery-arrow {
		width: 36px;
		height: 36px;
		min-height: 36px;
	}
	.gallery-thumbnails {
		gap: 0.15rem;
	}
	.gallery-thumbnail {
		padding: 1px;
	}
	.gallery-florals {
		opacity: 0.65;
		width: 30%;
		bottom: 7%;
	}
}
@media (height <= 700px) {
	.photos-section {
		gap: 1vh;
		padding-top: 2vh;
		padding-bottom: 9vh;
	}
	.photos-section h2 {
		font-size: 2.5rem;
	}
	.gallery-image {
		height: 38vh;
	}
	.gallery-thumbnails {
		max-width: 360px;
		margin: 0px auto;
	}
}
.reflection-section {
	background: linear-gradient(180deg, var(--cream) 0 62%, var(--rose-pale));
	justify-content: center;
	align-items: center;
	padding: 7vh 2rem 25vh;
}
.reflection-copy {
	z-index: 4;
	text-align: center;
	max-width: 900px;
}
.quote-mark {
	height: 4rem;
	color: var(--rose-soft);
	font-family: var(--font-serif);
	margin: 0px;
	font-size: 7rem;
	line-height: 0.8;
}
.reflection-copy h2 {
	font-size: clamp(2.6rem, 5vw, 5.2rem);
}
.reflection-answer {
	opacity: 0;
	color: var(--primary);
	font-family: var(--font-script);
	margin: 1.2rem 0px;
	font-size: clamp(1.8rem, 3.2vw, 3rem);
}
.reflection-final {
	opacity: 0;
	color: var(--muted-foreground);
	letter-spacing: 0.13em;
	text-transform: uppercase;
	font-size: 0.75rem;
	font-weight: 600;
}
.is-active .reflection-answer {
	animation: 1s ease 0.8s 1 normal forwards running appear;
}
.is-active .reflection-final {
	animation: 1s ease 1.8s 1 normal forwards running appear;
}
.reflection-section .garden {
	opacity: 0;
	transition: 1.8s 1.6s;
	transform: translateY(70%);
}
.reflection-section.is-active .garden {
	opacity: 1;
	transform: translateY(0px);
}
.impact-section {
	background: linear-gradient(180deg, var(--rose-pale), var(--cream));
	flex-direction: column;
	align-items: center;
	padding: 3vh 4vw;
}
.impact-section h2 {
	font-size: clamp(2.5rem, 4.5vw, 4.4rem);
}
.impact-stage {
	flex: 1 1 0%;
	width: min(940px, 96vw);
	min-height: 0px;
	position: relative;
}
.tree {
	justify-content: center;
	align-items: end;
	width: min(54vw, 530px);
	height: 88%;
	display: flex;
	position: absolute;
	bottom: 7%;
	left: 50%;
	transform: translateX(-50%);
}
.tree-illustration {
	width: 100%;
	height: 100%;
	display: block;
	overflow: visible;
}
.tree-wood {
	transform-box: fill-box;
	transform-origin: center bottom;
	transform: scaleY(0);
}
.tree-trunk {
	fill: var(--rose-deep);
}
.tree-branch,
.tree-twig {
	fill: none;
	stroke: var(--rose-deep);
	stroke-linecap: round;
	stroke-linejoin: round;
}
.tree-branch {
	stroke-width: 9px;
}
.tree-twig {
	stroke-width: 4px;
}
.tree-ground {
	fill: none;
	stroke: var(--green-soft);
	stroke-width: 2px;
	stroke-linecap: round;
	opacity: 0.55;
}
.tree-foliage {
	opacity: 0;
	transform-box: fill-box;
	transform-origin: center bottom;
	transform: scale(0.85);
}
.tree-canopy {
	fill: var(--green-soft);
}
@supports (color: color-mix(in lab, red, red)) {
	.tree-canopy {
		fill: color-mix(in oklab, var(--green-soft) 19%, transparent);
	}
}
.tree-leaf {
	fill: var(--green-soft);
}
.tree-leaf-1 {
	fill: var(--green);
	opacity: 0.8;
}
.tree-leaf-2 {
	fill: var(--green-soft);
}
@supports (color: color-mix(in lab, red, red)) {
	.tree-leaf-2 {
		fill: color-mix(in oklab, var(--green-soft) 72%, var(--cream));
	}
}
.tree-blossom {
	fill: var(--primary);
	stroke: var(--rose-pale);
	stroke-width: 1.5px;
}
.is-active .tree-wood {
	animation: 1.1s ease 0.3s 1 normal forwards running grow;
}
.is-active .tree-foliage {
	animation: 1.2s ease 1s 1 normal forwards running bloom;
}
.impact-word {
	z-index: 3;
	opacity: 0;
	color: var(--primary);
	font-family: var(--font-script);
	font-size: clamp(1rem, 1.8vw, 1.5rem);
	position: absolute;
}
.word-1 {
	top: 16%;
	left: 4%;
}
.word-2 {
	top: 12%;
	right: 6%;
}
.word-3 {
	top: 48%;
	left: 8%;
}
.word-4 {
	top: 44%;
	right: 1%;
}
.word-5 {
	bottom: 10%;
	left: 16%;
}
.word-6 {
	bottom: 12%;
	right: 15%;
}
.is-active .impact-word {
	animation: 0.8s ease 2.2s 1 normal forwards running appear;
}
.impact-message {
	z-index: 4;
	text-align: center;
	width: 100%;
	position: absolute;
	bottom: 1.2rem;
	left: 50%;
	transform: translateX(-50%);
}
.impact-message p {
	font-family: var(--font-serif);
	margin: 0px;
	font-size: clamp(1rem, 1.6vw, 1.3rem);
}
.impact-message span {
	color: var(--muted-foreground);
	font-size: 0.72rem;
}
.finale-section {
	background: linear-gradient(
		180deg,
		var(--rose-pale),
		var(--secondary) 58%,
		var(--rose-soft)
	);
	justify-content: center;
	align-items: center;
	padding: 4vh 1.5rem 27vh;
}
.sun {
	aspect-ratio: 1 / 1;
	background: var(--cream);
	border-radius: 50%;
	width: min(42vw, 480px);
	position: absolute;
	top: 14%;
	left: 50%;
}
@supports (color: color-mix(in lab, red, red)) {
	.sun {
		background: color-mix(in oklab, var(--cream) 75%, transparent);
	}
}
.sun {
	filter: blur(2px);
	box-shadow: 0 0 80px 40px var(--cream);
	transform: translateX(-50%);
}
@supports (color: color-mix(in lab, red, red)) {
	.sun {
		box-shadow: 0 0 80px 40px color-mix(in oklab, var(--cream) 48%, transparent);
	}
}
.finale-copy {
	flex-direction: column;
	align-items: center;
	display: flex;
}
.finale-copy h2 {
	font-size: clamp(3.5rem, 7vw, 7rem);
}
.finale-copy strong {
	color: var(--rose-deep);
	font-family: var(--font-serif);
	margin: 0.8rem 0px;
	font-size: clamp(1.2rem, 2vw, 1.7rem);
	font-weight: 600;
}
.final-heart {
	width: 20px;
	color: var(--primary);
	fill: var(--primary);
	margin: 0.2rem 0px 1rem;
}
@keyframes appear {
	100% {
		opacity: 1;
		transform: translateY(0px);
	}
}
@keyframes bouquet-in {
	100% {
		opacity: 1;
		transform: translateY(0px) scale(1);
	}
}
@keyframes photo-in {
	0% {
		opacity: 0;
		translate: 0px 30px;
	}
	100% {
		opacity: 1;
		translate: 0px;
	}
}
@keyframes sway {
	0% {
		rotate: -2deg;
	}
	100% {
		rotate: 2deg;
	}
}
@keyframes petal {
	100% {
		transform: translate(80px, 110vh) rotate(260deg);
	}
}
@keyframes blink {
	50% {
		opacity: 0;
	}
}
@keyframes grow {
	100% {
		transform: scaleY(1);
	}
}
@keyframes bloom {
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
@keyframes drift-down {
	50% {
		transform: translateY(5px);
	}
}
@media (width <= 800px) {
	.progress-dots {
		gap: 0.55rem;
		right: 0.55rem;
	}
	.progress-dots button {
		width: 8px;
		height: 8px;
	}
	.progress-dots span {
		display: none;
	}
	.bouquet-section {
		background: linear-gradient(
			180deg,
			var(--cream) 0 53%,
			var(--rose-pale) 53%
		);
		flex-direction: column;
		justify-content: center;
		gap: 0px;
		padding: 4vh 1.5rem;
	}
	.bouquet {
		width: 100%;
		min-width: 0px;
		height: 45vh;
		margin: -3rem 0px -1rem;
		transform: scale(0.78);
	}
	.bouquet-copy {
		text-align: center;
		width: 100%;
	}
	.bouquet-copy .body-copy {
		margin-left: auto;
	}
	.thanks-section > .tulip {
		display: none;
	}
	.letter-wrap {
		width: 90vw;
		height: 86vh;
		padding: 1.6rem 1.35rem;
	}
	.letter-wrap h2 {
		font-size: 2.45rem;
	}
	.letter-wrap .eyebrow {
		margin-bottom: 0.35rem;
	}
	.letter-text {
		margin-top: 0.7rem;
		font-size: clamp(0.72rem, 1.65vh, 0.98rem);
		line-height: 1.28;
	}
	.continue-cue {
		bottom: 0.35rem;
	}
	.lessons-section {
		padding: 4vh 1.4rem;
	}
	.lessons-section h2 {
		font-size: 2.7rem;
	}
	.lesson-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.65rem;
		margin-top: 1.4rem;
	}
	.lesson-grid article {
		min-height: 29vh;
		padding: 1rem;
	}
	.lesson-grid h3 {
		margin: 2.3rem 0px 0.5rem;
		font-size: 1.65rem;
	}
	.lesson-grid blockquote {
		font-size: 0.98rem;
	}
	.memories-section {
		flex-direction: column;
		align-items: stretch;
		padding: 4vh 1.5rem;
	}
	.memories-section .section-heading {
		text-align: center;
		width: 100%;
	}
	.memories-section h2 {
		font-size: 2.8rem;
	}
	.memory-wall {
		width: 100%;
		height: 67vh;
	}
	.memory {
		width: min(48vw, 230px);
		padding: 0.5rem 0.5rem 0.85rem;
	}
	.memory figcaption {
		font-size: 1rem;
	}
	.memory-image span {
		font-size: 0.84rem;
	}
	.impact-stage {
		width: 100%;
	}
	.tree {
		width: 75vw;
	}
	.impact-message {
		bottom: 0.3rem;
	}
	.impact-word {
		font-size: 0.95rem;
	}
	.opening,
	.finale-section {
		padding-bottom: 30vh;
	}
	.garden {
		height: 27vh;
	}
	.garden .tulip:nth-child(2n) {
		display: none;
	}
}
@media (height <= 700px) {
	.letter-text {
		font-size: 0.76rem;
		line-height: 1.2;
	}
	.lesson-grid article {
		min-height: 250px;
	}
	.lesson-grid h3 {
		margin-top: 2rem;
	}
	.body-copy {
		font-size: 3rem;
	}
	.bouquet {
		transform: scale(0.75);
	}
	.memory-wall {
		height: 72vh;
	}
}
@media (prefers-reduced-motion: reduce) {
	*,
	::before,
	::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-delay: 0s !important;
	}
}
@property --tw-translate-x {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
@property --tw-translate-y {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
@property --tw-translate-z {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
@property --tw-rotate-x {
	syntax: '*';
	inherits: false;
}
@property --tw-rotate-y {
	syntax: '*';
	inherits: false;
}
@property --tw-rotate-z {
	syntax: '*';
	inherits: false;
}
@property --tw-skew-x {
	syntax: '*';
	inherits: false;
}
@property --tw-skew-y {
	syntax: '*';
	inherits: false;
}
@property --tw-space-y-reverse {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
@property --tw-space-x-reverse {
	syntax: '*';
	inherits: false;
	initial-value: 0;
}
@property --tw-border-style {
	syntax: '*';
	inherits: false;
	initial-value: solid;
}
@property --tw-leading {
	syntax: '*';
	inherits: false;
}
@property --tw-font-weight {
	syntax: '*';
	inherits: false;
}
@property --tw-tracking {
	syntax: '*';
	inherits: false;
}
@property --tw-ordinal {
	syntax: '*';
	inherits: false;
}
@property --tw-slashed-zero {
	syntax: '*';
	inherits: false;
}
@property --tw-numeric-figure {
	syntax: '*';
	inherits: false;
}
@property --tw-numeric-spacing {
	syntax: '*';
	inherits: false;
}
@property --tw-numeric-fraction {
	syntax: '*';
	inherits: false;
}
@property --tw-shadow {
	syntax: '*';
	inherits: false;
	initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
	syntax: '*';
	inherits: false;
}
@property --tw-shadow-alpha {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 100%;
}
@property --tw-inset-shadow {
	syntax: '*';
	inherits: false;
	initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
	syntax: '*';
	inherits: false;
}
@property --tw-inset-shadow-alpha {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 100%;
}
@property --tw-ring-color {
	syntax: '*';
	inherits: false;
}
@property --tw-ring-shadow {
	syntax: '*';
	inherits: false;
	initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
	syntax: '*';
	inherits: false;
}
@property --tw-inset-ring-shadow {
	syntax: '*';
	inherits: false;
	initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
	syntax: '*';
	inherits: false;
}
@property --tw-ring-offset-width {
	syntax: '<length>';
	inherits: false;
	initial-value: 0;
}
@property --tw-ring-offset-color {
	syntax: '*';
	inherits: false;
	initial-value: #fff;
}
@property --tw-ring-offset-shadow {
	syntax: '*';
	inherits: false;
	initial-value: 0 0 #0000;
}
@property --tw-outline-style {
	syntax: '*';
	inherits: false;
	initial-value: solid;
}
@property --tw-blur {
	syntax: '*';
	inherits: false;
}
@property --tw-brightness {
	syntax: '*';
	inherits: false;
}
@property --tw-contrast {
	syntax: '*';
	inherits: false;
}
@property --tw-grayscale {
	syntax: '*';
	inherits: false;
}
@property --tw-hue-rotate {
	syntax: '*';
	inherits: false;
}
@property --tw-invert {
	syntax: '*';
	inherits: false;
}
@property --tw-opacity {
	syntax: '*';
	inherits: false;
}
@property --tw-saturate {
	syntax: '*';
	inherits: false;
}
@property --tw-sepia {
	syntax: '*';
	inherits: false;
}
@property --tw-drop-shadow {
	syntax: '*';
	inherits: false;
}
@property --tw-drop-shadow-color {
	syntax: '*';
	inherits: false;
}
@property --tw-drop-shadow-alpha {
	syntax: '<percentage>';
	inherits: false;
	initial-value: 100%;
}
@property --tw-drop-shadow-size {
	syntax: '*';
	inherits: false;
}
@property --tw-backdrop-blur {
	syntax: '*';
	inherits: false;
}
@property --tw-backdrop-brightness {
	syntax: '*';
	inherits: false;
}
@property --tw-backdrop-contrast {
	syntax: '*';
	inherits: false;
}
@property --tw-backdrop-grayscale {
	syntax: '*';
	inherits: false;
}
@property --tw-backdrop-hue-rotate {
	syntax: '*';
	inherits: false;
}
@property --tw-backdrop-invert {
	syntax: '*';
	inherits: false;
}
@property --tw-backdrop-opacity {
	syntax: '*';
	inherits: false;
}
@property --tw-backdrop-saturate {
	syntax: '*';
	inherits: false;
}
@property --tw-backdrop-sepia {
	syntax: '*';
	inherits: false;
}
@property --tw-duration {
	syntax: '*';
	inherits: false;
}
@property --tw-ease {
	syntax: '*';
	inherits: false;
}
@property --tw-content {
	syntax: '*';
	inherits: false;
	initial-value: '';
}
@keyframes pulse {
	50% {
		opacity: 0.5;
	}
}
@keyframes enter {
	0% {
		opacity: var(--tw-enter-opacity, 1);
		transform: translate3d(
				var(--tw-enter-translate-x, 0),
				var(--tw-enter-translate-y, 0),
				0
			)
			scale3d(
				var(--tw-enter-scale, 1),
				var(--tw-enter-scale, 1),
				var(--tw-enter-scale, 1)
			)
			rotate(var(--tw-enter-rotate, 0));
		filter: blur(var(--tw-enter-blur, 0));
	}
}
@keyframes exit {
	100% {
		opacity: var(--tw-exit-opacity, 1);
		transform: translate3d(
				var(--tw-exit-translate-x, 0),
				var(--tw-exit-translate-y, 0),
				0
			)
			scale3d(
				var(--tw-exit-scale, 1),
				var(--tw-exit-scale, 1),
				var(--tw-exit-scale, 1)
			)
			rotate(var(--tw-exit-rotate, 0));
		filter: blur(var(--tw-exit-blur, 0));
	}
}
@keyframes accordion-down {
	0% {
		height: 0px;
	}
	100% {
		height: var(
			--radix-accordion-content-height,
			var(
				--bits-accordion-content-height,
				var(
					--reka-accordion-content-height,
					var(
						--kb-accordion-content-height,
						var(--ngp-accordion-content-height, auto)
					)
				)
			)
		);
	}
}
@keyframes accordion-up {
	0% {
		height: var(
			--radix-accordion-content-height,
			var(
				--bits-accordion-content-height,
				var(
					--reka-accordion-content-height,
					var(
						--kb-accordion-content-height,
						var(--ngp-accordion-content-height, auto)
					)
				)
			)
		);
	}
	100% {
		height: 0px;
	}
}
@keyframes caret-blink {
	0%,
	70%,
	100% {
		opacity: 1;
	}
	20%,
	50% {
		opacity: 0;
	}
}
