/*! Tailwind CSS v3.4.0 | MIT License | https://tailwindcss.com */
/*! 本地编译版本 - 包含所有核心样式 */

/* 重置样式 */
*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
::after,::before{--tw-content:''}
html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-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]){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;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
[type=button],[type=reset],[type=submit],button{-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;padding:0}
legend{padding:0}
menu,ol,ul{list-style:none;margin:0;padding:0}
dialog{padding:0}
textarea{resize:vertical}
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]{display:none}

/* 基础工具类 */
.container{width:100%}
@media(min-width:640px){.container{max-width:640px}}
@media(min-width:768px){.container{max-width:768px}}
@media(min-width:1024px){.container{max-width:1024px}}
@media(min-width:1280px){.container{max-width:1280px}}
@media(min-width:1536px){.container{max-width:1536px}}

/* Visibility */
.visible{visibility:visible}
.invisible{visibility:hidden}
.collapse{visibility:collapse}

/* Position */
.static{position:static}
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}
.sticky{position:sticky}

.inset-0{inset:0}
.inset-x-0{left:0;right:0}
.inset-y-0{top:0;bottom:0}
.-inset-1{inset:-.25rem}
.bottom-0{bottom:0}
.left-0{left:0}
.left-1\/2{left:50%}
.right-0{right:0}
.top-0{top:0}
.top-1\/2{top:50%}

/* Z-index */
.z-0{z-index:0}
.z-10{z-index:10}
.z-20{z-index:20}
.z-30{z-index:30}
.z-40{z-index:40}
.z-50{z-index:50}
.-z-10{z-index:-10}

/* Display */
.block{display:block}
.inline-block{display:inline-block}
.inline{display:inline}
.flex{display:flex}
.inline-flex{display:inline-flex}
.table{display:table}
.grid{display:grid}
.contents{display:contents}
.hidden{display:none}

/* Flex */
.flex-row{flex-direction:row}
.flex-row-reverse{flex-direction:row-reverse}
.flex-col{flex-direction:column}
.flex-col-reverse{flex-direction:column-reverse}
.flex-wrap{flex-wrap:wrap}
.flex-nowrap{flex-wrap:nowrap}
.flex-1{flex:1 1 0%}
.flex-auto{flex:1 1 auto}
.flex-initial{flex:0 1 auto}
.flex-none{flex:none}
.flex-grow{flex-grow:1}
.flex-grow-0{flex-grow:0}
.flex-shrink{flex-shrink:1}
.flex-shrink-0{flex-shrink:0}

/* Grid */
.grid-cols-1{grid-template-columns:repeat(1,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))}
.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.col-span-1{grid-column:span 1/span 1}
.col-span-2{grid-column:span 2/span 2}
.col-span-3{grid-column:span 3/span 3}
.col-span-4{grid-column:span 4/span 4}
.col-span-6{grid-column:span 6/span 6}
.col-span-12{grid-column:span 12/span 12}
.col-span-full{grid-column:1/-1}

/* Gap */
.gap-0{gap:0}
.gap-1{gap:.25rem}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-10{gap:2.5rem}
.gap-12{gap:3rem}
.gap-16{gap:4rem}
.gap-x-4{column-gap:1rem}
.gap-x-6{column-gap:1.5rem}
.gap-x-8{column-gap:2rem}
.gap-y-4{row-gap:1rem}
.gap-y-6{row-gap:1.5rem}
.gap-y-8{row-gap:2rem}

/* Alignment */
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.items-center{align-items:center}
.items-baseline{align-items:baseline}
.items-stretch{align-items:stretch}
.justify-start{justify-content:flex-start}
.justify-end{justify-content:flex-end}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.justify-around{justify-content:space-around}
.justify-evenly{justify-content:space-evenly}
.self-auto{align-self:auto}
.self-start{align-self:flex-start}
.self-end{align-self:flex-end}
.self-center{align-self:center}
.self-stretch{align-self:stretch}
.place-items-center{place-items:center}

/* Overflow */
.overflow-auto{overflow:auto}
.overflow-hidden{overflow:hidden}
.overflow-clip{overflow:clip}
.overflow-visible{overflow:visible}
.overflow-scroll{overflow:scroll}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}
.overflow-x-hidden{overflow-x:hidden}
.overflow-y-hidden{overflow-y:hidden}

/* Whitespace */
.whitespace-normal{white-space:normal}
.whitespace-nowrap{white-space:nowrap}
.whitespace-pre{white-space:pre}
.whitespace-pre-line{white-space:pre-line}
.whitespace-pre-wrap{white-space:pre-wrap}

/* Text overflow */
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.text-ellipsis{text-overflow:ellipsis}
.text-clip{text-overflow:clip}

/* Word break */
.break-normal{overflow-wrap:normal;word-break:normal}
.break-words{overflow-wrap:break-word}
.break-all{word-break:break-all}

