*,:after,:before{--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:rgba(59,130,246,.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:rgba(59,130,246,.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: }/*! tailwindcss v3.4.16 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{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,pre,samp{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:-.25em}sup{top:-.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;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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{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}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.bottom-2{bottom:.5rem}.bottom-24{bottom:6rem}.bottom-\[-8px\]{bottom:-8px}.left-0{left:0}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-24{top:6rem}.top-3{top:.75rem}.top-4{top:1rem}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.col-span-1{grid-column:span 1/span 1}.col-span-3{grid-column:span 3/span 3}.col-span-9{grid-column:span 9/span 9}.col-span-full{grid-column:1/-1}.m-4{margin:1rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.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-8{height:2rem}.h-full{height:100%}.max-h-32{max-height:8rem}.max-h-\[calc\(100vh-8rem\)\]{max-height:calc(100vh - 8rem)}.max-h-full{max-height:100%}.min-h-16{min-height:4rem}.min-h-\[320px\]{min-height:320px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-8{width:2rem}.w-\[300px\]{width:300px}.w-full{width:100%}.w-px{width:1px}.min-w-64{min-width:16rem}.min-w-\[200px\]{min-width:200px}.max-w-2xl{max-width:42rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-\[150px\]{max-width:150px}.max-w-\[80px\]{max-width:80px}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y:0.5rem}.rotate-45{--tw-rotate:45deg}.rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.5rem*var(--tw-space-x-reverse));margin-left:calc(-.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(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*(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*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(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*(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*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-left-radius:.5rem}.rounded-b-lg,.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-r-lg,.rounded-t-lg{border-top-right-radius:.5rem}.rounded-t-lg{border-top-left-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.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-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.border-sky-500{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/80{background-color:rgba(0,0,0,.8)}.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-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.bg-cyan-50{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity,1))}.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-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-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.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-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-pink-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-80{--tw-bg-opacity:0.8}.bg-opacity-95{--tw-bg-opacity:0.95}.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-amber-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,191,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-50{--tw-gradient-from:#fffbeb var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,251,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/60{--tw-gradient-from:rgba(0,0,0,.6) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from:#ec4899 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,72,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-sky-500{--tw-gradient-from:#0ea5e9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(14,165,233,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-sky-600{--tw-gradient-from:#0284c7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(2,132,199,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-red-500{--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#ef4444 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-yellow-500{--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#eab308 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-amber-500{--tw-gradient-to:#f59e0b var(--tw-gradient-to-position)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-blue-700{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.to-cyan-400{--tw-gradient-to:#22d3ee var(--tw-gradient-to-position)}.to-cyan-500{--tw-gradient-to:#06b6d4 var(--tw-gradient-to-position)}.to-green-500{--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.to-orange-50{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to:#ec4899 var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.to-teal-500{--tw-gradient-to:#14b8a6 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.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}.pb-3{padding-bottom:.75rem}.pb-32{padding-bottom:8rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pr-4{padding-right:1rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.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-\[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:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.text-cyan-800{--tw-text-opacity:1;color:rgb(21 94 117/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-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-sky-800{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/90{color:hsla(0,0%,100%,.9)}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.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))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{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 rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(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)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.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{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-md{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-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-sm,.backdrop-filter{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,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-gray-200{background-color:#e5e7eb}.bg-gray-300{background-color:#d1d5db}.bg-gray-500{background-color:#6b7280}.bg-gray-900{background-color:#111827}.bg-white{background-color:#fff}.bg-black{background-color:#000}.bg-blue-50{background-color:#eff6ff}.bg-blue-100{background-color:#dbeafe}.bg-blue-500{background-color:#3b82f6}.bg-blue-600{background-color:#2563eb}.bg-green-100{background-color:#dcfce7}.bg-green-500{background-color:#22c55e}.bg-green-600{background-color:#16a34a}.bg-red-100{background-color:#fee2e2}.bg-red-500{background-color:#ef4444}.bg-yellow-100{background-color:#fef3c7}.bg-yellow-500{background-color:#eab308}.bg-amber-50{background-color:#fffbeb}.text-white{color:#fff}.text-gray-200{color:#e5e7eb}.text-gray-300{color:#d1d5db}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}.text-gray-900{color:#111827}.text-blue-500{color:#3b82f6}.text-blue-600{color:#2563eb}.text-blue-700{color:#1d4ed8}.text-blue-800{color:#1e40af}.text-green-600{color:#16a34a}.text-green-800{color:#166534}.text-green-500{color:#22c55e}.text-red-800{color:#991b1b}.text-orange-600{color:#ea580c}.text-yellow-500{color:#eab308}.text-yellow-600{color:#ca8a04}.text-cyan-500{color:#06b6d4}.text-amber-500{color:#f59e0b}.text-purple-500{color:#a855f7}.text-pink-500{color:#ec4899}.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-semibold{font-weight:600}.font-bold{font-weight:700}.space-x-4>:not([hidden])~:not([hidden]){margin-left:1rem}.space-y-3>:not([hidden])~:not([hidden]){margin-top:.75rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.w-5{width:1.25rem}.w-16{width:4rem}.w-20{width:5rem}.w-full{width:100%}.h-5{height:1.25rem}.h-16{height:4rem}.h-20{height:5rem}.min-w-64{min-width:16rem}.border{border-width:1px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-white{border-color:#fff}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#f8fafc}table{border-collapse:separate;border-spacing:0}.table-container{overflow-x:auto!important;width:100vw!important;max-width:none!important;margin-left:calc(-50vw + 50%)!important;margin-right:calc(-50vw + 50%)!important;padding:0 2rem;position:relative;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.table-container::-webkit-scrollbar{height:12px!important;display:block!important}.table-container::-webkit-scrollbar-track{background:#f3f4f6;border-radius:6px;margin:0 2rem}.table-container::-webkit-scrollbar-thumb{background:#6b7280;border-radius:6px;border:2px solid #f3f4f6}.table-container::-webkit-scrollbar-thumb:hover{background:#4b5563}.scroll-btn{position:absolute;top:50%;transform:translateY(-50%);background:hsla(0,0%,100%,.95);border:1px solid #e5e7eb;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:all .3s ease}.scroll-btn:hover{background:#fff;box-shadow:0 6px 12px rgba(0,0,0,.15);transform:translateY(-50%) scale(1.1)}.scroll-btn:active{transform:translateY(-50%) scale(.95)}.scroll-btn-left{left:1rem}.scroll-btn-right{right:1rem}.scroll-btn.hidden{display:none}.scroll-hint{padding:.75rem;background:linear-gradient(90deg,transparent,#f3f4f6,transparent);margin:1rem 0;font-weight:500;color:#6b7280}.compare-table{border-collapse:separate;border-spacing:0;table-layout:auto;min-width:-moz-max-content;min-width:max-content;width:auto}.compare-table td,.compare-table th{border:1px solid #e5e7eb;padding:.75rem 1rem}.compare-table th{font-weight:600}.compare-table th,.compare-table tr:nth-child(2n){background-color:#f9fafb}.hotel-header{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;text-align:center;min-width:16rem!important;width:16rem!important}.category-header{background-color:#1f2937;color:#fff;font-weight:700}.param-label{background-color:#f3f4f6;font-weight:500;width:12rem;min-width:12rem}.compare-blur{filter:blur(5px);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pro-upgrade-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#fff,#f8fafc);border-radius:1.5rem;padding:3rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25),0 0 0 1px hsla(0,0%,100%,.2),inset 0 1px 0 hsla(0,0%,100%,.1);text-align:center;z-index:10;max-width:36rem;width:90%;backdrop-filter:blur(10px);border:1px solid rgba(229,231,235,.3)}.pro-upgrade-overlay h2{background:linear-gradient(135deg,#f59e0b,#ea580c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;font-size:2rem;margin-bottom:1rem}.pro-upgrade-overlay p{color:#6b7280;font-size:1.1rem;line-height:1.6}.pro-feature-list{text-align:left;margin:2rem 0;background:#f8fafc;border-radius:1rem;padding:1.5rem;border:1px solid #e5e7eb}.pro-feature-item{display:flex;align-items:flex-start;padding:.75rem 0;font-size:1rem;line-height:1.5;color:#374151;font-weight:500}.pro-feature-item:not(:last-child){border-bottom:1px solid #e5e7eb}.pro-feature-icon{color:#10b981;margin-right:.75rem;margin-top:.125rem;font-size:1.1rem;flex-shrink:0}.pro-price-section{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-radius:1rem;padding:1.5rem;margin:1.5rem 0;border:2px solid #f59e0b;position:relative;overflow:hidden}.pro-price-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f59e0b,#ea580c,#f59e0b)}.pro-price-label{font-size:.875rem;color:#92400e;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.pro-price-value{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#ea580c,#dc2626);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.pro-upgrade-button{background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;font-weight:700;font-size:1.1rem;padding:1rem 2rem;border-radius:.75rem;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px 0 rgba(245,158,11,.4),inset 0 1px 0 hsla(0,0%,100%,.2);width:100%;margin-bottom:1rem;text-transform:none;letter-spacing:.3px}.pro-upgrade-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px 0 rgba(245,158,11,.5),inset 0 1px 0 hsla(0,0%,100%,.2);background:linear-gradient(135deg,#f59e0b,#dc2626)}.pro-upgrade-button:active{transform:translateY(0);box-shadow:0 4px 14px 0 rgba(245,158,11,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.pro-back-button{background:transparent;color:#6b7280;border:none;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;border-radius:.5rem;transition:all .2s ease}.pro-back-button:hover{background:#f3f4f6;color:#374151}.crown-icon{background:linear-gradient(135deg,#f59e0b,#ea580c);width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;box-shadow:0 8px 20px rgba(245,158,11,.3);animation:pulse-glow 2s ease-in-out infinite alternate}@keyframes pulse-glow{0%{box-shadow:0 8px 20px rgba(245,158,11,.3);transform:scale(1)}to{box-shadow:0 12px 30px rgba(245,158,11,.5);transform:scale(1.05)}}.page-header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.05)}.back-button{display:flex;align-items:center;color:#4b5563;font-weight:500;padding:.5rem 1rem;border-radius:.5rem;transition:all .2s ease;border:1px solid transparent}.back-button:hover{background:#f3f4f6;color:#1f2937;border-color:#e5e7eb;transform:translateX(-2px)}.back-button:active{transform:translateX(0);background:#e5e7eb}.back-arrow{width:1.25rem;height:1.25rem;margin-right:.5rem;font-size:1.125rem;transition:transform .2s ease}.back-button:hover .back-arrow{transform:translateX(-2px)}.page-title{font-size:1.5rem;font-weight:700;color:#111827;margin-left:1rem}.language-toggle{color:#4b5563;font-weight:500;padding:.5rem 1rem;border-radius:.5rem;transition:all .2s ease;border:1px solid #e5e7eb;background:#fff}.language-toggle:hover{background:#f3f4f6;color:#1f2937;border-color:#d1d5db;box-shadow:0 1px 2px rgba(0,0,0,.05)}.language-toggle:active{transform:translateY(1px);box-shadow:none}.no-hotels-container{text-align:center;padding:3rem 1rem}.no-hotels-icon{width:4rem;height:4rem;margin:0 auto 1rem;color:#9ca3af;font-size:3rem;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:50%}.no-hotels-title{font-size:1.25rem;font-weight:600;color:#374151;margin-bottom:.5rem}.no-hotels-desc{color:#6b7280;margin-bottom:1.5rem}.go-home-button{background:#3b82f6;color:#fff;font-weight:500;padding:.75rem 1.5rem;border-radius:.5rem;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px rgba(59,130,246,.3)}.go-home-button:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px rgba(59,130,246,.4)}.go-home-button:active{transform:translateY(0);box-shadow:0 1px 3px rgba(59,130,246,.3)}@media (max-width:768px){.page-header{padding:.75rem 0}.back-button{padding:.5rem .75rem;font-size:.875rem}.back-arrow{font-size:1rem;margin-right:.375rem}.page-title{font-size:1.125rem;margin-left:.5rem}.language-toggle{padding:.5rem .75rem;font-size:.875rem}.param-label{width:7.5rem;min-width:7.5rem;position:sticky;left:0;background-color:#f3f4f6;z-index:10;box-shadow:2px 0 4px rgba(0,0,0,.05)}.compare-table td,.compare-table th,.param-label{font-size:.875rem;padding:.5rem}.hotel-header{min-width:12rem}.hotel-header img{width:3.75rem;height:3.75rem}.hotel-header h3{font-size:1rem}.hotel-header p{font-size:.75rem}.table-container{overflow-x:scroll!important;width:100vw!important;max-width:none!important;margin-left:calc(-50vw + 50%)!important;margin-right:calc(-50vw + 50%)!important;padding:0 2rem;-webkit-overflow-scrolling:touch;scrollbar-width:auto;scrollbar-color:#6b7280 #e5e7eb;scroll-behavior:smooth;position:relative}.table-container::-webkit-scrollbar{height:10px;background-color:#f9fafb}.table-container::-webkit-scrollbar-track{background:#e5e7eb;border-radius:5px;box-shadow:inset 0 0 2px rgba(0,0,0,.1)}.table-container::-webkit-scrollbar-thumb{background:#6b7280;border-radius:5px;border:1px solid #9ca3af;box-shadow:0 0 2px rgba(0,0,0,.2)}.table-container::-webkit-scrollbar-thumb:hover{background:#4b5563;border-color:#6b7280;box-shadow:0 0 4px rgba(0,0,0,.3)}.table-container::-webkit-scrollbar-thumb:active{background:#374151}.table-container:after,.table-container:before{content:"";position:absolute;top:0;bottom:15px;width:20px;pointer-events:none;z-index:10;transition:opacity .3s ease}.table-container:before{left:0;background:linear-gradient(90deg,hsla(0,0%,100%,.9),transparent)}.table-container:after{right:0;background:linear-gradient(270deg,hsla(0,0%,100%,.9),transparent)}.table-container.at-end:after,.table-container.at-start:before{opacity:0}.hotel-header .english-name{display:none}.pro-upgrade-overlay{width:95%;max-width:28rem;padding:2rem 1.5rem;max-height:85vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.pro-upgrade-overlay h2{font-size:1.5rem}.pro-upgrade-overlay p{font-size:1rem}.crown-icon{width:3.5rem;height:3.5rem}.pro-feature-list{font-size:.875rem;padding:1.25rem;margin:1.5rem 0}.pro-feature-item{padding:.625rem 0}.pro-price-section{padding:1.25rem;margin:1.25rem 0}.pro-price-value{font-size:2rem}.pro-upgrade-button{font-size:1rem;padding:.875rem 1.5rem}.no-hotels-container{padding:2rem 1rem}.no-hotels-icon{width:3.5rem;height:3.5rem;font-size:2.5rem}.no-hotels-title{font-size:1.125rem}.go-home-button,.no-hotels-desc{font-size:.875rem}.go-home-button{padding:.625rem 1.25rem}}@media (max-width:480px){.container{padding-left:.5rem;padding-right:.5rem}#page-title{font-size:1.25rem}.param-label{width:6.25rem;min-width:6.25rem;font-size:.75rem}.hotel-header{min-width:10rem}.hotel-header img{width:3rem;height:3rem}.category-header,.hotel-header h3{font-size:.875rem}.category-header{padding:.5rem}.pro-upgrade-overlay{width:98%;padding:1.5rem 1rem}.pro-upgrade-overlay h2{font-size:1.25rem}.pro-upgrade-overlay p{font-size:.875rem}.crown-icon{width:3rem;height:3rem}.pro-feature-list{padding:1rem;font-size:.8125rem}.pro-feature-item{padding:.5rem 0}.pro-price-section{padding:1rem}.pro-price-value{font-size:1.75rem}.pro-upgrade-button{padding:.75rem 1.25rem;font-size:.875rem}.back-button{padding:.5rem;font-size:.8125rem}.back-arrow{display:none}.page-title{font-size:1rem}.language-toggle{padding:.5rem;font-size:.8125rem}}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-1:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.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-green-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.hover\:bg-orange-50:hover{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-sky-100:hover{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.hover\:bg-sky-50:hover{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.hover\:bg-sky-700:hover{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity,1))}.hover\:bg-white\/30:hover{background-color:hsla(0,0%,100%,.3)}.hover\:bg-white\/90:hover{background-color:hsla(0,0%,100%,.9)}.hover\:from-amber-600:hover{--tw-gradient-from:#d97706 var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,119,6,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(29,78,216,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-sky-700:hover{--tw-gradient-from:#0369a1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(3,105,161,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.hover\:to-blue-800:hover{--tw-gradient-to:#1e40af var(--tw-gradient-to-position)}.hover\:to-orange-700:hover{--tw-gradient-to:#c2410c var(--tw-gradient-to-position)}.hover\:text-amber-700:hover{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.hover\:text-blue-200:hover{--tw-text-opacity:1;color:rgb(191 219 254/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-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/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-green-600:hover{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.hover\:text-green-700:hover{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-sky-600:hover{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.hover\:text-sky-700:hover{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.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-90:hover{opacity:.9}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(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\:bg-gray-50:hover{background-color:#f9fafb}.hover\:bg-gray-100:hover{background-color:#f3f4f6}.hover\:bg-gray-200:hover{background-color:#e5e7eb}.hover\:bg-gray-300:hover{background-color:#d1d5db}.hover\:bg-gray-600:hover{background-color:#4b5563}.hover\:bg-blue-600:hover{background-color:#2563eb}.hover\:bg-blue-700:hover{background-color:#1d4ed8}.hover\:bg-green-600:hover{background-color:#16a34a}.hover\:bg-red-600:hover{background-color:#dc2626}.hover\:bg-amber-50:hover{background-color:#fffbeb}.hover\:text-white:hover{color:#fff}.hover\:text-gray-600:hover{color:#4b5563}.hover\:text-gray-800:hover{color:#1f2937}.hover\:text-gray-900:hover{color:#111827}.hover\:text-blue-200:hover{color:#bfdbfe}.hover\:text-blue-600:hover{color:#2563eb}.hover\:text-blue-700:hover{color:#1d4ed8}.hover\:text-blue-800:hover{color:#1e40af}.hover\:text-green-600:hover{color:#16a34a}.hover\:text-orange-600:hover{color:#ea580c}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.focus\:border-sky-300:focus{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.focus\:border-sky-500:focus{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.focus\:ring: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(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.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)}.focus\:ring-sky-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(186 230 253/var(--tw-ring-opacity,1))}.focus\:ring-sky-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity,1))}.focus\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-300:disabled{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1));background-color:#d1d5db}.group:hover .group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .group-hover\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-10{height:2.5rem}.md\:h-96{height:24rem}.md\:w-1\/3{width:33.333333%}.md\:w-10{width:2.5rem}.md\:w-2\/3{width:66.666667%}.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\: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*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.md\:p-8{padding:2rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:space-x-4>:not([hidden])~:not([hidden]){margin-left:1rem}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.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\:mt-0{margin-top:0}.lg\:hidden{display:none}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.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\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width:1280px){.xl\:col-span-3{grid-column:span 3/span 3}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}/* CSS for mobile optimization */

/* PC端结果网格优化 - 处理少量结果时的布局 */
@media (min-width: 1280px) {
    /* 基础网格设置 */
    #results-grid {
        justify-items: center;
    }
    
    /* 少量结果时的布局优化 */
    #results-grid.results-1 {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    
    #results-grid.results-2 {
        grid-template-columns: repeat(2, 1fr);
        max-width: 800px;
        margin: 0 auto;
    }
    
    #results-grid.results-3 {
        grid-template-columns: repeat(3, 1fr);
        max-width: 1200px;
        margin: 0 auto;
    }
    
    /* 4个或更多结果时保持默认布局 */
    #results-grid.results-many {
        grid-template-columns: repeat(3, 1fr);
        max-width: none;
        margin: 0;
    }
}

