/* Tailwind Preflight (基础样式重置) */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}html{-webkit-text-size-adjust:100%;font-family:system-ui,sans-serif}body{margin:0;line-height:inherit}

/* 布局 */
.flex{display:flex}
.grid{display:grid}
.min-h-screen{min-height:100vh}
.items-center{align-items:center}
.justify-center{justify-content:center}
.flex-col{flex-direction:column}
.text-center{text-align:center}
.w-full{width:100%}
.w-16{width:4rem}
.h-16{height:4rem}
.w-30{width:7.5rem}
.h-30{height:7.5rem}
.max-w-5xl{max-width:64rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.px-4{padding-left:1rem;padding-right:1rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.mt-1{margin-top:0.25rem}
.mt-4{margin-top:1rem}
.mb-2{margin-bottom:0.5rem}
.mb-4{margin-bottom:1rem}
.gap-6{gap:1.5rem}
.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))}

/* 字体与文字 */
.text-sm{font-size:0.875rem}
.text-xl{font-size:1.25rem}
.text-3xl{font-size:1.875rem}
.font-bold{font-weight:700}
.font-semibold{font-weight:600}
.text-white{color:#fff}
.text-gray-500{color:#6b7280}
.text-gray-600{color:#4b5563}
.text-gray-800{color:#1f2937}

/* 背景色与渐变 */
.bg-white{background-color:#fff}
.bg-gray-100{background-color:#f3f4f6}
.bg-green-500{background-color:#22c55e}
.bg-purple-500{background-color:#a855f7}
.bg-blue-500{background-color:#3b82f6}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.from-indigo-500{--tw-gradient-from:#6366f1;--tw-gradient-to:rgba(99,102,241,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.via-purple-500{--tw-gradient-stops:var(--tw-gradient-from),#a855f7,var(--tw-gradient-to)}
.to-pink-500{--tw-gradient-to:#ec4899}

/* Hover */
.hover\:bg-green-600:hover{background-color:#16a34a}
.hover\:bg-purple-600:hover{background-color:#9333ea}
.hover\:bg-blue-600:hover{background-color:#2563eb}

/* 圆角和阴影 */
.rounded{border-radius:0.25rem}
.rounded-full{border-radius:9999px}
.rounded-xl{border-radius:0.75rem}
.rounded-2xl{border-radius:1rem}
.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1)}

/* 过渡 */
.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-duration:150ms}
