.collapsible-title{cursor:pointer;align-items:center;gap:8px;padding-block:.5rem;display:flex}.collapsible-title:hover{color:var(--cl-accent-400)}.collapsible-title-text-close,.collapsible-title-icon-path-close{display:none}.collapsible-title-icon{transform-origin:0 6px;transition:transform .2s ease-in-out;display:block}.collapsible-title:hover .collapsible-title-icon{transform:scaleY(1.5)}.collapsible[open] .collapsible-title-text-open,.collapsible[open] .collapsible-title-icon-path-open{display:none}.collapsible[open] .collapsible-title-text-close,.collapsible[open] .collapsible-title-icon-path-close{display:block}.collapsible[open] .collapsible-title-icon{transform-origin:0 10px}
.related-stories-list{margin:0;padding:0;list-style:none}.related-stories-item{border-bottom:1px solid var(--bookcase-hair);flex-direction:column;gap:4px;padding:14px 0;display:flex}@media (min-width:600px){.related-stories-item{flex-direction:row;justify-content:space-between;align-items:baseline;gap:24px}}.related-stories-title{font-family:var(--font-display),Georgia,serif;color:var(--bookcase-ink);text-underline-offset:4px;font-size:20px;line-height:1.25;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px;transition:text-decoration-color .2s}.related-stories-title:hover,.related-stories-title:focus-visible{text-decoration-color:currentColor}.related-stories-arrow{font-family:var(--font-mono),ui-monospace,monospace;color:var(--bookcase-muted);margin-left:6px;font-size:13px;text-decoration:none;display:inline-block}.related-stories-author{font-family:var(--font-mono),ui-monospace,monospace;color:var(--bookcase-muted);flex-shrink:0;font-size:12px;transition:color .2s}.related-stories-author:hover,.related-stories-author:focus-visible{color:var(--bookcase-ink)}.related-stories-sr{white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.post-section .collapsible{margin-top:20px}.post-section .collapsible-title{font-family:var(--font-mono),ui-monospace,monospace;color:var(--bookcase-ink);border:1px solid var(--bookcase-ink);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:12px;line-height:1.4;list-style:none;transition:color .2s,background-color .2s;display:inline-flex}.post-section .collapsible-title::-webkit-details-marker{display:none}.post-section .collapsible-title:hover{color:var(--bookcase-paper);background:var(--bookcase-ink)}.post-section .collapsible[open] .collapsible-title{margin-bottom:8px}
.reactions__header-actions{align-items:center;gap:16px;display:flex}.reactions__header-button{width:34px;min-width:34px;height:34px;color:var(--bookcase-ink);cursor:pointer;border:1px solid var(--bookcase-ink);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .2s,background-color .2s;display:flex}.reactions__header-button:hover,.reactions__header-button:focus-visible{color:var(--bookcase-paper);background:var(--bookcase-ink)}.reactions__header-button-icon{width:18px;height:18px;display:block}.reactions__header-button-icon-reload-active{animation:1s linear infinite reactions-spin}@keyframes reactions-spin{to{transform:rotate(360deg)}}.reactions__list{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.reactions-item{color:var(--bookcase-ink);border-radius:50%;text-decoration:none;display:block;position:relative}.reactions-item__avatar,.reactions-item__avatar-fallback{border:1.5px solid var(--bookcase-ink);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.reactions-item__avatar{object-fit:cover;filter:grayscale()contrast(1.05);transition:filter .3s}.reactions-item:hover .reactions-item__avatar,.reactions-item:focus-visible .reactions-item__avatar{filter:none}.reactions-item__avatar-fallback{font-family:var(--font-display),Georgia,serif;text-transform:uppercase;background:var(--bookcase-paper);font-size:18px}.reactions-type{width:18px;height:18px;color:var(--bookcase-ink);background:var(--bookcase-paper);border:1px solid var(--bookcase-ink);border-radius:50%;padding:2px;transition:opacity .2s;position:absolute;bottom:-4px;right:-4px}.reactions-item:hover .reactions-type{opacity:0}@media (prefers-reduced-motion:reduce){.reactions__header-button-icon-reload-active{animation-duration:3s}}
.comments__header-actions{align-items:center;gap:8px;display:flex}.comments__header-button{width:34px;min-width:34px;height:34px;color:var(--bookcase-ink);cursor:pointer;border:1px solid var(--bookcase-ink);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .2s,background-color .2s;display:flex}.comments__header-button:hover,.comments__header-button:focus-visible{color:var(--bookcase-paper);background:var(--bookcase-ink)}.comments__header-button-icon{width:18px;height:18px;display:block}.comments__header-button-icon-reload-active{animation:1s linear infinite comments-spin}@keyframes comments-spin{to{transform:rotate(360deg)}}.comments__thread{margin-top:28px}.comments__thread+.comments__thread{border-top:1px solid var(--bookcase-hair);padding-top:28px}.comments__thread .post-embed__tenor-video{border-radius:0}@media (prefers-reduced-motion:reduce){.comments__header-button-icon-reload-active{animation-duration:3s}}
.typography-h1{font-family:var(--font-display),Georgia,serif;margin:0;font-size:2.75rem;font-weight:400;line-height:1.08}@media (min-width:768px){.typography-h1{font-size:4rem}}@media (min-width:1024px){.typography-h1{font-size:4.5rem}}.typography-h2{font-family:var(--font-display),Georgia,serif;letter-spacing:-.025em;margin:0;font-size:2rem;font-weight:400;line-height:1.15}@media (min-width:768px){.typography-h2{font-size:2.75rem}}.typography-h3{font-family:var(--font-display),Georgia,serif;letter-spacing:-.02em;margin:0;font-size:1.625rem;font-weight:400;line-height:1.2}@media (min-width:768px){.typography-h3{font-size:2rem}}.typography-h4{letter-spacing:-.02em;margin:0;font-size:1.375rem;font-weight:500;line-height:1.25}@media (min-width:768px){.typography-h4{font-size:1.5rem}}.typography-h5{letter-spacing:-.015em;margin:0;font-size:1.125rem;font-weight:500;line-height:1.35}@media (min-width:768px){.typography-h5{font-size:1.25rem}}.typography-h6{letter-spacing:-.01em;margin:0;font-size:1.0625rem;font-weight:500;line-height:1.35}.typography-body{color:var(--cl-main-200);margin:0;font-size:1.0625rem;font-weight:400;line-height:1.65}.typography-body2{color:var(--cl-main-300);margin:0;font-size:.9375rem;font-weight:400;line-height:1.6}.typography-caption{color:var(--cl-main-400);margin:0;font-size:.9375rem;font-weight:400;line-height:1.55;display:block}.typography-subtitle1{color:var(--cl-main-300);margin:0;font-size:1.125rem;font-weight:400;line-height:1.55}.typography-subtitle2{color:var(--cl-main-300);margin:0;font-size:1rem;font-weight:400;line-height:1.5}.typography-personal{font-family:var(--font-display),Georgia,serif}
.r-anchor-heading-link{visibility:hidden;font-family:var(--font-mono),ui-monospace,monospace;vertical-align:.2em;color:var(--bookcase-muted,var(--cl-main-500));opacity:0;transition:opacity .3s allow-discrete;margin-inline-start:-4px;padding-inline:6px;font-size:.6em;font-weight:400;text-decoration:none}.r-anchor-heading-link:hover{color:var(--bookcase-ink,var(--cl-main-50))}.r-anchor-heading-link:after{content:"#"}.r-anchor-heading:hover .r-anchor-heading-link,.r-anchor-heading:focus-within .r-anchor-heading-link{visibility:visible;opacity:1}
.contents{flex-direction:column;min-height:0;display:flex}.contents-control{pointer-events:none;opacity:0;position:absolute}.contents-head{color:var(--bookcase-ink);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}@media (min-width:1280px){.contents-head{cursor:default;margin-bottom:16px}}.contents-label{font-family:var(--font-mono),ui-monospace,monospace;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:400;line-height:1.4}.contents-chevron{transition:transform .25s var(--ease-out);flex:none}@media (min-width:1280px){.contents-chevron{display:none}}.contents-control:focus-visible+.contents-head{outline:1.5px solid var(--bookcase-ink);outline-offset:3px}.contents-fold{min-height:0;transition:grid-template-rows .3s var(--ease-out);grid-template-rows:0fr;display:grid}@media (min-width:1280px){.contents-fold{flex-direction:column;flex:1;display:flex}}.contents-control:checked~.contents-fold{grid-template-rows:1fr}.contents-control:checked~.contents-head .contents-chevron{transform:rotate(180deg)}.contents-list{min-height:0;margin:0;padding:0;list-style:none;overflow:hidden}@media not (min-width:1280px){.contents-control:checked~.contents-fold .contents-list{border-top:1px solid var(--bookcase-hair);margin-top:16px}}@media (min-width:1280px){.contents-list{scrollbar-color:var(--bookcase-hair) #0000;scrollbar-width:thin;border-top:1px solid var(--bookcase-hair);flex:0 auto;position:relative;overflow-y:auto}}.contents-item{border-bottom:1px solid var(--bookcase-hair)}.contents-link{color:var(--bookcase-muted);text-wrap:pretty;text-underline-offset:3px;transition:color .2s,padding-left .3s var(--ease-out),text-decoration-color .2s;padding:9px 0;font-size:13.5px;line-height:1.4;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px;display:block;position:relative}.contents-link:hover,.contents-link:focus-visible{color:var(--bookcase-ink);text-decoration-color:currentColor}.contents-link:before{box-sizing:border-box;content:"";background:var(--bookcase-accent);opacity:0;transform-origin:bottom;width:7px;height:14px;transition:opacity .2s,transform .3s var(--ease-out);border:1px solid #111;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleY(.4)}.contents-item._nested .contents-link{padding-left:12px;font-size:13px}.contents-item._read .contents-link,.contents-item._open .contents-link{color:color-mix(in srgb, var(--bookcase-ink) 72%, var(--bookcase-paper))}@media (min-width:1280px){.contents-item._current .contents-link{color:var(--bookcase-ink);padding-left:16px}.contents-item._current .contents-link:before{opacity:1;transform:translateY(-50%)}.contents-item._current._nested .contents-link{padding-left:28px}.contents-item._current._nested .contents-link:before{left:12px}}.contents-shelf{display:none}@media (min-width:1280px){.contents-shelf{height:52px;margin-bottom:calc(var(--case-pad-y)*-1);flex:none;align-items:flex-end;gap:1px;padding-top:20px;display:flex}}.contents-spine{box-sizing:border-box;min-width:4px;height:calc(var(--spine-h)*100%);background:var(--bookcase-paper);border:1.5px solid var(--bookcase-ink);flex:0 12px;transition:background-color .3s,transform .35s cubic-bezier(.3,.7,.2,1)}.contents-spine:before{content:"";background:var(--bookcase-ink);height:2px;margin-top:5px;display:block}.contents-spine:hover{transform:translateY(-6px)}.contents-spine._nested{height:calc(var(--spine-h)*78%);flex-basis:8px}.contents-spine._read{background:var(--bookcase-ink)}.contents-spine._read:before{background:var(--bookcase-paper)}.contents-spine._current{background:var(--bookcase-accent);border-color:#111;transform:translateY(-8px)}.contents-spine._current:before{background:#111}@media (prefers-reduced-motion:reduce){.contents-fold,.contents-chevron,.contents-link,.contents-link:before,.contents-spine{transition:none}}
.post-body{color:color-mix(in srgb, var(--bookcase-ink) 88%, var(--bookcase-paper));overflow-wrap:break-word;font-size:17px;line-height:1.75}@media (min-width:768px){.post-body{font-size:18px}}.post-body>:first-child{margin-top:0}.post-body>:last-child{margin-bottom:0}.post-body .atview-typography-body{font-size:inherit;font-weight:400;line-height:inherit}.post-body .atview-paragraph.atview-paragraph{text-wrap:pretty;margin-block:0 1.15em}.post-body b,.post-body strong,.post-body .atview-bold{color:var(--bookcase-ink);font-weight:600}.post-body h2,.post-body h3,.post-body h4,.post-body h5,.post-body h6{color:var(--bookcase-ink);text-wrap:balance;scroll-margin-top:112px}.post-body h2{font-family:var(--font-display),Georgia,serif;letter-spacing:-.01em;margin:2.2em 0 .55em;font-size:30px;font-weight:400;line-height:1.15}@media (min-width:768px){.post-body h2{font-size:36px}}.post-body h3{font-family:var(--font-display),Georgia,serif;letter-spacing:-.005em;margin:1.9em 0 .5em;font-size:24px;font-weight:400;line-height:1.2}@media (min-width:768px){.post-body h3{font-size:27px}}.post-body h4,.post-body h5,.post-body h6{font-family:var(--font-sans),system-ui,sans-serif;letter-spacing:-.01em;margin:1.8em 0 .5em;font-size:18px;font-weight:600;line-height:1.35}.post-body .atview-link-base-accent,.post-body .atview-link-base-underline{color:var(--bookcase-ink);text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--bookcase-accent);text-decoration-color:var(--bookcase-accent);text-underline-offset:3px;transition:text-decoration-color .2s}.post-body .atview-link-base-accent:hover,.post-body .atview-link-base-accent:focus-visible,.post-body .atview-link-base-underline:hover,.post-body .atview-link-base-underline:focus-visible{color:var(--bookcase-ink);text-underline-offset:3px;text-decoration-color:currentColor;text-decoration-thickness:2px}.post-body .atview-unordered-list,.post-body .atview-ordered-list{margin:0 0 1.15em;padding-left:1.4em}.post-body .atview-unordered-list .atview-unordered-list,.post-body .atview-unordered-list .atview-ordered-list,.post-body .atview-ordered-list .atview-unordered-list,.post-body .atview-ordered-list .atview-ordered-list{margin:.35em 0 0}.post-body li{margin-block:.35em;padding-left:.2em}.post-body li::marker{font-family:var(--font-mono),ui-monospace,monospace;color:var(--bookcase-muted);font-size:.85em}.post-body .atview-task-list{padding-left:0}.post-body .atview-task-list-item__checkbox{accent-color:var(--bookcase-ink);margin-top:.4em}.post-body .atview-blockquote{font-family:var(--font-display),Georgia,serif;color:var(--bookcase-ink);border-left:2px solid var(--bookcase-ink);margin:1.6em 0;padding:.1em 0 .1em 1.1em;font-size:1.2em;font-style:italic;line-height:1.5}.post-body .atview-highlight{color:#111;background:var(--bookcase-accent);border-radius:2px;margin:0;padding:.05em .2em}.post-body .atview-inline-code{font-family:var(--font-mono),ui-monospace,monospace;color:var(--bookcase-ink);background:color-mix(in srgb, var(--bookcase-ink) 5%, var(--bookcase-paper));border:1px solid var(--bookcase-hair);border-radius:3px;margin:0 .05em;padding:.08em .35em;font-size:.84em}.post-body .code-section,.post-body .atview-code-block{background:color-mix(in srgb, var(--bookcase-ink) 3%, var(--bookcase-paper));border:1.5px solid var(--bookcase-ink);border-radius:0;margin:1.8em 0;padding:0}.post-body .code-section-header{color:var(--bookcase-muted);border-bottom:1px solid var(--bookcase-hair);border-radius:0;padding:8px 14px 8px 16px;font-size:12px}.post-body .atview-code-block-content{tab-size:4;scrollbar-color:var(--bookcase-hair) #0000;background:0 0;border-radius:0;padding:18px 20px;font-size:14px;line-height:1.65}@media (min-width:768px){.post-body .atview-code-block-content{padding:20px 24px}}.post-body .code-section-copy.code-section-copy{z-index:1;width:32px;height:32px;color:var(--bookcase-ink);background:var(--bookcase-paper);border:1.5px solid var(--bookcase-ink);opacity:1;-webkit-backdrop-filter:none;backdrop-filter:none;clip-path:inset(-15px -4px calc(100% + 15px));border-radius:0;place-items:center;padding:0;transition:clip-path .3s cubic-bezier(.3,.7,.2,1),color .2s,background-color .2s;display:grid;top:14px;right:16px}.post-body .code-section-copy.code-section-copy:before{content:"";background:linear-gradient(var(--bookcase-ink), var(--bookcase-ink)) 50% 100%/7px 3px no-repeat,linear-gradient(var(--bookcase-ink), var(--bookcase-ink)) 50% 0/1.5px 100% no-repeat;width:7px;height:16px;position:absolute;bottom:100%;left:50%;translate:-50%}.post-body .code-section-copy.code-section-copy .copy-button-svg{width:15px;height:15px}.post-body .code-section-copy.code-section-copy .tooltip{display:none}.post-body .code-section-copy.code-section-copy:hover{color:var(--bookcase-paper);background:var(--bookcase-ink)}.post-body .code-section-copy.code-section-copy._active{color:#111;background:var(--bookcase-accent)}.post-body .code-section:is(:hover,:focus-within) .code-section-copy.code-section-copy,.post-body .code-section-copy.code-section-copy._active{clip-path:inset(-15px -4px -4px)}@media (hover:none){.post-body .code-section-copy.code-section-copy{clip-path:inset(-15px -4px -4px)}}.post-body .atview-media{background:var(--bookcase-paper);border:1.5px solid var(--bookcase-ink);border-radius:0;margin:2em 0;padding:4px}.post-body .atview-media-image-container,.post-body .atview-media-image{border-radius:0}.post-body .atview-media-image-bg{display:none}.post-body .atview-media-image{max-height:640px}.post-body .atview-media-caption{font-family:var(--font-mono),ui-monospace,monospace;color:var(--bookcase-muted);padding:10px 6px 6px;font-size:12px;line-height:1.5}.post-body .atview-media-alt-badge{font-family:var(--font-mono),ui-monospace,monospace;color:var(--bookcase-ink);text-transform:lowercase;background:var(--bookcase-paper);border:1px solid var(--bookcase-ink);border-radius:999px;padding:3px 10px;font-size:11px;top:10px;right:10px}.post-body .post_wrapped.post_wrapped{background:var(--bookcase-paper);border:1.5px solid var(--bookcase-ink);border-radius:0;max-width:none;margin:2em 0}.post-body .post-embed__reference--post,.post-body .post-embed__reference--feed,.post-body .post-embed__external,.post-body .post-embed__notice{border:1px solid var(--bookcase-hair);background:0 0;border-radius:0}.post-body .post-embed__reference,.post-body .post-embed__media,.post-body .post-embed__tenor-video,.post-body .post-embed__images,.post-body .post-embed__image-item--multiple,.post-body .post-embed__image-main,.post-body .post-embed__image-blur,.post-body .post-embed__external-thumb{border-radius:0}.post-body .atview-iframe,.post-body .atview-website.atview-website{margin:2em 0}.post-body .atview-iframe{border:1.5px solid var(--bookcase-ink);border-radius:0}.post-body .atview-table-container{border:1.5px solid var(--bookcase-ink);border-radius:0;margin:1.8em 0}.post-body .atview-table{font-size:15px;line-height:1.5}.post-body .atview-table-cell,.post-body .atview-table-head-cell{border:1px solid var(--bookcase-hair);padding:10px 14px}.post-body .atview-table-head-cell{font-family:var(--font-mono),ui-monospace,monospace;color:var(--bookcase-ink);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:400}.post-body hr{border:0;border-top:1.5px solid var(--bookcase-ink);width:64px;height:0;margin:3em auto}
.atview-code-block{background-color:color-mix(in srgb, var(--cl-main-800) 30%, transparent);border-radius:10px;margin:1em 0;padding:2px;position:relative}.code-section{background-color:var(--cl-main-900);border:1px solid var(--cl-main-800);border-radius:8px;margin-block:1.5em 1.75em;padding:3px;position:relative}.code-section-header{font-family:var(--font-mono);color:var(--cl-main-300);border-top-left-radius:6px;border-top-right-radius:6px;justify-content:space-between;align-items:center;padding-left:20px;display:flex}.code-section-block._space-right{padding-right:3rem}.code-section-header+.code-section-block{border:0;margin-block:0}.code-section:hover .code-section-copy{opacity:.9}.code-section-copy.code-section-copy{background:color-mix(in srgb, var(--cl-main-900) 90%, transparent);border:2px solid var(--cl-main-800);opacity:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .2s,color .2s,background-color .2s;position:absolute;top:9px;right:9px}.code-section-copy.code-section-copy:hover,.code-section-copy.code-section-copy._active{opacity:1}.code-section-filename{font-family:var(--font-mono)}.atview-media{cursor:pointer;background-color:color-mix(in srgb, var(--cl-main-800) 30%, transparent);border-radius:10px;margin:1em 0;padding:2px;position:relative}.atview-media-figure{border:none;margin:0;padding:0}.atview-media-image-container{border-radius:8px;width:100%;height:100%;position:relative;overflow:hidden}.atview-media-image-bg{object-fit:cover;filter:blur(10px);border-radius:8px;width:100%;height:100%;position:absolute;top:0;left:0}.atview-media-image{object-fit:contain;object-position:center;border-radius:8px;width:100%;height:auto;max-height:600px;display:block;position:relative}.atview-media-caption{color:var(--cl-main-200);padding:.5em .75em}.atview-media-alt-badge{background:color-mix(in srgb, var(--cl-main-900) 80%, transparent);border-radius:6px;padding:.25em .75em;font-size:12px;position:absolute;top:4px;right:4px}.atview-website.atview-website{margin-block:1em}.copy-button{font:inherit;color:var(--cl-main-300);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px;transition:color .2s,background-color .2s;position:relative}.copy-button-success{opacity:0;transition:transform .2s;transform:scale(.7)}.copy-button-base{transition:transform .2s}.copy-button:hover{color:var(--cl-main-50)}.copy-button:active,.copy-button._active{color:var(--cl-success)}.copy-button:active .copy-button-success,.copy-button._active .copy-button-success{opacity:1;transform:scale(1)}.copy-button:active .copy-button-base,.copy-button._active .copy-button-base{opacity:0;transform:scale(.7)}.copy-button-svg{display:block}.copy-text{font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 0;position:relative}.copy-text:hover{color:var(--cl-main-50)}.copy-text:before{box-sizing:border-box;content:"";opacity:.6;background:linear-gradient(90deg,currentColor 30%,#0000 0% 80%,currentColor 80%) 0/8px repeat-x;width:100%;height:1px;transition:background .2s;position:absolute;bottom:0;left:0}.copy-text:active,.copy-text._active{color:var(--cl-success)}.atview-code-block-content{box-sizing:border-box;font-family:var(--font-mono);color:var(--cl-accent-100);tab-size:2rem;scrollbar-color:var(--cl-main-800) transparent;scrollbar-width:thin;background-color:var(--cl-main-950);border-radius:6px;margin:0;padding:1em 1.25em;font-size:1rem;line-height:1.33;overflow-x:auto}html .atview-code-block-content,html.light .atview-code-block-content{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--r-cl-1:#f9826c;--r-cl-2:var(--cl-main-950);--r-cl-3:#e1e4e8;--r-cl-4:#2f363d;--r-cl-5:#959da5;--r-cl-6:#2188ff;--r-cl-7:#dbedff;--r-cl-8:#005cc5;--r-cl-9:#586069;--r-cl-10:#6a737d;--r-cl-11:#fafbfc;--r-cl-12:#159739;--r-cl-13:#138934;--r-cl-14:#1b1f23;--r-cl-15:#d1d5da;--r-cl-16:#34d05822;--r-cl-17:#d73a4922;--r-cl-18:#ffdf5d;--r-cl-19:#ffdf5d66;--r-cl-20:#28a74525;--r-cl-21:#d1d5da11;--r-cl-22:#24292e;--r-cl-23:#0366d611;--r-cl-24:#f6f8fa;--r-cl-25:#0366d625;--r-cl-26:#34d05840;--r-cl-27:#34d05800;--r-cl-28:#ffd33d33;--r-cl-29:#24943e99;--r-cl-30:#24943e50;--r-cl-31:#be5007;--r-cl-32:#5a32a3;--r-cl-33:#044289;--r-cl-34:#cb2431;--r-cl-35:#28a745;--r-cl-36:#cc2536;--r-cl-37:#d7dbe0;--r-cl-38:#eff2f6;--r-cl-39:#1b1f234d;--r-cl-40:#f9c513;--r-cl-41:#444d56;--r-cl-42:#e2e5e9;--r-cl-43:#cce5ff;--r-cl-44:#ebf0f4;--r-cl-45:#e8eaed;--r-cl-46:#6a737d33;--r-cl-47:#959da588;--r-cl-48:#959da533;--r-cl-49:#959da544;--r-cl-50:#0366d6;--r-cl-51:#3192aa;--r-cl-52:#22863a;--r-cl-53:#b08800;--r-cl-54:#1b7c83;--r-cl-55:#dbab09;--r-cl-56:#6f42c1;--r-cl-57:#b31d28;--r-cl-58:#032f62;--r-cl-59:#b31d28;--r-cl-60:#ffeef0;--r-cl-61:#f0fff4;--r-cl-62:#ffebda}html.dark .atview-code-block-content{--r-cl-1:#f9826c;--r-cl-2:var(--cl-main-950);--r-cl-3:#444d56;--r-cl-4:#e1e4e8;--r-cl-5:#959da5;--r-cl-6:#0366d6;--r-cl-7:#1d2d3e;--r-cl-8:#79b8ff;--r-cl-9:#d1d5da;--r-cl-10:#9ba3ac;--r-cl-11:#24292e;--r-cl-12:#176f2c;--r-cl-13:#22863a;--r-cl-14:#fff;--r-cl-15:#586069;--r-cl-16:#28a74530;--r-cl-17:#d73a4930;--r-cl-18:#ffd33d44;--r-cl-19:#ffd33d22;--r-cl-20:#2b6a3033;--r-cl-21:#58606915;--r-cl-22:#e1e4e8;--r-cl-23:#3392ff22;--r-cl-24:#2f363d;--r-cl-25:#3392ff44;--r-cl-26:#17e5e650;--r-cl-27:#17e5e600;--r-cl-28:#c6902625;--r-cl-29:#17e5e699;--r-cl-30:#17e5e666;--r-cl-31:#ffab70;--r-cl-32:#b392f0;--r-cl-33:#c8e1ff;--r-cl-34:#f97583;--r-cl-35:#34d058;--r-cl-36:#f97583;--r-cl-37:#444d56;--r-cl-38:#2f363d;--r-cl-39:#444d56;--r-cl-40:#ffea7f;--r-cl-41:#d1d5da;--r-cl-42:#39414a;--r-cl-43:#044289;--r-cl-44:#282e34;--r-cl-45:#282e34;--r-cl-47:#6a737d88;--r-cl-48:#6a737d33;--r-cl-49:#6a737d44;--r-cl-50:#79b8ff;--r-cl-51:#56d4dd;--r-cl-52:#85e89d;--r-cl-53:#ffea7f;--r-cl-54:#39c5cf;--r-cl-55:#ffea7f;--r-cl-56:#b392f0;--r-cl-57:#fdaeba;--r-cl-58:#dbedff;--r-cl-59:#fdaeb7;--r-cl-60:#86181d;--r-cl-61:#144620;--r-cl-62:#c24e00}
body:has(.post-page){background:#f7f6f2}body:has(.post-page):before{display:none}.dark body:has(.post-page){background:#1e1c19}.post-page{--bookcase-paper:#f7f6f2;--bookcase-ink:#111;--bookcase-muted:#6d6b65;--bookcase-hair:#11111124;--bookcase-accent:#f3c3a2;--bookcase-post:2px;--bookcase-board:6px;--cl-main-0:var(--bookcase-ink);--cl-main-50:var(--bookcase-ink);--cl-main-100:color-mix(in srgb, var(--bookcase-ink) 90%, var(--bookcase-paper));--cl-main-200:color-mix(in srgb, var(--bookcase-ink) 80%, var(--bookcase-paper));--cl-main-300:color-mix(in srgb, var(--bookcase-ink) 66%, var(--bookcase-paper));--cl-main-400:color-mix(in srgb, var(--bookcase-ink) 54%, var(--bookcase-paper));--cl-main-500:color-mix(in srgb, var(--bookcase-ink) 44%, var(--bookcase-paper));--cl-main-600:color-mix(in srgb, var(--bookcase-ink) 34%, var(--bookcase-paper));--cl-main-700:color-mix(in srgb, var(--bookcase-ink) 22%, var(--bookcase-paper));--cl-main-800:color-mix(in srgb, var(--bookcase-ink) 13%, var(--bookcase-paper));--cl-main-900:color-mix(in srgb, var(--bookcase-ink) 5%, var(--bookcase-paper));--cl-main-950:var(--bookcase-paper);--cl-main-1000:var(--bookcase-paper);--cl-accent-100:var(--bookcase-ink);--cl-accent-200:var(--bookcase-ink);--cl-accent-300:var(--bookcase-ink);--cl-accent-400:var(--bookcase-ink);--cl-accent-500:var(--bookcase-accent);--cl-accent-600:var(--bookcase-accent);--surface:var(--bookcase-paper);--surface-muted:var(--cl-main-900);--shadow-soft:none;--shadow-lift:none;color:var(--bookcase-ink);background:var(--bookcase-paper);padding:112px 16px}@media (min-width:768px){.post-page{padding:152px 32px 144px}}@media (min-width:1024px){.post-page{padding-inline:48px}}.post-page ::selection{color:#111;background:var(--bookcase-accent)}.post-page a:focus-visible,.post-page button:focus-visible,.post-page summary:focus-visible{outline:1.5px solid var(--bookcase-ink);outline-offset:3px}:where(.dark) .post-page{--bookcase-paper:#1e1c19;--bookcase-ink:#ebe7de;--bookcase-muted:#9b978e;--bookcase-hair:#ebe7de29;--bookcase-accent:#e9b693}.post{max-width:1180px;margin:0 auto}.post-title-page{text-align:center;flex-direction:column;align-items:center;max-width:880px;margin:0 auto;padding-bottom:56px;display:flex}@media (min-width:768px){.post-title-page{padding-bottom:88px}}.post-slot{width:116px;height:auto;display:block}@media (min-width:768px){.post-slot{width:136px}}.post-slot-ink,.post-slot-paper,.post-slot-accent{stroke:var(--bookcase-ink);stroke-width:1.5px}.post-slot-ink,.post-slot-ink-fill{fill:var(--bookcase-ink)}.post-slot-paper,.post-slot-paper-fill{fill:var(--bookcase-paper)}.post-slot-accent{fill:var(--bookcase-accent)}.post-slot-gap{fill:none;stroke:var(--bookcase-muted);stroke-width:1.5px;stroke-dasharray:3 3}.post-kicker{font-family:var(--font-mono),ui-monospace,monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--bookcase-ink);margin:28px 0 0;font-size:11px;font-weight:400;line-height:1.4}.post-kicker-link{color:inherit;text-underline-offset:4px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .2s}.post-kicker-link:hover,.post-kicker-link:focus-visible{text-decoration-color:currentColor}.post-kicker-note{color:var(--bookcase-muted)}.post-page .post-title{max-width:18ch;font-family:var(--font-display),Georgia,serif;color:var(--bookcase-ink);letter-spacing:-.015em;text-wrap:balance;margin:20px 0 0;scroll-margin-top:160px;font-size:clamp(38px,6.4vw,76px);font-weight:400;line-height:1.02}.post-page .post-title .r-anchor-heading-link{display:none}.post-meta{font-family:var(--font-mono),ui-monospace,monospace;color:var(--bookcase-muted);letter-spacing:.04em;margin:28px 0 0;font-size:12px;line-height:1.5}.post-layout{grid-template-columns:minmax(0,1fr);gap:40px;max-width:680px;margin:0 auto;display:grid}@media (min-width:1280px){.post-layout{grid-template-columns:minmax(0,1fr) minmax(0,680px) minmax(0,1fr);column-gap:56px;max-width:none;margin-inline:-32px}}@media (min-width:1440px){.post-layout{margin-inline:-80px}}.post-aside{min-width:0}@media (min-width:1280px){.post-aside{grid-area:1/3}}.post-case{--case-pad-x:18px;--case-pad-y:16px;gap:var(--bookcase-board);padding:8px var(--bookcase-post) var(--bookcase-board);background:var(--bookcase-ink);flex-direction:column;display:flex;position:relative}@media (min-width:1280px){.post-case{--case-pad-x:16px;--case-pad-y:18px;max-width:280px;max-height:calc(100dvh - 160px);position:sticky;top:136px}}.post-case-lamp{display:none}@media (min-width:1280px){.post-case-lamp{pointer-events:none;width:72px;height:auto;display:block;position:absolute;bottom:100%;right:16px}}.post-lamp-line{fill:none;stroke:var(--bookcase-ink);stroke-width:5px;stroke-linecap:round}.post-lamp-chain{fill:none;stroke:var(--bookcase-ink);stroke-width:1.5px}.post-lamp-ink{fill:var(--bookcase-ink)}.post-lamp-shade{fill:var(--bookcase-accent);stroke:#111;stroke-width:2px}.post-case-cubby{min-width:0;padding:var(--case-pad-y) var(--case-pad-x);background:var(--bookcase-paper)}@media (min-width:1280px){.post-case-contents{flex:0 auto;overflow:hidden}}.post-case-actions{flex-wrap:wrap;flex:none;gap:8px;display:flex}@media not (min-width:1280px){.post-case-actions:not(:has(.post-pill:not(.post-case-top))){display:none}.post-case-top{display:none!important}}.post-body{min-width:0}@media (min-width:1280px){.post-body{grid-area:1/2}}.post-end{flex-direction:column;align-items:center;gap:28px;max-width:680px;margin:88px auto 0;display:flex}@media (min-width:768px){.post-end{margin-top:120px}}.post-end-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.post-page .post-pill{font-family:var(--font-mono),ui-monospace,monospace;color:var(--bookcase-ink);text-transform:lowercase;letter-spacing:.02em;white-space:nowrap;cursor:pointer;border:1px solid var(--bookcase-ink);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:6px 14px;font-size:12px;font-weight:400;line-height:1.4;text-decoration:none;transition:color .2s,background-color .2s;display:inline-flex;overflow:visible}.post-page .post-pill:before,.post-page .post-pill:after{display:none}.post-page .post-pill:hover,.post-page .post-pill:focus-visible{color:var(--bookcase-paper);background:var(--bookcase-ink)}.post-page .post-pill:active{transform:none}.post-page .post-pill svg{flex-shrink:0}.post-responses{max-width:680px;margin:0 auto}.post-section{margin-top:96px}@media (min-width:768px){.post-section{margin-top:120px}}.post-section-head{border-bottom:1px solid var(--bookcase-hair);justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;display:flex}.post-section-title{font-family:var(--font-display),Georgia,serif;letter-spacing:-.01em;margin:0;font-size:30px;font-weight:400;line-height:1.1}@media (min-width:768px){.post-section-title{font-size:34px}}.post-section-count{font-family:var(--font-mono),ui-monospace,monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--bookcase-muted);margin:0;font-size:11px;font-weight:400;line-height:1.4}