/* 确保酒店卡片在所有情况下都有合适的最大宽度 */
.hotel-card {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
}

/* 中等屏幕的优化 */
@media (min-width: 768px) and (max-width: 1279px) {
    #results-grid.results-1 {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    
    #results-grid.results-2 {
        grid-template-columns: repeat(2, 1fr);
        max-width: 800px;
        margin: 0 auto;
    }
    
    #results-grid.results-3 {
        grid-template-columns: repeat(2, 1fr);
        max-width: 800px;
        margin: 0 auto;
    }
}

/* 移动端头部优化 */
@media (max-width: 768px) {
    /* 头部布局调整 */
    .mobile-header {
        padding: 12px 16px;
    }
    
    .mobile-header-top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 12px;
    }
    
    .mobile-header-bottom {
        display: flex;
        gap: 8px;
        align-items: center;
    }
    
    /* 隐藏副标题 */
    .mobile-hide-subtitle {
        display: none;
    }
    
    /* 搜索栏移动端优化 */
    .mobile-search-input {
        flex: 1;
        padding: 10px 12px;
        padding-left: 40px;
        border-radius: 8px;
        font-size: 16px; /* 防止iOS自动缩放 */
        min-height: 44px; /* 触摸友好 */
    }
    
    /* 语言切换按钮 */
    .mobile-language-btn {
        padding: 10px 14px;
        border-radius: 8px;
        font-size: 14px;
        min-height: 44px;
        min-width: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    /* 筛选器切换按钮优化 */
    .mobile-filter-toggle {
        padding: 14px 16px;
        border-radius: 12px;
        font-size: 16px;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        transition: all 0.3s ease;
    }
    
    .mobile-filter-toggle:active {
        transform: translateY(1px);
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    }
    
    /* 筛选器图标 */
    .mobile-filter-icon {
        width: 20px;
        height: 20px;
        transition: transform 0.3s ease;
    }
    
    .mobile-filter-toggle.active .mobile-filter-icon {
        transform: rotate(180deg);
    }
}

