/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@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-rotate-x: initial;
			--tw-rotate-y: initial;
			--tw-rotate-z: initial;
			--tw-skew-x: initial;
			--tw-skew-y: initial;
			--tw-border-style: solid;
			--tw-gradient-position: initial;
			--tw-gradient-from: #0000;
			--tw-gradient-via: #0000;
			--tw-gradient-to: #0000;
			--tw-gradient-stops: initial;
			--tw-gradient-via-stops: initial;
			--tw-gradient-from-position: 0%;
			--tw-gradient-via-position: 50%;
			--tw-gradient-to-position: 100%;
			--tw-tracking: initial;
			--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-duration: initial;
			--tw-ease: initial;
			--tw-scale-x: 1;
			--tw-scale-y: 1;
			--tw-scale-z: 1
		}
	}
}

@layer theme {

	:root,
	:host {
		--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
		--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
		--color-purple-200: oklch(90.2% .063 306.703);
		--color-purple-400: oklch(71.4% .203 305.504);
		--color-slate-950: oklch(12.9% .042 264.695);
		--color-white: #fff;
		--spacing: .25rem;
		--text-xl: 1.25rem;
		--text-xl--line-height: calc(1.75 / 1.25);
		--text-5xl: 3rem;
		--text-5xl--line-height: 1;
		--text-7xl: 4.5rem;
		--text-7xl--line-height: 1;
		--tracking-widest: .1em;
		--ease-in-out: cubic-bezier(.4, 0, .2, 1);
		--default-transition-duration: .15s;
		--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
		--default-font-family: var(--font-sans);
		--default-mono-font-family: var(--font-mono)
	}
}

