.prose{max-width:70ch;font-variant-ligatures:no-contextual}.prose :is(p,ul,ol,blockquote,figure){margin-top:var(--space-md)}.prose :is(p,ul,ol){line-height:var(--line-height-relaxed)}.prose h2{margin-top:calc(var(--space-lg) * 1.25);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}.prose h3{margin-top:var(--space-lg);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.prose :is(h2,h3)+*{margin-top:var(--space-md)}.prose :is(ul,ol){padding-left:var(--space-lg)}.prose li+li{margin-top:var(--space-sm)}.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:var(--space-xs)}.prose a:hover{color:var(--color-accent-hover)}.prose code{padding:calc(var(--space-xs) / 2) var(--space-xs);border-radius:calc(var(--radius-md) / 2);background:var(--color-bg-surface);font-family:var(--font-mono);font-size:var(--font-size-sm)}.prose blockquote{padding-left:var(--space-md);border-left:1px solid var(--color-accent);line-height:var(--line-height-relaxed)}.prose blockquote>:first-child{margin-top:0}.prose .epigraph{margin:var(--space-md) 0 var(--space-lg)}.prose .epigraph blockquote{margin:0;font-family:var(--font-heading);font-style:italic;font-size:1.125rem;line-height:1.6}.prose .epigraph p{margin:0;line-height:inherit}.prose .epigraph p+p{margin-top:.8em}.prose .epigraph figcaption{margin-top:var(--space-sm);padding-left:calc(var(--space-md) + 1px);font-size:var(--font-size-sm);color:var(--color-text-muted)}.prose .epigraph cite{font-style:italic}.prose .placeholder{display:grid;place-items:center;aspect-ratio:16 / 9;margin:var(--space-lg) 0;padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.prose .placeholder figcaption{font-family:var(--font-mono);font-size:var(--font-size-label);letter-spacing:var(--tracking-label);color:var(--color-text-muted);text-align:center}.prose .footnote-ref{font-family:var(--font-mono);font-size:var(--font-size-label);text-decoration:none}.prose .footnotes{margin-top:var(--space-xl);font-size:var(--font-size-sm);color:var(--color-text-muted)}.prose .footnotes hr{width:var(--space-xl);margin-bottom:var(--space-md);border:0;border-top:1px solid var(--color-border)}.prose .footnotes ol{margin-top:0}.prose .footnotes li+li{margin-top:var(--space-sm)}.prose .footnote-backref{margin-left:var(--space-xs);text-decoration:none}.prose img{display:block;max-width:100%;height:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.prose{--diagram-enter: .52s;--diagram-ease: cubic-bezier(.2, .8, .2, 1)}.prose .diagram{display:grid;justify-items:center;min-height:7rem;margin:var(--space-lg) 0}.prose .diagram[data-state=ready]{width:min(100%,var(--diagram-w, 100%));min-height:0;margin-inline:auto}.prose .diagram svg{max-width:100%;height:auto;animation:diagram-enter var(--diagram-enter) var(--diagram-ease) both}.prose .diagram-source{display:none}.prose .diagram[data-state=failed] .diagram-source{display:block;justify-self:stretch;padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:pre-wrap}@keyframes diagram-enter{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.prose .diagram svg{animation:none}}:root{--lift-mark: 12px;--lift-gap: 8px;--lift-state: .18s;--lightbox-travel: .56s;--lightbox-return: .42s;--lightbox-zoom: .38s;--lightbox-fade: .22s;--lightbox-ease: cubic-bezier(.2, .8, .2, 1);--lightbox-veil: 95%;--lightbox-vector-cap: 1.6;--lightbox-vector-zoom: 2}:root:has(.lightbox[open]){overflow:hidden}.prose .lift,.lightbox-plate{position:relative}.prose .lift:after,.lightbox-plate:after{--ink: var(--color-accent);content:"";position:absolute;inset:calc(var(--gap) * -1);pointer-events:none;background:linear-gradient(var(--ink) 0 0) left top / var(--mark) 1px,linear-gradient(var(--ink) 0 0) left top / 1px var(--mark),linear-gradient(var(--ink) 0 0) right top / var(--mark) 1px,linear-gradient(var(--ink) 0 0) right top / 1px var(--mark),linear-gradient(var(--ink) 0 0) left bottom / var(--mark) 1px,linear-gradient(var(--ink) 0 0) left bottom / 1px var(--mark),linear-gradient(var(--ink) 0 0) right bottom / var(--mark) 1px,linear-gradient(var(--ink) 0 0) right bottom / 1px var(--mark);background-repeat:no-repeat}.prose .lift{--mark: var(--lift-mark);--gap: var(--lift-gap);cursor:zoom-in;outline:none}.prose .lift:not(.diagram){display:block;width:fit-content;max-width:100%}.prose .lift:after{opacity:0;transform:scale(1.03);transition:opacity var(--lift-state) ease,transform var(--lift-state) var(--lightbox-ease)}.prose .lift:is(:hover,:focus-visible):after{opacity:1;transform:none}.prose .lift[data-lifted]{visibility:hidden}@media(hover:none){.prose .lift:after{opacity:.5;transform:none}}.lightbox{--mark: 18px;--gap: 12px;--pad: clamp(1.25rem, 4vw, 3.5rem);position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:transparent;color:var(--color-text);outline:none}.lightbox::backdrop{background:transparent}.lightbox-veil{position:absolute;inset:0;background:color-mix(in oklab,var(--color-bg) var(--lightbox-veil),transparent)}.lightbox-stage{position:absolute;inset:0;display:flex;padding:var(--pad);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;touch-action:manipulation}.lightbox-plate{flex:none;margin:auto;transform-origin:0 0}.lightbox-plate>*{display:block}.lightbox-plate>img{border:1px solid var(--color-border);border-radius:var(--radius-md)}.lightbox[data-zoomable] .lightbox-plate{cursor:zoom-in}.lightbox[data-mode=detail] .lightbox-plate{cursor:zoom-out}.lightbox[data-dragging] :is(.lightbox-stage,.lightbox-plate){cursor:grabbing}.lightbox-bar{position:absolute;right:0;bottom:0;left:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:var(--space-sm) var(--space-lg);padding:var(--space-md) var(--pad) calc(var(--space-md) + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-bg)}.lightbox-fig,.lightbox-actions button{font-family:var(--font-mono);font-size:var(--font-size-label);letter-spacing:var(--tracking-label);text-transform:lowercase}.lightbox-fig{color:var(--color-accent);white-space:nowrap}.lightbox-caption{max-width:70ch;font-family:var(--font-heading);font-style:italic;font-size:.9375rem;line-height:1.5;color:var(--color-text-muted)}.lightbox-actions{display:flex;gap:var(--space-md)}.lightbox-actions button{padding:var(--space-xs) 0;border:0;background:none;color:var(--color-text-muted);cursor:pointer;transition:color var(--lift-state) ease}.lightbox-actions button:hover{color:var(--color-text)}.lightbox-actions button:focus-visible{outline:1px solid var(--color-accent);outline-offset:4px}.lightbox-actions kbd{margin-left:.4em;padding:0 .35em;border:1px solid var(--color-border);border-radius:3px;font:inherit}.lightbox-caption[hidden],.lightbox-actions button[hidden]{display:none}@media(hover:none){.lightbox-actions kbd{display:none}}@media(max-width:40rem){.lightbox-bar{grid-template-columns:auto auto}.lightbox-actions{justify-self:end}.lightbox-caption{grid-row:2;grid-column:1 / -1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}@media(prefers-reduced-motion:reduce){.prose .lift:after{transform:none;transition:none}}
