.blog-index,.blog-post{--accent-live:#8b6fd4;--hairline:#ffffff14;--surface:#ffffff07;--text-dim:#f5f5f585;--text-faint:#f5f5f557;--mono:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace;color:#fff;width:100%;position:relative}.blog-kicker,.blog-meta,.blog-empty-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin:0;font-size:11px}.blog-meta{color:var(--text-dim);align-items:center;gap:9px;display:flex}.blog-title,.blog-post-head h1{letter-spacing:-.025em;margin:16px 0 0;font-size:max(40px,min(7.2vw,82px));line-height:.98}.blog-title span,.blog-post-head h1 span{color:var(--accent-live)}.blog-lead,.blog-dek{color:#f5f5f5bd;line-height:1.72}.blog-index{width:min(92%,980px);margin:0 auto;padding:20vh 0 16vh}@media screen and (max-width:723px){.blog-index{padding:15vh 0 12vh}}.blog-head{border-bottom:1px solid var(--hairline);margin-bottom:54px;padding-bottom:46px}.blog-head .blog-lead{max-width:46ch;margin:22px 0 0;font-size:19px}.blog-thumb{aspect-ratio:16/10;background:var(--surface);border:1px solid var(--hairline);border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.blog-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.6,.2,1);display:block}.blog-thumb.blog-thumb-wide{aspect-ratio:21/9}@media screen and (max-width:723px){.blog-thumb.blog-thumb-wide{aspect-ratio:16/10}}.blog-thumb-fallback{color:#8b6fd438;-webkit-user-select:none;user-select:none;font-size:max(64px,min(9vw,120px));font-weight:700;line-height:1}.blog-feature{color:inherit;margin-bottom:72px;text-decoration:none;display:block}.blog-feature .blog-feature-body{padding-top:22px}.blog-feature h2{letter-spacing:-.018em;margin:12px 0 10px;font-size:max(26px,min(3.4vw,38px));line-height:1.16;transition:color .25s}.blog-feature .blog-dek{max-width:62ch;margin:0;font-size:17px}.blog-feature:hover h2{color:var(--accent-live)}.blog-feature:hover .blog-thumb img{transform:scale(1.03)}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 40px;margin:0;padding:0;list-style:none;display:grid}@media screen and (max-width:723px){.blog-grid{grid-template-columns:1fr;gap:48px}}.blog-grid a{color:inherit;text-decoration:none;display:block}.blog-grid .blog-meta{margin-top:18px}.blog-grid h2{letter-spacing:-.012em;margin:10px 0 8px;font-size:22px;line-height:1.28;transition:color .25s}.blog-grid .blog-dek{margin:0;font-size:16px}.blog-grid a:hover h2{color:var(--accent-live)}.blog-grid a:hover .blog-thumb img{transform:scale(1.03)}.blog-empty{border-left:2px solid var(--accent-live);padding:4px 0 4px 22px}.blog-empty p:not(.blog-empty-label){color:#f5f5f5bd;max-width:46ch;margin:12px 0 0;font-size:18px;line-height:1.7}.blog-empty-link,.blog-feed a{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--hairline);margin-top:22px;padding-bottom:4px;font-size:11px;text-decoration:none;transition:color .25s,border-color .25s;display:inline-block}.blog-empty-link:hover,.blog-feed a:hover{color:#f5f5f5;border-color:var(--accent-live)}.blog-feed{border-top:1px solid var(--hairline);margin-top:72px;padding-top:26px}.blog-post{padding-bottom:14vh}.blog-hero{width:100%;height:54vh;min-height:320px;position:relative;overflow:hidden}.blog-hero img{object-fit:cover;width:100%;height:100%;display:block}@media screen and (max-width:723px){.blog-hero{height:38vh;min-height:220px}}.blog-hero-fade{background:linear-gradient(#0000 22%,#0000008c 66%,#000 98%);position:absolute;top:0;bottom:0;left:0;right:0}.blog-post-inner{width:min(92%,760px);margin:0 auto;padding-top:54px}@media screen and (max-width:723px){.blog-post-inner{padding-top:38px}}.blog-post>.blog-post-inner:first-child{padding-top:20vh}@media screen and (max-width:723px){.blog-post>.blog-post-inner:first-child{padding-top:15vh}}.blog-back{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:40px;font-size:11px}.blog-back a{color:var(--text-dim);text-decoration:none;transition:color .25s}.blog-back a:before{content:"← "}.blog-back a:hover{color:#f5f5f5}.blog-post-head{border-bottom:1px solid var(--hairline);padding-bottom:34px}.blog-post-head h1{margin-top:14px}.blog-summary{border-left:2px solid var(--accent-live);color:#f5f5f5e6;margin:30px 0 0;padding-left:20px;font-size:19px;line-height:1.62}.blog-body{margin-top:48px}.blog-body p{color:#f5f5f5bd;margin:0 0 1.25em;font-size:18px;line-height:1.78}.blog-body h2{letter-spacing:-.014em;margin:60px 0 16px;font-size:27px;line-height:1.24}.blog-body h3{margin:42px 0 12px;font-size:21px}.blog-body a{color:#f5f5f5;text-underline-offset:4px;-webkit-text-decoration:underline #8b6fd499;text-decoration:underline #8b6fd499}.blog-body a:hover{-webkit-text-decoration-color:var(--accent-live);text-decoration-color:var(--accent-live)}.blog-body ul,.blog-body ol{color:#f5f5f5bd;margin:0 0 1.25em;padding-left:22px;font-size:18px;line-height:1.78}.blog-body li{margin-bottom:10px}.blog-body blockquote{border-left:2px solid var(--hairline);color:#f5f5f5e6;margin:34px 0;padding-left:22px;font-style:normal}.blog-body code{font-family:var(--mono);font-size:14.5px}.blog-body pre{border:1px solid var(--hairline);border-radius:10px;margin:30px 0;padding:22px;line-height:1.65;overflow-x:auto;background:#ffffff05!important}.blog-body :not(pre)>code{background:#8b6fd424;border:1px solid #8b6fd43d;border-radius:5px;padding:1px 6px}.blog-body img{border:1px solid var(--hairline);border-radius:10px;max-width:100%;height:auto}.blog-body table{border-collapse:collapse;color:#f5f5f5bd;width:100%;margin:30px 0;font-size:16px;display:block;overflow-x:auto}.blog-body th,.blog-body td{text-align:left;border-bottom:1px solid var(--hairline);white-space:nowrap;padding:11px 13px}.blog-body th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-size:11px}.blog-tags{flex-wrap:wrap;gap:10px;margin-top:64px;display:flex}.blog-tags span{font-family:var(--mono);letter-spacing:.06em;color:var(--text-dim);background:#8b6fd41f;border:1px solid #8b6fd457;border-radius:999px;padding:5px 13px;font-size:11px}.blog-post-foot{border-top:1px solid var(--hairline);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-top:72px;padding-top:26px;font-size:11px}.blog-post-foot a{color:var(--text-dim);text-decoration:none}.blog-post-foot a:hover{color:#f5f5f5}