/* 平板端优化 */
@media (max-width: 1023px) and (min-width: 769px) {
    /* 平板端保持原有布局，稍作调整 */
    .tablet-header {
        padding: 16px;
    }
    
    .tablet-search-input {
        width: 200px;
    }
}

/* 原有样式 - PC端和平板端 */
@media (max-width: 1023px) {
    .lg\:grid-cols-12 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .lg\:col-span-3,
    .lg\:col-span-9 {
        grid-column: span 1 / span 1;
    }

    #filters-container {
        position: static;
        max-height: none;
        margin-bottom: 1rem;
        overflow: hidden;
        transition: max-height 0.5s ease-in-out;
    }

    .filters-hidden #filters-container {
        max-height: 0;
        margin-bottom: 0;
        padding: 0;
        border: none;
    }
}

/* 移动端筛选器抽屉化 - 确保PC端完全隐藏 */
/* PC端强制隐藏移动端抽屉 */
@media (min-width: 769px) {
    .mobile-drawer-overlay,
    .mobile-drawer,
    #mobile-filter-drawer-overlay,
    #mobile-filter-drawer,
    #mobile-filters-content {
        display: none !important;
        visibility: hidden !important;
    }
}

@media (max-width: 768px) {
    /* 隐藏原有筛选器容器 */
    .mobile-hide-filters #filters-container {
        display: none;
    }
    
    /* 抽屉式筛选器遮罩 */
    .mobile-drawer-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(4px);
        z-index: 100;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }
    
    .mobile-drawer-overlay.active {
        opacity: 1;
        visibility: visible;
    }
    
    /* 抽屉式筛选器容器 */
    .mobile-drawer {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: white;
        max-height: 95vh;
        z-index: 101;
        border-radius: 16px 16px 0 0;
        box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.2);
        transform: translateY(100%);
        transition: transform 0.3s ease;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }
    
    .mobile-drawer.active {
        transform: translateY(0);
    }
    
    /* 抽屉头部 */
    .mobile-drawer-header {
        padding: 16px 20px;
        border-bottom: 1px solid #e5e7eb;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: white;
        flex-shrink: 0;
        z-index: 10;
    }
    
    .mobile-drawer-title {
        font-size: 18px;
        font-weight: 600;
        color: #1f2937;
    }
    
    .mobile-drawer-close {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: #f3f4f6;
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    
    .mobile-drawer-close:hover {
        background: #e5e7eb;
    }
    
    .mobile-drawer-close:active {
        transform: scale(0.95);
    }
    
    /* 抽屉内容区域 */
    .mobile-drawer-content {
        padding: 0 20px 20px;
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        min-height: 0;
    }
    
    /* 改善移动端滚动条显示 */
    .mobile-drawer-content::-webkit-scrollbar {
        width: 6px;
    }
    
    .mobile-drawer-content::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 3px;
    }
    
    .mobile-drawer-content::-webkit-scrollbar-thumb {
        background: #c1c1c1;
        border-radius: 3px;
    }
    
    .mobile-drawer-content::-webkit-scrollbar-thumb:hover {
        background: #a8a8a8;
    }
    
    /* 抽屉底部操作区 */
    .mobile-drawer-footer {
        padding: 16px 20px;
        background: white;
        border-top: 1px solid #e5e7eb;
        display: flex;
        gap: 12px;
        flex-shrink: 0;
        bottom: 0;
        z-index: 10;
    }
    
    .mobile-drawer-btn {
        flex: 1;
        padding: 12px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 500;
        transition: all 0.2s ease;
        border: none;
        cursor: pointer;
        min-height: 44px;
    }
    
    .mobile-drawer-btn-reset {
        background: #f3f4f6;
        color: #4b5563;
    }
    
    .mobile-drawer-btn-reset:hover {
        background: #e5e7eb;
    }
    
    .mobile-drawer-btn-apply {
        background: #0ea5e9;
        color: white;
    }
    
    .mobile-drawer-btn-apply:hover {
        background: #0284c7;
    }
    
    .mobile-drawer-btn:active {
        transform: translateY(1px);
    }
    
    /* 抽屉内筛选器样式优化 */
    .mobile-drawer-content .space-y-4 > * {
        margin-bottom: 20px;
    }
    
    .mobile-drawer-content details {
        margin-bottom: 16px;
    }
    
    .mobile-drawer-content details summary {
        font-size: 16px;
        font-weight: 600;
        padding: 12px 0;
        cursor: pointer;
        user-select: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    
    .mobile-drawer-content details summary::after {
        content: '+';
        font-size: 18px;
        font-weight: bold;
        color: #6b7280;
        transition: transform 0.2s ease;
    }
    
    .mobile-drawer-content details[open] summary::after {
        transform: rotate(45deg);
    }
    
    /* 筛选器输入框优化 */
    .mobile-drawer-content input[type="checkbox"] {
        width: 18px;
        height: 18px;
        margin-right: 12px;
    }
    
    .mobile-drawer-content input[type="range"] {
        height: 8px;
        margin: 8px 0;
    }
    
    .mobile-drawer-content label {
        display: flex;
        align-items: center;
        padding: 8px 0;
        font-size: 15px;
        line-height: 1.4;
        cursor: pointer;
        user-select: none;
        min-height: 44px;
    }
    
    .mobile-drawer-content select {
        min-height: 44px;
        font-size: 16px;
        padding: 10px 12px;
    }
    
    .mobile-drawer-content input[type="number"] {
        min-height: 44px;
        font-size: 16px;
        padding: 10px 12px;
    }
}