/* Border radius */
.rounded-none{border-radius:0}
.rounded-sm{border-radius:.125rem}
.rounded{border-radius:.25rem}
.rounded-md{border-radius:.375rem}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}
.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}
.rounded-b-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}
.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}
.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}

/* Border width */
.border-0{border-width:0}
.border{border-width:1px}
.border-2{border-width:2px}
.border-4{border-width:4px}
.border-8{border-width:8px}
.border-t{border-top-width:1px}
.border-b{border-bottom-width:1px}
.border-l{border-left-width:1px}
.border-r{border-right-width:1px}

/* Shadows */
.shadow-sm{box-shadow:0 1px 2px 0 rgb(0 0 0/.05)}
.shadow{box-shadow:0 1px 3px 0 rgb(0 0 0/.1),0 1px 2px -1px rgb(0 0 0/.1)}
.shadow-md{box-shadow:0 4px 6px -1px rgb(0 0 0/.1),0 2px 4px -2px rgb(0 0 0/.1)}
.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1)}
.shadow-xl{box-shadow:0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgb(0 0 0/.25)}
.shadow-inner{box-shadow:inset 0 2px 4px 0 rgb(0 0 0/.05)}
.shadow-none{box-shadow:0 0 #0000}

/* Opacity */
.opacity-0{opacity:0}
.opacity-5{opacity:.05}
.opacity-10{opacity:.1}
.opacity-20{opacity:.2}
.opacity-25{opacity:.25}
.opacity-30{opacity:.3}
.opacity-40{opacity:.4}
.opacity-50{opacity:.5}
.opacity-60{opacity:.6}
.opacity-70{opacity:.7}
.opacity-75{opacity:.75}
.opacity-80{opacity:.8}
.opacity-90{opacity:.9}
.opacity-95{opacity:.95}
.opacity-100{opacity:1}

/* Transform */
.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))}
.transform-none{transform:none}
.-translate-x-1\/2{--tw-translate-x:-50%;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-1\/2{--tw-translate-y:-50%;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-x-0{--tw-translate-x:0;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-0{--tw-translate-y:0;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))}
.scale-100{--tw-scale-x:1;--tw-scale-y: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))}
.scale-95{--tw-scale-x:.95;--tw-scale-y:.95;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))}
.rotate-0{--tw-rotate:0deg;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))}
.rotate-180{--tw-rotate:180deg;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))}

/* Transitions */
.transition-none{transition-property:none}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.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-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-shadow{transition-property:box-shadow;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-75{transition-duration:75ms}
.duration-100{transition-duration:.1s}
.duration-150{transition-duration:.15s}
.duration-200{transition-duration:.2s}
.duration-300{transition-duration:.3s}
.duration-500{transition-duration:.5s}
.duration-700{transition-duration:.7s}
.duration-1000{transition-duration:1s}
.ease-linear{transition-timing-function:linear}
.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}
.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}
.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}

/* Animation */
.animate-none{animation:none}
.animate-spin{animation:spin 1s linear infinite}
.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}
.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
.animate-bounce{animation:bounce 1s infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes ping{75%,100%{transform:scale(2);opacity:0}}
@keyframes pulse{50%{opacity:.5}}
@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}

/* Cursor */
.cursor-auto{cursor:auto}
.cursor-default{cursor:default}
.cursor-pointer{cursor:pointer}
.cursor-wait{cursor:wait}
.cursor-text{cursor:text}
.cursor-move{cursor:move}
.cursor-not-allowed{cursor:not-allowed}

/* Pointer events */
.pointer-events-none{pointer-events:none}
.pointer-events-auto{pointer-events:auto}

/* User select */
.select-none{user-select:none}
.select-text{user-select:text}
.select-all{user-select:all}
.select-auto{user-select:auto}

/* Fill & Stroke */
.fill-current{fill:currentColor}
.stroke-current{stroke:currentColor}
.stroke-1{stroke-width:1}
.stroke-2{stroke-width:2}

