/* 由 tools/gen_utils.py 生成，请勿手改；新增页面后重新运行脚本。
   这是后台自有的通用小类名（间距 / 弹性布局 / 文字 / 颜色），不依赖任何第三方 CSS 框架。 */
.-translate-y-1\/2{transform:translateY(-50%)}
.absolute{position:absolute}
.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.bg-gray-900\/30{background-color:rgba(17,24,39,0.3)}
.bg-red-50{background-color:#fef2f2}
.bg-sky-50{background-color:#eefaf1}
.bg-white{background-color:#ffffff}
.border{border-width:1px}
.border-amber-100{border-color:#fef3c7}
.border-emerald-100{border-color:#d1fae5}
.border-red-100{border-color:#fee2e2}
.border-sky-100{border-color:#dcf3e2}
.break-all{word-break:break-all}
.fixed{position:fixed}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.font-semibold{font-weight:600}
.gap-2{gap:0.5rem}
.gap-2\.5{gap:0.625rem}
.gap-3{gap:0.75rem}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grow{flex-grow:1}
.h-full{height:100%}
.inset-0{top:0;right:0;bottom:0;left:0}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.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}
.left-0{left:0}
.max-h-\[85vh\]{max-height:85vh}
.max-h-\[88vh\]{max-height:88vh}
.max-h-\[90vh\]{max-height:90vh}
.max-w-2xl{max-width:42rem}
.max-w-\[360px\]{max-width:360px}
.max-w-lg{max-width:32rem}
.max-w-md{max-width:28rem}
.max-w-sm{max-width:24rem}
.max-w-xl{max-width:36rem}
.mb-1{margin-bottom:0.25rem}
.mb-2{margin-bottom:0.5rem}
.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}
.min-w-0{min-width:0px}
.min-w-\[240px\]{min-width:240px}
.ml-2{margin-left:0.5rem}
.mt-2{margin-top:0.5rem}
.overflow-hidden{overflow:hidden}
.overflow-y-auto{overflow-y:auto}
.p-3{padding:0.75rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.pr-10{padding-right:2.5rem}
.px-4{padding-left:1rem;padding-right:1rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.py-24{padding-top:6rem;padding-bottom:6rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.relative{position:relative}
.right-3{right:0.75rem}
.right-5{right:1.25rem}
.rounded-2xl{border-radius:1rem}
.rounded-xl{border-radius:.75rem}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.space-y-4 > :not([hidden]) ~ :not([hidden]){margin-top:1rem}
.space-y-5 > :not([hidden]) ~ :not([hidden]){margin-top:1.25rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-\[10px\]{font-size:10px}
.text-\[11px\]{font-size:11px}
.text-amber-500{color:#f59e0b}
.text-base{font-size:1rem;line-height:1.5rem}
.text-emerald-500{color:#10b981}
.text-gray-300{color:#d1d5db}
.text-gray-400{color:#9ca3af}
.text-gray-500{color:#6b7280}
.text-gray-700{color:#374151}
.text-gray-800{color:#1f2937}
.text-red-500{color:#ef4444}
.text-sky-500{color:#28a745}
.text-sky-700{color:#1a742f}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-xs{font-size:.75rem;line-height:1rem}
.top-0{top:0}
.top-1\/2{top:50%}
.top-5{top:1.25rem}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w-72{width:18rem}
.w-full{width:100%}
.z-40{z-index:40}
.z-50{z-index:50}
.z-\[9998\]{z-index:9998}
.z-\[9999\]{z-index:9999}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}
.hover\:text-gray-600:hover{color:#4b5563}