/* 移动端搜索结果优化 */
@media (max-width: 768px) {
    /* 结果区域布局 */
    .mobile-results-container {
        padding: 0 12px;
    }
    
    /* 结果网格优化 */
    .mobile-results-grid {
        grid-template-columns: 1fr !important;
        gap: 16px;
        max-width: none !important;
        margin: 0 !important;
    }
    
    /* 移动端强制覆盖PC端的results-1, results-2, results-3类 */
    #results-grid.results-1,
    #results-grid.results-2, 
    #results-grid.results-3,
    #results-grid.results-many {
        grid-template-columns: 1fr !important;
        max-width: none !important;
        margin: 0 !important;
    }
    
    /* 酒店卡片移动端优化 */
    .mobile-hotel-card {
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
        transition: all 0.3s ease;
        background: white;
    }
    
    .mobile-hotel-card:active {
        transform: translateY(1px);
        box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
    }
    
    /* 酒店图片优化 */
    .mobile-hotel-image {
        height: 200px;
        object-fit: cover;
        width: 100%;
    }
    
    /* 酒店信息区域 */
    .mobile-hotel-content {
        padding: 16px;
    }
    
    .mobile-hotel-title {
        font-size: 16px;
        font-weight: 600;
        line-height: 1.4;
        margin-bottom: 8px;
        color: #1f2937;
    }
    
    .mobile-hotel-group {
        font-size: 13px;
        color: #6b7280;
        margin-bottom: 12px;
    }
    
    /* 酒店操作区域 */
    .mobile-hotel-actions {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .mobile-hotel-price {
        font-size: 16px;
        font-weight: 600;
        color: #0ea5e9;
    }
    
    /* 移动端按钮优化 */
    .mobile-btn {
        min-height: 44px;
        min-width: 44px;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 500;
        padding: 10px 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s ease;
        cursor: pointer;
        user-select: none;
    }
    
    .mobile-btn:active {
        transform: translateY(1px);
    }
    
    .mobile-btn-primary {
        background: #0ea5e9;
        color: white;
        border: none;
    }
    
    .mobile-btn-primary:hover {
        background: #0284c7;
    }
    
    .mobile-btn-secondary {
        background: #f3f4f6;
        color: #4b5563;
        border: 1px solid #d1d5db;
    }
    
    .mobile-btn-secondary:hover {
        background: #e5e7eb;
    }
    
    /* 收藏和对比按钮 */
    .mobile-action-btn {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: none;
        background: rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(8px);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.2s ease;
        position: absolute;
        top: 12px;
    }
    
    .mobile-action-btn:active {
        transform: scale(0.95);
    }
    
    .mobile-favorite-btn {
        right: 12px;
    }
    
    .mobile-compare-btn {
        right: 12px;
    }
    
    .mobile-action-btn.active {
        background: #ef4444;
        color: white;
        box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
    }
    
    /* 对比按钮选中状态 */
    .mobile-compare-btn.selected {
        background: #0ea5e9 !important;
        color: white !important;
        box-shadow: 0 4px 12px rgba(14, 165, 233, 0.3);
        transform: scale(1.05);
    }
    
    .mobile-favorite-btn.active {
        background: white;
        transform: scale(1.05);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    }

    .mobile-favorite-btn.active svg {
        color: #ef4444;
    }
    
    /* 排序和筛选区域 */
    .mobile-sort-filter-bar {
        padding: 12px 16px;
        background: white;
        border-bottom: 1px solid #e5e7eb;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
    }
    
    .mobile-results-count {
        font-size: 14px;
        color: #4b5563;
        flex: 1;
    }
    
    .mobile-sort-select {
        padding: 8px 12px;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        background: white;
        font-size: 14px;
        min-height: 36px;
    }
    
    /* 加载更多按钮 */
    .mobile-load-more {
        margin: 20px auto;
        display: block;
        width: calc(100% - 32px);
        max-width: 280px;
        background: #f8fafc;
        color: #4b5563;
        border: 1px solid #e2e8f0;
    }
    
    .mobile-load-more:hover {
        background: #f1f5f9;
    }
    
    /* 没有结果提示 */
    .mobile-no-results {
        text-align: center;
        padding: 40px 20px;
        color: #6b7280;
    }
    
    .mobile-no-results-icon {
        font-size: 48px;
        margin-bottom: 16px;
        opacity: 0.5;
    }
    
    .mobile-no-results-title {
        font-size: 18px;
        font-weight: 600;
        margin-bottom: 8px;
        color: #374151;
    }
    
    .mobile-no-results-desc {
        font-size: 14px;
        line-height: 1.5;
    }
}

