@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap";

		*,
		:before,
		:after {
			--tw-border-spacing-x: 0;
			--tw-border-spacing-y: 0;
			--tw-translate-x: 0;
			--tw-translate-y: 0;
			--tw-rotate: 0;
			--tw-skew-x: 0;
			--tw-skew-y: 0;
			--tw-scale-x: 1;
			--tw-scale-y: 1;
			--tw-pan-x: ;
			--tw-pan-y: ;
			--tw-pinch-zoom: ;
			--tw-scroll-snap-strictness: proximity;
			--tw-gradient-from-position: ;
			--tw-gradient-via-position: ;
			--tw-gradient-to-position: ;
			--tw-ordinal: ;
			--tw-slashed-zero: ;
			--tw-numeric-figure: ;
			--tw-numeric-spacing: ;
			--tw-numeric-fraction: ;
			--tw-ring-inset: ;
			--tw-ring-offset-width: 0px;
			--tw-ring-offset-color: #fff;
			--tw-ring-color: rgb(59 130 246 / 0.5);
			--tw-ring-offset-shadow: 0 0 #0000;
			--tw-ring-shadow: 0 0 #0000;
			--tw-shadow: 0 0 #0000;
			--tw-shadow-colored: 0 0 #0000;
			--tw-blur: ;
			--tw-brightness: ;
			--tw-contrast: ;
			--tw-grayscale: ;
			--tw-hue-rotate: ;
			--tw-invert: ;
			--tw-saturate: ;
			--tw-sepia: ;
			--tw-drop-shadow: ;
			--tw-backdrop-blur: ;
			--tw-backdrop-brightness: ;
			--tw-backdrop-contrast: ;
			--tw-backdrop-grayscale: ;
			--tw-backdrop-hue-rotate: ;
			--tw-backdrop-invert: ;
			--tw-backdrop-opacity: ;
			--tw-backdrop-saturate: ;
			--tw-backdrop-sepia: ;
			--tw-contain-size: ;
			--tw-contain-layout: ;
			--tw-contain-paint: ;
			--tw-contain-style:
			;
		}

		::backdrop {
			--tw-border-spacing-x: 0;
			--tw-border-spacing-y: 0;
			--tw-translate-x: 0;
			--tw-translate-y: 0;
			--tw-rotate: 0;
			--tw-skew-x: 0;
			--tw-skew-y: 0;
			--tw-scale-x: 1;
			--tw-scale-y: 1;
			--tw-pan-x: ;
			--tw-pan-y: ;
			--tw-pinch-zoom: ;
			--tw-scroll-snap-strictness: proximity;
			--tw-gradient-from-position: ;
			--tw-gradient-via-position: ;
			--tw-gradient-to-position: ;
			--tw-ordinal: ;
			--tw-slashed-zero: ;
			--tw-numeric-figure: ;
			--tw-numeric-spacing: ;
			--tw-numeric-fraction: ;
			--tw-ring-inset: ;
			--tw-ring-offset-width: 0px;
			--tw-ring-offset-color: #fff;
			--tw-ring-color: rgb(59 130 246 / 0.5);
			--tw-ring-offset-shadow: 0 0 #0000;
			--tw-ring-shadow: 0 0 #0000;
			--tw-shadow: 0 0 #0000;
			--tw-shadow-colored: 0 0 #0000;
			--tw-blur: ;
			--tw-brightness: ;
			--tw-contrast: ;
			--tw-grayscale: ;
			--tw-hue-rotate: ;
			--tw-invert: ;
			--tw-saturate: ;
			--tw-sepia: ;
			--tw-drop-shadow: ;
			--tw-backdrop-blur: ;
			--tw-backdrop-brightness: ;
			--tw-backdrop-contrast: ;
			--tw-backdrop-grayscale: ;
			--tw-backdrop-hue-rotate: ;
			--tw-backdrop-invert: ;
			--tw-backdrop-opacity: ;
			--tw-backdrop-saturate: ;
			--tw-backdrop-sepia: ;
			--tw-contain-size: ;
			--tw-contain-layout: ;
			--tw-contain-paint: ;
			--tw-contain-style:
			;
		}

		*,
		:before,
		:after {
			box-sizing: border-box;
			border-width: 0;
			border-style: solid;
			border-color: #e5e7eb;
		}

		:before,
		:after {
			--tw-content: "";
		}

		html,
		:host {
			line-height: 1.5;
			-webkit-text-size-adjust: 100%;
			-moz-tab-size: 4;
			-o-tab-size: 4;
			tab-size: 4;
			font-family:
				ui-sans-serif,
				system-ui,
				sans-serif,
				"Apple Color Emoji",
				"Segoe UI Emoji",
				Segoe UI Symbol,
				"Noto Color Emoji";
			font-feature-settings: normal;
			font-variation-settings: normal;
			-webkit-tap-highlight-color: transparent;
		}

		body {
			margin: 0;
			line-height: inherit;
		}

		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;
			text-decoration: inherit;
		}

		b,
		strong {
			font-weight: bolder;
		}

		code,
		kbd,
		samp,
		pre {
			font-family:
				ui-monospace,
				SFMono-Regular,
				Menlo,
				Monaco,
				Consolas,
				Liberation Mono,
				Courier New,
				monospace;
			font-feature-settings: normal;
			font-variation-settings: normal;
			font-size: 1em;
		}

		small {
			font-size: 80%;
		}

		sub,
		sup {
			font-size: 75%;
			line-height: 0;
			position: relative;
			vertical-align: baseline;
		}

		sub {
			bottom: -0.25em;
		}

		sup {
			top: -0.5em;
		}

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

		button,
		input,
		optgroup,
		select,
		textarea {
			font-family: inherit;
			font-feature-settings: inherit;
			font-variation-settings: inherit;
			font-size: 100%;
			font-weight: inherit;
			line-height: inherit;
			letter-spacing: inherit;
			color: inherit;
			margin: 0;
			padding: 0;
		}

		button,
		select {
			text-transform: none;
		}

		button,
		input:where([type="button"]),
		input:where([type="reset"]),
		input:where([type="submit"]) {
			-webkit-appearance: button;
			appearance: button;
			background-color: transparent;
			background-image: none;
		}

		:-moz-focusring {
			outline: auto;
		}

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

		progress {
			vertical-align: baseline;
		}

		::-webkit-inner-spin-button,
		::-webkit-outer-spin-button {
			height: auto;
		}

		[type="search"] {
			-webkit-appearance: textfield;
			outline-offset: -2px;
		}

		::-webkit-search-decoration {
			-webkit-appearance: none;
		}

		::-webkit-file-upload-button {
			-webkit-appearance: button;
			font: inherit;
		}

		summary {
			display: list-item;
		}

		blockquote,
		dl,
		dd,
		h1,
		h2,
		h3,
		h4,
		h5,
		h6,
		hr,
		figure,
		p,
		pre {
			margin: 0;
		}

		fieldset {
			margin: 0;
			padding: 0;
		}

		legend {
			padding: 0;
		}

		ol,
		ul,
		menu {
			list-style: none;
			margin: 0;
			padding: 0;
		}

		dialog {
			padding: 0;
		}

		textarea {
			resize: vertical;
		}

		input::-moz-placeholder,
		textarea::-moz-placeholder {
			opacity: 1;
			color: #9ca3af;
		}

		input::placeholder,
		textarea::placeholder {
			opacity: 1;
			color: #9ca3af;
		}

		button,
		[role="button"] {
			cursor: pointer;
		}

		:disabled {
			cursor: default;
		}

		img,
		svg,
		video,
		canvas,
		audio,
		iframe,
		embed,
		object {
			display: block;
			vertical-align: middle;
		}

		img,
		video {
			max-width: 100%;
			height: auto;
		}

		[hidden]:where(:not([hidden="until-found"])) {
			display: none;
		}

		:root {
			--background: 0 0% 100%;
			--foreground: 0 0% 15%;
			--card: 0 0% 100%;
			--card-foreground: 0 0% 15%;
			--popover: 0 0% 100%;
			--popover-foreground: 0 0% 15%;
			--primary: 0 0% 10%;
			--primary-foreground: 0 0% 98%;
			--secondary: 0 0% 95%;
			--secondary-foreground: 0 0% 15%;
			--muted: 0 0% 95%;
			--muted-foreground: 0 0% 40%;
			--accent: 0 0% 95%;
			--accent-foreground: 0 0% 15%;
			--destructive: 0 84.2% 60.2%;
			--destructive-foreground: 0 0% 98%;
			--border: 0 0% 90%;
			--input: 0 0% 90%;
			--ring: 0 0% 50%;
			--radius: 0.5rem;
			--neon-pink: 325 100% 60%;
			--neon-purple: 280 100% 65%;
			--neon-blue: 240 100% 70%;
			--neon-cyan: 180 100% 50%;
			--deep-dark: 240 20% 5%;
			--dark-surface: 240 15% 8%;
			--dark-accent: 240 10% 12%;
		}

		.dark {
			--background: var(--deep-dark);
			--foreground: 0 0% 95%;
			--primary: var(--neon-pink);
			--primary-foreground: 0 0% 5%;
			--secondary: var(--dark-surface);
			--secondary-foreground: 0 0% 90%;
			--accent: var(--dark-accent);
			--accent-foreground: 0 0% 90%;
			--muted: var(--dark-accent);
			--muted-foreground: 0 0% 65%;
			--card: var(--dark-surface);
			--card-foreground: 0 0% 90%;
			--border: 240 10% 20%;
			--input: 240 10% 15%;
		}

		* {
			border-color: hsl(var(--border));
		}

		html,
		body {
			margin: 0;
			overflow-x: hidden;
			padding: 0;
			width: 100%;
			max-width: 100%;
		}

		body {
			--tw-bg-opacity: 1;
			background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
			font-family:
				Space Grotesk,
				sans-serif;
			color: hsl(var(--foreground));
		}

		.container {
			width: 100%;
			margin-right: auto;
			margin-left: auto;
			padding-right: 2rem;
			padding-left: 2rem;
		}

		@media (min-width: 1400px) {
			.container {
				max-width: 1400px;
			}
		}

		.sr-only {
			position: absolute;
			width: 1px;
			height: 1px;
			padding: 0;
			margin: -1px;
			overflow: hidden;
			clip: rect(0, 0, 0, 0);
			white-space: nowrap;
			border-width: 0;
		}

		.pointer-events-none {
			pointer-events: none;
		}

		.pointer-events-auto {
			pointer-events: auto;
		}

		.visible {
			visibility: visible;
		}

		.invisible {
			visibility: hidden;
		}

		.static {
			position: static;
		}

		.fixed {
			position: fixed;
		}

		.absolute {
			position: absolute;
		}

		.relative {
			position: relative;
		}

		.sticky {
			position: sticky;
		}

		.inset-0 {
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
		}

		.inset-x-0 {
			left: 0;
			right: 0;
		}

		.inset-y-0 {
			top: 0;
			bottom: 0;
		}

		.-bottom-12 {
			bottom: -3rem;
		}

		.-top-12 {
			top: -3rem;
		}

		.bottom-0 {
			bottom: 0;
		}

		.bottom-20 {
			bottom: 5rem;
		}

		.bottom-3 {
			bottom: 0.75rem;
		}

		.bottom-6 {
			bottom: 1.5rem;
		}

		.bottom-8 {
			bottom: 2rem;
		}

		.left-0 {
			left: 0;
		}

		.left-1 {
			left: 0.25rem;
		}

		.left-1\/2 {
			left: 50%;
		}

		.left-10 {
			left: 2.5rem;
		}

		.left-2 {
			left: 0.5rem;
		}

		.left-3 {
			left: 0.75rem;
		}

		.left-4 {
			left: 1rem;
		}

		.left-\[50\%\] {
			left: 50%;
		}

		.left-auto {
			left: auto;
		}

		.right-0 {
			right: 0;
		}

		.right-1 {
			right: 0.25rem;
		}

		.right-10 {
			right: 2.5rem;
		}

		.right-2 {
			right: 0.5rem;
		}

		.right-3 {
			right: 0.75rem;
		}

		.right-4 {
			right: 1rem;
		}

		.right-6 {
			right: 1.5rem;
		}

		.right-auto {
			right: auto;
		}

		.top-0 {
			top: 0;
		}

		.top-1\.5 {
			top: 0.375rem;
		}

		.top-1\/2 {
			top: 50%;
		}

		.top-2 {
			top: 0.5rem;
		}

		.top-2\.5 {
			top: 0.625rem;
		}

		.top-20 {
			top: 5rem;
		}

		.top-24 {
			top: 6rem;
		}

		.top-3 {
			top: 0.75rem;
		}

		.top-3\.5 {
			top: 0.875rem;
		}

		.top-4 {
			top: 1rem;
		}

		.top-\[1px\] {
			top: 1px;
		}

		.top-\[50\%\] {
			top: 50%;
		}

		.top-\[60\%\] {
			top: 60%;
		}

		.top-full {
			top: 100%;
		}

		.z-0 {
			z-index: 0;
		}

		.z-10 {
			z-index: 10;
		}

		.z-20 {
			z-index: 20;
		}

		.z-30 {
			z-index: 30;
		}

		.z-50 {
			z-index: 50;
		}

		.z-\[100\] {
			z-index: 100;
		}

		.z-\[1\] {
			z-index: 1;
		}

		.col-span-1 {
			grid-column: span 1 / span 1;
		}

		.-mx-1 {
			margin-left: -0.25rem;
			margin-right: -0.25rem;
		}

		.mx-1 {
			margin-left: 0.25rem;
			margin-right: 0.25rem;
		}

		.mx-2 {
			margin-left: 0.5rem;
			margin-right: 0.5rem;
		}

		.mx-3\.5 {
			margin-left: 0.875rem;
			margin-right: 0.875rem;
		}

		.mx-auto {
			margin-left: auto;
			margin-right: auto;
		}

		.my-0\.5 {
			margin-top: 0.125rem;
			margin-bottom: 0.125rem;
		}

		.my-1 {
			margin-top: 0.25rem;
			margin-bottom: 0.25rem;
		}

		.my-12 {
			margin-top: 3rem;
			margin-bottom: 3rem;
		}

		.my-2 {
			margin-top: 0.5rem;
			margin-bottom: 0.5rem;
		}

		.my-8 {
			margin-top: 2rem;
			margin-bottom: 2rem;
		}

		.-ml-4 {
			margin-left: -1rem;
		}

		.-mt-3 {
			margin-top: -0.75rem;
		}

		.-mt-4 {
			margin-top: -1rem;
		}

		.mb-0 {
			margin-bottom: 0;
		}

		.mb-1 {
			margin-bottom: 0.25rem;
		}

		.mb-10 {
			margin-bottom: 2.5rem;
		}

		.mb-12 {
			margin-bottom: 3rem;
		}

		.mb-16 {
			margin-bottom: 4rem;
		}

		.mb-2 {
			margin-bottom: 0.5rem;
		}

		.mb-3 {
			margin-bottom: 0.75rem;
		}

		.mb-4 {
			margin-bottom: 1rem;
		}

		.mb-6 {
			margin-bottom: 1.5rem;
		}

		.mb-8 {
			margin-bottom: 2rem;
		}

		.ml-1 {
			margin-left: 0.25rem;
		}

		.ml-2 {
			margin-left: 0.5rem;
		}

		.ml-3 {
			margin-left: 0.75rem;
		}

		.ml-auto {
			margin-left: auto;
		}

		.mr-1 {
			margin-right: 0.25rem;
		}

		.mr-2 {
			margin-right: 0.5rem;
		}

		.mr-3 {
			margin-right: 0.75rem;
		}

		.mr-4 {
			margin-right: 1rem;
		}

		.mt-0\.5 {
			margin-top: 0.125rem;
		}

		.mt-1 {
			margin-top: 0.25rem;
		}

		.mt-1\.5 {
			margin-top: 0.375rem;
		}

		.mt-10 {
			margin-top: 2.5rem;
		}

		.mt-12 {
			margin-top: 3rem;
		}

		.mt-16 {
			margin-top: 4rem;
		}

		.mt-2 {
			margin-top: 0.5rem;
		}

		.mt-24 {
			margin-top: 6rem;
		}

		.mt-3 {
			margin-top: 0.75rem;
		}

		.mt-4 {
			margin-top: 1rem;
		}

		.mt-6 {
			margin-top: 1.5rem;
		}

		.mt-8 {
			margin-top: 2rem;
		}

		.mt-auto {
			margin-top: auto;
		}

		.line-clamp-2 {
			overflow: hidden;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
		}

		.line-clamp-3 {
			overflow: hidden;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 3;
		}

		.block {
			display: block;
		}

		.inline-block {
			display: inline-block;
		}

		.flex {
			display: flex;
		}

		.inline-flex {
			display: inline-flex;
		}

		.table {
			display: table;
		}

		.grid {
			display: grid;
		}

		.hidden {
			display: none;
		}

		.aspect-square {
			aspect-ratio: 1 / 1;
		}

		.aspect-video {
			aspect-ratio: 16 / 9;
		}

		.size-4 {
			width: 1rem;
			height: 1rem;
		}

		.h-0\.5 {
			height: 0.125rem;
		}

		.h-1 {
			height: 0.25rem;
		}

		.h-1\.5 {
			height: 0.375rem;
		}

		.h-10 {
			height: 2.5rem;
		}

		.h-11 {
			height: 2.75rem;
		}

		.h-12 {
			height: 3rem;
		}

		.h-16 {
			height: 4rem;
		}

		.h-2 {
			height: 0.5rem;
		}

		.h-2\.5 {
			height: 0.625rem;
		}

		.h-3 {
			height: 0.75rem;
		}

		.h-3\.5 {
			height: 0.875rem;
		}

		.h-32 {
			height: 8rem;
		}

		.h-4 {
			height: 1rem;
		}

		.h-48 {
			height: 12rem;
		}

		.h-5 {
			height: 1.25rem;
		}

		.h-6 {
			height: 1.5rem;
		}

		.h-64 {
			height: 16rem;
		}

		.h-7 {
			height: 1.75rem;
		}

		.h-8 {
			height: 2rem;
		}

		.h-9 {
			height: 2.25rem;
		}

		.h-96 {
			height: 24rem;
		}

		.h-\[1px\] {
			height: 1px;
		}

		.h-\[280px\] {
			height: 280px;
		}

		.h-\[40vh\] {
			height: 40vh;
		}

		.h-\[500px\] {
			height: 500px;
		}

		.h-\[50vh\] {
			height: 50vh;
		}

		.h-\[550px\] {
			height: 550px;
		}

		.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-screen {
			height: 100vh;
		}

		.h-svh {
			height: 100svh;
		}

		.max-h-0 {
			max-height: 0px;
		}

		.max-h-80 {
			max-height: 20rem;
		}

		.max-h-96 {
			max-height: 24rem;
		}

		.max-h-\[300px\] {
			max-height: 300px;
		}

		.max-h-screen {
			max-height: 100vh;
		}

		.min-h-0 {
			min-height: 0px;
		}

		.min-h-\[120px\] {
			min-height: 120px;
		}

		.min-h-\[44px\] {
			min-height: 44px;
		}

		.min-h-\[50vh\] {
			min-height: 50vh;
		}

		.min-h-\[80px\] {
			min-height: 80px;
		}

		.min-h-screen {
			min-height: 100vh;
		}

		.min-h-svh {
			min-height: 100svh;
		}

		.w-0 {
			width: 0px;
		}

		.w-0\.5 {
			width: 0.125rem;
		}

		.w-1 {
			width: 0.25rem;
		}

		.w-1\/3 {
			width: 33.333333%;
		}

		.w-10 {
			width: 2.5rem;
		}

		.w-11 {
			width: 2.75rem;
		}

		.w-12 {
			width: 3rem;
		}

		.w-16 {
			width: 4rem;
		}

		.w-2 {
			width: 0.5rem;
		}

		.w-2\.5 {
			width: 0.625rem;
		}

		.w-20 {
			width: 5rem;
		}

		.w-3 {
			width: 0.75rem;
		}

		.w-3\.5 {
			width: 0.875rem;
		}

		.w-3\/4 {
			width: 75%;
		}

		.w-32 {
			width: 8rem;
		}

		.w-4 {
			width: 1rem;
		}

		.w-48 {
			width: 12rem;
		}

		.w-5 {
			width: 1.25rem;
		}

		.w-6 {
			width: 1.5rem;
		}

		.w-64 {
			width: 16rem;
		}

		.w-7 {
			width: 1.75rem;
		}

		.w-72 {
			width: 18rem;
		}

		.w-8 {
			width: 2rem;
		}

		.w-80 {
			width: 20rem;
		}

		.w-9 {
			width: 2.25rem;
		}

		.w-\[--sidebar-width\] {
			width: var(--sidebar-width);
		}

		.w-\[100px\] {
			width: 100px;
		}

		.w-\[1px\] {
			width: 1px;
		}

		.w-\[400px\] {
			width: 400px;
		}

		.w-\[85\%\] {
			width: 85%;
		}

		.w-auto {
			width: auto;
		}

		.w-full {
			width: 100%;
		}

		.w-max {
			width: -moz-max-content;
			width: max-content;
		}

		.w-px {
			width: 1px;
		}

		.min-w-0 {
			min-width: 0px;
		}

		.min-w-5 {
			min-width: 1.25rem;
		}

		.min-w-\[12rem\] {
			min-width: 12rem;
		}

		.min-w-\[8rem\] {
			min-width: 8rem;
		}

		.min-w-\[var\(--radix-select-trigger-width\)\] {
			min-width: var(--radix-select-trigger-width);
		}

		.max-w-2xl {
			max-width: 42rem;
		}

		.max-w-3xl {
			max-width: 48rem;
		}

		.max-w-4xl {
			max-width: 56rem;
		}

		.max-w-5xl {
			max-width: 64rem;
		}

		.max-w-6xl {
			max-width: 72rem;
		}

		.max-w-7xl {
			max-width: 80rem;
		}

		.max-w-\[--skeleton-width\] {
			max-width: var(--skeleton-width);
		}

		.max-w-\[100vw\] {
			max-width: 100vw;
		}

		.max-w-full {
			max-width: 100%;
		}

		.max-w-lg {
			max-width: 32rem;
		}

		.max-w-max {
			max-width: -moz-max-content;
			max-width: max-content;
		}

		.max-w-md {
			max-width: 28rem;
		}

		.max-w-none {
			max-width: none;
		}

		.max-w-xl {
			max-width: 36rem;
		}

		.flex-1 {
			flex: 1 1 0%;
		}

		.flex-\[1\.5\] {
			flex: 1.5;
		}

		.flex-none {
			flex: none;
		}

		.flex-shrink-0,
		.shrink-0 {
			flex-shrink: 0;
		}

		.flex-grow,
		.grow {
			flex-grow: 1;
		}

		.grow-0 {
			flex-grow: 0;
		}

		.basis-full {
			flex-basis: 100%;
		}

		.caption-bottom {
			caption-side: bottom;
		}

		.border-collapse {
			border-collapse: collapse;
		}

		.-translate-x-1\/2 {
			--tw-translate-x: -50%;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.-translate-x-full {
			--tw-translate-x: -100%;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.-translate-x-px {
			--tw-translate-x: -1px;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.-translate-y-1\/2 {
			--tw-translate-y: -50%;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.translate-x-0 {
			--tw-translate-x: 0px;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.translate-x-\[-40\%\] {
			--tw-translate-x: -40%;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.translate-x-\[-50\%\] {
			--tw-translate-x: -50%;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.translate-x-\[40\%\] {
			--tw-translate-x: 40%;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.translate-x-full {
			--tw-translate-x: 100%;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.translate-x-px {
			--tw-translate-x: 1px;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.translate-y-0 {
			--tw-translate-y: 0px;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.translate-y-10 {
			--tw-translate-y: 2.5rem;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.translate-y-\[-50\%\] {
			--tw-translate-y: -50%;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.rotate-12 {
			--tw-rotate: 12deg;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.rotate-45 {
			--tw-rotate: 45deg;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.rotate-90 {
			--tw-rotate: 90deg;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.scale-100 {
			--tw-scale-x: 1;
			--tw-scale-y: 1;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.scale-110 {
			--tw-scale-x: 1.1;
			--tw-scale-y: 1.1;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.scale-150 {
			--tw-scale-x: 1.5;
			--tw-scale-y: 1.5;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.scale-90 {
			--tw-scale-x: 0.9;
			--tw-scale-y: 0.9;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.scale-95 {
			--tw-scale-x: 0.95;
			--tw-scale-y: 0.95;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.transform {
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		@keyframes bounce {

			0%,
			to {
				transform: translateY(-25%);
				animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
			}

			50% {
				transform: none;
				animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
			}
		}

		.animate-bounce {
			animation: bounce 1s infinite;
		}

		@keyframes neon-pulse {

			0%,
			to {
				text-shadow:
					0 0 5px currentColor,
					0 0 10px currentColor,
					0 0 15px currentColor;
				transform: scale(1);
			}

			50% {
				text-shadow:
					0 0 10px currentColor,
					0 0 20px currentColor,
					0 0 30px currentColor;
				transform: scale(1.02);
			}
		}

		.animate-pulse {
			animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
		}

		@keyframes pulse-slow {

			0%,
			to {
				opacity: 1;
			}

			50% {
				opacity: 0.8;
			}
		}

		@keyframes rotate-slow {
			0% {
				transform: rotate(0);
			}

			to {
				transform: rotate(360deg);
			}
		}

		.animate-rotate-slow {
			animation: rotate-slow 20s linear infinite;
		}

		@keyframes scale-in-out {

			0%,
			to {
				transform: scale(1);
			}

			50% {
				transform: scale(1.05);
			}
		}

		.animate-scale-in-out {
			animation: scale-in-out 3s ease-in-out infinite;
		}

		@keyframes slide-in {
			0% {
				transform: translate(-20px);
				opacity: 0;
			}

			to {
				transform: translate(0);
				opacity: 1;
			}
		}

		.animate-slide-in {
			animation: slide-in 0.4s ease-out;
		}

		.cursor-default {
			cursor: default;
		}

		.cursor-move {
			cursor: move;
		}

		.cursor-pointer {
			cursor: pointer;
		}

		.cursor-zoom-in {
			cursor: zoom-in;
		}

		.touch-none {
			touch-action: none;
		}

		.select-none {
			-webkit-user-select: none;
			-moz-user-select: none;
			user-select: none;
		}

		.resize-none {
			resize: none;
		}

		.resize {
			resize: both;
		}

		.snap-x {
			scroll-snap-type: x var(--tw-scroll-snap-strictness);
		}

		.snap-mandatory {
			--tw-scroll-snap-strictness: mandatory;
		}

		.snap-center {
			scroll-snap-align: center;
		}

		.scroll-mt-24 {
			scroll-margin-top: 6rem;
		}

		.list-inside {
			list-style-position: inside;
		}

		.list-disc {
			list-style-type: disc;
		}

		.list-none {
			list-style-type: none;
		}

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

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

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

		.grid-rows-\[200px\,1fr\] {
			grid-template-rows: 200px 1fr;
		}

		.flex-row {
			flex-direction: row;
		}

		.flex-col {
			flex-direction: column;
		}

		.flex-col-reverse {
			flex-direction: column-reverse;
		}

		.flex-wrap {
			flex-wrap: wrap;
		}

		.items-start {
			align-items: flex-start;
		}

		.items-end {
			align-items: flex-end;
		}

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

		.items-stretch {
			align-items: stretch;
		}

		.justify-start {
			justify-content: flex-start;
		}

		.justify-center {
			justify-content: center;
		}

		.justify-between {
			justify-content: space-between;
		}

		.gap-1 {
			gap: 0.25rem;
		}

		.gap-1\.5 {
			gap: 0.375rem;
		}

		.gap-10 {
			gap: 2.5rem;
		}

		.gap-12 {
			gap: 3rem;
		}

		.gap-2 {
			gap: 0.5rem;
		}

		.gap-3 {
			gap: 0.75rem;
		}

		.gap-4 {
			gap: 1rem;
		}

		.gap-5 {
			gap: 1.25rem;
		}

		.gap-6 {
			gap: 1.5rem;
		}

		.gap-8 {
			gap: 2rem;
		}

		.gap-y-2 {
			row-gap: 0.5rem;
		}

		.space-x-1> :not([hidden])~ :not([hidden]) {
			--tw-space-x-reverse: 0;
			margin-right: calc(0.25rem * var(--tw-space-x-reverse));
			margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
		}

		.space-x-2> :not([hidden])~ :not([hidden]) {
			--tw-space-x-reverse: 0;
			margin-right: calc(0.5rem * var(--tw-space-x-reverse));
			margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
		}

		.space-x-3> :not([hidden])~ :not([hidden]) {
			--tw-space-x-reverse: 0;
			margin-right: calc(0.75rem * var(--tw-space-x-reverse));
			margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
		}

		.space-x-4> :not([hidden])~ :not([hidden]) {
			--tw-space-x-reverse: 0;
			margin-right: calc(1rem * var(--tw-space-x-reverse));
			margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
		}

		.space-x-6> :not([hidden])~ :not([hidden]) {
			--tw-space-x-reverse: 0;
			margin-right: calc(1.5rem * var(--tw-space-x-reverse));
			margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
		}

		.space-y-1> :not([hidden])~ :not([hidden]) {
			--tw-space-y-reverse: 0;
			margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
			margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
		}

		.space-y-1\.5> :not([hidden])~ :not([hidden]) {
			--tw-space-y-reverse: 0;
			margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
			margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
		}

		.space-y-10> :not([hidden])~ :not([hidden]) {
			--tw-space-y-reverse: 0;
			margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
			margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
		}

		.space-y-16> :not([hidden])~ :not([hidden]) {
			--tw-space-y-reverse: 0;
			margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
			margin-bottom: calc(4rem * var(--tw-space-y-reverse));
		}

		.space-y-2> :not([hidden])~ :not([hidden]) {
			--tw-space-y-reverse: 0;
			margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
			margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
		}

		.space-y-3> :not([hidden])~ :not([hidden]) {
			--tw-space-y-reverse: 0;
			margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
			margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
		}

		.space-y-4> :not([hidden])~ :not([hidden]) {
			--tw-space-y-reverse: 0;
			margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
			margin-bottom: calc(1rem * var(--tw-space-y-reverse));
		}

		.space-y-6> :not([hidden])~ :not([hidden]) {
			--tw-space-y-reverse: 0;
			margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
			margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
		}

		.space-y-8> :not([hidden])~ :not([hidden]) {
			--tw-space-y-reverse: 0;
			margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
			margin-bottom: calc(2rem * var(--tw-space-y-reverse));
		}

		.overflow-auto {
			overflow: auto;
		}

		.overflow-hidden {
			overflow: hidden;
		}

		.overflow-x-auto {
			overflow-x: auto;
		}

		.overflow-y-auto {
			overflow-y: auto;
		}

		.overflow-x-hidden {
			overflow-x: hidden;
		}

		.whitespace-nowrap {
			white-space: nowrap;
		}

		.break-words {
			overflow-wrap: break-word;
		}

		.rounded {
			border-radius: 0.25rem;
		}

		.rounded-2xl {
			border-radius: 1rem;
		}

		.rounded-\[2px\] {
			border-radius: 2px;
		}

		.rounded-\[inherit\] {
			border-radius: inherit;
		}

		.rounded-full {
			border-radius: 9999px;
		}

		.rounded-lg {
			border-radius: var(--radius);
		}

		.rounded-md {
			border-radius: calc(var(--radius) - 2px);
		}

		.rounded-sm {
			border-radius: calc(var(--radius) - 4px);
		}

		.rounded-xl {
			border-radius: 0.75rem;
		}

		.rounded-t-\[10px\] {
			border-top-left-radius: 10px;
			border-top-right-radius: 10px;
		}

		.rounded-tl-sm {
			border-top-left-radius: calc(var(--radius) - 4px);
		}

		.border {
			border-width: 1px;
		}

		.border-2 {
			border-width: 2px;
		}

		.border-\[1\.5px\] {
			border-width: 1.5px;
		}

		.border-y {
			border-top-width: 1px;
			border-bottom-width: 1px;
		}

		.border-b {
			border-bottom-width: 1px;
		}

		.border-b-2 {
			border-bottom-width: 2px;
		}

		.border-l {
			border-left-width: 1px;
		}

		.border-l-4 {
			border-left-width: 4px;
		}

		.border-r {
			border-right-width: 1px;
		}

		.border-t {
			border-top-width: 1px;
		}

		.border-dashed {
			border-style: dashed;
		}

		.border-\[--color-border\] {
			border-color: var(--color-border);
		}

		.border-black {
			--tw-border-opacity: 1;
			border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
		}

		.border-blue-100 {
			--tw-border-opacity: 1;
			border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
		}

		.border-border\/50 {
			border-color: hsl(var(--border) / 0.5);
		}

		.border-destructive {
			border-color: hsl(var(--destructive));
		}

		.border-destructive\/50 {
			border-color: hsl(var(--destructive) / 0.5);
		}

		.border-gray-100 {
			--tw-border-opacity: 1;
			border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
		}

		.border-gray-200 {
			--tw-border-opacity: 1;
			border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
		}

		.border-gray-300 {
			--tw-border-opacity: 1;
			border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
		}

		.border-gray-700 {
			--tw-border-opacity: 1;
			border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
		}

		.border-gray-800 {
			--tw-border-opacity: 1;
			border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
		}

		.border-input {
			border-color: hsl(var(--input));
		}

		.border-neon-blue\/30 {
			border-color: hsl(var(--neon-blue) / 0.3);
		}

		.border-neon-cyan\/30 {
			border-color: hsl(var(--neon-cyan) / 0.3);
		}

		.border-neon-pink\/20 {
			border-color: hsl(var(--neon-pink) / 0.2);
		}

		.border-neon-pink\/30 {
			border-color: hsl(var(--neon-pink) / 0.3);
		}

		.border-neon-pink\/50 {
			border-color: hsl(var(--neon-pink) / 0.5);
		}

		.border-neon-purple {
			border-color: hsl(var(--neon-purple));
		}

		.border-neon-purple\/30 {
			border-color: hsl(var(--neon-purple) / 0.3);
		}

		.border-primary {
			border-color: hsl(var(--primary));
		}

		.border-sidebar-border {
			border-color: hsl(var(--sidebar-border));
		}

		.border-transparent {
			border-color: transparent;
		}

		.border-white\/20 {
			border-color: #fff3;
		}

		.border-l-transparent {
			border-left-color: transparent;
		}

		.border-t-transparent {
			border-top-color: transparent;
		}

		.bg-\[\#0c151c\] {
			--tw-bg-opacity: 1;
			background-color: rgb(12 21 28 / var(--tw-bg-opacity, 1));
		}

		.bg-\[--color-bg\] {
			background-color: var(--color-bg);
		}

		.bg-accent {
			background-color: hsl(var(--accent));
		}

		.bg-background {
			background-color: hsl(var(--background));
		}

		.bg-black {
			--tw-bg-opacity: 1;
			background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
		}

		.bg-black\/10 {
			background-color: #0000001a;
		}

		.bg-black\/20 {
			background-color: #0003;
		}

		.bg-black\/30 {
			background-color: #0000004d;
		}

		.bg-black\/40 {
			background-color: #0006;
		}

		.bg-black\/50 {
			background-color: #00000080;
		}

		.bg-black\/70 {
			background-color: #000000b3;
		}

		.bg-black\/80 {
			background-color: #000c;
		}

		.bg-blue-100 {
			--tw-bg-opacity: 1;
			background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
		}

		.bg-blue-50 {
			--tw-bg-opacity: 1;
			background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
		}

		.bg-border {
			background-color: hsl(var(--border));
		}

		.bg-card {
			background-color: hsl(var(--card));
		}

		.bg-dark-accent {
			background-color: hsl(var(--dark-accent));
		}

		.bg-dark-deep {
			background-color: hsl(var(--deep-dark));
		}

		.bg-dark-deep\/80 {
			background-color: hsl(var(--deep-dark) / 0.8);
		}

		.bg-dark-surface {
			background-color: hsl(var(--dark-surface));
		}

		.bg-destructive {
			background-color: hsl(var(--destructive));
		}

		.bg-foreground {
			background-color: hsl(var(--foreground));
		}

		.bg-gray-100 {
			--tw-bg-opacity: 1;
			background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
		}

		.bg-gray-200 {
			--tw-bg-opacity: 1;
			background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
		}

		.bg-gray-300 {
			--tw-bg-opacity: 1;
			background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
		}

		.bg-gray-400 {
			--tw-bg-opacity: 1;
			background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
		}

		.bg-gray-50 {
			--tw-bg-opacity: 1;
			background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
		}

		.bg-gray-500 {
			--tw-bg-opacity: 1;
			background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
		}

		.bg-gray-700 {
			--tw-bg-opacity: 1;
			background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
		}

		.bg-gray-800 {
			--tw-bg-opacity: 1;
			background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
		}

		.bg-gray-800\/40 {
			background-color: #1f293766;
		}

		.bg-green-100 {
			--tw-bg-opacity: 1;
			background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
		}

		.bg-green-50 {
			--tw-bg-opacity: 1;
			background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
		}

		.bg-muted {
			background-color: hsl(var(--muted));
		}

		.bg-muted\/50 {
			background-color: hsl(var(--muted) / 0.5);
		}

		.bg-neon-blue\/10 {
			background-color: hsl(var(--neon-blue) / 0.1);
		}

		.bg-neon-pink\/20 {
			background-color: hsl(var(--neon-pink) / 0.2);
		}

		.bg-neon-purple\/20 {
			background-color: hsl(var(--neon-purple) / 0.2);
		}

		.bg-popover {
			background-color: hsl(var(--popover));
		}

		.bg-primary {
			background-color: hsl(var(--primary));
		}

		.bg-purple-500 {
			--tw-bg-opacity: 1;
			background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
		}

		.bg-secondary {
			background-color: hsl(var(--secondary));
		}

		.bg-sidebar {
			background-color: hsl(var(--sidebar-background));
		}

		.bg-sidebar-border {
			background-color: hsl(var(--sidebar-border));
		}

		.bg-transparent {
			background-color: transparent;
		}

		.bg-white {
			--tw-bg-opacity: 1;
			background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
		}

		.bg-white\/10 {
			background-color: #ffffff1a;
		}

		.bg-white\/15 {
			background-color: #ffffff26;
		}

		.bg-white\/50 {
			background-color: #ffffff80;
		}

		.bg-white\/60 {
			background-color: #fff9;
		}

		.bg-white\/70 {
			background-color: #ffffffb3;
		}

		.bg-white\/80 {
			background-color: #fffc;
		}

		.bg-white\/90 {
			background-color: #ffffffe6;
		}

		.bg-yellow-50 {
			--tw-bg-opacity: 1;
			background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
		}

		.bg-gradient-to-b {
			background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
		}

		.bg-gradient-to-br {
			background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
		}

		.bg-gradient-to-r {
			background-image: linear-gradient(to right, var(--tw-gradient-stops));
		}

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

		.from-black {
			--tw-gradient-from: #000 var(--tw-gradient-from-position);
			--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-black\/70 {
			--tw-gradient-from: rgb(0 0 0 / 0.7) var(--tw-gradient-from-position);
			--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-black\/80 {
			--tw-gradient-from: rgb(0 0 0 / 0.8) var(--tw-gradient-from-position);
			--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-dark-deep {
			--tw-gradient-from: hsl(var(--deep-dark)) var(--tw-gradient-from-position);
			--tw-gradient-to: hsl(var(--deep-dark) / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-dark-deep\/80 {
			--tw-gradient-from: hsl(var(--deep-dark) / 0.8) var(--tw-gradient-from-position);
			--tw-gradient-to: hsl(var(--deep-dark) / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-gray-100 {
			--tw-gradient-from: #f3f4f6 var(--tw-gradient-from-position);
			--tw-gradient-to: rgb(243 244 246 / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-gray-300 {
			--tw-gradient-from: #d1d5db var(--tw-gradient-from-position);
			--tw-gradient-to: rgb(209 213 219 / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-gray-50 {
			--tw-gradient-from: #f9fafb var(--tw-gradient-from-position);
			--tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-neon-blue {
			--tw-gradient-from: hsl(var(--neon-blue)) var(--tw-gradient-from-position);
			--tw-gradient-to: hsl(var(--neon-blue) / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-neon-cyan {
			--tw-gradient-from: hsl(var(--neon-cyan)) var(--tw-gradient-from-position);
			--tw-gradient-to: hsl(var(--neon-cyan) / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-neon-pink {
			--tw-gradient-from: hsl(var(--neon-pink)) var(--tw-gradient-from-position);
			--tw-gradient-to: hsl(var(--neon-pink) / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-neon-purple {
			--tw-gradient-from: hsl(var(--neon-purple)) var(--tw-gradient-from-position);
			--tw-gradient-to: hsl(var(--neon-purple) / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-neon-purple\/20 {
			--tw-gradient-from: hsl(var(--neon-purple) / 0.2) var(--tw-gradient-from-position);
			--tw-gradient-to: hsl(var(--neon-purple) / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.from-white {
			--tw-gradient-from: #fff var(--tw-gradient-from-position);
			--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
		}

		.via-black\/60 {
			--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.6) var(--tw-gradient-via-position),
				var(--tw-gradient-to);
		}

		.via-dark-surface {
			--tw-gradient-to: hsl(var(--dark-surface) / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--dark-surface)) var(--tw-gradient-via-position),
				var(--tw-gradient-to);
		}

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

		.via-white {
			--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
			--tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position),
				var(--tw-gradient-to);
		}

		.to-black {
			--tw-gradient-to: #000 var(--tw-gradient-to-position);
		}

		.to-black\/80 {
			--tw-gradient-to: rgb(0 0 0 / 0.8) var(--tw-gradient-to-position);
		}

		.to-dark-accent {
			--tw-gradient-to: hsl(var(--dark-accent)) var(--tw-gradient-to-position);
		}

		.to-dark-deep\/40 {
			--tw-gradient-to: hsl(var(--deep-dark) / 0.4) var(--tw-gradient-to-position);
		}

		.to-gray-100 {
			--tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position);
		}

		.to-gray-400 {
			--tw-gradient-to: #9ca3af var(--tw-gradient-to-position);
		}

		.to-gray-50 {
			--tw-gradient-to: #f9fafb var(--tw-gradient-to-position);
		}

		.to-gray-900 {
			--tw-gradient-to: #111827 var(--tw-gradient-to-position);
		}

		.to-neon-blue {
			--tw-gradient-to: hsl(var(--neon-blue)) var(--tw-gradient-to-position);
		}

		.to-neon-cyan {
			--tw-gradient-to: hsl(var(--neon-cyan)) var(--tw-gradient-to-position);
		}

		.to-neon-pink {
			--tw-gradient-to: hsl(var(--neon-pink)) var(--tw-gradient-to-position);
		}

		.to-neon-pink\/20 {
			--tw-gradient-to: hsl(var(--neon-pink) / 0.2) var(--tw-gradient-to-position);
		}

		.to-neon-purple {
			--tw-gradient-to: hsl(var(--neon-purple)) var(--tw-gradient-to-position);
		}

		.to-white {
			--tw-gradient-to: #fff var(--tw-gradient-to-position);
		}

		.bg-cover {
			background-size: cover;
		}

		.bg-center {
			background-position: center;
		}

		.fill-current {
			fill: currentColor;
		}

		.object-contain {
			-o-object-fit: contain;
			object-fit: contain;
		}

		.object-cover {
			-o-object-fit: cover;
			object-fit: cover;
		}

		.object-center {
			-o-object-position: center;
			object-position: center;
		}

		.object-right {
			-o-object-position: right;
			object-position: right;
		}

		.p-0 {
			padding: 0;
		}

		.p-1 {
			padding: 0.25rem;
		}

		.p-16 {
			padding: 4rem;
		}

		.p-2 {
			padding: 0.5rem;
		}

		.p-3 {
			padding: 0.75rem;
		}

		.p-4 {
			padding: 1rem;
		}

		.p-5 {
			padding: 1.25rem;
		}

		.p-6 {
			padding: 1.5rem;
		}

		.p-8 {
			padding: 2rem;
		}

		.p-\[1px\] {
			padding: 1px;
		}

		.px-1 {
			padding-left: 0.25rem;
			padding-right: 0.25rem;
		}

		.px-12 {
			padding-left: 3rem;
			padding-right: 3rem;
		}

		.px-2 {
			padding-left: 0.5rem;
			padding-right: 0.5rem;
		}

		.px-2\.5 {
			padding-left: 0.625rem;
			padding-right: 0.625rem;
		}

		.px-3 {
			padding-left: 0.75rem;
			padding-right: 0.75rem;
		}

		.px-4 {
			padding-left: 1rem;
			padding-right: 1rem;
		}

		.px-5 {
			padding-left: 1.25rem;
			padding-right: 1.25rem;
		}

		.px-6 {
			padding-left: 1.5rem;
			padding-right: 1.5rem;
		}

		.px-8 {
			padding-left: 2rem;
			padding-right: 2rem;
		}

		.py-0\.5 {
			padding-top: 0.125rem;
			padding-bottom: 0.125rem;
		}

		.py-1 {
			padding-top: 0.25rem;
			padding-bottom: 0.25rem;
		}

		.py-1\.5 {
			padding-top: 0.375rem;
			padding-bottom: 0.375rem;
		}

		.py-10 {
			padding-top: 2.5rem;
			padding-bottom: 2.5rem;
		}

		.py-12 {
			padding-top: 3rem;
			padding-bottom: 3rem;
		}

		.py-16 {
			padding-top: 4rem;
			padding-bottom: 4rem;
		}

		.py-2 {
			padding-top: 0.5rem;
			padding-bottom: 0.5rem;
		}

		.py-20 {
			padding-top: 5rem;
			padding-bottom: 5rem;
		}

		.py-3 {
			padding-top: 0.75rem;
			padding-bottom: 0.75rem;
		}

		.py-4 {
			padding-top: 1rem;
			padding-bottom: 1rem;
		}

		.py-6 {
			padding-top: 1.5rem;
			padding-bottom: 1.5rem;
		}

		.py-8 {
			padding-top: 2rem;
			padding-bottom: 2rem;
		}

		.py-\[15px\] {
			padding-top: 15px;
			padding-bottom: 15px;
		}

		.py-\[25px\] {
			padding-top: 25px;
			padding-bottom: 25px;
		}

		.py-\[50px\] {
			padding-top: 50px;
			padding-bottom: 50px;
		}

		.pb-10 {
			padding-bottom: 2.5rem;
		}

		.pb-12 {
			padding-bottom: 3rem;
		}

		.pb-16 {
			padding-bottom: 4rem;
		}

		.pb-2 {
			padding-bottom: 0.5rem;
		}

		.pb-3 {
			padding-bottom: 0.75rem;
		}

		.pb-4 {
			padding-bottom: 1rem;
		}

		.pb-8 {
			padding-bottom: 2rem;
		}

		.pl-1 {
			padding-left: 0.25rem;
		}

		.pl-10 {
			padding-left: 2.5rem;
		}

		.pl-2\.5 {
			padding-left: 0.625rem;
		}

		.pl-4 {
			padding-left: 1rem;
		}

		.pl-6 {
			padding-left: 1.5rem;
		}

		.pl-8 {
			padding-left: 2rem;
		}

		.pr-2 {
			padding-right: 0.5rem;
		}

		.pr-2\.5 {
			padding-right: 0.625rem;
		}

		.pr-8 {
			padding-right: 2rem;
		}

		.pt-0 {
			padding-top: 0;
		}

		.pt-1 {
			padding-top: 0.25rem;
		}

		.pt-16 {
			padding-top: 4rem;
		}

		.pt-2 {
			padding-top: 0.5rem;
		}

		.pt-20 {
			padding-top: 5rem;
		}

		.pt-24 {
			padding-top: 6rem;
		}

		.pt-3 {
			padding-top: 0.75rem;
		}

		.pt-4 {
			padding-top: 1rem;
		}

		.pt-8 {
			padding-top: 2rem;
		}

		.text-left {
			text-align: left;
		}

		.text-center {
			text-align: center;
		}

		.text-right {
			text-align: right;
		}

		.align-middle {
			vertical-align: middle;
		}

		.font-mono {
			font-family:
				ui-monospace,
				SFMono-Regular,
				Menlo,
				Monaco,
				Consolas,
				Liberation Mono,
				Courier New,
				monospace;
		}

		.text-2xl {
			font-size: 1.5rem;
			line-height: 2rem;
		}

		.text-3xl {
			font-size: 1.875rem;
			line-height: 2.25rem;
		}

		.text-4xl {
			font-size: 2.25rem;
			line-height: 2.5rem;
		}

		.text-6xl {
			font-size: 3.75rem;
			line-height: 1;
		}

		.text-\[0\.8rem\] {
			font-size: 0.8rem;
		}

		.text-\[10px\] {
			font-size: 10px;
		}

		.text-base {
			font-size: 1rem;
			line-height: 1.5rem;
		}

		.text-lg {
			font-size: 1.125rem;
			line-height: 1.75rem;
		}

		.text-sm {
			font-size: 0.875rem;
			line-height: 1.25rem;
		}

		.text-xl {
			font-size: 1.25rem;
			line-height: 1.75rem;
		}

		.text-xs {
			font-size: 0.75rem;
			line-height: 1rem;
		}

		.font-bold {
			font-weight: 700;
		}

		.font-light {
			font-weight: 300;
		}

		.font-medium {
			font-weight: 500;
		}

		.font-normal {
			font-weight: 400;
		}

		.font-semibold {
			font-weight: 600;
		}

		.italic {
			font-style: italic;
		}

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

		.leading-none {
			line-height: 1;
		}

		.leading-relaxed {
			line-height: 1.625;
		}

		.leading-tight {
			line-height: 1.25;
		}

		.tracking-tight {
			letter-spacing: -0.025em;
		}

		.tracking-widest {
			letter-spacing: 0.1em;
		}

		.text-accent-foreground {
			color: hsl(var(--accent-foreground));
		}

		.text-black {
			--tw-text-opacity: 1;
			color: rgb(0 0 0 / var(--tw-text-opacity, 1));
		}

		.text-blue-500 {
			--tw-text-opacity: 1;
			color: rgb(59 130 246 / var(--tw-text-opacity, 1));
		}

		.text-blue-700 {
			--tw-text-opacity: 1;
			color: rgb(29 78 216 / var(--tw-text-opacity, 1));
		}

		.text-card-foreground {
			color: hsl(var(--card-foreground));
		}

		.text-current {
			color: currentColor;
		}

		.text-destructive {
			color: hsl(var(--destructive));
		}

		.text-destructive-foreground {
			color: hsl(var(--destructive-foreground));
		}

		.text-foreground {
			color: hsl(var(--foreground));
		}

		.text-foreground\/50 {
			color: hsl(var(--foreground) / 0.5);
		}

		.text-gray-100 {
			--tw-text-opacity: 1;
			color: rgb(243 244 246 / var(--tw-text-opacity, 1));
		}

		.text-gray-200 {
			--tw-text-opacity: 1;
			color: rgb(229 231 235 / var(--tw-text-opacity, 1));
		}

		.text-gray-300 {
			--tw-text-opacity: 1;
			color: rgb(209 213 219 / var(--tw-text-opacity, 1));
		}

		.text-gray-400 {
			--tw-text-opacity: 1;
			color: rgb(156 163 175 / var(--tw-text-opacity, 1));
		}

		.text-gray-500 {
			--tw-text-opacity: 1;
			color: rgb(107 114 128 / var(--tw-text-opacity, 1));
		}

		.text-gray-600 {
			--tw-text-opacity: 1;
			color: rgb(75 85 99 / var(--tw-text-opacity, 1));
		}

		.text-gray-700 {
			--tw-text-opacity: 1;
			color: rgb(55 65 81 / var(--tw-text-opacity, 1));
		}

		.text-gray-800 {
			--tw-text-opacity: 1;
			color: rgb(31 41 55 / var(--tw-text-opacity, 1));
		}

		.text-gray-900 {
			--tw-text-opacity: 1;
			color: rgb(17 24 39 / var(--tw-text-opacity, 1));
		}

		.text-green-500 {
			--tw-text-opacity: 1;
			color: rgb(34 197 94 / var(--tw-text-opacity, 1));
		}

		.text-green-600 {
			--tw-text-opacity: 1;
			color: rgb(22 163 74 / var(--tw-text-opacity, 1));
		}

		.text-green-700 {
			--tw-text-opacity: 1;
			color: rgb(21 128 61 / var(--tw-text-opacity, 1));
		}

		.text-muted-foreground {
			color: hsl(var(--muted-foreground));
		}

		.text-neon-cyan {
			color: hsl(var(--neon-cyan));
		}

		.text-popover-foreground {
			color: hsl(var(--popover-foreground));
		}

		.text-primary {
			color: hsl(var(--primary));
		}

		.text-primary-foreground {
			color: hsl(var(--primary-foreground));
		}

		.text-secondary-foreground {
			color: hsl(var(--secondary-foreground));
		}

		.text-sidebar-foreground {
			color: hsl(var(--sidebar-foreground));
		}

		.text-sidebar-foreground\/70 {
			color: hsl(var(--sidebar-foreground) / 0.7);
		}

		.text-white {
			--tw-text-opacity: 1;
			color: rgb(255 255 255 / var(--tw-text-opacity, 1));
		}

		.text-white\/90 {
			color: #ffffffe6;
		}

		.text-yellow-600 {
			--tw-text-opacity: 1;
			color: rgb(202 138 4 / var(--tw-text-opacity, 1));
		}

		.text-yellow-700 {
			--tw-text-opacity: 1;
			color: rgb(161 98 7 / var(--tw-text-opacity, 1));
		}

		.underline {
			text-decoration-line: underline;
		}

		.line-through {
			text-decoration-line: line-through;
		}

		.underline-offset-4 {
			text-underline-offset: 4px;
		}

		.placeholder-gray-400::-moz-placeholder {
			--tw-placeholder-opacity: 1;
			color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
		}

		.placeholder-gray-400::placeholder {
			--tw-placeholder-opacity: 1;
			color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
		}

		.opacity-0 {
			opacity: 0;
		}

		.opacity-100 {
			opacity: 1;
		}

		.opacity-50 {
			opacity: 0.5;
		}

		.opacity-60 {
			opacity: 0.6;
		}

		.opacity-70 {
			opacity: 0.7;
		}

		.opacity-90 {
			opacity: 0.9;
		}

		.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\] {
			--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));
			--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.shadow-lg {
			--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
			--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.shadow-md {
			--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
			--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.shadow-none {
			--tw-shadow: 0 0 #0000;
			--tw-shadow-colored: 0 0 #0000;
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.shadow-sm {
			--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
			--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.shadow-xl {
			--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
			--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.outline-none {
			outline: 2px solid transparent;
			outline-offset: 2px;
		}

		.outline {
			outline-style: solid;
		}

		.ring-0 {
			--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
			--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
			box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
		}

		.ring-2 {
			--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
			--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
			box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
		}

		.ring-ring {
			--tw-ring-color: hsl(var(--ring));
		}

		.ring-sidebar-ring {
			--tw-ring-color: hsl(var(--sidebar-ring));
		}

		.ring-offset-background {
			--tw-ring-offset-color: hsl(var(--background));
		}

		.blur-2xl {
			--tw-blur: blur(40px);
			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);
		}

		.blur-xl {
			--tw-blur: blur(24px);
			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);
		}

		.brightness-0 {
			--tw-brightness: brightness(0);
			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);
		}

		.grayscale {
			--tw-grayscale: grayscale(100%);
			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);
		}

		.grayscale-0 {
			--tw-grayscale: grayscale(0);
			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);
		}

		.invert {
			--tw-invert: invert(100%);
			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);
		}

		.backdrop-blur-md {
			--tw-backdrop-blur: blur(12px);
			-webkit-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);
			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);
		}

		.backdrop-blur-sm {
			--tw-backdrop-blur: blur(4px);
			-webkit-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);
			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,
				text-decoration-color,
				fill,
				stroke,
				opacity,
				box-shadow,
				transform,
				filter,
				-webkit-backdrop-filter;
			transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity,
				box-shadow, transform, filter, backdrop-filter;
			transition-property:
				color,
				background-color,
				border-color,
				text-decoration-color,
				fill,
				stroke,
				opacity,
				box-shadow,
				transform,
				filter,
				backdrop-filter,
				-webkit-backdrop-filter;
			transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
			transition-duration: 0.15s;
		}

		.transition-\[left\,right\,width\] {
			transition-property: left, right, width;
			transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
			transition-duration: 0.15s;
		}

		.transition-\[margin\,opa\] {
			transition-property: margin, opa;
			transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
			transition-duration: 0.15s;
		}

		.transition-\[width\,height\,padding\] {
			transition-property: width, height, padding;
			transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
			transition-duration: 0.15s;
		}

		.transition-\[width\] {
			transition-property: width;
			transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
			transition-duration: 0.15s;
		}

		.transition-all {
			transition-property: all;
			transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
			transition-duration: 0.15s;
		}

		.transition-colors {
			transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
			transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
			transition-duration: 0.15s;
		}

		.transition-none {
			transition-property: none;
		}

		.transition-opacity {
			transition-property: opacity;
			transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
			transition-duration: 0.15s;
		}

		.transition-shadow {
			transition-property: box-shadow;
			transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
			transition-duration: 0.15s;
		}

		.transition-transform {
			transition-property: transform;
			transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
			transition-duration: 0.15s;
		}

		.duration-1000 {
			transition-duration: 1s;
		}

		.duration-200 {
			transition-duration: 0.2s;
		}

		.duration-300 {
			transition-duration: 0.3s;
		}

		.duration-500 {
			transition-duration: 0.5s;
		}

		.ease-in-out {
			transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
		}

		.ease-linear {
			transition-timing-function: linear;
		}

		@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));
			}
		}

		@keyframes exit {
			to {
				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));
			}
		}

		.animate-in {
			animation-name: enter;
			animation-duration: 0.15s;
			--tw-enter-opacity: initial;
			--tw-enter-scale: initial;
			--tw-enter-rotate: initial;
			--tw-enter-translate-x: initial;
			--tw-enter-translate-y: initial;
		}

		.fade-in-0 {
			--tw-enter-opacity: 0;
		}

		.fade-in-80 {
			--tw-enter-opacity: 0.8;
		}

		.zoom-in-95 {
			--tw-enter-scale: 0.95;
		}

		.duration-1000 {
			animation-duration: 1s;
		}

		.duration-200 {
			animation-duration: 0.2s;
		}

		.duration-300 {
			animation-duration: 0.3s;
		}

		.duration-500 {
			animation-duration: 0.5s;
		}

		.ease-in-out {
			animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
		}

		.ease-linear {
			animation-timing-function: linear;
		}

		.running {
			animation-play-state: running;
		}

		.section-container {
			width: 100%;
			padding: 3rem 1rem;
		}

		@media (min-width: 640px) {
			.section-container {
				padding-left: 1.5rem;
				padding-right: 1.5rem;
			}
		}

		@media (min-width: 1024px) {
			.section-container {
				padding-left: 2rem;
				padding-right: 2rem;
			}
		}

		.hover-lift {
			transition-property: transform;
			transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
			transition-duration: 0.3s;
			animation-duration: 0.3s;
		}

		.hover-lift:hover {
			--tw-translate-y: -0.25rem;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.smooth-scroll {
			scroll-behavior: smooth;
		}

		.banner-container {
			position: relative;
			width: 100%;
			overflow: hidden;
		}

		.banner-overlay {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			padding: 1rem;
			text-align: center;
			z-index: 10;
		}

		.banner-title {
			font-size: clamp(1.75rem, 4vw, 2.5rem);
			font-weight: 700;
			margin-bottom: 1rem;
			line-height: 1.2;
		}

		@media (min-width: 768px) {
			.banner-title {
				font-size: clamp(2.5rem, 5vw, 4rem);
				margin-bottom: 1.5rem;
			}
		}

		.banner-subtitle {
			font-size: clamp(1rem, 2.5vw, 1.2rem);
			max-width: 90%;
			line-height: 1.5;
		}

		@media (min-width: 768px) {
			.banner-subtitle {
				max-width: 800px;
			}
		}

		@keyframes float {
			0% {
				transform: translateY(0);
			}

			50% {
				transform: translateY(-10px);
			}

			to {
				transform: translateY(0);
			}
		}

		@keyframes rotate-float {
			0% {
				transform: translateY(0) rotate(0);
			}

			50% {
				transform: translateY(-10px) rotate(10deg);
			}

			to {
				transform: translateY(0) rotate(0);
			}
		}

		@keyframes pulse-line {
			0% {
				opacity: 0.3;
				stroke-width: 1px;
			}

			50% {
				opacity: 1;
				stroke-width: 2px;
			}

			to {
				opacity: 0.3;
				stroke-width: 1px;
			}
		}

		@keyframes rotate {
			0% {
				transform: rotate(0);
			}

			to {
				transform: rotate(360deg);
			}
		}

		.animation-delay-100 {
			animation-delay: 0.1s !important;
		}

		.animation-delay-200 {
			animation-delay: 0.2s !important;
		}

		.animation-delay-300 {
			animation-delay: 0.3s !important;
		}

		.animation-delay-400 {
			animation-delay: 0.4s !important;
		}

		.animation-delay-500 {
			animation-delay: 0.5s !important;
		}

		.animate-float,
		.animate-circle {
			animation: float 6s ease-in-out infinite;
		}

		.animate-line {
			animation: pulse-line 4s ease-in-out infinite;
		}

		.animate-rotate {
			animation: rotate 20s linear infinite;
		}

		.animate-fade-in {
			animation: fadeIn 0.8s ease-out forwards;
		}

		@keyframes fadeIn {
			0% {
				opacity: 0;
				transform: translateY(20px);
			}

			to {
				opacity: 1;
				transform: translateY(0);
			}
		}

		@keyframes slideIn {
			0% {
				opacity: 0;
				transform: translate(-20px);
			}

			to {
				opacity: 1;
				transform: translate(0);
			}
		}

		.animate-slide-in {
			animation: slideIn 0.6s ease-out forwards;
		}

		.hover-underline {
			position: relative;
		}

		.hover-underline:after {
			content: "";
			position: absolute;
			width: 0;
			height: 2px;
			bottom: -2px;
			left: 0;
			background-color: currentColor;
			transition: width 0.3s ease;
		}

		.hover-underline:hover:after {
			width: 100%;
		}

		.hover-scale {
			transition: transform 0.3s ease;
		}

		.hover-scale:hover {
			transform: scale(1.05);
		}

		@keyframes pulse-slow {

			0%,
			to {
				opacity: 1;
				transform: scale(1);
			}

			50% {
				opacity: 0.8;
				transform: scale(1.05);
			}
		}

		.animate-pulse-slow {
			animation: pulse-slow 4s ease-in-out infinite;
		}

		.neon-glow-pink {
			box-shadow:
				0 0 20px hsl(var(--neon-pink) / 0.5),
				0 0 40px hsl(var(--neon-pink) / 0.3);
		}

		.neon-glow-purple {
			box-shadow:
				0 0 20px hsl(var(--neon-purple) / 0.5),
				0 0 40px hsl(var(--neon-purple) / 0.3);
		}

		.neon-glow-blue {
			box-shadow:
				0 0 20px hsl(var(--neon-blue) / 0.5),
				0 0 40px hsl(var(--neon-blue) / 0.3);
		}

		.text-neon-pink {
			color: hsl(var(--neon-pink));
		}

		.text-neon-purple {
			color: hsl(var(--neon-purple));
		}

		.text-neon-blue {
			color: hsl(var(--neon-blue));
		}

		.bg-neon-pink {
			background-color: hsl(var(--neon-pink));
		}

		.bg-neon-purple {
			background-color: hsl(var(--neon-purple));
		}

		.bg-neon-blue {
			background-color: hsl(var(--neon-blue));
		}

		.gradient-neon {
			background: linear-gradient(135deg,
					hsl(var(--neon-pink)),
					hsl(var(--neon-purple)),
					hsl(var(--neon-blue)));
		}

		@keyframes neon-pulse {

			0%,
			to {
				text-shadow:
					0 0 5px currentColor,
					0 0 10px currentColor,
					0 0 15px currentColor;
			}

			50% {
				text-shadow:
					0 0 10px currentColor,
					0 0 20px currentColor,
					0 0 30px currentColor;
			}
		}

		.animate-neon-pulse {
			animation: neon-pulse 2s ease-in-out infinite;
		}

		@keyframes float-glow {

			0%,
			to {
				transform: translateY(0);
				filter: drop-shadow(0 0 20px hsl(var(--neon-pink) / 0.3));
			}

			50% {
				transform: translateY(-10px);
				filter: drop-shadow(0 0 30px hsl(var(--neon-pink) / 0.5));
			}
		}

		.animate-float-glow {
			animation: float-glow 4s ease-in-out infinite;
		}

		.file\:border-0::file-selector-button {
			border-width: 0px;
		}

		.file\:bg-transparent::file-selector-button {
			background-color: transparent;
		}

		.file\:text-sm::file-selector-button {
			font-size: 0.875rem;
			line-height: 1.25rem;
		}

		.file\:font-medium::file-selector-button {
			font-weight: 500;
		}

		.file\:text-foreground::file-selector-button {
			color: hsl(var(--foreground));
		}

		.placeholder\:text-muted-foreground::-moz-placeholder {
			color: hsl(var(--muted-foreground));
		}

		.placeholder\:text-muted-foreground::placeholder {
			color: hsl(var(--muted-foreground));
		}

		.after\:absolute:after {
			content: var(--tw-content);
			position: absolute;
		}

		.after\:-inset-2:after {
			content: var(--tw-content);
			top: -0.5rem;
			right: -0.5rem;
			bottom: -0.5rem;
			left: -0.5rem;
		}

		.after\:inset-y-0:after {
			content: var(--tw-content);
			top: 0;
			bottom: 0;
		}

		.after\:left-1\/2:after {
			content: var(--tw-content);
			left: 50%;
		}

		.after\:w-1:after {
			content: var(--tw-content);
			width: 0.25rem;
		}

		.after\:w-\[2px\]:after {
			content: var(--tw-content);
			width: 2px;
		}

		.after\:-translate-x-1\/2:after {
			content: var(--tw-content);
			--tw-translate-x: -50%;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.first\:rounded-l-md:first-child {
			border-top-left-radius: calc(var(--radius) - 2px);
			border-bottom-left-radius: calc(var(--radius) - 2px);
		}

		.first\:border-l:first-child {
			border-left-width: 1px;
		}

		.last\:rounded-r-md:last-child {
			border-top-right-radius: calc(var(--radius) - 2px);
			border-bottom-right-radius: calc(var(--radius) - 2px);
		}

		.focus-within\:relative:focus-within {
			position: relative;
		}

		.focus-within\:z-20:focus-within {
			z-index: 20;
		}

		.hover\:-translate-y-1:hover {
			--tw-translate-y: -0.25rem;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.hover\:scale-110:hover {
			--tw-scale-x: 1.1;
			--tw-scale-y: 1.1;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.hover\:bg-accent:hover {
			background-color: hsl(var(--accent));
		}

		.hover\:bg-black:hover {
			--tw-bg-opacity: 1;
			background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
		}

		.hover\:bg-destructive\/80:hover {
			background-color: hsl(var(--destructive) / 0.8);
		}

		.hover\:bg-destructive\/90:hover {
			background-color: hsl(var(--destructive) / 0.9);
		}

		.hover\:bg-gray-100:hover {
			--tw-bg-opacity: 1;
			background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
		}

		.hover\:bg-gray-200:hover {
			--tw-bg-opacity: 1;
			background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
		}

		.hover\:bg-gray-300:hover {
			--tw-bg-opacity: 1;
			background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
		}

		.hover\:bg-gray-50:hover {
			--tw-bg-opacity: 1;
			background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
		}

		.hover\:bg-gray-600:hover {
			--tw-bg-opacity: 1;
			background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
		}

		.hover\:bg-gray-700:hover {
			--tw-bg-opacity: 1;
			background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
		}

		.hover\:bg-gray-800:hover {
			--tw-bg-opacity: 1;
			background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
		}

		.hover\:bg-gray-900:hover {
			--tw-bg-opacity: 1;
			background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
		}

		.hover\:bg-muted:hover {
			background-color: hsl(var(--muted));
		}

		.hover\:bg-muted\/50:hover {
			background-color: hsl(var(--muted) / 0.5);
		}

		.hover\:bg-neon-pink\/80:hover {
			background-color: hsl(var(--neon-pink) / 0.8);
		}

		.hover\:bg-neon-purple:hover {
			background-color: hsl(var(--neon-purple));
		}

		.hover\:bg-primary:hover {
			background-color: hsl(var(--primary));
		}

		.hover\:bg-primary\/80:hover {
			background-color: hsl(var(--primary) / 0.8);
		}

		.hover\:bg-primary\/90:hover {
			background-color: hsl(var(--primary) / 0.9);
		}

		.hover\:bg-secondary:hover {
			background-color: hsl(var(--secondary));
		}

		.hover\:bg-secondary\/80:hover {
			background-color: hsl(var(--secondary) / 0.8);
		}

		.hover\:bg-sidebar-accent:hover {
			background-color: hsl(var(--sidebar-accent));
		}

		.hover\:bg-white:hover {
			--tw-bg-opacity: 1;
			background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
		}

		.hover\:text-accent-foreground:hover {
			color: hsl(var(--accent-foreground));
		}

		.hover\:text-black:hover {
			--tw-text-opacity: 1;
			color: rgb(0 0 0 / var(--tw-text-opacity, 1));
		}

		.hover\:text-blue-600:hover {
			--tw-text-opacity: 1;
			color: rgb(37 99 235 / var(--tw-text-opacity, 1));
		}

		.hover\:text-blue-700:hover {
			--tw-text-opacity: 1;
			color: rgb(29 78 216 / var(--tw-text-opacity, 1));
		}

		.hover\:text-foreground:hover {
			color: hsl(var(--foreground));
		}

		.hover\:text-gray-700:hover {
			--tw-text-opacity: 1;
			color: rgb(55 65 81 / var(--tw-text-opacity, 1));
		}

		.hover\:text-gray-800:hover {
			--tw-text-opacity: 1;
			color: rgb(31 41 55 / var(--tw-text-opacity, 1));
		}

		.hover\:text-gray-900:hover {
			--tw-text-opacity: 1;
			color: rgb(17 24 39 / var(--tw-text-opacity, 1));
		}

		.hover\:text-muted-foreground:hover {
			color: hsl(var(--muted-foreground));
		}

		.hover\:text-neon-blue\/80:hover {
			color: hsl(var(--neon-blue) / 0.8);
		}

		.hover\:text-neon-cyan\/80:hover {
			color: hsl(var(--neon-cyan) / 0.8);
		}

		.hover\:text-neon-pink:hover {
			color: hsl(var(--neon-pink));
		}

		.hover\:text-neon-pink\/80:hover {
			color: hsl(var(--neon-pink) / 0.8);
		}

		.hover\:text-neon-purple\/80:hover {
			color: hsl(var(--neon-purple) / 0.8);
		}

		.hover\:text-primary-foreground:hover {
			color: hsl(var(--primary-foreground));
		}

		.hover\:text-sidebar-accent-foreground:hover {
			color: hsl(var(--sidebar-accent-foreground));
		}

		.hover\:text-white:hover {
			--tw-text-opacity: 1;
			color: rgb(255 255 255 / var(--tw-text-opacity, 1));
		}

		.hover\:underline:hover {
			text-decoration-line: underline;
		}

		.hover\:opacity-100:hover {
			opacity: 1;
		}

		.hover\:opacity-70:hover {
			opacity: 0.7;
		}

		.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover {
			--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));
			--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.hover\:shadow-lg:hover {
			--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
			--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.hover\:shadow-md:hover {
			--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
			--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.hover\:shadow-xl:hover {
			--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
			--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.hover\:shadow-gray-300\/20:hover {
			--tw-shadow-color: rgb(209 213 219 / 0.2);
			--tw-shadow: var(--tw-shadow-colored);
		}

		.hover\:after\:bg-sidebar-border:hover:after {
			content: var(--tw-content);
			background-color: hsl(var(--sidebar-border));
		}

		.focus\:bg-accent:focus {
			background-color: hsl(var(--accent));
		}

		.focus\:bg-primary:focus {
			background-color: hsl(var(--primary));
		}

		.focus\:text-accent-foreground:focus {
			color: hsl(var(--accent-foreground));
		}

		.focus\:text-primary-foreground:focus {
			color: hsl(var(--primary-foreground));
		}

		.focus\:opacity-100:focus {
			opacity: 1;
		}

		.focus\:outline-none:focus {
			outline: 2px solid transparent;
			outline-offset: 2px;
		}

		.focus\:ring-2:focus {
			--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
			--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
			box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
		}

		.focus\:ring-gray-600:focus {
			--tw-ring-opacity: 1;
			--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity, 1));
		}

		.focus\:ring-ring:focus {
			--tw-ring-color: hsl(var(--ring));
		}

		.focus\:ring-offset-2:focus {
			--tw-ring-offset-width: 2px;
		}

		.focus-visible\:outline-none:focus-visible {
			outline: 2px solid transparent;
			outline-offset: 2px;
		}

		.focus-visible\:ring-1:focus-visible {
			--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
			--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
			box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
		}

		.focus-visible\:ring-2:focus-visible {
			--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
			--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
			box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
		}

		.focus-visible\:ring-ring:focus-visible {
			--tw-ring-color: hsl(var(--ring));
		}

		.focus-visible\:ring-sidebar-ring:focus-visible {
			--tw-ring-color: hsl(var(--sidebar-ring));
		}

		.focus-visible\:ring-offset-1:focus-visible {
			--tw-ring-offset-width: 1px;
		}

		.focus-visible\:ring-offset-2:focus-visible {
			--tw-ring-offset-width: 2px;
		}

		.focus-visible\:ring-offset-background:focus-visible {
			--tw-ring-offset-color: hsl(var(--background));
		}

		.active\:bg-sidebar-accent:active {
			background-color: hsl(var(--sidebar-accent));
		}

		.active\:text-sidebar-accent-foreground:active {
			color: hsl(var(--sidebar-accent-foreground));
		}

		.disabled\:pointer-events-none:disabled {
			pointer-events: none;
		}

		.disabled\:cursor-not-allowed:disabled {
			cursor: not-allowed;
		}

		.disabled\:opacity-50:disabled {
			opacity: 0.5;
		}

		.disabled\:opacity-70:disabled {
			opacity: 0.7;
		}

		.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100 {
			opacity: 1;
		}

		.group:hover .group-hover\:w-full {
			width: 100%;
		}

		.group:hover .group-hover\:translate-x-1 {
			--tw-translate-x: 0.25rem;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.group:hover .group-hover\:scale-110 {
			--tw-scale-x: 1.1;
			--tw-scale-y: 1.1;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		@keyframes pulse {
			50% {
				opacity: 0.5;
			}
		}

		.group:hover .group-hover\:animate-pulse {
			animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
		}

		.group:hover .group-hover\:text-gray-500 {
			--tw-text-opacity: 1;
			color: rgb(107 114 128 / var(--tw-text-opacity, 1));
		}

		.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,
		.group:hover .group-hover\:opacity-100 {
			opacity: 1;
		}

		.group.destructive .group-\[\.destructive\]\:border-muted\/40 {
			border-color: hsl(var(--muted) / 0.4);
		}

		.group.toaster .group-\[\.toaster\]\:border-border {
			border-color: hsl(var(--border));
		}

		.group.toast .group-\[\.toast\]\:bg-muted {
			background-color: hsl(var(--muted));
		}

		.group.toast .group-\[\.toast\]\:bg-primary {
			background-color: hsl(var(--primary));
		}

		.group.toaster .group-\[\.toaster\]\:bg-background {
			background-color: hsl(var(--background));
		}

		.group.destructive .group-\[\.destructive\]\:text-red-300 {
			--tw-text-opacity: 1;
			color: rgb(252 165 165 / var(--tw-text-opacity, 1));
		}

		.group.toast .group-\[\.toast\]\:text-muted-foreground {
			color: hsl(var(--muted-foreground));
		}

		.group.toast .group-\[\.toast\]\:text-primary-foreground {
			color: hsl(var(--primary-foreground));
		}

		.group.toaster .group-\[\.toaster\]\:text-foreground {
			color: hsl(var(--foreground));
		}

		.group.toaster .group-\[\.toaster\]\:shadow-lg {
			--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
			--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
			border-color: hsl(var(--destructive) / 0.3);
		}

		.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
			background-color: hsl(var(--destructive));
		}

		.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
			color: hsl(var(--destructive-foreground));
		}

		.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
			--tw-text-opacity: 1;
			color: rgb(254 242 242 / var(--tw-text-opacity, 1));
		}

		.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
			--tw-ring-color: hsl(var(--destructive));
		}

		.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
			--tw-ring-opacity: 1;
			--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
		}

		.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
			--tw-ring-offset-color: #dc2626;
		}

		.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground {
			color: hsl(var(--sidebar-accent-foreground));
		}

		.peer:disabled~.peer-disabled\:cursor-not-allowed {
			cursor: not-allowed;
		}

		.peer:disabled~.peer-disabled\:opacity-70 {
			opacity: 0.7;
		}

		.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant="inset"]) {
			background-color: hsl(var(--sidebar-background));
		}

		.has-\[\:disabled\]\:opacity-50:has(:disabled) {
			opacity: 0.5;
		}

		.group\/menu-item:has([data-sidebar="menu-action"]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8 {
			padding-right: 2rem;
		}

		.aria-disabled\:pointer-events-none[aria-disabled="true"] {
			pointer-events: none;
		}

		.aria-disabled\:opacity-50[aria-disabled="true"] {
			opacity: 0.5;
		}

		.aria-selected\:bg-accent[aria-selected="true"] {
			background-color: hsl(var(--accent));
		}

		.aria-selected\:bg-accent\/50[aria-selected="true"] {
			background-color: hsl(var(--accent) / 0.5);
		}

		.aria-selected\:text-accent-foreground[aria-selected="true"] {
			color: hsl(var(--accent-foreground));
		}

		.aria-selected\:text-muted-foreground[aria-selected="true"] {
			color: hsl(var(--muted-foreground));
		}

		.aria-selected\:opacity-100[aria-selected="true"] {
			opacity: 1;
		}

		.aria-selected\:opacity-30[aria-selected="true"] {
			opacity: 0.3;
		}

		.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"],
		.data-\[disabled\]\:pointer-events-none[data-disabled] {
			pointer-events: none;
		}

		.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-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
			--tw-translate-y: 0.25rem;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.data-\[side\=left\]\:-translate-x-1[data-side="left"] {
			--tw-translate-x: -0.25rem;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.data-\[side\=right\]\:translate-x-1[data-side="right"] {
			--tw-translate-x: 0.25rem;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.data-\[side\=top\]\:-translate-y-1[data-side="top"] {
			--tw-translate-y: -0.25rem;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.data-\[state\=checked\]\:translate-x-5[data-state="checked"] {
			--tw-translate-x: 1.25rem;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"],
		.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
			--tw-translate-x: 0px;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
			--tw-translate-x: var(--radix-toast-swipe-end-x);
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
			--tw-translate-x: var(--radix-toast-swipe-move-x);
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		@keyframes accordion-up {
			0% {
				height: var(--radix-accordion-content-height);
			}

			to {
				height: 0;
			}
		}

		.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
			animation: accordion-up 0.2s ease-out;
		}

		@keyframes accordion-down {
			0% {
				height: 0;
			}

			to {
				height: var(--radix-accordion-content-height);
			}
		}

		.data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
			animation: accordion-down 0.2s ease-out;
		}

		.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
			flex-direction: column;
		}

		.data-\[active\=true\]\:bg-sidebar-accent[data-active="true"] {
			background-color: hsl(var(--sidebar-accent));
		}

		.data-\[active\]\:bg-accent\/50[data-active] {
			background-color: hsl(var(--accent) / 0.5);
		}

		.data-\[selected\=\'true\'\]\:bg-accent[data-selected="true"] {
			background-color: hsl(var(--accent));
		}

		.data-\[state\=active\]\:bg-background[data-state="active"] {
			background-color: hsl(var(--background));
		}

		.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
			background-color: hsl(var(--primary));
		}

		.data-\[state\=on\]\:bg-accent[data-state="on"],
		.data-\[state\=open\]\:bg-accent[data-state="open"] {
			background-color: hsl(var(--accent));
		}

		.data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
			background-color: hsl(var(--accent) / 0.5);
		}

		.data-\[state\=open\]\:bg-secondary[data-state="open"] {
			background-color: hsl(var(--secondary));
		}

		.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
			background-color: hsl(var(--muted));
		}

		.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
			background-color: hsl(var(--input));
		}

		.data-\[active\=true\]\:font-medium[data-active="true"] {
			font-weight: 500;
		}

		.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"] {
			color: hsl(var(--sidebar-accent-foreground));
		}

		.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
			color: hsl(var(--accent-foreground));
		}

		.data-\[state\=active\]\:text-foreground[data-state="active"] {
			color: hsl(var(--foreground));
		}

		.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
			color: hsl(var(--primary-foreground));
		}

		.data-\[state\=on\]\:text-accent-foreground[data-state="on"],
		.data-\[state\=open\]\:text-accent-foreground[data-state="open"] {
			color: hsl(var(--accent-foreground));
		}

		.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
			color: hsl(var(--muted-foreground));
		}

		.data-\[disabled\=true\]\:opacity-50[data-disabled="true"],
		.data-\[disabled\]\:opacity-50[data-disabled] {
			opacity: 0.5;
		}

		.data-\[state\=open\]\:opacity-100[data-state="open"] {
			opacity: 1;
		}

		.data-\[state\=active\]\:shadow-sm[data-state="active"] {
			--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
			--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
			transition-property: none;
		}

		.data-\[state\=closed\]\:duration-300[data-state="closed"] {
			transition-duration: 0.3s;
		}

		.data-\[state\=open\]\:duration-500[data-state="open"] {
			transition-duration: 0.5s;
		}

		.data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"],
		.data-\[state\=open\]\:animate-in[data-state="open"],
		.data-\[state\=visible\]\:animate-in[data-state="visible"] {
			animation-name: enter;
			animation-duration: 0.15s;
			--tw-enter-opacity: initial;
			--tw-enter-scale: initial;
			--tw-enter-rotate: initial;
			--tw-enter-translate-x: initial;
			--tw-enter-translate-y: initial;
		}

		.data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"],
		.data-\[state\=closed\]\:animate-out[data-state="closed"],
		.data-\[state\=hidden\]\:animate-out[data-state="hidden"],
		.data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
			animation-name: exit;
			animation-duration: 0.15s;
			--tw-exit-opacity: initial;
			--tw-exit-scale: initial;
			--tw-exit-rotate: initial;
			--tw-exit-translate-x: initial;
			--tw-exit-translate-y: initial;
		}

		.data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] {
			--tw-enter-opacity: 0;
		}

		.data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"],
		.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
			--tw-exit-opacity: 0;
		}

		.data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
			--tw-exit-opacity: 0.8;
		}

		.data-\[state\=hidden\]\:fade-out[data-state="hidden"] {
			--tw-exit-opacity: 0;
		}

		.data-\[state\=open\]\:fade-in-0[data-state="open"],
		.data-\[state\=visible\]\:fade-in[data-state="visible"] {
			--tw-enter-opacity: 0;
		}

		.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
			--tw-exit-scale: 0.95;
		}

		.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-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] {
			--tw-enter-translate-x: 13rem;
		}

		.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] {
			--tw-enter-translate-x: -13rem;
		}

		.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] {
			--tw-exit-translate-x: 13rem;
		}

		.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] {
			--tw-exit-translate-x: -13rem;
		}

		.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
			--tw-enter-translate-y: -0.5rem;
		}

		.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
			--tw-enter-translate-x: 0.5rem;
		}

		.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
			--tw-enter-translate-x: -0.5rem;
		}

		.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
			--tw-enter-translate-y: 0.5rem;
		}

		.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-left-1\/2[data-state="closed"] {
			--tw-exit-translate-x: -50%;
		}

		.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"],
		.data-\[state\=closed\]\:slide-out-to-right-full[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\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
			--tw-exit-translate-y: -48%;
		}

		.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-left-1\/2[data-state="open"] {
			--tw-enter-translate-x: -50%;
		}

		.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%;
		}

		.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
			--tw-enter-translate-y: -48%;
		}

		.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
			--tw-enter-translate-y: -100%;
		}

		.data-\[state\=closed\]\:duration-300[data-state="closed"] {
			animation-duration: 0.3s;
		}

		.data-\[state\=open\]\:duration-500[data-state="open"] {
			animation-duration: 0.5s;
		}

		.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]:after {
			content: var(--tw-content);
			left: 0;
		}

		.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]:after {
			content: var(--tw-content);
			height: 0.25rem;
		}

		.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-y-1\/2[data-panel-group-direction="vertical"]:after {
			content: var(--tw-content);
			--tw-translate-y: -50%;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]:after {
			content: var(--tw-content);
			--tw-translate-x: 0px;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state="open"] {
			background-color: hsl(var(--sidebar-accent));
		}

		.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state="open"] {
			color: hsl(var(--sidebar-accent-foreground));
		}

		.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\] {
			left: calc(var(--sidebar-width) * -1);
		}

		.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\] {
			right: calc(var(--sidebar-width) * -1);
		}

		.group[data-side="left"] .group-data-\[side\=left\]\:-right-4 {
			right: -1rem;
		}

		.group[data-side="right"] .group-data-\[side\=right\]\:left-0 {
			left: 0;
		}

		.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:-mt-8 {
			margin-top: -2rem;
		}

		.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden {
			display: none;
		}

		.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!size-8 {
			width: 2rem !important;
			height: 2rem !important;
		}

		.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\] {
			width: var(--sidebar-width-icon);
		}

		.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\] {
			width: calc(var(--sidebar-width-icon) + 1rem);
		}

		.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\] {
			width: calc(var(--sidebar-width-icon) + 1rem + 2px);
		}

		.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:w-0 {
			width: 0px;
		}

		.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:translate-x-0 {
			--tw-translate-x: 0px;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.group[data-side="right"] .group-data-\[side\=right\]\:rotate-180,
		.group[data-state="open"] .group-data-\[state\=open\]\:rotate-180 {
			--tw-rotate: 180deg;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden {
			overflow: hidden;
		}

		.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg {
			border-radius: var(--radius);
		}

		.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border {
			border-width: 1px;
		}

		.group[data-side="left"] .group-data-\[side\=left\]\:border-r {
			border-right-width: 1px;
		}

		.group[data-side="right"] .group-data-\[side\=right\]\:border-l {
			border-left-width: 1px;
		}

		.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border-sidebar-border {
			border-color: hsl(var(--sidebar-border));
		}

		.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-0 {
			padding: 0 !important;
		}

		.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-2 {
			padding: 0.5rem !important;
		}

		.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0 {
			opacity: 0;
		}

		.group[data-variant="floating"] .group-data-\[variant\=floating\]\:shadow {
			--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
			--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
			box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
		}

		.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after {
			content: var(--tw-content);
			left: 100%;
		}

		.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover {
			background-color: hsl(var(--sidebar-background));
		}

		.peer\/menu-button[data-size="default"]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5 {
			top: 0.375rem;
		}

		.peer\/menu-button[data-size="lg"]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5 {
			top: 0.625rem;
		}

		.peer\/menu-button[data-size="sm"]~.peer-data-\[size\=sm\]\/menu-button\:top-1 {
			top: 0.25rem;
		}

		.peer[data-variant="inset"]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\] {
			min-height: calc(100svh - 1rem);
		}

		.peer\/menu-button[data-active="true"]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground {
			color: hsl(var(--sidebar-accent-foreground));
		}

		.dark\:border-destructive:is(.dark *) {
			border-color: hsl(var(--destructive));
		}

		@media (min-width: 640px) {
			.sm\:bottom-0 {
				bottom: 0;
			}

			.sm\:right-0 {
				right: 0;
			}

			.sm\:top-auto {
				top: auto;
			}

			.sm\:mb-2 {
				margin-bottom: 0.5rem;
			}

			.sm\:mb-4 {
				margin-bottom: 1rem;
			}

			.sm\:mb-6 {
				margin-bottom: 1.5rem;
			}

			.sm\:mr-4 {
				margin-right: 1rem;
			}

			.sm\:mt-0 {
				margin-top: 0;
			}

			.sm\:mt-6 {
				margin-top: 1.5rem;
			}

			.sm\:mt-8 {
				margin-top: 2rem;
			}

			.sm\:flex {
				display: flex;
			}

			.sm\:h-4 {
				height: 1rem;
			}

			.sm\:h-5 {
				height: 1.25rem;
			}

			.sm\:h-\[450px\] {
				height: 450px;
			}

			.sm\:h-\[60vh\] {
				height: 60vh;
			}

			.sm\:w-4 {
				width: 1rem;
			}

			.sm\:w-5 {
				width: 1.25rem;
			}

			.sm\:w-auto {
				width: auto;
			}

			.sm\:max-w-sm {
				max-width: 24rem;
			}

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

			.sm\:grid-cols-3 {
				grid-template-columns: repeat(3, minmax(0, 1fr));
			}

			.sm\:flex-row {
				flex-direction: row;
			}

			.sm\:flex-col {
				flex-direction: column;
			}

			.sm\:items-center {
				align-items: center;
			}

			.sm\:justify-start {
				justify-content: flex-start;
			}

			.sm\:justify-end {
				justify-content: flex-end;
			}

			.sm\:justify-between {
				justify-content: space-between;
			}

			.sm\:gap-2\.5 {
				gap: 0.625rem;
			}

			.sm\:gap-3 {
				gap: 0.75rem;
			}

			.sm\:gap-4 {
				gap: 1rem;
			}

			.sm\:gap-6 {
				gap: 1.5rem;
			}

			.sm\:space-x-2> :not([hidden])~ :not([hidden]) {
				--tw-space-x-reverse: 0;
				margin-right: calc(0.5rem * var(--tw-space-x-reverse));
				margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
			}

			.sm\:space-x-4> :not([hidden])~ :not([hidden]) {
				--tw-space-x-reverse: 0;
				margin-right: calc(1rem * var(--tw-space-x-reverse));
				margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
			}

			.sm\:space-y-0> :not([hidden])~ :not([hidden]) {
				--tw-space-y-reverse: 0;
				margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
				margin-bottom: calc(0px * var(--tw-space-y-reverse));
			}

			.sm\:rounded-lg {
				border-radius: var(--radius);
			}

			.sm\:p-3 {
				padding: 0.75rem;
			}

			.sm\:p-4 {
				padding: 1rem;
			}

			.sm\:p-6 {
				padding: 1.5rem;
			}

			.sm\:px-4 {
				padding-left: 1rem;
				padding-right: 1rem;
			}

			.sm\:px-6 {
				padding-left: 1.5rem;
				padding-right: 1.5rem;
			}

			.sm\:px-8 {
				padding-left: 2rem;
				padding-right: 2rem;
			}

			.sm\:py-12 {
				padding-top: 3rem;
				padding-bottom: 3rem;
			}

			.sm\:py-2 {
				padding-top: 0.5rem;
				padding-bottom: 0.5rem;
			}

			.sm\:pt-24 {
				padding-top: 6rem;
			}

			.sm\:text-left {
				text-align: left;
			}

			.sm\:text-2xl {
				font-size: 1.5rem;
				line-height: 2rem;
			}

			.sm\:text-3xl {
				font-size: 1.875rem;
				line-height: 2.25rem;
			}

			.sm\:text-4xl {
				font-size: 2.25rem;
				line-height: 2.5rem;
			}

			.sm\:text-base {
				font-size: 1rem;
				line-height: 1.5rem;
			}

			.sm\:text-lg {
				font-size: 1.125rem;
				line-height: 1.75rem;
			}

			.sm\:text-sm {
				font-size: 0.875rem;
				line-height: 1.25rem;
			}

			.sm\:text-xl {
				font-size: 1.25rem;
				line-height: 1.75rem;
			}

			.sm\:text-xs {
				font-size: 0.75rem;
				line-height: 1rem;
			}

			.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
				--tw-enter-translate-y: 100%;
			}
		}

		@media (min-width: 768px) {
			.md\:absolute {
				position: absolute;
			}

			.md\:col-span-2 {
				grid-column: span 2 / span 2;
			}

			.md\:col-span-4 {
				grid-column: span 4 / span 4;
			}

			.md\:col-span-8 {
				grid-column: span 8 / span 8;
			}

			.md\:mb-0 {
				margin-bottom: 0;
			}

			.md\:mb-12 {
				margin-bottom: 3rem;
			}

			.md\:mb-16 {
				margin-bottom: 4rem;
			}

			.md\:mb-2 {
				margin-bottom: 0.5rem;
			}

			.md\:mb-3 {
				margin-bottom: 0.75rem;
			}

			.md\:mt-0 {
				margin-top: 0;
			}

			.md\:mt-8 {
				margin-top: 2rem;
			}

			.md\:block {
				display: block;
			}

			.md\:flex {
				display: flex;
			}

			.md\:grid {
				display: grid;
			}

			.md\:hidden {
				display: none;
			}

			.md\:h-12 {
				height: 3rem;
			}

			.md\:h-6 {
				height: 1.5rem;
			}

			.md\:h-\[500px\] {
				height: 500px;
			}

			.md\:h-\[50vh\] {
				height: 50vh;
			}

			.md\:h-full {
				height: 100%;
			}

			.md\:w-1\/2 {
				width: 50%;
			}

			.md\:w-12 {
				width: 3rem;
			}

			.md\:w-6 {
				width: 1.5rem;
			}

			.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
				width: var(--radix-navigation-menu-viewport-width);
			}

			.md\:w-auto {
				width: auto;
			}

			.md\:max-w-\[420px\] {
				max-width: 420px;
			}

			.md\:basis-1\/3 {
				flex-basis: 33.333333%;
			}

			.md\:-translate-x-1\/2 {
				--tw-translate-x: -50%;
				transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
			}

			.md\:grid-cols-12 {
				grid-template-columns: repeat(12, minmax(0, 1fr));
			}

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

			.md\:grid-cols-3 {
				grid-template-columns: repeat(3, minmax(0, 1fr));
			}

			.md\:flex-row {
				flex-direction: row;
			}

			.md\:flex-row-reverse {
				flex-direction: row-reverse;
			}

			.md\:items-center {
				align-items: center;
			}

			.md\:justify-center {
				justify-content: center;
			}

			.md\:gap-4 {
				gap: 1rem;
			}

			.md\:p-5 {
				padding: 1.25rem;
			}

			.md\:p-8 {
				padding: 2rem;
			}

			.md\:px-12 {
				padding-left: 3rem;
				padding-right: 3rem;
			}

			.md\:px-8 {
				padding-left: 2rem;
				padding-right: 2rem;
			}

			.md\:py-16 {
				padding-top: 4rem;
				padding-bottom: 4rem;
			}

			.md\:py-24 {
				padding-top: 6rem;
				padding-bottom: 6rem;
			}

			.md\:py-\[25px\] {
				padding-top: 25px;
				padding-bottom: 25px;
			}

			.md\:py-\[50px\] {
				padding-top: 50px;
				padding-bottom: 50px;
			}

			.md\:pt-32 {
				padding-top: 8rem;
			}

			.md\:text-center {
				text-align: center;
			}

			.md\:text-3xl {
				font-size: 1.875rem;
				line-height: 2.25rem;
			}

			.md\:text-4xl {
				font-size: 2.25rem;
				line-height: 2.5rem;
			}

			.md\:text-5xl {
				font-size: 3rem;
				line-height: 1;
			}

			.md\:text-8xl {
				font-size: 6rem;
				line-height: 1;
			}

			.md\:text-lg {
				font-size: 1.125rem;
				line-height: 1.75rem;
			}

			.md\:text-sm {
				font-size: 0.875rem;
				line-height: 1.25rem;
			}

			.md\:text-xl {
				font-size: 1.25rem;
				line-height: 1.75rem;
			}

			.md\:opacity-0 {
				opacity: 0;
			}

			.md\:opacity-30 {
				opacity: 0.3;
			}

			.after\:md\:hidden:after {
				content: var(--tw-content);
				display: none;
			}

			.peer[data-variant="inset"]~.md\:peer-data-\[variant\=inset\]\:m-2 {
				margin: 0.5rem;
			}

			.peer[data-state="collapsed"][data-variant="inset"]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2 {
				margin-left: 0.5rem;
			}

			.peer[data-variant="inset"]~.md\:peer-data-\[variant\=inset\]\:ml-0 {
				margin-left: 0;
			}

			.peer[data-variant="inset"]~.md\:peer-data-\[variant\=inset\]\:rounded-xl {
				border-radius: 0.75rem;
			}

			.peer[data-variant="inset"]~.md\:peer-data-\[variant\=inset\]\:shadow {
				--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
				--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
				box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000),
					var(--tw-shadow);
			}
		}

		@media (min-width: 1024px) {
			.lg\:col-span-2 {
				grid-column: span 2 / span 2;
			}

			.lg\:col-span-3 {
				grid-column: span 3 / span 3;
			}

			.lg\:col-span-9 {
				grid-column: span 9 / span 9;
			}

			.lg\:flex {
				display: flex;
			}

			.lg\:hidden {
				display: none;
			}

			.lg\:h-\[550px\] {
				height: 550px;
			}

			.lg\:grid-cols-3 {
				grid-template-columns: repeat(3, minmax(0, 1fr));
			}

			.lg\:grid-cols-4 {
				grid-template-columns: repeat(4, minmax(0, 1fr));
			}

			.lg\:flex-row {
				flex-direction: row;
			}

			.lg\:p-6 {
				padding: 1.5rem;
			}

			.lg\:px-8 {
				padding-left: 2rem;
				padding-right: 2rem;
			}

			.lg\:text-3xl {
				font-size: 1.875rem;
				line-height: 2.25rem;
			}

			.lg\:text-5xl {
				font-size: 3rem;
				line-height: 1;
			}
		}

		@media (min-width: 1280px) {
			.xl\:h-\[600px\] {
				height: 600px;
			}
		}

		.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]) {
			background-color: hsl(var(--accent));
		}

		.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child {
			border-top-left-radius: calc(var(--radius) - 2px);
			border-bottom-left-radius: calc(var(--radius) - 2px);
		}

		.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child {
			border-top-right-radius: calc(var(--radius) - 2px);
			border-bottom-right-radius: calc(var(--radius) - 2px);
		}

		.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside) {
			background-color: hsl(var(--accent) / 0.5);
		}

		.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end) {
			border-top-right-radius: calc(var(--radius) - 2px);
			border-bottom-right-radius: calc(var(--radius) - 2px);
		}

		.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role="checkbox"]) {
			padding-right: 0;
		}

		.\[\&\>button\]\:hidden>button {
			display: none;
		}

		.\[\&\>span\:last-child\]\:truncate>span:last-child {
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		.\[\&\>span\]\:line-clamp-1>span {
			overflow: hidden;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 1;
		}

		.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
			--tw-translate-y: -3px;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.\[\&\>svg\]\:absolute>svg {
			position: absolute;
		}

		.\[\&\>svg\]\:left-4>svg {
			left: 1rem;
		}

		.\[\&\>svg\]\:top-4>svg {
			top: 1rem;
		}

		.\[\&\>svg\]\:size-3\.5>svg {
			width: 0.875rem;
			height: 0.875rem;
		}

		.\[\&\>svg\]\:size-4>svg {
			width: 1rem;
			height: 1rem;
		}

		.\[\&\>svg\]\:h-2\.5>svg {
			height: 0.625rem;
		}

		.\[\&\>svg\]\:h-3>svg {
			height: 0.75rem;
		}

		.\[\&\>svg\]\:w-2\.5>svg {
			width: 0.625rem;
		}

		.\[\&\>svg\]\:w-3>svg {
			width: 0.75rem;
		}

		.\[\&\>svg\]\:shrink-0>svg {
			flex-shrink: 0;
		}

		.\[\&\>svg\]\:text-destructive>svg {
			color: hsl(var(--destructive));
		}

		.\[\&\>svg\]\:text-foreground>svg {
			color: hsl(var(--foreground));
		}

		.\[\&\>svg\]\:text-muted-foreground>svg {
			color: hsl(var(--muted-foreground));
		}

		.\[\&\>svg\]\:text-sidebar-accent-foreground>svg {
			color: hsl(var(--sidebar-accent-foreground));
		}

		.\[\&\>svg\~\*\]\:pl-7>svg~* {
			padding-left: 1.75rem;
		}

		.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
			border-bottom-width: 0px;
		}

		.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction="vertical"]>div {
			--tw-rotate: 90deg;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state="open"]>svg {
			--tw-rotate: 180deg;
			transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
		}

		.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
			fill: hsl(var(--muted-foreground));
		}

		.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"] {
			stroke: hsl(var(--border) / 0.5);
		}

		.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
			stroke: hsl(var(--border));
		}

		.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"] {
			stroke: transparent;
		}

		.\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
			outline: 2px solid transparent;
			outline-offset: 2px;
		}

		.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"] {
			stroke: hsl(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: hsl(var(--muted));
		}

		.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"] {
			stroke: hsl(var(--border));
		}

		.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"] {
			stroke: transparent;
		}

		.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,
		.\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
			outline: 2px solid transparent;
			outline-offset: 2px;
		}

		.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
			padding-left: 0.5rem;
			padding-right: 0.5rem;
		}

		.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
			padding-top: 0.375rem;
			padding-bottom: 0.375rem;
		}

		.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
			font-size: 0.75rem;
			line-height: 1rem;
		}

		.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
			font-weight: 500;
		}

		.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
			color: hsl(var(--muted-foreground));
		}

		.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group] {
			padding-top: 0;
		}

		.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
			padding-left: 0.5rem;
			padding-right: 0.5rem;
		}

		.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
			height: 1.25rem;
		}

		.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
			width: 1.25rem;
		}

		.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
			height: 3rem;
		}

		.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
			padding-left: 0.5rem;
			padding-right: 0.5rem;
		}

		.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
			padding-top: 0.75rem;
			padding-bottom: 0.75rem;
		}

		.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
			height: 1.25rem;
		}

		.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
			width: 1.25rem;
		}

		.\[\&_p\]\:leading-relaxed p {
			line-height: 1.625;
		}

		.\[\&_svg\]\:pointer-events-none svg {
			pointer-events: none;
		}

		.\[\&_svg\]\:size-4 svg {
			width: 1rem;
			height: 1rem;
		}

		.\[\&_svg\]\:shrink-0 svg {
			flex-shrink: 0;
		}

		.\[\&_tr\:last-child\]\:border-0 tr:last-child {
			border-width: 0px;
		}

		.\[\&_tr\]\:border-b tr {
			border-bottom-width: 1px;
		}

		[data-side="left"][data-collapsible="offcanvas"] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
			right: -0.5rem;
		}

		[data-side="left"][data-state="collapsed"] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
			cursor: e-resize;
		}

		[data-side="left"] .\[\[data-side\=left\]_\&\]\:cursor-w-resize {
			cursor: w-resize;
		}

		[data-side="right"][data-collapsible="offcanvas"] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
			left: -0.5rem;
		}

		[data-side="right"][data-state="collapsed"] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
			cursor: w-resize;
		}

		[data-side="right"] .\[\[data-side\=right\]_\&\]\:cursor-e-resize {
			cursor: e-resize;
		}

