.tools{flex-wrap:wrap;gap:8px;max-width:800px;margin:26px 0 0;padding:0;list-style:none;display:flex}.tool{border:1px solid var(--backdrop);background:var(--tile);color:var(--ink-muted);border-radius:999px;padding:3px 11px;font-size:13px}.prose{max-width:1000px;margin-top:34px;font-size:16px;line-height:1.8}.prose>:first-child{margin-top:0}.prose p{margin:0 0 18px}.prose h2{letter-spacing:-.01em;margin:40px 0 12px;font-size:22px;font-weight:400}.prose h3{margin:30px 0 10px;font-size:18px;font-weight:400}.prose ul,.prose ol{margin:0 0 18px;padding-left:20px}.prose li{margin-bottom:6px}.prose a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--ink-muted);text-decoration-color:var(--ink-muted)}.prose code{background:var(--backdrop);border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.prose pre{background:var(--tile);border-radius:4px;margin:0 0 22px;padding:16px 18px;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose blockquote{border-left:1px solid var(--ink-muted);color:var(--ink-muted);margin:26px 0;padding-left:16px}.prose hr{border:0;border-top:1px solid var(--backdrop);margin:40px 0}
.aside{border-left:1px solid var(--ink);color:var(--ink);margin:26px 0;padding-left:16px;font-size:15px;line-height:1.7}.aside>:first-child{margin-top:0}.aside>:last-child{margin-bottom:0}
.banner{background:var(--banner-bg,var(--tile));border-radius:12px;margin:0 0 34px;overflow:hidden}.banner[data-wide=true]{width:min(100%,900px);margin-left:50%;transform:translate(-50%)}.banner img{width:100%;aspect-ratio:var(--banner-ratio,3);margin:0;display:block}.banner img[data-fit=cover]{object-fit:cover}.banner img[data-fit=contain]{object-fit:contain}@media (max-width:940px){.banner[data-wide=true]{width:100%;margin-left:0;transform:none}}
.carousel{width:100vw;margin:30px 0 30px calc(-1 * var(--inset,var(--pad)))}.carousel-track{align-items:flex-start;gap:var(--gutter);overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:var(--inset,var(--pad)) var(--pad);padding-inline:var(--inset,var(--pad)) var(--inset,var(--pad));scrollbar-width:none;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-track:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.carousel-slide{scroll-snap-align:start;flex:none;margin:0}.carousel .figure{margin:0}.carousel .figure-caption{display:none}.carousel-slide img,.carousel-slide video{background:var(--backdrop);-webkit-user-select:none;user-select:none;border-radius:12px;width:auto;max-width:90vw;max-height:50vh;margin:0;display:block}.carousel-caption{width:0;min-width:100%;color:var(--ink-muted);margin-top:10px;font-size:14px;line-height:1.5}.carousel-title{color:var(--ink);margin-bottom:2px;font-size:14px;line-height:1.5;display:block}.carousel-controls{padding-inline:var(--inset,var(--pad)) var(--inset,var(--pad));justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.carousel-button{width:20px;height:20px;color:var(--ink);background:0 0;border:none;place-items:center;padding:0;display:grid}.carousel-button:disabled{color:var(--ink-muted)}.carousel-button svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}
