.hero.small { padding-bottom: 48px; }
.hero.small .intro { margin-top: 36px; }
.hero.small h1 { font-size: clamp(34px, 6vw, 60px); }
a.mark { text-decoration: none; }

.cases { max-width: 920px; }
.case { background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: 24px 26px; margin-top: 22px; }
.case:first-child { margin-top: 40px; }
.case-head { display: flex; gap: 16px; align-items: flex-start; }
.case .num { font: 500 15px "JetBrains Mono", monospace; color: var(--brand); border: 1.5px solid var(--brand); border-radius: 8px; padding: 2px 8px; margin-top: 4px; }
.case h2 { font-size: 22px; line-height: 1.35; letter-spacing: 0; }
.case .chips { margin-top: 8px; }
.case dl { display: grid; grid-template-columns: 84px 1fr; gap: 10px 16px; margin: 20px 0 0; }
.case dt { font-weight: 600; color: var(--mute); }
.case dd { margin: 0; color: var(--ink2); }
.case code { font: 13px "JetBrains Mono", monospace; font-variant-ligatures: none; background: color-mix(in srgb, var(--line) 60%, transparent); padding: 1px 5px; border-radius: 4px; }
.diff { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.diff pre { margin: 0; padding: 30px 14px 14px; border-radius: 10px; font: 12.5px/1.6 "JetBrains Mono", monospace; white-space: pre-wrap; word-break: break-word; position: relative; font-variant-ligatures: none; }
.diff pre span { position: absolute; top: 8px; left: 14px; font: 600 12px "Anuphan", sans-serif; }
.diff .before { background: #fef2f2; color: #7f1d1d; border: 1px solid #fecaca; }
.diff .before span { color: #b91c1c; }
.diff .after { background: #f0fdf4; color: #14532d; border: 1px solid #bbf7d0; }
.diff .after span { color: #15803d; }
.proof { margin: 16px 0 0; color: var(--ink2); }
.proof a { color: var(--brand); font-weight: 600; }

@media (prefers-color-scheme: dark) {
  .diff .before { background: #2a1215; color: #fecaca; border-color: #7f1d1d; }
  .diff .after { background: #0f2a1a; color: #bbf7d0; border-color: #14532d; }
}
@media (max-width: 700px) {
  .case { padding: 18px 16px; }
  .case dl { grid-template-columns: 1fr; gap: 2px; }
  .case dd { margin-bottom: 10px; }
  .diff { grid-template-columns: 1fr; }
}