:where(html[dir="ltr"]),
		:where([data-sonner-toaster][dir="ltr"]) {
			--toast-icon-margin-start: -3px;
			--toast-icon-margin-end: 4px;
			--toast-svg-margin-start: -1px;
			--toast-svg-margin-end: 0px;
			--toast-button-margin-start: auto;
			--toast-button-margin-end: 0;
			--toast-close-button-start: 0;
			--toast-close-button-end: unset;
			--toast-close-button-transform: translate(-35%, -35%);
		}

		:where(html[dir="rtl"]),
		:where([data-sonner-toaster][dir="rtl"]) {
			--toast-icon-margin-start: 4px;
			--toast-icon-margin-end: -3px;
			--toast-svg-margin-start: 0px;
			--toast-svg-margin-end: -1px;
			--toast-button-margin-start: 0;
			--toast-button-margin-end: auto;
			--toast-close-button-start: unset;
			--toast-close-button-end: 0;
			--toast-close-button-transform: translate(35%, -35%);
		}

		:where([data-sonner-toaster]) {
			position: fixed;
			width: var(--width);
			font-family:
				ui-sans-serif,
				system-ui,
				-apple-system,
				BlinkMacSystemFont,
				Segoe UI,
				Roboto,
				Helvetica Neue,
				Arial,
				Noto Sans,
				sans-serif,
				Apple Color Emoji,
				Segoe UI Emoji,
				Segoe UI Symbol,
				Noto Color Emoji;
			--gray1: hsl(0, 0%, 99%);
			--gray2: hsl(0, 0%, 97.3%);
			--gray3: hsl(0, 0%, 95.1%);
			--gray4: hsl(0, 0%, 93%);
			--gray5: hsl(0, 0%, 90.9%);
			--gray6: hsl(0, 0%, 88.7%);
			--gray7: hsl(0, 0%, 85.8%);
			--gray8: hsl(0, 0%, 78%);
			--gray9: hsl(0, 0%, 56.1%);
			--gray10: hsl(0, 0%, 52.3%);
			--gray11: hsl(0, 0%, 43.5%);
			--gray12: hsl(0, 0%, 9%);
			--border-radius: 8px;
			box-sizing: border-box;
			padding: 0;
			margin: 0;
			list-style: none;
			outline: none;
			z-index: 999999999;
		}

		:where([data-sonner-toaster][data-x-position="right"]) {
			right: max(var(--offset), env(safe-area-inset-right));
		}

		:where([data-sonner-toaster][data-x-position="left"]) {
			left: max(var(--offset), env(safe-area-inset-left));
		}

		:where([data-sonner-toaster][data-x-position="center"]) {
			left: 50%;
			transform: translate(-50%);
		}

		:where([data-sonner-toaster][data-y-position="top"]) {
			top: max(var(--offset), env(safe-area-inset-top));
		}

		:where([data-sonner-toaster][data-y-position="bottom"]) {
			bottom: max(var(--offset), env(safe-area-inset-bottom));
		}

		:where([data-sonner-toast]) {
			--y: translateY(100%);
			--lift-amount: calc(var(--lift) * var(--gap));
			z-index: var(--z-index);
			position: absolute;
			opacity: 0;
			transform: var(--y);
			filter: blur(0);
			touch-action: none;
			transition:
				transform 0.4s,
				opacity 0.4s,
				height 0.4s,
				box-shadow 0.2s;
			box-sizing: border-box;
			outline: none;
			overflow-wrap: anywhere;
		}

		:where([data-sonner-toast][data-styled="true"]) {
			padding: 16px;
			background: var(--normal-bg);
			border: 1px solid var(--normal-border);
			color: var(--normal-text);
			border-radius: var(--border-radius);
			box-shadow: 0 4px 12px #0000001a;
			width: var(--width);
			font-size: 13px;
			display: flex;
			align-items: center;
			gap: 6px;
		}

		:where([data-sonner-toast]:focus-visible) {
			box-shadow:
				0 4px 12px #0000001a,
				0 0 0 2px #0003;
		}

		:where([data-sonner-toast][data-y-position="top"]) {
			top: 0;
			--y: translateY(-100%);
			--lift: 1;
			--lift-amount: calc(1 * var(--gap));
		}

		:where([data-sonner-toast][data-y-position="bottom"]) {
			bottom: 0;
			--y: translateY(100%);
			--lift: -1;
			--lift-amount: calc(var(--lift) * var(--gap));
		}

		:where([data-sonner-toast]) :where([data-description]) {
			font-weight: 400;
			line-height: 1.4;
			color: inherit;
		}

		:where([data-sonner-toast]) :where([data-title]) {
			font-weight: 500;
			line-height: 1.5;
			color: inherit;
		}

		:where([data-sonner-toast]) :where([data-icon]) {
			display: flex;
			height: 16px;
			width: 16px;
			position: relative;
			justify-content: flex-start;
			align-items: center;
			flex-shrink: 0;
			margin-left: var(--toast-icon-margin-start);
			margin-right: var(--toast-icon-margin-end);
		}

		:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg {
			opacity: 0;
			transform: scale(0.8);
			transform-origin: center;
			animation: sonner-fade-in 0.3s ease forwards;
		}

		:where([data-sonner-toast]) :where([data-icon])>* {
			flex-shrink: 0;
		}

		:where([data-sonner-toast]) :where([data-icon]) svg {
			margin-left: var(--toast-svg-margin-start);
			margin-right: var(--toast-svg-margin-end);
		}

		:where([data-sonner-toast]) :where([data-content]) {
			display: flex;
			flex-direction: column;
			gap: 2px;
		}

		[data-sonner-toast][data-styled="true"] [data-button] {
			border-radius: 4px;
			padding-left: 8px;
			padding-right: 8px;
			height: 24px;
			font-size: 12px;
			color: var(--normal-bg);
			background: var(--normal-text);
			margin-left: var(--toast-button-margin-start);
			margin-right: var(--toast-button-margin-end);
			border: none;
			cursor: pointer;
			outline: none;
			display: flex;
			align-items: center;
			flex-shrink: 0;
			transition:
				opacity 0.4s,
				box-shadow 0.2s;
		}

		:where([data-sonner-toast]) :where([data-button]):focus-visible {
			box-shadow: 0 0 0 2px #0006;
		}

		:where([data-sonner-toast]) :where([data-button]):first-of-type {
			margin-left: var(--toast-button-margin-start);
			margin-right: var(--toast-button-margin-end);
		}

		:where([data-sonner-toast]) :where([data-cancel]) {
			color: var(--normal-text);
			background: rgba(0, 0, 0, 0.08);
		}

		:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]) {
			background: rgba(255, 255, 255, 0.3);
		}

		:where([data-sonner-toast]) :where([data-close-button]) {
			position: absolute;
			left: var(--toast-close-button-start);
			right: var(--toast-close-button-end);
			top: 0;
			height: 20px;
			width: 20px;
			display: flex;
			justify-content: center;
			align-items: center;
			padding: 0;
			background: var(--gray1);
			color: var(--gray12);
			border: 1px solid var(--gray4);
			transform: var(--toast-close-button-transform);
			border-radius: 50%;
			cursor: pointer;
			z-index: 1;
			transition:
				opacity 0.1s,
				background 0.2s,
				border-color 0.2s;
		}

		:where([data-sonner-toast]) :where([data-close-button]):focus-visible {
			box-shadow:
				0 4px 12px #0000001a,
				0 0 0 2px #0003;
		}

		:where([data-sonner-toast]) :where([data-disabled="true"]) {
			cursor: not-allowed;
		}

		:where([data-sonner-toast]):hover :where([data-close-button]):hover {
			background: var(--gray2);
			border-color: var(--gray5);
		}

		:where([data-sonner-toast][data-swiping="true"]):before {
			content: "";
			position: absolute;
			left: 0;
			right: 0;
			height: 100%;
			z-index: -1;
		}

		:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before {
			bottom: 50%;
			transform: scaleY(3) translateY(50%);
		}

		:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before {
			top: 50%;
			transform: scaleY(3) translateY(-50%);
		}

		:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before {
			content: "";
			position: absolute;
			inset: 0;
			transform: scaleY(2);
		}

		:where([data-sonner-toast]):after {
			content: "";
			position: absolute;
			left: 0;
			height: calc(var(--gap) + 1px);
			bottom: 100%;
			width: 100%;
		}

		:where([data-sonner-toast][data-mounted="true"]) {
			--y: translateY(0);
			opacity: 1;
		}

		:where([data-sonner-toast][data-expanded="false"][data-front="false"]) {
			--scale: var(--toasts-before) * 0.05 + 1;
			--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));
			height: var(--front-toast-height);
		}

		:where([data-sonner-toast])>* {
			transition: opacity 0.4s;
		}

		:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>* {
			opacity: 0;
		}

		:where([data-sonner-toast][data-visible="false"]) {
			opacity: 0;
			pointer-events: none;
		}

		:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]) {
			--y: translateY(calc(var(--lift) * var(--offset)));
			height: var(--initial-height);
		}

		:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]) {
			--y: translateY(calc(var(--lift) * -100%));
			opacity: 0;
		}

		:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]) {
			--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));
			opacity: 0;
		}

		:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]) {
			--y: translateY(40%);
			opacity: 0;
			transition:
				transform 0.5s,
				opacity 0.2s;
		}

		:where([data-sonner-toast][data-removed="true"][data-front="false"]):before {
			height: calc(var(--initial-height) + 20%);
		}

		[data-sonner-toast][data-swiping="true"] {
			transform: var(--y) translateY(var(--swipe-amount, 0px));
			transition: none;
		}

		[data-sonner-toast][data-swipe-out="true"][data-y-position="bottom"],
		[data-sonner-toast][data-swipe-out="true"][data-y-position="top"] {
			animation: swipe-out 0.2s ease-out forwards;
		}

		@keyframes swipe-out {
			0% {
				transform: translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));
				opacity: 1;
			}

			to {
				transform: translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));
				opacity: 0;
			}
		}

		@media (max-width: 600px) {
			[data-sonner-toaster] {
				position: fixed;
				--mobile-offset: 16px;
				right: var(--mobile-offset);
				left: var(--mobile-offset);
				width: 100%;
			}

			[data-sonner-toaster] [data-sonner-toast] {
				left: 0;
				right: 0;
				width: calc(100% - var(--mobile-offset) * 2);
			}

			[data-sonner-toaster][data-x-position="left"] {
				left: var(--mobile-offset);
			}

			[data-sonner-toaster][data-y-position="bottom"] {
				bottom: 20px;
			}

			[data-sonner-toaster][data-y-position="top"] {
				top: 20px;
			}

			[data-sonner-toaster][data-x-position="center"] {
				left: var(--mobile-offset);
				right: var(--mobile-offset);
				transform: none;
			}
		}

		[data-sonner-toaster][data-theme="light"] {
			--normal-bg: #fff;
			--normal-border: var(--gray4);
			--normal-text: var(--gray12);
			--success-bg: hsl(143, 85%, 96%);
			--success-border: hsl(145, 92%, 91%);
			--success-text: hsl(140, 100%, 27%);
			--info-bg: hsl(208, 100%, 97%);
			--info-border: hsl(221, 91%, 91%);
			--info-text: hsl(210, 92%, 45%);
			--warning-bg: hsl(49, 100%, 97%);
			--warning-border: hsl(49, 91%, 91%);
			--warning-text: hsl(31, 92%, 45%);
			--error-bg: hsl(359, 100%, 97%);
			--error-border: hsl(359, 100%, 94%);
			--error-text: hsl(360, 100%, 45%);
		}

		[data-sonner-toaster][data-theme="light"] [data-sonner-toast][data-invert="true"] {
			--normal-bg: #000;
			--normal-border: hsl(0, 0%, 20%);
			--normal-text: var(--gray1);
		}

		[data-sonner-toaster][data-theme="dark"] [data-sonner-toast][data-invert="true"] {
			--normal-bg: #fff;
			--normal-border: var(--gray3);
			--normal-text: var(--gray12);
		}

		[data-sonner-toaster][data-theme="dark"] {
			--normal-bg: #000;
			--normal-border: hsl(0, 0%, 20%);
			--normal-text: var(--gray1);
			--success-bg: hsl(150, 100%, 6%);
			--success-border: hsl(147, 100%, 12%);
			--success-text: hsl(150, 86%, 65%);
			--info-bg: hsl(215, 100%, 6%);
			--info-border: hsl(223, 100%, 12%);
			--info-text: hsl(216, 87%, 65%);
			--warning-bg: hsl(64, 100%, 6%);
			--warning-border: hsl(60, 100%, 12%);
			--warning-text: hsl(46, 87%, 65%);
			--error-bg: hsl(358, 76%, 10%);
			--error-border: hsl(357, 89%, 16%);
			--error-text: hsl(358, 100%, 81%);
		}

		[data-rich-colors="true"][data-sonner-toast][data-type="success"],
		[data-rich-colors="true"][data-sonner-toast][data-type="success"] [data-close-button] {
			background: var(--success-bg);
			border-color: var(--success-border);
			color: var(--success-text);
		}

		[data-rich-colors="true"][data-sonner-toast][data-type="info"],
		[data-rich-colors="true"][data-sonner-toast][data-type="info"] [data-close-button] {
			background: var(--info-bg);
			border-color: var(--info-border);
			color: var(--info-text);
		}

		[data-rich-colors="true"][data-sonner-toast][data-type="warning"],
		[data-rich-colors="true"][data-sonner-toast][data-type="warning"] [data-close-button] {
			background: var(--warning-bg);
			border-color: var(--warning-border);
			color: var(--warning-text);
		}

		[data-rich-colors="true"][data-sonner-toast][data-type="error"],
		[data-rich-colors="true"][data-sonner-toast][data-type="error"] [data-close-button] {
			background: var(--error-bg);
			border-color: var(--error-border);
			color: var(--error-text);
		}

		.sonner-loading-wrapper {
			--size: 16px;
			height: var(--size);
			width: var(--size);
			position: absolute;
			inset: 0;
			z-index: 10;
		}

		.sonner-loading-wrapper[data-visible="false"] {
			transform-origin: center;
			animation: sonner-fade-out 0.2s ease forwards;
		}

		.sonner-spinner {
			position: relative;
			top: 50%;
			left: 50%;
			height: var(--size);
			width: var(--size);
		}

		.sonner-loading-bar {
			animation: sonner-spin 1.2s linear infinite;
			background: var(--gray11);
			border-radius: 6px;
			height: 8%;
			left: -10%;
			position: absolute;
			top: -3.9%;
			width: 24%;
		}

		.sonner-loading-bar:nth-child(1) {
			animation-delay: -1.2s;
			transform: rotate(0.0001deg) translate(146%);
		}

		.sonner-loading-bar:nth-child(2) {
			animation-delay: -1.1s;
			transform: rotate(30deg) translate(146%);
		}

		.sonner-loading-bar:nth-child(3) {
			animation-delay: -1s;
			transform: rotate(60deg) translate(146%);
		}

		.sonner-loading-bar:nth-child(4) {
			animation-delay: -0.9s;
			transform: rotate(90deg) translate(146%);
		}

		.sonner-loading-bar:nth-child(5) {
			animation-delay: -0.8s;
			transform: rotate(120deg) translate(146%);
		}

		.sonner-loading-bar:nth-child(6) {
			animation-delay: -0.7s;
			transform: rotate(150deg) translate(146%);
		}

		.sonner-loading-bar:nth-child(7) {
			animation-delay: -0.6s;
			transform: rotate(180deg) translate(146%);
		}

		.sonner-loading-bar:nth-child(8) {
			animation-delay: -0.5s;
			transform: rotate(210deg) translate(146%);
		}

		.sonner-loading-bar:nth-child(9) {
			animation-delay: -0.4s;
			transform: rotate(240deg) translate(146%);
		}

		.sonner-loading-bar:nth-child(10) {
			animation-delay: -0.3s;
			transform: rotate(270deg) translate(146%);
		}

		.sonner-loading-bar:nth-child(11) {
			animation-delay: -0.2s;
			transform: rotate(300deg) translate(146%);
		}

		.sonner-loading-bar:nth-child(12) {
			animation-delay: -0.1s;
			transform: rotate(330deg) translate(146%);
		}

		@keyframes sonner-fade-in {
			0% {
				opacity: 0;
				transform: scale(0.8);
			}

			to {
				opacity: 1;
				transform: scale(1);
			}
		}

		@keyframes sonner-fade-out {
			0% {
				opacity: 1;
				transform: scale(1);
			}

			to {
				opacity: 0;
				transform: scale(0.8);
			}
		}

		@keyframes sonner-spin {
			0% {
				opacity: 1;
			}

			to {
				opacity: 0.15;
			}
		}

		@media (prefers-reduced-motion) {

			[data-sonner-toast],
			[data-sonner-toast]>*,
			.sonner-loading-bar {
				transition: none !important;
				animation: none !important;
			}
		}

		.sonner-loader {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			transform-origin: center;
			transition:
				opacity 0.2s,
				transform 0.2s;
		}

		.sonner-loader[data-visible="false"] {
			opacity: 0;
			transform: scale(0.8) translate(-50%, -50%);
		}/* Component tokens extracted for maintainability */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	white-space: nowrap;
	border-radius: 0.375rem;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 600;
	transition: all 0.2s ease-in-out;
	text-decoration: none;
	border: none;
	cursor: pointer;
	position: relative;
}

