@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}:root{--pnc-rear-x-fill:#2d526e;--pnc-rear-y-fill:#1c3c54;--pnc-bottom-fill:#3c5f7b;--pnc-frame-fill:#214864;--pnc-top-fill:#dce9f3;--pnc-left-fill:#c1d9e6;--pnc-right-fill:#93b9d0;--pnc-glow-color:#93b9d073}:root[data-theme=dark]{--pnc-frame-fill:#335977;--pnc-top-fill:#edf5fa;--pnc-left-fill:#bdd8e7;--pnc-right-fill:#8eafc5;--pnc-glow-color:#dce9f359}.pnc-brand{align-items:center;gap:9px;min-width:0;display:inline-flex}.pnc-logo-wrap{width:var(--pnc-size);height:var(--pnc-size);color:inherit;cursor:pointer;perspective:240px;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.pnc-logo-wrap:focus-visible{outline:2px solid var(--pnc-right-fill);outline-offset:4px}.pnc-logo-wrap:after{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:0}.pnc-logo-tilt{transform:translate(var(--pnc-px,0px), var(--pnc-py,0px)) rotateX(var(--pnc-rx,0deg)) rotateY(var(--pnc-ry,0deg));will-change:transform;transition:transform .45s cubic-bezier(.34,1.56,.64,1);display:block}.pnc-logo-svg{transform-origin:50%;display:block;overflow:visible}.pnc-face{transition:transform .45s cubic-bezier(.34,1.56,.64,1),fill .2s}.pnc-shell{fill:var(--pnc-rear-y-fill)}.pnc-rear-x{fill:var(--pnc-rear-x-fill);stroke:var(--pnc-rear-x-fill);stroke-width:.003px;stroke-linejoin:round}.pnc-rear-y{fill:var(--pnc-rear-y-fill);stroke:var(--pnc-rear-y-fill);stroke-width:.003px;stroke-linejoin:round}.pnc-bottom{fill:var(--pnc-bottom-fill);stroke:var(--pnc-bottom-fill);stroke-width:.003px;stroke-linejoin:round}.pnc-frame{fill:var(--pnc-frame-fill)}.pnc-top{fill:var(--pnc-top-fill)}.pnc-left{fill:var(--pnc-left-fill)}.pnc-right{fill:var(--pnc-right-fill)}.pnc-face{transform-box:view-box}.pnc-hover .pnc-top{transform:translateY(calc(-1.8 * var(--pnc-unit)))}.pnc-hover .pnc-left{transform:translate(calc(-1.5 * var(--pnc-unit)), calc(.9 * var(--pnc-unit)))}.pnc-hover .pnc-right{transform:translate(calc(1.5 * var(--pnc-unit)), calc(.9 * var(--pnc-unit)))}.pnc-shimmer{opacity:0;pointer-events:none;transform-box:view-box}.pnc-scanning .pnc-shimmer{animation:.8s ease-in-out pnc-scan}.pnc-breaking .pnc-logo-svg{animation:.35s cubic-bezier(.34,1.56,.64,1) pnc-invert}.pnc-breaking:after{animation:.35s ease-out pnc-halo}@keyframes pnc-scan{0%{opacity:0;transform:translate(-100%,-100%)}30%,65%{opacity:1}to{opacity:0;transform:translate(100%,100%)}}@keyframes pnc-invert{0%,to{transform:scaleX(1)rotate(0)}50%{transform:scaleX(-1)rotate(5deg)}}@keyframes pnc-halo{0%{box-shadow:0 0 0 0 var(--pnc-glow-color);opacity:1}to{box-shadow:0 0 12px 12px var(--pnc-glow-color);opacity:0}}@media (prefers-reduced-motion:reduce){.pnc-logo-wrap *,.pnc-logo-wrap:after{will-change:auto;animation:none!important;transform:none!important}.pnc-logo-tilt,.pnc-logo-svg{transition:none!important}.pnc-face{transition:fill .2s}.pnc-logo-wrap:hover,.pnc-logo-wrap:focus-visible{background:var(--pnc-glow-color)}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--bg:#fff;--text:#000;--link:#00e;--visited:#551a8b;--muted:#666;--border:#ccc;--panel:#fff;--control-bg:#fff;--control-hover-bg:#f4f4f4;--active-bg:#111;--active-text:#fff;--code-bg:#f6f6f6;--code-label-bg:#fffffff2;--inline-code-bg:#f0f0f0;--quote-bg:#f7f7f7;--quote-border:#999;--button-bg:#fff;--button-text:#000;color-scheme:light}:root[data-theme=dark]{--bg:#111;--text:#eee;--link:#8ab4ff;--visited:#c58cff;--muted:#aaa;--border:#555;--panel:#171717;--control-bg:#1d1d1d;--control-hover-bg:#262626;--active-bg:#eee;--active-text:#111;--code-bg:#1f1f1f;--code-label-bg:#111111f2;--inline-code-bg:#262626;--quote-bg:#1d1d1d;--quote-border:#777;--button-bg:#171717;--button-text:#eee;color-scheme:dark}@keyframes page-fade-out{0%{opacity:1}to{opacity:0}}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}::view-transition{background:var(--bg)}::view-transition-old(root){animation:.16s both page-fade-out}::view-transition-new(root){animation:.18s ease-out both page-fade-in}::view-transition-group(root){animation-duration:.18s}::view-transition-group(*){animation-duration:.36s;animation-timing-function:cubic-bezier(.2,0,0,1)}::view-transition-old(site-sidebar),::view-transition-new(site-sidebar),::view-transition-old(theme-toggle),::view-transition-new(theme-toggle),::view-transition-old(site-brand),::view-transition-new(site-brand),::view-transition-old(site-footer),::view-transition-new(site-footer){mix-blend-mode:normal}::view-transition-old(theme-toggle),::view-transition-new(theme-toggle){opacity:1!important;animation:none!important}*{box-sizing:border-box}html,body{height:100%}html{scrollbar-gutter:stable;overflow-x:clip}body{background:var(--bg);min-width:0;color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6;transition:background-color .14s,color .14s}.skip-link{color:#fff;z-index:999;background:#000;padding:6px 10px;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:8px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.theme-toggle{z-index:20;border:1px solid var(--border);background:var(--button-bg);color:var(--button-text);cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;padding:6px;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex;position:fixed;top:12px;right:12px}.site-brand{color:var(--text);background:0 0;font-weight:700;text-decoration:none;display:inline-block}.site-brand:visited{color:var(--text)}.site-brand:hover,.site-brand:focus{color:var(--text);text-decoration:underline}.theme-icon{width:18px;height:18px}.theme-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.theme-icon-moon svg{fill:currentColor;stroke:none}.theme-icon-sun,:root[data-theme=dark] .theme-icon-moon{display:none}:root[data-theme=dark] .theme-icon-sun{display:block}a{color:var(--link);text-decoration:underline;transition:color .14s}a:visited{color:var(--visited)}a:hover,a:focus{text-decoration:underline}:focus-visible{outline:2px solid var(--text);outline-offset:2px}.plain-link{color:inherit;text-decoration:none}.plain-link:visited{color:inherit}.plain-link:hover,.plain-link:focus{text-decoration:underline}.site-header{background:0 0;border:0;margin:0 0 16px;padding:0}.site-title{margin:0;font-size:28px;font-weight:700;line-height:1.2}.site-desc{color:var(--muted);margin:6px 0 12px;font-size:13px}.layout{align-items:flex-start;gap:24px;width:100%;max-width:1100px;margin:18px auto;padding:0 16px;display:flex}.sidebar,.sidebar-transition-anchor{flex:0 0 300px;width:300px;min-width:0}.sidebar-transition-anchor .sidebar{flex:none;width:auto}.about{border:1px solid var(--border);background:var(--panel);width:100%;min-width:0;padding:12px}.about h2,.about h3{margin:0 0 8px;font-size:18px}.about-more-link{margin-left:6px;font-size:13px}.latest-note-preview{border-bottom:1px dashed var(--border);margin-top:0;margin-bottom:10px;padding-bottom:8px}.latest-note-panel{margin-bottom:12px}.latest-note-preview p{margin:2px 0}.latest-note-title{margin:0 0 8px;font-size:18px;font-weight:700}.latest-note-text{color:var(--muted);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tag-nav{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:4px 0;display:flex}.tag-nav a{border:1px solid var(--border);background:var(--control-bg);color:var(--text);white-space:nowrap;border-radius:2px;margin:0;padding:4px 10px;line-height:1.4;text-decoration:none;transition:background-color .14s,border-color .14s,color .14s;display:inline-block}.tag-nav a:visited{color:var(--text)}.tag-nav a:hover,.tag-nav a:focus{background:var(--control-hover-bg);color:var(--text);text-decoration:none}.tag-nav a.active,.tags-list .tag.active{border-color:var(--active-bg);background:var(--active-bg);color:var(--active-text);font-weight:700}.tag-nav a.active:visited,.tag-nav a.active:hover,.tag-nav a.active:focus,.tags-list .tag.active:visited,.tags-list .tag.active:hover,.tags-list .tag.active:focus{color:var(--active-text)}.tag-nav a.top{font-weight:700}.tags-list{display:contents}.tags-list .tag{border:1px solid var(--border);background:var(--control-bg);color:var(--text);white-space:nowrap;border-radius:2px;margin:0;padding:4px 10px;line-height:1.4;text-decoration:none;display:inline-block}.tags-list.collapsed .tag:not(.visible){display:none}.tag-toggle{border:1px dashed var(--border);cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border-radius:2px;margin-left:0;padding:4px 10px;font-size:13px;line-height:1.4;text-decoration:none;transition:background-color .14s,border-color .14s,color .14s}.tag-toggle:hover,.tag-toggle:focus{background:var(--control-hover-bg);color:var(--text)}.tag-toggle[aria-expanded=true]{font-weight:700}.content{flex:1;min-width:0;max-width:100%}.directory{border:1px solid var(--border);background:var(--panel);width:100%;min-width:0;max-width:100%;padding:12px;transition:background-color .14s,border-color .14s}.dir-title{margin:0 0 8px;font-size:18px}.search-input{border:1px solid var(--border);background:var(--control-bg);width:min(300px,100%);color:var(--text);caret-color:var(--text);font:inherit;border-radius:2px;outline:none;flex:0 300px;padding:7px 12px;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s}.sidebar-home-tools{width:100%;margin-top:12px}.sidebar-home-tools .search-input{flex:none;width:100%;height:38px;display:block}.sidebar-tag-nav{margin:10px 0 0;padding:0}.search-input::placeholder{color:var(--muted);opacity:1}.search-input:hover{background:var(--control-hover-bg)}.search-input:focus{border-color:var(--text);box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--border)}.dir-list{margin:0;padding:0;list-style:none}.dir-item{border-top:1px dashed var(--border);padding:8px 0}.dir-item:first-child{border-top:0}.dir-item-title{color:var(--text);overflow-wrap:anywhere;font-weight:700;text-decoration:none}.dir-item-title:visited{color:var(--text)}.dir-item-title:hover,.dir-item-title:focus{text-decoration:underline}.dir-item .meta{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px;display:block}.site-footer{max-width:900px;color:var(--muted);text-align:center;margin:30px auto;padding:12px 16px;transition:color .14s}.loading{color:var(--muted)}@media (prefers-reduced-motion:reduce){body,a,.directory,.theme-toggle,.site-footer{transition:none}::view-transition-old(root),::view-transition-new(root),::view-transition-group(root),::view-transition-group(*){animation:none}}@media (width>=801px){.layout{height:auto;overflow:visible}.sidebar,.sidebar-transition-anchor{align-self:flex-start;position:sticky;top:18px}.sidebar-transition-anchor .sidebar{position:static}.content{height:auto;padding-right:12px;overflow:visible}}@media (width<=800px){body{overflow-x:hidden}.layout{flex-direction:column;gap:12px;margin:12px auto 18px;padding:0 12px}.sidebar,.sidebar-transition-anchor{flex:none;width:100%;max-width:100%}.content{gap:12px;width:100%;max-width:100%;display:grid}.site-title{font-size:24px}.theme-toggle{position:absolute}.site-header{min-height:32px;margin:0;padding:2px 44px 6px 2px}.directory{margin-top:0;padding:12px}.latest-note-panel{margin-bottom:0}.sidebar-home-tools{display:none}.site-footer{margin:22px auto;padding:10px 12px}}@media (width<=420px){.layout{padding:0 10px}.about,.directory{padding:10px}.site-title{font-size:23px}}