/* Sizing - Width */
.w-0{width:0}
.w-1{width:.25rem}
.w-2{width:.5rem}
.w-3{width:.75rem}
.w-4{width:1rem}
.w-5{width:1.25rem}
.w-6{width:1.5rem}
.w-7{width:1.75rem}
.w-8{width:2rem}
.w-9{width:2.25rem}
.w-10{width:2.5rem}
.w-11{width:2.75rem}
.w-12{width:3rem}
.w-14{width:3.5rem}
.w-16{width:4rem}
.w-20{width:5rem}
.w-24{width:6rem}
.w-28{width:7rem}
.w-32{width:8rem}
.w-36{width:9rem}
.w-40{width:10rem}
.w-44{width:11rem}
.w-48{width:12rem}
.w-52{width:13rem}
.w-56{width:14rem}
.w-60{width:15rem}
.w-64{width:16rem}
.w-72{width:18rem}
.w-80{width:20rem}
.w-96{width:24rem}
.w-auto{width:auto}
.w-px{width:1px}
.w-1\/2{width:50%}
.w-1\/3{width:33.333333%}
.w-2\/3{width:66.666667%}
.w-1\/4{width:25%}
.w-3\/4{width:75%}
.w-full{width:100%}
.w-screen{width:100vw}
.w-min{width:min-content}
.w-max{width:max-content}
.w-fit{width:fit-content}
.min-w-0{min-width:0}
.min-w-full{min-width:100%}
.min-w-min{min-width:min-content}
.min-w-max{min-width:max-content}
.max-w-xs{max-width:20rem}
.max-w-sm{max-width:24rem}
.max-w-md{max-width:28rem}
.max-w-lg{max-width:32rem}
.max-w-xl{max-width:36rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}
.max-w-7xl{max-width:80rem}
.max-w-full{max-width:100%}
.max-w-none{max-width:none}
.max-w-prose{max-width:65ch}
.max-w-screen-sm{max-width:640px}
.max-w-screen-md{max-width:768px}
.max-w-screen-lg{max-width:1024px}
.max-w-screen-xl{max-width:1280px}
.max-w-screen-2xl{max-width:1536px}

/* Sizing - Height */
.h-0{height:0}
.h-1{height:.25rem}
.h-2{height:.5rem}
.h-3{height:.75rem}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-7{height:1.75rem}
.h-8{height:2rem}
.h-9{height:2.25rem}
.h-10{height:2.5rem}
.h-11{height:2.75rem}
.h-12{height:3rem}
.h-14{height:3.5rem}
.h-16{height:4rem}
.h-20{height:5rem}
.h-24{height:6rem}
.h-28{height:7rem}
.h-32{height:8rem}
.h-36{height:9rem}
.h-40{height:10rem}
.h-44{height:11rem}
.h-48{height:12rem}
.h-52{height:13rem}
.h-56{height:14rem}
.h-60{height:15rem}
.h-64{height:16rem}
.h-72{height:18rem}
.h-80{height:20rem}
.h-96{height:24rem}
.h-auto{height:auto}
.h-px{height:1px}
.h-1\/2{height:50%}
.h-1\/3{height:33.333333%}
.h-2\/3{height:66.666667%}
.h-full{height:100%}
.h-screen{height:100vh}
.h-min{height:min-content}
.h-max{height:max-content}
.h-fit{height:fit-content}
.min-h-0{min-height:0}
.min-h-full{min-height:100%}
.min-h-screen{min-height:100vh}
.max-h-full{max-height:100%}
.max-h-screen{max-height:100vh}

