.footer-meta{width:100%}.footer-meta-line{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .65rem;font-size:clamp(.72rem,.65vw + .42rem,.88rem);line-height:1.3;color:var(--line-soft);text-align:center}.footer-meta-link{color:inherit;text-decoration:none;display:inline-block;position:relative;z-index:0;transform-origin:center;transition:color .22s ease,transform .18s ease}.footer-meta-link--copyright{width:100%}.footer-meta-group{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:.45rem;width:100%}.footer-meta-separator--primary{display:none}@media(hover:hover){.footer-meta-link:hover{color:var(--line);transform:scale(1.04)}}.footer-meta-link:focus-visible{outline:none;color:var(--line);transform:scale(1.04)}@media(min-width:56.25rem){.footer-meta-line{align-items:flex-end;justify-content:flex-start;text-align:left}.footer-meta-link,.footer-meta-group{width:auto}.footer-meta-separator--primary{display:inline}}@media(prefers-reduced-motion:reduce){.footer-meta-link{transition:none}.footer-meta-link:hover,.footer-meta-link:focus-visible{transform:none}}.signature-wrap{--signature-svg-max: clamp(5.2rem, 4.2rem + 3.4vw, 8.4rem);width:100%;color:var(--line, #101010);text-decoration:none;min-height:0;display:flex;align-items:flex-end}.signature-mark{display:inline-block;width:min(var(--signature-svg-max),100%)}.signature-wrap svg{display:block;width:100%;height:auto;will-change:clip-path}.signature-mark svg,.signature-mark svg *{fill:currentColor!important;stroke:currentColor!important}@media(hover:hover){.signature-wrap:hover .signature-mark svg{animation:signature-write 1.45s cubic-bezier(.16,1,.3,1) both}.signature-wrap:hover .signature-mark path{stroke-opacity:0}}.signature-wrap:focus-visible{outline:none}.signature-wrap:focus-visible .signature-mark svg{animation:signature-write 1.45s cubic-bezier(.16,1,.3,1) both}.signature-wrap:focus-visible .signature-mark path{stroke-opacity:0}@keyframes signature-write{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@media(min-width:48rem){.signature-wrap{--signature-svg-max: min(clamp(6.2rem, 5.5rem + 2vw, 9rem), 100%)}}@media(prefers-reduced-motion:reduce){.signature-wrap:hover .signature-mark svg,.signature-wrap:focus-visible .signature-mark svg{animation:none}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--route-transition-exit-duration: .18s;--route-transition-enter-duration: .28s;--route-transition-enter-delay: 0ms;--route-transition-ease: cubic-bezier(.33, 1, .68, 1)}::view-transition-group(*){animation-duration:var(--route-transition-enter-duration);animation-timing-function:var(--route-transition-ease)}::view-transition-old(*),::view-transition-new(*){mix-blend-mode:normal;transform-origin:center center}::view-transition-old(*){animation:route-soft-out var(--route-transition-exit-duration) var(--route-transition-ease) both}::view-transition-new(*){animation:route-soft-in var(--route-transition-enter-duration) var(--route-transition-ease) var(--route-transition-enter-delay) both}html[data-astro-transition=back]::view-transition-old(*){animation-name:route-soft-out}html[data-astro-transition=back]::view-transition-new(*){animation-name:route-soft-in}::view-transition-old(site-header),::view-transition-old(site-footer){animation:route-chrome-out .18s var(--route-transition-ease) both}::view-transition-new(site-header),::view-transition-new(site-footer){animation:route-chrome-in .28s var(--route-transition-ease) both}::view-transition-old(primary-panel),::view-transition-old(secondary-panel){animation:route-panel-out .18s var(--route-transition-ease) both}::view-transition-new(primary-panel),::view-transition-new(secondary-panel){animation:route-panel-in .3s var(--route-transition-ease) both}html[data-astro-transition-fallback=old] body{animation:route-transition-fallback-out var(--route-transition-exit-duration) var(--route-transition-ease) both}html[data-astro-transition-fallback=new] body{animation:route-transition-fallback-in var(--route-transition-enter-duration) var(--route-transition-ease) var(--route-transition-enter-delay) both}@keyframes route-soft-out{0%{opacity:1;transform:scale(1)}72%{opacity:0;transform:scale(.998)}to{opacity:0;transform:scale(.998)}}@keyframes route-soft-in{0%{opacity:.001;transform:scale(.994)}28%{opacity:.18;transform:scale(.996)}to{opacity:1;transform:scale(1)}}@keyframes route-chrome-out{0%{opacity:1;transform:scale(1)}72%{opacity:0;transform:scale(.998)}to{opacity:0;transform:scale(.998)}}@keyframes route-chrome-in{0%{opacity:.001;transform:scale(.996)}to{opacity:1;transform:scale(1)}}@keyframes route-panel-out{0%{opacity:1;transform:scale(1)}72%{opacity:0;transform:scale(.996)}to{opacity:0;transform:scale(.996)}}@keyframes route-panel-in{0%{opacity:.001;transform:scale(.992)}26%{opacity:.16;transform:scale(.995)}to{opacity:1;transform:scale(1)}}@keyframes route-transition-fallback-out{0%{opacity:1;transform:scale(1)}72%{opacity:0;transform:scale(.998)}to{opacity:0;transform:scale(.998)}}@keyframes route-transition-fallback-in{0%{opacity:.001;transform:scale(.994)}28%{opacity:.18;transform:scale(.996)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}html[data-astro-transition-fallback=old] body,html[data-astro-transition-fallback=new] body{animation:none!important}}.snow-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background-color:#fff;--fg: #7d7d7d;--snow-strength: 36%;--snow-ink: color-mix( in srgb, var(--fg) var(--snow-strength, 24%), transparent )}.snow-bg:before{content:"";position:absolute;inset:-12%;background-image:radial-gradient(circle at 6% 14%,var(--snow-ink) 0 .0813rem,transparent .1625rem),radial-gradient(circle at 18% 62%,var(--snow-ink) 0 .1125rem,transparent .2063rem),radial-gradient(circle at 27% 28%,var(--snow-ink) 0 .0813rem,transparent .1625rem),radial-gradient(circle at 33% 80%,var(--snow-ink) 0 .1438rem,transparent .2438rem),radial-gradient(circle at 41% 18%,var(--snow-ink) 0 .0938rem,transparent .1938rem),radial-gradient(circle at 49% 55%,var(--snow-ink) 0 .0813rem,transparent .1625rem),radial-gradient(circle at 57% 32%,var(--snow-ink) 0 .125rem,transparent .225rem),radial-gradient(circle at 63% 74%,var(--snow-ink) 0 .0813rem,transparent .1625rem),radial-gradient(circle at 71% 12%,var(--snow-ink) 0 .175rem,transparent .2938rem),radial-gradient(circle at 78% 46%,var(--snow-ink) 0 .0938rem,transparent .1938rem),radial-gradient(circle at 86% 83%,var(--snow-ink) 0 .0813rem,transparent .1625rem),radial-gradient(circle at 92% 24%,var(--snow-ink) 0 .1375rem,transparent .2438rem);background-size:56.25rem 40.625rem;transform:translateZ(0)}.snow-bg[data-animated=true]:before{animation:snow-drift-transform 22s linear infinite;will-change:transform}:root[data-theme=light] .snow-bg{background-color:#fff;--fg: #7d7d7d;--snow-strength: 36%}.snow-bg[data-mode=dark],:root[data-theme=dark] .snow-bg{background-color:#000;--fg: #ffffff;--snow-strength: 24%}@keyframes snow-drift-transform{0%{transform:translateZ(0)}to{transform:translate3d(7.5rem,18.75rem,0)}}@media(prefers-reduced-motion:reduce){.snow-bg:before{animation:none}}:root{--fg: #7d7d7d;--muted: #7d7d7d}.constellation-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background-color:#fff}.constellation-bg__canvas{width:100%;height:100%;display:block;opacity:.9}:root[data-theme=dark]{--fg: #ffffff;--muted: #ffffff}:root[data-theme=dark] .constellation-bg{background-color:#000}@media(prefers-reduced-motion:reduce){.constellation-bg__canvas{opacity:.7}}.coderain{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;--rain: rgba(0, 0, 0, 1);--rain-alpha-boost: 0;background-color:#fff}html[data-theme=dark] .coderain,:root[data-theme=dark] .coderain{--rain: rgba(255, 255, 255, 1);--rain-alpha-boost: .09;background-color:#000}.coderain__drop{position:absolute;top:-20%;color:var(--rain);opacity:calc(var(--alpha) + var(--rain-alpha-boost));font-family:var( --mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace );white-space:nowrap;animation:rain var(--dur) linear infinite;animation-delay:var(--delay);will-change:transform}.coderain__drop.is-bright{opacity:.14}@keyframes rain{to{transform:translateY(125vh)}}@media(prefers-reduced-motion:reduce){.coderain__drop{animation:none;display:none}}.floating-action-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:clamp(2.9rem,3.1vw,3.6rem);height:clamp(2.9rem,3.1vw,3.6rem);padding:0;border:1px solid color-mix(in srgb,var(--line) 16%,transparent);border-radius:999px;background:color-mix(in srgb,white 76%,transparent);color:var(--line);box-shadow:0 .75rem 2rem color-mix(in srgb,var(--line) 12%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer;transition:color .22s ease}.floating-action-button-icon,.floating-action-button-icon svg{display:inline-flex;width:1.1rem;height:1.1rem}.floating-action-button-text{font-size:.9rem;font-weight:600;line-height:1}.floating-action-button[hidden]{display:none!important}:root[data-theme=dark] .floating-action-button{border-color:#ffffff1f;background:#14161ee0;color:#f5f5f5f5;box-shadow:0 .75rem 2rem #00000047}@font-face{font-family:Biotif;src:url(/fonts/Biotif-Regular.woff2) format("woff2"),url(/fonts/Biotif-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Biotif;src:url(/fonts/Biotif-Medium.woff2) format("woff2"),url(/fonts/Biotif-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Biotif;src:url(/fonts/Biotif-SemiBold.woff2) format("woff2"),url(/fonts/Biotif-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Biotif;src:url(/fonts/Biotif-Bold.woff2) format("woff2"),url(/fonts/Biotif-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--line: #111111;--line-soft: rgba(17, 17, 17, .88);--accent: var(--line);--border-soft: color-mix(in srgb, var(--line) 14%, transparent);--text-muted: color-mix(in srgb, var(--line) 68%, transparent);--radius-md: 1rem;--font-size-base: clamp(.9375rem, 1.35vw, 1.8rem);--shell-max: min(92vw, 112.5rem);--space: clamp(.1rem, .2vw, 1.25rem);--header-main-gap: clamp(1.25rem, 1.4vw, 2.75rem);--footer-height: clamp(.5rem, 1vh, 1rem);--main-col-1-min: 7.5rem;--main-col-1-size: clamp(7.5rem, 8.5vw, 10.5rem);--main-col-2-min: 7.5rem;--main-col-3-min: 7.5rem;--main-col-1-fr: .5fr;--main-col-2-fr: 2.5fr;--main-col-3-fr: 3.5fr;--main-col-gap: .2rem;--nav-flyout-min: clamp(10.5rem, 18vw, 14rem);--menu-trigger-width: clamp(2.4rem, 2.8vw, 3rem);--menu-trigger-height: clamp(2rem, 2.2vw, 2.5rem);--menu-icon-size: clamp(1.3rem, 1.7vw, 2rem);--icon-btn-size: clamp(2.25rem, 3vw, 3.75rem);--icon-size: clamp(1.4rem, 2vw, 2.25rem);--signature-link-size: clamp(1rem, 1.4vw, 1.45rem);--layout-sticky-top: max( clamp(.35rem, 1vw, .75rem), env(safe-area-inset-top) );--layout-sticky-main-top: clamp(4.4rem, 8vw, 6.4rem)}:root[data-theme=dark]{--line: #f5f5f5;--line-soft: rgba(245, 245, 245, .9)}*{box-sizing:border-box}html{font-size:var(--font-size-base);overflow-x:clip;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior-y:none;background-color:#fff;color-scheme:light}:root[data-theme=dark]{background-color:#000;color-scheme:dark}body{margin:0;min-height:100dvh;background-color:inherit;color:var(--line);line-height:1.5;font-family:Biotif,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;overflow-x:clip;overflow-y:visible}.content-page-body{font-size:inherit;height:auto;padding:clamp(.85rem,1.8vw,1.4rem);overflow:visible}.content-page-body h1,.listing-header-title,.collection-page-title,.article-content-title{color:transparent;-webkit-text-stroke:1px var(--line);text-stroke:1px var(--line)}.content-page-body h1{margin:0 0 1rem;font-size:clamp(2rem,1.8rem + 1vw,3.5rem);font-weight:500;line-height:1.1}.content-page-body h2,.content-page-body h3,.content-page-body p,.content-page-body li{color:var(--line)}.content-page-body a{color:color-mix(in srgb,var(--accent) 82%,var(--line) 18%);text-decoration-line:underline;text-decoration-thickness:.08em;text-underline-offset:.16em}.content-toc{width:100%;position:relative;height:auto;padding:clamp(.85rem,1.8vw,1.4rem);padding-right:clamp(1.35rem,1.1rem + .8vw,1.95rem);display:flex;flex-direction:column;gap:.9rem;overflow:visible}.content-toc-list{list-style:none;margin:0;padding:0 0 0 .9rem;display:flex;flex-direction:column;gap:.65rem}.content-toc-title{margin:0;color:var(--line);font-size:clamp(20.5px,18.6px + .68vw,29.5px);font-weight:400;line-height:1.15}.content-toc a,.content-toc-link{display:block;max-width:100%;min-width:0;overflow:hidden;color:color-mix(in srgb,var(--line) 58%,transparent);text-overflow:ellipsis;text-decoration:none;white-space:nowrap}.content-page-body{--content-image-max-width: min(100%, 24rem);--content-image-max-height: min(56vh, 24rem);--content-image-radius: clamp(.75rem, .6rem + .5vw, 1rem);--content-body-font-size: inherit;--content-body-line-height: 1.8;--content-code-font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--content-code-font-size: clamp(12.5px, 12.15px + .18vw, 13.5px);--content-code-line-height: 1.55;--content-code-padding-block: clamp(10px, 9.5px + .2vw, 12px);--content-code-padding-inline: clamp(12px, 11px + .45vw, 16px);--content-code-radius: clamp(12px, 11px + .35vw, 16px);font-size:var(--content-body-font-size);height:auto;padding:clamp(.85rem,1.8vw,1.4rem);overflow:visible}.content-page--article .content-page-body{--content-body-font-size: clamp(15px, 14.2px + .18vw, 16.5px);--content-body-line-height: 1.78}.content-page--article .content-page-body>p{text-indent:2em}.content-page--article .content-page-body>p:has(>img+img){text-indent:0;display:flex;flex-direction:column;align-items:center;gap:clamp(1.15rem,1rem + .55vw,1.75rem)}.content-page-body h1{margin:0 0 1rem;font-size:clamp(2rem,1.8rem + 1vw,3.5rem);font-weight:500;line-height:1.1;color:transparent;-webkit-text-stroke:1.15px var(--line);text-stroke:1.15px var(--line)}.content-page-body h2,.content-page-body h3{color:var(--line);font-weight:400;scroll-margin-top:1rem}.content-page-body h4,.content-page-body h5,.content-page-body h6{font-weight:400}.content-page-body p,.content-page-body li{color:var(--line);font-size:var(--content-body-font-size);line-height:var(--content-body-line-height)}.content-page-body :is(strong,b){color:inherit;font-weight:600}.content-page-body :is(blockquote,figcaption){font-size:var(--content-body-font-size);line-height:var(--content-body-line-height)}.content-page-body .content-image-figure{display:flex;flex-direction:column;align-items:center;gap:0;margin-bottom:clamp(1.15rem,1rem + .55vw,1.75rem)}.content-page-body .content-image-figure img{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}@media(hover:hover){.content-page-body .content-image-figure img:hover{transform:translateY(-.06rem) scale(1.01);box-shadow:0 1.15rem 2.6rem color-mix(in srgb,var(--line) 13%,transparent)}}@media(prefers-reduced-motion:reduce){.content-page-body .content-image-figure img{transition:none}.content-page-body .content-image-figure img:hover{transform:none}}.content-page-body .content-image-caption{width:min(100%,var(--content-image-max-width));margin-top:.9rem;padding-top:.7rem;border-top:1px solid color-mix(in srgb,var(--line) 18%,transparent);color:color-mix(in srgb,var(--line) 66%,transparent);font-size:clamp(.78rem,.75rem + .1vw,.9rem);line-height:1.65;text-align:center;text-indent:0}.content-page-body .content-repo-card{width:min(100%,32rem);margin:0 auto 1rem;padding:clamp(.75rem,.68rem + .32vw,1rem);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(.85rem,.75rem + .38vw,1.1rem);color:var(--line);background:color-mix(in srgb,var(--line) 2.5%,transparent);box-shadow:none;text-decoration:none;text-indent:0;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.content-page-body .content-repo-card-body{min-width:0;align-self:start;display:flex;flex-direction:column;gap:.48rem}.content-page-body .content-repo-card-header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.content-page-body .content-repo-card-title{max-width:100%;min-width:0;flex:1 1 auto;overflow:hidden;display:inline-flex;align-items:center;gap:.64rem;color:var(--line);font-size:clamp(.98rem,.94rem + .18vw,1.08rem);font-weight:600;line-height:1.28;white-space:nowrap}.content-page-body .content-repo-card-title-icon{width:1em;height:1em;flex:0 0 auto}.content-page-body .content-repo-card-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.content-page-body .content-repo-card-description{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:color-mix(in srgb,var(--line) 74%,transparent);font-size:clamp(.78rem,.74rem + .12vw,.86rem);line-height:1.45;white-space:normal}.content-page-body .content-repo-card-description:empty{display:none}.content-page-body .content-repo-card-side{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:.42rem}.content-page-body .content-repo-card-avatar{width:clamp(2.6rem,2.45rem + .65vw,3rem);height:clamp(2.6rem,2.45rem + .65vw,3rem);border:1px solid var(--border-soft);border-radius:999px;display:block;object-fit:cover}.content-page-body .content-repo-card-stars{display:inline-flex;flex:0 0 auto;align-items:center;gap:.22rem;color:color-mix(in srgb,var(--line) 78%,transparent);font-family:var(--content-code-font-family);font-size:clamp(.72rem,.69rem + .1vw,.78rem);line-height:1;white-space:nowrap}.content-page-body .content-repo-card-star-icon{width:.92em;height:.92em;flex:0 0 auto;color:#e4b342;fill:currentColor}.content-page-body .content-repo-card-stars[hidden]{display:none}html:lang(zh-CN) .content-page-body{--content-body-font-size: inherit}html:lang(zh-CN) .content-page--article .content-page-body{--content-body-font-size: clamp(14.8px, 14.1px + .18vw, 16px);--content-body-line-height: 1.76}.content-page-body a{color:color-mix(in srgb,var(--accent) 82%,var(--line) 18%);text-decoration-line:underline;text-decoration-thickness:.08em;text-underline-offset:.16em;transition:color .2s ease}@media(hover:hover){.content-page-body .content-repo-card:hover{border-color:color-mix(in srgb,var(--line) 28%,transparent);background:color-mix(in srgb,var(--line) 4.5%,transparent);transform:translateY(-.08rem)}}.content-page-body .content-repo-card:focus-visible{outline:none;border-color:color-mix(in srgb,var(--line) 34%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--line) 12%,transparent)}.content-page-body h1,.content-page-body h2,.content-page-body h3,.content-page-body h4,.content-page-body h5,.content-page-body h6,.content-page-body p,.content-page-body ul,.content-page-body ol,.content-page-body blockquote,.content-page-body pre,.content-page-body table,.content-page-body hr,.content-page-body figure{margin-top:0}.content-page-body h1{margin-bottom:1rem}.content-page--article .content-page-body :is(h1,h2,h3,h4,h5){color:var(--line);-webkit-text-stroke:0;text-stroke:0;scroll-margin-top:1rem}.content-page--article .content-page-body h1{font-size:clamp(1.76rem,1.63rem + .42vw,2.15rem);font-weight:600;line-height:1.18}.content-page--article .content-page-body h2{font-size:clamp(1.5rem,1.4rem + .3vw,1.78rem);font-weight:600;line-height:1.24}.content-page--article .content-page-body h3{font-size:clamp(1.28rem,1.21rem + .22vw,1.48rem);font-weight:550;line-height:1.3}.content-page--article .content-page-body h4{font-size:clamp(1.12rem,1.07rem + .16vw,1.28rem);font-weight:550;line-height:1.32}.content-page--article .content-page-body h5{font-size:clamp(1rem,.97rem + .1vw,1.12rem);font-weight:550;line-height:1.34}.content-page--article .content-page-body h6{color:var(--line);-webkit-text-stroke:0;text-stroke:0;font-weight:500;font-size:clamp(.94rem,.91rem + .1vw,1.04rem);line-height:1.36;scroll-margin-top:1rem}.content-page-body h2{margin-bottom:.9rem}.content-page-body h3,.content-page-body h4,.content-page-body h5,.content-page-body h6{margin-bottom:.8rem}.content-page-body p,.content-page-body ul,.content-page-body ol,.content-page-body blockquote,.content-page-body pre,.content-page-body table,.content-page-body figure{margin-bottom:1rem}.content-page-body hr{margin-bottom:1.15rem}.content-page-body ul,.content-page-body ol{padding-left:1.4rem}.content-page-body li{margin-top:0;margin-bottom:.28rem}.content-page-body li:last-child{margin-bottom:0}.content-page-body img{max-width:100%;height:auto}.content-page-body :is(p>a:only-child:has(>img),p>a:only-child:has(>picture)){display:block;line-height:0}.content-page-body :is(p:has(>img+img)>img,p>img:only-child,p>a:only-child>img,p>picture:only-child>img,p>a:only-child>picture>img,figure>img,figure>a>img,figure>picture>img,figure>a>picture>img){display:block;width:auto;max-width:var(--content-image-max-width);max-height:var(--content-image-max-height);margin-inline:auto;border-radius:var(--content-image-radius);box-shadow:0 1rem 2.4rem color-mix(in srgb,var(--line) 10%,transparent);object-fit:contain}.content-page-body :is(p>picture:only-child,p>a:only-child>picture,figure>picture){display:block;max-width:var(--content-image-max-width);margin-inline:auto}.content-page-body :is(p>picture:only-child,p>a:only-child>picture,figure>picture)>img{display:block;width:auto;max-width:100%;max-height:var(--content-image-max-height);margin-inline:auto;border-radius:var(--content-image-radius);box-shadow:0 1rem 2.4rem color-mix(in srgb,var(--line) 10%,transparent);object-fit:contain}.content-image-lightbox{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem)}.content-image-lightbox[hidden]{display:none}.content-image-lightbox-backdrop{position:absolute;inset:0;border:0;padding:0;background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer}.content-image-lightbox-frame{position:relative;z-index:1;max-width:min(92vw,76rem);max-height:88vh;margin:0;display:flex;flex-direction:column;align-items:center;gap:.7rem;opacity:0;transform:scale(.985);transition:opacity .18s ease,transform .18s ease}.content-image-lightbox[data-lightbox-state=open] .content-image-lightbox-frame{opacity:1;transform:scale(1)}.content-image-lightbox-image{display:block;max-width:min(92vw,76rem);max-height:82vh;border-radius:var(--content-image-radius);box-shadow:0 1.2rem 3rem color-mix(in srgb,var(--line) 18%,transparent);object-fit:contain}.content-image-lightbox-caption{max-width:min(92vw,56rem);color:color-mix(in srgb,var(--line) 68%,transparent);font-size:clamp(.78rem,.75rem + .1vw,.9rem);line-height:1.55;text-align:center}.content-image-lightbox-close{position:absolute;top:-.7rem;right:-.7rem;width:2rem;height:2rem;border:1px solid var(--border-soft);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:var(--paper);color:var(--line);cursor:pointer}.content-image-lightbox-close span,.content-image-lightbox-close span:before,.content-image-lightbox-close span:after{display:block}.content-image-lightbox-close span{position:relative;width:.78rem;height:.78rem}.content-image-lightbox-close span:before,.content-image-lightbox-close span:after{position:absolute;top:50%;left:0;width:100%;height:1.5px;background:currentColor;content:""}.content-image-lightbox-close span:before{transform:rotate(45deg)}.content-image-lightbox-close span:after{transform:rotate(-45deg)}html.content-image-lightbox-open{overflow:hidden}.content-page-body pre{position:relative;max-width:100%;padding:var(--content-code-padding-block) var(--content-code-padding-inline);overflow-x:auto;overflow-y:hidden;border-radius:var(--content-code-radius);font-family:var(--content-code-font-family);font-size:var(--content-code-font-size);line-height:var(--content-code-line-height);letter-spacing:-.01em;box-shadow:0 1rem 2rem color-mix(in srgb,var(--line) 10%,transparent);-webkit-overflow-scrolling:touch}.content-page-body pre:has(.content-code-copy){padding-top:calc(var(--content-code-padding-block) + 1.45rem)}.content-page-body pre code{display:block;min-width:max-content;font-family:inherit;font-size:inherit;line-height:inherit}.content-code-copy{position:absolute;top:.55rem;right:.55rem;width:1.7rem;height:1.7rem;padding:0;border:1px solid color-mix(in srgb,var(--line) 16%,transparent);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--line) 72%,transparent);background:color-mix(in srgb,var(--line) 4%,transparent);cursor:pointer}.content-code-copy svg{width:.88rem;height:.88rem;stroke-width:2}.content-code-copy:focus-visible{outline:2px solid color-mix(in srgb,var(--line) 28%,transparent);outline-offset:.12rem}@media(hover:hover){.content-code-copy:hover{color:var(--line);background:color-mix(in srgb,var(--line) 7%,transparent)}}.content-page-body :not(pre)>code{padding:.14em .38em;border-radius:.42rem;font-family:var(--content-code-font-family);font-size:.88em;line-height:1.45;background:color-mix(in srgb,var(--line) 8%,transparent)}@media(min-width:56.25rem){.content-page-body{--content-image-max-width: min(100%, 36rem);--content-image-max-height: min(64vh, 32rem);--content-code-font-size: clamp(13px, 12.75px + .12vw, 14px);--content-code-padding-block: clamp(11px, 10.5px + .2vw, 13px);--content-code-padding-inline: clamp(14px, 13px + .35vw, 18px)}}.content-toc{--content-toc-title-size: clamp(20.5px, 18.6px + .68vw, 29.5px);--content-toc-link-depth-1-size: clamp(15.5px, 14.7px + .28vw, 18.2px);--content-toc-link-depth-2-size: clamp(14.1px, 13.5px + .2vw, 15.8px);--content-toc-link-depth-3-size: clamp(13.1px, 12.7px + .16vw, 14.6px);--content-toc-link-depth-4-size: clamp(12.5px, 12.2px + .12vw, 13.8px);--content-toc-link-depth-5-size: clamp(12px, 11.8px + .1vw, 13px);--content-toc-link-depth-6-size: clamp(11.6px, 11.4px + .08vw, 12.5px);--content-toc-link-depth-1-size-en: clamp(16px, 15.2px + .28vw, 18.4px);--content-toc-link-depth-2-size-en: clamp(14.4px, 13.9px + .2vw, 16px);--content-toc-link-depth-3-size-en: clamp(13.5px, 13.1px + .16vw, 14.8px);--content-toc-link-depth-4-size-en: clamp(12.9px, 12.6px + .12vw, 14px);--content-toc-link-depth-5-size-en: clamp(12.4px, 12.2px + .1vw, 13.4px);--content-toc-link-depth-6-size-en: clamp(12px, 11.8px + .08vw, 12.9px);--content-toc-mobile-title-size: clamp(15px, 14.5px + .2vw, 16.5px);width:100%;position:relative;height:auto;padding:clamp(.85rem,1.8vw,1.4rem);padding-right:clamp(1.35rem,1.1rem + .8vw,1.95rem);display:flex;flex-direction:column;gap:.9rem;overflow:visible;scroll-behavior:smooth}html:lang(zh-CN) .content-toc{--content-toc-title-size: clamp(18px, 17.2px + .34vw, 22.8px);--content-toc-link-depth-1-size: clamp(14.4px, 13.9px + .18vw, 16px);--content-toc-link-depth-2-size: clamp(13.4px, 13px + .14vw, 14.8px);--content-toc-link-depth-3-size: clamp(12.6px, 12.3px + .12vw, 13.8px);--content-toc-link-depth-4-size: clamp(12.1px, 11.9px + .1vw, 13px);--content-toc-link-depth-5-size: clamp(11.8px, 11.6px + .08vw, 12.5px);--content-toc-link-depth-6-size: clamp(11.5px, 11.3px + .06vw, 12px);--content-toc-link-depth-1-size-en: clamp(15.9px, 15.4px + .18vw, 17.4px);--content-toc-link-depth-2-size-en: clamp(14.2px, 13.85px + .14vw, 15.2px);--content-toc-link-depth-3-size-en: clamp(13.4px, 13.1px + .12vw, 14.4px);--content-toc-link-depth-4-size-en: clamp(12.9px, 12.7px + .1vw, 13.6px);--content-toc-link-depth-5-size-en: clamp(12.5px, 12.3px + .08vw, 13px);--content-toc-link-depth-6-size-en: clamp(12.2px, 12px + .06vw, 12.6px);--content-toc-mobile-title-size: clamp(14.5px, 14.2px + .12vw, 15.4px)}.content-toc-list{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column;gap:.65rem;min-height:0;padding-left:.9rem}.content-toc a{color:color-mix(in srgb,var(--line) 58%,transparent);text-decoration:none}@media(min-width:56.25rem){.content-toc{--content-toc-title-size: clamp(21.8px, 18px + .82vw, 34px);--content-toc-link-depth-1-size: clamp(15.9px, 14.2px + .9vw, 22.4px);--content-toc-link-depth-2-size: clamp(15.2px, 13.8px + .78vw, 20.8px);--content-toc-link-depth-3-size: clamp(14.4px, 13.3px + .58vw, 18.4px);--content-toc-link-depth-4-size: clamp(13.4px, 12.8px + .38vw, 16.2px);--content-toc-link-depth-5-size: clamp(12.8px, 12.4px + .24vw, 14.8px);--content-toc-link-depth-6-size: clamp(12.2px, 12px + .18vw, 13.8px);--content-toc-link-depth-1-size-en: clamp(16.1px, 14.4px + .92vw, 22.6px);--content-toc-link-depth-2-size-en: clamp(15.3px, 13.95px + .8vw, 21px);--content-toc-link-depth-3-size-en: clamp(14.5px, 13.45px + .58vw, 18.6px);--content-toc-link-depth-4-size-en: clamp(13.6px, 13px + .38vw, 16.4px);--content-toc-link-depth-5-size-en: clamp(13px, 12.6px + .24vw, 15px);--content-toc-link-depth-6-size-en: clamp(12.5px, 12.2px + .18vw, 14px);position:sticky;top:var(--layout-sticky-main-top);max-height:calc(100dvh - var(--layout-sticky-main-top) - var(--space));min-width:0;overflow-x:hidden;overflow-y:hidden}.content-toc-list{flex:1;min-width:0;max-width:100%;overflow-x:hidden;overflow-y:auto;padding-right:.3rem}}@media(min-width:56.25rem){html:lang(zh-CN) .content-toc{--content-toc-title-size: clamp(18.5px, 17px + .44vw, 24.5px);--content-toc-link-depth-1-size: clamp(14.5px, 13.7px + .34vw, 16.8px);--content-toc-link-depth-2-size: clamp(13.5px, 12.9px + .28vw, 15.3px);--content-toc-link-depth-3-size: clamp(12.7px, 12.25px + .22vw, 14.1px);--content-toc-link-depth-4-size: clamp(12.2px, 11.95px + .16vw, 13.2px);--content-toc-link-depth-5-size: clamp(11.8px, 11.6px + .12vw, 12.6px);--content-toc-link-depth-6-size: clamp(11.5px, 11.35px + .08vw, 12.1px);--content-toc-link-depth-1-size-en: clamp(16px, 14.5px + .82vw, 21.4px);--content-toc-link-depth-2-size-en: clamp(15.2px, 14.05px + .68vw, 20px);--content-toc-link-depth-3-size-en: clamp(14.4px, 13.45px + .5vw, 17.8px);--content-toc-link-depth-4-size-en: clamp(13.5px, 12.9px + .34vw, 16px);--content-toc-link-depth-5-size-en: clamp(12.9px, 12.5px + .2vw, 14.5px);--content-toc-link-depth-6-size-en: clamp(12.4px, 12.15px + .14vw, 13.5px)}}.content-toc-title{margin:0;font-size:var(--content-toc-title-size);font-weight:400;line-height:1.15}html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=ready] .content-toc-title,html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=ready] .content-toc-empty,html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=ready] .content-toc-progress,html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=ready] .content-toc-scrollbar{opacity:0;transform:translate(1rem)}.content-toc-item--depth-1{padding-left:0}.content-toc-item--depth-2{padding-left:.8rem}.content-toc-item--depth-3{padding-left:1.6rem}.content-toc-item--depth-4{padding-left:2.4rem}.content-toc-item--depth-5{padding-left:3.2rem}.content-toc-item--depth-6{padding-left:4rem}html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=ready] .content-toc-item{opacity:0;transform:translate(1.2rem)}html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=entered] .content-toc-title,html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=entered] .content-toc-empty,html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=entered] .content-toc-scrollbar{opacity:1;transform:translate(0);transition:opacity .36s ease,transform .46s cubic-bezier(.22,1,.36,1)}html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=entered] .content-toc-item{opacity:1;transform:translate(0);transition:opacity .38s ease,transform .5s cubic-bezier(.22,1,.36,1);transition-delay:calc(.08s + (var(--content-toc-enter-order, 0) * .06s))}.content-toc-link{display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35;color:color-mix(in srgb,var(--line) 58%,transparent);opacity:1;text-decoration:none;transform:translate(0);transition:color .2s ease,transform .22s cubic-bezier(.22,1,.36,1)}.content-toc-link--depth-1{font-size:var(--content-toc-link-depth-1-size);font-weight:400}.content-toc-link--depth-1:lang(en){font-size:var(--content-toc-link-depth-1-size-en);letter-spacing:.01em}.content-toc-link--depth-2{font-size:var(--content-toc-link-depth-2-size);font-weight:400;opacity:inherit}.content-toc-link--depth-2:lang(en){font-size:var(--content-toc-link-depth-2-size-en);letter-spacing:.01em}.content-toc-link--depth-3{font-size:var(--content-toc-link-depth-3-size);font-weight:400;opacity:inherit}.content-toc-link--depth-3:lang(en){font-size:var(--content-toc-link-depth-3-size-en);letter-spacing:.01em}.content-toc-link--depth-4{font-size:var(--content-toc-link-depth-4-size);font-weight:400;opacity:inherit}.content-toc-link--depth-4:lang(en){font-size:var(--content-toc-link-depth-4-size-en);letter-spacing:.01em}.content-toc-link--depth-5{font-size:var(--content-toc-link-depth-5-size);font-weight:400;opacity:inherit}.content-toc-link--depth-5:lang(en){font-size:var(--content-toc-link-depth-5-size-en);letter-spacing:.01em}.content-toc-link--depth-6{font-size:var(--content-toc-link-depth-6-size);font-weight:400;opacity:inherit}.content-toc-link--depth-6:lang(en){font-size:var(--content-toc-link-depth-6-size-en);letter-spacing:.01em}.content-toc-empty{margin:0}.content-toc a:hover{text-decoration:none}@media(hover:hover){.content-toc-link:hover{color:var(--line);transform:translate(.18rem)}}.content-toc-link:focus-visible{outline:none;color:var(--line);transform:translate(.18rem)}.content-toc-item{position:relative;min-width:0}.content-toc-link.is-active{color:var(--line);opacity:1;transform:translate(0)}@media(prefers-reduced-motion:reduce){html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=ready] .content-toc-title,html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=ready] .content-toc-empty,html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=ready] .content-toc-item,html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=entered] .content-toc-title,html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=entered] .content-toc-empty,html[data-js=true] .content-toc[data-content-entrance-enabled=true][data-toc-entrance=entered] .content-toc-item{opacity:1;transform:none;transition:none}}@media not all and (min-width:56.25rem){.home-shell--has-mobile-toc .latest-area{display:none}.home-shell--has-mobile-toc.is-mobile-toc-open .latest-area{position:fixed;top:auto;right:0;bottom:calc(clamp(4.25rem,11vw,5.2rem) + env(safe-area-inset-bottom));z-index:44;display:flex;width:min(88vw,19rem);max-height:min(65dvh,28rem);border:1px solid rgba(17,17,17,.1);border-radius:var(--radius-md);background:#fffffff5;box-shadow:0 1rem 2.2rem #11111129;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.home-shell--has-mobile-toc.is-mobile-toc-open .latest-area>.content-toc{max-height:min(65dvh,28rem);width:100%;display:flex;flex-direction:column;gap:.8rem;padding:.9rem .9rem .95rem;background:transparent;overflow:hidden}.home-shell--has-mobile-toc.is-mobile-toc-open .latest-area>.content-toc .content-toc-title{margin:0;padding-bottom:.7rem;border-bottom:1px solid color-mix(in srgb,var(--line) 16%,transparent);font-size:var(--content-toc-mobile-title-size);line-height:1.2}.home-shell--has-mobile-toc.is-mobile-toc-open .latest-area>.content-toc .content-toc-list{flex:1;min-height:0;padding-left:.75rem;overflow:auto;scroll-behavior:smooth}.home-shell--has-mobile-toc.is-mobile-toc-open .latest-area>.content-toc .content-toc-link{border-radius:.35rem;padding-block:.08rem;transition:background .2s ease,color .2s ease}.home-shell--has-mobile-toc.is-mobile-toc-open .latest-area>.content-toc .content-toc-link:hover,.home-shell--has-mobile-toc.is-mobile-toc-open .latest-area>.content-toc .content-toc-link:focus-visible{background:color-mix(in srgb,var(--line) 7%,transparent);transform:translate(0)}}@media not all and (min-width:56.25rem){:root[data-theme=dark] .home-shell--has-mobile-toc.is-mobile-toc-open .latest-area{border-color:#ffffff1f;background:#101218f5;box-shadow:0 1.1rem 2.5rem #00000061}}.content-page--article{--article-title-size: clamp(1.82rem, 1.62rem + .64vw, 2.65rem)}html:lang(zh-CN) .content-page--article{--article-title-size: clamp(1.52rem, 1.4rem + .38vw, 2.05rem)}.article-content-header{margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid color-mix(in srgb,var(--line) 16%,transparent);display:flex;flex-direction:column;gap:.42rem}.content-page-body .article-content-title{margin:0;font-size:var(--article-title-size);font-weight:400;line-height:1.05;color:transparent;-webkit-text-stroke:1px var(--line);text-stroke:1px var(--line)}.article-content-description{margin:0;color:color-mix(in srgb,var(--line) 78%,transparent);line-height:1.75}.article-content-meta{margin-top:1.24rem;display:flex;flex-direction:column;gap:.86rem}.content-page-body .article-content-meta-line{margin:0;color:color-mix(in srgb,var(--line) 68%,transparent);font-size:clamp(.78rem,.75rem + .1vw,.9rem);font-style:italic;line-height:1.25}.article-content-meta-label{color:color-mix(in srgb,var(--line) 46%,transparent)}.article-content-meta-label:after{content:":"}.article-content-meta-value{color:color-mix(in srgb,var(--line) 88%,transparent);font-weight:500}.article-content-meta-separator{margin-inline:.34rem;color:color-mix(in srgb,var(--line) 36%,transparent)}.article-comments{margin-top:2.4rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--line) 14%,transparent)}.article-comments-header{margin:0 0 1rem;display:flex;flex-direction:column;gap:.35rem}.article-comments-title{margin:0;color:var(--line);font-size:clamp(1.2rem,1.1rem + .45vw,1.55rem);font-weight:600;line-height:1.3}.article-comments-description{margin:0;color:color-mix(in srgb,var(--line) 66%,transparent);font-size:.92rem;line-height:1.6}.article-comments-empty{margin:0;padding:1rem 1.1rem;border:1px dashed color-mix(in srgb,var(--line) 18%,transparent);border-radius:var(--radius-md);color:color-mix(in srgb,var(--line) 72%,transparent);font-size:.95rem;line-height:1.65;background:color-mix(in srgb,var(--line) 2.5%,transparent)}.article-comments-empty code{font:inherit;color:var(--line)}.article-comments-thread{--waline-theme-color: var(--accent);--waline-color: var(--line);--waline-light-grey: color-mix(in srgb, var(--line) 56%, transparent);--waline-dark-grey: color-mix(in srgb, var(--line) 82%, transparent);--waline-bg-color: transparent;--waline-bg-color-light: color-mix(in srgb, var(--line) 2.5%, transparent);--waline-bg-color-hover: color-mix(in srgb, var(--line) 5%, transparent);--waline-border-color: color-mix(in srgb, var(--line) 14%, transparent);--waline-info-bg-color: color-mix(in srgb, var(--line) 9%, transparent);--waline-info-color: color-mix(in srgb, var(--line) 62%, transparent);--waline-text-color: color-mix(in srgb, var(--line) 76%, transparent);--waline-border: 1px solid var(--waline-border-color);--waline-avatar-size: 3rem}.article-comments-thread .wl-editor,.article-comments-thread .wl-panel,.article-comments-thread .wl-card{border-radius:var(--radius-md)}.article-comments-thread .wl-card .wl-meta{display:flex;flex-wrap:wrap;gap:.32rem}.article-comments-thread .wl-card .wl-meta>span{margin-inline-end:0;background:var(--waline-info-bg-color);color:var(--waline-info-color)}.article-comments-thread .wl-content .vemoji,.article-comments-thread .wl-content .wl-emoji{display:inline-block;width:1.25em;height:1.25em;max-width:none;max-height:none;margin:0;margin-inline-start:.08em;vertical-align:-.22em;object-fit:contain}.article-comments-thread .wl-card .wl-content .wl-reply-to{float:none;display:inline-flex;align-items:baseline;margin:0 .38em 0 0}.article-comments-thread .wl-card .wl-content>.wl-reply-to+div{display:contents}.article-comments-thread .wl-card .wl-content>.wl-reply-to+div>:first-child{margin-top:0}.article-comments-thread .wl-card .wl-content>.wl-reply-to+div>:last-child{margin-bottom:0}.article-comments-thread .wl-card .wl-content>.wl-reply-to+div>p:first-child{display:inline}.article-neighbors{margin-top:2rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--line) 14%,transparent);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.article-neighbor{grid-column:1;min-width:0;padding:.82rem 0;display:flex;flex-direction:column;gap:.32rem;color:inherit;text-decoration:none;text-decoration-line:none}.article-neighbor--next{grid-column:2;text-align:end}.article-neighbor-label{color:color-mix(in srgb,var(--line) 48%,transparent);font-size:clamp(.72rem,.69rem + .1vw,.8rem);letter-spacing:.02em;text-transform:uppercase}.article-neighbor-title{overflow:hidden;color:color-mix(in srgb,var(--line) 84%,transparent);font-size:clamp(.9rem,.86rem + .12vw,1rem);line-height:1.45;text-decoration:none;text-decoration-line:none;text-overflow:ellipsis;white-space:nowrap}.content-page-body .article-neighbor,.content-page-body .article-neighbor:hover,.content-page-body .article-neighbor:focus-visible,.content-page-body .article-neighbor *{text-decoration:none;text-decoration-line:none}.article-neighbor:focus-visible{outline:2px solid color-mix(in srgb,var(--line) 32%,transparent);outline-offset:.35rem}@media(hover:hover){.article-neighbor:hover .article-neighbor-title{color:var(--line)}}@media(max-width:40rem){.article-neighbors{grid-template-columns:1fr}.article-neighbor--next{grid-column:1;text-align:start}}.article-license{margin-top:2rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--line) 14%,transparent)}.article-license-text{margin:0;color:color-mix(in srgb,var(--line) 66%,transparent);font-size:clamp(.82rem,.79rem + .12vw,.92rem);line-height:1.7;font-family:Iowan Old Style,Palatino Linotype,Songti SC,"Noto Serif SC",serif;letter-spacing:.01em}.article-license-link{color:inherit;text-decoration:underline;text-underline-offset:.14em}:is(.content-page--listing,.content-page--collection) .content-page-body{display:flex;flex-direction:column;gap:1.25rem;min-width:0;overflow-x:hidden}:is(.listing-header,.collection-page-header){margin:0;padding-bottom:1rem;border-bottom:1px solid color-mix(in srgb,var(--line) 16%,transparent);display:flex;flex-direction:column;gap:.7rem}:is(.listing-header-section,.collection-page-section){margin:0;color:color-mix(in srgb,var(--line) 52%,transparent);font-size:.9rem;letter-spacing:.16em}:is(.listing-header-title,.collection-page-title){margin:0;font-size:clamp(2.3rem,2rem + 1.5vw,4.3rem);font-weight:400;line-height:1.05;color:transparent;-webkit-text-stroke:1px var(--line);text-stroke:1px var(--line)}:is(.listing-groups,.collection-page-groups){display:flex;flex-direction:column;gap:1.5rem;min-width:0}:is(.listing-group,.collection-page-group){display:flex;flex-direction:column;gap:.9rem;min-width:0}:is(.listing-group-title,.collection-page-group-title){margin:0;color:var(--line);font-size:clamp(1.25rem,1.16rem + .45vw,1.7rem);font-weight:400}:is(.listing-group-items,.collection-page-group-items){display:grid;grid-template-columns:minmax(0,1fr);gap:.78rem;min-width:0}:is(.listing-card,.collection-page-card){width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:1.2rem clamp(.5rem,.3rem + .9vw,2.08rem) 0 1.3rem;border:1px solid color-mix(in srgb,var(--line) 12%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--line) 2.5%,transparent);transition:none}:is(.listing-card-link,.collection-page-card-link){position:relative;display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding-right:clamp(2.5rem,2.15rem + 1.8vw,4rem);color:inherit;text-decoration:none}:is(.listing-card-title,.collection-page-card-title){margin:0;min-width:0;overflow-wrap:anywhere;color:var(--line);font-size:clamp(1.02rem,.98rem + .2vw,1.14rem);line-height:1.34}:is(.listing-card-meta,.collection-page-card-meta){margin:.16rem 0 0;color:color-mix(in srgb,var(--line) 52%,transparent);font-size:.88rem;line-height:1.35}:is(.listing-card-description,.collection-page-card-description){margin:.24rem 0 0;color:color-mix(in srgb,var(--line) 76%,transparent);line-height:1.5;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}:is(.listing-card-head,.collection-page-card-head){display:block}:is(.listing-card-arrow,.collection-page-card-arrow){position:absolute;top:50%;right:clamp(.34rem,.26rem + .62vw,.92rem);display:inline-flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--line) 40%,transparent);font-size:clamp(1rem,.94rem + .24vw,1.18rem);line-height:1;pointer-events:none;transform:translate3d(0,-50%,0);transition:color .22s ease}@media(min-width:56.25rem){:is(.listing-card,.collection-page-card){width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding-right:clamp(2.1rem,1.7rem + 1.1vw,3.2rem)}:is(.listing-card-link,.collection-page-card-link){padding-right:clamp(3rem,2.45rem + 1.6vw,4.8rem)}:is(.listing-card-arrow,.collection-page-card-arrow){right:clamp(.52rem,.44rem + .48vw,1.08rem)}}:is(.listing-header-bar,.collection-page-header-bar){display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}:is(.listing-header-title--compact,.collection-page-title--compact){margin:0}.content-page-body :is(.listing-view-all-link,.collection-page-view-all-link){display:inline-flex;align-items:center;gap:.35rem;color:var(--line);font-size:.95rem;line-height:1.4;text-decoration:none;white-space:nowrap;transform:translate(0);transition:color .22s ease,opacity .18s ease,transform .18s ease}.listing-view-all-link-text,.collection-page-view-all-link-text{display:block}.listing-view-all-link-arrow,.collection-page-view-all-link-arrow{position:relative;display:block;flex:0 0 .72rem;width:.72rem;height:.72rem;opacity:0;pointer-events:none;transform:translate(-.32rem);transition:opacity .18s ease,transform .18s ease}.listing-view-all-link-arrow:before,.listing-view-all-link-arrow:after,.collection-page-view-all-link-arrow:before,.collection-page-view-all-link-arrow:after{content:"";position:absolute;right:0;top:50%}.listing-view-all-link-arrow:before,.collection-page-view-all-link-arrow:before{width:.72rem;height:1px;background:currentColor;transform:translateY(-50%)}.listing-view-all-link-arrow:after,.collection-page-view-all-link-arrow:after{width:.36rem;height:.36rem;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}@media(hover:hover){.content-page-body :is(.listing-view-all-link,.collection-page-view-all-link):hover{color:var(--line-soft);transform:translate(.14rem)}.content-page-body :is(.listing-view-all-link,.collection-page-view-all-link):hover :is(.listing-view-all-link-arrow,.collection-page-view-all-link-arrow){opacity:1;transform:translate(0)}}.content-page-body :is(.listing-view-all-link,.collection-page-view-all-link):focus-visible{outline:none}.content-page-body :is(.listing-view-all-link,.collection-page-view-all-link):focus-visible :is(.listing-view-all-link-arrow,.collection-page-view-all-link-arrow){opacity:1;transform:translate(0)}:is(.listing-groups,.collection-page-groups) .content-toc-link,:is(.listing-groups,.collection-page-groups) .content-toc-link--depth-2{color:var(--line);opacity:1;text-decoration-line:none}.listing-category-count,.collection-page-category-count{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:500;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;white-space:nowrap;letter-spacing:.01em}.content-page-body :is(.listing-category-heading-link,.collection-page-category-heading-link){display:inline-flex;align-items:center;gap:clamp(.48rem,.4rem + .3vw,.78rem);max-width:100%;color:inherit;text-decoration:none;text-decoration-line:none;overflow:hidden;transition:opacity .18s ease,transform .18s ease}:is(.listing-category-heading-text,.collection-page-category-heading-text){color:var(--line);transition:color .18s ease}:is(.listing-category-heading-hint,.collection-page-category-heading-hint){flex:0 1 auto;display:inline-flex;align-items:center;margin-top:.14em;padding-left:clamp(.42rem,.35rem + .25vw,.62rem);border-left:1px solid color-mix(in srgb,var(--line-soft) 65%,transparent);color:var(--line-soft);font-size:clamp(.68rem,.61rem + .2vw,.86rem);line-height:1;font-weight:600;letter-spacing:.01em;white-space:nowrap;max-width:0;opacity:0;transform:translate(-.35rem);overflow:hidden;transition:max-width .22s ease,color .18s ease,opacity .18s ease,transform .18s ease}@media(hover:hover){.content-page-body :is(.listing-category-heading-link,.collection-page-category-heading-link):hover{transform:translate(.12rem)}.content-page-body :is(.listing-category-heading-link,.collection-page-category-heading-link):hover :is(.listing-category-heading-text,.collection-page-category-heading-text){color:var(--line-soft)}.content-page-body :is(.listing-category-heading-link,.collection-page-category-heading-link):hover :is(.listing-category-heading-hint,.collection-page-category-heading-hint){color:var(--line);max-width:9rem;opacity:1;transform:translate(0)}}.content-page-body :is(.listing-category-heading-link,.collection-page-category-heading-link):focus-visible{outline:none}.content-page-body :is(.listing-category-heading-link,.collection-page-category-heading-link):focus-visible :is(.listing-category-heading-text,.collection-page-category-heading-text){color:var(--line-soft)}.content-page-body :is(.listing-category-heading-link,.collection-page-category-heading-link):focus-visible :is(.listing-category-heading-hint,.collection-page-category-heading-hint){color:var(--line);max-width:9rem;opacity:1;transform:translate(0)}@media not all and (min-width:56.25rem){:is(.listing-category-heading-hint,.collection-page-category-heading-hint){max-width:9rem;opacity:1;transform:translate(0)}}:is(.listing-groups,.collection-page-groups)>.content-toc-list{padding-left:0;overflow-x:hidden}:is(.listing-groups,.collection-page-groups)>.content-toc-list>.content-toc-item,:is(.listing-groups,.collection-page-groups)>.content-toc-list>.content-toc-item--depth-2{padding-left:0;min-width:0}:is(.listing-groups,.collection-page-groups) .content-toc-link,:is(.listing-groups,.collection-page-groups) .content-toc-link--depth-2,:is(.content-toc--listing,.content-toc--collection) .content-toc-link,:is(.content-toc--listing,.content-toc--collection) .content-toc-link--depth-2{display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:is(.content-toc--listing,.content-toc--collection),:is(.content-toc--listing,.content-toc--collection) .content-toc-list,:is(.content-toc--listing,.content-toc--collection) .content-toc-item{min-width:0;overflow-x:hidden}:is(.archive-groups,.collection-archive-groups){display:flex;flex-direction:column;gap:1.5rem}:is(.archive-group,.collection-archive-group){display:flex;flex-direction:column;gap:.9rem}:is(.archive-year-heading,.collection-archive-year){margin:0;padding-bottom:.55rem;border-bottom:1px solid var(--border-soft);color:var(--line);font-size:clamp(1.05rem,1rem + .3vw,1.25rem);font-weight:600;line-height:1.35}:is(.archive-list,.collection-archive-list){display:flex;flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none}:is(.archive-list-item,.collection-archive-item){display:grid;grid-template-columns:minmax(5.6rem,auto) minmax(0,1fr);gap:.9rem;align-items:baseline}:is(.archive-item-date,.collection-archive-date){color:var(--text-muted);font-size:.85rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.content-page-body :is(.archive-item-link,.collection-archive-link){display:inline-flex;align-items:center;gap:.36rem;max-width:100%;min-width:0;color:var(--line);text-decoration:none;line-height:1.6;white-space:nowrap;overflow:hidden;transform:translate(0);transition:color .22s ease,opacity .18s ease,transform .18s ease}.archive-item-link-text,.collection-archive-link-text{display:block;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.archive-item-link-arrow,.collection-archive-link-arrow{position:relative;display:block;flex:0 0 .72rem;width:.72rem;height:.72rem;opacity:0;pointer-events:none;transform:translate(-.32rem);transition:opacity .18s ease,transform .18s ease}.archive-item-link-arrow:before,.archive-item-link-arrow:after,.collection-archive-link-arrow:before,.collection-archive-link-arrow:after{content:"";position:absolute;right:0;top:50%}.archive-item-link-arrow:before,.collection-archive-link-arrow:before{width:.72rem;height:1px;background:currentColor;transform:translateY(-50%)}.archive-item-link-arrow:after,.collection-archive-link-arrow:after{width:.36rem;height:.36rem;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}@media(hover:hover){:is(.archive-list-item,.collection-archive-item):hover :is(.archive-item-link,.collection-archive-link){color:var(--line-soft);transform:translate(.14rem)}:is(.archive-list-item,.collection-archive-item):hover :is(.archive-item-link-arrow,.collection-archive-link-arrow){opacity:1;transform:translate(0)}}.content-page-body :is(.archive-item-link,.collection-archive-link):focus-visible{outline:none}.content-page-body :is(.archive-item-link,.collection-archive-link):focus-visible :is(.archive-item-link-arrow,.collection-archive-link-arrow){opacity:1;transform:translate(0)}@media not all and (min-width:40.001rem){:is(.archive-list-item,.collection-archive-item){grid-template-columns:minmax(0,1fr);gap:.15rem}}@media(min-width:40.001rem){:is(.archive-item-date,.collection-archive-date){white-space:nowrap;overflow-wrap:normal}}.app-panel-card{margin:0 0 1rem;padding:clamp(.5rem,.85rem,1.35rem);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:transparent}.app-panel-card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem}.friend-links-grid{--friend-links-gap: .9rem;--friend-link-card-min: 15rem;--friend-link-card-max: 19rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--friend-link-card-min)),1fr));grid-auto-rows:1fr;gap:var(--friend-links-gap);width:100%;max-width:calc((var(--friend-link-card-max) * 3) + (var(--friend-links-gap) * 2));min-width:0;margin-inline:auto}.friend-links-grid .app-panel-item,.friend-links-grid .app-panel-item--link{width:100%;height:100%;min-height:100%;min-width:0;align-items:center;align-self:stretch;padding:.2rem .8rem;border-color:var(--border-soft);border-radius:var(--radius-md);background:color-mix(in srgb,var(--line) 2.5%,transparent);min-height:5rem}.friend-links-grid .app-panel-item-icon{width:clamp(2.7rem,2.58rem + .5vw,3.05rem);height:clamp(2.7rem,2.58rem + .5vw,3.05rem);border-radius:999px;object-fit:cover;overflow:hidden;flex-shrink:0}.friend-links-grid .app-panel-item-copy{justify-content:center;gap:.18rem;min-height:100%}.friend-links-grid .app-panel-item-name{white-space:nowrap;font-size:clamp(.62rem,.49rem + .72vw,.98rem);line-height:1.28}.friend-links-grid .app-panel-item-description{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:.82rem;font-weight:400;line-height:1.35}.app-panel-item,.app-panel-item--link{display:flex;align-items:center;gap:.9rem;min-width:0;padding:0 .95rem;border:1px solid transparent;border-radius:.95rem;background:transparent;transition:none}.app-panel-item--link{color:inherit;text-decoration:none}.content-page-body .app-panel-item--link,.content-page-body .app-panel-item--link:hover,.content-page-body .app-panel-item--link:focus-visible,.content-page-body .app-panel-item--link .app-panel-item-name,.content-page-body .app-panel-item--link .app-panel-item-description{text-decoration:none}.app-panel-item-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:clamp(2.95rem,2.7rem + .95vw,3.55rem);height:clamp(2.95rem,2.7rem + .95vw,3.55rem);border-radius:.85rem;background:transparent;color:var(--line);font-size:clamp(1.38rem,1.22rem + .48vw,1.7rem);line-height:1}.app-panel-item-copy{display:flex;flex-direction:column;gap:.18rem;min-width:0}.app-panel-item-name{overflow:hidden;color:var(--line);font-size:clamp(.98rem,.94rem + .18vw,1.08rem);font-weight:500;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.app-panel-item-description{overflow:hidden;color:color-mix(in srgb,var(--line) 72%,transparent);font-size:.9rem;line-height:1.5;white-space:nowrap;text-overflow:ellipsis}@media(min-width:48rem){.app-panel-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-links-grid{--friend-links-gap: 1rem}}.lost-links-panel{margin-top:1.5rem;margin-bottom:1.5rem;border:1px solid color-mix(in srgb,var(--line) 12%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--line) 2.5%,transparent);overflow:hidden}.lost-links-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;list-style:none;padding:.95rem 1rem;color:var(--line);font-size:.98rem;font-weight:600;line-height:1.35}.lost-links-summary::-webkit-details-marker{display:none}.lost-links-summary:after{content:"";flex:0 0 auto;width:.5rem;height:.5rem;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;opacity:.72;transform:rotate(45deg);transition:transform .16s ease,opacity .16s ease}.lost-links-panel[open] .lost-links-summary:after{opacity:1;transform:rotate(135deg)}.lost-links-list{margin:0;padding:0 1rem 1rem;list-style:none}.lost-links-item+.lost-links-item{margin-top:.7rem}.lost-links-link{display:flex;align-items:baseline;gap:.4rem;min-width:0;color:inherit;text-decoration:none}.lost-links-name{flex:0 0 auto;color:var(--line);font-weight:500;white-space:nowrap}.lost-links-divider{flex:0 0 auto;color:color-mix(in srgb,var(--line) 50%,transparent)}.lost-links-description{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,var(--line) 72%,transparent)}.lost-links-empty{margin:0;padding:0 1rem 1rem;color:color-mix(in srgb,var(--line) 68%,transparent);font-size:.92rem;line-height:1.6}@media not all and (min-width:40.001rem){.lost-links-link{display:block}.lost-links-divider{display:none}.lost-links-name,.lost-links-description{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lost-links-description{margin-top:.15rem}}.owner-info-card{margin:.5rem 0 1.5rem;padding:1rem 1.25rem;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:color-mix(in srgb,var(--line) 2.5%,transparent);display:grid;grid-template-columns:auto 1fr;gap:.45rem .75rem}.owner-info-label{color:var(--line);font-weight:500;white-space:nowrap;text-align:right;font-size:.95rem;line-height:1.6}.owner-info-value{margin:0;color:color-mix(in srgb,var(--line) 85%,transparent);font-size:.95rem;line-height:1.6;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-page-body .owner-info-card a{color:inherit;text-decoration:none}.content-page{width:100%;display:block;align-self:stretch}html[data-js=true] .content-page[data-content-entrance-enabled=true][data-page-entrance=ready]{opacity:0;transform:translateY(.9rem)}html[data-js=true] .content-page[data-content-entrance-enabled=true][data-page-entrance=entered]{opacity:1;transform:translateY(0);transition:opacity .68s ease,transform .76s cubic-bezier(.16,1,.3,1)}@media(min-width:56.25rem){.home-shell--article .content-page--article{height:auto;min-height:0}.home-shell--article .content-page--article .content-page-body{height:auto;min-height:0;overflow-x:hidden;overflow-y:visible}}.content-page--links .content-page-body{min-width:0;overflow-x:hidden}.home-shell{position:relative;z-index:1;height:auto;min-height:100dvh;width:min(100%,var(--shell-max));margin-inline:auto;padding:var(--space);display:flex;flex-direction:column;gap:var(--space);overflow:visible}@supports (view-transition-name: none){.home-header{view-transition-name:site-header}.profile-area{view-transition-name:primary-panel}.latest-area{view-transition-name:secondary-panel}.home-footer{view-transition-name:site-footer}html[data-disable-panel-transition=true] .profile-area,html[data-disable-panel-transition=true] .latest-area{view-transition-name:none}}.home-header{position:sticky;top:var(--layout-sticky-top);z-index:30;padding-top:clamp(.55rem,1vw,.85rem);padding-right:clamp(.55rem,1vw,.85rem);padding-bottom:0;padding-left:clamp(.55rem,1vw,.85rem);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:clamp(.3rem,.8vw,.55rem)}.wire-box{min-width:0}.signature-area{width:min(100%,clamp(10.5rem,34vw,23.75rem));min-height:clamp(2.75rem,7vh,4rem);display:flex;align-items:flex-end;justify-self:start;padding-bottom:0;margin-bottom:0}.signature-stack{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.signature-collapse{position:relative;width:fit-content}.signature-collapse-trigger{width:var(--menu-trigger-width);height:var(--menu-trigger-height);border:0;padding:0;background:transparent;color:var(--line-soft);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;transition:color .2s ease}.signature-collapse-trigger::-webkit-details-marker{display:none}.signature-collapse-trigger svg{width:var(--menu-icon-size);height:var(--menu-icon-size)}.signature-collapse-panel{display:block;position:absolute;top:100%;left:0;z-index:3;min-width:var(--nav-flyout-min);padding:.4rem 0;opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(-.7rem,0,0);transform-origin:top left;clip-path:inset(0 100% 0 0 round .2rem);transition:opacity .24s ease,transform .3s cubic-bezier(.22,1,.36,1),clip-path .3s cubic-bezier(.22,1,.36,1),visibility 0s linear .3s}.signature-collapse[data-panel-state=open] .signature-collapse-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateZ(0);clip-path:inset(0 0 0 0 round .2rem);transition:opacity .24s ease,transform .3s cubic-bezier(.22,1,.36,1),clip-path .3s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s}.signature-collapse[data-panel-state=closing] .signature-collapse-panel{opacity:0;visibility:visible;pointer-events:none;transform:translate3d(-.55rem,0,0);clip-path:inset(0 100% 0 0 round .2rem)}.signature-collapse-links{list-style:none;margin:0;padding:0}.signature-collapse-links a{display:inline-block;padding:1.2rem .8rem;color:var(--line-soft);text-decoration:none;font-size:var(--signature-link-size);line-height:1.3;transform:translate(0);transition:color .22s ease,transform .22s cubic-bezier(.22,1,.36,1)}@media(hover:hover){.signature-collapse-links a:hover{color:var(--line);transform:translate(.22rem)}}.signature-collapse-links a:focus-visible{outline:none;color:var(--line);transform:translate(.22rem)}.nav-drawer{position:relative;width:fit-content}.mobile-nav-drawer{--mobile-nav-link-gap: .1rem;--mobile-nav-link-padding: .6rem .72rem;--mobile-nav-link-radius: .65rem;display:inline-flex;align-items:center}.hamburger{width:var(--icon-btn-size);height:var(--icon-btn-size);border:0;padding:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;color:var(--line-soft);line-height:0;transition:color .2s ease,opacity .2s ease}.hamburger::-webkit-details-marker{display:none}.hamburger svg{width:var(--icon-size);height:var(--icon-size);display:block}.nav-panel{position:absolute;top:calc(100% + .5rem);left:0;min-width:var(--nav-flyout-min);padding:.25rem 0;display:block;z-index:2;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-.35rem);transform-origin:top right;transition:opacity .22s ease,transform .26s cubic-bezier(.22,1,.36,1),visibility 0s linear .26s}.mobile-nav-drawer .nav-panel{left:auto;right:0}.mobile-nav-drawer .nav-panel{top:calc(100% + .55rem);width:auto;min-width:8.75rem;max-width:min(56vw,11.5rem);padding:.35rem;border:1px solid rgba(17,17,17,.1);border-radius:.9rem;background:#fffffff0;box-shadow:0 .9rem 2rem #1111111f;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden;z-index:12}.mobile-nav-drawer .signature-collapse-links{display:flex;flex-direction:column;gap:var(--mobile-nav-link-gap)}.mobile-nav-drawer .signature-collapse-links li{width:100%}.mobile-nav-drawer .signature-collapse-links a{display:block;width:100%;padding:var(--mobile-nav-link-padding);border-radius:var(--mobile-nav-link-radius);color:var(--line);font-size:.92rem;line-height:1.3;-webkit-tap-highlight-color:transparent}.mobile-nav-drawer .signature-collapse-links a:hover,.mobile-nav-drawer .signature-collapse-links a:focus-visible{outline:none;color:var(--line);background:color-mix(in srgb,var(--line) 7%,transparent);transform:translate(0)}.nav-drawer[open] .nav-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .22s ease,transform .26s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s}.header-actions{grid-column:3;min-height:clamp(2.25rem,2.8vw,2.85rem);min-width:clamp(8rem,9.5vw,11rem);display:inline-flex;align-items:center;justify-content:flex-end;gap:clamp(.25rem,.8vw,.5rem);justify-self:end;margin-left:auto;padding-bottom:0;margin-bottom:0}.theme-switcher{display:inline-flex;align-items:center;gap:0}.theme-btn,.search-btn{width:var(--icon-btn-size);height:var(--icon-btn-size);border:0;background:transparent;color:var(--line-soft);display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:0;cursor:pointer;transition:color .2s ease,opacity .2s ease,transform .18s ease}.theme-btn svg,.search-btn svg{width:var(--icon-size);height:var(--icon-size);display:block}.theme-btn [data-theme-icon]:not([hidden]){width:var(--icon-size);height:var(--icon-size);display:inline-flex;align-items:center;justify-content:center}.theme-btn [data-theme-icon]:not([hidden]) svg{width:100%;height:100%}.theme-btn[aria-pressed=true]{color:var(--line)}@media(hover:hover){.theme-btn:hover,.search-btn:hover,.hamburger:hover,.signature-collapse-trigger:hover{color:var(--line);transform:translateY(-.08rem)}}.theme-btn:focus-visible,.search-btn:focus-visible,.hamburger:focus-visible,.signature-collapse-trigger:focus-visible{outline:none;color:var(--line);transform:translateY(-.08rem)}.home-shell-search-root{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}.home-shell-search-root .sitesearch-button{display:none!important}:root[data-theme=dark] .ss-exp,:root[data-theme=dark] .modal-backdrop,:root[data-theme=dark] .sitesearch-button{--search-primary-color: #7aa2ff;--search-secondary-color: #9aa1b2;--search-background-color: #202127;--search-neutral-color: #111016;--search-subtle-color: #94a3b8;--search-text-color: #e5e7eb;--search-subtle-text-color: #94a3b8;--search-border-color: #374151;--search-hover-color: #1f2937}.home-main{flex:1 0 auto;display:grid;grid-template-columns:1fr;gap:var(--main-col-gap);margin-top:calc(var(--header-main-gap) - var(--space));min-height:0;align-items:start}.side-nav-area{display:none;min-height:0;height:auto;max-height:none;overflow:visible}.side-nav-stack{height:auto;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.profile-area{min-height:0;height:auto;max-height:none;display:flex;align-items:center;justify-content:flex-start;overflow:visible}.latest-area{min-height:0;height:auto;max-height:none;grid-column:1 / -1;overflow:visible}.home-footer{position:relative;z-index:2;padding:clamp(.55rem,1vw,.85rem);padding-top:clamp(.55rem,1.5vw,1.85rem);border-top:1px solid var(--line-soft);display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:0}.footer-info{flex:1 1 100%;min-width:0;min-height:var(--footer-height);height:auto;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere}.footer-icons{flex:0 1 100%;min-height:var(--footer-height);display:inline-flex;align-items:center;justify-content:center;gap:clamp(.4rem,.7vw,.55rem);margin-left:0}.footer-rss-btn{width:var(--icon-btn-size);height:var(--icon-btn-size);border:0;background:transparent;color:var(--line-soft);display:inline-flex;align-items:flex-end;justify-content:center;padding-bottom:0;cursor:pointer;text-decoration:none;transform-origin:center bottom;transition:color .2s ease,opacity .2s ease,transform .18s ease}@media(hover:hover){.footer-rss-btn:hover{color:var(--line);transform:scale(1.12)}}.footer-rss-btn:focus-visible{outline:2px solid currentColor;outline-offset:2px;color:var(--line);transform:scale(1.12)}.footer-rss-btn svg{width:var(--icon-size);height:var(--icon-size)}@media(prefers-reduced-motion:reduce){.footer-rss-btn{transition:none}.footer-rss-btn:hover,.footer-rss-btn:focus-visible{transform:none}}@media(min-width:56.25rem){.home-shell--article{height:auto;min-height:100dvh;overflow:visible}.home-footer{align-items:flex-end;flex-wrap:nowrap;justify-content:flex-start;padding-top:clamp(0rem,0vw,1.05rem)}.footer-info{flex:1 1 auto;align-items:flex-end;justify-content:flex-start}.footer-icons{flex:0 0 auto;align-items:flex-end;justify-content:flex-end;margin-left:auto}.home-header{grid-template-columns:auto auto 1fr}.header-actions,.theme-switcher{align-items:flex-end}.mobile-nav-drawer{display:none}.home-main{grid-template-columns:minmax(var(--main-col-1-min),var(--main-col-1-size)) minmax(var(--main-col-2-min),var(--main-col-2-fr)) minmax(var(--main-col-3-min),var(--main-col-3-fr))}.home-main{min-height:0;width:100%;align-self:stretch}.home-shell--article .home-main{overflow:visible}.side-nav-area{display:block;position:sticky;top:var(--layout-sticky-main-top);align-self:start;min-height:0;height:auto;max-height:calc(100dvh - var(--layout-sticky-main-top) - var(--space));overflow:visible}.profile-area,.latest-area{min-height:0;height:auto;max-height:none}.home-shell--article .profile-area,.home-shell--article .latest-area{height:auto;max-height:none;overflow:visible}.latest-area{grid-column:auto;display:flex;align-items:flex-start;justify-content:flex-start;overflow:visible}.home-shell--article .latest-area{overflow:visible}.latest-area:has(>[data-home-shell-content-toc]){position:sticky;top:var(--layout-sticky-main-top);align-self:start;max-height:calc(100dvh - var(--layout-sticky-main-top) - var(--space));z-index:6}.latest-area>[data-home-shell-content-toc]{position:static;top:auto}}@media(min-width:150rem){:root{--font-size-base: clamp(1.0625rem, 1.15vw, 1.4rem);--shell-max: min(93vw, 137.5rem)}}.floating-action-stack{position:fixed;right:clamp(.9rem,4vw,1.35rem);bottom:clamp(.95rem,4vw,1.35rem);z-index:45;display:flex;align-items:center;gap:.7rem;pointer-events:none}.floating-action-stack>*{pointer-events:auto}@media(min-width:56.25rem){.floating-action-stack{display:none}}.floating-action-stack[hidden]{display:none!important}.hamburger,.mobile-nav-drawer .signature-collapse-links a{-webkit-tap-highlight-color:transparent}:root[data-theme=dark] .mobile-nav-drawer .nav-panel{border-color:#ffffff1f;background:#101218f0;box-shadow:0 1rem 2.4rem #00000059}:root[data-theme=dark] .mobile-nav-drawer .signature-collapse-links a{color:#f5f5f5f5}@media not all and (min-width:56.25rem){html,body{height:auto;overflow-x:hidden}.home-shell{height:auto;min-height:100dvh;overflow:visible}.home-main{align-items:start}.profile-area,.latest-area{height:auto;max-height:none;overflow:visible}}
