.bl-pink{--c:var(--pink);--c-ink:var(--ink);--c-deep:#e0336f}.bl-blue{--c:var(--blue);--c-ink:var(--ink);--c-deep:#0b9fc9}.bl-lime{--c:var(--lime);--c-ink:var(--ink);--c-deep:#7ca800}.bl-violet{--c:var(--violet);--c-ink:#fff;--c-deep:#6a55f5}.bl-hero{padding:170px 0 60px}.bl-hero h1{margin-top:28px;font-size:clamp(56px,8.8vw,150px);font-weight:790;letter-spacing:-.065em;line-height:.88;max-width:12ch;padding-bottom:.06em}.bl-hero h1 em{color:var(--pink);letter-spacing:-.035em;padding-right:.05em}.bl-hero-dek{margin-top:30px;max-width:54ch;font-size:clamp(17px,1.4vw,20px);line-height:1.55;color:var(--soft)}.bl-chips{display:flex;gap:10px;margin-top:40px;flex-wrap:wrap}.bl-chip{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:11px 16px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}.bl-chip:hover{background:var(--paper-2)}.bl-chip[aria-pressed=true]{background:var(--ink);color:#fff}@media(max-width:640px){.bl-hero{padding-top:130px}}.bl-wall{padding:30px 0 140px}.bl-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(300px,auto);gap:22px}.bl-cover{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:clamp(24px,2.6vw,40px);min-height:400px;background:var(--c,var(--cream));color:var(--c-ink,var(--ink));border:1px solid var(--ink);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.bl-cover:hover{transform:translate(-5px,-5px);box-shadow:10px 10px 0 var(--ink)}.bl-cover.is-big{grid-column:span 2;grid-row:span 2;min-height:640px}.bl-cover[hidden]{display:none}.bl-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(17,19,15,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(17,19,15,.1) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;-webkit-mask-image:linear-gradient(160deg,#000 20%,transparent 85%);mask-image:linear-gradient(160deg,#000 20%,transparent 85%)}.bl-cover>*{position:relative}.bl-cover-top,.bl-cover-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.bl-cover-title{display:block;margin:0;font-weight:inherit}.bl-cover-title b{display:block;font-size:clamp(40px,4.4vw,72px);font-weight:790;letter-spacing:-.06em;line-height:.92}.bl-cover-title em{display:block;margin-top:14px;font-size:clamp(22px,2.1vw,32px);line-height:1.06;letter-spacing:-.025em;max-width:24ch}.bl-cover.is-big .bl-cover-title b{font-size:clamp(60px,7.6vw,132px)}.bl-cover.is-big .bl-cover-title em{font-size:clamp(28px,3vw,50px);max-width:22ch}.bl-cover.is-long .bl-cover-title b{font-size:clamp(32px,3.2vw,50px);letter-spacing:-.045em}.bl-cover.is-big.is-long .bl-cover-title b{font-size:clamp(44px,5vw,84px)}.bl-go{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%;background:var(--ink);color:#fff;font-size:18px;transition:transform .25s}.bl-cover:hover .bl-go{transform:rotate(45deg)}.bl-soon{background:transparent;border-style:dashed;border-color:var(--line)}.bl-soon:hover{transform:none;box-shadow:none}.bl-soon .bl-cover-title b{font-size:44px}.bl-soon .bl-cover-title em{color:var(--muted)}@media(max-width:1000px){.bl-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bl-cover.is-big{grid-row:auto;min-height:520px}}@media(max-width:640px){.bl-bento{grid-template-columns:minmax(0,1fr)}.bl-cover.is-big{grid-column:auto;min-height:440px}.bl-cover.is-big .bl-cover-title b{font-size:clamp(38px,11vw,50px)}.bl-cover{min-height:320px}}.bl-progress{position:fixed;top:72px;left:0;right:0;height:5px;z-index:30;pointer-events:none}.bl-progress span{display:block;height:100%;width:100%;background:var(--c);transform:scaleX(0);transform-origin:left}.bl-post-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);min-height:100vh;padding-top:72px;border-bottom:1px solid var(--ink)}.bl-post-color{position:relative;overflow:hidden;background:var(--c);color:var(--c-ink);border-right:1px solid var(--ink);display:flex}.bl-post-color-in{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:50px;width:100%;padding:clamp(40px,5vw,84px) clamp(24px,4vw,72px) clamp(36px,4vw,60px) max(24px,calc((100vw - 1400px)/2))}.bl-crumbs{display:flex;gap:10px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.bl-crumbs a:hover{text-decoration:underline}.bl-crumbs i{font-style:normal;opacity:.5}.bl-post-hero h1{font-weight:inherit}.bl-post-hero h1 b{display:block;font-size:clamp(50px,8vw,146px);font-weight:790;letter-spacing:-.065em;line-height:.88}.bl-post-hero h1 em{display:block;margin-top:.35em;font-size:clamp(30px,3.4vw,56px);line-height:1.04;letter-spacing:-.025em;max-width:24ch}.bl-post-hero.is-long h1 b{font-size:clamp(40px,5vw,88px);letter-spacing:-.05em;line-height:.95}.bl-by{display:flex;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding-top:20px;border-top:1px solid color-mix(in srgb,currentColor 30%,transparent)}.bl-post-side{background:var(--cream);padding:clamp(40px,4.5vw,80px) clamp(24px,3.4vw,60px);display:flex;flex-direction:column}.bl-tldr{margin-top:18px;font-size:clamp(18px,1.45vw,21px);line-height:1.6;color:var(--ink)}.bl-jump{margin-top:40px}.bl-toc{margin-top:14px;border-top:1px solid var(--ink)}.bl-toc li a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px;font-weight:600;transition:padding .2s}.bl-toc li a:after{content:"↓";color:var(--c-deep)}.bl-toc li a:hover{padding-left:8px}@media(max-width:1000px){.bl-post-hero{grid-template-columns:minmax(0,1fr);min-height:0}.bl-post-color{border-right:0;border-bottom:1px solid var(--ink)}.bl-post-color-in{padding:48px 14px 30px}}@media(max-width:760px){.bl-post-side{padding:40px 14px}}.bl-body{width:min(780px,100% - 28px);margin:0 auto;padding:100px 0 60px}.bl-prose{font-size:19px;line-height:1.74;color:#2a2d26}.bl-prose.has-tldr>article>p:first-child{display:none}.bl-prose>article>*+*{margin-top:1.1em}.bl-prose strong{color:var(--ink);font-weight:680}.bl-prose h2{margin-top:2.5em;font-size:clamp(34px,4vw,58px);font-weight:780;letter-spacing:-.055em;line-height:.98;color:var(--ink);scroll-margin-top:110px}.bl-prose h2:after{content:"";display:block;margin-top:22px;height:8px;background:linear-gradient(90deg,var(--c) 0 96px,transparent 96px),linear-gradient(var(--ink),var(--ink)) bottom/100% 1px no-repeat}.bl-prose h3{margin-top:2em;font-size:24px;font-weight:740;letter-spacing:-.03em;line-height:1.15;color:var(--ink);background:#fff;border:1px solid var(--ink);border-left:10px solid var(--c);padding:16px 20px;scroll-margin-top:110px}.bl-prose h4{margin-top:1.8em;font-size:19px;font-weight:720;color:var(--ink)}.bl-prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--c-deep);text-decoration-thickness:2px;text-underline-offset:3px}.bl-prose a:hover{background:color-mix(in srgb,var(--c) 30%,transparent)}.bl-prose ul>li{position:relative;padding-left:28px}.bl-prose ul>li+li,.bl-prose ol>li+li{margin-top:.55em}.bl-prose ul>li:before{content:"→";position:absolute;left:0;top:0;color:var(--c-deep);font-weight:700}.bl-prose ol{counter-reset:o}.bl-prose ol>li{counter-increment:o;position:relative;padding-left:34px}.bl-prose ol>li:before{content:counter(o);position:absolute;left:0;top:0;font-family:var(--mono);font-size:.8em;font-weight:700;color:var(--c-deep)}.bl-prose :not(pre)>code{font-family:var(--mono);font-size:.8em;background:color-mix(in srgb,var(--c) 22%,transparent);padding:.12em .4em;color:var(--ink);overflow-wrap:anywhere}.bl-prose pre{background:var(--ink)!important;color:#e9ecdf;padding:26px 28px;overflow-x:auto;font-size:14px;line-height:1.65;border-left:10px solid var(--c);margin-left:-38px;margin-right:-38px}.bl-prose pre code{font-family:var(--mono)}.bl-prose blockquote{border-left:4px solid var(--c);padding-left:22px;font-family:var(--sans);font-weight:600;font-size:1.3em;line-height:1.35;letter-spacing:-.02em;color:var(--ink)}.bl-prose img{max-width:100%;height:auto;border:1px solid var(--ink)}.bl-prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.bl-prose table{width:100%;border-collapse:collapse;font-size:.88em;display:block;overflow-x:auto}.bl-prose th,.bl-prose td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.bl-prose th{font-family:var(--mono);font-size:.75em;letter-spacing:.1em;text-transform:uppercase;border-bottom-color:var(--ink)}@media(max-width:860px){.bl-prose pre{margin-left:0;margin-right:0;padding:20px}.bl-prose{font-size:17.5px}.bl-body{padding-top:60px}}.bl-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:60px;padding-top:28px;border-top:1px solid var(--ink)}.bl-tags span{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;border:1px solid var(--line);border-radius:999px}.bl-after{padding:60px 0 130px}.bl-after-in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:end}.bl-author h2{margin-top:12px;font-size:48px;font-weight:780;letter-spacing:-.05em;line-height:1}.bl-author p:last-child{margin-top:12px;color:var(--muted);max-width:36ch;font-size:16px}@media(max-width:860px){.bl-after-in{grid-template-columns:minmax(0,1fr)}.bl-author h2{font-size:38px}}