/* Pro restriction styles */
.blurred-card {
    filter: blur(5px);
    pointer-events: none;
    opacity: 0.6;
}
/* Pro feature specific styles */
.pro-filter.locked {
    opacity: 0.7;
}

.pro-filter .pro-badge {
    background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    color: white;
    font-size: 10px;
    font-weight: bold;
    padding: 2px 5px;
    border-radius: 9999px;
    margin-left: 8px;
    display: inline-block;
    vertical-align: middle;
}

.pro-filter.locked .pro-badge {
    background: #6b7280;
}

.blurred-hotel-card {
    filter: blur(2px) brightness(1.05);
    opacity: 0.4;
    transition: filter 0.3s ease, opacity 0.3s ease;
    pointer-events: none;
    position: relative;
    transform: scale(0.98);
}

.blurred-hotel-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: 
        radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.2) 0%, transparent 60%),
        radial-gradient(circle at 70% 70%, rgba(255, 255, 255, 0.15) 0%, transparent 60%),
        linear-gradient(45deg, 
            rgba(255, 255, 255, 0.05) 0%,
            rgba(255, 255, 255, 0.1) 30%,
            rgba(255, 255, 255, 0.08) 70%,
            rgba(255, 255, 255, 0.05) 100%
        );
    backdrop-filter: blur(1px) saturate(0.9);
    border-radius: 1rem;
    z-index: 5;
    pointer-events: none;
    mix-blend-mode: soft-light;
}

.blurred-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.05) 0%,
        rgba(255, 255, 255, 0.08) 25%,
        rgba(255, 255, 255, 0.12) 50%,
        rgba(255, 255, 255, 0.08) 75%,
        rgba(255, 255, 255, 0.05) 100%
    );
    backdrop-filter: blur(0.5px);
    z-index: 6;
    pointer-events: none;
    border-radius: 1rem;
    box-shadow: inset 0 0 15px rgba(255, 255, 255, 0.1);
}
/* 错误处理相关样式 */

/* 图片加载失败样式 */
.image-fallback {
    filter: sepia(20%) contrast(0.8);
    position: relative;
}

