.inline{display:inline}.block{display:block}.inline-block{display:inline-block}.table{display:table}.table-cell{display:table-cell}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-auto{overflow:auto}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.left{float:left}.right{float:right}.fit{max-width:100%}.truncate{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.max-width-1{max-width:24rem}.max-width-2{max-width:32rem}.max-width-3{max-width:48rem}.max-width-4{max-width:64rem}.border-box{box-sizing:border-box}.m0{margin:0}.mt0{margin-top:0}.mr0{margin-right:0}.mb0{margin-bottom:0}.ml0{margin-left:0}.mx0{margin-right:0;margin-left:0}.my0{margin-top:0;margin-bottom:0}.m1{margin:.5rem}.mt1{margin-top:.5rem}.mr1{margin-right:.5rem}.mb1{margin-bottom:.5rem}.ml1{margin-left:.5rem}.mx1{margin-right:.5rem;margin-left:.5rem}.my1{margin-top:.5rem;margin-bottom:.5rem}.m2{margin:1rem}.mt2{margin-top:1rem}.mr2{margin-right:1rem}.mb2{margin-bottom:1rem}.ml2{margin-left:1rem}.mx2{margin-right:1rem;margin-left:1rem}.my2{margin-top:1rem;margin-bottom:1rem}.m3{margin:2rem}.mt3{margin-top:2rem}.mr3{margin-right:2rem}.mb3{margin-bottom:2rem}.ml3{margin-left:2rem}.mx3{margin-right:2rem;margin-left:2rem}.my3{margin-top:2rem;margin-bottom:2rem}.m4{margin:4rem}.mt4{margin-top:4rem}.mr4{margin-right:4rem}.mb4{margin-bottom:4rem}.ml4{margin-left:4rem}.mx4{margin-right:4rem;margin-left:4rem}.my4{margin-top:4rem;margin-bottom:4rem}.mxn1{margin-right:-.5rem;margin-left:-.5rem}.mxn2{margin-right:-1rem;margin-left:-1rem}.mxn3{margin-right:-2rem;margin-left:-2rem}.mxn4{margin-right:-4rem;margin-left:-4rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mx-auto{margin-right:auto;margin-left:auto}.p0{padding:0}.pt0{padding-top:0}.pr0{padding-right:0}.pb0{padding-bottom:0}.pl0{padding-left:0}.px0{padding-right:0;padding-left:0}.py0{padding-top:0;padding-bottom:0}.p1{padding:.5rem}.pt1{padding-top:.5rem}.pr1{padding-right:.5rem}.pb1{padding-bottom:.5rem}.pl1{padding-left:.5rem}.py1{padding-top:.5rem;padding-bottom:.5rem}.px1{padding-right:.5rem;padding-left:.5rem}.p2{padding:1rem}.pt2{padding-top:1rem}.pr2{padding-right:1rem}.pb2{padding-bottom:1rem}.pl2{padding-left:1rem}.py2{padding-top:1rem;padding-bottom:1rem}.px2{padding-right:1rem;padding-left:1rem}.p3{padding:2rem}.pt3{padding-top:2rem}.pr3{padding-right:2rem}.pb3{padding-bottom:2rem}.pl3{padding-left:2rem}.py3{padding-top:2rem;padding-bottom:2rem}.px3{padding-right:2rem;padding-left:2rem}.p4{padding:4rem}.pt4{padding-top:4rem}.pr4{padding-right:4rem}.pb4{padding-bottom:4rem}.pl4{padding-left:4rem}.py4{padding-top:4rem;padding-bottom:4rem}.px4{padding-right:4rem;padding-left:4rem}.ta,.ts-tabs,.ts-sheet,.ts-backdrop,.ta-progress{display:none}.ts-backdrop[hidden],.ts-sheet[hidden]{display:none !important}@media (max-width:768px),(min-width:769px) and (max-width:1199px) and (hover:none) and (pointer:coarse){body.shell{padding-left:0;padding-right:0}body.shell #header,body.shell #footer,body.shell #theme-toggle,body.shell #post-fab,body.shell #header-post,body.shell #footer-post-container,body.shell #toc-handle,body.shell #toc-panel,body.shell #toc-scrim{display:none !important}body.shell .content.index{padding-top:0;padding-left:1rem;padding-right:1rem}body.shell.has-ts-tabs .content.index{padding-bottom:calc(3.6rem + env(safe-area-inset-bottom))}body.shell .post-nav--top{display:none}body.shell.page-pdf-tools .pt-lede,body.shell.page-image-tools .pt-lede,body.shell.page-json-tools .pt-lede{display:none}.ta{display:flex;align-items:center;gap:.25rem;position:sticky;top:0;z-index:40;height:3rem;margin:0;padding:0 .4rem;background:var(--color-background);border-bottom:1px solid var(--color-border)}.ta-back,.ta-more,.ta-act,.ta-logo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.75rem;height:2.75rem;margin:0;padding:0;border:0;background:none !important;color:var(--color-text);border-radius:50%;cursor:pointer;text-decoration:none !important;-webkit-tap-highlight-color:transparent}.ta-back:active,.ta-more:active,.ta-act:active,.ta-logo:active{background:rgba(128,128,128,0.18) !important}.ta,.ts-tabs{transition:transform .2s ease}body.ts-hide .ta{transform:translateY(-100%)}body.ts-hide .ts-tabs{transform:translateY(100%)}.ta-progress{display:block;position:fixed;top:0;left:0;right:0;height:3px;z-index:45;pointer-events:none}.ta-progress i{display:block;height:100%;width:0;background:var(--color-status)}.ts-item.ts-here{background:rgba(128,128,128,0.2) !important;font-weight:bold;border-radius:6px}.ts-resume{position:fixed;left:1rem;right:1rem;bottom:calc(3.6rem + env(safe-area-inset-bottom) + 0.6rem);z-index:42;display:flex;align-items:center;background:var(--color-text);color:var(--color-background);border-radius:999px;box-shadow:0 4px 16px rgba(0,0,0,0.3)}.ts-resume-go,.ts-resume-x{margin:0;border:0;background:none;color:inherit;font:inherit;min-height:2.75rem;cursor:pointer}.ts-resume-go{flex:1;padding:0 0 0 1.1rem;text-align:left;font-weight:bold;font-size:.9rem}.ts-resume-x{width:2.75rem;font-size:1.3rem}.ta-logo img{width:32px;height:32px;border-radius:50%}.ta-title{flex:1;min-width:0;font-weight:bold;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.has-ts-tabs .pt-tabs{display:none}.ts-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(3.6rem + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--color-background);border-top:1px solid var(--color-border)}.ts-tab{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;margin:0;padding:.2rem 0;border:0;background:none !important;color:var(--color-meta);font:inherit;font-size:.68rem;text-decoration:none !important;cursor:pointer;-webkit-tap-highlight-color:transparent}.ts-tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .15rem}.ts-tab.on{color:var(--color-text);font-weight:bold}.ts-tab:active{background:rgba(128,128,128,0.14) !important}.has-ts-tabs .pt .pt-panel .pt-actions{position:sticky;bottom:calc(3.6rem + env(safe-area-inset-bottom));z-index:20;margin:.8rem -1rem 0;padding:.6rem 1rem;background:var(--color-background);border-top:1px solid var(--color-border)}body.ts-solo .pt .pt-panel .pt-actions{position:sticky;bottom:0;z-index:20;margin:.8rem -1rem 0;padding:.6rem 1rem calc(0.6rem + env(safe-area-inset-bottom));background:var(--color-background);border-top:1px solid var(--color-border)}.ts-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:rgba(0,0,0,0.45)}.ts-sheet{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;max-height:80vh;overflow-y:auto;overscroll-behavior:contain;padding:.4rem 1rem calc(1rem + env(safe-area-inset-bottom));background:var(--color-background);border-top:1px solid var(--color-border);border-radius:14px 14px 0 0;box-shadow:0 -6px 24px rgba(0,0,0,0.25)}.ts-grab{width:2.5rem;height:4px;margin:.3rem auto .6rem;border-radius:2px;background:var(--color-border)}.ts-about{margin:0 0 .6rem;font-size:.85rem;color:var(--color-meta)}.ts-h{margin:.8rem .2rem .3rem;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-meta)}.ts-item{display:flex;align-items:center;gap:.8rem;width:100%;min-height:3rem;margin:0;padding:0 .2rem;border:0;border-top:1px solid var(--color-border);background:none !important;color:var(--color-text);font:inherit;text-align:left;text-decoration:none !important;cursor:pointer}.ts-item:active{background:rgba(128,128,128,0.14) !important}.ts-item.ts-sub{padding-left:1.4rem;font-size:.92rem}.ts-item .ts-end{margin-left:auto;color:var(--color-meta);display:inline-flex}html.ts-lock{overflow:hidden}.post-list .post-item,.entry-row{position:relative;min-height:3.4rem;padding-top:.55rem;padding-bottom:.55rem;padding-right:1.6rem;-webkit-tap-highlight-color:transparent}.post-list .post-item:after,.entry-row:after{content:"";position:absolute;right:.3rem;top:50%;width:.5rem;height:.5rem;margin-top:-.25rem;border-top:2px solid var(--color-meta);border-right:2px solid var(--color-meta);transform:rotate(45deg)}.post-list .post-item:active,.entry-row:active{background:rgba(128,128,128,0.12)}.series-row{position:relative;padding-right:1.6rem}.series-row:active{background:rgba(128,128,128,0.12)}.series-row:after{content:"";position:absolute;right:.3rem;top:50%;width:.5rem;height:.5rem;margin-top:-.25rem;border-top:2px solid var(--color-meta);border-right:2px solid var(--color-meta);transform:rotate(45deg)}.series-row .series-row-facts a{position:relative;z-index:1}.post-list .post-item > span > a:first-child:before,.entry-title a:before,.series-row-title a:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.entry-row .entry-meta a,.entry-row .entry-meta{position:relative;z-index:1}.tag-list-item{display:inline-block;padding-top:.3rem;padding-bottom:.3rem}}.e-content p,.e-content li,.e-content blockquote{font-size:calc(1rem * var(--fs, 1))}@media (min-width:769px) and (max-width:1199px) and (hover:none) and (pointer:coarse){body.shell.has-ts-tabs{padding-left:88px}.ts-tabs{right:auto;top:0;width:88px;height:auto;flex-direction:column;justify-content:center;gap:.4rem;padding:1rem 0;border-top:0;border-right:1px solid var(--color-border)}.ts-tab{flex:0 0 auto;min-height:4.2rem;font-size:.72rem}.ts-sheet{left:50%;right:auto;width:30rem;transform:translateX(-50%)}.ta{left:0}body.shell .content.index{max-width:46rem;margin-left:auto;margin-right:auto;padding-bottom:2rem}body.shell.has-ts-tabs .content.index{padding-bottom:2rem}body.shell .post-list{column-count:2;column-gap:1.6rem}body.shell .post-list .post-item{break-inside:avoid}}@media (min-width:769px) and (max-width:1199px) and (hover:none) and (pointer:coarse){.has-ts-tabs .pt .pt-panel .pt-actions{bottom:0}}.content ul.ht-grid{list-style:none;margin:0;padding:0 !important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.content ul.ht-grid li{margin:0;padding:0;list-style:none}.content ul.ht-grid li:before,.content ul.ht-grid li:after{content:none !important;display:none !important}.ht-card{display:flex;flex-direction:column;gap:.4rem;height:100%;box-sizing:border-box;padding:1rem 1.1rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-background-code);color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border);-webkit-tap-highlight-color:transparent}.ht-card:hover,.ht-card:focus-visible{border-color:var(--color-accent-1);text-decoration:none}.ht-name{font-weight:bold}.ht-desc{color:var(--color-meta);font-size:.85rem;line-height:1.5}@media (max-width:768px){.content ul.ht-grid{grid-template-columns:1fr;gap:.6rem}}@media (max-width:768px) and (prefers-reduced-motion:reduce),(min-width:769px) and (max-width:1199px) and (hover:none) and (pointer:coarse) and (prefers-reduced-motion:reduce){.ta,.ts-tabs{transition:none}}
@media (max-width: 768px), (min-width: 769px) and (max-width: 1199px) and (hover: none) and (pointer: coarse) {
  @media (prefers-reduced-motion: no-preference) {
    @view-transition { navigation: auto; }
    ::view-transition-old(root), ::view-transition-new(root) { animation-duration: .14s; }
    .ta { view-transition-name: app-bar; }
    .ts-tabs { view-transition-name: tab-bar; }
    ::view-transition-group(app-bar), ::view-transition-group(tab-bar) { animation-duration: 0s; }
  }
}
@media (max-width:768px),(min-width:769px) and (max-width:1199px) and (hover:none) and (pointer:coarse){.content a:active,.tl-card:active,.ht-card:active,.se-chips a:active,#search-result a:active{opacity:.6}}