.btn svg {
	pointer-events: none;
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.btn:focus-visible {
	outline: 2px solid hsl(var(--neon-pink));
	outline-offset: 2px;
}

.btn--lg {
	padding: 0.75rem 2rem;
	font-size: 1rem;
	line-height: 1.5rem;
	font-weight: 700;
}

.btn--xl {
	padding: 1rem 3rem;
	font-size: 1.25rem;
	line-height: 1.75rem;
	font-weight: 700;
}

.btn--full {
	width: 100%;
}

.btn--pink {
	background-color: hsl(var(--neon-pink));
	color: hsl(var(--primary-foreground));
}

.btn--pink:hover {
	background-color: hsl(var(--neon-pink) / 0.8);
}

.btn[disabled],
.btn[aria-disabled="true"] {
	opacity: 0.5;
	cursor: not-allowed;
}
.btn--outline {
	border: 1px solid hsl(var(--neon-purple));
	background-color: transparent;
	color: hsl(var(--neon-purple));
}

.btn--outline:hover {
	background-color: hsl(var(--neon-purple));
	color: hsl(var(--primary-foreground));
}

/* ============================================
   WOW EFFECTS - All 15 Visual Enhancements
   ============================================ */

html {
	scroll-behavior: smooth;
}

/* 1. SCROLL-TRIGGERED ANIMATIONS */
.reveal {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.revealed {
	opacity: 1;
	transform: translateY(0);
}
.reveal-left {
	opacity: 0;
	transform: translateX(-60px);
	transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-left.revealed {
	opacity: 1;
	transform: translateX(0);
}
.reveal-right {
	opacity: 0;
	transform: translateX(60px);
	transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-right.revealed {
	opacity: 1;
	transform: translateX(0);
}
.reveal-scale {
	opacity: 0;
	transform: scale(0.8);
	transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-scale.revealed {
	opacity: 1;
	transform: scale(1);
}
.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }
.stagger-4 { transition-delay: 0.4s; }
.stagger-5 { transition-delay: 0.5s; }

/* 2. AUDIO VISUALIZER */
#audio-visualizer {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 200px;
	pointer-events: none;
	z-index: 1;
	opacity: 0.4;
}

/* 3. CURSOR GLOW */
#cursor-glow {
	position: fixed;
	width: 400px;
	height: 400px;
	border-radius: 50%;
	pointer-events: none;
	z-index: 9999;
	background: radial-gradient(circle, rgba(255,20,147,0.15) 0%, rgba(138,43,226,0.08) 40%, transparent 70%);
	transform: translate(-50%, -50%);
	transition: opacity 0.3s ease;
	mix-blend-mode: screen;
}

/* 4. PARALLAX */
.parallax-slow { transition: transform 0.1s linear; }
.parallax-medium { transition: transform 0.1s linear; }
.parallax-fast { transition: transform 0.1s linear; }

/* 5. TEXT REVEAL / GLITCH */
.text-reveal {
	display: inline-block;
	overflow: hidden;
}
.text-reveal span {
	display: inline-block;
	opacity: 0;
	transform: translateY(100%);
	animation: textRevealUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes textRevealUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.glitch {
	position: relative;
}
.glitch::before,
.glitch::after {
	content: attr(data-text);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.glitch::before {
	animation: glitch-1 0.3s infinite linear alternate-reverse;
	clip-path: polygon(0 0, 100% 0, 100% 35%, 0 35%);
	color: hsl(325, 100%, 60%);
}
.glitch::after {
	animation: glitch-2 0.3s infinite linear alternate-reverse;
	clip-path: polygon(0 65%, 100% 65%, 100% 100%, 0 100%);
	color: hsl(240, 100%, 70%);
}
@keyframes glitch-1 {
	0% { transform: translate(0); }
	20% { transform: translate(-3px, 3px); }
	40% { transform: translate(-3px, -3px); }
	60% { transform: translate(3px, 3px); }
	80% { transform: translate(3px, -3px); }
	100% { transform: translate(0); }
}
@keyframes glitch-2 {
	0% { transform: translate(0); }
	20% { transform: translate(3px, -3px); }
	40% { transform: translate(3px, 3px); }
	60% { transform: translate(-3px, -3px); }
	80% { transform: translate(-3px, 3px); }
	100% { transform: translate(0); }
}

/* 6. 3D TILT CARDS */
.tilt-card {
	transform-style: preserve-3d;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.tilt-card:hover {
	box-shadow: 0 25px 50px -12px rgba(255, 20, 147, 0.25);
}
.tilt-card .tilt-glare {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: inherit;
	background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, transparent 50%);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}
.tilt-card:hover .tilt-glare {
	opacity: 1;
}

/* 7. TICKET SPOTLIGHT */
.spotlight-container {
	position: relative;
	overflow: visible;
}
.spotlight {
	position: absolute;
	top: -100px;
	left: 50%;
	transform: translateX(-50%);
	width: 300px;
	height: 400px;
	background: conic-gradient(from 180deg at 50% 0%, transparent 45%, rgba(255,20,147,0.3) 50%, transparent 55%);
	animation: spotlightSweep 4s ease-in-out infinite;
	pointer-events: none;
	z-index: 0;
}
@keyframes spotlightSweep {
	0%, 100% { transform: translateX(-50%) rotate(-15deg); }
	50% { transform: translateX(-50%) rotate(15deg); }
}
.sparkle {
	position: absolute;
	width: 4px;
	height: 4px;
	background: white;
	border-radius: 50%;
	animation: sparkle 2s ease-in-out infinite;
	pointer-events: none;
}
@keyframes sparkle {
	0%, 100% { opacity: 0; transform: scale(0); }
	50% { opacity: 1; transform: scale(1); }
}

/* 8. COUNTDOWN TIMER */
.countdown {
	display: flex;
	gap: 1rem;
	justify-content: center;
}
.countdown-item {
	text-align: center;
	padding: 1rem 1.5rem;
	background: rgba(10, 14, 26, 0.8);
	border: 1px solid rgba(255, 20, 147, 0.3);
	border-radius: 0.5rem;
	min-width: 80px;
}
.countdown-number {
	font-size: 2.5rem;
	font-weight: bold;
	background: linear-gradient(135deg, hsl(325, 100%, 60%), hsl(280, 100%, 65%));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	font-variant-numeric: tabular-nums;
}
.countdown-label {
	font-size: 0.75rem;
	color: #9CA3AF;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.countdown-number.flip {
	animation: flipNumber 0.5s ease;
}
@keyframes flipNumber {
	0% { transform: rotateX(0); }
	50% { transform: rotateX(-90deg); }
	100% { transform: rotateX(0); }
}

/* 9. ANIMATED TIMELINE */
.timeline-line {
	stroke-dasharray: 1000;
	stroke-dashoffset: 1000;
	transition: stroke-dashoffset 1.5s ease-out;
}
.timeline-line.animated {
	stroke-dashoffset: 0;
}
.timeline-dot {
	opacity: 0;
	transform: scale(0);
	transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.timeline-dot.animated {
	opacity: 1;
	transform: scale(1);
}

/* 10. NEON UNDERLINE */
.neon-link {
	position: relative;
	text-decoration: none;
}
.neon-link::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 0;
	height: 2px;
	background: linear-gradient(90deg, hsl(325, 100%, 60%), hsl(280, 100%, 65%));
	box-shadow: 0 0 10px hsl(325, 100%, 60%), 0 0 20px hsl(325, 100%, 60%);
	transition: width 0.3s ease;
}
.neon-link:hover::after {
	width: 100%;
}

/* 11. FLOATING PARTICLES */
#particles-canvas {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1;
	opacity: 0.6;
}

/* 12. MAGNETIC BUTTONS */
.magnetic-btn {
	transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* 13. SECTION TRANSITIONS (WAVES) */
.section-wave {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
}
.section-wave svg {
	position: relative;
	display: block;
	width: calc(100% + 1.3px);
	height: 60px;
}
.section-wave .shape-fill {
	fill: var(--wave-color, #101320);
}

/* 14. PRELOADER */
#preloader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #0A0E1A;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}
#preloader.hidden {
	opacity: 0;
	visibility: hidden;
}
.preloader-logo {
	font-size: 3rem;
	font-weight: bold;
	animation: preloaderPulse 1.5s ease-in-out infinite;
}
.preloader-logo .legal {
	color: hsl(325, 100%, 60%);
}
.preloader-logo .beats {
	color: hsl(240, 100%, 70%);
}
.preloader-bar {
	width: 200px;
	height: 4px;
	background: rgba(255,255,255,0.1);
	border-radius: 2px;
	margin-top: 2rem;
	overflow: hidden;
}
.preloader-progress {
	height: 100%;
	background: linear-gradient(90deg, hsl(325, 100%, 60%), hsl(280, 100%, 65%), hsl(240, 100%, 70%));
	animation: preloaderProgress 1.5s ease-out forwards;
}
@keyframes preloaderPulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.05); opacity: 0.8; }
}
@keyframes preloaderProgress {
	0% { width: 0; }
	100% { width: 100%; }
}

/* 15. KONAMI CODE CONFETTI */
.confetti {
	position: fixed;
	width: 10px;
	height: 10px;
	pointer-events: none;
	z-index: 10001;
	animation: confettiFall 3s ease-out forwards;
}
@keyframes confettiFall {
	0% {
		transform: translateY(-100vh) rotate(0deg);
		opacity: 1;
	}
	100% {
		transform: translateY(100vh) rotate(720deg);
		opacity: 0;
	}
}


/* Nav & Footer logo images */
.nav-logo {
	height: 30px;
	width: auto;
	filter: drop-shadow(0 0 6px rgba(255, 20, 147, 0.45))
		drop-shadow(0 0 12px rgba(138, 43, 226, 0.35));
}
.footer-logo {
	height: 36px;
	width: auto;
	filter: drop-shadow(0 0 6px rgba(255, 20, 147, 0.4))
		drop-shadow(0 0 12px rgba(138, 43, 226, 0.3));
}

.hero-logo-wrap {
	position: relative;
	width: fit-content;
	margin: 0 auto 1.75rem;
}
.hero-logo-wrap::before {
	content: "";
	position: absolute;
	inset: -14% -10%;
	background: radial-gradient(circle at 50% 50%, rgba(255, 20, 147, 0.34) 0%, rgba(138, 43, 226, 0.24) 42%, rgba(0, 153, 255, 0.16) 72%, transparent 100%);
	filter: blur(22px);
	z-index: -1;
	pointer-events: none;
}
.hero-logo {
	display: block;
	width: min(560px, 82vw);
	height: auto;
	will-change: filter;
	filter: saturate(1.1) contrast(1.05) brightness(1.02)
		drop-shadow(0 0 8px rgba(255, 20, 147, 0.48))
		drop-shadow(0 0 14px rgba(138, 43, 226, 0.40))
		drop-shadow(0 0 20px rgba(0, 153, 255, 0.25));
	animation: neon-logo-pulse 2s ease-in-out infinite;
}
/* Toggle this class off to show the original hero title again. */
.hero-title-hidden {
	display: none;
}
@keyframes neon-logo-pulse {
	0%,
	100% {
		filter: saturate(1.1) contrast(1.05) brightness(1.02)
			drop-shadow(0 0 8px rgba(255, 20, 147, 0.48))
			drop-shadow(0 0 14px rgba(138, 43, 226, 0.40))
			drop-shadow(0 0 20px rgba(0, 153, 255, 0.25));
	}
	50% {
		filter: saturate(1.14) contrast(1.08) brightness(1.06)
			drop-shadow(0 0 12px rgba(255, 20, 147, 0.60))
			drop-shadow(0 0 22px rgba(138, 43, 226, 0.50))
			drop-shadow(0 0 32px rgba(0, 153, 255, 0.38));
	}
}
/* Hero specific adjustments */
#hero {
	position: relative;
}
#hero > .absolute.inset-0 {
	z-index: 0;
}
#hero > .relative.z-10 {
	z-index: 10;
}
/* ============================================
   TABLET BREAKPOINT
   ============================================ */
