.rp-blog{--rp-paper: #fdfdfc;--rp-paper-2: #f5f6f4;--rp-paper-3: #ecefeb;--rp-ink: #16181d;--rp-ink-soft: #535a62;--rp-rule: #d9dcd8;--rp-rule-strong: #b7bcb5;--rp-blue: #2563eb;--rp-blue-deep: #1e40af;--rp-blue-wash: #eff4fe;--rp-green: #059669;--rp-green-wash: #e9f7f1;--rp-teal: #0f766e;--rp-red-soft: #b91c1c;--rp-ff-display: "DM Serif Display", Georgia, serif;--rp-ff-body: "Plus Jakarta Sans", sans-serif;--rp-ff-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--rp-pointer-x: 50vw;--rp-pointer-y: 34vh;--rp-scroll: 0;position:relative;min-height:100vh;overflow:clip;background:var(--rp-paper);color:var(--rp-ink);font-family:var(--rp-ff-body)}.rp-blog .rp-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:linear-gradient(106deg,transparent 0 30%,rgba(37,99,235,.065) 30.2% 31.2%,transparent 31.7% 100%),linear-gradient(76deg,transparent 0 66%,rgba(5,150,105,.052) 66.2% 67.1%,transparent 67.7% 100%),linear-gradient(180deg,#fdfdfcb8,#fdfdfcf5)}.rp-blog .rp-bg-field,.rp-blog .rp-bg-current,.rp-blog .rp-bg-raster{position:absolute;inset:-18%;will-change:transform,opacity}.rp-blog .rp-bg-field{transform:translate3d(calc((var(--rp-pointer-x) - 50vw) * .016),calc((var(--rp-pointer-y) - 50vh) * .014 + var(--rp-scroll) * -.026px),0) rotate(-2deg);background:linear-gradient(112deg,transparent 0 36%,rgba(37,99,235,.08) 36.2% 37.1%,transparent 37.5% 100%),repeating-linear-gradient(0deg,rgba(22,24,29,.048) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,rgba(22,24,29,.042) 0 1px,transparent 1px 34px);mask-image:linear-gradient(115deg,transparent 0 7%,#000 18% 78%,transparent 94% 100%);opacity:.78}.rp-blog .rp-bg-current{inset:-10%;transform:translate3d(calc((50vw - var(--rp-pointer-x)) * .024),calc((50vh - var(--rp-pointer-y)) * .018 + var(--rp-scroll) * .04px),0) skewY(-5deg);background:linear-gradient(94deg,transparent 0 20%,rgba(15,118,110,.09) 20.3% 21.1%,transparent 21.5% 44%,rgba(37,99,235,.08) 44.3% 45.1%,transparent 45.7%),linear-gradient(94deg,transparent 0 74%,rgba(185,28,28,.035) 74.3% 75%,transparent 75.6%);opacity:.7}.rp-blog .rp-bg-raster{inset:-8%;transform:translate3d(calc((var(--rp-pointer-x) - 50vw) * -.011),calc(var(--rp-scroll) * -.058px),0) rotate(3deg);background-image:repeating-linear-gradient(115deg,rgba(22,24,29,.05) 0 1px,transparent 1px 18px),repeating-linear-gradient(25deg,rgba(37,99,235,.038) 0 1px,transparent 1px 52px);mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);opacity:.38}.rp-blog>:not(.rp-backdrop){position:relative;z-index:1}.rp-blog-container{width:min(1180px,calc(100% - clamp(2rem,6vw,5rem)));margin:0 auto}.rp-blog-hero{padding:166px 0 2.8rem;background:linear-gradient(180deg,#fdfdfce6,#fdfdfca8)}.rp-blog-back,.rp-blog-eyebrow,.rp-record-title,.rp-blog-record,.rp-margin-label,.rp-blog-tags,.rp-blog-next,.rp-blog-footer-note,.rp-blog .tsc-summary-badge,.rp-blog .blog-code-label,.rp-blog .source-eyebrow{font-family:var(--rp-ff-mono)}.rp-blog-back{display:inline-flex;margin-bottom:2.2rem;color:var(--rp-ink-soft);font-size:.78rem;text-decoration:none}.rp-blog-back:before{content:"<-";margin-right:.55rem;color:var(--rp-blue)}.rp-blog-back:hover{color:var(--rp-blue-deep);text-decoration:underline;text-underline-offset:.2em}.rp-blog-eyebrow{margin:0 0 .95rem;color:var(--rp-ink-soft);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.rp-blog-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(2rem,5vw,4.8rem);align-items:start}.rp-blog-title-block h1{max-width:920px;margin:0;color:var(--rp-ink);font-family:var(--rp-ff-display);font-size:clamp(3rem,7.2vw,6rem);font-weight:400;line-height:.98;letter-spacing:0}.rp-blog-abstract{max-width:76ch;margin:1.35rem 0 0;padding-left:1rem;border-left:2px solid var(--rp-rule-strong);color:var(--rp-ink);font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.72}.rp-blog-record,.rp-margin-card{border:1px solid var(--rp-rule);border-radius:6px;background:#fdfdfceb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.rp-blog-record{padding:1rem}.rp-record-title,.rp-margin-label{margin:0 0 .8rem;color:var(--rp-blue);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.rp-blog-record dl{display:grid;gap:1px;margin:0;background:var(--rp-rule);border:1px solid var(--rp-rule);border-radius:4px;overflow:hidden}.rp-blog-record dl div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:.7rem;padding:.65rem .72rem;background:#fdfdfcf5}.rp-blog-record dt,.rp-blog-record dd{margin:0;font-size:.72rem;line-height:1.45}.rp-blog-record dt{color:var(--rp-ink-soft);text-transform:uppercase;letter-spacing:.05em}.rp-blog-record dd{color:var(--rp-ink)}.rp-blog-figure{margin:clamp(2rem,5vw,3.6rem) 0 0;border:1px solid var(--rp-rule);border-radius:6px;background:#fdfdfceb;overflow:hidden}.rp-blog-figure img{display:block;width:100%;max-height:560px;object-fit:cover}.rp-blog-figure figcaption{padding:.65rem .85rem;border-top:1px solid var(--rp-rule);color:var(--rp-ink-soft);font-family:var(--rp-ff-mono);font-size:.72rem;line-height:1.5}.rp-blog-paper{padding:clamp(3rem,7vw,5.8rem) 0;border-top:1px solid var(--rp-rule);background:linear-gradient(180deg,#fdfdfcb8,#fdfdfce6)}.rp-blog-grid{display:grid;grid-template-columns:minmax(190px,250px) minmax(0,760px);gap:clamp(2rem,5vw,4.5rem);align-items:start}.rp-blog-margin{position:sticky;top:118px;display:grid;gap:1rem}.rp-margin-card{padding:1rem;color:var(--rp-ink-soft);font-size:.88rem;line-height:1.65}.rp-margin-card p:last-child{margin-bottom:0}.rp-blog-tags{display:flex;flex-wrap:wrap;gap:.35rem}.rp-blog-tags span{padding:.16rem .44rem;border:1px solid var(--rp-rule);border-radius:4px;background:var(--rp-paper-2);color:var(--rp-ink-soft);font-size:.67rem;line-height:1.35}.rp-article-jumps{display:grid;gap:.45rem}.rp-article-jumps a{color:var(--rp-blue-deep);font-size:.82rem;text-decoration:none}.rp-article-jumps a:hover{text-decoration:underline;text-underline-offset:.2em}.rp-blog-content{min-width:0;padding:clamp(1.3rem,3vw,2.4rem);border:1px solid var(--rp-rule);border-radius:6px;background:#fdfdfcf0;box-shadow:0 18px 70px #16181d0e}.rp-blog-content>:first-child{margin-top:0}.rp-blog-content p,.rp-blog-content li{color:var(--rp-ink);font-size:1.02rem;line-height:1.86}.rp-blog-content p{margin:0 0 1.3rem}.rp-blog-content .lead{font-size:1.18rem;line-height:1.8;color:var(--rp-ink)}.rp-blog-content h2,.rp-blog-content h3,.rp-blog-content h4{color:var(--rp-ink);letter-spacing:0}.rp-blog-content h2{margin:3.8rem 0 1rem;padding-top:1.1rem;border-top:1px solid var(--rp-rule);font-family:var(--rp-ff-display);font-size:clamp(1.7rem,3.4vw,2.35rem);font-weight:400;line-height:1.18}.rp-blog-content h3{margin:2.3rem 0 .75rem;font-size:1.05rem;font-weight:700}.rp-blog-content h4{margin:1.8rem 0 .55rem;font-size:.95rem;font-weight:700}.rp-blog-content a{color:var(--rp-blue-deep);text-decoration-thickness:.07em;text-underline-offset:.18em}.rp-blog-content ul,.rp-blog-content ol{margin:0 0 1.6rem;padding-left:1.35rem}.rp-blog-content li+li{margin-top:.35rem}.rp-blog-content blockquote{margin:2rem 0;padding:1rem 1.15rem;border-left:2px solid var(--rp-blue);background:var(--rp-blue-wash);color:var(--rp-ink)}.rp-blog-content blockquote p{margin-bottom:0}.rp-blog-content hr{margin:2.8rem 0;border:0;border-top:1px solid var(--rp-rule)}.rp-blog-content table{display:block;width:100%;margin:1.7rem 0 2.2rem;overflow-x:auto;border-collapse:collapse;font-size:.92rem}.rp-blog-content th,.rp-blog-content td{padding:.75rem .85rem;border:1px solid var(--rp-rule);text-align:left;vertical-align:top}.rp-blog-content th{background:var(--rp-paper-2);color:var(--rp-ink);font-family:var(--rp-ff-mono);font-size:.76rem;font-weight:600}.rp-blog-content code{padding:.12em .32em;border:1px solid rgba(22,24,29,.1);border-radius:4px;background:var(--rp-paper-2);color:var(--rp-ink);font-family:var(--rp-ff-mono);font-size:.92em}.rp-blog-content pre{position:relative;margin:1.8rem 0 2rem;padding:3rem 1.15rem 1.2rem;border:1px solid rgba(55,65,81,.95);border-radius:6px;background:#111827!important;color:#d1d5db;text-shadow:none;overflow-x:auto;box-shadow:0 18px 46px #0307123d}.rp-blog-content pre:before{content:"";position:absolute;top:0;left:0;right:0;height:38px;border-radius:6px 6px 0 0;background-image:radial-gradient(circle at center,#ff5f57 5px,transparent 5px),radial-gradient(circle at center,#febc2e 5px,transparent 5px),radial-gradient(circle at center,#28c840 5px,transparent 5px),linear-gradient(180deg,#1f2937,#111827);background-size:10px 10px,10px 10px,10px 10px,100% 100%;background-position:14px 50%,29px 50%,44px 50%,0 0;background-repeat:no-repeat;border-bottom:1px solid rgba(75,85,99,.72)}.rp-blog-content pre code{display:block;padding:0;border:0;background:transparent;color:inherit;text-shadow:none;font-size:.9rem;line-height:1.68}.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.comment,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.prolog,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.doctype,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.cdata{color:#8b949e}.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.punctuation{color:#c9d1d9}.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.property,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.tag,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.constant,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.symbol,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.deleted{color:#ff7b72}.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.boolean,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.number{color:#79c0ff}.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.selector,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.attr-name,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.string,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.char,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.builtin,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.inserted{color:#a5d6ff}.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.operator,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.entity,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.url,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.variable{color:#d2a8ff}.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.atrule,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.attr-value,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.function,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.class-name{color:#d2a8ff}.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.keyword{color:#ff7b72}.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.regex,.rp-blog-content :is(code[class*=language-],pre[class*=language-]) .token.important{color:#ffa657}.rp-blog-summary{margin:0 0 2.4rem}.rp-blog .tsc-summary{display:grid;grid-template-columns:148px minmax(0,1fr);gap:1px;margin:0;border:1px solid var(--rp-rule);border-radius:6px;overflow:hidden;background:var(--rp-rule)}.rp-blog .tsc-summary-badge,.rp-blog .tsc-summary-body{background:#fdfdfcf5}.rp-blog .tsc-summary-badge{display:grid;align-content:center;justify-items:center;padding:1rem;color:var(--rp-blue-deep);text-align:center}.rp-blog .badge-number{display:block;font-size:1.7rem;line-height:1}.rp-blog .badge-label{display:block;margin-top:.35rem;color:var(--rp-ink-soft);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.rp-blog .tsc-summary-body{padding:1.1rem 1.2rem}.rp-blog .tsc-summary-title{margin:0 0 .45rem;font-family:var(--rp-ff-display);font-size:1.35rem;font-weight:400}.rp-blog .tsc-summary-text{margin:0 0 .8rem;color:var(--rp-ink-soft);line-height:1.65}.rp-blog .tsc-summary-features{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}.rp-blog .tsc-summary-features li{margin:0;padding:.14rem .45rem;border:1px solid var(--rp-rule);border-radius:4px;background:var(--rp-paper-2);color:var(--rp-ink-soft);font-family:var(--rp-ff-mono);font-size:.68rem;line-height:1.4}.rp-blog .callout{margin:2rem 0;padding:1rem 1.1rem;border:1px solid var(--rp-rule);border-left:2px solid var(--rp-blue);border-radius:6px;background:var(--rp-blue-wash);color:var(--rp-ink)}.rp-blog .callout-warn{border-left-color:var(--rp-red-soft);background:#fff7ed}.rp-blog .blog-code-window{margin:2rem 0;border:1px solid var(--rp-rule-strong);border-radius:6px;background:#fdfdfcf5;overflow:hidden}.rp-blog .blog-code-titlebar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .75rem;border-bottom:1px solid var(--rp-rule);background:var(--rp-paper-2)}.rp-blog .blog-code-dots{display:flex;gap:.28rem}.rp-blog .blog-code-dots span{width:7px;height:7px;border-radius:999px;background:var(--rp-rule-strong)}.rp-blog .blog-code-label{color:var(--rp-ink-soft);font-size:.68rem}.rp-blog .blog-code-window pre{margin:0;border:0;border-radius:0}.rp-blog .source-card{margin:2rem 0;padding:1rem;border:1px solid var(--rp-rule);border-radius:6px;background:#fdfdfcf5}.rp-blog .source-eyebrow{margin:0 0 .7rem;color:var(--rp-blue);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.rp-blog .source-img-wrap{border:1px solid var(--rp-rule);border-radius:5px;overflow:hidden}.rp-blog .source-img-wrap img{display:block;width:100%}.rp-blog .source-card h3{margin-top:1rem;font-family:var(--rp-ff-display);font-size:1.35rem;font-weight:400}.rp-blog .source-card blockquote{margin:1rem 0 .6rem}.rp-blog .source-byline{color:var(--rp-ink-soft);font-size:.9rem}.rp-blog-contact{margin-top:3rem;padding-top:2.4rem;border-top:1px solid var(--rp-rule)}.rp-blog .blog-cta{display:grid;grid-template-columns:96px minmax(0,1fr);gap:1rem;align-items:stretch;border:1px solid var(--rp-rule);border-radius:6px;background:#fdfdfcf5;overflow:hidden}.rp-blog .blog-cta-photo{background:var(--rp-paper-2)}.rp-blog .blog-cta-photo img{width:100%;height:100%;object-fit:cover}.rp-blog .blog-cta-form{padding:1rem}.rp-blog .blog-cta-form h3{margin:0 0 .9rem;font-family:var(--rp-ff-display);font-size:1.35rem;font-weight:400}.rp-blog .cta-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.rp-blog .blog-cta input[type=text],.rp-blog .blog-cta input[type=email],.rp-blog .blog-cta textarea{width:100%;border:0;border-bottom:1px solid var(--rp-rule-strong);border-radius:0;background:transparent;color:var(--rp-ink);font:inherit;font-size:.92rem}.rp-blog .blog-cta textarea{min-height:98px;margin-top:.8rem;resize:vertical}.rp-blog .blog-cta label{display:flex;gap:.5rem;margin:.75rem 0;color:var(--rp-ink-soft);font-size:.82rem;line-height:1.45}.rp-blog .blog-cta button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.55rem .9rem;border:1px solid var(--rp-ink);border-radius:5px;background:var(--rp-ink);color:var(--rp-paper);font-family:var(--rp-ff-mono);font-size:.74rem}.rp-blog .blog-cta button:hover{background:var(--rp-blue-deep);border-color:var(--rp-blue-deep)}.rp-blog .cta-success{margin:0;color:var(--rp-green);font-family:var(--rp-ff-mono)}.rp-blog-footer-note{margin-top:3rem!important;padding-top:1rem;border-top:1px solid var(--rp-rule);color:var(--rp-ink-soft)!important;font-size:.86rem!important}.rp-blog-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:2.6rem;border:1px solid var(--rp-rule);border-radius:6px;overflow:hidden;background:var(--rp-rule)}.rp-blog-next a{display:grid;gap:.35rem;min-height:112px;padding:1rem;background:#fdfdfcf5;color:var(--rp-ink);text-decoration:none}.rp-blog-next a:hover{background:var(--rp-blue-wash);color:var(--rp-blue-deep)}.rp-blog-next span{color:var(--rp-ink-soft);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}@media(max-width:1080px){.rp-blog-hero-grid,.rp-blog-grid{grid-template-columns:1fr}.rp-blog-margin{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.rp-blog-hero{padding-top:138px}.rp-blog-title-block h1{font-size:clamp(2.55rem,14vw,4rem);line-height:1.02}.rp-blog-record dl div,.rp-blog .tsc-summary,.rp-blog .blog-cta,.rp-blog .cta-fields,.rp-blog-next,.rp-blog-margin{grid-template-columns:1fr}.rp-blog-content{padding:1.1rem}.rp-blog-content p,.rp-blog-content li{font-size:1rem;line-height:1.78}.rp-blog .blog-cta-photo{display:none}}@media(prefers-reduced-motion:reduce){.rp-blog *,.rp-blog *:before,.rp-blog *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.rp-blog .rp-bg-field,.rp-blog .rp-bg-current,.rp-blog .rp-bg-raster{transform:none!important}}.admin-banner[data-astro-cid-oi4i75ys]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.5rem;padding:.6rem 1rem;border:1px solid rgba(61,79,168,.25);border-radius:10px;background:#5d6abf14;font-size:.9rem;color:var(--tj-theme-h4-primary-1, #1a1e3a)}.admin-banner[data-astro-cid-oi4i75ys] form[data-astro-cid-oi4i75ys]{margin:0}.admin-banner[data-astro-cid-oi4i75ys] button[data-astro-cid-oi4i75ys]{border:0;border-radius:999px;padding:.35rem .9rem;background:var(--tj-theme-h4-primary-1, #1a1e3a);color:#fff;font-size:.85rem;cursor:pointer}.admin-banner[data-astro-cid-oi4i75ys] button[data-astro-cid-oi4i75ys]:hover{background:var(--tj-theme-primary-1, #3d4fa8)}