.image-fallback::after {
    content: "⚠️ 图片加载失败";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    z-index: 1;
}

/* 加载状态指示器 */
.loading-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(59, 130, 246, 0.3);
    border-radius: 50%;
    border-top-color: #3b82f6;
    animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* 错误消息样式 */
.error-message {
    background-color: #fee2e2;
    border: 1px solid #fecaca;
    color: #dc2626;
    padding: 12px 16px;
    border-radius: 8px;
    margin: 8px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.error-message::before {
    content: "⚠️";
    font-size: 16px;
}

.warning-message {
    background-color: #fef3c7;
    border: 1px solid #fde68a;
    color: #d97706;
    padding: 12px 16px;
    border-radius: 8px;
    margin: 8px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.warning-message::before {
    content: "⚠️";
    font-size: 16px;
}

.success-message {
    background-color: #d1fae5;
    border: 1px solid #a7f3d0;
    color: #059669;
    padding: 12px 16px;
    border-radius: 8px;
    margin: 8px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.success-message::before {
    content: "✅";
    font-size: 16px;
}

/* 网络离线状态提示 */
.offline-indicator {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #ef4444;
    color: white;
    text-align: center;
    padding: 8px;
    z-index: 1000;
    transform: translateY(-100%);
    transition: transform 0.3s ease-in-out;
}

.offline-indicator.show {
    transform: translateY(0);
}

/* 重试按钮样式 */
.retry-button {
    background: #3b82f6;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}

.retry-button:hover {
    background: #2563eb;
}

.retry-button:disabled {
    background: #9ca3af;
    cursor: not-allowed;
}

/* 数据加载失败时的占位符 */
.data-loading-error {
    text-align: center;
    padding: 40px 20px;
    color: #6b7280;
}

.data-loading-error .icon {
    font-size: 48px;
    margin-bottom: 16px;
    opacity: 0.5;
}

.data-loading-error .message {
    font-size: 18px;
    margin-bottom: 16px;
}

.data-loading-error .details {
    font-size: 14px;
    color: #9ca3af;
    margin-bottom: 20px;
}

/* 浏览器不兼容提示 */
.browser-compatibility-warning {
    background: #fef3c7;
    border: 2px solid #fde68a;
    color: #92400e;
    padding: 16px;
    margin: 16px;
    border-radius: 8px;
    text-align: center;
}

.browser-compatibility-warning h3 {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: bold;
}

.browser-compatibility-warning p {
    margin: 8px 0;
    line-height: 1.5;
}

/* 进度条样式 */
.progress-bar {
    width: 100%;
    height: 4px;
    background: #e5e7eb;
    border-radius: 2px;
    overflow: hidden;
}

.progress-bar-fill {
    height: 100%;
    background: #3b82f6;
    border-radius: 2px;
    transition: width 0.3s ease;
}

/* Toast通知样式 */
.toast-notification {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 16px;
    max-width: 350px;
    z-index: 1000;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
}

.toast-notification.show {
    transform: translateX(0);
}

.toast-notification.error {
    border-left: 4px solid #ef4444;
}

.toast-notification.warning {
    border-left: 4px solid #f59e0b;
}

.toast-notification.success {
    border-left: 4px solid #10b981;
}

.toast-notification .toast-title {
    font-weight: bold;
    margin-bottom: 4px;
}

.toast-notification .toast-message {
    font-size: 14px;
    color: #6b7280;
}

/* 响应式调整 */
@media (max-width: 768px) {
    .toast-notification {
        bottom: 10px;
        right: 10px;
        left: 10px;
        max-width: none;
    }
    
    .error-message,
    .warning-message,
    .success-message {
        padding: 10px 12px;
        font-size: 14px;
    }
}/* 支付模态框样式 */
.payment-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
}

.payment-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
}

.payment-modal-content {
    position: relative;
    background: white;
    border-radius: 12px;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-30px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.payment-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #e5e7eb;
}

.payment-modal-header h2 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: #1f2937;
}

.close-btn {
    background: none;
    border: none;
    font-size: 24px;
    color: #6b7280;
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    transition: all 0.2s;
}

.close-btn:hover {
    background: #f3f4f6;
    color: #374151;
}

.payment-modal-body {
    padding: 24px;
}

/* 产品信息 */
.payment-summary {
    margin-bottom: 24px;
    padding: 20px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 8px;
    color: white;
}

.product-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.product-info h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
}

.price {
    font-size: 2rem;
    font-weight: 700;
    color: #fbbf24;
}

.features-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.features-list li {
    margin: 8px 0;
    font-size: 0.9rem;
    opacity: 0.95;
}

/* 支付表单 */
.payment-form {
    space-y: 20px;
}

.payment-method-selector {
    margin-bottom: 20px;
}

.payment-method-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.payment-method-selector input[type="radio"] {
    margin-right: 8px;
}

.payment-method-selector input[type="radio"]:checked + .payment-method-option {
    border-color: #3b82f6;
    background: #eff6ff;
}

.payment-method-option img {
    height: 24px;
    opacity: 0.8;
}

/* 卡片元素容器 */
.card-element-container {
    margin-bottom: 20px;
}

.card-element-container label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #374151;
}

#card-element {
    padding: 12px 16px;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    background: white;
    transition: border-color 0.2s;
}

#card-element:focus-within {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

#card-errors {
    margin-top: 8px;
    color: #dc2626;
    font-size: 0.875rem;
    display: none;
}

/* 账单信息 */
.billing-details {
    margin-bottom: 20px;
}

.form-row {
    display: flex;
    gap: 16px;
}

.form-group {
    flex: 1;
}

.form-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500;
    color: #374151;
}

.form-group input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    font-size: 16px;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.form-group input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* 加载状态 */
.payment-loading {
    display: none;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    text-align: center;
}

.payment-loading .spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f4f6;
    border-top: 4px solid #3b82f6;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 16px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.payment-loading p {
    margin: 0;
    color: #6b7280;
    font-weight: 500;
}

/* 错误信息 */
.payment-error {
    display: none;
    padding: 12px 16px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    margin-bottom: 20px;
}

.error-message {
    color: #dc2626;
    font-size: 0.875rem;
    font-weight: 500;
}

/* 成功状态 */
.payment-success {
    text-align: center;
    padding: 40px 20px;
}

.success-icon {
    font-size: 4rem;
    margin-bottom: 20px;
}

.payment-success h3 {
    margin: 0 0 16px 0;
    color: #059669;
    font-size: 1.5rem;
    font-weight: 600;
}

.payment-success p {
    margin: 0;
    color: #6b7280;
    line-height: 1.5;
}

/* 模态框底部 */
.payment-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 20px 24px;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
    border-radius: 0 0 12px 12px;
}

.btn {
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    min-width: 100px;
}

.btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-secondary {
    background: white;
    color: #374151;
    border: 2px solid #e5e7eb;
}