/* Spacing - Padding */
.p-0{padding:0}
.p-1{padding:.25rem}
.p-2{padding:.5rem}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-7{padding:1.75rem}
.p-8{padding:2rem}
.p-10{padding:2.5rem}
.p-12{padding:3rem}
.p-16{padding:4rem}
.p-20{padding:5rem}
.p-24{padding:6rem}
.p-32{padding:8rem}
.px-0{padding-left:0;padding-right:0}
.px-1{padding-left:.25rem;padding-right:.25rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.px-10{padding-left:2.5rem;padding-right:2.5rem}
.px-12{padding-left:3rem;padding-right:3rem}
.px-16{padding-left:4rem;padding-right:4rem}
.px-20{padding-left:5rem;padding-right:5rem}
.py-0{padding-top:0;padding-bottom:0}
.py-1{padding-top:.25rem;padding-bottom:.25rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.py-24{padding-top:6rem;padding-bottom:6rem}
.py-32{padding-top:8rem;padding-bottom:8rem}
.pt-0{padding-top:0}
.pt-1{padding-top:.25rem}
.pt-2{padding-top:.5rem}
.pt-4{padding-top:1rem}
.pt-6{padding-top:1.5rem}
.pt-8{padding-top:2rem}
.pt-10{padding-top:2.5rem}
.pt-12{padding-top:3rem}
.pt-16{padding-top:4rem}
.pt-20{padding-top:5rem}
.pt-24{padding-top:6rem}
.pt-32{padding-top:8rem}
.pb-0{padding-bottom:0}
.pb-1{padding-bottom:.25rem}
.pb-2{padding-bottom:.5rem}
.pb-4{padding-bottom:1rem}
.pb-6{padding-bottom:1.5rem}
.pb-8{padding-bottom:2rem}
.pb-10{padding-bottom:2.5rem}
.pb-12{padding-bottom:3rem}
.pb-16{padding-bottom:4rem}
.pb-20{padding-bottom:5rem}
.pb-24{padding-bottom:6rem}
.pl-0{padding-left:0}
.pl-1{padding-left:.25rem}
.pl-2{padding-left:.5rem}
.pl-4{padding-left:1rem}
.pl-6{padding-left:1.5rem}
.pl-8{padding-left:2rem}
.pr-0{padding-right:0}
.pr-1{padding-right:.25rem}
.pr-2{padding-right:.5rem}
.pr-4{padding-right:1rem}
.pr-6{padding-right:1.5rem}
.pr-8{padding-right:2rem}
.p-1\.5{padding:.375rem}

/* Spacing - Margin */
.m-0{margin:0}
.m-1{margin:.25rem}
.m-2{margin:.5rem}
.m-3{margin:.75rem}
.m-4{margin:1rem}
.m-5{margin:1.25rem}
.m-6{margin:1.5rem}
.m-8{margin:2rem}
.m-10{margin:2.5rem}
.m-12{margin:3rem}
.m-auto{margin:auto}
.-m-1{margin:-.25rem}
.-m-2{margin:-.5rem}
.mx-0{margin-left:0;margin-right:0}
.mx-1{margin-left:.25rem;margin-right:.25rem}
.mx-2{margin-left:.5rem;margin-right:.5rem}
.mx-4{margin-left:1rem;margin-right:1rem}
.mx-6{margin-left:1.5rem;margin-right:1.5rem}
.mx-8{margin-left:2rem;margin-right:2rem}
.mx-auto{margin-left:auto;margin-right:auto}
.my-0{margin-top:0;margin-bottom:0}
.my-1{margin-top:.25rem;margin-bottom:.25rem}
.my-2{margin-top:.5rem;margin-bottom:.5rem}
.my-4{margin-top:1rem;margin-bottom:1rem}
.my-6{margin-top:1.5rem;margin-bottom:1.5rem}
.my-8{margin-top:2rem;margin-bottom:2rem}
.my-10{margin-top:2.5rem;margin-bottom:2.5rem}
.my-12{margin-top:3rem;margin-bottom:3rem}
.my-auto{margin-top:auto;margin-bottom:auto}
.mt-0{margin-top:0}
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mt-10{margin-top:2.5rem}
.mt-12{margin-top:3rem}
.mt-16{margin-top:4rem}
.mt-20{margin-top:5rem}
.mt-auto{margin-top:auto}
.-mt-1{margin-top:-.25rem}
.-mt-2{margin-top:-.5rem}
.-mt-4{margin-top:-1rem}
.mb-0{margin-bottom:0}
.mb-1{margin-bottom:.25rem}
.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}
.mb-10{margin-bottom:2.5rem}
.mb-12{margin-bottom:3rem}
.mb-16{margin-bottom:4rem}
.mb-20{margin-bottom:5rem}
.mb-auto{margin-bottom:auto}
.ml-0{margin-left:0}
.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-8{margin-left:2rem}
.ml-auto{margin-left:auto}
.-ml-1{margin-left:-.25rem}
.-ml-4{margin-left:-1rem}
.mr-0{margin-right:0}
.mr-1{margin-right:.25rem}
.mr-2{margin-right:.5rem}
.mr-3{margin-right:.75rem}
.mr-4{margin-right:1rem}
.mr-6{margin-right:1.5rem}
.mr-8{margin-right:2rem}
.mr-auto{margin-right:auto}
.-mr-1{margin-right:-.25rem}

/* Space between */
.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(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 * calc(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 * calc(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 * calc(1 - var(--tw-space-x-reverse)))}
.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}
.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}
.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}
.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}
.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}
.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}
.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}
.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}
.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}

/* Typography */
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.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-5xl{font-size:3rem;line-height:1}
.text-6xl{font-size:3.75rem;line-height:1}
.text-7xl{font-size:4.5rem;line-height:1}
.text-8xl{font-size:6rem;line-height:1}
.text-9xl{font-size:8rem;line-height:1}
.font-thin{font-weight:100}
.font-extralight{font-weight:200}
.font-light{font-weight:300}
.font-normal{font-weight:400}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-black{font-weight:900}
.italic{font-style:italic}
.not-italic{font-style:normal}
.uppercase{text-transform:uppercase}
.lowercase{text-transform:lowercase}
.capitalize{text-transform:capitalize}
.normal-case{text-transform:none}
.underline{text-decoration-line:underline}
.overline{text-decoration-line:overline}
.line-through{text-decoration-line:line-through}
.no-underline{text-decoration-line:none}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}
.leading-3{line-height:.75rem}
.leading-4{line-height:1rem}
.leading-5{line-height:1.25rem}
.leading-6{line-height:1.5rem}
.leading-7{line-height:1.75rem}
.leading-8{line-height:2rem}
.leading-9{line-height:2.25rem}
.leading-10{line-height:2.5rem}
.leading-none{line-height:1}
.leading-tight{line-height:1.25}
.leading-snug{line-height:1.375}
.leading-normal{line-height:1.5}
.leading-relaxed{line-height:1.625}
.leading-loose{line-height:2}
.tracking-tighter{letter-spacing:-.05em}
.tracking-tight{letter-spacing:-.025em}
.tracking-normal{letter-spacing:0}
.tracking-wide{letter-spacing:.025em}
.tracking-wider{letter-spacing:.05em}
.tracking-widest{letter-spacing:.1em}
.text-left{text-align:left}
.text-center{text-align:center}
.text-right{text-align:right}
.text-justify{text-align:justify}

