style(web): 全站 font-mono → font-body (DM Mono 設計系統套用)
Some checks failed
E2E Health Check / e2e-health (push) Successful in 17s
CD Pipeline / build-and-deploy (push) Has been cancelled

45 個 component + 6 個 page 統一從舊 font-mono 遷移到
font-body (DM Mono),確保設計系統一致性。

font-body = DM Mono (等寬),視覺效果相同但走新設計 token。
保留: font-heading (Syne)、font-dot-matrix (VT323/DSEG7)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
OG T
2026-04-02 09:37:03 +08:00
parent db1aed81d9
commit 4d46e6b9a7
52 changed files with 338 additions and 338 deletions

View File

@@ -167,7 +167,7 @@ export const NuclearKeyButton: React.FC<NuclearKeyButtonProps> = ({
w-full py-4 px-6 rounded-sm border-2
bg-green-50 border-green-500
flex items-center justify-center gap-2
font-mono font-bold text-green-700
font-body font-bold text-green-700
transition-all duration-300
`}>
<CheckCircle size={20} />
@@ -218,7 +218,7 @@ export const NuclearKeyButton: React.FC<NuclearKeyButtonProps> = ({
className={`${config.textColor} ${isHolding ? 'animate-pulse' : ''} sm:w-5 sm:h-5`}
/>
<span className={`font-mono font-bold uppercase tracking-wider text-sm sm:text-base ${config.textColor}`}>
<span className={`font-body font-bold uppercase tracking-wider text-sm sm:text-base ${config.textColor}`}>
{isHolding ? (
<span className="tabular-nums">
{label} ({Math.ceil((1 - progress) * (duration ?? 1500) / 1000)}s)
@@ -230,7 +230,7 @@ export const NuclearKeyButton: React.FC<NuclearKeyButtonProps> = ({
{/* Risk Badge */}
<span className={`
px-1.5 sm:px-2 py-0.5 text-[10px] sm:text-xs font-mono font-bold
px-1.5 sm:px-2 py-0.5 text-[10px] sm:text-xs font-body font-bold
border ${config.borderColor} ${config.textColor}
rounded-sm
`}>
@@ -241,7 +241,7 @@ export const NuclearKeyButton: React.FC<NuclearKeyButtonProps> = ({
{/* Shortcut Hint - Hidden on mobile touch devices */}
{showShortcut && !disabled && (
<div className="text-center text-xs font-mono text-gray-400">
<div className="text-center text-xs font-body text-gray-400">
{isHolding ? (
<span className="text-gray-600">
{t('keepHolding')}
@@ -271,7 +271,7 @@ export const NuclearKeyButton: React.FC<NuclearKeyButtonProps> = ({
{/* Critical Warning */}
{isCritical && !disabled && !isHolding && (
<div className={`
text-center text-xs font-mono ${config.textColor}
text-center text-xs font-body ${config.textColor}
animate-pulse
`}>
<AlertTriangle size={12} className="inline mr-1" />