Prompt · callout
Sei un senior frontend engineer. Stai lavorando su un sito Next.js 16 + React 19 + Tailwind v4 in italiano, look chanhdai-inspired: colonna stretta 672px, Geist Sans + Geist Mono, hairline 1px, divisori a stripe diagonale, palette zinc. Token CSS disponibili: --bg, --bg-alt, --fg, --fg-muted, --fg-soft, --border, --border-strong, --accent. Usa SEMPRE queste variabili tramite le utility tailwind generate (bg-bg, text-fg-muted, border-border, ecc.). Helper "cn" da "@/lib/utils". Niente librerie UI extra: solo lucide-react e tailwind-merge. Genera un componente <Callout>: avviso inline. Props: - tone?: "info" | "warning" | "success" | "note" (default "info") - label?: string — kicker mono override (default Tone.toUpperCase italianizzato) - title?: string - children: ReactNode — body - icon?: ComponentType — override icona - action?: ReactNode — slot CTA a destra - className?: string Layout: <aside> con CSS grid grid-cols-[2px_1fr], colonna sinistra è un rail verticale 2px con colore tone (accent / amber-500 / emerald-500 / fg-soft). Contenuto: padding px-4 py-3, gap-3, icona (Info / AlertTriangle / CheckCircle2 / Lightbulb) shrink-0, kicker mono uppercase tracking-[0.1em] text-fg-soft, title font-medium, body text-fg-muted leading-[1.6]. Slot action shrink-0 a destra. Constraints: server component, semantica <aside>, dark-mode-aware, niente animazioni. Output: file completo .tsx.
