html, body { height: 100%; }
:root { --brand-from: #d946ef; --brand-to: #6366f1; }
a { transition: color .2s, background-color .2s, opacity .2s; }
button { transition: background-color .2s, box-shadow .2s, transform .05s; }
button:active { transform: translateY(1px); }

/* --- Minimal utility shims (CSP-safe, no Tailwind JS) --- */
/* Colors */
.bg-slate-950 { background-color: #020617; }
.bg-slate-900 { background-color: #0f172a; }
.text-slate-100 { color: #f1f5f9; }
.text-slate-200 { color: #e2e8f0; }
.text-slate-300 { color: #cbd5e1; }
.text-slate-400 { color: #94a3b8; }
.text-white { color: #fff; }

/* Opacity backgrounds */
.bg-white\/5 { background-color: rgba(255,255,255,0.05); }

/* Borders and rings */
.border-white\/10 { border-color: rgba(255,255,255,0.1); }
.ring-1 { box-shadow: 0 0 0 1px rgba(255,255,255,0.1) inset; }
.ring-white\/10 { --ring-color: rgba(255,255,255,0.1); box-shadow: 0 0 0 1px var(--ring-color) inset; }

/* Gradients */
.bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-from, var(--brand-from)), var(--tw-gradient-to, var(--brand-to))); }
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-from, var(--brand-from)), var(--tw-gradient-to, var(--brand-to))); }
.from-fuchsia-500 { --tw-gradient-from: #d946ef; }
.from-fuchsia-600 { --tw-gradient-from: #c026d3; }
.to-indigo-500 { --tw-gradient-to: #6366f1; }
.to-indigo-600 { --tw-gradient-to: #4f46e5; }

/* Hover helpers */
.hover\:text-fuchsia-300:hover { color: #f0abfc; }
.hover\:text-slate-200:hover { color: #e2e8f0; }
.hover\:bg-white\/5:hover { background-color: rgba(255,255,255,0.05); }
.group:hover .group-hover\:opacity-90 { opacity: .9; }
.hover\:from-fuchsia-500:hover { --tw-gradient-from: #d946ef; }
.hover\:to-indigo-500:hover { --tw-gradient-to: #6366f1; }

/* Typography - China-friendly font stack */
.font-\[Inter\] { 
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'PingFang SC', 'Microsoft YaHei', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'; 
}

/* Misc utilities referenced in markup */
.rounded-md { border-radius: .375rem; }
.rounded-xl { border-radius: .75rem; }
.object-cover { object-fit: cover; }
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1); }
.backdrop-blur { backdrop-filter: blur(8px); }
.supports-\[backdrop-filter\]\:bg-slate-950\/60 { background-color: rgba(2,6,23,0.6); }
