.FfnProse{max-width:70ch;font-size:max(1em, var(--font-size-body));line-height:var(--line-height-normal);color:var(--color-text-primary)}.FfnProse h1,.FfnProse h2,.FfnProse h3,.FfnProse h4{margin:var(--space-6) 0 var(--space-3);font-family:var(--font-serif);letter-spacing:-.02em;font-weight:400;line-height:var(--line-height-tight)}.FfnProse h1{font-size:var(--font-size-3xl)}.FfnProse h2{font-size:var(--font-size-2xl)}.FfnProse h3{font-size:var(--font-size-xl)}.FfnProse h4{font-size:var(--font-size-lg)}.FfnProse>:first-child{margin-top:0}.FfnProse>:last-child{margin-bottom:0}.FfnProse p{margin:0 0 var(--space-4);line-height:var(--line-height-normal)}.FfnProse ul,.FfnProse ol{margin:0 0 var(--space-4);padding-left:var(--space-6)}.FfnProse ul{list-style:outside}.FfnProse ol{list-style:decimal}.FfnProse li{margin-bottom:var(--space-1)}.FfnProse li::marker{color:var(--color-text-muted)}.FfnProse blockquote{margin:0 0 var(--space-4);padding:var(--space-2) var(--space-4);border-left:3px solid var(--color-accent-default);color:var(--color-text-muted)}.FfnProse blockquote>:last-child{margin-bottom:0}.FfnProse a,.FfnProse a:not([class]){color:var(--color-text-accent);text-underline-offset:3px;text-decoration:underline}.FfnProse a:hover,.FfnProse a:not([class]):hover{text-decoration-thickness:2px}.FfnProse a:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.FfnProse :not(pre)>code{padding:1px var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface-sunken);border:1px solid var(--color-border-default);font-family:var(--font-mono);font-size:.9em}.FfnProse .FfnCodeBlock{margin-block:var(--space-4)}.FfnProse hr{margin:var(--space-6) 0;border:none;border-top:1px solid var(--color-border-default)}.FfnProse table{width:100%;margin:0 0 var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);border-collapse:collapse;font-size:var(--font-size-body)}.FfnProse th,.FfnProse td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border-default)}.FfnProse thead th{font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-surface-sunken);font-weight:700}.FfnProse tbody tr:last-child td{border-bottom:none}.FfnProse img{border-radius:var(--radius-md);max-width:100%}
