.dgmo-dark,[data-theme=dark] .dgmo-light{display:none}[data-theme=dark] .dgmo-dark{display:block!important}html.dark .dgmo-light{display:none}html.dark .dgmo-dark{display:block!important}.dgmo-light>svg,.dgmo-dark>svg,.dgmo-svg>svg{width:100%;max-width:100%;height:auto;display:block}.dgmo-source-wrap{margin:0;position:relative}.dgmo-toolbar{z-index:2;opacity:0;cursor:pointer;user-select:none;color:#7f7f7fe6;justify-content:flex-end;align-items:center;gap:.25em;padding:.15em;list-style:none;transition:opacity .15s;display:flex;position:absolute;bottom:calc(100% + .4em);right:.4em}.dgmo-toolbar::-webkit-details-marker{display:none}.dgmo-light:hover~.dgmo-source-wrap>.dgmo-toolbar,.dgmo-dark:hover~.dgmo-source-wrap>.dgmo-toolbar,.dgmo-svg:hover~.dgmo-source-wrap>.dgmo-toolbar,.dgmo-toolbar:hover,.dgmo:focus-within .dgmo-toolbar{opacity:1}@media (hover:none){.dgmo-toolbar{opacity:.5}}.dgmo-toggle,.dgmo-toolbar-btn{width:1.9em;height:1.9em;color:inherit;cursor:pointer;opacity:.75;background:0 0;border:0;border-radius:.35em;justify-content:center;align-items:center;padding:0;transition:opacity .15s,background-color .15s;display:inline-flex}.dgmo-toggle:hover,.dgmo-toolbar-btn:hover{opacity:1;background:#7f7f7f1f}.dgmo-toggle svg,.dgmo-toolbar-btn svg{width:1em;height:1em}.dgmo-source-wrap[open]>.dgmo-toolbar .dgmo-toggle{opacity:1;background:#7f7f7f26}.dgmo-copy--success{color:#5cba7a;opacity:1}.dgmo-lightbox{background:0 0;border:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;padding:0;overflow:hidden}.dgmo-lightbox[open]{justify-content:center;align-items:center;display:flex}.dgmo-lightbox::backdrop{background:#000000b8}.dgmo-lightbox-svg{background:#fff;border-radius:.5em;width:95vw;max-width:95vw;max-height:95vh;overflow:auto;box-shadow:0 12px 48px #00000073}[data-theme=dark] .dgmo-lightbox-svg{background:#1e1e1e}.dgmo-lightbox-svg>svg{width:100%;max-width:100%;height:auto;display:block}.dgmo-lightbox-close{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));color:#fff;cursor:pointer;background:#00000080;border:0;border-radius:50%;justify-content:center;align-items:center;width:2.4em;height:2.4em;font-size:1.25rem;line-height:1;transition:background-color .15s;display:inline-flex;position:fixed}.dgmo-lightbox-close:hover{background:#000000bf}.dgmo:has(>.dgmo-source-wrap){border:1px solid #0000;border-radius:.6em;padding:.75em .75em .5em;position:relative}.dgmo:has(>.dgmo-source-wrap[open]){border-color:#7f7f7f4d}.dgmo-source-inner{background:#7f7f7f0f;border-top:1px solid #7f7f7f40;border-radius:0 0 .6em .6em;margin:0 -.75em -.5em;overflow:hidden}.dgmo-pre{white-space:pre;margin:0;padding:1em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;line-height:1.5;overflow-x:auto}.dgmo-code{display:block}.dgmo--error{border:1px solid #dc505080;border-radius:.5em;padding:.75em 1em}.dgmo--error pre{white-space:pre;margin:.5em 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;overflow-x:auto}.dgmo-error-docs{color:inherit;margin-top:.6em;font-size:.9em;font-weight:700;display:inline-block}.dgmo-tok-keyword{color:#3b6ea5;font-weight:700}.dgmo-tok-controlKeyword{color:#7d5ba6;font-weight:700}.dgmo-tok-definitionKeyword{color:#2f5a86;font-weight:700}.dgmo-tok-modifier{color:#7d5ba6}.dgmo-tok-chartType{color:#b8691f;font-weight:700}.dgmo-tok-operator{color:#c0504d;font-weight:700}.dgmo-tok-number{color:#7d5ba6}.dgmo-tok-comment{color:#677483;font-style:italic}.dgmo-tok-heading{color:#b8691f;font-weight:700}.dgmo-tok-bracket{color:#5b6672}.dgmo-tok-separator{color:#2d7268}.dgmo-tok-deprecatedSyntax{color:#c0504d;text-decoration:line-through}.dgmo-tok-url{color:#3b6ea5;text-decoration:underline}.dgmo-tok-colorAnnotation{color:#b8691f;font-style:italic}.dgmo-tok-punctuation{color:#677483}.dgmo-tok-propertyName{color:#2d7268}.dgmo-tok-string{color:#3f7a3b}.dgmo-tok-noteContent{color:#677483;font-style:italic}[data-theme=dark] .dgmo-tok-keyword{color:#81a1c1;font-weight:700}[data-theme=dark] .dgmo-tok-controlKeyword{color:#b48ead;font-weight:700}[data-theme=dark] .dgmo-tok-definitionKeyword{color:#5e81ac;font-weight:700}[data-theme=dark] .dgmo-tok-modifier{color:#b48ead}[data-theme=dark] .dgmo-tok-chartType{color:#d08770;font-weight:700}[data-theme=dark] .dgmo-tok-operator{color:#bf616a;font-weight:700}[data-theme=dark] .dgmo-tok-number{color:#b48ead}[data-theme=dark] .dgmo-tok-comment{color:#616e88;font-style:italic}[data-theme=dark] .dgmo-tok-heading{color:#d08770;font-weight:700}[data-theme=dark] .dgmo-tok-bracket{color:#5e81ac}[data-theme=dark] .dgmo-tok-separator{color:#88c0d0}[data-theme=dark] .dgmo-tok-deprecatedSyntax{color:#bf616a;text-decoration:line-through}[data-theme=dark] .dgmo-tok-url{color:#88c0d0;text-decoration:underline}[data-theme=dark] .dgmo-tok-colorAnnotation{color:#d08770;font-style:italic}[data-theme=dark] .dgmo-tok-punctuation{color:#616e88}[data-theme=dark] .dgmo-tok-propertyName{color:#88c0d0}[data-theme=dark] .dgmo-tok-string{color:#a3be8c}[data-theme=dark] .dgmo-tok-noteContent{color:#616e88;font-style:italic}.dgmo--tombstone{opacity:.6;text-align:center;border:1px dashed;border-radius:6px;padding:1.5rem}.dgmo-tombstone-text{margin:0;font-size:.9em}.dgmo-updated{opacity:.7;text-align:right;margin-top:.4rem;font-size:.8em;display:block}.dgmo-live-link-off{position:relative}.dgmo-live-link-view{text-decoration:none;display:block}.dgmo-live-link-enable{opacity:0;pointer-events:none;font-size:.8em;transition:opacity .15s ease-in-out;position:absolute;bottom:.5rem;right:.5rem}.dgmo-live-link-off:hover .dgmo-live-link-enable,.dgmo-live-link-off:focus-within .dgmo-live-link-enable{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){.dgmo-live-link-enable{transition:none}}:root{--bg:#fff;--surface:#f3f5f8;--border:#d4dae1;--text:#1f2933;--muted:#5b6672;--accent:#3b6ea5;--accent-2:#2c5480;--info:#3b6ea5;--note:#3b6ea5;--tip:#3a9188;--warning:#cc7a33;--danger:#c0504d;--success:#5b9357;--quote:#7d5ba6;--blue:#3b6ea5;--teal:#3a9188;--orange:#cc7a33;--purple:#7d5ba6;--gray:#7e8a97;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sidebar:21rem;--measure:42rem;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:1.0625rem/1.7 var(--sans);margin:0}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--accent-2)}.tone-blue{--c:var(--blue)}.tone-teal{--c:var(--teal)}.tone-orange{--c:var(--orange)}.tone-purple{--c:var(--purple)}.tone-gray{--c:var(--gray)}[class*=tone-]{--c-ink:color-mix(in srgb, var(--c) 80%, #000)}.shell{flex-wrap:wrap;min-height:100vh;display:flex}.profile{max-width:var(--sidebar);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:18rem;gap:1.6rem;padding:3.5rem 2.25rem 2rem;display:flex}.profile .avatar img{border:4px solid #fff;border-radius:50%;display:block}.profile .name{font-family:var(--sans);color:var(--text);font-size:1.85rem;font-weight:600;line-height:1.15;text-decoration:none}.profile .bio{color:var(--muted);margin-top:.6rem;font-size:.98rem;line-height:1.6}.profile .bio p{margin:0 0 .5rem}.topics{flex-direction:column;display:flex}.nav-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;font-size:.75rem;font-weight:700}.topics a{color:var(--text);align-items:center;gap:.6rem;padding:.35rem 0;text-decoration:none;display:flex}.topics a:hover{color:var(--c-ink,var(--accent))}.topics .dot{background:var(--c);border-radius:50%;flex:none;width:10px;height:10px}.topics .count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.88rem}.topics a.plain:first-of-type{border-top:1px solid var(--border);margin-top:.6rem;padding-top:.85rem}.topics a[aria-current]{color:var(--accent);font-weight:600}.links{gap:1rem;margin-top:auto;display:flex}.links a.icon{color:var(--muted);display:inline-flex}.links a.icon:hover{color:var(--accent)}.links a.icon svg{fill:currentColor;width:20px;height:20px}.built{color:var(--muted);font-size:.75rem}.content{flex:999 34rem;min-width:0;padding:3.5rem 4rem 4rem}.content>*{max-width:var(--measure)}@media (width<=860px){.profile{border-right:0;border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem 1.1rem;max-width:none;padding:1.5rem 1.25rem;display:grid}.profile .avatar img{border-width:3px;width:64px;height:64px}.profile .name{font-size:1.45rem}.profile .bio{margin-top:.25rem;font-size:.92rem}.topics{flex-flow:wrap;grid-column:1/-1;gap:.25rem 1.1rem}.nav-label,.topics .count,.built{display:none}.topics a.plain:first-of-type{border:0;margin:0;padding:.35rem 0}.links{grid-column:1/-1;margin:0}.content{padding:2rem 1.25rem 3rem}}h1,h2,h3,h4{margin:2em 0 .6em;line-height:1.2}h1,h2,h3{font-family:var(--sans);letter-spacing:-.01em;font-weight:600}h1{margin-top:0;font-size:2.6rem}h2{font-size:1.7rem}h3{font-size:1.3rem}h4{font-size:1rem}.kicker{letter-spacing:.07em;text-transform:uppercase;color:var(--c-ink,var(--muted));font-size:.78rem;font-weight:700;text-decoration:none;display:inline-block}a.kicker:hover{text-decoration:underline}.meta{color:var(--muted);margin:0;font-size:.92rem}.dek{color:var(--muted);margin:0 0 1rem;font-size:1.2rem;line-height:1.55}.page-title{margin:0 0 .5rem;font-size:2.2rem}.post-item:first-child{padding-top:0}.post-item{border-bottom:1px solid var(--border);padding:1.35rem 0}.post-item .kicker{letter-spacing:.04em;text-transform:none;font-size:.85rem}.post-item h3{margin:.3rem 0 .35rem;font-size:1.5rem;line-height:1.25}.post-item h3 a{color:var(--text);text-decoration:none}.post-item h3 a:hover{color:var(--accent)}.post-item p{color:var(--muted);margin:0;font-size:1rem;line-height:1.6}.more{margin:2rem 0 0}header.post{margin:0 0 2.5rem}header.post h1{margin:.5rem 0 .75rem}header.post .dek{margin-bottom:.75rem}.more-in{margin-top:3rem}.prose>:first-child{margin-top:0}.prose img{border-radius:6px;max-width:100%;height:auto}.prose hr{border:0;border-top:1px solid var(--border);margin:2.5rem 0}.prose blockquote{border-left:3px solid var(--quote);color:var(--muted);margin:1.5rem 0;padding:.1rem 1.1rem}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:.4rem .7rem}.prose th{background:var(--surface)}.prose figure.dgmo,.prose figure.video{margin:2rem 0}.prose figure.video iframe{aspect-ratio:16/9;background:var(--surface);border:0;border-radius:8px;width:100%;display:block}.prose figure.video .video-link{display:none}code{background:var(--surface);border-radius:4px;padding:.1em .35em;font:.88em ui-monospace,SF Mono,Menlo,monospace}pre{border-radius:8px;padding:1rem;font-size:.9rem;line-height:1.5;overflow-x:auto}pre code{background:0 0;padding:0}.prose li>ul,.prose li>ol{margin:.2rem 0}.callout{--c:var(--info);border-left:3px solid var(--c);background:color-mix(in srgb, var(--c) 10%, transparent);border-radius:0 6px 6px 0;margin:1.5rem 0;padding:.75rem 1.1rem}.callout>:last-child{margin-bottom:0}.callout-title{color:var(--c);margin:0 0 .4rem;font-weight:600}details.callout>summary{cursor:pointer;margin:0}details.callout[open]>summary{margin-bottom:.4rem}.callout-tip,.callout-hint{--c:var(--tip)}.callout-warning,.callout-caution,.callout-attention{--c:var(--warning)}.callout-danger,.callout-error,.callout-bug{--c:var(--danger)}.callout-success,.callout-check,.callout-done{--c:var(--success)}.callout-quote,.callout-cite{--c:var(--quote)}.list-heading{font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--c-ink,var(--tip));margin:2.75rem 0 .75rem;font-size:.8rem;font-weight:700}.writing-group{scroll-margin-top:1.5rem}ul.posts{margin:0;padding:0;list-style:none}ul.posts li{border-bottom:1px solid var(--border);align-items:baseline;gap:.75rem;padding:.5rem 0;display:flex}ul.posts a{font-family:var(--sans);color:var(--text);font-size:1.2rem;text-decoration:none}ul.posts a:hover{color:var(--accent)}ul.posts time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:.88rem}@media print{.profile,.more-in{display:none}.shell{min-height:0;display:block}.content{padding:0}.content>*{max-width:none}details.callout{display:block}.prose figure.video iframe{display:none}.prose figure.video .video-link{display:inline}.prose figure.dgmo,.prose img{break-inside:avoid;max-width:36rem;margin:1rem auto}a{color:inherit}}
