/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */
@layer properties {
	@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

		*,
		:before,
		:after,
		::backdrop {
			--tw-border-style: solid;
			--tw-blur: initial;
			--tw-brightness: initial;
			--tw-contrast: initial;
			--tw-grayscale: initial;
			--tw-hue-rotate: initial;
			--tw-invert: initial;
			--tw-opacity: initial;
			--tw-saturate: initial;
			--tw-sepia: initial;
			--tw-drop-shadow: initial;
			--tw-drop-shadow-color: initial;
			--tw-drop-shadow-alpha: 100%;
			--tw-drop-shadow-size: initial;
			--tw-scale-x: 1;
			--tw-scale-y: 1;
			--tw-scale-z: 1
		}
	}
}

@layer theme {

	:root,
	:host {
		--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
		--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
		--color-red-500: oklch(63.7% .237 25.331);
		--color-black: #000;
		--spacing: .25rem;
		--radius-lg: .5rem;
		--drop-shadow-lg: 0 4px 4px #00000026;
		--drop-shadow-2xl: 0 25px 25px #00000026;
		--default-transition-duration: .15s;
		--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
		--default-font-family: var(--font-sans);
		--default-mono-font-family: var(--font-mono)
	}
}

@layer base {

	*,
	:after,
	:before,
	::backdrop {
		box-sizing: border-box;
		border: 0 solid;
		margin: 0;
		padding: 0
	}

	::file-selector-button {
		box-sizing: border-box;
		border: 0 solid;
		margin: 0;
		padding: 0
	}

	html,
	:host {
		-webkit-text-size-adjust: 100%;
		-moz-tab-size: 4;
		tab-size: 4;
		line-height: 1.5;
		font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
		font-feature-settings: var(--default-font-feature-settings, normal);
		font-variation-settings: var(--default-font-variation-settings, normal);
		-webkit-tap-highlight-color: transparent
	}

	hr {
		height: 0;
		color: inherit;
		border-top-width: 1px
	}

	abbr:where([title]) {
		-webkit-text-decoration: underline dotted;
		text-decoration: underline dotted
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-size: inherit;
		font-weight: inherit
	}

	a {
		color: inherit;
		-webkit-text-decoration: inherit;
		text-decoration: inherit
	}

	b,
	strong {
		font-weight: bolder
	}

	code,
	kbd,
	samp,
	pre {
		font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
		font-feature-settings: var(--default-mono-font-feature-settings, normal);
		font-variation-settings: var(--default-mono-font-variation-settings, normal);
		font-size: 1em
	}

	small {
		font-size: 80%
	}

	sub,
	sup {
		vertical-align: baseline;
		font-size: 75%;
		line-height: 0;
		position: relative
	}

	sub {
		bottom: -.25em
	}

	sup {
		top: -.5em
	}

	table {
		text-indent: 0;
		border-color: inherit;
		border-collapse: collapse
	}

	:-moz-focusring {
		outline: auto
	}

	progress {
		vertical-align: baseline
	}

	summary {
		display: list-item
	}

	ol,
	ul,
	menu {
		list-style: none
	}

	img,
	svg,
	video,
	canvas,
	audio,
	iframe,
	embed,
	object {
		vertical-align: middle;
		display: block
	}

	img,
	video {
		max-width: 100%;
		height: auto
	}

	button,
	input,
	select,
	optgroup,
	textarea {
		font: inherit;
		font-feature-settings: inherit;
		font-variation-settings: inherit;
		letter-spacing: inherit;
		color: inherit;
		opacity: 1;
		background-color: #0000;
		border-radius: 0
	}

	::file-selector-button {
		font: inherit;
		font-feature-settings: inherit;
		font-variation-settings: inherit;
		letter-spacing: inherit;
		color: inherit;
		opacity: 1;
		background-color: #0000;
		border-radius: 0
	}

	:where(select:is([multiple], [size])) optgroup {
		font-weight: bolder
	}

	:where(select:is([multiple], [size])) optgroup option {
		padding-inline-start: 20px
	}

	::file-selector-button {
		margin-inline-end: 4px
	}

	::placeholder {
		opacity: 1
	}

	@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
		::placeholder {
			color: currentColor
		}

		@supports (color:color-mix(in lab, red, red)) {
			::placeholder {
				color: color-mix(in oklab, currentcolor 50%, transparent)
			}
		}
	}

	textarea {
		resize: vertical
	}

	::-webkit-search-decoration {
		-webkit-appearance: none
	}

	::-webkit-date-and-time-value {
		min-height: 1lh;
		text-align: inherit
	}

	::-webkit-datetime-edit {
		display: inline-flex
	}

	::-webkit-datetime-edit-fields-wrapper {
		padding: 0
	}

	::-webkit-datetime-edit {
		padding-block: 0
	}

	::-webkit-datetime-edit-year-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-month-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-day-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-hour-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-minute-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-second-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-millisecond-field {
		padding-block: 0
	}

	::-webkit-datetime-edit-meridiem-field {
		padding-block: 0
	}

	:-moz-ui-invalid {
		box-shadow: none
	}

	button,
	input:where([type=button], [type=reset], [type=submit]) {
		-webkit-appearance: button;
		-moz-appearance: button;
		appearance: button
	}

	::file-selector-button {
		-webkit-appearance: button;
		-moz-appearance: button;
		appearance: button
	}

	::-webkit-inner-spin-button {
		height: auto
	}

	::-webkit-outer-spin-button {
		height: auto
	}

	[hidden]:where(:not([hidden=until-found])) {
		display: none !important
	}
}

