.blog-article{--ba-paper:#fff;--ba-canvas:#f4f6f8;--ba-card:#fff;--ba-ink:#0f172a;--ba-body-ink:#334155;--ba-muted:#64748b;--ba-line:#e2e8f0;--ba-line-strong:#cbd5e1;--ba-ok:#047857;--ba-ok-bg:#ecfdf5;--ba-no:#c2410c;--ba-no-bg:#fff7ed;--ba-pin:#2563eb;--ba-deep:#1b1346;--ba-deep-ink:#eeeafb;--ba-indigo:#382a7e;--ba-purple:#984299;--ba-magenta:#de2363;--ba-orange:#f58242;--ba-accent:#0f766e;--ba-amber:#fcb753;--ba-display:"Bricolage Grotesque", system-ui, sans-serif;--ba-body:"Source Serif 4", Georgia, serif;--ba-header-offset:104px;--ba-shadow:0 1px 2px #0f172a0a, 0 10px 28px -18px #0f172a24;background:var(--ba-paper);color:var(--ba-body-ink);font:400 1.125rem / 1.75 var(--ba-body);-webkit-font-smoothing:antialiased}.blog-article *,.blog-article :before,.blog-article :after{box-sizing:border-box}.blog-article a{color:var(--ba-pin)}.blog-article :focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #2563eb73}.blog-article .ba-wrap{box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto;padding:0 28px}.blog-article .ba-btn{font:700 .95rem var(--ba-display);background:var(--ba-ink);color:#fff;border:0;border-radius:10px;padding:12px 22px;text-decoration:none;transition:transform .15s,background .15s;display:inline-block}.blog-article .ba-btn:hover{color:#fff;background:#1e293b;transform:translateY(-1px)}.blog-article .ba-btn-alt{background:var(--ba-amber);color:#241a5a}.blog-article .ba-btn-alt:hover{color:#241a5a;background:#ffc96a}.blog-article .ba-preview{text-align:center;color:#fff;font:500 .9rem var(--ba-display);background:#b45309;padding:.5rem 1rem}.blog-article .ba-surface{background:var(--ba-paper);color:var(--ba-body-ink);padding:0 0 72px}.blog-article .ba-hero{padding:calc(var(--ba-header-offset) + 48px) 0 64px;background:radial-gradient(900px 400px at 85% 0, #de236347, transparent 60%), radial-gradient(700px 400px at 0 100%, #98429959, transparent 60%), var(--ba-deep);color:var(--ba-deep-ink);position:relative}.blog-article .ba-hero:after{content:"";background:linear-gradient(90deg, var(--ba-indigo), var(--ba-purple), var(--ba-magenta), var(--ba-orange), var(--ba-amber));height:5px;position:absolute;bottom:0;left:0;right:0}.blog-article .ba-hero-inner{text-align:center;max-width:920px;margin:0 auto;animation:.7s both ba-in}.blog-article .ba-meta{font:500 .875rem var(--ba-display);letter-spacing:.02em;color:#bdb4e6;max-width:100%;margin:0 auto 18px}.blog-article .ba-meta span[aria-hidden=true]{opacity:.65;margin:0 .35em}.blog-article .ba-hero h1{font:800 clamp(1.9rem, 3.6vw + .5rem, 3.1rem) / 1.15 var(--ba-display);letter-spacing:-.03em;color:#fff;text-wrap:pretty;max-width:none;margin:0 auto 20px}.blog-article .ba-lede{color:#c8c0eb;max-width:640px;margin:0 auto;font-size:clamp(1.05rem,1.3vw + .55rem,1.25rem);line-height:1.6}.blog-article .ba-rule{border-left:4px solid var(--ba-amber);font:700 1.2rem / 1.35 var(--ba-display);color:#fff;margin-top:28px;padding-left:18px}@keyframes ba-in{0%{opacity:0;transform:translateY(14px)}}.blog-article .ba-surface .ba-photo{z-index:1;width:100%;margin:-36px 0 8px;position:relative}.blog-article .ba-photo img{aspect-ratio:16/7;object-fit:cover;object-position:center 30%;background:var(--ba-line);border:1px solid #ffffff8c;border-radius:18px;width:100%;max-width:100%;height:auto;display:block;box-shadow:0 22px 44px -26px #0f172a73}.blog-article .ba-photo figcaption{font:500 .85rem var(--ba-display);color:var(--ba-muted);margin-top:10px}.blog-article .ba-article{width:100%;max-width:100%;padding:24px 0 8px}.blog-article .ba-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:40px;width:100%;max-width:100%;margin:0;display:grid}.blog-article .ba-layout--solo{grid-template-columns:minmax(0,1fr)}.blog-article aside.ba-toc{top:calc(var(--ba-header-offset) + 16px);font-family:var(--ba-display);box-shadow:none;background:0 0;border:0;border-radius:0;align-self:start;padding:0 0 0 2px;font-size:.875rem;position:sticky}.blog-article aside.ba-toc p{font:700 .72rem / 1.2 var(--ba-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ba-muted);margin:0 0 10px}.blog-article aside.ba-toc a{color:var(--ba-muted);border-left:2px solid var(--ba-line);padding:6px 0 6px 12px;line-height:1.35;text-decoration:none;transition:color .15s,border-color .15s;display:block}.blog-article aside.ba-toc a:hover{color:var(--ba-ink);border-color:var(--ba-pin)}.blog-article .body{box-shadow:none;background:0 0;border:0;border-radius:0;min-width:0;padding:0}.blog-article .body h2{font:800 clamp(1.45rem, 2.4vw, 1.9rem) / 1.2 var(--ba-display);letter-spacing:-.02em;scroll-margin-top:calc(var(--ba-header-offset) + 20px);color:var(--ba-ink);border-bottom:1px solid var(--ba-line);margin:48px 0 14px;padding-bottom:10px}.blog-article .body,.blog-article .body p,.blog-article .body li,.blog-article .body td{color:var(--ba-body-ink)}.blog-article .body h3,.blog-article .body h4,.blog-article .body strong{color:var(--ba-ink)}.blog-article .body h2:first-child{margin-top:0}.blog-article .body h3{font:700 1.12rem / 1.3 var(--ba-display);color:var(--ba-ink);margin:30px 0 10px}.blog-article .body h4{font:700 1.02rem / 1.3 var(--ba-display);color:var(--ba-ink);margin:22px 0 8px}.blog-article .body p{margin:0 0 1.15em}.blog-article .body a{color:var(--ba-pin);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.blog-article .body a:hover{color:#1d4ed8}.blog-article .body ul,.blog-article .body ol{margin:0 0 1.25em;padding-left:1.35em}.blog-article .body li{margin:0 0 .45em}.blog-article .body li::marker{color:var(--ba-muted)}.blog-article .body img{border:1px solid var(--ba-line);border-radius:12px;max-width:100%;height:auto;margin:24px 0;display:block}.blog-article .body figure{margin:28px 0}.blog-article .body figcaption{font:500 .85rem var(--ba-display);color:var(--ba-muted);margin-top:10px}.blog-article .body blockquote,.blog-article .body .pull{border:1px solid #ccfbf1;border-left:4px solid var(--ba-accent);color:var(--ba-ink);font:700 1.3rem / 1.35 var(--ba-display);letter-spacing:-.015em;background:#f0fdfa;border-radius:12px;margin:32px 0;padding:22px 24px}.blog-article .body blockquote p{color:inherit;margin:0}.blog-article .body .scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--ba-line);background:var(--ba-card);box-shadow:none;border-radius:12px;max-width:100%;margin:28px 0 20px;overflow-x:auto}.blog-article .body .scroll::-webkit-scrollbar{height:8px}.blog-article .body .scroll::-webkit-scrollbar-thumb{background:var(--ba-line-strong);border-radius:999px}.blog-article .body table{border-collapse:separate;border-spacing:0;width:100%;min-width:480px;font:500 .92rem / 1.45 var(--ba-display);box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;overflow:visible}.blog-article .body caption{text-align:left;font:500 .85rem var(--ba-display);color:var(--ba-muted);caption-side:top;padding:12px 16px 0}.blog-article .body th,.blog-article .body td{text-align:left;vertical-align:top;border-bottom:1px solid var(--ba-line);border-right:1px solid #0000;padding:13px 16px}.blog-article .body th{color:#475569;font:700 .78rem / 1.35 var(--ba-display);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid var(--ba-line-strong);z-index:1;background:#f8fafc;position:sticky;top:0}.blog-article .body td{color:var(--ba-ink);background:#fff;font-weight:500}.blog-article .body td:first-child{color:var(--ba-ink);font-weight:600}.blog-article .body tbody tr:nth-child(2n) td{background:#fafbfc}.blog-article .body tbody tr:hover td{background:#f1f5f9}.blog-article .body tr:last-child td{border-bottom:0}.blog-article .body th:not(:last-child),.blog-article .body td:not(:last-child){border-right:1px solid var(--ba-line)}.blog-article .body>table{border:1px solid var(--ba-line);border-collapse:collapse;border-radius:12px;min-width:0;margin:28px 0 20px;overflow:hidden}.blog-article .body .tag{letter-spacing:.02em;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-block}.blog-article .body .tag.a{background:var(--ba-ok-bg);color:var(--ba-ok)}.blog-article .body .tag.i{background:var(--ba-no-bg);color:var(--ba-no)}.blog-article .body .dd{grid-template-columns:1fr 1fr;gap:14px;margin:28px 0;display:grid}.blog-article .body .dd>div{font-family:var(--ba-display);border:1px solid var(--ba-line);border-radius:12px;padding:20px 22px}.blog-article .body .dd .y{background:var(--ba-ok-bg);border-color:#a7f3d0}.blog-article .body .dd .n{background:var(--ba-no-bg);border-color:#fed7aa}.blog-article .body .dd h3{margin:0 0 10px;font-size:1.02rem}.blog-article .body .dd ul{margin:0;padding:0;font-size:.92rem;line-height:1.45;list-style:none}.blog-article .body .dd li{padding:5px 0 5px 26px;position:relative}.blog-article .body .dd .y li:before{content:"✓";color:var(--ba-ok);font-weight:800;position:absolute;left:0}.blog-article .body .dd .n li:before{content:"✕";color:var(--ba-no);font-weight:800;position:absolute;left:0}.blog-article .body ol.steps{counter-reset:s;margin:24px 0;padding:0;list-style:none}.blog-article .body ol.steps li{counter-increment:s;margin:0;padding:0 0 24px 56px;position:relative}.blog-article .body ol.steps li:before{content:counter(s);background:var(--ba-ink);color:#fff;width:34px;height:34px;font:700 .95rem / 34px var(--ba-display);text-align:center;border-radius:50%;position:absolute;top:-2px;left:0}.blog-article .body ol.steps li:after{content:"";background:var(--ba-line);width:2px;position:absolute;top:36px;bottom:2px;left:16px}.blog-article .body ol.steps li:last-child:after{display:none}.blog-article .body .proof{grid-template-columns:1fr 1fr;gap:14px;margin:24px 0;display:grid}.blog-article .body .proof figure{background:var(--ba-card);border:1px solid var(--ba-line);font:500 .9rem / 1.45 var(--ba-display);border-radius:12px;margin:0;padding:16px 18px}.blog-article .body .proof b{margin-bottom:4px;font-size:1.02rem;display:block}.blog-article .body .proof .ok b{color:var(--ba-ok)}.blog-article .body .proof .no b{color:var(--ba-no)}.blog-article .body .flow{border:1px solid var(--ba-line);background:#f8fafc;border-radius:14px;margin:32px 0;padding:20px 16px 14px}.blog-article .body .flow svg{width:100%;height:auto;display:block}.blog-article .body .flow figcaption{text-align:center}.blog-article .body details{border:1px solid var(--ba-line);background:#f8fafc;border-radius:12px;margin:0 0 10px}.blog-article .body summary{cursor:pointer;font:700 1rem var(--ba-display);color:var(--ba-ink);justify-content:space-between;gap:16px;padding:15px 18px;list-style:none;display:flex}.blog-article .body summary::-webkit-details-marker{display:none}.blog-article .body summary:after{content:"+";color:var(--ba-muted);font-size:1.35rem;line-height:1;transition:transform .2s}.blog-article .body details[open] summary:after{transform:rotate(45deg)}.blog-article .body details p{color:var(--ba-muted);margin:0;padding:0 18px 16px}.blog-article .body pre,.blog-article .body code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.blog-article .body code{border:1px solid var(--ba-line);color:#0f172a;background:#f1f5f9;border-radius:6px;padding:.12em .4em;font-size:.88em}.blog-article .body pre{color:#e2e8f0;background:#0f172a;border:1px solid #1e293b;border-radius:12px;margin:22px 0;padding:16px 18px;overflow-x:auto}.blog-article .body pre code{color:inherit;background:0 0;border:0;padding:0}.blog-article .body hr{border:0;border-top:1px solid var(--ba-line);margin:40px 0}.blog-article .ba-pillar-link{background:var(--ba-card);border:1px solid var(--ba-line);font:600 1rem / 1.5 var(--ba-display);color:var(--ba-muted);box-shadow:var(--ba-shadow);border-radius:12px;margin:36px 0 0;padding:18px 22px}.blog-article .ba-pillar-link a{color:var(--ba-pin);text-underline-offset:2px;text-decoration:underline}.blog-article .ba-cta{background:radial-gradient(500px 300px at 100% 0, #f5824259, transparent 60%), linear-gradient(135deg, var(--ba-indigo), var(--ba-deep));color:var(--ba-deep-ink);border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;margin:28px 0 48px;padding:48px 44px;display:flex;box-shadow:0 20px 40px -28px #1b134673}.blog-article .ba-cta h2{font:800 clamp(1.55rem, 3vw, 2.15rem) / 1.15 var(--ba-display);letter-spacing:-.025em;color:#fff;max-width:520px;margin:0 0 10px}.blog-article .ba-cta p{color:#c9c1ee;max-width:480px;margin:0;line-height:1.55}.blog-article .ba-related h2{font:800 1.25rem var(--ba-display);color:var(--ba-ink);margin:0 0 16px}.blog-article .ba-related .ba-row{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.blog-article .ba-related a{background:var(--ba-card);border:1px solid var(--ba-line);color:var(--ba-ink);font:700 1rem / 1.35 var(--ba-display);box-shadow:var(--ba-shadow);border-radius:14px;padding:20px 18px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:block}.blog-article .ba-related a:hover{color:var(--ba-ink);border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 14px 30px -18px #2563eb4d}@media (prefers-reduced-motion:reduce){.blog-article *,.blog-article :before,.blog-article :after{transition:none!important;animation:none!important}}@media (max-width:1100px){.blog-article .ba-wrap{padding:0 22px}.blog-article .ba-layout{grid-template-columns:180px minmax(0,1fr);gap:28px}}@media (max-width:900px){.blog-article .ba-wrap{padding:0 18px}.blog-article .ba-layout{grid-template-columns:1fr;gap:20px}.blog-article aside.ba-toc{border:1px solid var(--ba-line);background:#f8fafc;border-radius:12px;margin:0 0 4px;padding:14px 14px 10px;display:block;position:static}.blog-article aside.ba-toc p{margin:0 0 8px}.blog-article aside.ba-toc a{border-left:0;border:1px solid var(--ba-line);background:#fff;border-radius:8px;width:auto;margin:0 6px 6px 0;padding:6px 10px;font-size:.82rem;line-height:1.3;display:inline-block}.blog-article aside.ba-toc a:hover{color:var(--ba-pin);border-color:#93c5fd}.blog-article .ba-related .ba-row,.blog-article .body .dd,.blog-article .body .proof{grid-template-columns:1fr}.blog-article .ba-cta{margin:24px 0 36px;padding:28px 20px}.blog-article .body{font-size:1.05rem}.blog-article .body table{min-width:420px}}@media (max-width:600px){.blog-article .ba-wrap{padding:0 14px}.blog-article .ba-photo img{aspect-ratio:4/3;border-radius:12px}.blog-article .ba-hero{padding:calc(var(--ba-header-offset) + 24px) 0 44px}.blog-article .ba-hero h1{font-size:clamp(1.55rem,7vw,2rem)}.blog-article .ba-lede{font-size:1.02rem}.blog-article .ba-surface .ba-photo{margin-top:-20px}.blog-article .ba-article{padding-top:16px}.blog-article .body h2{margin-top:36px;font-size:1.35rem}.blog-article .body th,.blog-article .body td{padding:10px 12px;font-size:.86rem}.blog-article .ba-related .ba-row{grid-template-columns:1fr}.blog-article .ba-btn{text-align:center;width:100%}}
