:root{--color-brand:#007175;--color-brand-hover:#005a5e;--color-accent-pink:#ec6fa3;--color-accent-cyan:#82d8dd;--color-accent-cyan-hover:#a8e5e9;--color-white:#fff;--color-black:#000;--color-indigo:#202e78;--color-flight-wing:var(--color-brand);--color-flight-wing-hover:var(--color-brand-hover);--color-flight-wing-far:#4d999c;--color-flight-fold:#d7edec;--text-primary:#1a1a1a;--text-strong:#333;--text-secondary:#666;--text-medium:#555;--text-tertiary:#888;--text-muted:#999;--text-faint:#b2b2b2;--text-subtle:silver;--text-disabled:#d0d0d0;--text-blue:#576b95;--text-on-dark-strong:#f2f4f7;--text-on-dark:#d7dce4;--text-on-dark-body:#c6ccd5;--text-on-dark-secondary:#a1aab7;--text-on-dark-soft:#8993a2;--text-on-dark-muted:#707b8b;--text-on-dark-faint:#626d7b;--text-blue-dark:#8fa6c2;--text-link-dark-hover:#b1c2d6;--surface-page:var(--color-white);--surface-page-dark:#0c1016;--surface-article:var(--surface-page);--surface-article-dark:#151a26;--surface-aside:var(--surface-article);--surface-aside-dark:#111826;--surface-soft:#f8f9fa;--surface-muted:#f0f0f0;--surface-code:#f3f4f6;--surface-header-fallback:#575757;--surface-dark-panel:#1b212c;--surface-dark-card:#202632;--surface-dark-card-hover:#272e3b;--surface-dark-control:#242b36;--surface-dark-code:#11161d;--surface-dark-row:#1d242e;--surface-dark-input:#232a36;--surface-raised:var(--color-white);--surface-tint:rgb(var(--rgb-brand) / 5%);--border-light:#e0e0e0;--border-light-subtle:#eee;--border-light-soft:#f2f2f2;--border-code:#d5d5d7;--border-dark:#353d49;--border-dark-soft:#2a313c;--border-dark-code:#3a4351;--border-dark-input:#414b5b;--border-dark-divider:#272e38;--rule-dark:#778396;--radius-sm:.3rem;--radius-md:.5rem;--radius-lg:.8rem;--radius-xl:1rem;--radius-pill:999px;--shadow-shell:0 7px 29px 0 rgb(var(--rgb-shadow-neutral) / 20%);--shadow-card:0 2px 6px rgb(var(--rgb-black) / 14%), 0 14px 26px rgb(var(--rgb-black) / 18%);--shadow-card-hover:0 1px 3px rgb(var(--rgb-black) / 10%), 0 5px 12px rgb(var(--rgb-black) / 12%);--shadow-aside:0 5px 15px rgb(var(--rgb-black) / 35%);--shadow-pop:0 .2rem .6rem rgb(var(--rgb-shadow-neutral) / 12%), 0 1rem 2.6rem rgb(var(--rgb-shadow-neutral) / 18%), 0 0 0 1px rgb(var(--rgb-brand) / 5%);--card-gloss:rgb(var(--rgb-white) / 80%);--card-gloss-hover:rgb(var(--rgb-white) / 50%);--card-hairline:rgb(var(--rgb-black) / 4%);--panel-edge:rgb(var(--rgb-black) / 5%);--terminal-red:#ff5f57;--terminal-yellow:#ffbd2e;--terminal-green:#28ca42;--rgb-black:0 0 0;--rgb-white:255 255 255;--rgb-brand:0 113 117;--rgb-accent-pink:236 111 163;--rgb-accent-cyan:130 216 221;--rgb-dark-panel:27 33 44;--rgb-dark-card:28 34 45;--rgb-dark-message:35 41 53;--rgb-toggle:112 120 134;--rgb-shadow-neutral:100 100 111;--media-placeholder-a:#2a3340;--media-placeholder-b:#1b2230}.dark{--color-flight-wing:var(--color-accent-cyan);--color-flight-wing-hover:var(--color-accent-cyan-hover);--color-flight-wing-far:#4d969b;--color-flight-fold:#ddf5f6;--surface-raised:var(--surface-dark-card);--surface-tint:rgb(var(--rgb-accent-cyan) / 5%);--shadow-shell:0 8px 24px rgb(var(--rgb-white) / 4%), inset 0 1px 0 rgb(var(--rgb-white) / 8%);--shadow-card:0 2px 5px rgb(var(--rgb-white) / 5%), 0 12px 24px rgb(var(--rgb-white) / 3%);--shadow-card-hover:0 1px 3px rgb(var(--rgb-white) / 4%), 0 5px 11px rgb(var(--rgb-white) / 3%);--shadow-aside:0 8px 24px rgb(var(--rgb-white) / 4%);--shadow-pop:0 .2rem .6rem rgb(var(--rgb-white) / 6%), 0 1.2rem 3rem rgb(var(--rgb-white) / 4%), 0 0 0 1px rgb(var(--rgb-white) / 6%);--card-gloss:rgb(var(--rgb-white) / 10%);--card-gloss-hover:rgb(var(--rgb-white) / 7%);--card-hairline:rgb(var(--rgb-white) / 6%);--panel-edge:rgb(var(--rgb-white) / 6%);--surface-aside-card:#1d2433;--surface-aside-card-hover:#242c3d;--shadow-aside-card:0 1px 2px rgb(var(--rgb-white) / 5%), 0 8px 18px rgb(var(--rgb-white) / 3%), inset 0 1px 0 rgb(var(--rgb-white) / 8%);--shadow-aside-card-hover:0 1px 2px rgb(var(--rgb-white) / 4%), 0 4px 10px rgb(var(--rgb-white) / 3%), inset 0 1px 0 rgb(var(--rgb-white) / 6%);--surface-tag-front:#242b3a;--surface-tag-middle:#202635;--surface-tag-back:#1f2532;--border-tag-front:rgb(var(--rgb-white) / 7%);--border-tag-middle:rgb(var(--rgb-white) / 5%);--border-tag-back:rgb(var(--rgb-white) / 6%);--border-tag-hover:rgb(var(--rgb-accent-cyan) / 20%);--surface-tag-count:rgb(var(--rgb-accent-cyan) / 14%);--text-tag-count:var(--color-accent-cyan);--text-tag-footer:var(--text-on-dark-muted);--shadow-tag-front:0 1px 2px rgb(var(--rgb-white) / 5%), 0 6px 14px rgb(var(--rgb-white) / 3%), inset 0 1px 0 rgb(var(--rgb-white) / 7%);--shadow-tag-middle:0 1px 2px rgb(var(--rgb-white) / 4%), 0 4px 10px rgb(var(--rgb-white) / 3%), inset 0 1px 0 rgb(var(--rgb-white) / 5%);--shadow-tag-back:0 1px 2px rgb(var(--rgb-white) / 3%), 0 3px 8px rgb(var(--rgb-white) / 2%), inset 0 1px 0 rgb(var(--rgb-white) / 5%);--shadow-tag-hover:0 2px 5px rgb(var(--rgb-white) / 5%), 0 7px 16px rgb(var(--rgb-white) / 3%), inset 0 1px 0 rgb(var(--rgb-white) / 8%);--surface-article:var(--surface-article-dark);--surface-aside:var(--surface-aside-dark);--media-placeholder-a:var(--surface-dark-panel);--media-placeholder-b:var(--surface-dark-card)}:root{--aside-width:15rem;--edge-control-length:3.75rem}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100%;height:100%;position:relative;overflow:hidden}body{background-color:var(--surface-page);min-height:100dvh;font-family:HM,HarmonyOS Sans SC,PingFang SC,Microsoft YaHei,sans-serif}.dark body{background-color:var(--surface-page-dark)}@font-face{font-family:HM;src:url(/static/fonts/HarmonyOS_Sans_Medium.ttf);font-display:swap;font-style:normal}a{color:var(--color-indigo);font-weight:700;text-decoration:none;list-style:none}html[data-input-mode=pointer] :focus,html[data-input-mode=pointer] :focus-visible{outline:none!important}.main::-webkit-scrollbar{display:none}.aside-body::-webkit-scrollbar{display:none}.docs-search-results::-webkit-scrollbar{display:none}.article-toc-heading-list::-webkit-scrollbar{display:none}.doc pre code::-webkit-scrollbar{display:none}.doc table::-webkit-scrollbar{display:none}.sf-grid::-webkit-scrollbar{display:none}main{width:calc(100vw + var(--aside-width));grid-template-columns:var(--aside-width) 100vw;height:100%;display:grid;position:relative;left:0;overflow-x:hidden}.main{scroll-behavior:smooth;width:100vw;height:100%;overflow-y:auto}.article-container{background-color:var(--surface-article);max-width:100%;box-shadow:var(--shadow-shell);margin-top:3.4vh;margin-bottom:3.4vh;padding:clamp(1rem,1.4vw,1.25rem)}.aside-init{left:calc(-1 * var(--aside-width))}.aside-show{animation:.3s show-aside;left:0}.aside-show aside{box-shadow:var(--shadow-aside), inset -1px 0 0 var(--panel-edge)}.aside-hide{left:calc(-1 * var(--aside-width));animation:.3s hide-aside}@keyframes show-aside{0%{left:calc(-1 * var(--aside-width))}to{left:0}}@keyframes hide-aside{0%{left:0}to{left:calc(-1 * var(--aside-width))}}.article-copy{background-color:var(--color-brand);border-radius:var(--radius-md);color:var(--color-white);margin:1rem 0;padding:.6rem;display:block}.article-container section.article-copy a{color:var(--color-white)}.article-copy .article-copy-info{color:rgb(var(--rgb-white) / 85%);margin-top:.2rem}.article-container section.article-copy .article-copy-info a{color:inherit;font-weight:400}.fireworks{z-index:1100;pointer-events:none;width:100vw;height:100dvh;position:fixed;inset:0}@media screen and (width<=487px){.main>header{width:100%;height:38vh;margin:0}.main>article{width:100%;min-height:calc(100% - 38vh);box-shadow:none;border-left:0;border-right:0;margin-top:0;margin-bottom:0}}@media screen and (width>=488px){.main{width:100vw;height:100%;margin:0 auto}.main>header{border-radius:var(--radius-lg);width:min(80%,72rem);height:38vh;margin:2rem auto 0;overflow:hidden}.main>article{border-radius:var(--radius-lg);width:min(80%,72rem);min-height:calc(100% - 43.4vh);margin-left:auto;margin-right:auto}}@media (prefers-reduced-motion:reduce){.main{scroll-behavior:auto}.aside-show,.aside-hide{animation:none}}@media screen and (width>=688px){.main>header{height:46vh}.main>article{min-height:calc(100% - 51.4vh)}}@media screen and (width>=888px){.main>header{height:400px}.main>article{min-height:calc(100% - 400px - 5.4vh)}}@font-face{font-family:iconfont;src:url(/static/fonts/iconfont.woff2)format("woff2"),url(/static/fonts/iconfont.woff)format("woff"),url(/static/fonts/iconfont.ttf)format("truetype")}.iconfont{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;font-style:normal;font-family:iconfont!important}.icon-like:before{content:""}.icon-pyq:before{content:""}.icon-pc:before{content:""}.icon-backtop:before{content:""}.icon-Shut-down:before{content:""}.icon-friendfill:before{content:""}.icon-search:before{content:""}.icon-tag:before{content:""}.icon-sun:before{content:""}.icon-date:before{content:""}.icon-right:before{content:""}.icon-left:before{content:""}.icon-up:before{content:""}.icon-down:before{content:""}.icon-about:before{content:""}.icon-menu:before{content:""}.icon-moon:before{content:""}.icon-fenleiclassify:before{content:""}.icon-pause:before{content:""}.icon-play:before{content:""}.icon-Home:before{content:""}.icon-plane:before{content:""}.icon-pencil:before{content:""}.icon-cnblogs:before{content:""}.icon-QQ:before{content:""}.icon-backup:before{content:""}.icon-github:before{content:""}.icon-planet:before{content:""}.icon-bianjibeifen:before{content:""}.icon-gitee:before{content:""}.icon-mail:before{content:""}.icon-bilibili:before{content:""}.icon-bird-copy:before{content:""}.icon-code:before{content:""}.icon-email:before{content:""}#themeToggle[data-astro-cid-xbqlppoa]{user-select:none;cursor:pointer;background:0 0;border:0;transition:transform .18s cubic-bezier(.22,1,.36,1);position:relative;top:.6rem;left:.6rem}#themeToggle[data-astro-cid-xbqlppoa]:active{transform:translateY(1px)scale(.94)}.sun[data-astro-cid-xbqlppoa]{fill:var(--color-accent-cyan)}.moon[data-astro-cid-xbqlppoa],.dark .sun[data-astro-cid-xbqlppoa]{fill:#0000}.dark .moon[data-astro-cid-xbqlppoa]{fill:var(--text-on-dark)}.doc{--article-rule:rgb(var(--rgb-brand) / 14%);--article-meta-color:var(--text-tertiary);--article-summary-color:var(--text-secondary);--article-tag-surface:rgb(var(--rgb-brand) / 7%);--article-nav-surface:rgb(var(--rgb-brand) / 3%);--article-nav-surface-hover:rgb(var(--rgb-brand) / 7%);--article-heading-primary:var(--text-primary);--article-heading-strong:var(--text-strong);--article-heading-marker:var(--color-accent-pink);overflow-wrap:break-word;margin-top:2vh;margin-bottom:2vh}.dark .doc{--article-rule:rgb(var(--rgb-accent-cyan) / 22%);--article-meta-color:var(--text-on-dark-soft);--article-summary-color:var(--text-on-dark-secondary);--article-tag-surface:rgb(var(--rgb-accent-cyan) / 8%);--article-nav-surface:rgb(var(--rgb-accent-cyan) / 4%);--article-nav-surface-hover:rgb(var(--rgb-accent-cyan) / 9%);--article-heading-primary:var(--text-on-dark-strong);--article-heading-strong:var(--text-on-dark);--article-heading-marker:var(--color-accent-cyan)}.doc .article-search-meta{clip:rect(0 0 0 0);white-space:nowrap;counter-increment:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.article-lead{border-bottom:1px solid var(--article-rule);margin:-.1rem 0 1.35rem;padding:.2rem .2rem 1rem;scroll-margin-top:4rem;position:relative}.article-lead:after{background:var(--color-brand);content:"";border-radius:1px;width:clamp(2.6rem,8%,4rem);height:2px;position:absolute;bottom:-1px;left:0}.dark .article-lead:after{background:var(--color-accent-cyan)}.doc .article-title{color:var(--text-primary);letter-spacing:-.018em;text-wrap:balance;counter-increment:none;border:0;margin:0;padding:0;font-size:clamp(1.55rem,2.6vw,2rem);line-height:1.3}.doc .article-title:before{content:none}.dark .doc .article-title{color:var(--text-on-dark-strong)}.doc .article-description{max-width:46rem;color:var(--article-summary-color);text-indent:0;text-wrap:pretty;margin:.42rem 0 0;font-size:.9rem;line-height:1.55}.article-lead-details{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem 1rem;margin-top:.65rem;display:flex}.article-meta{color:var(--article-meta-color);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:.55rem 1.15rem;font-size:.76rem;display:flex}.article-meta time,.article-meta span{align-items:center;gap:.35rem;display:inline-flex}.article-meta .iconfont{font-size:.8rem}.article-meta svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:.88rem;height:.88rem}.article-lead-tags{flex-wrap:wrap;gap:.45rem .75rem;display:flex}.doc .article-lead-tags a{background:var(--article-tag-surface);color:var(--color-brand);border-radius:.3rem;align-items:center;gap:.25rem;padding:.18rem .45rem;font-size:.72rem;font-weight:400;line-height:1.35;transition:background-color .2s,color .2s;display:inline-flex}.doc .article-lead-tags a:hover{background:var(--color-brand);color:var(--color-white)}html[data-input-mode=keyboard] .doc .article-lead-tags a:focus-visible,html[data-input-mode=keyboard] .doc .article-neighbor:focus-visible,html[data-input-mode=keyboard] .doc .article-related-item:focus-visible,html[data-input-mode=keyboard] .doc .code-copy-button:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.article-lead-tags .iconfont{font-size:.68rem}.dark .doc .article-lead-tags a{color:var(--color-accent-cyan)}.dark .doc .article-lead-tags a:hover{background:var(--color-accent-cyan);color:var(--surface-page-dark)}html.dark[data-input-mode=keyboard] .doc .article-lead-tags a:focus-visible,html.dark[data-input-mode=keyboard] .doc .article-neighbor:focus-visible,html.dark[data-input-mode=keyboard] .doc .article-related-item:focus-visible,html.dark[data-input-mode=keyboard] .doc .code-copy-button:focus-visible{outline-color:var(--color-accent-cyan)}.article-neighbors{border-top:1px solid var(--article-rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1.35rem 0 .85rem;padding-top:.8rem;display:grid}.doc .article-neighbor{border:1px solid var(--article-rule);background:var(--article-nav-surface);min-width:0;min-height:3.7rem;color:var(--text-primary);border-radius:.45rem;flex-direction:column;justify-content:center;gap:.2rem;padding:.5rem .68rem;transition:border-color .22s,background-color .22s,transform .22s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden}.doc .article-neighbor:after{background:var(--color-brand);content:"";opacity:0;width:2px;transition:opacity .22s;position:absolute;top:0;bottom:0}.doc .article-neighbor-previous:after{left:0}.doc .article-neighbor-next{text-align:right;grid-column:2}.doc .article-neighbor-next:after{right:0}.doc .article-neighbor:hover{border-color:rgb(var(--rgb-brand) / 28%);background:var(--article-nav-surface-hover);color:var(--color-brand)}.doc .article-neighbor-previous:hover{transform:translate(-2px)}.doc .article-neighbor-next:hover{transform:translate(2px)}.doc .article-neighbor:hover:after{opacity:1}.article-neighbor-direction{color:var(--article-meta-color);align-items:center;gap:.25rem;font-size:.68rem;font-weight:400;display:flex}.article-neighbor-next .article-neighbor-direction{justify-content:flex-end}.article-neighbor-direction .iconfont{font-size:.64rem;transition:transform .22s}.article-neighbor-previous:hover .article-neighbor-direction .iconfont{transform:translate(-2px)}.article-neighbor-next:hover .article-neighbor-direction .iconfont{transform:translate(2px)}.article-neighbor strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;line-height:1.45;overflow:hidden}.dark .doc .article-neighbor{color:var(--text-on-dark)}.dark .doc .article-neighbor:after{background:var(--color-accent-cyan)}.dark .doc .article-neighbor:hover{border-color:rgb(var(--rgb-accent-cyan) / 32%);color:var(--color-accent-cyan)}.article-related{border-top:1px solid var(--article-rule);margin:1.45rem 0 1rem;padding-top:1rem}.doc .article-related>h2{color:var(--article-meta-color);letter-spacing:.06em;align-items:center;gap:.42rem;margin:0 0 .58rem;padding:0;font-size:.72rem;font-weight:600;display:flex}.doc .article-related>h2:before{background:var(--color-brand);content:"";opacity:.8;border-radius:999px;flex:none;width:.18rem;height:.82rem;display:block;position:static;transform:none}.dark .doc .article-related>h2:before{background:var(--color-accent-cyan)}.article-related-list{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.5rem;display:grid}.doc .article-related-item{border:1px solid var(--article-rule);background:var(--article-nav-surface);min-width:0;min-height:4rem;color:var(--text-primary);border-radius:.4rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.58rem .68rem;transition:border-color .2s,background-color .2s,color .2s;display:grid}.article-related-copy{flex-direction:column;gap:.16rem;min-width:0;display:flex}.doc .article-related-copy>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;line-height:1.4;overflow:hidden}.doc .article-related-copy>small{color:var(--article-meta-color);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:400;line-height:1.35;overflow:hidden}.doc .article-related-item>svg{fill:none;width:.9rem;height:.9rem;stroke:var(--article-meta-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;transition:stroke .2s,transform .2s}.doc .article-related-item:hover{border-color:rgb(var(--rgb-brand) / 28%);background:var(--article-nav-surface-hover);color:var(--color-brand)}.doc .article-related-item:hover>svg{stroke:var(--color-brand);transform:translate(2px)}.dark .doc .article-related-item{color:var(--text-on-dark)}.dark .doc .article-related-item:hover{border-color:rgb(var(--rgb-accent-cyan) / 32%);color:var(--color-accent-cyan)}.dark .doc .article-related-item:hover>svg{stroke:var(--color-accent-cyan)}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{overflow-wrap:break-word;letter-spacing:-.012em;margin-left:0;margin-right:0;padding-left:.72rem;line-height:1.45;position:relative}.article-content>:is(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}.article-content h1:before,.article-content h2:before,.article-content h3:before,.article-content h4:before,.article-content h5:before,.article-content h6:before{width:var(--article-heading-marker-width);height:var(--article-heading-marker-height);background:var(--article-heading-marker);content:"";opacity:var(--article-heading-marker-opacity);border-radius:999px;position:absolute;top:.725em;left:0;transform:translateY(-50%)}.article-content h1{--article-heading-marker-width:.26rem;--article-heading-marker-height:1.08em;--article-heading-marker-opacity:1;color:var(--article-heading-primary);margin-top:2rem;margin-bottom:.8rem;font-size:clamp(1.32rem,2.1vw,1.5rem);font-weight:700}.article-content h2{--article-heading-marker-width:.24rem;--article-heading-marker-height:.94em;--article-heading-marker-opacity:.9;color:var(--article-heading-primary);margin-top:1.9rem;margin-bottom:.72rem;font-size:clamp(1.18rem,1.8vw,1.3rem);font-weight:700}.article-content h3{--article-heading-marker-width:.22rem;--article-heading-marker-height:.8em;--article-heading-marker-opacity:.8;color:var(--article-heading-strong);margin-top:1.5rem;margin-bottom:.6rem;font-size:clamp(1.06rem,1.45vw,1.12rem);font-weight:650}.article-content h4{--article-heading-marker-width:.2rem;--article-heading-marker-height:.66em;--article-heading-marker-opacity:.7;color:var(--article-heading-strong);margin-top:1.28rem;margin-bottom:.54rem;font-size:1rem;font-weight:700}.article-content h5{--article-heading-marker-width:.18rem;--article-heading-marker-height:.5em;--article-heading-marker-opacity:.6;color:var(--article-heading-strong);margin-top:1.12rem;margin-bottom:.48rem;font-size:1rem;font-weight:650}.article-content h6{--article-heading-marker-width:.18rem;--article-heading-marker-height:.3em;--article-heading-marker-opacity:.5;color:var(--article-heading-strong);margin-top:1.02rem;margin-bottom:.44rem;font-size:1rem;font-weight:600}.doc p,.doc blockquote p{overflow-wrap:break-word;text-wrap:pretty;margin:.8rem 0;line-height:1.72}.article-content>p,.article-content>blockquote,.article-content>ul,.article-content>ol{max-width:72ch}.dark .article-container p{color:var(--text-on-dark)}.doc blockquote p:before{content:"";color:var(--color-brand);margin-right:.2rem;padding:.2rem;display:inline-block;font-family:iconfont!important}.dark .article-container blockquote p:before{color:var(--text-blue-dark)}.doc pre{border-radius:var(--radius-md);border:1px solid var(--border-code);max-width:100%;box-shadow:0 2px 8px rgb(var(--rgb-black) / 8%);margin:.8rem 0;padding:2.4rem .6rem .6rem;font-size:1rem;position:relative;overflow:hidden;background-color:var(--surface-code)!important}.doc pre:before{content:"";background-color:var(--terminal-red);width:12px;height:12px;box-shadow:20px 0 0 var(--terminal-yellow), 40px 0 0 var(--terminal-green);z-index:1;border-radius:50%;position:absolute;top:.6rem;left:.6rem}.doc .code-copy-button{z-index:2;border:1px solid rgb(var(--rgb-brand) / 15%);background:rgb(var(--rgb-white) / 35%);height:1.75rem;color:var(--text-secondary);cursor:pointer;border-radius:.32rem;align-items:center;gap:.25rem;padding:0 .42rem;font-family:inherit;font-size:.66rem;transition:border-color .18s,background-color .18s,color .18s,transform .18s;display:inline-flex;position:absolute;top:.34rem;right:.45rem}.doc .code-copy-button:active{transform:translateY(1px)scale(.97)}.doc .code-copy-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:.78rem;height:.78rem}.doc .code-copy-button:hover,.doc .code-copy-button.is-copied{border-color:rgb(var(--rgb-brand) / 30%);background:rgb(var(--rgb-brand) / 8%);color:var(--color-brand)}.dark .doc pre{border-color:var(--text-strong);box-shadow:0 2px 8px rgb(var(--rgb-black) / 30%);background-color:var(--surface-dark-code)!important}.dark .doc .code-copy-button{border-color:rgb(var(--rgb-accent-cyan) / 16%);background:rgb(var(--rgb-white) / 4%);color:var(--text-on-dark-soft)}.dark .doc .code-copy-button:hover,.dark .doc .code-copy-button.is-copied{border-color:rgb(var(--rgb-accent-cyan) / 34%);background:rgb(var(--rgb-accent-cyan) / 9%);color:var(--color-accent-cyan)}.doc pre code{overflow-wrap:break-word;background-color:#0000;max-width:calc(100% - 2rem);padding:0;overflow-x:auto;color:var(--text-strong)!important}.dark .doc pre code{color:var(--text-on-dark)!important}.doc .astro-code span,.doc .shiki span{color:var(--shiki-light,var(--text-strong))!important}.dark .doc .astro-code span,.dark .doc .shiki span{color:var(--shiki-dark,var(--text-on-dark))!important}.doc code{white-space:pre-wrap;background-color:var(--surface-code);max-width:100%;color:var(--text-strong);border:1px solid #0000;border-radius:.2rem;padding:0 .3rem;font-size:1rem;font-weight:700;line-height:1rem}.dark .doc code{color:var(--text-on-dark);background-color:var(--surface-dark-control);border-color:var(--border-dark-code)}.doc ul,.doc ol{margin-left:1.2rem;line-height:1.6}.doc li{margin-top:.4rem;margin-bottom:.2rem}.dark .article-container ul,.dark .article-container ol{color:var(--text-on-dark)}.doc table{border-collapse:collapse;width:100%;margin:.8rem 0;overflow-x:auto}.doc th{text-align:left;color:var(--text-strong);border:1px solid var(--border-light);padding:.6rem 1rem;font-weight:700}.dark .doc th{color:var(--text-on-dark);border-color:var(--border-dark-soft)}.doc tbody tr{border-bottom:1px solid var(--border-light)}.dark .doc tbody tr{border-color:var(--border-dark-soft)}.doc tbody tr:nth-child(2n){background-color:var(--surface-soft)}.dark .doc tbody tr:nth-child(2n){background-color:var(--surface-dark-row)}.doc td{border:1px solid var(--border-light);padding:.6rem 1rem}.dark .doc td{border-color:var(--border-dark-soft);color:var(--text-on-dark)}.doc hr{margin:.8rem 0}.dark .article-container hr{color:var(--rule-dark)}.doc img{background-color:#0000;border-radius:.3rem;max-width:100%;height:auto;margin:.8rem auto;display:block}.article-container.doc>p,.article-container.doc .article-content>p{text-indent:2em}.article-container blockquote p{text-indent:0}.doc a{color:var(--color-brand);text-decoration:none}.doc a:hover{color:var(--color-brand-hover)}.article-container.doc .article-content a,.article-container.doc .article-content a:hover{color:var(--color-accent-pink)}.dark .article-container a{color:var(--text-on-dark)}.dark .article-container a:hover{color:var(--text-link-dark-hover)}.dark .article-container.doc .article-content a,.dark .article-container.doc .article-content a:hover{color:var(--color-accent-cyan)}.dark .article-container blockquote code{color:var(--text-on-dark);background-color:var(--surface-dark-control)}@media screen and (width<=487px){.article-lead{margin-top:0;margin-bottom:1.15rem;padding:.05rem 0 .9rem}.doc .article-title{font-size:1.5rem}.doc .article-description{font-size:.86rem}.article-lead-details{justify-content:flex-start;gap:.5rem .8rem;margin-top:.55rem}.article-meta{gap:.4rem .8rem}.article-neighbors{grid-template-columns:1fr;gap:.55rem}.article-related-list{grid-template-columns:1fr}.doc .article-neighbor-next{grid-column:1}}@media (prefers-reduced-motion:reduce){.doc .article-neighbor,.doc .article-related-item,.doc .code-copy-button,.article-neighbor-direction .iconfont,.doc .article-lead-tags a{transition:none}}.article-toc{--toc-island-surface:rgb(var(--rgb-dark-message) / 96%);--toc-island-panel:rgb(var(--rgb-dark-message) / 94%);--toc-island-border:rgb(var(--rgb-white) / 12%);--toc-island-text:var(--text-on-dark);--toc-island-muted:var(--text-on-dark-soft);--toc-island-active:var(--color-accent-cyan);--toc-summary-height:1.7rem;--toc-summary-width:5.25rem;--toc-summary-radius:.76rem;--toc-panel-radius:.78rem;--toc-aside-offset:0px;z-index:1000;width:min(34rem,100vw - .75rem);height:var(--toc-summary-height);color:var(--toc-island-text);pointer-events:none;transform:translate3d(calc(-50% + var(--toc-aside-offset)), 0, 0);margin:0;transition:transform .3s cubic-bezier(.22,1,.36,1);position:fixed;top:.4rem;left:50%}.aside-show .article-toc{--toc-aside-offset:var(--aside-width)}.article-toc-summary{z-index:1;width:min(var(--toc-summary-width), 100%);height:var(--toc-summary-height);border:1px solid var(--toc-island-border);border-radius:var(--toc-summary-radius);background:var(--toc-island-surface);box-shadow:0 .35rem 1rem rgb(var(--rgb-black) / 14%), inset 0 1px 0 rgb(var(--rgb-white) / 5%);backdrop-filter:blur(16px)saturate(120%);color:var(--toc-island-text);cursor:pointer;letter-spacing:.02em;pointer-events:auto;user-select:none;justify-content:center;align-items:center;margin:0 auto;padding:0 calc(.46rem + 6px);font-size:.66rem;font-weight:400;transition:border-color .2s cubic-bezier(.22,1,.36,1),background-color .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1),opacity .16s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1),visibility step-end;display:flex;position:relative;overflow:hidden}.article-toc-summary>span{white-space:nowrap;min-width:max-content;margin:0 auto;display:block}.article-toc-summary>span.is-overflowing{animation:article-toc-title-scroll var(--toc-title-duration,1s) cubic-bezier(.45, 0, .55, 1) .12s infinite alternate both;will-change:transform;margin:0}.article-toc-summary.has-overflowing-title{justify-content:flex-start}@keyframes article-toc-title-scroll{0%,10%{transform:translate(0,0)}90%,to{transform:translate3d(calc(-1 * var(--toc-title-scroll-distance)), 0, 0)}}.article-toc-summary:focus{outline:none}.article-toc-summary:hover{border-color:rgb(var(--rgb-accent-cyan) / 32%);background:rgb(var(--rgb-dark-message) / 98%);box-shadow:0 .4rem 1.1rem rgb(var(--rgb-black) / 18%), 0 0 .55rem rgb(var(--rgb-accent-cyan) / 10%), inset 0 1px 0 rgb(var(--rgb-white) / 6%)}.article-toc-summary:active{transform:translateY(1px)scale(.97)}.article-toc.is-open .article-toc-summary,.article-toc.is-closing .article-toc-summary{box-shadow:none;opacity:0;pointer-events:none;visibility:hidden;background:0 0;border-color:#0000;transition-delay:0s,0s,0s,0s,0s,.16s;transform:scale(.9)}html[data-input-mode=keyboard] .article-toc-summary:focus-visible{outline:2px solid var(--toc-island-active);outline-offset:2px}html[data-input-mode=keyboard] .article-toc.is-open .article-toc-summary:focus-visible{color:var(--toc-island-active);text-decoration:underline;text-decoration-color:rgb(var(--rgb-accent-cyan) / 48%);text-underline-offset:.2rem;outline:none}.article-toc nav{z-index:0;border:1px solid var(--toc-island-border);border-radius:var(--toc-panel-radius);background:var(--toc-island-panel);width:100%;box-shadow:0 .9rem 2.2rem rgb(var(--rgb-black) / 26%), inset 0 1px 0 rgb(var(--rgb-white) / 5%);backdrop-filter:blur(18px)saturate(125%);pointer-events:auto;transform-origin:top;padding:.55rem;animation:.3s cubic-bezier(.22,1,.36,1) article-toc-expand;position:absolute;top:0;left:50%;overflow:hidden;transform:translate(-50%)}.article-toc.is-closing nav{pointer-events:none;animation:.24s cubic-bezier(.4,0,.6,1) both article-toc-collapse}.article-toc nav[hidden]{display:none}@keyframes article-toc-expand{0%{clip-path:inset(0 42% calc(100% - var(--toc-summary-height)) 42% round var(--toc-summary-radius));opacity:.88}to{clip-path:inset(0 0 0 0 round var(--toc-panel-radius));opacity:1}}@keyframes article-toc-collapse{0%{clip-path:inset(0 0 0 0 round var(--toc-panel-radius));opacity:1}to{clip-path:inset(0 42% calc(100% - var(--toc-summary-height)) 42% round var(--toc-summary-radius));opacity:.88}}.article-toc-viewport{cursor:grab;touch-action:pan-y;user-select:none;border-radius:.52rem;outline:none;overflow:hidden}.article-toc-viewport.is-dragging{cursor:grabbing}html[data-input-mode=keyboard] .article-toc-viewport:focus-visible{outline:1px solid rgb(var(--rgb-accent-cyan) / 42%);outline-offset:2px}.article-toc-track{will-change:transform;align-items:stretch;transition:transform .32s cubic-bezier(.22,1,.36,1);display:flex}.article-toc-slide{flex:0 0 100%;min-width:100%}.doc .article-toc-heading-list{border:1px solid rgb(var(--rgb-white) / 6%);background:rgb(var(--rgb-white) / 2.5%);overscroll-behavior:contain;scrollbar-color:rgb(var(--rgb-accent-cyan) / 28%) transparent;scrollbar-width:thin;border-radius:.5rem;min-height:8.6rem;max-height:min(15rem,46vh);margin:0;padding:.42rem;list-style:none;overflow-y:auto}.doc .article-toc-heading-list::-webkit-scrollbar{width:3px;display:block}.doc .article-toc-heading-list::-webkit-scrollbar-thumb{background:rgb(var(--rgb-accent-cyan) / 28%);border-radius:2px}.article-toc-heading-list li{margin:0}.doc .article-toc-parent-item{border-bottom:1px solid rgb(var(--rgb-accent-cyan) / 12%);margin-bottom:.3rem;padding-bottom:.38rem}.doc .article-toc-parent-link{color:var(--toc-island-text);text-overflow:ellipsis;white-space:nowrap;padding:.32rem .5rem;font-size:.76rem;font-weight:700;line-height:1.45;display:block;overflow:hidden}.doc .article-toc-heading-list>li:not(.article-toc-parent-item) a{color:var(--toc-island-muted);text-overflow:ellipsis;white-space:nowrap;-webkit-user-drag:none;border-radius:.32rem;padding:.38rem .5rem;font-size:.73rem;font-weight:400;line-height:1.4;transition:background-color .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:hidden}.doc .article-toc-heading-list>li:not(.article-toc-parent-item) a:hover{background:rgb(var(--rgb-accent-cyan) / 10%);color:var(--toc-island-active)}.doc .article-toc-heading-list a.is-active{background:rgb(var(--rgb-accent-cyan) / 12%);color:var(--toc-island-active);padding-left:.72rem;font-weight:700}.doc .article-toc-heading-list a.is-active:before{background:var(--toc-island-active);content:"";width:2px;box-shadow:0 0 .3rem rgb(var(--rgb-accent-cyan) / 52%);border-radius:1px;position:absolute;top:.43rem;bottom:.43rem;left:.32rem}html[data-input-mode=keyboard] .doc .article-toc a:focus-visible{outline:2px solid var(--toc-island-active);outline-offset:-1px}.article-toc-level-switcher{grid-template-columns:1fr auto 1fr;align-items:center;gap:.45rem;margin-top:.48rem;padding:0 .14rem;display:grid}.article-toc-level-switcher button{width:max-content;color:var(--toc-island-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:.28rem;padding:.18rem .26rem;font-size:.58rem;transition:color .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1);display:inline-flex}.article-toc-level-switcher button:active:not(:disabled){transform:translateY(1px)scale(.97)}.article-toc-level-switcher button:last-child{margin-left:auto}.article-toc-level-switcher button:hover:not(:disabled){color:var(--toc-island-active)}.article-toc-level-switcher button:disabled{cursor:default;opacity:.25}.article-toc-level-switcher button i{border-bottom:1px solid;border-left:1px solid;width:.36rem;height:.36rem;transform:rotate(45deg)}.article-toc-level-switcher button:last-child i{transform:rotate(225deg)}.article-toc-level-switcher>span{color:var(--toc-island-muted);font-variant-numeric:tabular-nums;font-size:.56rem}.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{scroll-margin-top:4rem}@media screen and (width<=487px){.article-toc{width:calc(100vw - .75rem)}.article-toc nav{padding:.45rem}.doc .article-toc-heading-list{min-height:8.2rem;padding:.38rem}.doc .article-toc-heading-list>li:not(.article-toc-parent-item) a{padding-top:.4rem;padding-bottom:.4rem}}@media (prefers-reduced-motion:reduce){.article-toc,.article-toc-summary,.article-toc-track,.doc .article-toc a{transition:none}.article-toc nav{animation:none}.article-toc-summary>span.is-overflowing{text-overflow:ellipsis;will-change:auto;min-width:0;max-width:100%;animation:none;overflow:hidden}}@media screen and (width>=488px){.article-toc{width:min(34rem,80vw - 1rem);top:2.4rem}}.reading-flight[data-astro-cid-kw4rgypl]{--reading-progress:0;--flight-rgb:var(--rgb-brand);z-index:998;width:2.9rem;height:5.35rem;color:var(--color-flight-wing);cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;padding:0;transition:opacity .25s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1),color .2s cubic-bezier(.22,1,.36,1);position:fixed;top:50%;right:.18rem;transform:translate(.65rem,-50%)}.reading-flight[data-astro-cid-kw4rgypl].is-visible{opacity:.82;pointer-events:auto;transform:translateY(-50%)}.reading-flight[data-astro-cid-kw4rgypl]:hover,.reading-flight[data-astro-cid-kw4rgypl].is-returning{color:var(--color-flight-wing-hover);opacity:1;transform:translate(-.12rem,-50%)}.reading-flight[data-astro-cid-kw4rgypl]:active{transform:translateY(-50%)scale(.97)}html[data-input-mode=keyboard] .reading-flight[data-astro-cid-kw4rgypl]:focus-visible{outline-offset:1px;opacity:1;border-radius:1.1rem;outline:1px solid}.reading-flight-route[data-astro-cid-kw4rgypl]{top:calc((100% - var(--edge-control-length)) / 2);width:.48rem;height:var(--edge-control-length);background:radial-gradient(ellipse at center, rgb(var(--flight-rgb) / 8%) 0, transparent 72%);border-radius:.3rem;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.reading-flight-route[data-astro-cid-kw4rgypl]:after{background:repeating-linear-gradient(to bottom, rgb(var(--flight-rgb) / 24%) 0 2px, transparent 2px 6px);content:"";width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.reading-flight-trail[data-astro-cid-kw4rgypl]{z-index:1;background:linear-gradient(to bottom, rgb(var(--flight-rgb) / 18%), rgb(var(--flight-rgb) / 62%));width:2px;height:100%;box-shadow:0 0 5px rgb(var(--flight-rgb) / 24%);transform:translateX(-50%) scaleY(var(--reading-progress));transform-origin:top;border-radius:1px;transition:transform 80ms cubic-bezier(.22,1,.36,1);position:absolute;top:0;left:50%}.reading-flight-aircraft[data-astro-cid-kw4rgypl]{pointer-events:none;width:2.08rem;height:2.3rem;transform:translate(-50%, -50%) translateY(var(--reading-plane-y,.55rem));transform-origin:50%;transition:transform 80ms cubic-bezier(.22,1,.36,1);display:block;position:absolute;top:0;left:50%}.reading-flight-aircraft-body[data-astro-cid-kw4rgypl]{transform-origin:50%;width:100%;height:100%;transition:transform .34s cubic-bezier(.2,.78,.25,1);display:block;position:relative}.reading-flight-plane[data-astro-cid-kw4rgypl]{z-index:1;fill:currentColor;width:100%;height:100%;filter:drop-shadow(0 1px 1px rgb(var(--rgb-white) / 72%)) drop-shadow(0 2px 3px rgb(var(--flight-rgb) / 18%));display:block;position:relative;overflow:visible}.reading-flight-plane-wing-far[data-astro-cid-kw4rgypl]{fill:var(--color-flight-wing-far)}.reading-flight-plane-flap[data-astro-cid-kw4rgypl]{fill:var(--color-flight-fold);opacity:.28}.reading-flight-plane-flap-far[data-astro-cid-kw4rgypl]{opacity:.16}.reading-flight-plane-fold[data-astro-cid-kw4rgypl],.reading-flight-plane-edge[data-astro-cid-kw4rgypl]{fill:none;stroke:var(--color-flight-fold);stroke-linecap:round;stroke-width:.72px}.reading-flight-plane-edge[data-astro-cid-kw4rgypl]{opacity:.48;stroke-width:.56px}.reading-flight-exhaust[data-astro-cid-kw4rgypl]{height:.94rem;filter:drop-shadow(0 0 2px rgb(var(--flight-rgb) / 25%));transform-origin:bottom;grid-template-columns:repeat(3,1.2px);gap:3px;transition:transform .25s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;bottom:calc(100% - .35rem);left:50%;transform:translate(-50%)}.reading-flight-exhaust[data-astro-cid-kw4rgypl] i[data-astro-cid-kw4rgypl]{background:rgb(var(--flight-rgb) / 62%);border-radius:1px;height:100%;display:block;mask-image:linear-gradient(#0000,#0000005c 24%,#000)}.reading-flight-exhaust[data-astro-cid-kw4rgypl] i[data-astro-cid-kw4rgypl]:nth-child(2){background:rgb(var(--flight-rgb) / 82%);transform-origin:bottom;transform:scaleY(1.08)}.reading-flight-headlights[data-astro-cid-kw4rgypl]{height:.34rem;filter:drop-shadow(0 0 1px rgb(var(--rgb-white) / 78%)) drop-shadow(0 1px 3px rgb(var(--flight-rgb) / 62%));grid-template-columns:repeat(2,1.5px);gap:5.75px;display:grid;position:absolute;top:calc(100% - .26rem);left:50%;transform:translate(-50%)}.reading-flight-headlights[data-astro-cid-kw4rgypl] i[data-astro-cid-kw4rgypl]{background:linear-gradient(to bottom, rgb(var(--flight-rgb) / 96%), rgb(var(--flight-rgb) / 72%) 42%, transparent);border-radius:1px;height:100%;display:block;position:relative}.reading-flight-headlights[data-astro-cid-kw4rgypl] i[data-astro-cid-kw4rgypl]:before{background:var(--color-flight-fold);width:2.75px;height:2.75px;box-shadow:0 0 0 1px rgb(var(--flight-rgb) / 28%), 0 0 4px rgb(var(--flight-rgb) / 72%);content:"";border-radius:50%;position:absolute;top:-1.5px;left:50%;transform:translate(-50%)}@media (hover:hover){.reading-flight[data-astro-cid-kw4rgypl]:hover .reading-flight-aircraft-body[data-astro-cid-kw4rgypl]{transform:rotate(180deg)scale(1.035)}.reading-flight[data-astro-cid-kw4rgypl]:hover .reading-flight-exhaust[data-astro-cid-kw4rgypl]{transform:translate(-50%)scaleY(1.08)}}.reading-flight[data-astro-cid-kw4rgypl].is-returning .reading-flight-aircraft-body[data-astro-cid-kw4rgypl]{transform:rotate(180deg)}.dark .reading-flight[data-astro-cid-kw4rgypl]{--flight-rgb:var(--rgb-accent-cyan)}@media (hover:none){.reading-flight[data-astro-cid-kw4rgypl]:active .reading-flight-aircraft-body[data-astro-cid-kw4rgypl]{transform:rotate(180deg)scale(1.035)}.reading-flight[data-astro-cid-kw4rgypl]:active .reading-flight-exhaust[data-astro-cid-kw4rgypl]{transform:translate(-50%)scaleY(1.08)}}@media screen and (width<=487px){.reading-flight[data-astro-cid-kw4rgypl]{width:2.75rem;height:4.9rem;right:0}.reading-flight-plane[data-astro-cid-kw4rgypl]{width:100%;height:100%}.reading-flight-aircraft[data-astro-cid-kw4rgypl]{width:1.82rem;height:2.02rem}}@media (prefers-reduced-motion:reduce){.reading-flight[data-astro-cid-kw4rgypl],.reading-flight-trail[data-astro-cid-kw4rgypl],.reading-flight-aircraft[data-astro-cid-kw4rgypl],.reading-flight-aircraft-body[data-astro-cid-kw4rgypl],.reading-flight-exhaust[data-astro-cid-kw4rgypl]{transition:none}}.site-footprints{--sf-accent:var(--color-brand);--sf-accent-rgb:var(--rgb-brand);border-radius:var(--radius-xl);background-color:var(--surface-soft);box-shadow:var(--shadow-card), inset 0 1px 0 var(--card-gloss), inset 0 0 0 1px var(--card-hairline);margin:2.6rem 0 1.6rem;padding:1.3rem 1.3rem 1.4rem;position:relative}.sf-head{align-items:center;gap:.55rem;margin-bottom:1.15rem;display:flex}.sf-head:before{background:var(--article-heading-marker);content:"";border-radius:999px;width:.26rem;height:1.08em}.sf-head h2{color:var(--text-strong);letter-spacing:.06em;margin:0;font-size:1.3rem;line-height:1.45}.sf-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:0;display:grid}.sf-tile{border-radius:var(--radius-md);background-color:rgb(var(--rgb-white) / 62%);min-width:0;box-shadow:var(--shadow-card-hover), inset 0 1px 0 var(--card-gloss), inset 0 0 0 1px var(--card-hairline);align-content:start;gap:.3rem;padding:.62rem .78rem .6rem;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1);display:grid}.sf-tile:hover{box-shadow:var(--shadow-card-hover), inset 0 1px 0 var(--card-gloss), inset 0 0 0 1px rgb(var(--rgb-brand) / 14%);transform:translateY(1px)scale(.98)}.sf-tile:active{box-shadow:var(--shadow-card-hover), inset 0 1px 0 var(--card-gloss), inset 0 0 0 1px rgb(var(--rgb-brand) / 20%);transition-duration:.1s;transform:translateY(2px)scale(.97)}.sf-tile-label{color:var(--text-tertiary);letter-spacing:.16em;font-size:.64rem;font-weight:600}.sf-tile-metric{align-items:baseline;gap:.22rem;margin:0;display:flex}.sf-tile-metric strong{color:var(--sf-accent);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.4rem;font-weight:700;line-height:1}.sf-tile-metric span{color:var(--text-secondary);font-size:.68rem}.sf-tile-progress{margin:0}.sf-tile-track{background-color:rgb(var(--sf-accent-rgb) / 10%);border-radius:999px;height:.24rem;margin-top:.1rem;display:block;position:relative;overflow:hidden}.sf-tile-fill{border-radius:inherit;background:linear-gradient(90deg, var(--sf-accent), var(--color-accent-cyan));transform:scaleX(var(--fill,0));transform-origin:0;animation:.7s cubic-bezier(.22,1,.36,1) both sf-fill-in-initial;animation-delay:calc(var(--sf-index,0) * 90ms);position:absolute;inset:0}@keyframes sf-fill-in-initial{0%{transform:scaleX(0)}}.dark .site-footprints{--sf-accent:var(--color-accent-cyan);--sf-accent-rgb:var(--rgb-accent-cyan);background-color:rgb(var(--rgb-dark-card) / 55%);box-shadow:var(--shadow-card), inset 0 1px 0 var(--card-gloss), inset 0 0 0 1px var(--card-hairline)}.dark .sf-head h2{color:var(--text-on-dark)}.dark .sf-tile{background-color:rgb(var(--rgb-dark-panel) / 72%);box-shadow:var(--shadow-card-hover), inset 0 1px 0 var(--card-gloss), inset 0 0 0 1px var(--card-hairline)}.dark .sf-tile:hover{box-shadow:var(--shadow-card-hover), inset 0 1px 0 var(--card-gloss), inset 0 0 0 1px rgb(var(--rgb-accent-cyan) / 18%)}.dark .sf-tile:active{box-shadow:var(--shadow-card-hover), inset 0 1px 0 var(--card-gloss), inset 0 0 0 1px rgb(var(--rgb-accent-cyan) / 26%);transition-duration:.1s}.dark .sf-tile-label{color:var(--text-on-dark-soft)}.dark .sf-tile-metric span{color:var(--text-on-dark-secondary)}.dark .sf-tile-track{background-color:rgb(var(--sf-accent-rgb) / 20%)}@media (width<=640px){.site-footprints{padding:1.1rem 1rem 1.15rem}.sf-grid{overscroll-behavior-inline:contain;scrollbar-width:none;cursor:grab;touch-action:pan-y;user-select:none;grid-template-columns:repeat(4,minmax(6.5rem,1fr));gap:.5rem;overflow-x:auto}.sf-grid.sf-grid-dragging{cursor:grabbing}.sf-tile{padding:.5rem .55rem .48rem}.sf-tile-label{letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;overflow:hidden}.sf-tile-metric strong{font-size:1.05rem}.sf-tile-metric span{font-size:.56rem}}@media (prefers-reduced-motion:reduce){.sf-tile-fill{animation:none}}.docs-search{z-index:3;position:absolute;top:0;right:0}.docs-search-toggle{width:34px;height:34px;color:var(--color-accent-cyan);cursor:pointer;user-select:none;background:0 0;border:0;padding:2px;transition:color .2s cubic-bezier(.2,.7,.2,1),transform .2s cubic-bezier(.2,.7,.2,1);position:relative;top:.6rem;right:.6rem}.docs-search-toggle:hover{color:var(--color-accent-cyan-hover);transform:scale(1.06)}.docs-search-toggle:active{transform:translateY(1px)scale(.94)}html[data-input-mode=keyboard] .docs-search-toggle:focus-visible{outline-offset:2px;border-radius:50%;outline:2px solid}.docs-search-toggle svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:30px;height:30px}.docs-search-panel{border-radius:var(--radius-xl);width:min(21.5rem,100vw - 2rem);color:var(--text-on-dark);background:var(--surface-dark-panel);box-shadow:inset 0 0 0 1px rgb(var(--rgb-white) / 12%), 0 .8rem 2.4rem rgb(var(--rgb-black) / 22%);transform-origin:100% 0;padding:.32rem;animation:.2s cubic-bezier(.2,.75,.2,1) docs-search-in;position:absolute;top:3.35rem;right:.8rem}.docs-search-panel[hidden],#docsSearchMain[hidden],.time-explore[hidden]{display:none}.docs-search-panel-core{border-radius:calc(var(--radius-xl) - .24rem);background:var(--surface-dark-card);box-shadow:inset 0 1px 0 rgb(var(--rgb-white) / 11%), inset 0 0 0 1px rgb(var(--rgb-white) / 5%);padding:.58rem}.docs-search-field{border-radius:var(--radius-md);background:rgb(var(--rgb-white) / 8%);min-height:2.6rem;box-shadow:inset 0 0 0 1px rgb(var(--rgb-white) / 15%);align-items:center;gap:.55rem;padding:0 .7rem;transition:background-color .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s cubic-bezier(.2,.7,.2,1);display:flex}.docs-search-field:focus-within{background:rgb(var(--rgb-white) / 11%);box-shadow:inset 0 0 0 1px rgb(var(--rgb-accent-cyan) / 68%), 0 0 0 3px rgb(var(--rgb-accent-cyan) / 8%)}.docs-search-field svg{fill:none;width:1rem;height:1rem;stroke:var(--color-accent-cyan);stroke-width:1.8px;stroke-linecap:round;flex:none}.docs-search-field input{min-width:0;color:var(--color-white);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:.9rem}.docs-search-field input::placeholder{color:var(--text-on-dark-secondary)}.docs-search-field input::-webkit-search-cancel-button{filter:invert();opacity:.65}.docs-search-field kbd{color:var(--text-on-dark-muted);box-shadow:inset 0 0 0 1px rgb(var(--rgb-white) / 17%);border-radius:.25rem;padding:.12rem .3rem;font-family:inherit;font-size:.58rem;font-weight:400}.docs-search-status{min-height:1.55rem;color:var(--text-on-dark-muted);padding:.44rem .2rem .24rem;font-size:.68rem}.docs-search-results{gap:.15rem;max-height:7.2rem;display:grid;overflow-y:auto}.docs-search-result{border-radius:var(--radius-md);color:var(--text-on-dark);align-items:center;gap:.7rem;padding:.46rem .55rem;font-weight:400;transition:background-color .18s cubic-bezier(.2,.7,.2,1),transform .18s cubic-bezier(.2,.7,.2,1),opacity .18s cubic-bezier(.2,.7,.2,1);display:flex}.docs-search-result[hidden]{display:none}.docs-search-result:hover,html[data-input-mode=keyboard] .docs-search-result:focus-visible{background:rgb(var(--rgb-white) / 9%);outline:none;transform:translate(.15rem)}.docs-search-result:active{transform:translate(.08rem)translateY(1px)scale(.99)}.docs-search-result-copy{flex:1;min-width:0}.docs-search-result strong,.docs-search-result small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.docs-search-result strong{color:var(--text-on-dark-strong);font-size:.88rem}.docs-search-result small{color:var(--text-on-dark-secondary);margin-top:.16rem;font-size:.7rem}.docs-search-result small mark{color:var(--color-accent-cyan);background:0 0;font-weight:700}.docs-search-result>svg{fill:none;width:.95rem;height:.95rem;stroke:var(--color-accent-cyan);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:0;flex:none;transition:opacity .18s cubic-bezier(.2,.7,.2,1),transform .18s cubic-bezier(.2,.7,.2,1);transform:translate(-.2rem)}.docs-search-result:hover>svg,html[data-input-mode=keyboard] .docs-search-result:focus-visible>svg{opacity:1;transform:translate(0)}.docs-search-empty{color:var(--text-on-dark-secondary);text-align:center;padding:1.7rem .5rem 1.4rem;font-size:.8rem}.docs-search-pagination{color:var(--text-on-dark-muted);justify-content:center;align-items:center;gap:.65rem;padding:.45rem .2rem .02rem;font-size:.65rem;display:flex}.docs-search-pagination[hidden]{display:none}.docs-search-pagination button{width:1.65rem;height:1.65rem;color:var(--text-on-dark-secondary);background:rgb(var(--rgb-white) / 6%);box-shadow:inset 0 0 0 1px rgb(var(--rgb-white) / 13%);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;transition:background-color .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s cubic-bezier(.2,.7,.2,1),color .18s cubic-bezier(.2,.7,.2,1),transform .18s cubic-bezier(.2,.7,.2,1);display:grid}.docs-search-pagination button:active:not(:disabled){transform:translateY(1px)scale(.94)}.docs-search-pagination button:hover:not(:disabled),html[data-input-mode=keyboard] .docs-search-pagination button:focus-visible{color:var(--color-accent-cyan);background:rgb(var(--rgb-white) / 10%);box-shadow:inset 0 0 0 1px rgb(var(--rgb-accent-cyan) / 50%);outline:none}.docs-search-pagination button:disabled{cursor:default;opacity:.3}.docs-search-pagination svg,.time-explore-heading svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:.85rem;height:.85rem}.docs-search-pagination span{text-align:center;min-width:3rem}.docs-search-discovery{border-top:.12rem solid rgb(var(--rgb-accent-cyan) / 16%);color:var(--text-on-dark-muted);justify-content:space-between;align-items:baseline;gap:.65rem;margin-top:.42rem;padding:.48rem .2rem .02rem;font-size:.68rem;display:flex}.docs-search-discovery-links{white-space:nowrap;align-items:center;gap:.42rem;display:inline-flex}.docs-search-discovery i{color:rgb(var(--rgb-white) / 28%);font-style:normal}.docs-search-discovery button{color:var(--text-blue-dark);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;transition:color .18s cubic-bezier(.2,.7,.2,1),transform .18s cubic-bezier(.2,.7,.2,1)}.docs-search-discovery button:hover,html[data-input-mode=keyboard] .docs-search-discovery button:focus-visible{color:var(--color-accent-cyan);outline:none}.docs-search-discovery button:active{transform:translateY(1px)scale(.98)}.time-explore-heading{border-bottom:.12rem solid rgb(var(--rgb-accent-cyan) / 16%);grid-template-columns:1.75rem minmax(0,1fr);align-items:start;gap:.55rem;padding:.04rem .08rem .5rem;display:grid}.time-explore-heading button{width:1.75rem;height:1.75rem;color:var(--text-on-dark-secondary);background:rgb(var(--rgb-white) / 6%);box-shadow:inset 0 0 0 1px rgb(var(--rgb-white) / 12%);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;transition:color .18s cubic-bezier(.2,.7,.2,1),transform .18s cubic-bezier(.2,.7,.2,1);display:grid}.time-explore-heading button:hover,html[data-input-mode=keyboard] .time-explore-heading button:focus-visible{color:var(--color-accent-cyan);outline:none}.time-explore-heading button:active{transform:translateY(1px)scale(.94)}.time-explore-heading strong{color:var(--text-on-dark-strong);font-size:.88rem;display:block}.time-explore-heading p{color:var(--text-on-dark-muted);margin-top:.16rem;font-size:.68rem;line-height:1.5}.time-explore-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem;margin-top:.5rem;display:grid}.time-explore-custom{grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem;margin-top:.42rem;display:grid}.time-explore-fields>[hidden],.time-explore-custom[hidden]{display:none}.time-explore-fields label,.time-explore-custom label{min-width:0;color:var(--text-on-dark-muted);gap:.25rem;font-size:.64rem;display:grid}.time-explore select,.time-explore input{border-radius:var(--radius-sm);width:100%;min-width:0;min-height:1.95rem;color:var(--text-on-dark);background:rgb(var(--rgb-white) / 7%);box-shadow:inset 0 0 0 1px rgb(var(--rgb-white) / 13%);font:inherit;border:0;padding:.3rem .42rem;font-size:.72rem;transition:background-color .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s cubic-bezier(.2,.7,.2,1)}.time-explore select:focus-visible,.time-explore input:focus-visible{background:rgb(var(--rgb-white) / 10%);box-shadow:inset 0 0 0 1px rgb(var(--rgb-accent-cyan) / 62%), 0 0 0 3px rgb(var(--rgb-accent-cyan) / 8%);outline:none}.time-explore-status{min-height:1.4rem;color:var(--text-on-dark-muted);padding:.42rem .08rem .2rem;font-size:.66rem}.time-explore-results{scrollbar-width:none;max-height:5.4rem;display:grid;overflow-y:auto}.time-explore-results::-webkit-scrollbar{display:none}.time-explore-result{border-bottom:.1rem solid rgb(var(--rgb-accent-cyan) / 13%);color:inherit;grid-template-columns:5.3rem minmax(0,1fr);align-items:baseline;gap:.55rem;padding:.4rem .16rem;font-weight:400;transition:background-color .18s cubic-bezier(.2,.7,.2,1),transform .18s cubic-bezier(.2,.7,.2,1);display:grid}.time-explore-result[hidden]{display:none}.time-explore-result:hover,html[data-input-mode=keyboard] .time-explore-result:focus-visible{background:rgb(var(--rgb-white) / 6%);outline:none;transform:translate(.12rem)}.time-explore-result:active{transform:translate(.06rem)translateY(1px)scale(.995)}.time-explore-result time{color:var(--text-on-dark-muted);font-variant-numeric:tabular-nums;font-size:.65rem}.time-explore-result strong{min-width:0;color:var(--text-on-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.time-explore-empty{color:var(--text-on-dark-secondary);text-align:center;padding:1.35rem .3rem 1rem;font-size:.75rem}.dark .docs-search-toggle{color:var(--text-on-dark)}.dark .docs-search-toggle:hover{color:var(--color-white)}@keyframes docs-search-in{0%{opacity:0;transform:translateY(-.25rem)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (hover:none){.docs-search-toggle:hover,.docs-search-result:hover,.time-explore-result:hover{transform:none}}@media screen and (width<=487px){.docs-search-panel{width:calc(100vw - 1.2rem);right:.6rem}.docs-search-discovery{flex-direction:column;align-items:flex-start;gap:.3rem}.docs-search-results{max-height:6.35rem}.time-explore-results{max-height:4.75rem}}@media (prefers-reduced-motion:reduce){.docs-search-panel{animation:none}.docs-search-toggle,.docs-search-field,.docs-search-result,.docs-search-result>svg,.docs-search-pagination button,.docs-search-discovery button,.time-explore-heading button,.time-explore select,.time-explore input,.time-explore-result{transition:none}}.site-header[data-astro-cid-rikanlky]{background-color:var(--surface-header-fallback);background-image:var(--wallpaper);background-position:center bottom 28%;background-repeat:no-repeat;background-size:cover;position:relative}aside{width:var(--aside-width);background-color:var(--surface-aside);height:100dvh;box-shadow:inset -1px 0 0 var(--panel-edge);display:flex;position:relative}.aside-body{width:var(--aside-width);flex-direction:column;justify-content:flex-start;height:100dvh;padding:1rem;display:flex;position:fixed;top:0}@media screen and (width>=488px){aside{border-radius:0 var(--radius-lg) var(--radius-lg) 0}.aside-body{height:100dvh;top:0}}.aside-toggle-btn{--toggle-edge-shadow:inset -1px 0 0 var(--border-light), inset 0 1px 0 var(--border-light-subtle), inset 0 -1px 0 var(--border-light-subtle);right:-28px;top:calc(50% - var(--edge-control-length) / 2);width:28px;height:var(--edge-control-length);color:rgb(var(--rgb-toggle));cursor:pointer;touch-action:manipulation;z-index:2;background:0 0;border:0;border-radius:0 .4rem .4rem 0;padding:0;transition:transform .18s cubic-bezier(.22,1,.36,1);position:absolute}.aside-toggle-btn:after{content:"";background-color:var(--surface-aside);width:17px;box-shadow:var(--toggle-edge-shadow);border-radius:0 .4rem .4rem 0;position:absolute;inset:0 auto 0 -1px}.aside-toggle-btn:active{transform:translate(-1px)scale(.97)}.aside-toggle-btn:before{content:"";border-radius:var(--radius-pill);opacity:.8;transform-origin:50%;z-index:1;background-color:currentColor;width:2px;height:16px;transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:8px;transform:translate(-50%,-50%)}.aside-toggle-btn:hover:before{opacity:.98;transform:translate(-50%,-50%)scaleY(1.125)}html[data-input-mode=keyboard] .aside-toggle-btn:focus-visible{outline:none}html[data-input-mode=keyboard] .aside-toggle-btn:focus-visible:after{box-shadow:var(--toggle-edge-shadow), 0 0 0 2px rgb(var(--rgb-brand) / 45%)}.aside-toggle-btn.is-escape-focus:focus:after,.aside-toggle-btn.is-escape-focus:focus-visible:after{box-shadow:var(--toggle-edge-shadow)}.aside-body :is(.aside-author-card,.aside-links-card,.aside-share-card,.aside-tags-card,.aside-copyright-card){border-radius:var(--radius-lg);box-shadow:var(--shadow-card), inset 0 1px 0 var(--card-gloss);background-color:rgb(var(--rgb-white) / 62%);border:1px solid #0000;margin-bottom:1.2rem;padding:.8rem;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1),background-color .3s cubic-bezier(.22,1,.36,1)}.aside-body :is(.aside-author-card,.aside-links-card,.aside-share-card,.aside-tags-card,.aside-copyright-card):hover{border-color:rgb(var(--rgb-brand) / 12%);box-shadow:var(--shadow-card-hover), inset 0 1px 0 var(--card-gloss-hover);background-color:rgb(var(--rgb-brand) / 6%);transform:translateY(4px)scale(.98)}.aside-body :is(.aside-author-card,.aside-links-card,.aside-share-card,.aside-tags-card,.aside-copyright-card):active{box-shadow:var(--shadow-card);transition-duration:.1s;transform:translateY(1px)scale(.985)}.aside-body .aside-share-card:has(.share-link:active),.aside-body .aside-copyright-card:has(a:active){box-shadow:var(--shadow-card);transform:translateY(1px)scale(.99)}.aside-body .aside-author-card{color:inherit;cursor:pointer;align-items:center;gap:.66rem;padding:.72rem .76rem .78rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.aside-body .aside-author-card[aria-current=page]{border-color:rgb(var(--rgb-brand) / 20%);background-color:rgb(var(--rgb-brand) / 6%)}.aside-body .aside-author-card:after{content:"";background:radial-gradient(circle, rgb(var(--rgb-brand) / 12%), transparent 70%);pointer-events:none;z-index:0;opacity:0;border-radius:50%;width:6.25rem;height:6.25rem;transition:opacity .45s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-2.4rem;right:-2rem}.aside-body .aside-author-card:hover:after{opacity:1}.aside-body .author-avatar{z-index:1;object-fit:cover;border-radius:50%;flex-shrink:0;width:3rem;height:3rem;transition:box-shadow .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1);position:relative}.aside-body .aside-author-card:hover .author-avatar{box-shadow:0 0 0 3px rgb(var(--rgb-brand) / 20%);transform:scale(1.03)}.aside-body .aside-author-card:active .author-avatar{transform:scale(.985)}.aside-body .author-info{z-index:1;flex:1;min-width:0;position:relative}.aside-body .author-name{letter-spacing:-.01em;color:var(--color-brand);margin:0 0 .16rem;padding:0;font-size:.95rem;font-weight:600;line-height:1.25;display:block}.aside-body .author-desc{color:var(--text-secondary);text-wrap:pretty;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.74rem;line-height:1.45;display:-webkit-box;overflow:hidden}.aside-show .aside-body .author-desc{animation:2.1s .18s both author-desc-reveal}@keyframes author-desc-reveal{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-.22rem)}to{opacity:1;clip-path:inset(0);transform:translate(0)}}.aside-body .aside-links-card{text-align:center;padding:.5rem;display:block}.aside-body .aside-links-primary,.aside-body .aside-links-external{gap:.5rem;display:grid}.aside-body .aside-links-primary{grid-template-columns:repeat(3,minmax(0,1fr))}.aside-body .aside-links-external{grid-template-columns:repeat(2,3.625rem);justify-content:center;margin-top:.375rem;padding-top:.375rem;position:relative}.aside-body .aside-links-external:before{content:"";background-color:var(--border-light);border-radius:999px;height:1px;position:absolute;top:0;left:0;right:0}.dark .aside-body .aside-links-external:before{background-color:rgb(var(--rgb-accent-cyan) / 24%)}.aside-body .aside-links-card a{border-radius:var(--radius-md);min-width:0;min-height:2.75rem;box-shadow:none;color:var(--text-secondary);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;line-height:1;transition:background-color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden}.aside-body .aside-links-card a:before{font-size:1.125rem;line-height:1}.aside-body .aside-links-card a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.aside-body .aside-links-external a{color:var(--text-muted)}.aside-body .aside-links-external a:before{transition:color .18s cubic-bezier(.22,1,.36,1)}.aside-body .aside-links-card a:hover{border-color:rgb(var(--rgb-brand) / 12%);background-color:var(--surface-tint);color:var(--color-brand);transform:translateY(-1px)}.aside-body .aside-links-external a:hover{color:var(--color-accent-pink)}.aside-body .aside-links-card a:active,.aside-body .share-link:active{transform:translateY(1px)scale(.98)}.aside-body .aside-links-card a.active{border-color:rgb(var(--rgb-brand) / 14%);background-color:rgb(var(--rgb-brand) / 8%);font-weight:600;color:var(--color-brand)!important}.aside-body .aside-share-card{text-align:center;grid-template-columns:1fr 1fr;gap:6px;display:grid}.aside-body .share-link{color:var(--color-black);cursor:pointer;background:0 0;border:0;border-radius:4px;grid-column:1/-1;width:100%;margin:.2rem 0;padding:.12rem .3rem;font-family:inherit;font-size:.9rem;text-decoration:none;transition:color .2s cubic-bezier(.22,1,.36,1),background-color .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1);display:inline-block}.aside-body p{margin:0}.aside-body .aside-copyright-card{width:calc(var(--aside-width) - 2rem);border-radius:var(--radius-lg);align-self:end;margin-bottom:0;padding:.6rem;font-size:.85rem}.aside-body .aside-copyright-card div{margin-bottom:.4rem}.aside-body .aside-copyright-card div:last-child{margin-bottom:0}.aside-body .aside-copyright-card a{color:var(--color-brand);border-bottom:1px dashed #0000;font-weight:500;text-decoration:none;transition:color .2s cubic-bezier(.22,1,.36,1),border-color .2s cubic-bezier(.22,1,.36,1)}.aside-body .aside-copyright-card a:hover{color:var(--color-brand-hover);border-bottom-color:var(--color-brand)}.dark .aside-toggle-btn{--toggle-edge-shadow:inset -1px 0 0 var(--border-dark), inset 0 1px 0 var(--border-dark-soft), inset 0 -1px 0 var(--border-dark-soft);color:rgb(var(--rgb-white) / 76%)}html.dark[data-input-mode=keyboard] .aside-toggle-btn:focus-visible:after{box-shadow:var(--toggle-edge-shadow), 0 0 0 2px rgb(var(--rgb-accent-cyan) / 45%)}.dark .aside-toggle-btn.is-escape-focus:focus:after,.dark .aside-toggle-btn.is-escape-focus:focus-visible:after{box-shadow:var(--toggle-edge-shadow)}.dark .aside-body :is(.aside-author-card,.aside-links-card,.aside-share-card,.aside-tags-card,.aside-copyright-card){background-color:var(--surface-aside-card);box-shadow:var(--shadow-aside-card)}.dark .aside-body :is(.aside-author-card,.aside-links-card,.aside-share-card,.aside-tags-card,.aside-copyright-card):hover{border-color:rgb(var(--rgb-accent-cyan) / 12%);background-color:var(--surface-aside-card-hover);box-shadow:var(--shadow-aside-card-hover)}.dark .aside-body :is(.aside-author-card,.aside-links-card,.aside-share-card,.aside-tags-card,.aside-copyright-card):active,.dark .aside-body .aside-share-card:has(.share-link:active),.dark .aside-body .aside-copyright-card:has(a:active){box-shadow:var(--shadow-aside-card)}.dark .aside-body .aside-author-card[aria-current=page]{border-color:rgb(var(--rgb-accent-cyan) / 24%);background-color:rgb(var(--rgb-accent-cyan) / 7%)}.dark .aside-body .aside-links-card a{color:var(--text-on-dark-soft)!important}.dark .aside-body .aside-links-card a:hover,.dark .aside-body .aside-links-card a.active{border-color:rgb(var(--rgb-accent-cyan) / 18%);background-color:rgb(var(--rgb-accent-cyan) / 8%);color:var(--color-accent-cyan)!important}.dark .aside-body .aside-links-external a:hover{color:var(--color-accent-pink)!important}.dark .aside-body .aside-links-card a.active{background-color:rgb(var(--rgb-accent-cyan) / 11%)}.dark .aside-body .aside-author-card:after{background:radial-gradient(circle, rgb(var(--rgb-accent-cyan) / 15%), transparent 70%)}.dark .aside-body .aside-author-card:hover .author-avatar{box-shadow:0 0 0 3px rgb(var(--rgb-accent-cyan) / 25%)}.dark .aside-body .author-name{color:var(--color-accent-cyan)!important}.dark .aside-body .author-desc{color:var(--text-on-dark-soft)}.dark aside h3,.dark aside a:not(.copy-a){color:var(--text-on-dark)!important}.dark .aside-body .aside-copyright-card{color:var(--text-on-dark)}.dark .aside-body .aside-copyright-card a{color:var(--color-accent-cyan)}.dark .aside-body .aside-copyright-card a:hover{color:var(--color-accent-cyan-hover);border-bottom-color:var(--color-accent-cyan)}.dark .aside-body .share-link{color:var(--text-on-dark)}.aside-body .card-stack{cursor:grab;isolation:isolate;height:52px;position:relative;overflow:visible}.aside-body .aside-tags-card{padding-bottom:.58rem;position:relative;overflow:hidden}.aside-body .card-stack:active{cursor:grabbing}.aside-body .tag-dissolve-layer{z-index:4;border-radius:var(--radius-md);pointer-events:none;position:absolute;overflow:hidden}.aside-body .tag-dissolve-particle{width:var(--particle-width,2px);height:var(--particle-height,2px);background-color:var(--particle-color,var(--surface-raised));opacity:0;transform-origin:50%;animation:tag-card-dissolve var(--particle-duration,.62s) cubic-bezier(.32, .08, .5, 1) var(--particle-delay,0s) both;will-change:transform, opacity;border-radius:50%;position:absolute}@keyframes tag-card-dissolve{0%{opacity:.92;transform:translate(0,0)scale(1)}18%{opacity:.9;transform:translate3d(var(--particle-break-x,0), var(--particle-break-y,-.35rem), 0) scale(.94)}65%{opacity:.72;transform:translate3d(var(--particle-mid-x,0), var(--particle-mid-y,-1rem), 0) scale(.72)}86%{opacity:.3;transform:translate3d(var(--particle-tail-x,0), var(--particle-tail-y,-1.6rem), 0) scale(.38);animation-timing-function:cubic-bezier(.48,.02,.78,.28)}to{opacity:0;transform:translate3d(var(--particle-x,0), var(--particle-y,-2rem), 0) scale(.08)}}.aside-body .message-card{border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid rgb(var(--rgb-brand) / 16%);box-shadow:0 1px 4px rgb(var(--rgb-black) / 10%), 0 3px 8px rgb(var(--rgb-black) / 7%);pointer-events:none;transform-origin:50% 0;backface-visibility:hidden;align-items:center;gap:.2rem;padding:.65rem .7rem;text-decoration:none;display:flex;position:absolute;top:0;left:0;right:0}.aside-body .message-card[data-depth="1"]{border-color:rgb(var(--rgb-brand) / 12%);background:var(--surface-soft)}.aside-body .message-card[data-depth="2"]{border-color:rgb(var(--rgb-brand) / 9%);background:var(--surface-muted)}.aside-body .message-card:first-child:hover{border-color:rgb(var(--rgb-brand) / 25%);box-shadow:0 3px 10px rgb(var(--rgb-black) / 10%)}.aside-body .message-card:first-child:active{box-shadow:0 1px 4px rgb(var(--rgb-black) / 10%)}html[data-input-mode=keyboard] .aside-body .message-card:focus-visible,html[data-input-mode=keyboard] .aside-body .aside-author-card:focus-visible,html[data-input-mode=keyboard] .aside-body .aside-links-card a:focus-visible,html[data-input-mode=keyboard] .aside-body .share-link:focus-visible,html[data-input-mode=keyboard] .aside-body .aside-copyright-card a:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.aside-body .msg-hashtag{color:var(--color-brand);flex-shrink:0;font-size:.75rem;font-weight:700;line-height:1.2}.aside-body .msg-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;font-weight:600;line-height:1.2;overflow:hidden}.aside-body .msg-count{color:var(--color-white);background:var(--color-brand);border-radius:.15rem;flex-shrink:0;padding:.06rem .35rem;font-size:.6rem;font-weight:700;line-height:1.3}.aside-body .stack-footer{text-align:center;color:rgb(var(--rgb-brand) / 35%);letter-spacing:.02em;padding:.6rem 0 0;font-size:.55rem;font-weight:500;line-height:1}.dark .aside-body .message-card{border-color:var(--border-tag-front);background:var(--surface-tag-front);box-shadow:var(--shadow-tag-front)}.dark .aside-body .message-card[data-depth="1"]{border-color:var(--border-tag-middle);background:var(--surface-tag-middle);box-shadow:var(--shadow-tag-middle)}.dark .aside-body .message-card[data-depth="2"]{border-color:var(--border-tag-back);background:var(--surface-tag-back);box-shadow:var(--shadow-tag-back)}.dark .aside-body .message-card:hover{border-color:var(--border-tag-hover);box-shadow:var(--shadow-tag-hover)}.dark .aside-body .message-card:first-child:active{border-color:var(--border-tag-front);box-shadow:var(--shadow-tag-middle)}html.dark[data-input-mode=keyboard] .aside-body .message-card:focus-visible,html.dark[data-input-mode=keyboard] .aside-body .aside-author-card:focus-visible,html.dark[data-input-mode=keyboard] .aside-body .aside-links-card a:focus-visible,html.dark[data-input-mode=keyboard] .aside-body .share-link:focus-visible,html.dark[data-input-mode=keyboard] .aside-body .aside-copyright-card a:focus-visible{outline-color:var(--color-accent-cyan)}.dark .aside-body .msg-hashtag{color:var(--color-accent-cyan)}.dark .aside-body .msg-name{color:var(--text-on-dark)}.dark .aside-body .msg-count{background:var(--surface-tag-count);color:var(--text-tag-count);box-shadow:inset 0 1px 0 rgb(var(--rgb-white) / 8%)}.dark .aside-body .stack-footer{color:var(--text-tag-footer);font-variant-numeric:tabular-nums;font-size:.625rem}@media screen and (width<=560px),screen and (height<=680px){.aside-body{height:100dvh;padding:max(.7rem, env(safe-area-inset-top)) .75rem max(.7rem, env(safe-area-inset-bottom));overscroll-behavior:contain;overflow:hidden auto}.aside-body :is(.aside-author-card,.aside-links-card,.aside-share-card,.aside-tags-card,.aside-copyright-card){border-radius:.68rem;flex-shrink:0;margin-bottom:.72rem;padding:.65rem}.aside-body .author-avatar{border-radius:50%;width:2.625rem;height:2.625rem}.aside-body .aside-author-card{gap:.6rem;padding:.62rem .65rem .68rem}.aside-body .aside-tags-card{width:100%;padding:.58rem .62rem .38rem;overflow:visible}.aside-body .aside-links-card{padding:.5rem}.aside-body .card-stack{width:100%;height:52px}.aside-body .message-card{min-width:0;padding:.56rem .6rem}.aside-body .stack-footer{padding-top:.46rem}.aside-body .aside-copyright-card{align-self:stretch;width:100%;margin-bottom:0;padding:.55rem .65rem}}@media (hover:none){.aside-toggle-btn:hover:before{opacity:.8;transform:translate(-50%,-50%)}.aside-body :is(.aside-author-card,.aside-links-card,.aside-share-card,.aside-tags-card,.aside-copyright-card):hover,.dark .aside-body :is(.aside-author-card,.aside-links-card,.aside-share-card,.aside-tags-card,.aside-copyright-card):hover{transform:none}}@media (prefers-reduced-motion:reduce){.aside-toggle-btn,.aside-toggle-btn:before{transition:none}.aside-body .tag-dissolve-layer{display:none}.aside-show .aside-body .author-desc{animation:none}}.share-container{margin:1rem 0;display:inline-block}.share-btn{background-color:var(--color-brand);color:var(--color-white);border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;transition:background-color .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1);display:inline-flex}.share-btn:hover{background-color:var(--color-brand-hover);transform:translateY(-2px)}.share-btn:active{transform:translateY(1px)scale(.98)}html[data-input-mode=keyboard] .share-btn:focus-visible,html[data-input-mode=keyboard] .copy-btn:focus-visible,html[data-input-mode=keyboard] .share-close:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.share-overlay{background-color:rgb(var(--rgb-black) / 70%);z-index:999999;opacity:0;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .3s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;left:0}.share-overlay[hidden]{display:none}.share-overlay.show{opacity:1}.share-card{background-color:var(--color-white);border-radius:var(--radius-xl);width:90%;max-width:400px;box-shadow:var(--shadow-pop);transition:transform .3s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden;transform:scale(.9)}.share-close{z-index:2;border:1px solid rgb(var(--rgb-white) / 24%);width:2rem;height:2rem;color:var(--color-white);background:rgb(var(--rgb-black) / 28%);backdrop-filter:blur(8px);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:color .2s cubic-bezier(.22,1,.36,1),border-color .2s cubic-bezier(.22,1,.36,1),background-color .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1);display:inline-flex;position:absolute;top:.75rem;right:.75rem}.share-close:hover{color:var(--color-accent-cyan);border-color:rgb(var(--rgb-accent-cyan) / 46%);background:rgb(var(--rgb-black) / 42%)}.share-close:active{transform:scale(.92)}.share-close svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8px;width:1rem;height:1rem}.share-overlay.show .share-card{transform:scale(1)}.share-card-header{height:150px;overflow:hidden}.share-card-banner{background-image:var(--wallpaper);background-position:center bottom 28%;background-size:cover;width:100%;height:100%}.share-card-content{padding:1.5rem}.share-card-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.3rem;font-weight:600;line-height:1.4}.share-card-desc{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem;line-height:1.6}.share-card-link{gap:.5rem;margin-bottom:1.5rem;display:flex}.share-card-link input{border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--surface-soft);color:var(--text-strong);flex:1;padding:.5rem 1rem;font-size:.85rem}.copy-btn{background-color:var(--color-brand);color:var(--color-white);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.3rem;padding:.5rem 1rem;font-size:.85rem;transition:background-color .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1);display:flex}.copy-btn:hover{background-color:var(--color-brand-hover);transform:translateY(-1px)}.copy-btn:active{transform:translateY(1px)scale(.98)}.share-card-qrcode{text-align:center;margin-bottom:.5rem}.share-card-qrcode canvas{border:2px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--color-white);margin:0 auto;padding:.5rem;display:block}.qrcode-tip{color:var(--text-muted);margin:.2rem 0 0;font-size:.8rem;line-height:1}.share-feedback{min-height:1.2em;color:var(--color-brand);text-align:center;margin:.45rem 0 0;font-size:.78rem;line-height:1.2}.dark .share-btn{background-color:var(--color-accent-cyan)}.dark .share-btn:hover{background-color:var(--color-accent-cyan-hover)}.dark .share-card{background-color:var(--surface-dark-panel);box-shadow:var(--shadow-pop)}.dark .share-card-title{color:var(--text-on-dark)}.dark .share-card-desc{color:var(--text-on-dark-secondary)}.dark .share-card-link input{background-color:var(--surface-dark-input);border-color:var(--border-dark-input);color:var(--text-on-dark)}.dark .copy-btn{background-color:var(--color-accent-cyan)}.dark .copy-btn:hover{background-color:var(--color-accent-cyan-hover)}.dark .share-card-qrcode canvas{border-color:var(--border-dark-input)}.dark .qrcode-tip{color:var(--text-on-dark-muted)}.dark .share-feedback{color:var(--color-accent-cyan)}.dark[data-input-mode=keyboard] .share-btn:focus-visible,.dark[data-input-mode=keyboard] .copy-btn:focus-visible,.dark[data-input-mode=keyboard] .share-close:focus-visible{outline-color:var(--color-accent-cyan)}@media (prefers-reduced-motion:reduce){.share-overlay,.share-card,.share-btn,.copy-btn,.share-close{transition:none}}.view-box{--viewer-surface:rgb(var(--rgb-dark-message) / 82%);--viewer-control-hover:rgb(var(--rgb-accent-cyan) / 22%);z-index:999999;width:100vw;height:100dvh;color:var(--color-white);background:rgb(var(--rgb-black) / 90%);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;user-select:none;justify-content:center;align-items:center;transition:opacity .24s cubic-bezier(.22,1,.36,1),visibility .24s step-end;display:flex;position:fixed;inset:0}.view-box-show{opacity:1;visibility:visible;pointer-events:auto}.view-topbar{top:max(1rem, env(safe-area-inset-top));z-index:3;align-items:center;gap:.55rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.view-counter,.view-control,.view-tools{border:1px solid rgb(var(--rgb-white) / 12%);background:var(--viewer-surface);box-shadow:0 .5rem 1.6rem rgb(var(--rgb-black) / 24%);backdrop-filter:blur(14px)}.view-counter{min-width:3.8rem;color:rgb(var(--rgb-white) / 78%);text-align:center;border-radius:999px;padding:.42rem .72rem;font-size:.78rem;line-height:1}.view-control,.view-tool,.view-scale{color:inherit;font:inherit;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.view-control{border-radius:50%;width:2.55rem;height:2.55rem;transition:color .2s cubic-bezier(.22,1,.36,1),border-color .2s cubic-bezier(.22,1,.36,1),background-color .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1)}.view-control svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.2rem;height:1.2rem}.view-control:hover,html[data-input-mode=keyboard] .view-control:focus-visible{color:var(--color-accent-cyan);border-color:rgb(var(--rgb-accent-cyan) / 42%);background:var(--viewer-control-hover);outline:none}.view-control:active{transform:scale(.94)}.view-close{width:2.2rem;height:2.2rem}.view-nav{z-index:3;position:absolute;top:50%;transform:translateY(-50%)}.view-prev{left:max(1rem, env(safe-area-inset-left))}.view-next{right:max(1rem, env(safe-area-inset-right))}.view-nav:hover,html[data-input-mode=keyboard] .view-nav:focus-visible{transform:translateY(-50%)scale(1.06)}.view-nav:active{transform:translateY(-50%)scale(.94)}.view-nav[hidden],.view-counter[hidden],.view-caption:empty{display:none}.view-content{grid-template-rows:minmax(0,1fr) auto;gap:.75rem;width:min(84vw,80rem);height:min(82dvh,52rem);margin:0;display:grid}.view-stage{touch-action:none;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.view-img,.view-video{max-width:100%;max-height:100%;box-shadow:0 .45rem 2rem rgb(var(--rgb-black) / 42%);border-radius:.45rem;display:block}.view-img{transform-origin:50%;cursor:default;-webkit-user-drag:none;transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .16s cubic-bezier(.22,1,.36,1);transform:translate(0,0)scale(1)}.view-video{background:var(--color-black);outline:none;width:min(100%,72rem)}.view-img[hidden],.view-video[hidden],.view-tools[hidden]{display:none}.view-stage.is-video{touch-action:auto}.view-stage.is-zoomed .view-img{cursor:grab}.view-stage.is-dragging .view-img{cursor:grabbing;transition:opacity .18s cubic-bezier(.22,1,.36,1)}.view-box.is-loading .view-img,.view-box.has-error .view-img,.view-box.is-loading .view-video,.view-box.has-error .view-video{opacity:0}.view-loading,.view-error{color:rgb(var(--rgb-white) / 68%);letter-spacing:.08em;font-size:.86rem;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.view-loading:after{content:"";background:var(--color-accent-cyan);width:.35rem;height:.35rem;box-shadow:.55rem 0 rgb(var(--rgb-accent-cyan) / 62%), 1.1rem 0 rgb(var(--rgb-accent-cyan) / 28%);border-radius:50%;margin-left:.55rem;animation:1s cubic-bezier(.45,0,.55,1) infinite alternate viewer-loading;display:inline-block}.view-box.is-loading .view-loading,.view-box.has-error .view-error{display:block}.view-caption{max-width:min(80vw,42rem);color:rgb(var(--rgb-white) / 72%);background:rgb(var(--rgb-black) / 28%);text-align:center;border-radius:999px;justify-self:center;padding:.38rem .78rem;font-size:.82rem;line-height:1.5}.view-details{justify-items:center;gap:.45rem;display:grid}.view-references{border-top:.12rem solid rgb(var(--rgb-accent-cyan) / 18%);user-select:text;width:min(82vw,36rem);padding:.5rem .15rem 0}.view-references[hidden]{display:none}.view-references>p{color:rgb(var(--rgb-white) / 58%);text-align:center;font-size:.7rem;line-height:1.45}#view-references-list{flex-wrap:wrap;justify-content:center;gap:.25rem .8rem;margin-top:.25rem;display:flex}#view-references-list a{color:rgb(var(--rgb-white) / 76%);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:600;line-height:1.45;transition:color .18s cubic-bezier(.2,.7,.2,1),opacity .18s cubic-bezier(.2,.7,.2,1),transform .18s cubic-bezier(.2,.7,.2,1);overflow:hidden}#view-references-list a:hover,html[data-input-mode=keyboard] #view-references-list a:focus-visible{color:var(--color-accent-cyan);outline:none}#view-references-list a:active{transform:translateY(1px)scale(.98)}.view-tools{bottom:max(1rem, env(safe-area-inset-bottom));z-index:3;border-radius:999px;grid-template-columns:2.35rem 3.8rem 2.35rem;display:grid;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.view-tool,.view-scale{height:2.15rem;color:rgb(var(--rgb-white) / 76%);background:0 0;border:0;transition:color .2s cubic-bezier(.22,1,.36,1),background-color .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1)}.view-tool:active,.view-scale:active{transform:translateY(1px)scale(.96)}.view-tool{font-size:1.15rem}.view-scale{border-right:1px solid rgb(var(--rgb-white) / 10%);border-left:1px solid rgb(var(--rgb-white) / 10%);font-size:.72rem}.view-tool:hover,html[data-input-mode=keyboard] .view-tool:focus-visible,.view-scale:hover,html[data-input-mode=keyboard] .view-scale:focus-visible{color:var(--color-accent-cyan);background:var(--viewer-control-hover);outline:none}.doc img:not(.view-none){cursor:zoom-in}html[data-input-mode=keyboard] .doc img[role=button]:focus-visible,html[data-input-mode=keyboard] .moment-media-item:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}html.dark[data-input-mode=keyboard] .doc img[role=button]:focus-visible,html.dark[data-input-mode=keyboard] .moment-media-item:focus-visible{outline-color:var(--color-accent-cyan)}@keyframes viewer-loading{to{opacity:.35;transform:translate(.15rem)}}@media (width<=640px){.view-content{width:94vw;height:72dvh}.view-tools{bottom:max(3.25rem, calc(env(safe-area-inset-bottom) + 2.25rem))}.view-nav{top:auto;bottom:max(1rem, env(safe-area-inset-bottom));transform:none}.view-prev{left:max(.75rem, env(safe-area-inset-left))}.view-next{right:max(.75rem, env(safe-area-inset-right))}.view-nav:hover,html[data-input-mode=keyboard] .view-nav:focus-visible{transform:scale(1.05)}.view-nav:active{transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.view-box,.view-control,.view-img,.view-video{transition:none}.view-loading:after{animation:none}}
