/* 系统级样式优化 */
body { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Microsoft YaHei", sans-serif; background-color: #000; user-select: none; -webkit-tap-highlight-color: transparent; }
.ios-scroll { -webkit-overflow-scrolling: touch; }
.hide-scrollbar::-webkit-scrollbar { display: none; }
.glass-nav { background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(20px); border-top: 1px solid rgba(0,0,0,0.05); }
.font-din { font-family: "DIN Alternate", "Arial Narrow", sans-serif; }
.slide-in-right { animation: slideInRight 0.3s ease-out; }
@keyframes slideInRight { from { transform: translateX(100%); } to { transform: translateX(0); } }
[x-cloak] { display: none !important; }

/* 特效类 */
.card-shadow { box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.1); }
.text-gradient-gold { background: linear-gradient(to right, #b45309, #d97706); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

/* 选中高亮动画 */
.seat-focus { animation: pulse-gold 2s infinite; z-index: 20; transform: scale(1.05); border-color: #eab308 !important; }
.seat-related { border-color: #fef08a !important; background-color: #fef9c3 !important; color: #854d0e !important; z-index: 15; transform: scale(1.02); }

@keyframes pulse-gold {
    0% { box-shadow: 0 0 0 0 rgba(234, 179, 8, 0.7); }
    70% { box-shadow: 0 0 0 8px rgba(234, 179, 8, 0); }
    100% { box-shadow: 0 0 0 0 rgba(234, 179, 8, 0); }
}

/* client_demo_api: Tailwind 静态包缺失类补丁 */
.bg-slate-900 { background-color: #0f172a; }
.bg-slate-800 { background-color: #1e293b; }
.bg-slate-700 { background-color: #334155; }
.bg-slate-100 { background-color: #f1f5f9; }
.text-slate-100 { color: #f1f5f9; }
.text-slate-300 { color: #cbd5e1; }
.text-slate-400 { color: #94a3b8; }
.text-slate-500 { color: #64748b; }
.text-slate-600 { color: #475569; }
.text-slate-800 { color: #1e293b; }
.text-slate-900 { color: #0f172a; }
.border-slate-700 { border-color: #334155; }
.border-slate-800 { border-color: #1e293b; }
.border-slate-100 { border-color: #f1f5f9; }
.bg-cyan-600 { background-color: #0891b2; }
.bg-cyan-500 { background-color: #06b6d4; }
.text-cyan-300 { color: #67e8f9; }
.text-cyan-400 { color: #22d3ee; }
.border-cyan-500 { border-color: #06b6d4; }

.from-cyan-400 { --tw-gradient-from: #22d3ee; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(34, 211, 238, 0)); }
.from-cyan-500 { --tw-gradient-from: #06b6d4; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(6, 182, 212, 0)); }
.to-blue-700 { --tw-gradient-to: #1d4ed8; }
.to-blue-600 { --tw-gradient-to: #2563eb; }
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); }
.bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); }

.bg-white\/95 { background-color: rgba(255, 255, 255, 0.95); }
.bg-gray-900\/90 { background-color: rgba(17, 24, 39, 0.9); }
.bg-white\/10 { background-color: rgba(255, 255, 255, 0.1); }
.border-white\/10 { border-color: rgba(255, 255, 255, 0.1); }

.backdrop-blur { backdrop-filter: blur(8px); }
.z-\[100\] { z-index: 100; }
.blur-\[120px\] { filter: blur(120px); }
.max-w-\[90\%\] { max-width: 90%; }
.text-\[10px\] { font-size: 10px; line-height: 14px; }
.text-\[9px\] { font-size: 9px; line-height: 12px; }
.tracking-\[0\.3em\] { letter-spacing: 0.3em; }

@media (min-width: 640px) {
    .sm\:rounded-\[2\.5rem\] { border-radius: 2.5rem; }
    .sm\:h-\[95vh\] { height: 95vh; }
    .sm\:mt-\[2\.5vh\] { margin-top: 2.5vh; }
    .sm\:border-\[8px\] { border-width: 8px; }
}