.btn-secondary:hover:not(:disabled) {
    background: #f9fafb;
    border-color: #d1d5db;
}

.btn-primary {
    background: #3b82f6;
    color: white;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn-primary:hover:not(:disabled) {
    background: #2563eb;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}

/* 安全信息 */
.payment-security {
    padding: 16px 24px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
    text-align: center;
}

.payment-security p {
    margin: 0;
    font-size: 0.875rem;
    color: #6b7280;
    line-height: 1.4;
}

/* 移动端适配 */
@media (max-width: 640px) {
    .payment-modal-content {
        width: 95%;
        margin: 20px;
        max-height: 95vh;
    }
    
    .payment-modal-header,
    .payment-modal-body,
    .payment-modal-footer {
        padding: 16px;
    }
    
    .form-row {
        flex-direction: column;
        gap: 12px;
    }
    
    .product-info {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
    
    .price {
        font-size: 1.5rem;
    }
    
    .payment-modal-footer {
        flex-direction: column;
    }
    
    .btn {
        width: 100%;
    }
}

/* 深色模式支持 */
@media (prefers-color-scheme: dark) {
    .payment-modal-content {
        background: #1f2937;
        color: #f9fafb;
    }
    
    .payment-modal-header {
        border-bottom-color: #374151;
    }
    
    .payment-modal-header h2 {
        color: #f9fafb;
    }
    
    .close-btn {
        color: #9ca3af;
    }
    
    .close-btn:hover {
        background: #374151;
        color: #d1d5db;
    }
    
    .card-element-container label,
    .form-group label {
        color: #d1d5db;
    }
    
    #card-element,
    .form-group input {
        background: #374151;
        border-color: #4b5563;
        color: #f9fafb;
    }
    
    .payment-modal-footer {
        background: #111827;
        border-top-color: #374151;
    }
    
    .payment-security {
        background: #111827;
        border-top-color: #374151;
    }
}/* 微信支付模态框样式 */
.wechat-payment-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
    box-sizing: border-box;
}

.wechat-payment-modal .payment-modal-content.wechat-content {
    max-width: 500px;
    width: 100%;
    background: white;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    max-height: 90vh;
    overflow-y: auto;
}

.wechat-payment-modal .payment-modal-header {
    padding: 24px 24px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 24px;
}

.wechat-payment-modal .payment-modal-header h2 {
    margin: 0;
    font-size: 24px;
    font-weight: bold;
    color: #1f2937;
}

.wechat-payment-modal .close-btn {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #6b7280;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.2s;
}

.wechat-payment-modal .close-btn:hover {
    background-color: #f3f4f6;
}

.wechat-payment-modal .payment-modal-body {
    padding: 0 24px 24px;
}

/* 产品信息 */
.wechat-payment-modal .payment-amount-display {
    text-align: center;
    margin-bottom: 24px;
    padding: 20px 0;
    border-bottom: 1px solid #e5e7eb;
}

.wechat-payment-modal .payment-amount-display h3 {
    margin: 0 0 8px 0;
    font-size: 20px;
    font-weight: bold;
    color: #059669;
}

.wechat-payment-modal .payment-amount-display p {
    margin: 0;
    font-size: 14px;
    color: #6b7280;
}


/* 支付步骤 */
.payment-steps {
    display: flex;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
}

.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    text-align: center;
}

.step-number {
    width: 32px;
    height: 32px;
    background: #3b82f6;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-bottom: 8px;
    font-size: 14px;
}

.step-text {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.4;
}

/* 二维码容器 */
.qr-code-container {
    text-align: center;
    min-height: 240px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 24px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    background: #fafafa;
}

/* 二维码加载 */
.qr-code-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.qr-code-loading .spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #e5e7eb;
    border-top: 4px solid #3b82f6;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 16px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.qr-code-loading p {
    color: #6b7280;
    margin: 0;
}

