按钮
暗黑模式三态按钮:顶边内发光模拟光源,hover 时蓝光晕外溢,active:scale-[0.98] 触觉按压,focus:ring-offset-slate-900 确保暗底焦点环可见
{/* Primary Button — inset glow physics */}
<button className="
px-4 py-2
bg-blue-600 text-white
rounded-lg font-medium
shadow-[inset_0_1px_0_rgba(255,255,255,0.15)]
hover:bg-blue-500
hover:shadow-[inset_0_1px_0_rgba(255,255,255,0.2),0_0_10px_rgba(59,130,246,0.3)]
focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-slate-900
active:scale-[0.98] active:shadow-[inset_0_2px_4px_rgba(0,0,0,0.3)]
transition-all duration-200 ease-out
">
Save Changes
</button>
{/* Secondary Button */}
<button className="
px-4 py-2
bg-slate-700 text-slate-200
rounded-lg font-medium
shadow-[inset_0_1px_0_rgba(255,255,255,0.08)]
hover:bg-slate-600 hover:text-slate-100
hover:shadow-[inset_0_1px_0_rgba(255,255,255,0.12)]
focus:outline-none focus:ring-2 focus:ring-slate-500 focus:ring-offset-2 focus:ring-offset-slate-900
active:scale-[0.98] active:shadow-[inset_0_2px_4px_rgba(0,0,0,0.4)]
transition-all duration-200 ease-out
">
Cancel
</button>
{/* Ghost Button */}
<button className="
px-4 py-2
text-slate-300
rounded-lg font-medium
hover:bg-white/5 hover:text-slate-100
focus:outline-none focus:ring-2 focus:ring-slate-500 focus:ring-offset-2 focus:ring-offset-slate-900
active:scale-[0.98] active:bg-white/10
transition-all duration-200 ease-out
">
Learn More
</button>
{/* Danger Button */}
<button className="
px-4 py-2
bg-red-600/20 text-red-400
border border-red-500/30
rounded-lg font-medium
hover:bg-red-600/30 hover:border-red-500/50 hover:text-red-300
focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2 focus:ring-offset-slate-900
active:scale-[0.98]
transition-all duration-200 ease-out
">
Delete
</button>