@media (max-width: 1024px) {
	.hero-logo {
		width: min(480px, 78vw);
	}
}

/* ============================================
   MOBILE RESPONSIVE FIXES
   ============================================ */
@media (max-width: 767px) {
	/* 1. Hero: allow content to grow beyond viewport so buttons aren't clipped */
	#hero {
		height: auto;
		min-height: 100vh;
		overflow: visible;
	}

	/* 2. Push hero content below fixed nav bar */
	#hero > .relative.z-10 {
		padding-top: 5.5rem;
		padding-bottom: 4rem;
	}

	.hero-logo {
		width: min(440px, 88vw);
		margin-bottom: 1.25rem;
	}

	.nav-logo {
		height: 24px;
	}
	.footer-logo {
		height: 30px;
	}

	/* 3. Scale down hero title so it doesn't overflow */
	#hero h1 {
		font-size: 2.75rem !important;
		line-height: 1.15;
	}

	/* 4. Reduce subtitle / description sizes to fit viewport */
	#hero .text-2xl {
		font-size: 1.2rem;
	}
	#hero .text-lg,
	#hero .text-xl {
		font-size: 0.95rem;
	}

	/* 5. Fix countdown overflowing viewport */
	.countdown {
		gap: 0.4rem;
		padding: 0 0.5rem;
	}
	.countdown-item {
		min-width: 0;
		padding: 0.6rem 0.4rem;
		flex: 1 1 0%;
	}
	.countdown-number {
		font-size: 1.5rem;
	}
	.countdown-label {
		font-size: 0.6rem;
		letter-spacing: 0.03em;
	}

	/* 6. Scroll-down arrow: position relative to content, not viewport */
	#hero > button.absolute {
		position: relative;
		bottom: auto;
		left: auto;
		transform: none;
		margin: 1rem auto 0;
		display: block;
	}
}

/* Extra-small screens (iPhone SE / 375px and below) */
@media (max-width: 390px) {
	#hero > .relative.z-10 {
		padding-top: 5rem;
	}
	.hero-logo {
		width: min(330px, 90vw);
	}
	.nav-logo {
		height: 20px;
	}
	.footer-logo {
		height: 24px;
	}
	#hero h1 {
		font-size: 2.25rem !important;
	}
	.countdown-number {
		font-size: 1.25rem;
	}
	.countdown-item {
		padding: 0.5rem 0.25rem;
	}
}
