.bo-blog{--bg:#0c0d10;--panel:#121318;--text:#e8e9ec;--muted:#e8e9ec9e;--faint:#e8e9ec61;--line:#ffffff1f;background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--bo-sans);-webkit-font-smoothing:antialiased;line-height:1.6}.bo-blog *,.bo-blog :before,.bo-blog :after{box-sizing:border-box}.bo-blog ::selection{background:var(--ac,#5b9dd9);color:#0c0d10}.bo-blog a{color:inherit}.bo-pad{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.bo-blog .bo-u{color:var(--ac,#5b9dd9);text-decoration:none;position:relative}.bo-blog .bo-u:after{content:"";transform-origin:0;background:currentColor;width:100%;height:1px;transition:transform .3s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.bo-blog .bo-u:hover:after{transform:scaleX(1)}.bo-blog .bo-skip{z-index:100;background:var(--ac,#5b9dd9);color:#0c0d10;font:600 13px var(--bo-sans);border-radius:5px;padding:10px 16px;text-decoration:none;transition:top .2s;position:absolute;top:-48px;left:12px}.bo-blog .bo-skip:focus{top:12px}.bo-blog-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:40;background:#0c0d10d1;justify-content:space-between;align-items:center;gap:24px;height:68px;display:flex;position:sticky;top:0}.bo-blog-brand{font:700 18px var(--bo-mono);letter-spacing:-.02em;text-decoration:none}.bo-blog-brand span{color:var(--ac,#5b9dd9)}.bo-blog-nav{font:500 14px var(--bo-sans);gap:26px;display:flex}.bo-blog-nav .bo-u{color:var(--text)}.bo-blog-footer{border-top:1px solid var(--line);color:var(--muted);font:500 13.5px var(--bo-mono);justify-content:space-between;align-items:center;gap:16px;margin-top:64px;padding-top:26px;padding-bottom:40px;display:flex}.bo-blog-main{padding-top:40px}.bo-wrap{max-width:1080px;margin:0 auto}.bo-narrow{max-width:760px;margin:0 auto}.bo-eyebrow{font:600 12px var(--bo-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ac,#5b9dd9)}.bo-list-head{max-width:1080px;margin:0 auto 40px}.bo-list-title{font:700 clamp(34px,6vw,52px)/1.05 var(--bo-sans);letter-spacing:-.03em;margin:14px 0 12px}.bo-list-intro{color:var(--muted);max-width:640px;font-size:17px}.bo-grid{grid-template-columns:repeat(3,1fr);gap:22px;max-width:1080px;margin:0 auto;display:grid}.bo-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-direction:column;text-decoration:none;transition:border-color .3s,transform .3s;display:flex;overflow:hidden}.bo-card:hover{border-color:#5b9dd98c;transform:translateY(-3px)}.bo-card-img{aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;background:#1a1c22;width:100%;display:block}.bo-card-body{flex-direction:column;flex:1;gap:10px;padding:18px 20px 22px;display:flex}.bo-card-tag{font:600 11px var(--bo-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ac,#5b9dd9)}.bo-card-title{font:600 20px/1.25 var(--bo-sans);letter-spacing:-.01em;color:var(--text)}.bo-card-desc{color:var(--muted);flex:1;font-size:14.5px;line-height:1.55}.bo-card-meta{color:var(--faint);font:500 12.5px var(--bo-mono);margin-top:4px}.bo-article{max-width:760px;margin:0 auto}.bo-breadcrumb{font:500 13px var(--bo-mono);color:var(--muted);margin-bottom:20px}.bo-breadcrumb a{color:var(--muted);text-decoration:none}.bo-breadcrumb a:hover{color:var(--text)}.bo-breadcrumb span{color:var(--faint);margin:0 8px}.bo-h1{font:700 clamp(30px,5.4vw,46px)/1.08 var(--bo-sans);letter-spacing:-.03em;margin:12px 0 16px}.bo-byline{color:var(--muted);font:500 13.5px var(--bo-mono);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.bo-byline .dot{color:var(--faint)}.bo-langswitch{gap:8px;margin-left:auto;display:flex}.bo-langswitch a{color:var(--muted);border:1px solid var(--line);font:600 12px var(--bo-mono);border-radius:5px;padding:3px 9px;text-decoration:none}.bo-langswitch a.active{color:#0c0d10;background:var(--ac,#5b9dd9);border-color:var(--ac,#5b9dd9)}.bo-hero{aspect-ratio:16/8;-o-object-fit:cover;object-fit:cover;background:#1a1c22;border-radius:12px;width:100%;margin:26px 0 6px}.bo-credit{font:500 12px var(--bo-mono);color:var(--faint);margin:0 0 30px}.bo-credit a{color:var(--faint)}.bo-lede{color:var(--text);margin:0 0 30px;font-size:19.5px;line-height:1.6}.bo-toc{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin:0 0 36px;padding:18px 22px}.bo-toc-label{font:600 11px var(--bo-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}.bo-toc ol{gap:6px;margin:0;padding-left:18px;display:grid}.bo-toc a{color:var(--muted);font-size:14.5px;text-decoration:none}.bo-toc a:hover{color:var(--ac,#5b9dd9)}.bo-body h2{font:600 26px/1.2 var(--bo-sans);letter-spacing:-.02em;margin:40px 0 14px;scroll-margin-top:84px}.bo-body p{color:#e8e9ece6;margin:0 0 16px;font-size:17px;line-height:1.72}.bo-body ul{gap:8px;margin:0 0 18px;padding-left:22px;display:grid}.bo-body li{color:#e8e9ece6;font-size:17px;line-height:1.6}.bo-body strong{color:var(--text);font-weight:600}.bo-faq{border-top:1px solid var(--line);margin-top:48px;padding-top:30px}.bo-faq h2{font:600 26px/1.2 var(--bo-sans);letter-spacing:-.02em;margin:0 0 18px}.bo-faq-item{border-bottom:1px solid var(--line);padding:16px 0}.bo-faq-q{font:600 17.5px var(--bo-sans);margin:0 0 8px}.bo-faq-a{color:var(--muted);margin:0;font-size:16px;line-height:1.65}.bo-author{border:1px solid var(--line);background:var(--panel);border-radius:12px;align-items:flex-start;gap:16px;margin-top:44px;padding:22px;display:flex}.bo-avatar{width:46px;height:46px;font:700 16px var(--bo-mono);color:#0c0d10;background:var(--ac,#5b9dd9);border-radius:50%;flex:none;place-items:center;display:grid}.bo-author-name{font:600 16px var(--bo-sans)}.bo-author-role{font:500 12.5px var(--bo-mono);color:var(--faint);margin:2px 0 8px}.bo-author-bio{color:var(--muted);margin:0;font-size:14.5px;line-height:1.6}.bo-related{margin-top:52px}.bo-related h2{font:600 22px var(--bo-sans);margin:0 0 18px}.bo-related-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.bo-backtop{font:500 13px var(--bo-mono);color:var(--muted);margin-top:40px;text-decoration:none;display:inline-block}.bo-backtop:hover{color:var(--ac,#5b9dd9)}.bo-cta{background:#5b9dd90f;border:1px solid #5b9dd966;border-radius:12px;margin-top:44px;padding:26px}.bo-cta p{color:var(--text);margin:0 0 14px;font-size:16px}.bo-btn{background:var(--ac,#5b9dd9);color:#0c0d10;font:600 14px var(--bo-sans);border-radius:7px;padding:12px 22px;text-decoration:none;transition:transform .2s,box-shadow .3s;display:inline-block}.bo-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px -12px #5b9dd9b3}@media (max-width:880px){.bo-grid,.bo-related-grid{grid-template-columns:1fr 1fr}.bo-blog-nav{gap:18px}}@media (max-width:560px){.bo-grid,.bo-related-grid{grid-template-columns:1fr}.bo-blog-nav a:first-child{display:none}}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_9a2bba09-module__-7z3ea__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_9a2bba09-module__-7z3ea__variable{--font-space-grotesk:"Space Grotesk","Space Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_5b83a6cb-module__auLaha__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_5b83a6cb-module__auLaha__variable{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}