/* Colors - Text */
.text-inherit{color:inherit}
.text-current{color:currentColor}
.text-transparent{color:transparent}
.text-black{color:#000}
.text-white{color:#fff}
.text-gray-50{color:#f9fafb}
.text-gray-100{color:#f3f4f6}
.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-slate-50{color:#f8fafc}
.text-slate-100{color:#f1f5f9}
.text-slate-200{color:#e2e8f0}
.text-slate-300{color:#cbd5e1}
.text-slate-400{color:#94a3b8}
.text-slate-500{color:#64748b}
.text-slate-600{color:#475569}
.text-slate-700{color:#334155}
.text-slate-800{color:#1e293b}
.text-slate-900{color:#0f172a}
.text-red-50{color:#fef2f2}
.text-red-100{color:#fee2e2}
.text-red-200{color:#fecaca}
.text-red-300{color:#fca5a5}
.text-red-400{color:#f87171}
.text-red-500{color:#ef4444}
.text-red-600{color:#dc2626}
.text-red-700{color:#b91c1c}
.text-red-800{color:#991b1b}
.text-red-900{color:#7f1d1d}
.text-orange-400{color:#fb923c}
.text-orange-500{color:#f97316}
.text-orange-600{color:#ea580c}
.text-yellow-300{color:#fde047}
.text-yellow-400{color:#facc15}
.text-yellow-500{color:#eab308}
.text-green-400{color:#4ade80}
.text-green-500{color:#22c55e}
.text-green-600{color:#16a34a}
.text-emerald-400{color:#34d399}
.text-emerald-500{color:#10b981}
.text-emerald-600{color:#059669}
.text-emerald-700{color:#047857}
.text-teal-400{color:#2dd4bf}
.text-teal-500{color:#14b8a6}
.text-teal-600{color:#0d9488}
.text-cyan-400{color:#22d3ee}
.text-cyan-500{color:#06b6d4}
.text-blue-400{color:#60a5fa}
.text-blue-500{color:#3b82f6}
.text-blue-600{color:#2563eb}
.text-blue-700{color:#1d4ed8}
.text-indigo-400{color:#818cf8}
.text-indigo-500{color:#6366f1}
.text-indigo-600{color:#4f46e5}
.text-violet-400{color:#a78bfa}
.text-violet-500{color:#8b5cf6}
.text-violet-600{color:#7c3aed}
.text-purple-400{color:#c084fc}
.text-purple-500{color:#a855f7}
.text-purple-600{color:#9333ea}
.text-pink-400{color:#f472b6}
.text-pink-500{color:#ec4899}
.text-pink-600{color:#db2777}

/* Colors - Background */
.bg-inherit{background-color:inherit}
.bg-current{background-color:currentColor}
.bg-transparent{background-color:transparent}
.bg-black{background-color:#000}
.bg-white{background-color:#fff}
.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-400{background-color:#9ca3af}
.bg-gray-500{background-color:#6b7280}
.bg-gray-600{background-color:#4b5563}
.bg-gray-700{background-color:#374151}
.bg-gray-800{background-color:#1f2937}
.bg-gray-900{background-color:#111827}
.bg-slate-50{background-color:#f8fafc}
.bg-slate-100{background-color:#f1f5f9}
.bg-slate-200{background-color:#e2e8f0}
.bg-slate-300{background-color:#cbd5e1}
.bg-slate-400{background-color:#94a3b8}
.bg-slate-500{background-color:#64748b}
.bg-slate-600{background-color:#475569}
.bg-slate-700{background-color:#334155}
.bg-slate-800{background-color:#1e293b}
.bg-slate-900{background-color:#0f172a}
.bg-slate-950{background-color:#020617}
.bg-red-50{background-color:#fef2f2}
.bg-red-100{background-color:#fee2e2}
.bg-red-200{background-color:#fecaca}
.bg-red-400{background-color:#f87171}
.bg-red-500{background-color:#ef4444}
.bg-red-600{background-color:#dc2626}
.bg-red-700{background-color:#b91c1c}
.bg-orange-400{background-color:#fb923c}
.bg-orange-500{background-color:#f97316}
.bg-orange-600{background-color:#ea580c}
.bg-yellow-400{background-color:#facc15}
.bg-yellow-500{background-color:#eab308}
.bg-green-400{background-color:#4ade80}
.bg-green-500{background-color:#22c55e}
.bg-green-600{background-color:#16a34a}
.bg-emerald-400{background-color:#34d399}
.bg-emerald-500{background-color:#10b981}
.bg-emerald-600{background-color:#059669}
.bg-teal-400{background-color:#2dd4bf}
.bg-teal-500{background-color:#14b8a6}
.bg-teal-600{background-color:#0d9488}
.bg-cyan-400{background-color:#22d3ee}
.bg-cyan-500{background-color:#06b6d4}
.bg-blue-400{background-color:#60a5fa}
.bg-blue-500{background-color:#3b82f6}
.bg-blue-600{background-color:#2563eb}
.bg-blue-700{background-color:#1d4ed8}
.bg-blue-800{background-color:#1e40af}
.bg-indigo-500{background-color:#6366f1}
.bg-indigo-600{background-color:#4f46e5}
.bg-violet-400{background-color:#a78bfa}
.bg-violet-500{background-color:#8b5cf6}
.bg-violet-600{background-color:#7c3aed}
.bg-purple-400{background-color:#c084fc}
.bg-purple-500{background-color:#a855f7}
.bg-purple-600{background-color:#9333ea}
.bg-pink-400{background-color:#f472b6}
.bg-pink-500{background-color:#ec4899}
.bg-pink-600{background-color:#db2777}
.bg-white\/5{background-color:rgb(255 255 255/.05)}
.bg-white\/10{background-color:rgb(255 255 255/.1)}
.bg-white\/20{background-color:rgb(255 255 255/.2)}
.bg-white\/80{background-color:rgb(255 255 255/.8)}
.bg-white\/90{background-color:rgb(255 255 255/.9)}
.bg-white\/95{background-color:rgb(255 255 255/.95)}
.bg-black\/5{background-color:rgb(0 0 0/.05)}
.bg-black\/10{background-color:rgb(0 0 0/.1)}
.bg-black\/20{background-color:rgb(0 0 0/.2)}
.bg-black\/50{background-color:rgb(0 0 0/.5)}
.bg-slate-800\/50{background-color:rgb(30 41 59/.5)}
.bg-slate-800\/30{background-color:rgb(30 41 59/.3)}

/* Gradients */
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}
.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}
.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}
.bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--tw-gradient-stops))}
.from-purple-500{--tw-gradient-from:#a855f7;--tw-gradient-to:rgb(168 85 247 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-purple-600{--tw-gradient-from:#9333ea;--tw-gradient-to:rgb(147 51 234 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-violet-500{--tw-gradient-from:#8b5cf6;--tw-gradient-to:rgb(139 92 246 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-violet-600{--tw-gradient-from:#7c3aed;--tw-gradient-to:rgb(124 58 237 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-pink-500{--tw-gradient-from:#ec4899;--tw-gradient-to:rgb(236 72 153 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-pink-600{--tw-gradient-from:#db2777;--tw-gradient-to:rgb(219 39 119 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-red-500{--tw-gradient-from:#ef4444;--tw-gradient-to:rgb(239 68 68 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-red-600{--tw-gradient-from:#dc2626;--tw-gradient-to:rgb(220 38 38 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-orange-500{--tw-gradient-from:#f97316;--tw-gradient-to:rgb(249 115 22 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-yellow-300{--tw-gradient-from:#fde047;--tw-gradient-to:rgb(253 224 71 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-emerald-500{--tw-gradient-from:#10b981;--tw-gradient-to:rgb(16 185 129 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-teal-500{--tw-gradient-from:#14b8a6;--tw-gradient-to:rgb(20 184 166 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-teal-600{--tw-gradient-from:#0d9488;--tw-gradient-to:rgb(13 148 136 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-cyan-400{--tw-gradient-from:#22d3ee;--tw-gradient-to:rgb(34 211 238 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-blue-500{--tw-gradient-from:#3b82f6;--tw-gradient-to:rgb(59 130 246 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-blue-600{--tw-gradient-from:#2563eb;--tw-gradient-to:rgb(37 99 235 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-blue-700{--tw-gradient-from:#1d4ed8;--tw-gradient-to:rgb(29 78 216 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-blue-800{--tw-gradient-from:#1e40af;--tw-gradient-to:rgb(30 64 175 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-indigo-500{--tw-gradient-from:#6366f1;--tw-gradient-to:rgb(99 102 241 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-indigo-600{--tw-gradient-from:#4f46e5;--tw-gradient-to:rgb(79 70 229 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.via-purple-500{--tw-gradient-to:rgb(168 85 247 / 0);--tw-gradient-stops:var(--tw-gradient-from),#a855f7,var(--tw-gradient-to)}
.via-violet-500{--tw-gradient-to:rgb(139 92 246 / 0);--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to)}
.via-pink-500{--tw-gradient-to:rgb(236 72 153 / 0);--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to)}
.via-blue-500{--tw-gradient-to:rgb(59 130 246 / 0);--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to)}
.to-pink-500{--tw-gradient-to:#ec4899}
.to-pink-600{--tw-gradient-to:#db2777}
.to-purple-600{--tw-gradient-to:#9333ea}
.to-violet-600{--tw-gradient-to:#7c3aed}
.to-red-600{--tw-gradient-to:#dc2626}
.to-orange-200{--tw-gradient-to:#fed7aa}
.to-orange-500{--tw-gradient-to:#f97316}
.to-orange-600{--tw-gradient-to:#ea580c}
.to-yellow-500{--tw-gradient-to:#eab308}
.to-green-500{--tw-gradient-to:#22c55e}
.to-emerald-500{--tw-gradient-to:#10b981}
.to-teal-500{--tw-gradient-to:#14b8a6}
.to-teal-600{--tw-gradient-to:#0d9488}
.to-cyan-400{--tw-gradient-to:#22d3ee}
.to-cyan-500{--tw-gradient-to:#06b6d4}
.to-blue-500{--tw-gradient-to:#3b82f6}
.to-blue-600{--tw-gradient-to:#2563eb}
.to-blue-700{--tw-gradient-to:#1d4ed8}
.to-blue-800{--tw-gradient-to:#1e40af}
.to-indigo-600{--tw-gradient-to:#4f46e5}

/* Border colors */
.border-transparent{border-color:transparent}
.border-current{border-color:currentColor}
.border-black{border-color:#000}
.border-white{border-color:#fff}
.border-gray-100{border-color:#f3f4f6}
.border-gray-200{border-color:#e5e7eb}
.border-gray-300{border-color:#d1d5db}
.border-slate-100{border-color:#f1f5f9}
.border-slate-200{border-color:#e2e8f0}
.border-slate-300{border-color:#cbd5e1}
.border-slate-700{border-color:#334155}
.border-slate-800{border-color:#1e293b}
.border-white\/10{border-color:rgb(255 255 255/.1)}
.border-white\/20{border-color:rgb(255 255 255/.2)}

/* Object fit */
.object-contain{object-fit:contain}
.object-cover{object-fit:cover}
.object-fill{object-fit:fill}
.object-none{object-fit:none}
.object-scale-down{object-fit:scale-down}

/* Backdrop */
.backdrop-blur{--tw-backdrop-blur:blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}
.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);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-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-lg{--tw-backdrop-blur:blur(16px);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-xl{--tw-backdrop-blur:blur(24px);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)}

/* Filter */
.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)}
.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}
.brightness-0{--tw-brightness:brightness(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}
.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}

/* Text decoration */
.bg-clip-text{-webkit-background-clip:text;background-clip:text}
.text-transparent{color:transparent}

/* Responsive SM (640px) */
@media(min-width:640px){
  .sm\:block{display:block}
  .sm\:inline-block{display:inline-block}
  .sm\:flex{display:flex}
  .sm\:hidden{display:none}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:flex-row{flex-direction:row}
  .sm\:gap-4{gap:1rem}
  .sm\:gap-8{gap:2rem}
  .sm\:p-6{padding:1.5rem}
  .sm\:p-8{padding:2rem}
  .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
  .sm\:py-4{padding-top:1rem;padding-bottom:1rem}
  .sm\:text-lg{font-size:1.125rem;line-height:1.75rem}
  .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .sm\:text-5xl{font-size:3rem;line-height:1}
}

/* Responsive MD (768px) */
@media(min-width:768px){
  .md\:block{display:block}
  .md\:inline-block{display:inline-block}
  .md\:flex{display:flex}
  .md\:hidden{display:none}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:flex-row{flex-direction:row}
  .md\:gap-6{gap:1.5rem}
  .md\:gap-8{gap:2rem}
  .md\:p-8{padding:2rem}
  .md\:px-8{padding-left:2rem;padding-right:2rem}
  .md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}
  .md\:mb-0{margin-bottom:0}
  .md\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .md\:text-2xl{font-size:1.5rem;line-height:2rem}
  .md\:text-5xl{font-size:3rem;line-height:1}
  .md\:text-6xl{font-size:3.75rem;line-height:1}
  .md\:w-1\/2{width:50%}
  .md\:w-auto{width:auto}
}

/* Responsive LG (1024px) */
@media(min-width:1024px){
  .lg\:block{display:block}
  .lg\:inline-block{display:inline-block}
  .lg\:flex{display:flex}
  .lg\:hidden{display:none}
  .lg\:grid{display:grid}
  .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\:flex-row{flex-direction:row}
  .lg\:gap-8{gap:2rem}
  .lg\:gap-10{gap:2.5rem}
  .lg\:gap-12{gap:3rem}
  .lg\:gap-16{gap:4rem}
  .lg\:p-10{padding:2.5rem}
  .lg\:p-12{padding:3rem}
  .lg\:px-8{padding-left:2rem;padding-right:2rem}
  .lg\:py-20{padding-top:5rem;padding-bottom:5rem}
  .lg\:py-24{padding-top:6rem;padding-bottom:6rem}
  .lg\:py-32{padding-top:8rem;padding-bottom:8rem}
  .lg\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .lg\:text-2xl{font-size:1.5rem;line-height:2rem}
  .lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .lg\:text-5xl{font-size:3rem;line-height:1}
  .lg\:text-6xl{font-size:3.75rem;line-height:1}
  .lg\:text-7xl{font-size:4.5rem;line-height:1}
  .lg\:w-1\/2{width:50%}
  .lg\:max-w-lg{max-width:32rem}
  .lg\:max-w-xl{max-width:36rem}
}

/* Responsive XL (1280px) */
@media(min-width:1280px){
  .xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .xl\:gap-12{gap:3rem}
  .xl\:px-0{padding-left:0;padding-right:0}
}

/* Hover states */
.hover\:text-white:hover{color:#fff}
.hover\:text-gray-300:hover{color:#d1d5db}
.hover\:text-gray-900:hover{color:#111827}
.hover\:text-purple-600:hover{color:#9333ea}
.hover\:text-pink-600:hover{color:#db2777}
.hover\:text-red-600:hover{color:#dc2626}
.hover\:text-emerald-600:hover{color:#059669}
.hover\:text-blue-600:hover{color:#2563eb}
.hover\:bg-gray-50:hover{background-color:#f9fafb}
.hover\:bg-gray-100:hover{background-color:#f3f4f6}
.hover\:bg-white\/20:hover{background-color:rgb(255 255 255/.2)}
.hover\:bg-slate-50:hover{background-color:#f8fafc}
.hover\:opacity-80:hover{opacity:.8}
.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;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\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1)}
.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1)}
.hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgb(0 0 0/.25)}
.hover\:-translate-y-1:hover{--tw-translate-y:-.25rem;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\:-translate-y-2:hover{--tw-translate-y:-.5rem;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))}

/* Focus states */
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}
.focus\:ring-purple-500:focus{--tw-ring-color:#a855f7}
.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}

/* Group hover */
.group:hover .group-hover\:text-white{color:#fff}
.group:hover .group-hover\:opacity-100{opacity:1}
.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}

/* 自定义主题色 - primary (紫色 for dyhelp) */
.text-primary-50{color:#faf5ff}
.text-primary-100{color:#f3e8ff}
.text-primary-200{color:#e9d5ff}
.text-primary-300{color:#d8b4fe}
.text-primary-400{color:#c084fc}
.text-primary-500{color:#a855f7}
.text-primary-600{color:#9333ea}
.text-primary-700{color:#7e22ce}
.text-primary-800{color:#6b21a8}
.text-primary-900{color:#581c87}
.bg-primary-50{background-color:#faf5ff}
.bg-primary-100{background-color:#f3e8ff}
.bg-primary-400{background-color:#c084fc}
.bg-primary-500{background-color:#a855f7}
.bg-primary-600{background-color:#9333ea}
.bg-primary-700{background-color:#7e22ce}
.from-primary-500{--tw-gradient-from:#a855f7;--tw-gradient-to:rgb(168 85 247 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-primary-600{--tw-gradient-from:#9333ea;--tw-gradient-to:rgb(147 51 234 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-primary-600{--tw-gradient-to:#9333ea}

/* 自定义主题色 - brand (蓝色 for portal) */
.text-brand-600{color:#2563eb}
.text-brand-700{color:#1d4ed8}
.text-brand-800{color:#1e40af}
.bg-brand-600{background-color:#2563eb}
.bg-brand-700{background-color:#1d4ed8}
.bg-brand-800{background-color:#1e40af}
.from-brand-600{--tw-gradient-from:#2563eb;--tw-gradient-to:rgb(37 99 235 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-brand-800{--tw-gradient-from:#1e40af;--tw-gradient-to:rgb(30 64 175 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-brand-800{--tw-gradient-to:#1e40af}

/* 自定义主题色 - accent */
.text-accent-400{color:#fbbf24}
.text-accent-500{color:#f59e0b}
.text-accent-600{color:#d97706}
.bg-accent-400{background-color:#fbbf24}
.bg-accent-500{background-color:#f59e0b}

/* Opacity border colors */
.border-slate-800\/30{border-color:rgb(30 41 59/.3)}
.border-slate-800\/20{border-color:rgb(30 41 59/.2)}
.border-slate-700\/30{border-color:rgb(51 65 85/.3)}

