.prose{min-width:0;color:var(--fg-1);overflow-wrap:break-word;font-size:1.04rem;line-height:1.7}.prose>*+*{margin-top:1.15em}.prose :is(h2,h3,h4,h5){color:var(--fg);scroll-margin-top:calc(var(--nav-h) + 24px);text-wrap:balance;font-weight:500}.prose h1{letter-spacing:-.03em;color:var(--fg);margin-top:2em;font-size:2rem;font-weight:500}.prose h2{letter-spacing:-.035em;border-top:1px solid var(--line);margin-top:2.6em;padding-top:1.1em;font-size:clamp(1.6rem,2.6vw,2.25rem);line-height:1.1}.prose>h2:first-child{border-top:0;margin-top:0;padding-top:0}.prose h3{letter-spacing:-.02em;margin-top:2em;font-size:1.3rem}.prose h4,.prose h5{margin-top:1.8em;font-size:1.05rem}.prose :is(h2,h3,h4)+*{margin-top:.75em}.prose strong{color:var(--fg);font-weight:550}.prose a{color:var(--fg);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--hue) 60%, transparent);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .2s,color .2s}.prose a:hover{color:var(--hue);text-decoration-color:var(--hue)}.prose :is(ul,ol){padding-left:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--fg-3)}.prose li>:is(ul,ol){margin-top:.4em}.prose blockquote{border-left:2px solid var(--hue);background:var(--bg-1);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1em 1.3em}.prose blockquote>*+*{margin-top:.7em}.prose blockquote :is(h2,h3){border:0;margin-top:0;padding-top:0;font-size:1.15rem}.prose hr{background:var(--line);border:0;height:1px;margin-block:2.4em}.prose img{border-radius:var(--radius-sm);box-shadow:0 0 0 1px var(--line);vertical-align:middle;display:inline-block}.prose p:has(>img:only-child),.prose p:has(>a:only-child>img){text-align:center}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--bg-2);color:var(--fg);border:1px solid var(--line);border-radius:5px;padding:.14em .4em;font-size:.86em}.prose pre{font-family:var(--font-mono);border-radius:var(--radius);border:1px solid var(--line);tab-size:2;scrollbar-width:thin;padding:1.15em 1.3em;font-size:.84rem;line-height:1.65;overflow-x:auto;background:var(--bg-1)!important}.prose pre code{font-family:inherit}.prose pre.shiki span{font-style:var(--code-font-style,normal)}.prose .table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.5}.prose th{text-align:left;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-2);background:var(--bg-1);font-size:.72rem;font-weight:500}.prose :is(th,td){border-bottom:1px solid var(--line);vertical-align:top;padding:.7em 1em}.prose tr:last-child td{border-bottom:0}.prose td img{box-shadow:none;border-radius:14px}.prose details{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.8em 1em}.prose summary{cursor:pointer;color:var(--fg)}.prose .katex-display{padding:.4em 0;overflow:auto hidden}.prose .mermaid-diagram{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-1);text-align:center;margin-inline:0;padding:1.4em;overflow-x:auto}.prose .mermaid-diagram .mermaid-src{text-align:left;color:var(--fg-2);border:0;padding:0;background:0 0!important}.prose .mermaid-diagram.is-rendered svg{max-width:100%;height:auto;margin-inline:auto}:root[data-theme=dark] .proj[data-astro-cid-pznzci7v][data-product]{--hue:var(--phue)}.ph[data-astro-cid-pznzci7v]{isolation:isolate;padding-top:calc(var(--nav-h) + clamp(32px, 6vw, 80px));position:relative}.ph-field[data-astro-cid-pznzci7v]{z-index:-1;width:100vw;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.crumbs[data-astro-cid-pznzci7v]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.crumbs[data-astro-cid-pznzci7v] .sl[data-astro-cid-pznzci7v]{color:var(--fg-3)}.ph-pos[data-astro-cid-pznzci7v]{color:var(--fg-3);margin-left:auto}.ph-main[data-astro-cid-pznzci7v]{justify-content:space-between;align-items:flex-end;gap:24px;margin-top:clamp(40px,8vw,110px);display:flex}.ph-status[data-astro-cid-pznzci7v]{color:var(--hue);align-items:center;gap:8px;margin-bottom:18px;display:flex}.ph-title[data-astro-cid-pznzci7v]{letter-spacing:-.058em;overflow-wrap:anywhere;font-size:clamp(2.8rem,9.5vw,10.5rem);font-weight:500;line-height:.86}.ph-repo[data-astro-cid-pznzci7v]{color:var(--fg-2);margin-top:16px;font-size:.85rem}.ph-icon[data-astro-cid-pznzci7v]{width:clamp(72px,9vw,132px);height:auto;box-shadow:var(--shadow);border-radius:22.5%;flex:none}.ph-intro[data-astro-cid-pznzci7v]{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:clamp(20px,4vw,64px);margin-top:clamp(28px,4vw,52px);display:grid}.ph-lede[data-astro-cid-pznzci7v]{color:var(--fg);max-width:34ch;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.3}.ph-actions[data-astro-cid-pznzci7v]{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.ph-stats[data-astro-cid-pznzci7v]{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(6,minmax(0,1fr));margin-top:clamp(40px,6vw,80px);display:grid}.ph-stats[data-astro-cid-pznzci7v]>div[data-astro-cid-pznzci7v]{padding:18px 16px 20px 0}.ph-stats[data-astro-cid-pznzci7v]>div[data-astro-cid-pznzci7v]+div[data-astro-cid-pznzci7v]{border-left:1px solid var(--line);padding-left:16px}.ph-stats[data-astro-cid-pznzci7v] .wide[data-astro-cid-pznzci7v]{grid-column:span 3}.ph-stats[data-astro-cid-pznzci7v] dd[data-astro-cid-pznzci7v]{letter-spacing:-.03em;margin-top:10px;font-size:clamp(1.1rem,1.8vw,1.6rem);font-weight:500}.ph-stats[data-astro-cid-pznzci7v] .wide[data-astro-cid-pznzci7v] dd[data-astro-cid-pznzci7v]{letter-spacing:0;color:var(--fg-1);font-size:1rem;font-weight:400}.ph-langs[data-astro-cid-pznzci7v]{margin-top:22px}.lang-bar[data-astro-cid-pznzci7v]{gap:3px;height:6px;display:flex}.lang-bar[data-astro-cid-pznzci7v] span[data-astro-cid-pznzci7v]{border-radius:3px}.ph-langs[data-astro-cid-pznzci7v] ul[data-astro-cid-pznzci7v]{flex-wrap:wrap;gap:6px 22px;margin-top:12px;padding:0;font-size:.86rem;list-style:none;display:flex}.ph-langs[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]{align-items:center;gap:7px;display:flex}.ph-langs[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v] i[data-astro-cid-pznzci7v]{border-radius:2px;width:7px;height:7px}.ph-langs[data-astro-cid-pznzci7v] .muted[data-astro-cid-pznzci7v]{font-size:.72rem}.gallery[data-astro-cid-pznzci7v]{background:var(--gb,var(--bg-1));border-block:1px solid var(--line);margin-top:clamp(56px,8vw,110px);padding-block:clamp(40px,6vw,80px) 18px}.gal-track[data-astro-cid-pznzci7v]{padding-inline:var(--gutter);scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;cursor:grab;gap:clamp(14px,2vw,28px);display:flex;overflow-x:auto}.gal-track[data-astro-cid-pznzci7v]::-webkit-scrollbar{display:none}.gal-track[data-astro-cid-pznzci7v].is-drag{cursor:grabbing;scroll-snap-type:none}.gal-item[data-astro-cid-pznzci7v]{scroll-snap-align:start;user-select:none;flex:none}.gal-item[data-astro-cid-pznzci7v] img[data-astro-cid-pznzci7v]{pointer-events:none}.is-portrait[data-astro-cid-pznzci7v] .gal-item[data-astro-cid-pznzci7v]{width:clamp(200px,22vw,320px)}.is-portrait[data-astro-cid-pznzci7v] .gal-frame[data-astro-cid-pznzci7v]{background:var(--device-frame);border-radius:clamp(30px,3vw,44px);padding:8px;box-shadow:inset 0 0 0 1px #ffffff14,0 40px 80px -30px #000000b3}.is-portrait[data-astro-cid-pznzci7v] .gal-frame[data-astro-cid-pznzci7v] img[data-astro-cid-pznzci7v]{border-radius:clamp(22px,2.4vw,36px)}.is-landscape[data-astro-cid-pznzci7v] .gal-item[data-astro-cid-pznzci7v]{width:min(86vw,1100px)}.is-landscape[data-astro-cid-pznzci7v] .gal-frame[data-astro-cid-pznzci7v]{box-shadow:0 0 0 1px var(--line-2), 0 40px 80px -30px #0009;border-radius:12px;overflow:hidden}.dev-popover[data-astro-cid-pznzci7v] .gal-item[data-astro-cid-pznzci7v],.dev-pods[data-astro-cid-pznzci7v] .gal-item[data-astro-cid-pznzci7v]{width:clamp(260px,30vw,420px)}.dev-wond[data-astro-cid-pznzci7v] .gal-item[data-astro-cid-pznzci7v]{width:clamp(260px,36vw,520px)}.dev-wond[data-astro-cid-pznzci7v] .gal-frame[data-astro-cid-pznzci7v]{border-radius:24px}.gal-hint[data-astro-cid-pznzci7v]{color:var(--gm,var(--fg-3));margin-top:18px}.hl[data-astro-cid-pznzci7v]{padding-top:clamp(64px,9vw,130px)}.hl-list[data-astro-cid-pznzci7v]{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,64px);padding:0;list-style:none;display:grid}.hl-list[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]{border-top:1px solid var(--line);grid-template-columns:44px 1fr;padding:24px 0;display:grid}.hl-n[data-astro-cid-pznzci7v]{color:var(--hue);padding-top:5px;font-size:.75rem}.hl-list[data-astro-cid-pznzci7v] p[data-astro-cid-pznzci7v]{letter-spacing:-.012em;font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.4}.hl-stack[data-astro-cid-pznzci7v]{flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;display:flex}.hl-stack[data-astro-cid-pznzci7v] .label[data-astro-cid-pznzci7v]{margin-right:8px}.where[data-astro-cid-pznzci7v]{padding-top:clamp(72px,10vw,140px)}.where-head[data-astro-cid-pznzci7v] .label[data-astro-cid-pznzci7v]{margin-bottom:18px}.accent-h[data-astro-cid-pznzci7v]{color:var(--hue)}.where[data-astro-cid-pznzci7v] .h2[data-astro-cid-pznzci7v]{max-width:24ch;margin-bottom:clamp(28px,4vw,56px)}.hue[data-astro-cid-pznzci7v]{color:var(--hue)}.where-dg[data-astro-cid-pznzci7v]{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--bg-1);padding:clamp(16px,2.2vw,32px)}.where-rel[data-astro-cid-pznzci7v]{flex-wrap:wrap;gap:18px 48px;margin-top:24px;display:flex}.where-rel[data-astro-cid-pznzci7v]>div[data-astro-cid-pznzci7v]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.where-rel[data-astro-cid-pznzci7v] .label[data-astro-cid-pznzci7v]{margin-right:6px}.where-rel[data-astro-cid-pznzci7v] .chip[data-astro-cid-pznzci7v] .dot[data-astro-cid-pznzci7v]{color:var(--hue);width:6px;height:6px}.where-rel[data-astro-cid-pznzci7v] .chip[data-astro-cid-pznzci7v]:hover{border-color:var(--hue);color:var(--fg)}.readme[data-astro-cid-pznzci7v]{grid-template-columns:minmax(220px,3fr) minmax(0,8fr);gap:clamp(28px,5vw,88px);padding-top:clamp(72px,10vw,140px);display:grid}.rd-sticky[data-astro-cid-pznzci7v]{top:calc(var(--nav-h) + 24px);gap:28px;display:grid;position:sticky}.toc[data-astro-cid-pznzci7v] ol[data-astro-cid-pznzci7v]{border-left:1px solid var(--line);gap:2px;margin:0;padding:0;list-style:none;display:grid}.toc[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v]{color:var(--fg-2);border-left:1px solid #0000;margin-left:-1px;padding:5px 0 5px 14px;font-size:.86rem;line-height:1.35;transition:color .2s,border-color .2s;display:block}.toc[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v]:hover{color:var(--fg)}.toc[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v].is-active{color:var(--fg);border-color:var(--hue)}.bars[data-astro-cid-pznzci7v]{align-items:flex-end;gap:2px;height:54px;margin-top:12px;display:flex}.bars[data-astro-cid-pznzci7v] i[data-astro-cid-pznzci7v]{background:var(--hue);opacity:.85;border-radius:2px 2px 0 0;flex:1;min-width:2px}.bars[data-astro-cid-pznzci7v] i[data-astro-cid-pznzci7v].z{background:var(--bg-3);opacity:1}.bars-axis[data-astro-cid-pznzci7v]{justify-content:space-between;margin-top:8px;font-size:.62rem;display:flex}.next[data-astro-cid-pznzci7v]{border-top:1px solid var(--line);margin-top:clamp(96px,12vw,180px)}.next-link[data-astro-cid-pznzci7v]{gap:14px;padding-block:clamp(48px,8vw,110px);display:grid;position:relative;overflow:hidden}.next-name[data-astro-cid-pznzci7v]{letter-spacing:-.058em;transition:color .4s, transform .7s var(--ease-out);font-size:clamp(2.6rem,9vw,9rem);font-weight:500;line-height:.9}.next-link[data-astro-cid-pznzci7v]:hover .next-name[data-astro-cid-pznzci7v]{color:var(--hue);transform:translate(1.5vw)}.next-desc[data-astro-cid-pznzci7v]{max-width:60ch}.next-sub[data-astro-cid-pznzci7v]{justify-content:space-between;padding-bottom:32px;display:flex}@media (width<=1000px){.ph-intro[data-astro-cid-pznzci7v]{grid-template-columns:1fr}.ph-actions[data-astro-cid-pznzci7v]{justify-content:flex-start}.ph-stats[data-astro-cid-pznzci7v]{grid-template-columns:repeat(3,minmax(0,1fr))}.ph-stats[data-astro-cid-pznzci7v]>div[data-astro-cid-pznzci7v]:nth-child(4){border-left:0;padding-left:0}.ph-stats[data-astro-cid-pznzci7v]>div[data-astro-cid-pznzci7v]:nth-child(n+4){border-top:1px solid var(--line)}.ph-stats[data-astro-cid-pznzci7v] .wide[data-astro-cid-pznzci7v]{grid-column:1/-1}.readme[data-astro-cid-pznzci7v]{grid-template-columns:1fr}.rd-side[data-astro-cid-pznzci7v]{display:none}.hl-list[data-astro-cid-pznzci7v]{grid-template-columns:1fr}}@media (width<=560px){.ph-stats[data-astro-cid-pznzci7v]{grid-template-columns:repeat(2,minmax(0,1fr))}.ph-stats[data-astro-cid-pznzci7v]>div[data-astro-cid-pznzci7v]:nth-child(n){border-left:0;border-top:1px solid var(--line);padding-left:0}.ph-stats[data-astro-cid-pznzci7v]>div[data-astro-cid-pznzci7v]:nth-child(2n){border-left:1px solid var(--line);padding-left:16px}.ph-stats[data-astro-cid-pznzci7v]>div[data-astro-cid-pznzci7v]:nth-child(-n+2){border-top:0}.ph-icon[data-astro-cid-pznzci7v]{width:64px}}
