.blog-prose{--bp-cocoa: var(--color-signature-cocoa);--bp-cocoa-soft: var(--color-signature-cocoa-soft);--bp-muted: var(--color-text-muted);--bp-border: color-mix(in srgb, var(--color-border) 88%, transparent);--bp-radius: .65rem;--bp-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;color:var(--color-text);font-size:1rem;line-height:2;letter-spacing:.02em}.blog-prose>:first-child{margin-top:0}.blog-prose>:last-child{margin-bottom:0}.blog-prose .bp-heading{scroll-margin-top:calc(var(--header-height) + 1.5rem);color:var(--color-text);line-height:1.55;letter-spacing:.02em}.blog-prose .bp-heading--h2{display:flex;align-items:baseline;gap:.75rem;margin:2.5rem 0 1rem;padding-top:.25rem;font-family:var(--font-mincho);font-size:clamp(1.35rem,2.5vw,1.85rem);font-weight:600}.blog-prose .bp-heading--h2:before{content:"";flex:0 0 2rem;height:1px;margin-top:.55em;background:color-mix(in srgb,var(--bp-cocoa) 55%,transparent)}.blog-prose .bp-heading--h3{margin:1.75rem 0 .75rem;padding-bottom:.35rem;border-bottom:1px solid var(--bp-border);font-size:1.1rem;font-weight:var(--font-weight-bold)}.blog-prose .bp-heading--h4{margin:1.5rem 0 .6rem;color:var(--bp-muted);font-size:.95rem;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.blog-prose .bp-heading--h5{margin:1.25rem 0 .5rem;font-size:.92rem;font-weight:var(--font-weight-bold)}.blog-prose .bp-heading--h6{margin:1rem 0 .4rem;color:var(--bp-muted);font-family:var(--bp-mono);font-size:.72rem;font-weight:var(--font-weight-bold);letter-spacing:.14em;text-transform:uppercase}.blog-prose .bp-p{margin:0 0 1.25rem}.blog-prose strong{font-weight:var(--font-weight-bold);color:var(--color-text)}.blog-prose em{font-style:italic}.blog-prose del{color:var(--bp-muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--bp-cocoa) 45%,transparent)}.blog-prose code{padding:.12em .4em;border-radius:.35rem;background:var(--bp-cocoa-soft);color:color-mix(in srgb,var(--bp-cocoa) 82%,var(--color-text));font-family:var(--bp-mono);font-size:.86em;font-weight:var(--font-weight-medium);letter-spacing:0}.blog-prose a{color:var(--bp-cocoa);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--bp-cocoa) 35%,transparent);text-underline-offset:.18em;transition:color .2s var(--ease-out),text-decoration-color .2s var(--ease-out)}.blog-prose a:hover,.blog-prose a:focus-visible{color:var(--color-signature-cocoa-hover);text-decoration-color:var(--color-signature-cocoa-hover)}.blog-prose mark{padding:.05em .2em;border-radius:.2rem;background:color-mix(in srgb,var(--color-accent-yellow) 42%,transparent);color:var(--color-text)}.blog-prose kbd{display:inline-block;padding:.1em .45em;border:1px solid var(--bp-border);border-radius:.35rem;background:linear-gradient(180deg,#fff 0%,var(--color-bg-subtle) 100%);box-shadow:0 1px color-mix(in srgb,var(--color-text) 12%,transparent);font-family:var(--bp-mono);font-size:.78em;line-height:1.4}.blog-prose sub,.blog-prose sup{font-size:.72em;line-height:0}.blog-prose .bp-blockquote{margin:1.5rem 0;padding:1rem 1.15rem 1rem 1.25rem;border-left:3px solid color-mix(in srgb,var(--bp-cocoa) 55%,transparent);border-radius:0 var(--bp-radius) var(--bp-radius) 0;background:color-mix(in srgb,var(--bp-cocoa) 5%,#fff)}.blog-prose .bp-blockquote .bp-p{margin-bottom:.85rem;color:var(--bp-muted);font-family:var(--font-mincho);font-size:.98rem;line-height:1.9}.blog-prose .bp-blockquote .bp-p:last-child{margin-bottom:0}.blog-prose .bp-blockquote-cite{margin-top:.75rem;color:var(--bp-muted);font-size:.78rem;font-style:normal;letter-spacing:.06em}.blog-prose .bp-pre-wrap{position:relative;margin:1.5rem 0}.blog-prose .bp-pre-lang{position:absolute;top:.55rem;right:.65rem;z-index:1;padding:.15rem .45rem;border-radius:.3rem;background:#ffffff14;color:#fff8f18c;font-family:var(--bp-mono);font-size:.65rem;font-weight:var(--font-weight-bold);letter-spacing:.12em;text-transform:uppercase;pointer-events:none}.blog-prose .bp-pre{margin:0;padding:1.1rem 1.15rem;overflow-x:auto;border-radius:var(--bp-radius);background:#2a211c;color:#fff8f1;box-shadow:inset 0 1px #ffffff0a;font-family:var(--bp-mono);font-size:.82rem;line-height:1.7;letter-spacing:0;-webkit-overflow-scrolling:touch}.blog-prose .bp-pre code{padding:0;border-radius:0;background:transparent;color:inherit;font-size:inherit}.blog-prose .bp-ul,.blog-prose .bp-ol{margin:0 0 1.25rem;padding:0;list-style:none}.blog-prose .bp-ul .bp-li,.blog-prose .bp-ol .bp-li{position:relative;padding-left:1.35rem;color:var(--bp-muted)}.blog-prose .bp-ul .bp-li+.bp-li,.blog-prose .bp-ol .bp-li+.bp-li{margin-top:.45rem}.blog-prose .bp-ul>.bp-li:before{content:"";position:absolute;left:.2rem;top:.72em;width:.35rem;height:.35rem;border-radius:50%;background:var(--bp-cocoa)}.blog-prose .bp-ul .bp-ul,.blog-prose .bp-ul .bp-ol,.blog-prose .bp-ol .bp-ul,.blog-prose .bp-ol .bp-ol{margin:.5rem 0 0}.blog-prose .bp-ol{counter-reset:bp-ol}.blog-prose .bp-ol>.bp-li{counter-increment:bp-ol}.blog-prose .bp-ol>.bp-li:before{content:counter(bp-ol);position:absolute;left:0;top:.15em;display:grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--bp-cocoa-soft);color:var(--bp-cocoa);font-size:.68rem;font-weight:var(--font-weight-bold);line-height:1}.blog-prose .bp-task{margin:0 0 1.25rem;padding:0;list-style:none}.blog-prose .bp-task-item{display:flex;align-items:flex-start;gap:.65rem;padding:.45rem 0;color:var(--bp-muted)}.blog-prose .bp-task-item+.bp-task-item{border-top:1px solid color-mix(in srgb,var(--bp-border) 70%,transparent)}.blog-prose .bp-task-check{flex:0 0 1rem;width:1rem;height:1rem;margin-top:.45em;border:1.5px solid color-mix(in srgb,var(--bp-cocoa) 45%,var(--bp-border));border-radius:.25rem;background:#fff}.blog-prose .bp-task-item--done .bp-task-check{border-color:var(--bp-cocoa);background:var(--bp-cocoa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M4.5 8.2 2.2 5.9l-.9.9 3.2 3.2 6.4-6.4-.9-.9z'/%3E%3C/svg%3E") center / .6rem no-repeat}.blog-prose .bp-task-item--done .bp-task-text{color:var(--bp-muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--bp-muted) 50%,transparent)}.blog-prose .bp-hr{margin:2rem auto;border:0;height:1px;max-width:12rem;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--bp-cocoa) 45%,transparent) 20%,color-mix(in srgb,var(--bp-cocoa) 45%,transparent) 80%,transparent)}.blog-prose .bp-figure{margin:1.75rem 0;border-radius:var(--bp-radius);overflow:hidden;background:var(--color-bg-subtle);box-shadow:0 .5rem 1.25rem -.75rem #3e27232e}.blog-prose .bp-figure img{display:block;width:100%;height:auto}.blog-prose .bp-figcaption{padding:.65rem .9rem;border-top:1px solid var(--bp-border);background:#fff;color:var(--bp-muted);font-size:.78rem;line-height:1.6;letter-spacing:.02em}.blog-prose .bp-figure--wide{margin-inline:clamp(-.5rem,-2vw,-1.25rem)}.blog-prose .bp-table-wrap{margin:1.5rem 0;overflow-x:auto;border:1px solid var(--bp-border);border-radius:var(--bp-radius);-webkit-overflow-scrolling:touch}.blog-prose .bp-table{width:100%;min-width:20rem;border-collapse:collapse;font-size:.88rem;line-height:1.6}.blog-prose .bp-table th,.blog-prose .bp-table td{padding:.65rem .85rem;border-bottom:1px solid var(--bp-border);text-align:left;vertical-align:top}.blog-prose .bp-table th{background:color-mix(in srgb,var(--bp-cocoa) 6%,#fff);color:var(--color-text);font-size:.75rem;font-weight:var(--font-weight-bold);letter-spacing:.06em;white-space:nowrap}.blog-prose .bp-table tbody tr:last-child td{border-bottom:0}.blog-prose .bp-table tbody tr:hover td{background:color-mix(in srgb,var(--bp-cocoa) 3%,#fff)}.blog-prose .bp-dl{margin:1.5rem 0;padding:0}.blog-prose .bp-dt{margin:0 0 .35rem;color:var(--color-text);font-weight:var(--font-weight-bold);font-size:.92rem}.blog-prose .bp-dd{margin:0 0 1.1rem;padding:0 0 1.1rem .85rem;border-left:2px solid var(--bp-border);color:var(--bp-muted)}.blog-prose .bp-dd:last-child{margin-bottom:0;padding-bottom:0}.blog-prose .bp-dd .bp-p:last-child{margin-bottom:0}.blog-prose .bp-details{margin:1.25rem 0;border:1px solid var(--bp-border);border-radius:var(--bp-radius);background:#fff;overflow:hidden}.blog-prose .bp-details-summary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;color:var(--color-text);font-size:.88rem;font-weight:var(--font-weight-medium);cursor:pointer;list-style:none;transition:background .2s var(--ease-out)}.blog-prose .bp-details-summary::-webkit-details-marker{display:none}.blog-prose .bp-details-summary:before{content:"+";flex:0 0 auto;color:var(--bp-cocoa);font-family:var(--bp-mono);font-size:.85rem;font-weight:var(--font-weight-bold);transition:transform .2s var(--ease-out)}.blog-prose .bp-details[open] .bp-details-summary:before{transform:rotate(45deg)}.blog-prose .bp-details-summary:hover,.blog-prose .bp-details-summary:focus-visible{background:var(--bp-cocoa-soft)}.blog-prose .bp-details-body{padding:0 1rem 1rem;border-top:1px solid var(--bp-border)}.blog-prose .bp-details-body>:first-child{margin-top:.85rem}.blog-prose .bp-callout{margin:1.5rem 0;padding:.9rem 1rem .95rem;border-radius:var(--bp-radius);border:1px solid var(--bp-border);border-left-width:3px}.blog-prose .bp-callout-label{margin:0 0 .5rem;font-family:var(--bp-mono);font-size:.68rem;font-weight:var(--font-weight-bold);letter-spacing:.14em;text-transform:uppercase}.blog-prose .bp-callout-body .bp-p{margin-bottom:.65rem;font-size:.92rem;line-height:1.85}.blog-prose .bp-callout-body .bp-p:last-child{margin-bottom:0}.blog-prose .bp-callout--note{border-left-color:var(--color-accent-sky);background:color-mix(in srgb,var(--color-accent-sky) 8%,#fff)}.blog-prose .bp-callout--note .bp-callout-label{color:var(--color-accent-navy)}.blog-prose .bp-callout--tip{border-left-color:var(--color-accent-mint);background:color-mix(in srgb,var(--color-accent-mint) 8%,#fff)}.blog-prose .bp-callout--tip .bp-callout-label{color:color-mix(in srgb,var(--color-accent-mint) 70%,#1a4a3a)}.blog-prose .bp-callout--important{border-left-color:var(--bp-cocoa);background:var(--bp-cocoa-soft)}.blog-prose .bp-callout--important .bp-callout-label{color:var(--bp-cocoa)}.blog-prose .bp-callout--caution{border-left-color:var(--color-accent-pink);background:color-mix(in srgb,var(--color-accent-pink) 8%,#fff)}.blog-prose .bp-callout--caution .bp-callout-label{color:color-mix(in srgb,var(--color-accent-pink) 75%,#5a1a30)}@media(max-width:640px){.blog-prose .bp-figure--wide{margin-inline:0}.blog-prose .bp-heading--h2:before{flex-basis:1.25rem}}
