@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/bricolage-grotesque-600.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/bricolage-grotesque-700.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/bricolage-grotesque-800.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hanken-grotesk-400.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/hanken-grotesk-500.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/hanken-grotesk-600.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/hanken-grotesk-700.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700.woff2) format("woff2")}:root{--bp-paper: #f4f6f9;--bp-surface: #ffffff;--bp-ink: #0a1a2f;--bp-ink-soft: #3a4a5f;--bp-ink-muted: #6b7a8d;--bp-line: #dbe2ea;--bp-line-strong: #c2cdd8;--bp-accent: #1b51e5;--bp-accent-ink: #1741b8;--bp-spark: #06b6d4;color-scheme:light}html{scroll-behavior:smooth}body{font-family:Hanken Grotesk,ui-sans-serif,system-ui,-apple-system,sans-serif;background-color:var(--bp-paper);color:var(--bp-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::-moz-selection{background:color-mix(in srgb,var(--bp-accent) 22%,transparent);color:var(--bp-ink)}::selection{background:color-mix(in srgb,var(--bp-accent) 22%,transparent);color:var(--bp-ink)}[id]{scroll-margin-top:6rem}.bp-display{font-family:Bricolage Grotesque,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.028em}.bp-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}.bp-eyebrow{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--bp-accent-ink)}.bp-grid{background-image:linear-gradient(to right,var(--bp-line) 1px,transparent 1px),linear-gradient(to bottom,var(--bp-line) 1px,transparent 1px);background-size:28px 28px}.bp-grid-major{background-image:linear-gradient(to right,color-mix(in srgb,var(--bp-line-strong) 90%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--bp-line-strong) 90%,transparent) 1px,transparent 1px),linear-gradient(to right,var(--bp-line) 1px,transparent 1px),linear-gradient(to bottom,var(--bp-line) 1px,transparent 1px);background-size:140px 140px,140px 140px,28px 28px,28px 28px}.bp-dots{background-image:radial-gradient(var(--bp-line-strong) 1px,transparent 1px);background-size:22px 22px}.bp-frame{background:var(--bp-surface);border:1px solid var(--bp-line);box-shadow:0 1px #fff9 inset}.bp-tick{position:absolute;width:9px;height:9px;border-color:var(--bp-line-strong)}.bp-tick-accent{border-color:var(--bp-accent)}.bp-tick-tl{top:-1px;left:-1px;border-top:1.5px solid;border-left:1.5px solid}.bp-tick-tr{top:-1px;right:-1px;border-top:1.5px solid;border-right:1.5px solid}.bp-tick-bl{bottom:-1px;left:-1px;border-bottom:1.5px solid;border-left:1.5px solid}.bp-tick-br{bottom:-1px;right:-1px;border-bottom:1.5px solid;border-right:1.5px solid}.bp-ping-dot{position:relative;display:inline-flex;height:.5rem;width:.5rem}.bp-ping-dot:before{content:"";position:absolute;inset:0;border-radius:9999px;background:var(--bp-spark);opacity:.75;animation:bpPing 1.8s cubic-bezier(0,0,.2,1) infinite}.bp-ping-dot:after{content:"";position:relative;display:inline-flex;height:.5rem;width:.5rem;border-radius:9999px;background:var(--bp-spark)}@keyframes bpPing{75%,to{transform:scale(2.4);opacity:0}}@keyframes bpPulse{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}.bp-pulse{stroke-dasharray:6 94;animation:bpPulse 3.4s linear infinite}@keyframes bpFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.bp-float{animation:bpFloat 6s ease-in-out infinite}@keyframes bpRing{0%{transform:scale(.2);opacity:.45}70%{opacity:.12}to{transform:scale(1);opacity:0}}.bp-ring{transform-box:fill-box;transform-origin:center;animation:bpRing 4s ease-out infinite}.bp-js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--d, 0ms)}.bp-js [data-reveal].bp-in{opacity:1;transform:none}@keyframes bpLoad{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.bp-load{animation:bpLoad .8s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d, 0ms)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.bp-js [data-reveal],[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.bp-load,.bp-float,.bp-ring{animation:none!important}.bp-pulse{display:none}.bp-ping-dot:before{animation:none}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}.bp-prose{color:var(--bp-ink-soft);font-size:1.075rem;line-height:1.78}.bp-prose>:first-child{margin-top:0}.bp-prose h1,.bp-prose h2,.bp-prose h3,.bp-prose h4{font-family:Bricolage Grotesque,ui-sans-serif,system-ui,sans-serif;color:var(--bp-ink);letter-spacing:-.02em;line-height:1.15}.bp-prose h2{font-size:1.75rem;font-weight:800;margin-top:2.75rem;margin-bottom:1rem;padding-top:1.5rem;border-top:1px solid var(--bp-line)}.bp-prose h2:before{content:"//";font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:700;color:var(--bp-accent);margin-right:.6rem;vertical-align:1px}.bp-prose h3{font-size:1.32rem;font-weight:700;margin-top:2rem;margin-bottom:.6rem}.bp-prose h4{font-size:1.1rem;font-weight:700;margin-top:1.6rem;margin-bottom:.5rem}.bp-prose p{margin-top:0;margin-bottom:1.3rem}.bp-prose strong{color:var(--bp-ink);font-weight:700}.bp-prose a{color:var(--bp-accent-ink);font-weight:600;text-decoration:none;box-shadow:inset 0 -1px color-mix(in srgb,var(--bp-accent) 40%,transparent);transition:box-shadow .15s ease,color .15s ease}.bp-prose a:hover{color:var(--bp-accent);box-shadow:inset 0 -2px 0 0 var(--bp-accent)}.bp-prose ul,.bp-prose ol{margin:1.3rem 0;padding-left:1.5rem}.bp-prose li{margin:.5rem 0;padding-left:.35rem}.bp-prose ul>li{list-style:none;position:relative}.bp-prose ul>li:before{content:"";position:absolute;left:-1.15rem;top:.72em;width:6px;height:6px;border-radius:1px;background:var(--bp-accent);transform:rotate(45deg)}.bp-prose ol>li{list-style:decimal}.bp-prose ol>li::marker{color:var(--bp-accent-ink);font-family:JetBrains Mono,monospace;font-weight:700;font-size:.9em}.bp-prose blockquote{margin:1.75rem 0;padding:1rem 1.25rem;border-left:3px solid var(--bp-accent);background:var(--bp-surface);border-radius:0 .5rem .5rem 0;box-shadow:0 1px 0 var(--bp-line);font-style:normal;color:var(--bp-ink)}.bp-prose blockquote p{margin:0}.bp-prose code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.86em;background:color-mix(in srgb,var(--bp-accent) 8%,var(--bp-surface));border:1px solid var(--bp-line);border-radius:.35rem;padding:.12em .4em;color:var(--bp-accent-ink)}.bp-prose pre{background:#0a1a2f;color:#e8edf5;border-radius:.85rem;padding:1.15rem 1.25rem;overflow-x:auto;margin:1.6rem 0;font-size:.9rem;line-height:1.65;border:1px solid rgba(255,255,255,.08)}.bp-prose pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit}.bp-prose img{border-radius:.85rem;border:1px solid var(--bp-line);box-shadow:var(--tw-shadow, 0 12px 32px -16px rgba(10,26,47,.22));margin:1.75rem 0}.bp-prose hr{border:0;margin:2.5rem 0;height:1px;background:repeating-linear-gradient(to right,var(--bp-line-strong) 0 8px,transparent 8px 16px);position:relative}.bp-prose table{width:100%;border-collapse:collapse;margin:1.75rem 0;font-size:.95rem}.bp-prose th,.bp-prose td{border:1px solid var(--bp-line);padding:.6rem .85rem;text-align:left}.bp-prose th{background:var(--bp-surface);color:var(--bp-ink);font-weight:700}