@layer components;

@layer utilities {
	.pointer-events-none {
		pointer-events: none
	}

	.absolute {
		position: absolute
	}

	.fixed {
		position: fixed
	}

	.relative {
		position: relative
	}

	.inset-0 {
		inset: calc(var(--spacing)*0)
	}

	.top-4 {
		top: calc(var(--spacing)*4)
	}

	.right-4 {
		right: calc(var(--spacing)*4)
	}

	.bottom-0 {
		bottom: calc(var(--spacing)*0)
	}

	.z-0 {
		z-index: 0
	}

	.z-5 {
		z-index: 5
	}

	.z-10 {
		z-index: 10
	}

	.z-20 {
		z-index: 20
	}

	.z-30 {
		z-index: 30
	}

	.z-50 {
		z-index: 50
	}

	.mx-auto {
		margin-inline: auto
	}

	.mt-4 {
		margin-top: calc(var(--spacing)*4)
	}

	.mt-8 {
		margin-top: calc(var(--spacing)*8)
	}

	.mb-10 {
		margin-bottom: calc(var(--spacing)*10)
	}

	.flex {
		display: flex
	}

	.size-full {
		width: 100%;
		height: 100%
	}

	.h-12 {
		height: calc(var(--spacing)*12)
	}

	.h-auto {
		height: auto
	}

	.h-full {
		height: 100%
	}

	.min-h-screen {
		min-height: 100vh
	}

	.w-12 {
		width: calc(var(--spacing)*12)
	}

	.w-50 {
		width: calc(var(--spacing)*50)
	}

	.w-full {
		width: 100%
	}

	.max-w-\[500px\] {
		max-width: 500px
	}

	.cursor-pointer {
		cursor: pointer
	}

	.resize {
		resize: both
	}

	.flex-col {
		flex-direction: column
	}

	.flex-row {
		flex-direction: row
	}

	.items-center {
		align-items: center
	}

	.justify-center {
		justify-content: center
	}

	.justify-start {
		justify-content: flex-start
	}

	.overflow-hidden {
		overflow: hidden
	}

	.overflow-y-auto {
		overflow-y: auto
	}

	.rounded-lg {
		border-radius: var(--radius-lg)
	}

	.border-0 {
		border-style: var(--tw-border-style);
		border-width: 0
	}

	.bg-black {
		background-color: var(--color-black)
	}

	.bg-transparent {
		background-color: #0000
	}

	.object-cover {
		object-fit: cover
	}

	.p-0 {
		padding: calc(var(--spacing)*0)
	}

	.px-4 {
		padding-inline: calc(var(--spacing)*4)
	}

	.pt-20 {
		padding-top: calc(var(--spacing)*20)
	}

	.pb-20 {
		padding-bottom: calc(var(--spacing)*20)
	}

	.drop-shadow-2xl {
		--tw-drop-shadow-size: drop-shadow(0 25px 25px var(--tw-drop-shadow-color, #00000026));
		--tw-drop-shadow: drop-shadow(var(--drop-shadow-2xl));
		filter: var(--tw-blur, )var(--tw-brightness, )var(--tw-contrast, )var(--tw-grayscale, )var(--tw-hue-rotate, )var(--tw-invert, )var(--tw-saturate, )var(--tw-sepia, )var(--tw-drop-shadow, )
	}

	.drop-shadow-\[0_-8px_4px_rgba\(0\,0\,0\,0\.5\)\] {
		--tw-drop-shadow-size: drop-shadow(0 -8px 4px var(--tw-drop-shadow-color, #00000080));
		--tw-drop-shadow: var(--tw-drop-shadow-size);
		filter: var(--tw-blur, )var(--tw-brightness, )var(--tw-contrast, )var(--tw-grayscale, )var(--tw-hue-rotate, )var(--tw-invert, )var(--tw-saturate, )var(--tw-sepia, )var(--tw-drop-shadow, )
	}

	.drop-shadow-lg {
		--tw-drop-shadow-size: drop-shadow(0 4px 4px var(--tw-drop-shadow-color, #00000026));
		--tw-drop-shadow: drop-shadow(var(--drop-shadow-lg));
		filter: var(--tw-blur, )var(--tw-brightness, )var(--tw-contrast, )var(--tw-grayscale, )var(--tw-hue-rotate, )var(--tw-invert, )var(--tw-saturate, )var(--tw-sepia, )var(--tw-drop-shadow, )
	}

	.drop-shadow-black {
		--tw-drop-shadow-color: #000
	}

	@supports (color:color-mix(in lab, red, red)) {
		.drop-shadow-black {
			--tw-drop-shadow-color: color-mix(in oklab, var(--color-black)var(--tw-drop-shadow-alpha), transparent)
		}
	}

	.drop-shadow-black {
		--tw-drop-shadow: var(--tw-drop-shadow-size)
	}

	.drop-shadow-red-500\/30 {
		--tw-drop-shadow-color: #fb2c364d
	}

	@supports (color:color-mix(in lab, red, red)) {
		.drop-shadow-red-500\/30 {
			--tw-drop-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-red-500)30%, transparent)var(--tw-drop-shadow-alpha), transparent)
		}
	}

	.drop-shadow-red-500\/30 {
		--tw-drop-shadow: var(--tw-drop-shadow-size)
	}

	.transition-all {
		transition-property: all;
		transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
		transition-duration: var(--tw-duration, var(--default-transition-duration))
	}

	.outline-none {
		--tw-outline-style: none;
		outline-style: none
	}

	.select-none {
		-webkit-user-select: none;
		user-select: none
	}

	@media (hover:hover) {
		.hover\:scale-105:hover {
			--tw-scale-x: 105%;
			--tw-scale-y: 105%;
			--tw-scale-z: 105%;
			scale: var(--tw-scale-x)var(--tw-scale-y)
		}

		.hover\:scale-110:hover {
			--tw-scale-x: 110%;
			--tw-scale-y: 110%;
			--tw-scale-z: 110%;
			scale: var(--tw-scale-x)var(--tw-scale-y)
		}
	}

	.focus\:outline-none:focus {
		--tw-outline-style: none;
		outline-style: none
	}

	@media (min-width:48rem) {
		.md\:pointer-events-auto {
			pointer-events: auto
		}

		.md\:mx-auto {
			margin-inline: auto
		}

		.md\:max-w-\[500px\] {
			max-width: 500px
		}
	}
}

:root {
	color-scheme: light dark;
	color: #ffffffde;
	font-synthesis: none;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background-color: #242424;
	font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
	font-weight: 400;
	line-height: 1.5
}

@keyframes shimmer-v1 {
	0% {
		background-position: 200% 0
	}

	to {
		background-position: -200% 0
	}
}

@keyframes shimmer-v2 {
	0% {
		background-position: -200% 0
	}

	to {
		background-position: 200% 0
	}
}

@keyframes scale-animation {
	0% {
		transform: scale(1.8)
	}

	50% {
		transform: scale(1.4)
	}

	to {
		transform: scale(1.8)
	}
}

@keyframes contrast-pulse {
	0% {
		filter: contrast()
	}

	50% {
		filter: contrast(2)
	}

	to {
		filter: contrast()
	}
}

.animate-contrast {
	animation: 1s ease-in-out infinite contrast-pulse
}

.scrollbar-hide::-webkit-scrollbar {
	display: none
}

.scrollbar-hide {
	-ms-overflow-style: none;
	scrollbar-width: none
}

#root {
	background-color: #000;
	justify-content: center;
	width: 100%;
	min-height: 100vh;
	display: flex
}

.shimmer-effect {
	display: inline-block;
	position: relative
}

.shimmer-effect img {
	z-index: 1;
	display: block;
	position: relative
}

.shimmer-effect:before {
	content: "";
	pointer-events: none;
	mix-blend-mode: overlay;
	z-index: 2;
	background: linear-gradient(315deg, #fff0, #fff0 40%, #ffffff80, #fff0 60%, #fff0) 0 0/200% 100%;
	width: 100%;
	height: 100%;
	animation: 3s linear infinite shimmer-v1;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-mask-image: url(../img/pk-logo-EkjmmFH4.png);
	mask-image: url(../img/pk-logo-EkjmmFH4.png);
	-webkit-mask-position: 50%;
	mask-position: 50%;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat
}

.download-button {
	cursor: pointer;
	animation: 1.5s ease-in-out infinite scale-animation
}

.download-button:active {
	transform: scale(.95)
}

.contact-button {
	cursor: pointer;
	transition: transform .2s
}

.contact-button:hover {
	transform: scale(1.1)
}

.contact-button:active {
	transform: scale(.95)
}

@property --tw-border-style {
	syntax: "*";
	inherits: false;
	initial-value: solid
}

@property --tw-blur {
	syntax: "*";
	inherits: false
}

@property --tw-brightness {
	syntax: "*";
	inherits: false
}

@property --tw-contrast {
	syntax: "*";
	inherits: false
}

@property --tw-grayscale {
	syntax: "*";
	inherits: false
}

@property --tw-hue-rotate {
	syntax: "*";
	inherits: false
}

@property --tw-invert {
	syntax: "*";
	inherits: false
}

@property --tw-opacity {
	syntax: "*";
	inherits: false
}

@property --tw-saturate {
	syntax: "*";
	inherits: false
}

@property --tw-sepia {
	syntax: "*";
	inherits: false
}

@property --tw-drop-shadow {
	syntax: "*";
	inherits: false
}

@property --tw-drop-shadow-color {
	syntax: "*";
	inherits: false
}

@property --tw-drop-shadow-alpha {
	syntax: "<percentage>";
	inherits: false;
	initial-value: 100%
}

@property --tw-drop-shadow-size {
	syntax: "*";
	inherits: false
}

@property --tw-scale-x {
	syntax: "*";
	inherits: false;
	initial-value: 1
}

@property --tw-scale-y {
	syntax: "*";
	inherits: false;
	initial-value: 1
}

@property --tw-scale-z {
	syntax: "*";
	inherits: false;
	initial-value: 1
}

.keen-slider:not([data-keen-slider-disabled]) {
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: transparent;
	align-content: flex-start;
	display: flex;
	overflow: hidden;
	position: relative;
	touch-action: pan-y;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-khtml-user-select: none;
	width: 100%
}

.keen-slider:not([data-keen-slider-disabled]) .keen-slider__slide {
	min-height: 100%;
	overflow: hidden;
	position: relative;
	width: 100%
}

.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-reverse] {
	flex-direction: row-reverse
}

.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-v] {
	flex-wrap: wrap
}


/* 轮播容器：固定宽度，一次只显示一张卡片 */
        .carousel {
            width: 98%;            /* 卡片宽度320px，完全显示一张 */
            overflow: hidden;
           
            
        }

        /* 卡片滑动轨道：flex布局，宽度自动随子项撑开 */
        .cards-track {
            display: flex;
            will-change: transform;
            transition: transform 0.35s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        }

        /* 卡片统一样式 */
        .card {
            flex-shrink: 0;
            width: 100%;            /* 与父容器等宽，保证一次只看到一张 */

           
            text-align: center;
            
        }

  

    