@layer base {

	*,
	:after,
	:before,
	::backdrop {
		box-sizing: border-box;
		border: 0 solid;
		margin: 0;
		padding: 0
	}

	::file-selector-button {
		box-sizing: border-box;
		border: 0 solid;
		margin: 0;
		padding: 0
	}

	html,
	:host {
		-webkit-text-size-adjust: 100%;
		tab-size: 4;
		line-height: 1.5;
		font-family: var(--default-font-family, ui-sans-serif, system-ui, 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: 0;
		color: inherit;
		border-top-width: 1px
	}

	abbr:where([title]) {
		-webkit-text-decoration: underline dotted;
		text-decoration: underline dotted
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-size: inherit;
		font-weight: inherit
	}

	a {
		color: inherit;
		-webkit-text-decoration: inherit;
		-webkit-text-decoration: inherit;
		-webkit-text-decoration: inherit;
		-webkit-text-decoration: 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: -.25em
	}

	sup {
		top: -.5em
	}

	table {
		text-indent: 0;
		border-color: inherit;
		border-collapse: collapse
	}

	:-moz-focusring {
		outline: auto
	}

	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;
		font-feature-settings: inherit;
		font-variation-settings: inherit;
		letter-spacing: inherit;
		color: inherit;
		opacity: 1;
		background-color: #0000;
		border-radius: 0
	}

	::file-selector-button {
		font: inherit;
		font-feature-settings: inherit;
		font-variation-settings: inherit;
		letter-spacing: inherit;
		color: inherit;
		opacity: 1;
		background-color: #0000;
		border-radius: 0
	}

	: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 50%, transparent)
			}
		}
	}

	textarea {
		resize: vertical
	}

	::-webkit-search-decoration {
		-webkit-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: 0
	}

	::-webkit-datetime-edit {
		padding-block: 0
	}

	::-webkit-datetime-edit-year-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-month-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-day-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-hour-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-minute-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-second-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-millisecond-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-meridiem-field {
		padding-block: 0
	}

	::-webkit-calendar-picker-indicator {
		line-height: 1
	}

	:-moz-ui-invalid {
		box-shadow: none
	}

	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
	}

	.absolute {
		position: absolute
	}

	.relative {
		position: relative
	}

	.inset-0 {
		inset: calc(var(--spacing) * 0)
	}

	.top-0 {
		top: calc(var(--spacing) * 0)
	}

	.left-0 {
		left: calc(var(--spacing) * 0)
	}

	.z-0 {
		z-index: 0
	}

	.z-20 {
		z-index: 20
	}

	.z-30 {
		z-index: 30
	}

	.m-0 {
		margin: calc(var(--spacing) * 0)
	}

	.mb-10 {
		margin-bottom: calc(var(--spacing) * 10)
	}

	.flex {
		display: flex
	}

	.h-6 {
		height: calc(var(--spacing) * 6)
	}

	.h-auto {
		height: auto
	}

	.h-full {
		height: 100%
	}

	.h-screen {
		height: 100vh
	}

	.w-6 {
		width: calc(var(--spacing) * 6)
	}

	.w-full {
		width: 100%
	}

	.w-screen {
		width: 100vw
	}

	.transform {
		transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )
	}

	.flex-col {
		flex-direction: column
	}

	.items-center {
		align-items: center
	}

	.justify-end {
		justify-content: flex-end
	}

	.gap-3 {
		gap: calc(var(--spacing) * 3)
	}

	.gap-8 {
		gap: calc(var(--spacing) * 8)
	}

	.overflow-hidden {
		overflow: hidden
	}

	.border {
		border-style: var(--tw-border-style);
		border-width: 1px
	}

	.border-b {
		border-bottom-style: var(--tw-border-style);
		border-bottom-width: 1px
	}

	.border-transparent {
		border-color: #0000
	}

	.bg-slate-950 {
		background-color: var(--color-slate-950)
	}

	.bg-gradient-to-t {
		--tw-gradient-position: to top in oklab;
		background-image: linear-gradient(var(--tw-gradient-stops))
	}

	.from-slate-950 {
		--tw-gradient-from: var(--color-slate-950);
		--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
	}

	.via-slate-950\/80 {
		--tw-gradient-via: #020618cc
	}

	@supports (color:color-mix(in lab, red, red)) {
		.via-slate-950\/80 {
			--tw-gradient-via: color-mix(in oklab, var(--color-slate-950) 80%, transparent)
		}
	}

	.via-slate-950\/80 {
		--tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
		--tw-gradient-stops: var(--tw-gradient-via-stops)
	}

	.via-30\% {
		--tw-gradient-via-position: 30%
	}

	.to-transparent {
		--tw-gradient-to: transparent;
		--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
	}

	.object-contain {
		object-fit: contain
	}

	.p-0 {
		padding: calc(var(--spacing) * 0)
	}

	.px-4 {
		padding-inline: calc(var(--spacing) * 4)
	}

	.pb-1 {
		padding-bottom: calc(var(--spacing) * 1)
	}

	.pb-24 {
		padding-bottom: calc(var(--spacing) * 24)
	}

	.text-center {
		text-align: center
	}

	.text-5xl {
		font-size: var(--text-5xl);
		line-height: var(--tw-leading, var(--text-5xl--line-height))
	}

	.text-xl {
		font-size: var(--text-xl);
		line-height: var(--tw-leading, var(--text-xl--line-height))
	}

	.tracking-\[0\.15em\] {
		--tw-tracking: .15em;
		letter-spacing: .15em
	}

	.tracking-widest {
		--tw-tracking: var(--tracking-widest);
		letter-spacing: var(--tracking-widest)
	}

	.text-purple-400 {
		color: var(--color-purple-400)
	}

	.text-white {
		color: var(--color-white)
	}

	.uppercase {
		text-transform: uppercase
	}

	.opacity-0 {
		opacity: 0
	}

	.opacity-100 {
		opacity: 1
	}

	.drop-shadow-\[0_0_8px_rgba\(168\,85\,247\,0\.5\)\] {
		--tw-drop-shadow-size: drop-shadow(0 0 8px var(--tw-drop-shadow-color, #a855f780));
		--tw-drop-shadow: var(--tw-drop-shadow-size);
		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, )
	}

	.drop-shadow-\[0_0_15px_rgba\(255\,255\,255\,0\.3\)\] {
		--tw-drop-shadow-size: drop-shadow(0 0 15px var(--tw-drop-shadow-color, #ffffff4d));
		--tw-drop-shadow: var(--tw-drop-shadow-size);
		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, )
	}

	.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, )
	}

	.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-300 {
		--tw-duration: .3s;
		transition-duration: .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)
	}

	@media (hover:hover) {
		.group-hover\:scale-110:is(:where(.group):hover *) {
			--tw-scale-x: 110%;
			--tw-scale-y: 110%;
			--tw-scale-z: 110%;
			scale: var(--tw-scale-x) var(--tw-scale-y)
		}

		.group-hover\:border-purple-400:is(:where(.group):hover *) {
			border-color: var(--color-purple-400)
		}

		.hover\:text-purple-200:hover {
			color: var(--color-purple-200)
		}
	}

	@media (width>=40rem) {
		.sm\:flex-row {
			flex-direction: row
		}
	}

	@media (width>=48rem) {
		.md\:gap-16 {
			gap: calc(var(--spacing) * 16)
		}

		.md\:text-7xl {
			font-size: var(--text-7xl);
			line-height: var(--tw-leading, var(--text-7xl--line-height))
		}
	}
}

@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-border-style {
	syntax: "*";
	inherits: false;
	initial-value: solid
}

@property --tw-gradient-position {
	syntax: "*";
	inherits: false
}

@property --tw-gradient-from {
	syntax: "<color>";
	inherits: false;
	initial-value: #0000
}

@property --tw-gradient-via {
	syntax: "<color>";
	inherits: false;
	initial-value: #0000
}

@property --tw-gradient-to {
	syntax: "<color>";
	inherits: false;
	initial-value: #0000
}

@property --tw-gradient-stops {
	syntax: "*";
	inherits: false
}

@property --tw-gradient-via-stops {
	syntax: "*";
	inherits: false
}

@property --tw-gradient-from-position {
	syntax: "<length-percentage>";
	inherits: false;
	initial-value: 0%
}

@property --tw-gradient-via-position {
	syntax: "<length-percentage>";
	inherits: false;
	initial-value: 50%
}

@property --tw-gradient-to-position {
	syntax: "<length-percentage>";
	inherits: false;
	initial-value: 100%
}

@property --tw-tracking {
	syntax: "*";
	inherits: false
}

@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-duration {
	syntax: "*";
	inherits: false
}

@property --tw-ease {
	syntax: "*";
	inherits: false
}

@property --tw-scale-x {
	syntax: "*";
	inherits: false;
	initial-value: 1
}

@property --tw-scale-y {
	syntax: "*";
	inherits: false;
	initial-value: 1
}

@property --tw-scale-z {
	syntax: "*";
	inherits: false;
	initial-value: 1
}