/* Tailwind 替代样式 — 自动生成，用于 dashboard.html */
.-right-1{right:-4px}
.-right-1\\.5{right:-6px}
.-top-1{top:-4px}
.-top-1\\.5{top:-6px}
.absolute{position:absolute}
.align-middle{vertical-align:middle}
.animate-spin{animation:spin 1s linear infinite}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.bg-accent{background:#e94560}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.bg-green-500\\/10{background:rgba(34,197,94,0.1)}
.block{display:block}
.border{border-width:1px}
.border-2{border-width:2px}
.border-b{border-bottom-width:1px}
.border-green-500\\/20{border-color:rgba(34,197,94,0.2)}
.border-l-4{border-left-width:4px}
.border-t{border-top-width:1px}
.border-t-white{border-top-color:#fff}
.border-white\\/10{border-color:rgba(255,255,255,0.1)}
.border-white\\/30{border-color:rgba(255,255,255,0.3)}
.border-white\\/5{border-color:rgba(255,255,255,0.05)}
.btn-danger{background:rgba(245,63,63,0.1);color:#f53f3f;border:1px solid rgba(245,63,63,0.2)}
.col-span-full{grid-column:1/-1}
.flex{display:flex}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.flex-shrink-0{flex-shrink:0}
.flex-wrap{flex-wrap:wrap}
.font-bold{font-weight:700}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.from-\\[\\#e94560\\]{--tw-gradient-from:#e94560;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(233,69,96,0))}
.from-\\[\\#e94560\\]\\/20{--tw-gradient-from:rgba(233,69,96,0.2);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(233,69,96,0))}
.from-white\\/5{--tw-gradient-from:rgba(255,255,255,0.05);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(255,255,255,0))}
.gap-2{gap:8px}
.gap-3{gap:12px}
.gap-4{gap:16px}
.gap-6{gap:24px}
.gap-x-4{column-gap:16px}
.gap-y-1{row-gap:4px}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.h-16{height:64px}
.h-20{height:80px}
.h-4{height:16px}
.h-5{height:20px}
.h-\\[16px\\]{height:16px}
.h-full{height:100%}
.hidden{display:none}
.hover\\:text-white:hover{color:#fff}
.inline-block{display:inline-block}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.leading-relaxed{line-height:1.625}
.max-h-\\[65vh\\]{max-height:65vh}
.max-w-4xl{max-width:896px}
.mb-1{margin-bottom:4px}
.mb-1\\.5{margin-bottom:6px}
.mb-2{margin-bottom:8px}
.mb-3{margin-bottom:12px}
.mb-4{margin-bottom:16px}
.mb-6{margin-bottom:24px}
.min-h-screen{min-height:100vh}
.min-w-0{min-width:0}
.min-w-\\[16px\\]{min-width:16px}
.ml-1{margin-left:4px}
.mt-0\\.5{margin-top:2px}
.mt-1{margin-top:4px}
.mt-10{margin-top:40px}
.mt-2{margin-top:8px}
.mt-4{margin-top:16px}
.mt-6{margin-top:24px}
.mt-8{margin-top:32px}
.mx-auto{margin-left:auto;margin-right:auto}
.object-cover{object-fit:cover}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}
.p-4{padding:16px}
.p-5{padding:20px}
.p-6{padding:24px}
.p-8{padding:32px}
.pb-16{padding-bottom:64px}
.pr-2{padding-right:8px}
.pt-24{padding-top:96px}
.pt-4{padding-top:16px}
.px-1{padding-left:4px;padding-right:4px}
.px-1\\.5{padding-left:6px;padding-right:6px}
.px-2\\.5{padding-left:10px;padding-right:10px}
.px-4{padding-left:16px;padding-right:16px}
.px-6{padding-left:24px;padding-right:24px}
.px-8{padding-left:32px;padding-right:32px}
.py-0\\.5{padding-top:2px;padding-bottom:2px}
.py-1{padding-top:4px;padding-bottom:4px}
.py-2\\.5{padding-top:10px;padding-bottom:10px}
.py-3{padding-top:12px;padding-bottom:12px}
.py-8{padding-top:32px;padding-bottom:32px}
.relative{position:relative}
.rounded-2xl{border-radius:16px}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:8px}
.rounded-xl{border-radius:12px}
.shrink-0{flex-shrink:0}
.space-y-2>*+*{margin-top:8px}
.space-y-3>*+*{margin-top:12px}
.space-y-4>*+*{margin-top:16px}
.text-2xl{font-size:24px;line-height:32px}
.text-4xl{font-size:36px;line-height:40px}
.text-\\[10px\\]{font-size:10px}
.text-\\[\\#00d9ff\\]{color:#00d9ff}
.text-center{text-align:center}
.text-gray-300{color:#d1d5db}
.text-gray-400{color:#9ca3af}
.text-gray-500{color:#6b7280}
.text-gray-600{color:#4b5563}
.text-green-400{color:#4ade80}
.text-left{text-align:left}
.text-lg{font-size:18px;line-height:28px}
.text-red-400{color:#f87171}
.text-sm{font-size:14px;line-height:20px}
.text-white{color:#fff}
.text-xl{font-size:20px;line-height:28px}
.text-xs{font-size:12px;line-height:16px}
.text-yellow-400{color:#facc15}
.to-\\[\\#00d9ff\\]{--tw-gradient-to:#00d9ff}
.to-\\[\\#00d9ff\\]\\/10{--tw-gradient-to:rgba(0,217,255,0.1)}
.to-white\\/10{--tw-gradient-to:rgba(255,255,255,0.1)}
.tracking-wider{letter-spacing:0.05em}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uppercase{text-transform:uppercase}
.w-1\\/3{width:33.333333%}
.w-16{width:64px}
.w-20{width:80px}
.w-4{width:16px}
.w-5{width:20px}
.w-\\[16px\\]{width:16px}
.w-full{width:100%}
.whitespace-nowrap{white-space:nowrap}
.z-10{z-index:10}
@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:640px){.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:768px){
.md\\:flex-row{flex-direction:row}
.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md\\:items-start{align-items:flex-start}
.md\\:p-6{padding:24px}
.md\\:p-8{padding:32px}
.md\\:text-left{text-align:left}
}

/* === 导航栏额外类 === */
.fixed{position:fixed}
.top-0{top:0}
.left-0{left:0}
.right-0{right:0}
.z-50{z-index:50}
.max-w-7xl{max-width:1280px}
.px-2{padding-left:8px;padding-right:8px}
.px-3{padding-left:12px;padding-right:12px}
.py-1\.5{padding-top:6px;padding-bottom:6px}
.py-2{padding-top:8px;padding-bottom:8px}
.py-4{padding-top:16px;padding-bottom:16px}
.p-2{padding:8px}
.mx-1{margin-left:4px;margin-right:4px}
.ml-2{margin-left:8px}
.ml-auto{margin-left:auto}
.text-cyan-400{color:#00d9ff}
.text-gray-600{color:#4b5563}
.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:150ms}
.hover\:text-cyan-300:hover{color:#67e8f9}
.hover\:bg-accent\/90:hover{background:rgba(233,69,96,0.9)}
.space-x-1>*+*{margin-left:4px}
.space-x-2>*+*{margin-left:8px}
@media(min-width:640px){.sm\:flex{display:flex}.sm\:px-6{padding-left:24px;padding-right:24px}}
@media(min-width:768px){.md\:flex{display:flex}.md\:h-20{height:80px}.md\:space-x-4>*+*{margin-left:16px}.md\:text-xl{font-size:20px;line-height:28px}}
@media(min-width:1024px){.lg\\:px-8{padding-left:32px;padding-right:32px}.lg\\:space-x-6>*+*{margin-left:24px}}

/* === 页脚额外类 === */
.col-span-2{grid-column:span 2 / span 2}
.gap-8{gap:32px}
.mb-12{margin-bottom:48px}
.max-w-xs{max-width:320px}
.pt-8{padding-top:32px}
.glass{background:rgba(255,255,255,0.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.1)}
.py-16{padding-top:64px;padding-bottom:64px}
.space-x-3>*+*{margin-left:12px}
.space-x-4>*+*{margin-left:16px}
.hover\\:bg-accent\\/20:hover{background:rgba(233,69,96,0.2)}
.hover\\:text-white:hover{color:#fff}
.w-10{width:40px}
.h-10{height:40px}
.w-6{width:24px}
.h-6{height:24px}
.w-5{width:20px}
.h-5{height:20px}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:768px){
.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.md\\:flex-row{flex-direction:row}
}
@media(min-width:1024px){
.lg\\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
}
.px-3{padding-left:12px;padding-right:12px}
.py-2{padding-top:8px;padding-bottom:8px}
.rounded-lg{border-radius:8px}
.text-xs{font-size:12px;line-height:16px}
.font-medium{font-weight:500}
.text-gray-600{color:#4b5563}
.font-semibold{font-weight:600}
.mb-4{margin-bottom:16px}
.space-y-3>*+*{margin-top:12px}
.text-sm{font-size:14px;line-height:20px}
.flex-col{flex-direction:column}
.items-center{align-items:center}
.gap-4{gap:16px}
.text-gray-500{color:#6b7280}
.border-t{border-top-width:1px}
.border-white\/10{border-color:rgba(255,255,255,0.1)}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.from-accent{--tw-gradient-from:#e94560;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(233,69,96,0))}
.to-primary-700{--tw-gradient-to:#0f3460}
.gradient-text{background:linear-gradient(135deg,#fff 0%,#00d9ff 50%,#e94560 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hover\:bg-accent\/20:hover{background:rgba(233,69,96,0.2)}
.hover\:text-white:hover{color:#fff}
@media(min-width:640px){.sm\:px-6{padding-left:24px;padding-right:24px}}
@media(min-width:768px){.md\:flex-row{flex-direction:row}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1024px){.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:px-8{padding-left:32px;padding-right:32px}}
