@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:#1118271a;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-base{font-size:1rem;line-height:1.75}.prose-base :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose-base :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose-base :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose-base :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.888889em;font-size:2.25em;line-height:1.11111}.prose-base :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:1em;font-size:1.5em;line-height:1.33333}.prose-base :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;line-height:1.6}.prose-base :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose-base :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-base :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-size:.875em}.prose-base :where(code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-base :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-base :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;line-height:1.71429}.prose-base :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose-base :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose-base :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-base :where(.prose-base>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose-base :where(.prose-base>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(.prose-base>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose-base :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose-base :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose-base :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3em;margin-bottom:3em}.prose-base :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-base :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.71429}.prose-base :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose-base :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-base :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose-base :where(.prose-base>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(.prose-base>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.panel{background:rgb(var(--surface));border:1px solid rgb(var(--line));border-radius:var(--r)}.label{font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;color:rgb(var(--ink-functional-muted));font-size:.75rem}.orbit-home{--home-link-ink:40 68 64;--home-accent-hover:17 113 91;--home-link-highlight:var(--home-accent-hover);--home-mark-fill:11 60 44;--home-mark-glow-near:38 133 117;--home-mark-glow-mid:31 112 100;--home-mark-glow-far:29 96 88;--home-mark-glow-near-opacity:.12;--home-mark-glow-mid-opacity:.045;--home-mark-glow-far-opacity:.018;--home-mark-fill-opacity:.98;--home-mark-glow-blend:multiply;min-height:100dvh;color:rgb(var(--home-ink));overflow:hidden}.orbit-home:before,.orbit-home:after{content:"";pointer-events:none;position:absolute}.brand-stage{z-index:10;place-items:center;width:min(76vw,1280px);max-width:100%;height:min(72vh,780px);display:grid;position:relative}@keyframes bm-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.008)}}.orbit-home{--home-bg:241 249 248;--home-surface:255 255 255;--home-line:202 220 219;--home-dot:132 156 157;--home-ink:14 30 35;--home-muted:108 126 130;--home-accent:18 174 157;--bg:var(--home-bg);--surface:var(--home-surface);--line:var(--home-line);--ink:var(--home-ink);--ink-dim:var(--home-muted);--ink-faint:var(--home-dot);--accent:var(--home-accent);isolation:auto;background:linear-gradient(145deg, #f7fbfa, #e8f1f2 54%, rgb(var(--home-bg)))}.orbit-home:before,.orbit-home:after{box-shadow:none;pointer-events:none;border:0;display:block;position:absolute;inset:0}.orbit-home:before{z-index:0;background:radial-gradient(at 18% 9%,#ffffffc7,#0000 44%),radial-gradient(at 84% 78%,#c5d9dd3d,#0000 52%),linear-gradient(145deg,#f7fbfa,#e8f1f2 54%,#f1f8f7)}.orbit-home:after{z-index:1;opacity:0;transition:opacity var(--theme-swap-duration) var(--theme-swap-ease);background:radial-gradient(circle at 50% 54%,#27d3b313,#0000 42%),linear-gradient(#05070a,#070a0d)}html.fo-theme-swapping .orbit-home:after{transition:opacity var(--theme-swap-duration) cubic-bezier(.42, 0, .58, 1)}body[data-page-surface=home] .ambient-mouse-field{--night-haze-opacity:.86;z-index:2}.brand-stage{--brand-enter-duration:1.12s;--brand-enter-ease:cubic-bezier(.2, .52, .24, 1);opacity:0;transform-origin:50% 52%;backface-visibility:hidden;will-change:opacity, transform;width:min(78vw,1360px);height:min(72vh,840px);animation:bm-soft-arrival var(--brand-enter-duration) var(--brand-enter-ease) var(--brand-enter-delay,.12s) both;transform:translateY(10px)scale(.985)}html.fo-route-transitioning .brand-stage,html.fo-home-arrival-pending:not(.fo-home-first-arrival) .brand-stage{opacity:1;animation:none;transform:translate(0,0)scale(1)}html.fo-home-first-arrival .brand-stage{opacity:0;animation:bm-soft-arrival var(--brand-enter-duration) var(--brand-enter-ease) var(--brand-enter-delay,.12s) both;transform:translateY(10px)scale(.985)}.brand-stage .brand4c{width:100%;height:100%;animation:bm-breathe 6.5s ease-in-out calc(var(--brand-enter-delay,.12s) + var(--brand-enter-duration,1.12s) + 48ms) infinite;overflow:visible}html.fo-home-arrival-pending:not(.fo-home-first-arrival) .brand-stage .brand4c{animation:none}html.fo-home-first-arrival .brand-stage .brand4c{animation:bm-breathe 6.5s ease-in-out calc(var(--brand-enter-delay,.12s) + var(--brand-enter-duration,1.12s) + 48ms) infinite}html.fo-theme-swapping .brand-stage .brand4c{animation-play-state:paused}.brand4c{display:block;position:relative;overflow:visible}@keyframes bm-soft-arrival{0%{opacity:0;transform:translate3d(0, var(--brand-enter-y,10px), 0) scale(var(--brand-enter-scale,.985))}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes bm-phase-pigment-handoff{0%,8%{opacity:1}46%{opacity:.76}78%{opacity:.15}to{opacity:0}}.bm-brush-motion,.bm-brush-layer,.bm-brush-fallback{pointer-events:none;position:absolute;inset:0}.bm-brush-motion{transform-origin:50% 52%;transform:translate(0,0)}.bm-brush-phase{pointer-events:none;-webkit-mask-image:var(--bm-logo-url);mask-image:var(--bm-logo-url);opacity:0;background-repeat:no-repeat;position:absolute;inset:0;mask-position:50%;mask-size:107%;mask-repeat:no-repeat}.bm-brush-phase-four{z-index:5;background-image:linear-gradient(90deg, rgb(var(--bm-phase-ink)) 0%, rgb(var(--bm-phase-ink)) 44%, rgb(var(--bm-phase-ink) / .9) 54%, rgb(var(--bm-phase-ink) / .38) 64%, transparent 76%)}.bm-brush-phase-c{z-index:6;background-image:linear-gradient(90deg, transparent 28%, rgb(var(--bm-phase-ink) / .36) 40%, rgb(var(--bm-phase-ink) / .9) 50%, rgb(var(--bm-phase-ink)) 60%, rgb(var(--bm-phase-ink)) 100%)}.bm-brush-layer{z-index:1;color:rgb(var(--home-mark-fill));-webkit-mask-image:var(--bm-logo-url);mask-image:var(--bm-logo-url);background-color:currentColor;mask-position:50%;mask-size:107%;mask-repeat:no-repeat}.bm-brush-glow-far{color:rgb(var(--home-mark-glow-far));filter:blur(28px);mix-blend-mode:var(--home-mark-glow-blend);opacity:var(--home-mark-glow-far-opacity);transition:opacity .36s cubic-bezier(.2,0,0,1);transform:scale(1.018)}.bm-brush-glow-mid{color:rgb(var(--home-mark-glow-mid));filter:blur(13px);mix-blend-mode:var(--home-mark-glow-blend);opacity:var(--home-mark-glow-mid-opacity);transition:opacity .32s cubic-bezier(.2,0,0,1);transform:scale(1.009)}.bm-brush-glow-near{color:rgb(var(--home-mark-glow-near));filter:blur(4px);mix-blend-mode:var(--home-mark-glow-blend);opacity:var(--home-mark-glow-near-opacity);transition:opacity .26s cubic-bezier(.2,0,0,1)}.bm-brush-fill{color:rgb(var(--home-mark-fill));z-index:2;filter:drop-shadow(0 0 2px rgb(var(--home-mark-glow-near) / .52)) drop-shadow(0 0 8px rgb(var(--home-mark-glow-mid) / .18));opacity:var(--home-mark-fill-opacity);transition:filter .32s cubic-bezier(.2,0,0,1)}.bm-brush-fallback{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;opacity:var(--home-mark-fill-opacity);display:none}html.fo-theme-swapping .orbit-home .bm-brush-layer,html.fo-theme-swapping .orbit-home .bm-brush-fallback{transition-property:opacity;transition-timing-function:ease-in-out}html.fo-theme-swapping .orbit-home .bm-brush-phase{animation:.48s ease-in-out both bm-phase-pigment-handoff}html.fo-theme-swapping .orbit-home .bm-brush-phase-c{animation-delay:80ms}html.fo-theme-swapping[data-theme=observatory] .orbit-home .bm-brush-phase{--bm-phase-ink:11 60 44}html.fo-theme-swapping:not([data-theme=observatory]) .orbit-home .bm-brush-phase{--bm-phase-ink:226 255 248}.brand-stage:hover .bm-brush-fill{filter:drop-shadow(0 0 2px rgb(var(--home-mark-glow-near) / .62)) drop-shadow(0 0 10px rgb(var(--home-mark-glow-mid) / .24)) brightness(1.025)}@supports not (mask-image:url('')){.bm-brush-layer{display:none}.bm-brush-fallback{display:block;transform:scale(1.07)}.bm-brush-phase{display:none}}.side-nav{z-index:20;width:min(520px,46vw);position:absolute;top:50%;transform:translateY(-50%)}.side-nav-left{--edge-gap:clamp(112px, 12vw, 202px);--nav-ambient-drift:-4px;--nav-ambient-settle:7px;left:var(--edge-gap)}.side-nav-right{--edge-gap:clamp(112px, 12vw, 202px);--nav-ambient-drift:4px;--nav-ambient-settle:-7px;right:var(--edge-gap)}.home-nav-list{flex-direction:column;gap:clamp(0px,.55vw,9px);width:100%;margin:0;padding:0;list-style:none;display:flex}.side-nav-left .home-nav-list{align-items:flex-start}.side-nav-right .home-nav-list{align-items:flex-end}.home-nav-item{--nav-arc-offset:0px;--nav-arc-rotate:0deg;--nav-depth-size:1em;--nav-drift-y:0px;--nav-ambient-rotate:0deg;--nav-ambient-duration:11s;--nav-ambient-delay:0s;width:max-content;max-width:100%;position:relative}.side-nav-left .home-nav-item{margin-inline-start:var(--nav-arc-offset)}.side-nav-right .home-nav-item{margin-inline-end:var(--nav-arc-offset)}.home-nav-hitbox{letter-spacing:0;text-transform:none;white-space:nowrap;border-radius:6px;align-items:center;min-block-size:56px;min-inline-size:56px;padding:10px 28px;font-family:Estonia,cursive;font-size:clamp(1.8rem,6vw,6.8rem);font-weight:400;line-height:1.08;display:flex;position:relative;overflow:visible}.side-nav-right .home-nav-hitbox{text-align:right;justify-content:flex-end}.home-nav-ambient,.home-nav-label,.home-nav-ambient:before,.home-nav-ambient:after,.home-nav-label:before,.home-nav-label:after{pointer-events:none}.home-nav-ambient,.home-nav-label{backface-visibility:hidden;display:inline-block}.home-nav-label{color:rgb(var(--home-link-ink));font-size:var(--nav-depth-size);text-shadow:0 1px 18px rgb(var(--home-bg) / .72);transform:translate3d(0, 0, 0) rotate(var(--nav-arc-rotate)) scale(1);transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .24s,color .24s,text-shadow .24s}.side-nav-left .home-nav-label{transform-origin:100% 58%}.side-nav-right .home-nav-label{transform-origin:0 58%}.home-nav-item:first-child{--nav-arc-offset:clamp(8px, 1vw, 18px);--nav-arc-rotate:3.05deg;--nav-depth-size:.84em;--nav-drift-y:1.6px;--nav-ambient-rotate:-.18deg;--nav-ambient-duration:10.4s;--nav-ambient-delay:-2.6s}.home-nav-item:nth-child(2){--nav-arc-offset:clamp(54px, 6.5vw, 100px);--nav-arc-rotate:1.12deg;--nav-depth-size:1.1em;--nav-drift-y:.7px;--nav-ambient-rotate:-.08deg;--nav-ambient-duration:11.8s;--nav-ambient-delay:-7.1s}.home-nav-item:nth-child(3){--nav-arc-offset:clamp(50px, 6vw, 92px);--nav-arc-rotate:-1.12deg;--nav-depth-size:1.1em;--nav-drift-y:-.7px;--nav-ambient-rotate:.08deg;--nav-ambient-duration:12.7s;--nav-ambient-delay:-4.3s}.home-nav-item:nth-child(4){--nav-arc-offset:clamp(10px, 1.35vw, 24px);--nav-arc-rotate:-3.05deg;--nav-depth-size:.84em;--nav-drift-y:-1.6px;--nav-ambient-rotate:.18deg;--nav-ambient-duration:11.1s;--nav-ambient-delay:-9.2s}.side-nav-right .home-nav-item:first-child{--nav-arc-rotate:-3.05deg;--nav-ambient-rotate:.18deg}.side-nav-right .home-nav-item:nth-child(2){--nav-arc-rotate:-1.12deg;--nav-ambient-rotate:.08deg}.side-nav-right .home-nav-item:nth-child(3){--nav-arc-rotate:1.12deg;--nav-ambient-rotate:-.08deg}.side-nav-right .home-nav-item:nth-child(4){--nav-arc-rotate:3.05deg;--nav-ambient-rotate:-.18deg}.home-nav-hitbox:is(:hover,:focus-visible) .home-nav-ambient{animation-play-state:paused}.home-nav-hitbox:is(:hover,:focus-visible) .home-nav-label{color:rgb(var(--home-link-highlight));transform:translate3d(var(--nav-ambient-settle), 0, 0) rotate(var(--nav-arc-rotate)) scale(1.012);text-shadow:0 2px 11px rgb(var(--home-link-highlight) / .14), 0 1px 18px rgb(var(--home-bg) / .76)}[data-theme=observatory] .home-nav-hitbox:is(:hover,:focus-visible) .home-nav-label{text-shadow:0 2px 13px rgb(var(--home-link-highlight) / .2), 0 1px 18px #00000094}.home-nav-hitbox:active .home-nav-label{transform:translate3d(var(--nav-ambient-settle), 1px, 0) rotate(var(--nav-arc-rotate)) scale(.997);transition-duration:.11s,.11s,.11s,.11s}[data-theme=observatory] .home-nav-hitbox:active .home-nav-label{transform:translate3d(var(--nav-ambient-settle), 1px, 0) rotate(var(--nav-arc-rotate)) scale(.997)}.home-nav-hitbox[aria-current=page] .home-nav-ambient{animation:none}.home-nav-hitbox[aria-current=page] .home-nav-label{color:rgb(var(--home-link-highlight));transform:translate3d(calc(var(--nav-ambient-settle) * .46), 0, 0) rotate(var(--nav-arc-rotate)) scale(1.008)}.home-nav-hitbox:focus-visible{outline:2px solid rgb(var(--home-link-highlight) / .82);outline-offset:3px}@media (width<=900px){.brand-stage{width:min(80vw,720px);height:min(58vh,540px);left:clamp(-12px,-1.5vw,-5px)}.side-nav{width:auto;max-width:29vw;top:50%;bottom:auto;transform:translateY(-50%)}.side-nav-left{--edge-gap:max(16px, calc(2.4vw + env(safe-area-inset-left)));--nav-ambient-drift:-2px;--nav-ambient-settle:4px;left:var(--edge-gap);right:auto}.side-nav-right{--edge-gap:max(16px, calc(2.4vw + env(safe-area-inset-right)));--nav-ambient-drift:2px;--nav-ambient-settle:-4px;right:var(--edge-gap);left:auto}.home-nav-hitbox{max-width:100%;min-block-size:52px;padding-inline:18px;line-height:1.05}}@media (width<=640px){body[data-page-surface=home] .ambient-mouse-field{--night-haze-opacity:.64}.brand-stage{width:78vw;height:50vh;margin-top:0;left:clamp(-12px,-2vw,-7px)}.side-nav{max-width:30vw}.side-nav-left{--edge-gap:max(9px, env(safe-area-inset-left));--nav-ambient-drift:0px;--nav-ambient-settle:3px;left:var(--edge-gap)}.side-nav-right{--edge-gap:max(9px, env(safe-area-inset-right));--nav-ambient-drift:0px;--nav-ambient-settle:-3px;right:var(--edge-gap)}.home-nav-hitbox{min-block-size:48px;padding:8px 14px;font-size:clamp(1.55rem,6.5vw,2.4rem)}.home-nav-item:first-child,.home-nav-item:nth-child(4){--nav-arc-offset:0px}.home-nav-item:nth-child(2),.home-nav-item:nth-child(3){--nav-arc-offset:8px}}@media (width<=360px){.brand-stage{width:70vw}.home-nav-item{--nav-arc-offset:0px!important}}[data-theme=observatory] .orbit-home{--home-bg:7 10 13;--home-surface:14 19 26;--home-line:35 44 56;--home-dot:88 105 118;--home-ink:225 231 238;--home-muted:152 164 176;--home-accent:39 211 179;--home-link-highlight:var(--home-accent);--home-mark-fill:226 255 248;--home-mark-glow-near:170 255 242;--home-mark-glow-mid:105 245 225;--home-mark-glow-far:66 220 202;--home-mark-glow-near-opacity:.35;--home-mark-glow-mid-opacity:.28;--home-mark-glow-far-opacity:.18;--home-mark-fill-opacity:1;--home-mark-glow-blend:screen;--bg:var(--home-bg);--surface:var(--home-surface);--line:var(--home-line);--ink:var(--home-ink);--ink-dim:var(--home-muted);--ink-faint:var(--home-dot);--accent:var(--home-accent);background:radial-gradient(circle at 50% 54%, rgb(var(--home-accent) / .075), transparent 42%), linear-gradient(180deg, #05070a, rgb(var(--home-bg)))}[data-theme=observatory] .orbit-home:after{opacity:1}[data-theme=observatory] .home-nav-label{color:rgb(var(--home-ink));text-shadow:0 1px 18px #00000080}@media (prefers-reduced-motion:reduce){.brand-stage .brand4c{animation:none}.bm-brush-motion{transform:none!important}.home-nav-hitbox:is(:hover,:focus-visible) .home-nav-label,[data-theme=observatory] .home-nav-hitbox:is(:hover,:focus-visible) .home-nav-label{transform:translate3d(calc(var(--nav-ambient-settle) * .43), 0, 0) rotate(var(--nav-arc-rotate)) scale(1.006)}}.title-script{letter-spacing:0;font-family:Italianno,cursive;font-size:clamp(3.8rem,2.4rem + 7vw,7rem);font-weight:400;line-height:.92}@media (width<=640px){.title-script{font-size:clamp(3.1rem,17vw,4.85rem);line-height:.9}}.page-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--ink-faint));align-items:center;gap:.6rem;font-size:.75rem;display:inline-flex}.page-eyebrow:before{content:"";background:rgb(var(--accent));width:16px;height:2px}@keyframes fo-line-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fo-stagger-fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-header{margin-bottom:1.5rem}.inner-page-index-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading""search""results";row-gap:.55rem;min-width:0;display:grid}.inner-page-index-shell>.page-header{grid-area:heading;min-width:0;margin-bottom:0}.inner-page-index-shell>astro-island{display:contents}.inner-page-index-shell>astro-island>.search-row{grid-area:search}.inner-page-index-shell>astro-island>.content-index{grid-area:results;min-width:0}.search-row{opacity:0;background:0 0;align-items:center;gap:.75rem;min-height:48px;padding:.5rem 0 .65rem;animation:.7s cubic-bezier(.2,0,0,1) .2s both fo-stagger-fade;display:flex;position:relative}.search-row:after{content:"";background:rgb(var(--inner-search-rule,var(--line)));transform-origin:0;height:2px;transition:background-color .15s cubic-bezier(.2,0,0,1),box-shadow .15s cubic-bezier(.2,0,0,1);animation:.7s cubic-bezier(.2,0,0,1) .2s both fo-line-draw;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.search-row:focus-within{background:0 0}.search-row:focus-within:after{background:rgb(var(--focus));box-shadow:0 1px 0 rgb(var(--focus) / .22)}.search-row input{min-height:44px}.search-clear{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.content-index{margin-top:.1rem}.content-list{margin-top:.15rem}@media (width>=720px){.inner-page-index-shell{-moz-column-gap:clamp(2rem, 4vw, 3rem);grid-template-columns:minmax(14rem,.82fr) minmax(18rem,1.18fr);grid-template-areas:"heading search""results results";align-items:end;gap:clamp(.35rem,.8vw,.7rem) clamp(2rem,4vw,3rem)}.inner-page-index-shell>astro-island>.search-row{align-self:end;margin-bottom:clamp(.25rem,.55vw,.5rem)}}@media (width>=1024px){.inner-page-index-shell{-moz-column-gap:clamp(5rem, 7vw, 7rem);grid-template-columns:max-content minmax(0,1fr);column-gap:clamp(5rem,7vw,7rem)}}@keyframes fo-content-entry{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.content-entry,.content-empty{opacity:0;animation:.54s cubic-bezier(.2,0,0,1) both fo-content-entry}.content-entry-project{flex-direction:column;gap:.625rem;padding-block:1.1rem;display:flex}.content-entry-project,.content-entry-project .project-entry-title,.content-entry-project .content-entry-copy,.content-entry-project .content-entry-tag,.content-entry-project .btn{font-family:Playwrite NZ Basic,"FangSong",仿宋,STFangsong,FangSong_GB2312,Songti SC,Microsoft YaHei UI,PingFang SC,Noto Sans SC,sans-serif;font-weight:400}.content-entry-project .project-entry-title{font-kerning:normal;letter-spacing:0;line-height:1.16}.content-entry-project .content-entry-copy{font-size:.94rem}.content-entry-project .content-entry-tag{letter-spacing:.01em;font-size:.82rem}.content-entry-project .btn{letter-spacing:.015em;font-size:.91rem}.content-entry-project .project-entry-actions{justify-content:center}@media (width>=720px) and (width<=1023px){.content-entry-project{-moz-column-gap:clamp(1.5rem, 4vw, 2.5rem);grid-template-columns:minmax(12rem,.84fr) minmax(0,1.16fr);align-items:center;gap:.9rem clamp(1.5rem,4vw,2.5rem);display:grid}.content-entry-project .project-entry-main,.content-entry-project .content-entry-tags,.content-entry-project .project-entry-actions{min-width:0}.content-entry-project .project-entry-actions{grid-column:1/-1;justify-content:center}.content-entry-project .project-entry-actions .btn{width:auto;min-width:7.5rem}}@media (width>=1024px){.content-entry-project{--project-action-rail:22rem;grid-template-columns:16rem minmax(0, 1fr) var(--project-action-rail);align-items:center;gap:0;display:grid}.content-entry-project .project-entry-main,.content-entry-project .content-entry-tags,.content-entry-project .project-entry-actions{min-width:0}.content-entry-project .project-entry-actions{justify-content:center;width:100%}}.content-entry-site,.content-entry-note>a{padding-block:.95rem}.site-entry-layout{isolation:isolate;color:rgb(var(--ink));border-radius:6px;grid-template-columns:max-content minmax(0,max-content) max-content;justify-content:center;align-items:center;gap:clamp(.9rem,2.2vw,1.75rem);margin-inline:auto;padding:.52rem clamp(1rem,2.2vw,1.75rem) .66rem;transition:color .18s cubic-bezier(.2,0,0,1),text-shadow .22s cubic-bezier(.2,0,0,1),transform .26s cubic-bezier(.16,1,.3,1);display:grid;position:relative;transform:translateY(0)scale(1)}.site-entry-layout:after{content:"";background:linear-gradient(90deg, transparent, rgb(var(--accent) / .3) 18%, rgb(var(--accent) / .86) 50%, rgb(var(--accent) / .3) 82%, transparent);opacity:0;transform-origin:50%;height:1px;transition:opacity .18s,transform .34s cubic-bezier(.16,1,.3,1);position:absolute;bottom:.12rem;left:clamp(.75rem,1.7vw,1.35rem);right:clamp(.75rem,1.7vw,1.35rem);transform:scaleX(.18)}.site-entry-number,.site-entry-title,.site-entry-target,.site-entry-host{font-family:Stack Sans Text Variable,Stack Sans Text,Inter,Microsoft YaHei UI,sans-serif}.site-entry-number{color:rgb(var(--inner-meta));font-variant-numeric:tabular-nums;letter-spacing:.03em;font-size:1.5rem;font-weight:520;transition:color .18s cubic-bezier(.2,0,0,1),transform .26s cubic-bezier(.16,1,.3,1)}.site-entry-title{justify-self:start;font-size:clamp(1.95rem,1.77rem + .75vw,2.43rem);font-weight:560;line-height:1.18;transition:color .18s cubic-bezier(.2,0,0,1),letter-spacing .26s cubic-bezier(.16,1,.3,1)}.site-entry-target{justify-self:start;align-items:center;gap:.46rem;min-width:0;transition:transform .26s cubic-bezier(.16,1,.3,1);display:inline-flex}.site-entry-icon{color:rgb(var(--inner-meta));flex:none;transition:color .18s cubic-bezier(.2,0,0,1)}.site-entry-host{color:rgb(var(--inner-copy));font-variant-numeric:tabular-nums;letter-spacing:.01em;text-align:right;white-space:nowrap;font-size:1.38rem;font-weight:430}.content-entry-site-link:hover,.content-entry-site-link:focus-visible{color:rgb(var(--accent));text-shadow:0 0 18px rgb(var(--accent) / .12);transform:scale(1.012)}.content-entry-site-link:hover:after,.content-entry-site-link:focus-visible:after{opacity:.92;transform:scaleX(1)}.content-entry-site-link:hover .site-entry-number,.content-entry-site-link:focus-visible .site-entry-number{color:rgb(var(--accent));transform:translate(4px)}.content-entry-site-link:hover .site-entry-title,.content-entry-site-link:focus-visible .site-entry-title{letter-spacing:.012em}.content-entry-site-link:hover .site-entry-icon,.content-entry-site-link:focus-visible .site-entry-icon,.content-entry-site-link:hover .site-entry-host,.content-entry-site-link:focus-visible .site-entry-host{color:rgb(var(--accent))}.content-entry-site-link:hover .site-entry-target,.content-entry-site-link:focus-visible .site-entry-target{transform:translate(-4px)}.content-entry-site-link:active{transition-duration:80ms;transform:scale(.992)}.content-entry-site-link:focus-visible{outline:1px solid rgb(var(--accent) / .62);outline-offset:2px}.content-entry-site-link,.content-entry-note-link{min-height:44px}.content-entry-note-link{border-radius:4px;margin-inline:-.5rem;padding-inline:.5rem;transition:color .15s cubic-bezier(.2,0,0,1);display:block}.content-entry-note-link:hover,.content-entry-note-link:focus-visible{background:0 0}.content-entry-note-link:focus-visible{outline:1px solid rgb(var(--accent) / .62);outline-offset:3px}.content-entry-note-link:hover .content-entry-title,.content-entry-note-link:focus-visible .content-entry-title{text-underline-offset:.28em;text-decoration-line:underline;text-decoration-thickness:1px}.content-entry-title{letter-spacing:0;line-height:1.08}.content-entry-copy{color:rgb(var(--inner-copy));line-height:1.42}.content-entry-meta{color:rgb(var(--inner-meta));line-height:1.3}.content-entry-tags{gap:.35rem;line-height:1.2}.content-entry-tag{border:1px solid rgb(var(--line) / .82);color:rgb(var(--inner-meta));font-family:var(--font-mono);border-radius:6px;padding:.2rem .46rem;font-size:.75rem;line-height:1.15}.content-empty{min-height:104px;color:rgb(var(--inner-meta));font-family:var(--font-mono);align-items:center;gap:.6rem;padding-block:1rem;font-size:.75rem;line-height:1.35;display:flex}.content-empty:before{content:"";background:rgb(var(--accent) / .68);width:18px;height:1px}@media (width>=640px){.content-entry-project{padding-block:1.3rem}.content-entry-site,.content-entry-note>a{padding-block:1.1rem}}.inner-page-transition{--inner-copy:36 79 77;--inner-meta:var(--ink-functional-muted);--inner-search-rule:112 148 139;--inner-button-bg:226 242 238;--inner-button-border:112 164 154;--inner-button-ink:30 84 76;--inner-button-hover-bg:208 235 229;--inner-button-hover-ink:13 104 92;min-width:0}[data-theme=observatory] .inner-page-transition{--inner-copy:118 185 173;--inner-meta:var(--ink-functional-muted);--inner-search-rule:var(--line);--inner-button-bg:18 43 45;--inner-button-border:74 137 127;--inner-button-ink:142 211 195;--inner-button-hover-bg:27 60 58;--inner-button-hover-ink:166 231 214}.about-copy{box-sizing:border-box;width:100%;max-width:none;color:rgb(var(--ink));letter-spacing:.012em;font-size:clamp(1rem,.96rem + .18vw,1.08rem);line-height:1.85}[data-theme=observatory] .about-copy{color:#f1f5f9}.about-copy p{overflow-wrap:break-word;text-align:justify;text-align-last:left;text-justify:inter-character;width:100%;margin:0}.about-copy p+p{margin-top:clamp(.9rem,1.6vw,1.25rem)}.about-copy del{color:rgb(var(--ink-dim));text-decoration-color:rgb(var(--accent) / .72);-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto;text-decoration-thickness:1px}.inner-meta,.inner-page-transition .label,.inner-page-transition .page-eyebrow{color:rgb(var(--inner-meta))}.inner-search-input{color:rgb(var(--ink))}.inner-search-input::placeholder{color:rgb(var(--inner-meta))}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}[data-astro-transition-persist=ambient-field]{view-transition-name:ambient-field}html:not([data-theme=observatory])[data-fo-route-mode] [data-astro-transition-persist=ambient-field]{view-transition-name:none}[data-astro-transition-persist=control-cluster]{view-transition-name:control-cluster}astro-island[data-astro-transition-persist=foreseer-pet]{view-transition-name:foreseer-pet}::view-transition-group(root){z-index:0}html[data-fo-route-mode=inner]::view-transition-old(root){opacity:0}html[data-fo-route-mode=inner]::view-transition-new(root),html[data-fo-route-mode]::view-transition-old(ambient-field){opacity:1}html[data-fo-route-mode]::view-transition-new(ambient-field){opacity:0}html[data-fo-route-mode=cross] .inner-page-transition,html[data-fo-route-mode=cross] .nav-pill__indicator{view-transition-name:none!important}html[data-fo-route-mode=cross]::view-transition-group(root){animation-duration:.3s;animation-timing-function:cubic-bezier(.2,0,0,1)}html[data-fo-route-mode=cross]::view-transition-old(root){animation:.1s cubic-bezier(.2,0,0,1) both fo-root-cross-out}html[data-fo-route-mode=cross]::view-transition-new(root){opacity:0;animation:.16s cubic-bezier(.2,0,0,1) .12s both fo-root-cross-in}html[data-fo-route-direction=home-to-inner]::view-transition-group(root){animation-duration:.22s}html[data-fo-route-direction=home-to-inner]::view-transition-old(root){animation-duration:64ms}html[data-fo-route-direction=home-to-inner]::view-transition-new(root){animation-duration:.156s;animation-delay:64ms}html:not([data-theme=observatory])[data-fo-route-mode=cross]::view-transition-group(root){animation-duration:.22s}html:not([data-theme=observatory])[data-fo-route-mode=cross]::view-transition{background-color:rgb(var(--bg))}html:not([data-theme=observatory])[data-fo-route-mode=cross]::view-transition-old(root){animation:.104s cubic-bezier(.2,0,0,1) both fo-root-cross-out}html:not([data-theme=observatory])[data-fo-route-mode=cross]::view-transition-new(root){opacity:0;animation:.18s cubic-bezier(.2,0,0,1) 40ms both fo-root-cross-in}@keyframes fo-root-cross-out{0%{opacity:1}to{opacity:0}}@keyframes fo-root-cross-in{0%{opacity:0}to{opacity:1}}::view-transition-group(ambient-field){z-index:2;animation:none}::view-transition-old(ambient-field),::view-transition-new(ambient-field){mix-blend-mode:normal;animation:none}::view-transition-group(home-brand){z-index:10;opacity:1;animation:none}::view-transition-group(home-side-left),::view-transition-group(home-side-right){z-index:20;animation:none}::view-transition-group(home-footer){z-index:34;animation:none}::view-transition-group(site-nav){z-index:40}::view-transition-old(home-brand),::view-transition-new(home-brand),::view-transition-old(home-side-left),::view-transition-new(home-side-left),::view-transition-old(home-side-right),::view-transition-new(home-side-right){mix-blend-mode:normal}html[data-fo-route-direction=home-to-inner]::view-transition-old(home-brand),html[data-fo-route-direction=home-to-inner]::view-transition-old(home-side-left),html[data-fo-route-direction=home-to-inner]::view-transition-old(home-side-right){animation:64ms cubic-bezier(.2,0,0,1) both fo-root-cross-out}html[data-fo-route-direction=inner-to-home]::view-transition-new(home-brand),html[data-fo-route-direction=inner-to-home]::view-transition-new(home-side-left),html[data-fo-route-direction=inner-to-home]::view-transition-new(home-side-right){opacity:0;animation:none}::view-transition-group(control-cluster){z-index:40;animation:none}::view-transition-old(control-cluster),::view-transition-new(control-cluster){mix-blend-mode:normal;animation:none}::view-transition-group(foreseer-pet){z-index:2147483647;animation:none}::view-transition-old(foreseer-pet),::view-transition-new(foreseer-pet){mix-blend-mode:normal;animation:none}::view-transition-group(inner-page){z-index:10;animation-duration:.21s;animation-timing-function:cubic-bezier(.2,0,0,1)}::view-transition-old(inner-page){mix-blend-mode:normal;animation:.11s cubic-bezier(.2,0,0,1) both fo-inner-page-out}::view-transition-new(inner-page){mix-blend-mode:normal;animation:.19s cubic-bezier(.2,0,0,1) 20ms both fo-inner-page-in}@keyframes fo-inner-page-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-2px)}}@keyframes fo-inner-page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}::view-transition-group(nav-active-indicator){z-index:45;animation-duration:.19s;animation-timing-function:cubic-bezier(.2,0,0,1)}::view-transition-old(nav-active-indicator){mix-blend-mode:normal;animation:90ms cubic-bezier(.2,0,0,1) both fo-nav-indicator-out}::view-transition-new(nav-active-indicator){mix-blend-mode:normal;animation:.17s cubic-bezier(.2,0,0,1) 20ms both fo-nav-indicator-in}@keyframes fo-nav-indicator-out{0%{opacity:1}to{opacity:0}}@keyframes fo-nav-indicator-in{0%{opacity:0}to{opacity:1}}.btn{border:1px solid rgb(var(--inner-button-border));background:rgb(var(--inner-button-bg));color:rgb(var(--inner-button-ink));font-size:.85rem;font-family:var(--font-mono);border-radius:9px;align-items:center;gap:.45rem;min-height:44px;padding:.5rem .85rem;transition:border-color .15s cubic-bezier(.2,0,0,1),background-color .15s cubic-bezier(.2,0,0,1),color .15s cubic-bezier(.2,0,0,1);display:inline-flex}.btn:hover{border-color:rgb(var(--accent) / .82);background:rgb(var(--inner-button-hover-bg));color:rgb(var(--inner-button-hover-ink))}.btn[aria-disabled=true],.btn:disabled{color:rgb(var(--muted));cursor:not-allowed;pointer-events:none;border-style:dashed}.compliance-footer{z-index:20;width:100%;padding:1.15rem var(--gutter) max(.95rem, env(safe-area-inset-bottom));color:rgb(var(--ink-functional-muted));font-family:var(--font-mono);letter-spacing:.04em;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:.42rem .8rem;margin-top:auto;font-size:.75rem;line-height:1.4;transition:color .18s;display:flex;position:relative}.compliance-footer a{pointer-events:auto;text-decoration:none;transition:color .18s;position:relative}.compliance-footer a:after{content:"";opacity:0;transform-origin:50%;background:currentColor;height:1px;transition:opacity .18s,transform .18s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-.22rem;left:0;right:0;transform:scaleX(.36)}.compliance-footer a:hover,.compliance-footer a:focus-visible{color:rgb(var(--accent) / .76)}.compliance-footer a:hover:after,.compliance-footer a:focus-visible:after{opacity:.65;transform:scaleX(1)}.compliance-footer-home{right:0;bottom:max(.72rem, env(safe-area-inset-bottom));z-index:34;width:fit-content;max-width:calc(100vw - 8rem);color:rgb(var(--ink-functional-muted));text-shadow:0 1px 14px rgb(var(--bg) / .65);margin:0 auto;padding:0;position:fixed;left:0}[data-theme=observatory] .compliance-footer-home{color:rgb(var(--ink-functional-muted));text-shadow:0 1px 14px #000000b8}body[data-page-surface=inner].site-body{background-color:#07090d}body[data-page-surface=inner] .ambient-mouse-field{--ink-faint:132 156 157;--accent:18 174 157;--night-haze-opacity:.44}body[data-page-surface=inner] .ambient-mouse-field:before{content:"";z-index:0;pointer-events:none;opacity:1;transition:opacity var(--theme-swap-duration) var(--theme-swap-ease);background:radial-gradient(at 16% 8%,#ffffffb8,#0000 43%),radial-gradient(at 86% 76%,#c5d9dd33,#0000 52%),linear-gradient(145deg,#f5faf9,#e8f1f2 54%,#f1f7f6);position:absolute;inset:0}[data-theme=observatory] body[data-page-surface=inner] .ambient-mouse-field:before{opacity:0}html.fo-theme-swapping body[data-page-surface=inner] .ambient-mouse-field:before{transition-duration:var(--theme-swap-duration);transition-property:opacity;transition-timing-function:var(--theme-swap-ease)}[data-theme=observatory] body[data-page-surface=inner] .ambient-mouse-field{--ink-faint:88 105 118;--accent:39 211 179}.prose{--tw-prose-body:rgb(var(--inner-copy,var(--ink-dim)));--tw-prose-headings:rgb(var(--ink));--tw-prose-links:rgb(var(--accent));--tw-prose-bold:rgb(var(--ink));--tw-prose-code:rgb(var(--accent));--tw-prose-quotes:rgb(var(--inner-meta,var(--ink-faint)));--tw-prose-quote-borders:rgb(var(--accent) / .5);--tw-prose-bullets:rgb(var(--accent) / .6);--tw-prose-hr:rgb(var(--line));--tw-prose-counters:rgb(var(--inner-meta,var(--ink-faint)));--tw-prose-pre-bg:rgb(var(--surface-2));--tw-prose-pre-code:rgb(var(--ink))}.note-group-list,.note-article{--font-note-ui:"Space Grotesk Variable", "Space Grotesk", "Microsoft YaHei UI", "PingFang SC", "Noto Sans SC", ui-sans-serif, system-ui, sans-serif;--font-note-reading:"Inter", "Microsoft YaHei UI", "PingFang SC", "Noto Sans SC", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif}.note-article{--note-body:49 66 69;--note-heading:22 36 42;--note-muted:90 108 111;--note-rule:112 137 143;--note-back-size:44px;--note-back-gap:clamp(1rem, 1.4vw, 1.25rem);--note-content-offset:calc(var(--note-back-size) + var(--note-back-gap));max-width:56rem}[data-theme=observatory] .note-article{--note-body:190 200 214;--note-heading:235 239 246;--note-muted:137 152 170;--note-rule:82 113 123}.note-back-link{z-index:24;top:max(6.5rem, calc(env(safe-area-inset-top) + 6.5rem));left:max(var(--gutter), calc(50% - 28rem));width:var(--note-back-size,44px);height:var(--note-back-size,44px);place-items:center start;text-decoration:none;display:grid;position:fixed}.note-back-mark{border:1px solid rgb(var(--line) / .92);background:rgb(var(--surface) / .32);width:2rem;height:2rem;color:rgb(var(--ink));border-radius:50%;place-items:center;transition:border-color .18s cubic-bezier(.2,0,0,1),background-color .18s cubic-bezier(.2,0,0,1),color .18s cubic-bezier(.2,0,0,1),transform .18s cubic-bezier(.2,0,0,1);display:grid}.note-back-mark svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.15rem;height:1.15rem}.note-back-link:hover{color:rgb(var(--accent))}.note-back-link:hover .note-back-mark{border-color:rgb(var(--accent) / .72);background:rgb(var(--accent) / .1);color:rgb(var(--accent));transform:translate(-2px)}.note-back-link:focus-visible{outline:2px solid rgb(var(--focus));outline-offset:3px}.note-top-link{z-index:24;right:max(1rem, env(safe-area-inset-right));bottom:max(4.75rem, calc(env(safe-area-inset-bottom) + 4.75rem));width:44px;height:44px;color:rgb(var(--ink));place-items:center;text-decoration:none;display:grid;position:fixed}.note-top-mark{border:1px solid rgb(var(--note-rule,var(--line)) / .9);background:rgb(var(--surface-2) / .94);width:2.25rem;height:2.25rem;box-shadow:0 10px 28px #00000029, inset 0 0 0 1px rgb(var(--ink) / .025);border-radius:50%;place-items:center;transition:border-color .18s cubic-bezier(.2,0,0,1),color .18s cubic-bezier(.2,0,0,1),transform .18s cubic-bezier(.2,0,0,1);display:grid}.note-top-mark svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55px;width:1.05rem;height:1.05rem}.note-top-link:hover{color:rgb(var(--accent))}.note-top-link:hover .note-top-mark{border-color:rgb(var(--accent) / .68);transform:translateY(-2px)}.note-top-link:focus-visible{outline:2px solid rgb(var(--focus));outline-offset:2px;border-radius:50%}.note-article-header{padding-left:var(--note-content-offset);align-items:center;gap:0;margin-top:.9rem;padding-bottom:1.25rem;display:flex;position:relative}.note-article-header:after{content:"";bottom:0;right:0;left:var(--note-content-offset);background:rgb(var(--line) / .82);height:1px;position:absolute}.note-series-label{color:rgb(var(--accent));font-family:var(--font-mono);letter-spacing:.08em;text-transform:none;flex:none;margin:0;font-size:.78rem;line-height:1.3}.note-article-heading-row{flex-wrap:wrap;align-items:center;gap:.45rem .85rem;min-width:0;display:flex}.note-article-title{color:rgb(var(--note-heading));font-family:var(--font-note-ui);letter-spacing:-.03em;margin:0;font-size:clamp(2rem,1.68rem + 1.3vw,2.7rem);font-weight:650;line-height:1.18}.note-reading-prose{--tw-prose-body:rgb(var(--note-body));--tw-prose-headings:rgb(var(--note-heading));--tw-prose-links:rgb(var(--accent));--tw-prose-bold:rgb(var(--note-heading));--tw-prose-code:rgb(var(--accent));--tw-prose-quotes:rgb(var(--note-muted));--tw-prose-counters:rgb(var(--note-muted));counter-reset:note-section;width:calc(100% - var(--note-content-offset));max-width:none;margin-left:var(--note-content-offset);color:rgb(var(--note-body));font-family:var(--font-note-reading);letter-spacing:.002em;margin-top:1.8rem;font-size:1rem;line-height:1.74}.note-reading-prose>:first-child{margin-top:0}.note-reading-prose :where(p,li){word-spacing:normal;word-break:normal;overflow-wrap:anywhere;line-break:strict;text-align:start}.note-reading-prose :where(p){margin-block:.62em}.note-reading-prose :where(h2){counter-increment:note-section;color:rgb(var(--note-heading));font-family:var(--font-note-ui);letter-spacing:-.02em;margin-top:1.3em;margin-bottom:.55em;font-size:clamp(1.28rem,1.18rem + .35vw,1.5rem);font-weight:620;line-height:1.42}.note-reading-prose :where(h2):before{content:counter(note-section, decimal-leading-zero);width:2.55rem;color:rgb(var(--accent) / .8);font-family:var(--font-mono);letter-spacing:.08em;vertical-align:.13em;font-size:.67em;font-weight:500;display:inline-block}.note-reading-prose :where(h3){color:rgb(var(--note-heading));font-family:var(--font-note-ui);margin-top:1em;margin-bottom:.36em;font-size:1.08rem;font-weight:620;line-height:1.5}.note-reading-prose :where(ul,ol){padding-inline-start:1.45em}.note-reading-prose :where(li){margin-block:.36em;padding-inline-start:.22em}.note-reading-prose :where(li)::marker{color:rgb(var(--accent) / .76)}.note-reading-prose :where(a){text-underline-offset:.2em;font-weight:600;text-decoration-thickness:1px}.note-reading-prose :where(strong){color:rgb(var(--note-heading));font-weight:700}.note-reading-prose :where(code){border:1px solid rgb(var(--line) / .8);background:rgb(var(--surface-2) / .76);font-family:var(--font-mono);word-break:break-word;border-radius:4px;padding:.12em .34em;font-size:.86em}.note-reading-prose :where(code):before,.note-reading-prose :where(code):after{content:none}.note-reading-prose :where(pre){border:1px solid rgb(var(--line) / .84);border-radius:8px}.note-reading-prose :where(pre code){background:0 0;border:0;padding:0}.note-reading-prose :where(blockquote){border-inline-start-width:1px;border-inline-start-color:rgb(var(--accent) / .76);color:rgb(var(--note-muted));margin-block:.95em 1.15em;padding:.18em 0 .18em 1.1em;font-style:normal}.note-reading-prose :where(blockquote p){margin-block:.38em}.note-reading-prose :where(hr){border-color:rgb(var(--line) / .82);margin-block:2.2em}.note-reading-prose :where(table){border-collapse:collapse;border-color:rgb(var(--note-rule) / .52);width:100%;margin-block:.82em;font-size:.88em;line-height:1.56;display:table;overflow:hidden}.note-reading-prose :where(th,td){border-color:rgb(var(--note-rule) / .44);text-align:center;vertical-align:middle;padding:.6em .75em}.note-reading-prose :where(th){color:rgb(var(--note-heading));font-family:var(--font-note-ui);background:rgb(var(--surface) / .24);font-weight:650}.note-reading-prose .note-label{color:rgb(var(--accent) / .88);font-family:var(--font-mono);letter-spacing:.08em;font-size:.73em;font-weight:500;line-height:1.45}.note-reading-prose .note-protocol,.note-reading-prose .note-axiom{border-left:1px solid rgb(var(--accent) / .68);background:linear-gradient(90deg, rgb(var(--accent) / .08), transparent 78%);margin-block:.9em;padding:.72rem .95rem .76rem}.note-reading-prose .note-protocol :where(p),.note-reading-prose .note-axiom :where(p){margin-block:.28em}.note-reading-prose .note-protocol :where(ol,ul),.note-reading-prose .note-axiom :where(ol,ul){margin-block:.4em}.note-reading-prose .note-map{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-block:.9em 1.05em;display:grid}.note-reading-prose .note-map>div{border-top:1px solid rgb(var(--note-rule) / .52);min-width:0;padding-top:.6rem}.note-reading-prose .note-map :where(p){margin-block:.2em}.note-reading-prose .note-map strong{color:rgb(var(--note-heading));font-family:var(--font-note-ui);font-size:.98em;font-weight:620;display:block}.note-reading-prose .note-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 1.3rem;margin-block:1em;padding:0;list-style:none;display:grid}.note-reading-prose .note-checklist li{border-bottom:1px solid rgb(var(--note-rule) / .32);margin:0;padding:.32em 0 .32em 1.2em;position:relative}.note-reading-prose .note-checklist li:before{content:"↗";color:rgb(var(--accent) / .86);font-family:var(--font-mono);position:absolute;left:0}.note-index-card{display:block}.note-index-card-main{flex-wrap:wrap;align-items:center;gap:.62rem clamp(1rem,1.7vw,1.45rem);width:100%;min-width:0;max-width:100%;display:flex}.note-index-title{font-family:var(--font-note-ui);letter-spacing:-.018em;font-size:clamp(1.16rem,1.08rem + .35vw,1.34rem);font-weight:600;line-height:1.28}.note-index-date{text-align:right;justify-content:flex-end;align-items:center;margin-inline-start:auto;font-size:.78rem;display:inline-flex}.note-tag{font-size:.76rem}.note-group-list{margin-top:0}.note-group-heading-entry{opacity:0;animation:.54s cubic-bezier(.2,0,0,1) both fo-content-entry}html.fo-notes-return .inner-page-index-shell>.page-header .animate-fade-up,html.fo-notes-return .inner-page-index-shell>astro-island>.search-row{opacity:1;transform:none;animation:none!important}html.fo-notes-return .inner-page-index-shell>astro-island>.search-row:after{transform:scaleX(1);animation:none!important}html.fo-notes-return .content-index:not([data-filtered]) :where(.note-group-heading-entry,.note-series-panel.is-expanded,.note-series-panel.is-expanded .content-entry){opacity:1;transform:none;animation:none!important}@keyframes fo-note-group-expand{0%{opacity:0;grid-template-rows:0fr}to{opacity:1;grid-template-rows:1fr}}@keyframes fo-note-group-collapse{0%{opacity:1;grid-template-rows:1fr;transform:translateY(0)}to{opacity:0;grid-template-rows:0fr;transform:translateY(-4px)}}@keyframes fo-note-entry-collapse{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.note-series-group{-moz-column-gap:clamp(.9rem, 2.1vw, 1.8rem);grid-template-columns:max-content minmax(0,1fr);align-items:start;column-gap:clamp(.9rem,2.1vw,1.8rem);min-width:0;display:grid}.note-series-heading{cursor:pointer;width:max-content;max-width:100%;min-height:3.55rem;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:.75rem;padding:.76rem 0;display:flex}.note-series-name{color:rgb(var(--ink));font-family:var(--font-note-ui);letter-spacing:-.025em;font-size:clamp(1.34rem,1.18rem + .7vw,1.72rem);font-weight:650;line-height:1.15}.note-series-meta{color:rgb(var(--muted));font-family:var(--font-mono);letter-spacing:.08em;align-items:center;gap:.55rem;font-size:.8rem;display:inline-flex}.note-series-meta svg{width:1rem;height:1rem;transition:transform .24s cubic-bezier(.2,0,0,1)}.note-series-heading,.note-series-name,.note-series-meta,.note-series-panel .content-entry-note,.note-series-panel .note-index-title,.note-series-panel .content-entry-tag,.note-series-panel .note-index-date{font-family:Playwrite NZ Basic,"FangSong",仿宋,STFangsong,FangSong_GB2312,Songti SC,Microsoft YaHei UI,PingFang SC,Noto Sans SC,sans-serif;font-weight:400}.note-series-heading[aria-expanded=true] .note-series-meta svg{transform:rotate(180deg)}.note-series-panel{opacity:0;grid-column:2;grid-template-rows:0fr;min-width:0;transition:grid-template-rows .36s cubic-bezier(.2,0,0,1),opacity .22s cubic-bezier(.2,0,0,1);display:grid}.note-series-panel.is-expanded{opacity:1;grid-template-rows:1fr;animation:.36s cubic-bezier(.2,0,0,1) both fo-note-group-expand}.note-series-panel-inner{min-width:0;min-height:0;overflow:hidden}.note-series-panel .content-list{gap:.35rem;width:100%;margin:0;padding:0 0 1rem}.note-series-panel .content-entry{opacity:0;transition:opacity .16s cubic-bezier(.2,0,0,1),transform .22s cubic-bezier(.2,0,0,1);animation:none;transform:translateY(9px)}.note-series-panel.is-expanded .content-entry{animation:.54s cubic-bezier(.2,0,0,1) both fo-content-entry}.note-series-panel.is-expanded.is-collapsing{pointer-events:none;animation:.32s cubic-bezier(.4,0,.6,1) both fo-note-group-collapse;animation-delay:0s!important}.note-series-panel.is-expanded.is-collapsing .content-entry{animation:.21s cubic-bezier(.4,0,.6,1) both fo-note-entry-collapse;animation-delay:0s!important}.note-series-panel .content-entry-note>a{padding-block:.88rem}.note-series-heading:focus-visible{outline:2px solid rgb(var(--accent));outline-offset:-4px}@media (width>=640px){.note-reading-prose{font-size:1.045rem}}@media (width<=640px){body[data-page-surface=inner] .ambient-mouse-field{--night-haze-opacity:.27}.site-entry-layout{grid-template-columns:max-content minmax(0,max-content);gap:.38rem clamp(.58rem,3.2vw,.9rem);padding-inline:clamp(.35rem,2vw,.75rem)}.site-entry-number{font-size:1.2rem}.site-entry-title{font-size:clamp(1.55rem,6.4vw,1.86rem)}.site-entry-target{grid-column:2;gap:.3rem}.site-entry-host{font-size:clamp(1rem,4vw,1.18rem)}.page-header{margin-bottom:1rem}.page-eyebrow{letter-spacing:.12em;gap:.45rem;font-size:.75rem}.page-eyebrow:before{width:12px}.search-row{gap:.6rem;min-height:46px;padding:.4rem 0 .58rem}.btn{min-height:44px;padding:.48rem .72rem;font-size:.78rem}.compliance-footer{letter-spacing:.02em;font-size:.75rem}.compliance-footer-home{bottom:max(.72rem, env(safe-area-inset-bottom));max-width:calc(100vw - 7.25rem)}.note-top-link{right:max(.75rem, env(safe-area-inset-right));bottom:max(4.4rem, calc(env(safe-area-inset-bottom) + 4.4rem))}.note-reading-prose{margin-top:1.5rem;font-size:.98rem;line-height:1.74}.note-reading-prose .note-map,.note-reading-prose .note-checklist{grid-template-columns:1fr}.note-reading-prose :where(h2){margin-top:1.35em}.note-reading-prose :where(h2):before{width:2.2rem}.note-article-header{margin-top:1.35rem;padding-bottom:1.35rem}.note-series-heading{gap:.48rem;min-height:3.55rem}.note-series-group{-moz-column-gap:.75rem;column-gap:.75rem}.note-series-meta{letter-spacing:.045em;gap:.34rem}.note-series-panel .content-list{padding-inline-start:0}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-\[calc\(100\%\+10px\)\]{bottom:calc(100% + 10px)}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-\[calc\(100\%\+10px\)\]{top:calc(100% + 10px)}.isolate{isolation:isolate}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-6{margin-bottom:1.5rem}.mt-1\.5{margin-top:.375rem}.mt-3{margin-top:.75rem}.mt-9{margin-top:2.25rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-11{height:2.75rem}.h-12{height:3rem}.h-9{height:2.25rem}.h-dvh{height:100dvh}.h-full{height:100%}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-\[62vh\]{min-height:62vh}.min-h-dvh{min-height:100dvh}.w-11{width:2.75rem}.w-12{width:3rem}.w-44{width:11rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-\[38rem\]{max-width:38rem}.max-w-measure{max-width:var(--measure)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-center{transform-origin:50%}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-2{--tw-translate-y:-.5rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:.52s cubic-bezier(.2,0,0,1) both fade-up}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-2{gap:.5rem}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-line\/60>:not([hidden])~:not([hidden]){border-color:rgb(var(--line) / .6)}.divide-line\/70>:not([hidden])~:not([hidden]){border-color:rgb(var(--line) / .7)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-line{--tw-border-opacity:1;border-color:rgb(var(--line) / var(--tw-border-opacity,1))}.border-line\/80{border-color:rgb(var(--line) / .8)}.bg-surface\/80{background-color:rgb(var(--surface) / .8)}.bg-transparent{background-color:#0000}.p-1{padding:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-\[var\(--gutter\)\]{padding-left:var(--gutter);padding-right:var(--gutter)}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-24{padding-bottom:6rem}.text-left{text-align:left}.text-center{text-align:center}.text-justify{text-align:justify}.font-mono{font-family:var(--font-mono)}.text-\[0\.62rem\]{font-size:.62rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-accent{--tw-text-opacity:1;color:rgb(var(--accent) / var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(var(--ink) / var(--tw-text-opacity,1))}.text-ink-dim{--tw-text-opacity:1;color:rgb(var(--ink-dim) / var(--tw-text-opacity,1))}.text-ink-faint{--tw-text-opacity:1;color:rgb(var(--ink-faint) / var(--tw-text-opacity,1))}.shadow-panel{--tw-shadow:0 18px 50px #0006;--tw-shadow-colored:0 18px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.\!transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-duration:.15s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.\[-ms-overflow-style\:none\]{-ms-overflow-style:none}.\[scrollbar-width\:none\]{scrollbar-width:none}:root{--font-display:"Space Grotesk Variable", "Space Grotesk", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", ui-sans-serif, system-ui, sans-serif;--font-sans:"Inter", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--bg:244 248 247;--surface:255 255 255;--surface-2:238 243 242;--line:219 229 227;--ink:22 36 42;--ink-dim:78 95 99;--ink-faint:133 151 153;--ink-functional-muted:96 114 118;--accent:15 169 150;--accent-ink:255 255 255;--focus:7 128 116;--muted:147 160 157;--gutter:clamp(16px, 4vw, 40px);--measure:1080px;--r:12px;--theme-swap-duration:.76s;--theme-swap-ease:cubic-bezier(.22, .61, .36, 1);--cursor-mouse:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3E%3Cg%20transform='rotate(135,12,12)'%3E%3Ccircle%20cx='8'%20cy='6.5'%20r='3.3'%20fill='%23ffffff'%20stroke='%2316242a'%20stroke-width='1.5'/%3E%3Ccircle%20cx='16'%20cy='6.5'%20r='3.3'%20fill='%23ffffff'%20stroke='%2316242a'%20stroke-width='1.5'/%3E%3Cellipse%20cx='12'%20cy='15.3'%20rx='5.5'%20ry='8.2'%20fill='%23ffffff'%20stroke='%2316242a'%20stroke-width='1.5'/%3E%3Ccircle%20cx='9.3'%20cy='14.2'%20r='1'%20fill='%2316242a'/%3E%3Ccircle%20cx='14.7'%20cy='14.2'%20r='1'%20fill='%2316242a'/%3E%3Ccircle%20cx='12'%20cy='20.7'%20r='1.5'%20fill='%230fa996'/%3E%3C/g%3E%3C/svg%3E") 6 6;--cursor-mouse-active:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3E%3Cg%20transform='rotate(135,12,12)'%3E%3Ccircle%20cx='8'%20cy='6.5'%20r='3.3'%20fill='%230fa996'%20stroke='%2316242a'%20stroke-width='1.5'/%3E%3Ccircle%20cx='16'%20cy='6.5'%20r='3.3'%20fill='%230fa996'%20stroke='%2316242a'%20stroke-width='1.5'/%3E%3Cellipse%20cx='12'%20cy='15.3'%20rx='5.5'%20ry='8.2'%20fill='%230fa996'%20stroke='%2316242a'%20stroke-width='1.5'/%3E%3Ccircle%20cx='9.3'%20cy='14.2'%20r='1'%20fill='%2316242a'/%3E%3Ccircle%20cx='14.7'%20cy='14.2'%20r='1'%20fill='%2316242a'/%3E%3Ccircle%20cx='12'%20cy='20.7'%20r='1.5'%20fill='%2316242a'/%3E%3C/g%3E%3C/svg%3E") 6 6;--cursor-mouse-hover:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='26'%20height='26'%20viewBox='0%200%2026%2026'%3E%3Cg%20transform='rotate(135,13,13)'%3E%3Ccircle%20cx='9'%20cy='7'%20r='3.6'%20fill='%23ffffff'%20stroke='%230fa996'%20stroke-width='1.6'/%3E%3Ccircle%20cx='17'%20cy='7'%20r='3.6'%20fill='%23ffffff'%20stroke='%230fa996'%20stroke-width='1.6'/%3E%3Cellipse%20cx='13'%20cy='16.6'%20rx='6'%20ry='8.9'%20fill='%23ffffff'%20stroke='%230fa996'%20stroke-width='1.6'/%3E%3Ccircle%20cx='10'%20cy='15.4'%20r='1.1'%20fill='%2316242a'/%3E%3Ccircle%20cx='16'%20cy='15.4'%20r='1.1'%20fill='%2316242a'/%3E%3Ccircle%20cx='13'%20cy='22.4'%20r='1.6'%20fill='%230fa996'/%3E%3C/g%3E%3C/svg%3E") 6 6;--cursor-current:var(--cursor-mouse), auto;--cursor-current-hover:var(--cursor-mouse-hover), pointer;--cursor-current-active:var(--cursor-mouse-active), pointer}@media (width<=640px){:root{--gutter:clamp(14px, 5vw, 20px)}}[data-theme=observatory]{--bg:7 9 13;--surface:14 19 26;--surface-2:22 29 39;--line:35 44 56;--ink:231 235 242;--ink-dim:151 161 178;--ink-faint:93 103 118;--ink-functional-muted:125 139 155;--accent:39 211 179;--accent-ink:6 35 29;--focus:39 211 179}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:rgb(var(--bg));min-height:100dvh;color:rgb(var(--ink));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;cursor:var(--cursor-current);margin:0;font-size:16px;line-height:1.6}html.fo-theme-swapping *,html.fo-theme-swapping :before,html.fo-theme-swapping :after{transition-duration:var(--theme-swap-duration);transition-property:background-color,border-color,box-shadow,color,fill,outline-color,stroke,text-shadow;transition-timing-function:var(--theme-swap-ease)}html.fo-theme-swapping .site-nav-shell:before{transition-duration:var(--theme-swap-duration);transition-property:opacity;transition-delay:0s;transition-timing-function:var(--theme-swap-ease)}html.fo-theme-swapping .bm-brush-layer,html.fo-theme-swapping .bm-brush-fallback{transition-duration:var(--theme-swap-duration);transition-property:background-color,filter,opacity;transition-delay:0s;transition-timing-function:var(--theme-swap-ease)}.mouse-field-root{isolation:isolate;contain:layout paint style;transform-origin:50%;overflow:clip}.ambient-mouse-field{z-index:0}.galaxy-haze{z-index:0;pointer-events:none;background:radial-gradient(ellipse 104% 66% at 52% 17%, rgb(var(--accent) / .032), transparent 78%), radial-gradient(ellipse 76% 54% at 28% 39%, rgb(var(--ink-faint) / .041), transparent 77%), radial-gradient(ellipse 78% 56% at 77% 36%, rgb(var(--accent) / .043), transparent 77%), radial-gradient(ellipse 108% 76% at 50% 56%, rgb(var(--accent) / .034), transparent 79%), radial-gradient(ellipse 72% 48% at 56% 60%, rgb(var(--ink) / .058), transparent 76%);opacity:0;transform-origin:50% 52%;position:absolute;inset:-9%;transform:translate(-.35%,.2%)scale(1.012)}[data-theme=observatory] .mouse-field-root .galaxy-haze{opacity:var(--night-haze-opacity,.86)}.mouse-field-root canvas{z-index:1;transform-origin:50% 52%;display:block;position:relative}html.fo-route-transitioning *,html.fo-route-transitioning :before,html.fo-route-transitioning :after{transition-duration:0s!important}a,button,[role=button],summary,label,select{cursor:var(--cursor-current-hover)}input,textarea,[contenteditable=true]{cursor:text}body:active,a:active,button:active,[role=button]:active,summary:active{cursor:var(--cursor-current-active)}html.fo-caught{--cursor-current:auto;--cursor-current-hover:pointer;--cursor-current-active:pointer}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:0;font-weight:600;line-height:1.1}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid rgb(var(--focus));outline-offset:2px;border-radius:3px}input[type=search]:focus-visible,input[type=text]:focus-visible{outline:none}::selection{background:rgb(var(--accent) / .85);color:rgb(var(--accent-ink))}.fo-cat-minimized{background:rgb(var(--surface) / .92);border-color:rgb(var(--line));color:rgb(var(--ink));-webkit-backdrop-filter:blur(12px)}@media (width<=768px){.fo-cat-minimized{bottom:9.2rem;right:14px}}.cat-svg{filter:drop-shadow(0 0 2px rgb(var(--bg))) drop-shadow(0 0 2px rgb(var(--bg)));overflow:visible}@media (width<=640px){.fo-pet-mobile .cat-svg{transform-box:fill-box;transform-origin:50%;transform:scale(.78)}.fo-pet-mobile .cat-walk .cat-tail-root{animation-duration:1.25s}}.cat-body-group{transform-box:view-box;transform-origin:30px 48px}.cat-paw{transform-box:fill-box;transform-origin:50%}.cat-walk .cat-paw-a{animation:cat-paw var(--cat-step-speed,.52s) ease-in-out infinite}.cat-walk .cat-paw-b{animation:cat-paw var(--cat-step-speed,.52s) ease-in-out infinite;animation-delay:calc(var(--cat-step-speed,.52s) / -2)}@keyframes cat-paw{0%,to{transform:translateY(2.2px)}50%{transform:translateY(-2.8px)}}.cat-tail-root{transform-box:view-box;transform-origin:33px 65px;animation:2.3s ease-in-out infinite cat-tail}.cat-walk .cat-tail-root{animation-duration:.95s}@keyframes cat-tail{0%{transform:rotate(-17deg)}45%{transform:rotate(16deg)}60%{transform:rotate(21deg)}to{transform:rotate(-17deg)}}.cat-walk .cat-body-group{animation:cat-bob var(--cat-step-speed,.52s) ease-in-out infinite}@keyframes cat-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-1.6px)rotate(1deg)}}.cat-body{transform-box:fill-box;transform-origin:50% 64%}.cat-groom .cat-body-group{animation:2.8s ease-in-out infinite cat-rest}.cat-groom .cat-tail-root{animation-duration:3.9s}@keyframes cat-rest{0%,to{transform:translateY(0)scaleY(1)scaleX(1)}50%{transform:translateY(1.4px)scaleY(.92)scaleX(1.035)}}.cat-react{animation:.5s ease-in-out 2 cat-wiggle}@keyframes cat-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}.cat-tail-wag .cat-tail-root{animation:.34s ease-in-out 4 cat-feed-tail-wag}@keyframes cat-feed-tail-wag{0%,to{transform:rotate(-22deg)}50%{transform:rotate(28deg)}}.fo-heart{animation:1.2s ease-out forwards fo-heart}@keyframes fo-heart{0%{opacity:0;transform:translateY(2px)scale(.5)}25%{opacity:1}to{opacity:0;transform:translateY(-30px)scale(1)}}.fo-feed{filter:drop-shadow(0 0 2px rgb(var(--bg))) drop-shadow(0 0 2px rgb(var(--bg)));animation:1.5s ease-out forwards fo-feed;overflow:visible}@keyframes fo-feed{0%{opacity:0;transform:scale(.5)}20%,75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes fo-side-soft-fade{0%{opacity:0}to{opacity:1}}.animate-side-enter{animation:fo-side-soft-fade .82s ease-out var(--side-enter-delay,0s) backwards}html.fo-home-arrival-pending:not(.fo-home-first-arrival) .animate-side-enter{opacity:1;animation:none}html.fo-home-first-arrival .animate-side-enter{animation:fo-side-soft-fade .82s ease-out var(--side-enter-delay,0s) backwards}@keyframes fo-initial-galaxy-reveal{0%{opacity:0}to{opacity:var(--initial-galaxy-target-opacity,1)}}html.fo-initial-night-home[data-theme=observatory] .orbit-home{--brand-enter-delay:var(--initial-brand-enter-delay,1.12s);--brand-enter-y:4px;--brand-enter-scale:.994}html.fo-initial-night-home[data-theme=observatory] .animate-side-enter{animation-delay:var(--initial-night-side-enter-delay,var(--side-enter-delay,0s))}html.fo-initial-night-home[data-theme=observatory] .ambient-mouse-field .galaxy-haze{--initial-galaxy-target-opacity:var(--night-haze-opacity,.86);animation:fo-initial-galaxy-reveal var(--initial-galaxy-duration,.9s) cubic-bezier(.33, 0, .18, 1) var(--initial-galaxy-delay,40ms) both}html.fo-initial-night-home[data-theme=observatory] .ambient-mouse-field canvas{--initial-galaxy-target-opacity:1;animation:fo-initial-galaxy-reveal var(--initial-galaxy-duration,.9s) cubic-bezier(.33, 0, .18, 1) var(--initial-galaxy-delay,40ms) both}html.fo-initial-night-home[data-theme=observatory] .ambient-mouse-field .galaxy-haze,html.fo-initial-night-home[data-theme=observatory] .ambient-mouse-field canvas,html.fo-initial-night-home[data-theme=observatory] .brand-stage,html.fo-initial-night-home[data-theme=observatory] .brand-stage .brand4c,html.fo-initial-night-home[data-theme=observatory] .animate-side-enter{animation-play-state:paused}html.fo-initial-night-home.fo-initial-night-ready[data-theme=observatory] .ambient-mouse-field .galaxy-haze,html.fo-initial-night-home.fo-initial-night-ready[data-theme=observatory] .ambient-mouse-field canvas,html.fo-initial-night-home.fo-initial-night-ready[data-theme=observatory] .brand-stage,html.fo-initial-night-home.fo-initial-night-ready[data-theme=observatory] .brand-stage .brand4c,html.fo-initial-night-home.fo-initial-night-ready[data-theme=observatory] .animate-side-enter{animation-play-state:running}@keyframes fo-side-ambient-settle{0%,to{transform:translate(0,0)rotate(0)}50%{transform:translate3d(calc(var(--nav-ambient-drift) * .6), calc(var(--nav-drift-y) * .5), 0) rotate(calc(var(--nav-ambient-rotate) * .6))}}@media (prefers-reduced-motion:no-preference){.home-nav-ambient{animation-name:fo-side-ambient-settle;animation-duration:var(--nav-ambient-duration);animation-timing-function:ease-in-out;animation-delay:var(--nav-ambient-delay);animation-iteration-count:infinite;animation-fill-mode:both}html.fo-theme-swapping .home-nav-ambient{animation-play-state:paused}}@media (prefers-reduced-motion:no-preference) and (pointer:coarse){.home-nav-ambient{animation-duration:calc(var(--nav-ambient-duration) + 3.8s)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.animate-side-enter{opacity:1}.home-nav-ambient{transform:none;animation:none!important}}.hover\:border-accent:hover{--tw-border-opacity:1;border-color:rgb(var(--accent) / var(--tw-border-opacity,1))}.hover\:bg-surface-2:hover{--tw-bg-opacity:1;background-color:rgb(var(--surface-2) / var(--tw-bg-opacity,1))}.hover\:text-accent:hover{--tw-text-opacity:1;color:rgb(var(--accent) / var(--tw-text-opacity,1))}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(var(--ink) / var(--tw-text-opacity,1))}.focus\:not-sr-only:focus{clip:auto;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:left-3:focus{left:.75rem}.focus\:top-3:focus{top:.75rem}.focus\:z-50:focus{z-index:50}.focus\:rounded:focus{border-radius:.25rem}.focus\:bg-surface-2:focus{--tw-bg-opacity:1;background-color:rgb(var(--surface-2) / var(--tw-bg-opacity,1))}.focus\:px-3:focus{padding-left:.75rem;padding-right:.75rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-sm:focus{font-size:.875rem;line-height:1.25rem}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.group:hover .group-hover\:text-accent{--tw-text-opacity:1;color:rgb(var(--accent) / var(--tw-text-opacity,1))}.group:focus-visible .group-focus-visible\:bg-accent\/10{background-color:rgb(var(--accent) / .1)}.group:focus-visible .group-focus-visible\:text-accent{--tw-text-opacity:1;color:rgb(var(--accent) / var(--tw-text-opacity,1))}@media (width>=640px){.sm\:inline{display:inline}.sm\:gap-1{gap:.25rem}.sm\:gap-4{gap:1rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (width>=1024px){.lg\:w-64{width:16rem}.lg\:w-auto{width:auto}.lg\:shrink-0{flex-shrink:0}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}}.nav-pill[data-astro-cid-cyu66gmh]{--nav-hit-overhang:9.5px;min-height:44px;margin-block:calc(-1 * var(--nav-hit-overhang));padding:calc(6px + var(--nav-hit-overhang)) 10px;color:rgb(var(--ink-dim));border-radius:6px;align-items:baseline;gap:.35em;font-family:Playwrite AU TAS,cursive;font-size:.82rem;font-weight:400;line-height:1;text-decoration:none;transition:color .15s;display:inline-flex;position:relative}.nav-pill__indicator[data-astro-cid-cyu66gmh]{bottom:var(--nav-hit-overhang);background:rgb(var(--focus));transform-origin:0;border-radius:1px;height:2px;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;left:10px;right:10px;transform:scaleX(0)}.nav-pill[data-astro-cid-cyu66gmh]:hover,.nav-pill[data-astro-cid-cyu66gmh][aria-current=page]{color:rgb(var(--ink))}.nav-pill[data-astro-cid-cyu66gmh]:hover .nav-pill__indicator[data-astro-cid-cyu66gmh],.nav-pill[data-astro-cid-cyu66gmh][aria-current=page] .nav-pill__indicator[data-astro-cid-cyu66gmh]{transform:scaleX(1)}.nav-pill__code[data-astro-cid-cyu66gmh]{font-family:var(--font-mono);color:rgb(var(--ink-functional-muted));font-size:.75rem;transition:color .15s}.nav-pill[data-astro-cid-cyu66gmh]:hover .nav-pill__code[data-astro-cid-cyu66gmh],.nav-pill[data-astro-cid-cyu66gmh][aria-current=page] .nav-pill__code[data-astro-cid-cyu66gmh]{color:rgb(var(--focus))}.nav-home[data-astro-cid-cyu66gmh]{--nav-hit-overhang:9.5px;color:rgb(var(--ink-dim));min-height:44px;margin-block:calc(-1 * var(--nav-hit-overhang));padding:calc(6px + var(--nav-hit-overhang)) 10px;border-radius:6px;align-items:baseline;gap:.35em;font-family:Playwrite AU TAS,cursive;font-size:.82rem;font-weight:400;transition:color .15s;display:inline-flex;position:relative}.nav-home__indicator[data-astro-cid-cyu66gmh]{bottom:var(--nav-hit-overhang);background:rgb(var(--focus));transform-origin:0;border-radius:1px;height:2px;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;left:10px;right:10px;transform:scaleX(0)}.nav-home[data-astro-cid-cyu66gmh]:hover{color:rgb(var(--ink))}.nav-home[data-astro-cid-cyu66gmh]:hover .nav-home__indicator[data-astro-cid-cyu66gmh]{transform:scaleX(1)}.nav-handle[data-astro-cid-cyu66gmh]{font-family:var(--font-mono);color:rgb(var(--accent));font-size:.75rem}.site-nav-scroll[data-astro-cid-cyu66gmh]::-webkit-scrollbar{display:none}.site-nav-shell[data-astro-cid-cyu66gmh]{isolation:isolate;background-color:#07090d}.site-nav-shell[data-astro-cid-cyu66gmh]:before{content:"";z-index:0;pointer-events:none;opacity:1;transition:opacity var(--theme-swap-duration) var(--theme-swap-ease);background-color:#f4f8f7;position:absolute;inset:0}[data-theme=observatory] .site-nav-shell[data-astro-cid-cyu66gmh]:before{opacity:0}.site-nav-scroll[data-astro-cid-cyu66gmh]{z-index:1;position:relative}@media (width<=640px){.nav-pill[data-astro-cid-cyu66gmh],.nav-home[data-astro-cid-cyu66gmh]{--nav-hit-overhang:9px;padding:calc(7px + var(--nav-hit-overhang)) 8px;white-space:nowrap;flex:none;font-size:.74rem}.nav-handle[data-astro-cid-cyu66gmh]{font-size:.75rem}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
