.tk-meta-input{background-color:#fff}.toc-redesign[data-astro-cid-p33bl5ka]{color:var(--reading-ink);font-family:var(--reading-sans)}.toc-launcher[data-astro-cid-p33bl5ka]{right:20px;bottom:max(20px, env(safe-area-inset-bottom));z-index:40;position:fixed}.toc-toggle[data-astro-cid-p33bl5ka]{--toc-progress:0%;border:1px solid var(--reading-rule);background:color-mix(in srgb, var(--uno-colors-background) 90%, transparent);min-width:92px;min-height:42px;color:var(--reading-ink);cursor:pointer;backdrop-filter:blur(12px);transition:transform .3s var(--reading-ease), opacity .18s ease, border-color .18s ease, background .18s ease;border-radius:9px;grid-template-columns:auto auto;align-items:center;gap:3px 12px;padding:8px 13px 7px;display:grid;position:relative;box-shadow:0 12px 28px -22px #261e1b9e}.toc-toggle[data-astro-cid-p33bl5ka]:hover,.toc-toggle[data-astro-cid-p33bl5ka]:focus-visible{border-color:color-mix(in srgb, var(--reading-hover-ink) 42%, transparent);background:color-mix(in srgb, var(--uno-colors-background) 82%, var(--reading-hover));transform:translateY(-2px)}.toc-toggle[data-astro-cid-p33bl5ka][aria-expanded=true]{pointer-events:none;opacity:0;transform:translateY(4px)scale(.92)}.toc-toggle-label[data-astro-cid-p33bl5ka]{font-family:var(--reading-serif);font-size:12px;font-weight:700;line-height:1}#toc-progress-badge[data-astro-cid-p33bl5ka]{color:var(--reading-muted);font:8px/1 JetBrains Mono Variable,monospace}.toc-toggle-rule[data-astro-cid-p33bl5ka]{background:var(--reading-rule);grid-column:1/-1;width:100%;height:1px;overflow:hidden}.toc-toggle-rule[data-astro-cid-p33bl5ka]>span[data-astro-cid-p33bl5ka]{width:var(--toc-progress);background:var(--reading-accent);height:100%;transition:width .22s linear;display:block}.toc-backdrop[data-astro-cid-p33bl5ka]{z-index:50;pointer-events:none;opacity:0;background:0 0;position:fixed;inset:0}.toc-backdrop[data-astro-cid-p33bl5ka].is-visible{pointer-events:auto;opacity:1}#toc-drawer[data-astro-cid-p33bl5ka]{right:22px;bottom:max(22px, env(safe-area-inset-bottom));z-index:60;border:1px solid var(--reading-rule);background:color-mix(in srgb, var(--uno-colors-background) 96%, transparent);width:min(300px,100vw - 24px);max-height:min(570px,100dvh - 36px);box-shadow:0 26px 64px -42px #261e1b94, 0 1px 0 color-mix(in srgb, var(--reading-surface) 64%, transparent) inset;backdrop-filter:blur(12px)saturate(.9);transform-origin:100% 100%;transition:opacity .22s ease, transform .28s var(--reading-ease);border-radius:13px;flex-direction:column;display:flex;position:fixed;overflow:hidden}#toc-drawer[data-astro-cid-p33bl5ka][aria-hidden=true]{pointer-events:none;opacity:0;transform:translate(8px,12px)scale(.9)}#toc-drawer[data-astro-cid-p33bl5ka][aria-hidden=false]{pointer-events:auto;opacity:1;transform:translate(0,0)scale(1)}.toc-head[data-astro-cid-p33bl5ka]{border-bottom:1px solid var(--reading-rule);justify-content:space-between;align-items:center;padding:18px 17px 13px 20px;display:flex}.toc-head[data-astro-cid-p33bl5ka]>div[data-astro-cid-p33bl5ka]{align-items:baseline;gap:9px;display:flex}.toc-kicker[data-astro-cid-p33bl5ka]{font-family:var(--reading-serif);letter-spacing:.02em;font-size:18px;font-weight:700}.toc-count[data-astro-cid-p33bl5ka]{color:var(--reading-muted);letter-spacing:.08em;font:8px/1 JetBrains Mono Variable,monospace}.toc-close[data-astro-cid-p33bl5ka]{background:color-mix(in srgb, var(--uno-colors-background) 62%, transparent);width:30px;height:30px;color:var(--reading-muted);cursor:pointer;transition:color .18s ease, background .18s ease, transform .3s var(--reading-ease);border:0;border-radius:50%;place-items:center;font-size:18px;line-height:1;display:grid}.toc-close[data-astro-cid-p33bl5ka]:hover,.toc-close[data-astro-cid-p33bl5ka]:focus-visible{background:var(--reading-hover);color:var(--reading-hover-ink);transform:rotate(90deg)}.toc-navigation[data-astro-cid-p33bl5ka]{overscroll-behavior:contain;min-height:0;padding:10px 14px 12px;overflow-y:auto}.toc-navigation[data-astro-cid-p33bl5ka] ol[data-astro-cid-p33bl5ka]{counter-reset:chapter;gap:2px;margin:0;padding:0;list-style:none;display:grid;position:relative}.toc-navigation[data-astro-cid-p33bl5ka] ol[data-astro-cid-p33bl5ka]:before{background:var(--reading-rule);content:"";width:1px;position:absolute;top:23px;bottom:23px;left:40px}.toc-navigation[data-astro-cid-p33bl5ka] li[data-astro-cid-p33bl5ka]{counter-increment:chapter}.toc-item-link[data-astro-cid-p33bl5ka]{min-height:46px;color:var(--reading-secondary);font-family:var(--reading-serif);transition:color .18s ease, transform .32s var(--reading-ease);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:6px 7px;font-size:13px;line-height:1.55;display:grid;position:relative}.toc-item-link[data-astro-cid-p33bl5ka]:hover,.toc-item-link[data-astro-cid-p33bl5ka]:focus-visible{color:var(--reading-hover-ink);transform:translate(3px)}.toc-marker[data-astro-cid-p33bl5ka]{z-index:1;color:var(--reading-muted);grid-template-columns:22px 7px;align-items:center;gap:7px;font:8px/1 JetBrains Mono Variable,monospace;display:grid;position:relative}.toc-marker[data-astro-cid-p33bl5ka]:before{content:counter(chapter, decimal-leading-zero)}.toc-marker[data-astro-cid-p33bl5ka]:after{border:2px solid var(--uno-colors-background);content:"";opacity:.36;width:7px;height:7px;transition:opacity .18s ease, transform .32s var(--reading-ease), box-shadow .18s ease;background:currentColor;border-radius:50%}.toc-title[data-astro-cid-p33bl5ka]{width:fit-content;max-width:100%;position:relative}.toc-title[data-astro-cid-p33bl5ka]:after{background:var(--reading-accent);content:"";opacity:0;width:0;height:1px;transition:width .38s var(--reading-ease), opacity .18s ease;position:absolute;bottom:-5px;left:0}.toc-item-link[data-astro-cid-p33bl5ka][aria-current=location]{color:var(--reading-ink);font-weight:700;transform:translate(3px)}.toc-item-link[data-astro-cid-p33bl5ka][aria-current=location] .toc-marker[data-astro-cid-p33bl5ka]{color:var(--reading-accent)}.toc-item-link[data-astro-cid-p33bl5ka][aria-current=location] .toc-marker[data-astro-cid-p33bl5ka]:after{box-shadow:0 0 0 4px color-mix(in srgb, var(--reading-accent) 10%, transparent);opacity:1;transform:scale(1.06)}.toc-item-link[data-astro-cid-p33bl5ka][aria-current=location] .toc-title[data-astro-cid-p33bl5ka]:after{opacity:1;width:24px}.toc-progress-track[data-astro-cid-p33bl5ka]{background:var(--reading-rule);height:1px;margin:0 20px;overflow:hidden}#toc-progress-fill[data-astro-cid-p33bl5ka]{background:var(--reading-accent);transform-origin:0;height:100%;transition:transform .22s linear;display:block;transform:scaleX(0)}.toc-foot[data-astro-cid-p33bl5ka]{color:var(--reading-muted);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 13px 12px 12px;font-size:10px;display:flex}#toc-scroll-top-btn[data-astro-cid-p33bl5ka]{cursor:pointer;min-height:34px;transition:color .18s ease, transform .26s var(--reading-ease);align-items:center;gap:7px;padding:0 7px;display:flex}#toc-scroll-top-btn[data-astro-cid-p33bl5ka]:hover,#toc-scroll-top-btn[data-astro-cid-p33bl5ka]:focus-visible{color:var(--reading-hover-ink);transform:translateY(-2px)}#toc-footer-progress[data-astro-cid-p33bl5ka]{color:var(--reading-accent);font-family:JetBrains Mono Variable,monospace}@media (width>=640px){.toc-launcher[data-astro-cid-p33bl5ka]{right:16px;bottom:max(20px, env(safe-area-inset-bottom))}#toc-drawer[data-astro-cid-p33bl5ka]{right:12px;bottom:max(20px, env(safe-area-inset-bottom))}}@media (width<=639px){#toc-drawer[data-astro-cid-p33bl5ka]{right:10px;bottom:max(10px, env(safe-area-inset-bottom));border-radius:12px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.toc-head[data-astro-cid-p33bl5ka]{padding:18px 15px 12px 18px}.toc-navigation[data-astro-cid-p33bl5ka]{padding-inline:12px}.toc-item-link[data-astro-cid-p33bl5ka]{font-size:14px}}@media (prefers-reduced-motion:reduce){#toc-drawer[data-astro-cid-p33bl5ka],.toc-item-link[data-astro-cid-p33bl5ka],.toc-toggle[data-astro-cid-p33bl5ka],.toc-title[data-astro-cid-p33bl5ka]:after,#toc-progress-fill[data-astro-cid-p33bl5ka]{transition:none!important}}.custom-scrollbar[data-astro-cid-p33bl5ka]::-webkit-scrollbar{width:4px}.custom-scrollbar[data-astro-cid-p33bl5ka]::-webkit-scrollbar-track{background:0 0}.custom-scrollbar[data-astro-cid-p33bl5ka]::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--reading-rule) 85%, transparent);border-radius:4px}.post-header[data-astro-cid-vk7tuqbn]{font-family:var(--reading-sans);grid-template-columns:96px minmax(0,1fr);column-gap:40px;padding:28px 4px 74px;display:grid}.post-dateline[data-astro-cid-vk7tuqbn]{border-right:1px solid var(--reading-rule);color:var(--reading-muted);letter-spacing:.03em;flex-direction:column;grid-row:1/span 2;align-items:flex-start;gap:8px;padding:8px 20px 8px 0;font-size:11px;line-height:1.8;display:flex}.post-dateline[data-astro-cid-vk7tuqbn] time[data-astro-cid-vk7tuqbn]{font-family:JetBrains Mono Variable,monospace}.post-dateline[data-astro-cid-vk7tuqbn]>span[data-astro-cid-vk7tuqbn][aria-hidden=true]{background:var(--reading-accent);color:#0000;width:22px;height:1px;margin-block:6px;overflow:hidden}.post-updated[data-astro-cid-vk7tuqbn]{white-space:nowrap;margin-top:auto}h1[data-astro-cid-vk7tuqbn]{max-width:12em;font-family:var(--reading-serif);letter-spacing:-.05em;text-wrap:pretty;overflow-wrap:anywhere;margin:0 0 44px;font-size:clamp(40px,6.4vw,62px);font-weight:700;line-height:1.3}.post-dek[data-astro-cid-vk7tuqbn]{border-top:1px solid var(--reading-rule);max-width:31rem;color:var(--reading-secondary);margin:0 0 0 auto;padding-top:22px;font-size:15px;line-height:1.95}@media (width<=639px){.post-header[data-astro-cid-vk7tuqbn]{grid-template-columns:minmax(0,1fr);padding:10px 0 48px}.post-dateline[data-astro-cid-vk7tuqbn]{border-right:0;border-bottom:1px solid var(--reading-rule);flex-flow:wrap;grid-row:auto;align-items:center;padding:0 0 20px}.post-dateline[data-astro-cid-vk7tuqbn]>span[data-astro-cid-vk7tuqbn][aria-hidden=true]{width:12px;margin:0 2px}h1[data-astro-cid-vk7tuqbn]{margin:28px 0 30px;font-size:clamp(34px,10vw,44px);line-height:1.38}.post-dek[data-astro-cid-vk7tuqbn]{max-width:none;margin:0 0 0 42px;padding-top:18px;font-size:15px}.post-updated[data-astro-cid-vk7tuqbn]{margin:0 0 0 auto}}.article-sheet{--post-body-size:17px;--post-body-leading:2.05;--post-content-width:39rem;--post-paragraph-space:1.35rem;background:0 0}.post-reading-surface{z-index:0;border-top:1px solid var(--reading-ink);isolation:isolate;padding:76px 42px 92px 124px;position:relative}.post-reading-surface:before{content:"";background:linear-gradient(180deg, transparent, var(--reading-rule) 6%, var(--reading-rule) 94%, transparent);width:1px;position:absolute;top:30px;bottom:30px;left:88px}.post-reading-surface:after{z-index:-1;background:radial-gradient(ellipse 58% 24% at 28% 12%, color-mix(in srgb, var(--reading-wash) 42%, transparent), transparent 72%), radial-gradient(ellipse 48% 26% at 78% 66%, color-mix(in srgb, var(--reading-hover) 30%, transparent), transparent 74%), linear-gradient(90deg, transparent, color-mix(in srgb, var(--reading-surface) 44%, transparent) 14%, color-mix(in srgb, var(--reading-surface) 66%, transparent) 52%, color-mix(in srgb, var(--reading-surface) 38%, transparent) 88%, transparent);content:"";pointer-events:none;position:absolute;inset:0 -12px -16px 38px;mask-image:linear-gradient(#0000,#000 3.5rem calc(100% - 3.5rem),#0000)}.article-sheet .post-prose-content{width:100%;max-width:var(--post-content-width);font-family:var(--reading-sans);color:var(--reading-ink);font-size:var(--post-body-size);line-height:var(--post-body-leading);overflow-wrap:break-word;letter-spacing:.006em;margin-inline:auto 20px;position:relative}.dark .article-sheet .post-prose-content{color:var(--reading-ink)}.article-sheet .post-prose-content h2{width:calc(100% + 56px);color:var(--reading-ink);font-family:var(--reading-serif);letter-spacing:-.035em;margin-top:5.2rem;margin-bottom:1.65rem;margin-left:-56px;scroll-margin-top:5rem;font-size:1.65rem;font-weight:700;line-height:1.55;position:relative}.dark .article-sheet .post-prose-content h2{color:var(--reading-ink)}.article-sheet .post-prose-content h2:before{content:"";background:var(--reading-accent);transform-origin:100%;width:28px;height:1px;transition:transform .45s var(--reading-ease);position:absolute;top:.82em;left:-45px}.article-sheet .post-prose-content>h2:first-child{margin-top:0}.article-sheet .post-prose-content h3{color:var(--reading-ink);font-family:var(--reading-sans);margin-top:3rem;margin-bottom:.9rem;font-size:1.14rem;font-weight:600;line-height:1.6}.dark .article-sheet .post-prose-content h3{color:var(--reading-ink)}.article-sheet .post-prose-content p{margin-top:var(--post-paragraph-space);margin-bottom:var(--post-paragraph-space);text-align:start}.article-sheet .post-prose-content :where(ul,ol){margin-top:1.2rem;margin-bottom:1.2rem}.article-sheet .post-prose-content li{white-space:normal;margin-top:.45rem;margin-bottom:.45rem}.article-sheet .post-prose-content blockquote{border-left:2px solid var(--reading-accent);color:var(--reading-secondary);margin:2.4rem 0 2.4rem -32px;padding:1.25rem 0 1.25rem 31px;font-size:.95em;font-style:normal}.article-sheet .post-prose-content blockquote p{margin:.6rem 0}.article-sheet .post-prose-content a{color:var(--reading-accent);text-underline-offset:4px;text-decoration-line:underline;text-decoration-color:var(--reading-rule);transition:text-decoration-color .18s}.article-sheet .post-prose-content a:hover{text-decoration-color:currentColor}.article-sheet .post-prose-content strong{color:var(--reading-ink);font-weight:600}.article-sheet .post-prose-content hr{border-color:var(--reading-rule);margin-block:2.5rem}.article-sheet .post-prose-content code:before,.article-sheet .post-prose-content code:after{content:none}.article-sheet .post-prose-content :where(:not(pre):not(a)>code){white-space:normal;overflow-wrap:break-word;color:var(--reading-accent);background-color:var(--theme-accent-soft);border-radius:4px;padding:2px 4px;font-size:90%}.article-sheet .post-prose-content img{border:1px solid #a0876e2e;border-radius:.5rem;width:calc(100% + 64px);max-width:calc(100% + 64px);margin:2.75rem 0 2.75rem -32px}.article-sheet .post-prose-content :where(h2,h3,h4){text-wrap:pretty;scroll-margin-top:2rem}.article-sheet .post-prose-content :where(pre,table){max-width:100%;font-size:.85em;overflow-x:auto}.article-sheet .post-prose-content table{display:block}.article-sheet .post-prose-content :where(td,th){min-width:5rem;padding:.5em .75em}.article-sheet .post-prose-content pre{border:1px solid var(--theme-border-subtle);border-radius:4px;padding:1.5rem;line-height:1.7}.article-sheet .post-prose-content>:first-child{margin-top:0}.article-sheet .post-prose-content>:last-child{margin-bottom:0}@media (prefers-reduced-motion:no-preference){.article-sheet .post-prose-content h2:target{animation:.9s ease-out chapter-arrive}@keyframes chapter-arrive{0%{color:var(--reading-accent);transform:translate(10px)}to{color:var(--reading-ink);transform:translate(0)}}}@media (width<=767px){.article-sheet{--post-body-size:16px;--post-body-leading:2}.post-reading-surface{padding:48px 8px 64px 34px}.post-reading-surface:before{top:24px;bottom:24px;left:14px}.post-reading-surface:after{background:radial-gradient(ellipse 74% 20% at 22% 8%, color-mix(in srgb, var(--reading-wash) 36%, transparent), transparent 72%), linear-gradient(90deg, transparent, color-mix(in srgb, var(--reading-surface) 58%, transparent) 18%, color-mix(in srgb, var(--reading-surface) 54%, transparent) 86%, transparent);inset-inline:0 -8px}.article-sheet .post-prose-content{margin:0}.article-sheet .post-prose-content h2{width:calc(100% + 16px);margin-top:4rem;margin-left:-16px;font-size:1.55rem}.article-sheet .post-prose-content h2:before{width:18px;top:.82em;left:-27px}.article-sheet .post-prose-content blockquote{margin-left:-16px;padding-left:16px}.article-sheet .post-prose-content img{width:calc(100% + 16px);max-width:calc(100% + 16px);margin-left:-16px}}.post-adjacent{border-block:1px solid var(--reading-rule);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px;display:grid}.post-neighbor{flex-direction:column;justify-content:center;gap:12px;padding:28px 24px;display:flex;position:relative;overflow:hidden}.post-neighbor:before{content:"";background:var(--reading-hover-ink);transform-origin:0;width:100%;height:2px;transition:transform .48s var(--reading-ease);position:absolute;top:-1px;left:0;transform:scaleX(0)}.post-neighbor:first-child{border-right:1px solid var(--reading-rule)}.post-neighbor-next{text-align:right}.post-neighbor-next:before{transform-origin:100%}.neighbor-label,.neighbor-bottom,.neighbor-empty{color:var(--reading-muted);font-size:12px}.neighbor-title{font-family:var(--reading-serif);text-wrap:pretty;overflow-wrap:anywhere;background-image:linear-gradient(var(--reading-hover-ink), var(--reading-hover-ink));transition:color .18s ease, background-size .48s var(--reading-ease);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;align-self:flex-start;font-size:20px;font-weight:500;line-height:1.6}.post-neighbor-next .neighbor-title{background-position:100% 100%;align-self:flex-end}.neighbor-bottom{justify-content:space-between;align-items:center;gap:12px;display:flex}.neighbor-bottom time{font:11px JetBrains Mono Variable,monospace}.post-neighbor-next .neighbor-bottom{flex-direction:row-reverse}.neighbor-arrow{color:var(--reading-accent);transition:transform .46s var(--reading-ease);font-size:22px}a.post-neighbor:is(:hover,:focus-visible){color:var(--reading-ink)}a.post-neighbor:is(:hover,:focus-visible):before{transform:scaleX(1)}a.post-neighbor:is(:hover,:focus-visible) .neighbor-title{color:var(--reading-hover-ink);background-size:100% 1px}a.post-neighbor:is(:hover,:focus-visible) .neighbor-arrow{color:var(--reading-hover-ink);transform:translate(-8px)}a.post-neighbor-next:is(:hover,:focus-visible) .neighbor-arrow{transform:translate(8px)}@media (width<=639px){.post-adjacent{grid-template-columns:minmax(0,1fr)}.post-neighbor:first-child{border-right:0;border-bottom:1px solid var(--reading-rule)}.post-neighbor{padding:22px 24px}}@media (prefers-reduced-motion:reduce){.post-adjacent a,.post-neighbor:before,.post-adjacent .neighbor-title,.post-adjacent .neighbor-arrow{transition:none;transform:none!important}}.code-container{position:relative}.clipboard-copy{background:#0000000d;border-radius:.25rem;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:background-color .15s;display:flex;position:absolute;top:.5rem;right:.5rem}.dark .clipboard-copy{background:#ffffff1a}.clipboard-copy:hover{background-color:#00000026}
