:root{--color-primary-text: #15171a;--color-secondary-text: #999;--color-white: #fff;--color-lighter-gray: #f6f6f6;--color-light-gray: #e6e6e6;--color-dark-gray: #444;--color-darker-gray: #15171a;--ghost-accent-color: #5436da;--font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-serif: Lora, Georgia, Times, serif;--font-mono: Menlo, Consolas, Monaco, "Liberation Mono", "Lucida Console", monospace;--container-width: 1200px;--content-width: 720px;--head-nav-gap: 32px;--gap: 3.6rem;--h1-size: 4.4rem}@media(max-width:767px){:root{--gap: 2rem;--h1-size: 3.2rem}}*,*:before,*:after{box-sizing:border-box}html{font-size:62.5%}body,blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,p{margin:0}body{min-height:100vh;background:var(--color-white);color:var(--color-primary-text);font-family:var(--font-sans);font-size:1.6rem;line-height:1.6;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture{display:block;max-width:100%}img{height:auto}a{color:var(--color-darker-gray);text-decoration:none}a:hover{opacity:.8}h1,h2,h3,h4,h5,h6{color:var(--color-darker-gray);letter-spacing:-.02em;line-height:1.15}h1{font-size:var(--h1-size)}h2{font-size:2.8rem}h3{font-size:2.4rem}h4{font-size:2.2rem}h5{font-size:2rem}h6{font-size:1.8rem}hr{width:100%;height:1px;border:0;background:var(--color-light-gray)}blockquote:not([class]){border-left:4px solid var(--ghost-accent-color);padding-left:2rem}figcaption{margin-top:1.6rem;color:var(--color-secondary-text);font-size:1.4rem;line-height:1.4;text-align:center}pre{overflow-x:auto;padding:1.6rem 2.4rem;background:var(--color-lighter-gray);line-height:1.5;white-space:pre}code{font-family:var(--font-mono);font-size:1.5rem}:not(pre)>code{border-radius:3px;background:var(--color-lighter-gray);color:var(--ghost-accent-color);padding:.4rem}.gh-site{display:flex;flex-direction:column;min-height:100vh}.gh-main{flex-grow:1;padding:8rem 0}.gh-outer{padding-right:var(--gap);padding-left:var(--gap)}.gh-inner{max-width:var(--container-width);margin:0 auto}.gh-canvas{--main: min(var(--content-width), 100% - var(--gap) * 2);--wide: minmax(0, calc((var(--container-width) - var(--content-width)) / 2));--full: minmax(var(--gap), 1fr);display:grid;grid-template-columns:[full-start] var(--full) [wide-start] var(--wide) [main-start] var(--main) [main-end] var(--wide) [wide-end] var(--full) [full-end]}.gh-canvas>*{grid-column:main}.gh-head{height:88px;background:var(--color-white)}.gh-head-inner{display:flex;align-items:center;height:100%;border-bottom:1px solid var(--color-light-gray)}.gh-head-brand{line-height:1}.gh-head-logo{display:inline-flex;align-items:center;gap:1.2rem;font-size:2.4rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.gh-head-logo img{max-height:40px}.gh-head-logo-text{display:flex;flex-direction:column;gap:.2rem;line-height:1.1}.gh-head-logo-text strong{color:var(--color-darker-gray);font-size:1.7rem;letter-spacing:-.01em}.gh-head-logo-text span{color:var(--color-secondary-text);font-size:1.3rem;font-weight:500;letter-spacing:0}.nav{display:inline-flex;gap:var(--head-nav-gap);align-items:center;margin:0;padding:0;list-style:none;letter-spacing:-.006em;white-space:nowrap}.gh-article-header{position:relative;justify-items:start}.gh-article-tag{margin-bottom:12px;color:var(--ghost-accent-color);font-size:1.2rem;font-weight:600;letter-spacing:.01em;text-transform:uppercase}.gh-article-title{word-break:break-word}.gh-article-excerpt{margin-top:2rem;color:var(--color-secondary-text);font-size:1.9rem;line-height:1.5}.has-serif-body .gh-article-excerpt{font-family:var(--font-serif)}.gh-article-sidebar{grid-column:wide-start / main-start;position:absolute;left:0;padding-right:32px}.gh-author-image-list{display:flex;margin-left:-2px}.gh-author-image{position:relative;width:68px;height:68px;margin-bottom:16px;overflow:hidden;border:2px solid var(--color-white);border-radius:50%;background:var(--color-lighter-gray)}.gh-author-image img{position:absolute;inset:0;width:100%;height:100%;padding:10px;background:var(--color-lighter-gray);object-fit:contain;box-sizing:border-box}.gh-author-name-list{display:flex;flex-wrap:wrap;font-weight:800;line-height:1.35}.gh-author-name{display:flex;font-size:1.8rem;line-height:1.35;letter-spacing:-.01em}.gh-article-meta{margin-top:3px;color:var(--color-secondary-text);font-size:1.3rem;letter-spacing:-.003em}.gh-article-meta-inner{display:flex;align-items:center}.gh-article-meta-sep{width:2px;height:2px;margin:0 6px;border-radius:50%;background:currentColor}.gh-article-image{grid-column:main-start / main-end;width:100%;margin-top:4rem}.gh-article-image img{width:100%}.gh-content{margin-top:4rem;font-size:1.8rem;letter-spacing:0;word-break:break-word}.gh-content>*+*{margin-top:1.6em;margin-bottom:0}.gh-content>[id]{margin:0}.gh-content>[id]:not(:first-child){margin-top:1.6em}.gh-content>[id]+*{margin-top:.8em}.gh-content>blockquote,.gh-content>blockquote+*,.gh-content>hr,.gh-content>hr+*{margin-top:2.4em}.gh-content h2{font-size:1.6em}.gh-content h3{font-size:1.4em}.gh-content a{color:var(--ghost-accent-color);text-decoration:underline;word-break:break-word}.blog-image{width:100%}.blog-image img{width:100%;border-radius:6px}.blog-image-compact{max-width:320px}.has-serif-body .gh-content>blockquote,.has-serif-body .gh-content>dl,.has-serif-body .gh-content>ol,.has-serif-body .gh-content>p,.has-serif-body .gh-content>ul{font-family:var(--font-serif)}.gh-content dl,.gh-content ol,.gh-content ul{padding-left:2.8rem}.gh-content :is(li+li,li :is(ul,ol)){margin-top:.8rem}.gh-content table:not(.gist table),.comparison-table{display:inline-block;width:auto;max-width:100%;overflow-x:auto;border-collapse:collapse;border-spacing:0;background:radial-gradient(ellipse at left,rgba(0,0,0,.18) 0,transparent 75%) 0,radial-gradient(ellipse at right,rgba(0,0,0,.18) 0,transparent 75%) 100%;background-attachment:scroll,scroll;background-repeat:no-repeat;background-size:10px 100%,10px 100%;font-family:var(--font-sans);font-size:1.6rem;vertical-align:top;white-space:nowrap;-webkit-overflow-scrolling:touch}.comparison-table-shell{max-width:100%;margin-top:2em;overflow-x:auto}.gh-content table:not(.gist table) th,.comparison-table th{background:var(--color-white);color:var(--color-dark-gray);font-size:1.2rem;font-weight:700;letter-spacing:.2px;text-align:left;text-transform:uppercase}.gh-content table:not(.gist table) td,.gh-content table:not(.gist table) th,.comparison-table td,.comparison-table th{border:1px solid var(--color-light-gray);padding:6px 12px;text-align:left;vertical-align:top}.comparison-table strong{color:var(--color-darker-gray)}.article-intro{margin:0}.article-intro p:first-child{color:var(--color-darker-gray);font-size:1.08em;font-weight:600}.cta-panel{border-top:1px solid var(--color-light-gray);padding-top:2.4rem}.cta-panel strong{display:block;font-family:var(--font-sans);font-size:1.7rem}.cta-links{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;margin-top:1.2rem}.cta-links a,.action-link{color:var(--ghost-accent-color);font-family:var(--font-sans);font-weight:600;text-decoration:underline}.gh-foot{margin-top:12rem;padding-top:8rem;padding-bottom:12rem;background:var(--color-darker-gray)}.gh-foot,.gh-foot a,.gh-foot a:hover{color:var(--color-white)}.gh-foot-inner{display:flex;flex-direction:column;align-items:center;font-size:1.4rem}.gh-foot-menu{width:100%;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:32px;text-align:center}.gh-foot-menu .nav{justify-content:center;font-weight:500}.gh-copyright{margin-top:32px;color:var(--color-secondary-text);letter-spacing:-.006em}.home-hero,.home-feed{max-width:var(--container-width);margin-right:auto;margin-left:auto;padding-right:var(--gap);padding-left:var(--gap)}.home-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(18rem,1fr);gap:3.2rem;align-items:end}.home-hero h1{max-width:12ch;text-transform:uppercase}.eyebrow,.featured-post-label,.post-card-date{display:inline-flex;margin-bottom:12px;color:var(--ghost-accent-color);font-size:1.2rem;font-weight:600;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap}.excerpt,.hero-note span,.featured-post-card p,.post-card p,.featured-post-meta,.unpublished-card{color:var(--color-secondary-text)}.hero-notes{display:grid;gap:1.6rem}.hero-note{border-top:1px solid var(--color-light-gray);padding-top:1.6rem}.hero-note strong{display:block;font-size:1.8rem;letter-spacing:-.01em}.home-feed{display:grid;gap:4.8rem;margin-top:5.6rem}.featured-post-card,.post-card,.unpublished-card{display:block;color:inherit;text-decoration:none;word-break:break-word}.featured-post-card{border-bottom:1px solid var(--color-light-gray);padding-bottom:4.8rem}.featured-post-card h2{max-width:18ch;font-size:4.2rem;line-height:1.2}.featured-post-card p{max-width:72rem;margin-top:1.2rem;font-family:var(--font-serif);font-size:1.7rem}.featured-post-meta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem;font-size:1.1rem;font-weight:500;text-transform:uppercase}.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.2rem 4rem}.post-card{display:flex;gap:2.4rem;border-bottom:1px solid var(--color-light-gray);padding-bottom:3.2rem}.post-card-date{flex:0 0 10.5rem;margin-bottom:0}.post-card-content{min-width:0}.post-card h2{font-size:2rem;line-height:1.3}.post-card p{margin-top:.4rem;font-family:var(--font-serif);font-size:1.6rem}.unpublished-card{border-top:1px solid var(--color-light-gray);padding-top:2.4rem;font-family:var(--font-serif)}@media(max-width:1199px){.gh-article-sidebar{position:static;display:grid;grid-column:main-start / main-end;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;margin-top:24px;padding-right:0}.gh-article-sidebar .gh-author-image-list{grid-row:1 / 3}.gh-article-sidebar .gh-author-image{width:48px;height:48px;margin-bottom:0}.gh-author-name{font-size:1.7rem;font-weight:600}.gh-article-meta{margin-top:-6px;line-height:1}}@media(max-width:991px){.home-hero,.post-grid{grid-template-columns:1fr}}@media(max-width:767px){body{font-size:1.6rem}h2{font-size:2.4rem}h3{font-size:2.1rem}.gh-main{padding:6.4rem 0}.gh-head{height:64px}.gh-head-logo img{max-height:34px}.gh-head-logo-text strong{font-size:1.5rem}.gh-head-logo-text span{font-size:1.2rem}.gh-article-excerpt{font-size:1.9rem}.gh-article-image{margin-top:2.4rem}.gh-content{margin-top:3.2rem;font-size:1.7rem}.featured-post-card h2{font-size:3.2rem}.post-card{display:block}.post-card-date{margin-bottom:12px}.gh-foot{margin-top:6.4rem;padding-top:6.4rem;padding-bottom:10rem}.gh-foot-menu .nav{flex-wrap:wrap;gap:12px 24px}}