/* 二维码显示 */
.qr-code-display {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.qr-code-display img {
    width: 200px;
    height: 200px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 12px;
}

.qr-tips {
    color: #6b7280;
    margin: 0 0 8px 0;
    font-size: 14px;
}

.payment-amount {
    font-size: 18px;
    font-weight: bold;
    color: #059669;
    margin: 0;
}

/* 二维码错误 */
.qr-code-error {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.qr-code-error .error-icon {
    font-size: 48px;
    margin-bottom: 12px;
}

.qr-code-error .error-message {
    color: #dc2626;
    margin: 0 0 16px 0;
}

/* 支付状态 */
.payment-status {
    text-align: center;
    margin-bottom: 20px;
    padding: 16px;
    background: #f0f9ff;
    border-radius: 8px;
    border: 1px solid #0ea5e9;
}

.status-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.pulse-dot {
    width: 10px;
    height: 10px;
    background: #0ea5e9;
    border-radius: 50%;
    margin-right: 8px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(14, 165, 233, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(14, 165, 233, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(14, 165, 233, 0);
    }
}

.status-indicator span {
    color: #0c4a6e;
    font-weight: 500;
}

.status-timer {
    color: #6b7280;
    font-size: 14px;
}

.status-timer #countdown {
    font-weight: bold;
    color: #dc2626;
}

/* 支付操作 */
.payment-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-bottom: 20px;
}

.payment-actions .btn {
    padding: 8px 16px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s;
    text-decoration: none;
    display: inline-block;
}

.payment-actions .btn.btn-secondary {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #d1d5db;
}

.payment-actions .btn.btn-secondary:hover {
    background: #e5e7eb;
}

/* 支付成功 */
.payment-success {
    text-align: center;
    padding: 40px 20px;
}

.payment-success .success-icon {
    font-size: 64px;
    margin-bottom: 20px;
}

.payment-success h3 {
    color: #059669;
    margin: 0 0 16px 0;
    font-size: 24px;
}

.payment-success p {
    color: #6b7280;
    margin: 0 0 24px 0;
}

.success-features {
    text-align: left;
    max-width: 300px;
    margin: 0 auto;
}

.success-features p {
    font-weight: bold;
    color: #374151;
    margin-bottom: 12px;
}

.success-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.success-features li {
    padding: 6px 0;
    color: #059669;
    font-size: 14px;
}

/* 激活码显示区域 */
.activation-code-section {
    margin: 24px 0;
    padding: 20px;
    background: #f0f9ff;
    border: 1px solid #0ea5e9;
    border-radius: 12px;
}

.activation-code-header h4 {
    margin: 0 0 8px 0;
    color: #0c4a6e;
    font-size: 16px;
}

.activation-code-header p {
    margin: 0 0 16px 0;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.4;
}

.activation-code-display {
    margin-bottom: 16px;
}

.code-box {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: white;
    border: 2px solid #0ea5e9;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.activation-code {
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: 18px;
    font-weight: bold;
    color: #0c4a6e;
    letter-spacing: 2px;
    flex: 1;
    user-select: all;
    padding: 4px 8px;
    background: #f8fafc;
    border-radius: 4px;
}

.copy-btn {
    padding: 8px 12px;
    background: #0ea5e9;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s;
    white-space: nowrap;
}

.copy-btn:hover {
    background: #0284c7;
    transform: translateY(-1px);
}

.copy-btn:active {
    transform: translateY(0);
}

.activation-code-tips {
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    border-left: 3px solid #0ea5e9;
}

.activation-code-tips p {
    margin: 0 0 8px 0;
    color: #0c4a6e;
    font-weight: 500;
    font-size: 14px;
}

.activation-code-tips ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.activation-code-tips li {
    padding: 2px 0;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.4;
}

/* 成功页面操作区域 */
.success-actions {
    margin-top: 20px;
    text-align: center;
}

.success-actions .btn.btn-primary {
    background: #059669;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    display: inline-block;
    text-decoration: none;
}

.success-actions .btn.btn-primary:hover {
    background: #047857;
    transform: translateY(-1px);
}

.success-actions .btn.btn-primary:active {
    transform: translateY(0);
}

.success-note {
    margin: 12px 0 0 0;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.4;
}

/* 底部安全信息 */
.wechat-payment-modal .payment-modal-footer {
    padding: 16px 24px;
    background: #f8fafc;
    border-top: 1px solid #e5e7eb;
}

.wechat-payment-modal .payment-security p {
    margin: 0;
    color: #6b7280;
    font-size: 12px;
    text-align: center;
    line-height: 1.4;
}

/* 移动端适配 */
@media (max-width: 640px) {
    .wechat-payment-modal {
        padding: 10px;
    }
    
    .wechat-payment-modal .payment-modal-content.wechat-content {
        max-width: 100%;
        margin: 0;
    }
    
    .wechat-payment-modal .payment-modal-header {
        padding: 16px 16px 0;
    }
    
    .wechat-payment-modal .payment-modal-body {
        padding: 0 16px 16px;
    }
    
    .payment-steps {
        flex-direction: column;
        gap: 12px;
    }
    
    .step {
        flex-direction: row;
        text-align: left;
    }
    
    .step-number {
        margin-right: 12px;
        margin-bottom: 0;
    }
    
    .qr-code-display img {
        width: 180px;
        height: 180px;
    }
    
    .payment-actions {
        flex-direction: column;
    }
    
    .payment-actions .btn {
        width: 100%;
    }
    
    /* 移动端激活码样式 */
    .activation-code-section {
        margin: 16px 0;
        padding: 16px;
    }
    
    .code-box {
        flex-direction: column;
        gap: 8px;
        align-items: stretch;
    }
    
    .activation-code {
        text-align: center;
        font-size: 16px;
        letter-spacing: 1px;
    }
    
    .copy-btn {
        width: 100%;
        padding: 12px;
    }
    
    /* 移动端成功页面按钮 */
    .success-actions .btn.btn-primary {
        width: 100%;
        padding: 14px 20px;
        font-size: 16px;
    }
    
    .success-note {
        font-size: 13px;
        margin: 10px 0 0 0;
    }
}

/* 深色模式支持 */
@media (prefers-color-scheme: dark) {
    .wechat-payment-modal .payment-modal-content.wechat-content {
        background: #1f2937;
        color: white;
    }
    
    .wechat-payment-modal .payment-modal-header {
        border-bottom-color: #374151;
    }
    
    .wechat-payment-modal .payment-modal-header h2 {
        color: white;
    }
    
    .wechat-payment-modal .close-btn {
        color: #9ca3af;
    }
    
    .wechat-payment-modal .close-btn:hover {
        background-color: #374151;
    }
    
    .wechat-payment-modal .payment-summary {
        border-bottom-color: #374151;
    }
    
    .payment-steps {
        background: #374151;
    }
    
    .qr-code-container {
        background: #374151;
        border-color: #4b5563;
    }
    
    .payment-status {
        background: #1e3a8a;
        border-color: #3b82f6;
    }
    
    .wechat-payment-modal .payment-modal-footer {
        background: #374151;
        border-top-color: #4b5563;
    }
}/* 分享按钮样式 */
.xhs-share-btn {
    background: linear-gradient(135deg, #ff2442, #ff6b6b);
    color: white;
    border: none;
    padding: 12px 30px;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 36, 66, 0.3);
}

.xhs-share-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 36, 66, 0.4);
}

.xhs-share-btn .pro-label {
    background: linear-gradient(135deg, #FFD700, #FFA500);
    color: #333;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: bold;
    margin-left: 5px;
}

/* 分享弹窗 */
.share-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    align-items: center;
    justify-content: center;
}

.share-modal-content {
    background: white;
    border-radius: 15px;
    width: 90%;
    max-width: 1000px;
    max-height: 90vh;
    overflow: auto;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px;
    border-bottom: 1px solid #eee;
}

.modal-header h2 {
    color: #ff2442;
    margin: 0;
}

.close-btn {
    font-size: 30px;
    color: #999;
    cursor: pointer;
    line-height: 1;
}

.close-btn:hover {
    color: #333;
}

.modal-body {
    display: flex;
    gap: 30px;
    padding: 30px;
}

.share-left, .share-right {
    flex: 1;
}

.share-left h3, .share-right h3 {
    color: #333;
    margin-bottom: 15px;
}

/* 图片容器 */
.image-container {
    background: #f9f9f9;
    border-radius: 10px;
    padding: 20px;
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.loading {
    color: #999;
    font-size: 14px;
}

/* 文案编辑器 */
.caption-editor {
    width: 100%;
    padding: 15px;
    border: 2px solid #f0f0f0;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.6;
    resize: vertical;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.caption-editor:focus {
    outline: none;
    border-color: #ff2442;
}

/* 操作按钮 */
.caption-actions {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.action-btn {
    padding: 10px 20px;
    border: 1px solid #ddd;
    border-radius: 20px;
    background: white;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s;
}

.action-btn:hover {
    background: #f9f9f9;
}

.save-btn {
    background: #4CAF50;
    color: white;
    border: none;
    width: 100%;
    margin-top: 15px;
}

.save-btn:hover {
    background: #45a049;
}

.copy-btn {
    background: #ff2442;
    color: white;
    border: none;
    flex: 1;
}

.copy-btn:hover {
    background: #e61e3a;
}

/* 成功提示 */
.success-tip {
    color: #4CAF50;
    font-size: 14px;
    margin-top: 10px;
    animation: fadeIn 0.3s;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* 底部提示 */
.modal-footer {
    padding: 20px 30px;
    background: #f9f9f9;
    border-top: 1px solid #eee;
    border-radius: 0 0 15px 15px;
}

.tips {
    color: #666;
    font-size: 14px;
    text-align: center;
}

/* 响应式适配 */
@media (max-width: 768px) {
    .modal-body {
        flex-direction: column;
    }
    
    .share-modal-content {
        width: 95%;
    }
}