.blog-page{isolation:isolate;flex-direction:column;height:auto;min-height:100svh;display:flex;position:relative}.blog-page:before{content:"";z-index:-2;pointer-events:none;background:repeating-radial-gradient(circle at 50% -140px,#0000 0 62px,#39ff7f12 62px 63px),radial-gradient(70% 60% at 50% -10%,#2fe06a2e,#0000 70%);height:760px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 30%,#0000);mask-image:linear-gradient(#000 30%,#0000)}.blog-page .grain{opacity:.08;animation:none;inset:0}.blog-page .nav{z-index:10;margin:20px auto 0;position:sticky;top:16px;left:auto;transform:none}.nav-links a[aria-current=page]{color:var(--ink)}.nav-links a[aria-current=page]:after{transform:scaleX(1)}.blog-main{flex:1;width:min(760px,100% - 48px);margin:0 auto;padding:104px 0 120px}.blog-page a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.blog-page ::selection{background:var(--accent);color:var(--on-accent)}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:0;font:500 11px/1.4 IBM Plex Mono,monospace}.eyebrow span{color:var(--accent)}.blog-header{margin-bottom:28px}.blog-header h1{font-variation-settings:normal}.post-list{border-top:1px solid var(--panel-line);margin:0;padding:0;list-style:none}.post-row{border-bottom:1px solid var(--panel-line);grid-template-columns:148px 1fr;gap:10px 32px;padding:30px 4px;transition:background-color .25s;display:grid}.post-row:hover{background:linear-gradient(90deg,#39ff7f0d,#0000 80%)}.post-row .post-meta{flex-direction:column;grid-row:span 2;align-items:flex-start;gap:6px;padding-top:9px}.post-row .post-meta>:not(:first-child,.draft-badge):before{content:none}.post-title{font-variation-settings:"SOFT" 100, "opsz" 72;letter-spacing:-.015em;color:var(--ink);text-wrap:balance;font-family:Fraunces,serif;font-size:30px;font-weight:420;line-height:1.12;transition:color .2s}.post-row:hover .post-title{color:var(--accent)}.post-desc{color:var(--ink-soft);text-wrap:pretty;grid-column:2;font:400 16px/1.6 IBM Plex Sans,sans-serif}.empty{border:1px dashed var(--panel-line);color:var(--ink-soft);text-align:center;border-radius:18px;margin:0;padding:40px 28px;font-size:13px}.draft-badge{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:1px 8px}.post-meta{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0;font:500 11px/1.5 IBM Plex Mono,monospace;display:flex}.post-meta>:not(:first-child,.draft-badge):before{content:"/";color:var(--accent);opacity:.6;margin-right:12px}.breadcrumb{margin-bottom:40px}.breadcrumb a{letter-spacing:.04em;color:var(--ink-soft);font-size:12px;transition:color .2s}.breadcrumb a:hover{color:var(--accent)}.post-header h1{text-wrap:balance;margin-top:20px;font-size:clamp(38px,5.6vw,62px);line-height:1.04}.post-lede{color:var(--ink-soft);text-wrap:pretty;margin:24px 0 0;font:400 20px/1.55 IBM Plex Sans,sans-serif}.post-updated{color:var(--ink-soft);margin:16px 0 0;font-size:12px}.post-header{border-bottom:1px solid var(--panel-line);margin-bottom:48px;padding-bottom:44px}.post-cover{margin:-8px 0 48px}.post-cover img{border:1px solid var(--panel-line);border-radius:18px;width:100%;height:auto;display:block}.prose{color:color-mix(in srgb, var(--ink) 90%, var(--bg));font:400 18px/1.75 IBM Plex Sans,sans-serif}.prose>:first-child{margin-top:0}.prose p{margin:0 0 1.4em}.prose h2,.prose h3,.prose h4{color:var(--ink);text-wrap:balance;scroll-margin-top:110px}.prose h2{font-variation-settings:"SOFT" 100, "opsz" 72;letter-spacing:-.015em;margin:2.2em 0 .6em;font:440 34px/1.15 Fraunces,serif}.prose h3{font-variation-settings:"SOFT" 100, "opsz" 48;margin:1.9em 0 .5em;font:460 25px/1.2 Fraunces,serif}.prose h4{letter-spacing:.08em;text-transform:uppercase;margin:1.8em 0 .5em;font:600 13px/1.4 IBM Plex Mono,monospace}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .2s}.prose a:hover{text-decoration-color:var(--accent)}.prose strong{color:var(--ink);font-weight:600}.prose ul,.prose ol{margin:0 0 1.4em;padding-left:1.4em}.prose li{margin:.45em 0;padding-left:.3em}.prose li::marker{color:var(--accent)}.prose ol li::marker{font:500 .85em IBM Plex Mono,monospace}.prose blockquote{border-left:2px solid var(--accent);font-variation-settings:"SOFT" 100, "opsz" 36;color:var(--ink);margin:2em 0;padding:.1em 0 .1em 1.3em;font:italic 380 23px/1.5 Fraunces,serif}.prose blockquote p:last-child{margin-bottom:0}.prose code{border:1px solid var(--panel-line);color:var(--ink);background:#39ff7f12;border-radius:6px;padding:.12em .4em;font:400 .84em IBM Plex Mono,monospace}.prose pre{border:1px solid var(--panel-line);border-radius:14px;margin:1.8em 0;padding:20px 22px;font:400 14px/1.7 IBM Plex Mono,monospace;overflow-x:auto;background:#020602!important}.prose pre code{font:inherit;color:inherit;background:0 0;border:0;padding:0}.prose table{border-collapse:collapse;margin:1.8em 0;font:400 14px/1.5 IBM Plex Mono,monospace;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--panel-line);text-align:left;white-space:nowrap;padding:12px 28px 12px 0}.prose th{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:500}.prose img{border:1px solid var(--panel-line);border-radius:14px;max-width:100%;height:auto;margin:2em 0;display:block}.prose hr{background:var(--panel-line);border:0;height:1px;margin:3em 0}.more{margin-top:104px}.more .eyebrow{margin-bottom:20px}.more .post-row{padding:22px 4px}.more .post-title{font-size:24px}.blog-footer{border-top:1px solid var(--panel-line);letter-spacing:.04em;width:min(1240px,100% - 32px);color:var(--ink-soft);justify-content:space-between;gap:16px;margin:0 auto;padding:28px 12px 36px;font-size:12px;display:flex}.blog-footer a{transition:color .2s}.blog-footer a:hover{color:var(--accent)}@media (width<=760px){.blog-main{padding:72px 0 96px}.post-row{grid-template-columns:1fr;padding:26px 0}.post-row .post-meta{flex-direction:row;grid-row:auto;gap:4px 12px;padding-top:0}.post-row .post-meta>:not(:first-child,.draft-badge):before{content:"/"}.post-desc{grid-column:1}.post-title{font-size:26px}.post-lede{font-size:18px}.prose{font-size:17px}.prose h2{font-size:29px}.prose blockquote{font-size:20px}}
