.prose{max-width:44rem;color:var(--site-text);font-size:1.0625rem;line-height:1.75}:lang(zh) .prose{line-height:1.85}.prose>*+*{margin-top:1.1em}.prose :is(h2,h3){scroll-margin-top:calc(var(--header-height) + 2rem);text-wrap:balance;font-weight:600}.prose h2{margin-top:2.2em;font-size:clamp(1.5rem,1.35rem + .6vw,1.875rem);line-height:1.25}.prose h3{margin-top:1.8em;font-size:1.25rem}.prose a{text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--site-accent) 55%, transparent);text-underline-offset:3px;text-decoration-thickness:1.5px}.prose a:hover{color:var(--site-accent);text-decoration-color:currentColor}.prose :is(ul,ol){padding-left:1.3em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-top:.4em}.prose blockquote{color:var(--site-muted);margin-inline:1.5rem 0}.prose :not(pre)>code{border:1px solid var(--site-line);border-radius:var(--radius-sm);overflow-wrap:anywhere;padding:.1em .35em;font-size:.86em}.prose pre{border:1px solid var(--site-line);border-radius:var(--radius-lg);padding:1rem 1.25rem;font-size:.84375rem;line-height:1.7;overflow-x:auto}.prose img{border:1px solid var(--site-line);border-radius:var(--radius-lg);height:auto}.prose .post-figure{margin-block:2em}.prose table{border-collapse:collapse;width:100%;font-size:.9375rem}.prose :is(th,td){border-bottom:1px solid var(--site-line);text-align:left;vertical-align:top;padding:.625rem .875rem .625rem 0}.prose hr{border:0;border-top:1px solid var(--site-line)}.prose sup a{border-radius:var(--radius-sm);background:var(--site-accent-soft);padding:0 .2em;font-size:.8em;text-decoration:none}.prose .footnotes{border-top:1px solid var(--site-line-strong);color:var(--site-muted);margin-top:3em;padding-top:1.25rem;font-size:.875rem;line-height:1.6}.prose .footnotes ol{padding-left:2.25em}.prose .footnotes h2{letter-spacing:.06em;text-transform:uppercase;color:var(--site-text);margin:0 0 .75rem;font-size:.8125rem;font-weight:600}.prose .footnotes a{overflow-wrap:anywhere}@page{size:A4;margin:20mm 22mm 22mm}@media print{.prose{color:#111;orphans:2;widows:2;max-width:none;font-size:10.5pt;line-height:1.8}.prose>*+*{margin-top:.9em}.prose h2{margin-top:1.8em;font-size:14pt;line-height:1.4}.prose :is(h2,h3){break-after:avoid;break-inside:avoid}.prose :is(h2,h3):after{content:"";height:4em;margin-bottom:-4em;display:block}.prose a{color:inherit;text-decoration-color:#999;text-decoration-thickness:.5pt}.prose :is(.post-figure,img,figure){break-inside:avoid}.prose .post-figure{margin-block:1.4em}.prose .post-figure *{box-shadow:none!important}.prose pre{white-space:pre-wrap;break-inside:avoid}.prose .footnotes{font-size:8pt}.prose .footnotes li{break-inside:avoid}.prose [data-footnote-backref]{display:none}}.cover-frame{border:1px solid var(--site-line);color:var(--site-line);background-image:repeating-linear-gradient(135deg,currentColor 0 1.5px,#0000 1.5px 6.5px);border-radius:12px;padding:.875rem;position:relative}.cover-frame .cross{width:.75rem;height:.75rem;color:var(--site-line-strong);background:linear-gradient(currentColor,currentColor) 50%/1px 100% no-repeat,linear-gradient(currentColor,currentColor) 50%/100% 1px no-repeat;position:absolute}.cover-frame .cross-tl,.cover-frame .cross-tr{top:.5rem}.cover-frame .cross-bl,.cover-frame .cross-br{bottom:.5rem}.cover-frame .cross-tl,.cover-frame .cross-bl{left:.5rem}.cover-frame .cross-tr,.cover-frame .cross-br{right:.5rem}.cover-wall{border:1px solid var(--site-line-strong);background:var(--site-line-strong);grid-template-columns:minmax(0,1fr);gap:1px;margin:0;padding:0;list-style:none;display:grid;position:relative}.cover-wall .tile{background:var(--site-card);min-width:0;color:var(--site-text);flex-direction:column;gap:.375rem;padding:1.25rem;display:flex;container-type:inline-size}.cover-wall p{margin:0}.cover-wall .tile-big{letter-spacing:-.01em;text-wrap:balance;font-size:1.125rem;font-weight:600;line-height:1.3}.cover-wall .tile-big.mono{font-family:var(--font-stack-mono);font-weight:500}.cover-wall .tile-small{color:var(--site-muted);text-wrap:pretty;font-size:.875rem;line-height:1.5}.cover-wall .tile-hero{justify-content:flex-end;min-height:15rem}.cover-wall .tile-logo{box-sizing:content-box;align-self:flex-start;width:auto;height:1.375rem;margin-top:.1875rem;margin-bottom:auto;padding-bottom:2rem}.cover-wall .tile-hero .tile-big{letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(4.5rem,2rem + 5vw,7rem);font-weight:500;line-height:.95}.cover-wall .tile-hero .tile-small{max-width:24rem;color:var(--site-text);margin-top:.75rem;font-size:1rem}.cover-wall .specimen{border:1px solid var(--site-line);border-radius:var(--radius-md);background:var(--site-bg);flex-direction:column;gap:.375rem;margin-top:.875rem;padding:.875rem 1rem;font-size:.8125rem;line-height:1.55;display:flex}.cover-wall .sp-row{flex-flow:wrap;align-items:center;gap:.5rem .75rem}.cover-wall .sp-split{justify-content:space-between}.cover-wall .sp-title{font-weight:600}.cover-wall .sp-muted{color:var(--site-muted)}.cover-wall .sp-button{border:1px solid var(--site-line-strong);border-radius:var(--radius-md);background:var(--site-card);white-space:nowrap;padding:.25rem .625rem;font-weight:500}.cover-wall .sp-mono{font-family:var(--font-stack-mono);gap:.125rem;font-size:.75rem}.cover-wall .sp-line{white-space:pre;text-overflow:ellipsis;overflow:hidden}.cover-wall .sp-indent{padding-left:2ch}.reveal-ready .cover-frame[data-reveal]{opacity:1;transition:none;translate:none}.cover-wall .tile{transition:opacity .25s var(--ease-site), translate .25s var(--ease-site);transition-delay:calc(var(--i) * 40ms)}.reveal-ready .cover-frame:not(.is-in) .tile{opacity:0;translate:0 6px}@media print,(prefers-reduced-motion:reduce){.cover-wall .tile{transition:none}.reveal-ready .cover-frame:not(.is-in) .tile{opacity:1;translate:none}}.open-cover:where(.astro-qr33yeyt) .cover-wall:where(.astro-qr33yeyt){grid-template-areas:"hero""same""sign"}.open-cover:where(.astro-qr33yeyt) .tile:where(.astro-qr33yeyt)[data-area=build]{display:none}@media (width>=720px){.open-cover:where(.astro-qr33yeyt) .cover-wall:where(.astro-qr33yeyt){grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(0,1fr));grid-template-areas:"hero same same""hero sign build"}.open-cover:where(.astro-qr33yeyt) .tile:where(.astro-qr33yeyt)[data-area=build]{display:flex}}.version:where(.astro-qr33yeyt){border:1px solid var(--site-line-strong);font-family:var(--font-stack-mono);color:var(--site-muted);border-radius:999px;margin:0;padding:.125rem .5rem;font-size:.75rem;position:absolute}.tile-hero:where(.astro-qr33yeyt){position:relative}.tile-hero:where(.astro-qr33yeyt) .version:where(.astro-qr33yeyt){top:1.25rem;right:1.25rem}.tile-hero:where(.astro-qr33yeyt) .tile-big:where(.astro-qr33yeyt){text-wrap:balance;font-size:clamp(3.5rem,1.5rem + 4.5vw,6rem)}.same:where(.astro-qr33yeyt){grid-template-columns:minmax(0,1fr);align-items:center;display:grid}.same:where(.astro-qr33yeyt) .specimen:where(.astro-qr33yeyt){margin-top:0}.wire:where(.astro-qr33yeyt){border-left:1.5px dashed var(--site-accent);transform-origin:top;width:0;height:1.25rem;transition:scale .3s var(--ease-site) .45s;justify-self:center}.wire-out:where(.astro-qr33yeyt){transition-delay:.6s}.object:where(.astro-qr33yeyt){border:1.5px solid var(--site-accent);border-radius:var(--radius-md);background:linear-gradient(var(--site-accent-soft), var(--site-accent-soft)), var(--site-card);font-family:var(--font-stack-mono);white-space:nowrap;justify-self:center;justify-items:center;gap:.125rem;padding:.625rem .875rem;font-size:.75rem;line-height:1.4;display:grid}.object-kind:where(.astro-qr33yeyt){color:var(--site-muted)}.object-name:where(.astro-qr33yeyt){font-size:.9375rem;font-weight:600}.object-field:where(.astro-qr33yeyt){color:var(--site-accent)}.plan:where(.astro-qr33yeyt){font-family:var(--font-stack-mono);grid-template-columns:auto auto;place-content:center start;align-items:baseline;gap:.25rem .75rem;font-size:.75rem;display:grid}.plan-field:where(.astro-qr33yeyt){color:var(--site-muted)}.plan-value:where(.astro-qr33yeyt){color:var(--site-accent);font-weight:600}.plan-apply:where(.astro-qr33yeyt){font-family:var(--font-stack-sans);grid-column:1/-1;justify-self:start}@media (width>=720px){.same:where(.astro-qr33yeyt){grid-template-columns:minmax(0,1fr) 1.75rem auto 1.75rem minmax(0,1fr)}.same-side:where(.astro-qr33yeyt){align-self:stretch}.wire:where(.astro-qr33yeyt){border-left:0;border-top:1.5px dashed var(--site-accent);transform-origin:0;width:100%;height:0}.wire-out:where(.astro-qr33yeyt){transform-origin:100%}}.open-cover:where(.astro-qr33yeyt) .tile:where(.astro-qr33yeyt):not(.tile-hero) .tile-small:where(.astro-qr33yeyt){margin-bottom:.875rem}.open-cover:where(.astro-qr33yeyt) .tile:where(.astro-qr33yeyt):not(.tile-hero)>.specimen:where(.astro-qr33yeyt),.same:where(.astro-qr33yeyt){margin-top:auto}.passkey:where(.astro-qr33yeyt){align-items:center;gap:.375rem;display:inline-flex}.reveal-ready .open-cover:where(.astro-qr33yeyt):not(.is-in) .wire:where(.astro-qr33yeyt){scale:0}@media print,(prefers-reduced-motion:reduce){.wire:where(.astro-qr33yeyt){transition:none}.reveal-ready .open-cover:where(.astro-qr33yeyt):not(.is-in) .wire:where(.astro-qr33yeyt){scale:1}}.release-cover:where(.astro-ioxbz4rb) .cover-wall:where(.astro-ioxbz4rb){grid-template-areas:"hero""oom""plan"}.tile:where(.astro-ioxbz4rb):is([data-area=port],[data-area=update]){display:none}@media (width>=720px){.release-cover:where(.astro-ioxbz4rb) .cover-wall:where(.astro-ioxbz4rb){grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(0,1fr));grid-template-areas:"hero oom plan""hero port update"}.tile:where(.astro-ioxbz4rb):is([data-area=port],[data-area=update]){display:flex}}.sp-error:where(.astro-ioxbz4rb){color:var(--danger)}.sp-link:where(.astro-ioxbz4rb){text-underline-offset:.2em;white-space:nowrap;text-decoration:underline}.sp-actions:where(.astro-ioxbz4rb){align-items:center;gap:.75rem;display:inline-flex}.sp-plain:where(.astro-ioxbz4rb){white-space:nowrap}
