@import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap";:root{--primary: #3caea3;--primary-hover: #2e928a;--navy: #173f5f;--blue: #20639b;--yellow: #f6d55c;--coral: #ed553b;--dark: #123246;--muted: #55707a;--accent: #3caea3;--bg: #f7f5f0;--surface: #fffdf8;--hairline: rgba(18, 50, 70, .1);--hairline-strong: rgba(18, 50, 70, .16);--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--container: 1180px;--pad-x: 32px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--dark);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11";line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}p{margin:0}.container{max-width:var(--container);margin:0 auto;padding:0 var(--pad-x)}.nav{position:sticky;top:0;z-index:50;background:#fff;backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--hairline)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.wordmark{font-weight:600;font-size:20px;letter-spacing:0;color:var(--navy)}.nav-links{display:flex;align-items:center;gap:32px}.nav-link{font-size:14.5px;color:var(--muted);font-weight:500;transition:color .15s ease}.nav-link:hover,.nav-link.active{color:var(--blue)}.lang-menu{position:relative;font-family:var(--font-mono);font-size:12.5px}.lang-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--hairline-strong);background:#fff;color:var(--dark);cursor:pointer;font-family:inherit;font-size:inherit;transition:border-color .15s ease,background .15s ease}.lang-trigger:hover{border-color:var(--dark)}.lang-trigger .globe{width:16px;height:16px;flex-shrink:0}.caret{font-size:10px;opacity:.6}.lang-list{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:14px;padding:6px;box-shadow:0 20px 40px -20px #0d1f1f38,0 2px 8px #0d1f1f0f;display:none;flex-direction:column;gap:2px;z-index:60}.lang-menu[data-open=true] .lang-list{display:flex}.lang-list a{padding:10px 12px;border-radius:9px;color:var(--dark);display:flex;align-items:center;justify-content:space-between;gap:12px;transition:background .12s ease}.lang-list a:hover{background:#f0ede6}.lang-list a.active{color:var(--blue)}.lang-list a.active:after{content:"✓";font-size:12px}.lang-list a.active .code{display:none}.code{font-family:var(--font-mono);font-size:11px;color:var(--muted)}body.home-lock{height:100vh;overflow:hidden}body.home-lock .nav{position:fixed;inset:0 0 auto;background:transparent;border-bottom:1px solid transparent;backdrop-filter:none}body.home-lock .lang-trigger{background:#ffffff8c;backdrop-filter:blur(10px)}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-size:14.5px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease;white-space:nowrap;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--blue);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--dark);border-color:var(--hairline-strong)}.btn-ghost:hover{border-color:var(--dark)}.btn-lg{padding:16px 26px;font-size:15.5px}.btn .arrow,.post-arrow{transition:transform .2s ease}.btn:hover .arrow{transform:translate(3px)}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;color:var(--blue)}.eyebrow:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--yellow)}h1,h2,h3{color:var(--dark);letter-spacing:0;margin:0;line-height:1.05;font-weight:500;text-wrap:balance}.blob-wrap{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.blob{position:absolute;filter:blur(40px);opacity:.85;will-change:transform}.blob svg{width:100%;height:100%;display:block}.blob-a{width:720px;height:720px;top:-180px;right:-120px;animation:drift-a 22s ease-in-out infinite alternate}.blob-a.compact{width:520px;height:520px;top:-160px;right:-100px}.blob-b{width:560px;height:560px;bottom:-200px;left:-120px;animation:drift-b 26s ease-in-out infinite alternate}.blob-c{width:380px;height:380px;top:30%;left:38%;opacity:.55;animation:drift-c 30s ease-in-out infinite alternate}.hero .blob-a path{fill:#3caea3}.hero .blob-b path{fill:#f6d55c}.hero .blob-c path{fill:#20639b}.page-header .blob,.article-header .blob{opacity:.48}.page-header .blob-a path,.article-header .blob-a path{fill:#d9e7ee}.page-header .blob-b path,.article-header .blob-b path{fill:#fff0a6}.page-header .blob-c path,.article-header .blob-c path{fill:#f2a092}@keyframes drift-a{0%{transform:translate(0) rotate(0) scale(1)}to{transform:translate(-60px,40px) rotate(40deg) scale(1.08)}}@keyframes drift-b{0%{transform:translate(0) rotate(0) scale(1)}to{transform:translate(80px,-30px) rotate(-30deg) scale(1.12)}}@keyframes drift-c{0%{transform:translate(0) rotate(0) scale(1)}to{transform:translate(-40px,-50px) rotate(60deg) scale(.9)}}.hero{position:relative;height:100vh;padding:0;display:flex;align-items:center;overflow:hidden}.hero-inner{position:relative;z-index:1;max-width:920px;padding-top:68px;padding-bottom:40px}.hero h1{font-size:clamp(44px,6.2vw,84px);margin-top:28px;line-height:1.02}.hero h1 em{font-style:normal;color:var(--blue)}.hero .sub{margin-top:28px;font-size:clamp(18px,1.5vw,22px);line-height:1.45;color:var(--muted);max-width:660px}.hero-cta{margin-top:44px}.hero-meta{margin-top:28px;font-size:13.5px;color:var(--muted);font-family:var(--font-mono)}.page-header,.article-header{padding:120px 0 60px;position:relative;overflow:hidden;background:#fff;border-bottom:1px solid var(--hairline)}.article-header{padding-top:100px}.header-content,.article-header .container{position:relative;z-index:1}.page-header h1{font-size:clamp(46px,5.5vw,74px);margin-top:24px;max-width:820px;line-height:1.04}.page-header .lede{color:var(--muted);font-size:17px;max-width:620px;margin-top:24px;line-height:1.45}.blog-section{padding:56px 0 88px}.post-list{border-top:1px solid var(--navy)}.post-row{display:grid;grid-template-columns:120px 1fr 220px 100px;gap:32px;align-items:center;padding:32px 0;border-bottom:1px solid var(--hairline);transition:transform .2s ease,background .2s ease,padding-left .2s ease;cursor:pointer;position:relative}.post-row:hover{transform:translate(12px)}.post-row:hover .post-title{color:var(--blue)}.post-num,.post-meta{font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}.post-title{font-size:20px;font-weight:500;transition:color .15s ease;text-wrap:balance}.post-arrow{text-align:right;color:var(--muted);font-size:16px}.post-row:hover .post-arrow{transform:translate(6px);color:var(--coral)}.post-row.featured{grid-template-columns:1.1fr 1fr;gap:56px;align-items:stretch;padding:36px;border:1px solid rgba(32,99,155,.18);border-radius:22px;background:#fff;box-shadow:0 28px 90px -70px #12324673}.post-row.featured:before,.post-list .post-row:before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:3px;border-radius:999px;background:var(--yellow)}.post-list .post-row{padding-left:18px}.post-list .post-row:nth-child(3n+1):before{background:var(--blue)}.post-list .post-row:nth-child(3n+2):before{background:var(--primary)}.post-list .post-row:nth-child(3n):before{background:var(--coral)}.feat-text{display:flex;flex-direction:column;gap:18px;justify-content:center}.post-row.featured .post-title{font-size:clamp(26px,3vw,38px);line-height:1.08}.excerpt{color:var(--muted);font-size:14.5px;line-height:1.5;max-width:520px}.post-kicker{display:flex;gap:18px;align-items:center;margin-top:12px}.post-kicker .arrow{color:var(--coral);font-size:16px}.feat-visual{position:relative;border-radius:18px;overflow:hidden;min-height:320px;background:linear-gradient(135deg,#20639b1a,#f6d55c29);border:1px solid rgba(32,99,155,.1)}.feat-visual img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block}.cat-tag{display:inline-block;font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;color:var(--blue);padding:5px 10px;border:1px solid rgba(32,99,155,.22);border-radius:999px;background:#f6d55c29;width:fit-content}.empty-state{border-top:1px solid var(--dark);border-bottom:1px solid var(--hairline);padding:56px 0}.empty-state h2{font-size:clamp(26px,3vw,38px)}.empty-state p{color:var(--muted);margin-top:14px;max-width:620px}.inline-cta{display:flex;justify-content:space-between;align-items:center;padding:56px 0 0;flex-wrap:wrap;gap:24px}.inline-cta h3{font-size:24px}.inline-cta p{color:var(--muted);margin-top:8px;font-size:13.5px}.back-link{color:var(--muted);font-family:var(--font-mono);font-size:11px;display:inline-flex;align-items:center;gap:8px}.article-label{margin-top:32px}.article-header h1{font-size:clamp(38px,4.6vw,62px);line-height:1.05;margin-top:28px;max-width:920px}.article-meta{display:flex;gap:24px;margin-top:32px;font-family:var(--font-mono);font-size:11px;color:var(--muted);flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--hairline)}.article-grid{display:grid;grid-template-columns:190px minmax(0,740px) 190px;justify-content:center;gap:44px;max-width:1200px;margin:0 auto;padding:56px var(--pad-x) 0}.article-body{max-width:740px;margin:0;padding:0;font-size:16px;line-height:1.74;color:#000}.article-body p{margin:0 0 24px}.article-body table{width:100%;border-collapse:collapse;margin:34px 0;font-size:13px;line-height:1.45;background:#fffdf8c7;border:1px solid rgba(32,99,155,.16);box-shadow:0 18px 48px -42px #12324666}.article-body th,.article-body td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--hairline)}.article-body th{color:#000;font-weight:600;background:#f6d55c38}.article-body tr:nth-child(2n) td{background:#d9e7ee33}.article-body tr:last-child td{border-bottom:0}.article-body h2{font-size:28px;line-height:1.16;margin:64px 0 18px;color:#000;padding-top:18px;border-top:1px solid rgba(32,99,155,.12);position:relative}.article-body h2:before{content:"";position:absolute;top:-1px;left:0;width:72px;height:2px;background:linear-gradient(90deg,var(--blue),var(--yellow),var(--coral))}.article-body h3{font-size:19px;line-height:1.3;margin:28px 0 10px;color:#000;padding-left:12px;border-left:3px solid rgba(246,213,92,.88)}.article-body .lede{font-size:20px;line-height:1.52;color:#000;margin-bottom:42px;padding-bottom:34px;border-bottom:1px solid rgba(32,99,155,.14);position:relative}.article-body .lede:before{content:"";display:block;width:56px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--yellow),var(--coral));margin-bottom:22px}.faq-block{margin-top:56px}.faq-item{border-top:1px solid rgba(32,99,155,.14);padding-top:20px;position:relative;padding-left:18px}.faq-item:before{content:"";position:absolute;top:28px;left:0;width:7px;height:7px;border-radius:999px;background:var(--yellow)}.article-body hr{border:0;border-top:1px solid var(--hairline);margin:56px 0}.figure{margin:40px 0;padding:28px;border:1px solid rgba(32,99,155,.14);border-radius:14px;background:linear-gradient(135deg,#fffdf8f0,#f6d55c1f)}.cap,.cta-note{font-family:var(--font-mono);font-size:10px;color:var(--muted)}.placeholder-chart{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;font-family:var(--font-mono);font-size:10px}.placeholder-chart span{min-height:88px;padding:12px;border-radius:8px;background:#20639b24;display:flex;align-items:flex-end}.placeholder-chart span:nth-child(2),.placeholder-chart span:nth-child(4){background:#f6d55c61}.placeholder-chart span:nth-child(3){background:#3caea338}.placeholder-chart span:nth-child(4){background:#ed553b2e}.toc,.rail-sticky{position:sticky;top:100px}.toc{font-size:11.5px}.toc-title,.rail-title,.next-up .label{font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.toc a{color:#55707ae6;display:block;padding-left:12px;border-left:2px solid var(--hairline)}.toc a:hover{color:var(--blue);border-left-color:var(--yellow)}.rail-sticky{display:flex;flex-direction:column;gap:28px}.author-row{display:flex;gap:12px;align-items:center}.avatar{width:44px;height:44px;border-radius:999px;background:linear-gradient(135deg,var(--yellow),var(--primary),var(--blue));flex-shrink:0}.author-name{font-size:12.5px;font-weight:500}.author-role,.tag-list a{font-size:11px;color:var(--muted)}.tag-list{display:flex;flex-direction:column;gap:8px}.article-cta{margin-top:24px}.next-up{margin-top:120px;border-top:1px solid var(--hairline);padding-top:60px}.next-up h3{font-size:clamp(26px,3vw,38px);margin-top:16px;max-width:680px;line-height:1.1}.next-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:24px;flex-wrap:wrap}.footer{border-top:1px solid var(--hairline);padding:56px 0 40px;margin-top:120px}.footer-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.footer-brand{display:flex;flex-direction:column;gap:10px}.footer-tag{color:var(--muted);font-size:13.5px;max-width:4000px}.footer-meta{display:flex;gap:28px;color:var(--muted);font-size:13px;font-family:var(--font-mono);flex-wrap:wrap}.footer-meta a:hover{color:var(--dark)}@media (max-width: 900px){:root{--pad-x: 22px}.nav-links{gap:16px}.lang-trigger{max-width:146px}.lang-trigger span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero h1{font-size:clamp(42px,13vw,64px)}.post-row,.post-row.featured,.article-grid{grid-template-columns:1fr}.post-row{gap:12px;transform:none}.post-row:hover{transform:none}.post-row .post-meta,.post-arrow,.toc-col,.right-rail{display:none}.placeholder-chart{grid-template-columns:1fr 1fr}.page-header,.article-header{padding-top:96px}}@media (max-width: 560px){.hero{min-height:100vh;height:auto}body.home-lock{overflow:auto}.hero-inner{padding-top:120px}.page-header h1,.article-header h1{font-size:clamp(38px,12vw,52px)}.feat-visual{min-height:220px}.placeholder-chart{grid-template-columns:1fr}}
