/* ===== Tailwind 静态版 — 替换 CDN，提升速度 ===== */

/* Flex & Grid */
.flex{display:flex}.grid{display:grid}.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.hidden{display:none}
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}
.items-center{align-items:center}.items-start{align-items:start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.min-w-0{min-width:0}
.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}
.col-span-2{grid-column:span 2/span 2}
.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-10{gap:2.5rem}
.space-y-3>*+*{margin-top:0.75rem}.space-y-4>*+*{margin-top:1rem}.space-x-2>*+*{margin-left:0.5rem}

/* Sizing */
.w-full{width:100%}.w-16{width:4rem}.w-14{width:3.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-40{width:10rem}
.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}
.h-16{height:4rem}.h-14{height:3.5rem}.min-h-screen{min-height:100vh}
.aspect-square{aspect-ratio:1/1}

/* Spacing */
.p-3{padding:0.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-12{padding:3rem}
.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}
.pt-4{padding-top:1rem}
.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}
.mt-1{margin-top:0.25rem}.mt-2{margin-top:0.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}
.mb-1{margin-bottom:0.25rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}
.ml-3{margin-left:0.75rem}.mr-2{margin-right:0.5rem}
.inset-0{top:0;right:0;bottom:0;left:0}

/* Typography */
.text-xs{font-size:0.75rem;line-height:1rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-base{font-size:1rem}.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-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}
.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}
.leading-relaxed{line-height:1.625}.whitespace-pre-wrap{white-space:pre-wrap}.whitespace-nowrap{white-space:nowrap}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tracking-\[3px\]{letter-spacing:3px}
.no-underline{text-decoration:none}

/* Colors — Text */
.text-white{color:#fff}.text-black{color:#000}
.text-gray-300{color:#d1d5db}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}
.text-red-300{color:#fca5a5}.text-red-400{color:#f87171}
.text-green-300{color:#86efac}.text-green-400{color:#4ade80}
.text-yellow-300{color:#fde047}.text-yellow-400{color:#facc15}
.text-cyan{color:var(--cyan)}.text-pink{color:var(--pink)}.text-purple{color:var(--purple)}

/* Colors — Background */
.bg-red-500\/20{background:rgba(239,68,68,0.2)}
.bg-green-500\/20{background:rgba(34,197,94,0.2)}.bg-green-400\/10{background:rgba(74,222,128,0.1)}
.bg-pink\/10{background:rgba(255,110,199,0.1)}.bg-pink\/20{background:rgba(255,110,199,0.2)}.bg-pink\/30{background:rgba(255,110,199,0.3)}
.bg-cyan\/10{background:rgba(0,212,255,0.1)}.bg-purple\/10{background:rgba(196,113,237,0.1)}
.bg-gray-400\/10{background:rgba(156,163,175,0.1)}
.bg-transparent{background:transparent}
.bg-deep\/80{background:rgba(26,0,48,0.85)}

/* Colors — Border */
.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-l-4{border-left-width:4px}
.border-pink\/10{border-color:rgba(255,110,199,0.1)}.border-pink\/20{border-color:rgba(255,110,199,0.2)}.border-pink\/30{border-color:rgba(255,110,199,0.3)}.border-pink\/40{border-color:rgba(255,110,199,0.4)}.border-pink\/50{border-color:rgba(255,110,199,0.5)}
.border-cyan\/30{border-color:rgba(0,212,255,0.3)}
.border-purple\/30{border-color:rgba(196,113,237,0.3)}
.border-green-400\/30{border-color:rgba(74,222,128,0.3)}
.border-gray-400\/30{border-color:rgba(156,163,175,0.3)}.border-gray-500{border-color:#6b7280}
.border-red-500\/40{border-color:rgba(239,68,68,0.4)}
.border-green-500\/40{border-color:rgba(34,197,94,0.4)}
.border-transparent{border-color:transparent}
.border-pink{border-color:var(--pink)}

/* Border Radius */
.rounded-sm{border-radius:0.125rem}.rounded{border-radius:0.25rem}.rounded-lg{border-radius:0.5rem}.rounded-xl{border-radius:0.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}

/* Effects */
.shadow-\[0_0_40px_rgba\(255\,110\,199\,0\.4\)\]{box-shadow:0 0 40px rgba(255,110,199,0.4)}
.shadow-\[0_0_10px_rgba\(255\,110\,199\,0\.5\)\]{box-shadow:0 0 10px rgba(255,110,199,0.5)}
.opacity-5{opacity:0.05}.opacity-10{opacity:0.1}
.backdrop-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}
.object-cover{object-fit:cover}
.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}

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

/* Hover */
.hover\:bg-pink\/10:hover{background:rgba(255,110,199,0.1)}.hover\:bg-pink\/30:hover{background:rgba(255,110,199,0.3)}
.hover\:bg-cyan\/10:hover{background:rgba(0,212,255,0.1)}.hover\:bg-purple\/10:hover{background:rgba(196,113,237,0.1)}
.hover\:bg-green-400\/10:hover{background:rgba(74,222,128,0.1)}.hover\:bg-gray-400\/10:hover{background:rgba(156,163,175,0.1)}
.hover\:text-pink:hover{color:var(--pink)}.hover\:text-cyan:hover{color:var(--cyan)}.hover\:text-red-300:hover{color:#fca5a5}.hover\:text-yellow-300:hover{color:#fde047}
.hover\:border-pink\/40:hover{border-color:rgba(255,110,199,0.4)}.hover\:border-pink\/50:hover{border-color:rgba(255,110,199,0.5)}

/* Peer-checked (avatar selection) */
.peer{position:relative}.peer\:checked\:border-pink:checked~*{border-color:var(--pink)!important}
.peer\:checked\:shadow-\[0_0_10px_rgba\(255\,110\,199\,0\.5\)\]:checked~*{box-shadow:0 0 10px rgba(255,110,199,0.5)!important}

/* Cursor & Interaction */
.cursor-pointer{cursor:pointer}.pointer-events-none{pointer-events:none}.select-none{user-select:none}

/* Misc */
.accent-pink{accent-color:var(--pink)}.accent-cyan{accent-color:var(--cyan)}

/* ===== Animations ===== */
@keyframes scroll-left{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}
.animate-scroll{animation:scroll-left 20s linear infinite}

/* ===== Custom arbitrary values ===== */
.bg-scanlines{background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,110,199,0.03) 2px,rgba(255,110,199,0.03) 4px)}

/* ===== Translate utility ===== */
.-translate-y-1\/2{transform:translateY(-50%)}
