body[data-dads-page="blog-post"] .dads-page{width:min(100%,80rem);max-width:80rem;margin:0 auto;padding:2rem 1rem}[data-dads-layout="post"]{display:block}[data-dads-role="aside"]{display:none}[data-dads-role="aside"]>.dads-stack{display:flex;flex-direction:column;gap:1rem}.language-button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.language-button.is-disabled{opacity:0.5;cursor:default;pointer-events:none}[data-mobile-toc-trigger]{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:12;display:none;width:auto;max-width:none;box-shadow:var(--shadow-sm)}[data-mobile-toc-trigger].dads-button{width:auto;max-width:none;min-width:0}[data-mobile-toc-backdrop]{position:fixed;inset:0;z-index:13;display:none;background:rgba(20,32,51,0.65)}[data-mobile-toc-panel]{position:fixed;inset:auto 0 0 0;z-index:14;display:none;max-height:min(75vh,42rem);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);box-shadow:0 -14px 34px rgba(20,32,51,0.18)}[data-mobile-toc-panel].is-open,[data-mobile-toc-backdrop].is-open{display:block}[data-mobile-toc-header]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:0.75rem}[data-mobile-toc-body]{overflow-y:auto;max-height:calc(min(75vh,42rem) - 4.5rem);padding-right:0.25rem}[data-mobile-toc-header] .dads-button{width:auto;min-width:0}[data-dads-role="main"]{min-width:0;max-width:56rem;margin:0 auto}[data-dads-role="main"]>* + *{margin-top:1rem}[data-dads-meta]{color:var(--color-text-muted);font-size:0.875rem}[data-dads-content]{line-height:1.8;color:var(--color-text)}[data-dads-content] h2{font-size:1.5rem;font-weight:700;margin-top:2rem;margin-bottom:1rem}[data-dads-content] h3{font-size:1.25rem;font-weight:600;margin-top:1.5rem;margin-bottom:0.75rem}[data-dads-content] h2[id],[data-dads-content] h3[id],[data-dads-content] h4[id]{scroll-margin-top:6rem}[data-dads-content] p{margin-bottom:1rem}[data-dads-content] table{width:100%;margin-bottom:1.5rem;border-collapse:collapse;border:1px solid var(--color-border)}[data-dads-content] th,[data-dads-content] td{padding:0.75rem 0.875rem;border:1px solid var(--color-border);vertical-align:top;text-align:left}[data-dads-content] thead th{background:var(--color-surface);font-weight:700}[data-dads-content] code{background:var(--color-surface);padding:0.125rem 0.375rem;border-radius:0.25rem;font-size:0.875em}[data-dads-content] .code-copy-block{position:relative;display:grid;gap:0.5rem;min-width:0;max-width:100%;margin-bottom:1rem}[data-dads-content] .code-copy-block>.highlighter-rouge,[data-dads-content] .code-copy-block>pre,[data-dads-content] .code-copy-block>.mermaid,[data-dads-content] .code-copy-block>.mermaid-render-target,[data-dads-content] .code-copy-block>.mermaid-figure{min-width:0;max-width:100%;margin-bottom:0}[data-dads-content] .highlighter-rouge{background:#0f172a;color:#f8fafc;border:1px solid #1e293b;border-radius:0.5rem;overflow:hidden;margin-bottom:1rem}[data-dads-content] .highlighter-rouge>.highlight{background:transparent;margin:0}[data-dads-content] pre{background:#0f172a;color:#f8fafc;border:1px solid #1e293b;padding:1rem;border-radius:0.5rem;overflow-x:auto;margin-bottom:1rem}[data-dads-content] .highlighter-rouge pre{background:#0f172a;border:0;border-radius:0;margin-bottom:0}[data-dads-content] .highlighter-rouge pre.highlight{background:#0f172a}[data-dads-content] .code-copy-block pre{margin-bottom:0}[data-dads-content] pre code{background:transparent;color:inherit;padding:0}[data-dads-content] .highlight .c,[data-dads-content] .highlight .cm,[data-dads-content] .highlight .c1{color:#94a3b8}[data-dads-content] .highlight .k,[data-dads-content] .highlight .kd,[data-dads-content] .highlight .kn,[data-dads-content] .highlight .nt{color:#93c5fd}[data-dads-content] .highlight .s,[data-dads-content] .highlight .s1,[data-dads-content] .highlight .s2{color:#bbf7d0}[data-dads-content] .highlight .mi,[data-dads-content] .highlight .mf,[data-dads-content] .highlight .nb{color:#fcd34d}[data-dads-content] .table-copy-block{display:grid;gap:0.5rem;min-width:0;max-width:100%;margin-bottom:1.5rem}[data-dads-content] .table-copy-scroll{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:0.5rem}[data-dads-content] .table-copy-scroll table{width:max-content;min-width:100%;max-width:none;margin-bottom:0;border:0}[data-dads-content] .table-copy-scroll th,[data-dads-content] .table-copy-scroll td{min-width:8rem}[data-dads-content] .table-copy-block .code-copy-button-group{position:static;order:-1;z-index:1;display:flex;flex-wrap:wrap;justify-content:flex-end;justify-self:end;gap:0.5rem;width:auto;max-width:100%}.table-fullscreen-overlay{position:fixed;inset:0;z-index:1300;background:#ffffff}html.table-fullscreen-open,html.table-fullscreen-open body{overflow:hidden}.table-fullscreen-frame{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column}.table-fullscreen-overlay.is-rotated .table-fullscreen-frame{width:100vh;height:100vw;width:100dvh;height:100dvw;transform:rotate(90deg) translateY(-100%);transform-origin:top left}.table-fullscreen-header{display:flex;align-items:center;justify-content:flex-end;gap:0.5rem;padding:0.5rem 0.75rem;padding-right:calc(0.75rem + env(safe-area-inset-right));border-bottom:1px solid var(--color-border);background:var(--color-surface);flex:none}.table-fullscreen-scroll{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:1rem}.table-fullscreen-scroll table{width:max-content;min-width:100%;max-width:none;border-collapse:collapse;border:1px solid var(--color-border)}.table-fullscreen-scroll th,.table-fullscreen-scroll td{padding:0.75rem 0.875rem;border:1px solid var(--color-border);vertical-align:top;text-align:left;min-width:8rem}.table-fullscreen-scroll thead th{background:var(--color-surface);font-weight:700}.table-fullscreen-scroll code{background:var(--color-surface);padding:0.125rem 0.375rem;border-radius:0.25rem;font-size:0.875em}.table-fullscreen-overlay .code-copy-button{display:inline-flex;align-items:center;gap:0.4rem;width:auto;min-height:2.5rem;min-width:0;font-size:0.875rem}.table-fullscreen-overlay .code-copy-button-icon{display:inline-flex;align-items:center;justify-content:center}.table-fullscreen-overlay .code-copy-button-icon svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.table-fullscreen-overlay .code-copy-button-label{white-space:nowrap}[data-dads-content] .code-copy-block-mermaid>.mermaid-render-target,[data-dads-content] .code-copy-block-mermaid>.mermaid-figure{background:var(--color-surface);border-radius:0.5rem;padding:1rem;width:100%;max-width:100%;overflow-x:auto}[data-dads-content] .mermaid,[data-dads-content] .mermaid-render-target,[data-dads-content] .mermaid-figure{margin-bottom:1rem;overflow-x:auto}[data-dads-content] .mermaid svg,[data-dads-content] .mermaid-render-target svg,[data-dads-content] .mermaid-figure svg{display:block;max-width:100%;height:auto;margin:0 auto;-webkit-user-select:none;user-select:none}[data-dads-content] .code-copy-button{position:static;order:-1;z-index:1;display:inline-flex;align-items:center;justify-self:end;gap:0.4rem;width:auto;max-width:100%;min-width:0;min-height:2.5rem;border:1px solid var(--color-border);border-radius:0.5rem;background:rgba(255,255,255,0.92);color:var(--color-text);box-shadow:var(--shadow-sm);padding:0.5rem 0.75rem;font:inherit;font-size:0.8rem;font-weight:700;line-height:1.3;cursor:pointer;transition:background-color 0.2s ease,border-color 0.2s ease,color 0.2s ease,transform 0.2s ease}[data-dads-content] .code-copy-button:hover,[data-dads-content] .code-copy-button:focus-visible{background:#ffffff;border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-1px);outline:none}[data-dads-content] .code-copy-button[data-state="copied"]{border-color:#15803d;color:#15803d}[data-dads-content] .code-copy-button[data-state="failed"]{border-color:#b91c1c;color:#b91c1c}[data-dads-content] .code-copy-button-icon{display:inline-flex;align-items:center;justify-content:center}[data-dads-content] .code-copy-button-icon svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}[data-dads-content] .code-copy-button-label{white-space:nowrap}[data-dads-content] .code-copy-block-mermaid .code-copy-button-group{position:static;order:-1;z-index:1;display:flex;flex-wrap:wrap;justify-content:flex-end;justify-self:end;gap:0.5rem;width:auto;max-width:100%}[data-dads-content] .code-copy-block-mermaid .code-copy-button{position:static}[data-dads-content] .diagram-fullscreen-button{display:none}@media (min-width:1100px){[data-dads-content] .diagram-fullscreen-button{display:inline-flex}[data-dads-content] [data-mermaid-prerendered]{cursor:zoom-in}}.mermaid-fullscreen-overlay{position:fixed;inset:0;z-index:15;display:block;background:rgba(20,32,51,0.75);padding:1.5rem}.mermaid-fullscreen-overlay[hidden]{display:none}.mermaid-fullscreen-dialog{display:flex;flex-direction:column;gap:0.75rem;width:100%;height:100%}.mermaid-fullscreen-toolbar{display:flex;justify-content:flex-end;gap:0.5rem}.mermaid-fullscreen-button{display:inline-flex;align-items:center;gap:0.4rem;width:auto;min-height:2.5rem;border:1px solid var(--color-border);border-radius:0.5rem;background:rgba(255,255,255,0.92);color:var(--color-text);box-shadow:var(--shadow-sm);padding:0.5rem 0.75rem;font:inherit;font-size:0.8rem;font-weight:700;line-height:1.3;cursor:pointer}.mermaid-fullscreen-button:hover:not([disabled]),.mermaid-fullscreen-button:focus-visible{background:#ffffff;border-color:var(--color-accent);color:var(--color-accent)}.mermaid-fullscreen-button[disabled]{opacity:0.5;cursor:default}.mermaid-fullscreen-button .code-copy-button-icon svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.mermaid-fullscreen-content{flex:1;min-height:0;display:flex;background:#ffffff;border-radius:0.5rem;padding:1.5rem;overflow:auto;overscroll-behavior:contain;cursor:zoom-in}.mermaid-fullscreen-content.is-panning{cursor:grabbing !important;user-select:none}.mermaid-fullscreen-content svg{flex:none;margin:auto;width:100%;height:100%;max-width:none;max-height:none;-webkit-user-select:none;user-select:none}body.diagram-fullscreen-open{overflow:hidden}[data-dads-content] ul,[data-dads-content] ol{margin-bottom:1rem;padding-left:1.5rem}[data-dads-content] li{margin-bottom:0.5rem}[data-dads-content] .toc-link{color:inherit;text-decoration:none}[data-dads-content] .toc-link:hover,[data-dads-content] .toc-link:focus-visible{color:var(--color-accent-light);text-decoration:underline}.sidebar-toc{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:var(--shadow-sm);padding:1rem;max-height:min(32rem,calc(100vh - 24rem));overflow-y:auto}.sidebar-toc-title{margin:0 0 0.875rem 0;font-size:0.9rem;font-weight:700;color:var(--color-text-muted);letter-spacing:0.02em}.sidebar-toc-list,.sidebar-toc-list ol,.sidebar-toc-list ul{list-style:none;margin:0;padding:0}.sidebar-toc-list ol,.sidebar-toc-list ul{margin-top:0.25rem;padding-left:0.875rem;border-left:1px solid var(--color-border)}.sidebar-toc-list li{margin-bottom:0.25rem}.sidebar-toc-list a{display:block;padding:0.2rem 0;color:var(--color-text-muted);text-decoration:none;line-height:1.5;font-size:0.92rem}.sidebar-toc-list a:hover,.sidebar-toc-list a:focus-visible{color:var(--color-accent-light);text-decoration:underline}body[data-dads-page="blog-post"] .dads-card-grid>.dads-card{padding:0}body[data-dads-page="blog-post"] .dads-card__main img{max-width:100%;height:auto}body[data-dads-page="blog-post"] [data-dads-consult]{margin-top:1rem}[data-dads-meta] a{color:inherit;text-decoration:none}[data-dads-meta] a:hover,[data-dads-meta] a:focus-visible{color:var(--color-accent-light);text-decoration:underline}body.toc-drawer-open{overflow:hidden}@media (max-width:1099px){[data-mobile-toc-trigger].is-visible{display:inline-flex}}@media (min-width:1100px){[data-dads-layout="post"]{display:grid;grid-template-columns:minmax(18rem,22rem) minmax(0,56rem);gap:2rem;align-items:start;justify-content:center}[data-dads-role="aside"]{display:block;position:sticky;top:5.5rem;grid-column:1;grid-row:1}[data-dads-role="main"]{margin:0;grid-column:2;grid-row:1}[data-dads-role="main"]>[data-dads-consult]{display:none}body[data-dads-page="blog-post"] .dads-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}[data-dads-revision-history] .dads-card__main,[data-dads-citation] .dads-card__main{row-gap:0;padding-block:0.875rem}[data-dads-revision-history-details]>summary,[data-dads-citation-details]>summary{display:flex;align-items:center;gap:0.5rem;cursor:pointer;font-size:1rem;list-style:none}[data-dads-revision-history-details]>summary::-webkit-details-marker,[data-dads-citation-details]>summary::-webkit-details-marker{display:none}[data-dads-revision-history-details]>summary::after,[data-dads-citation-details]>summary::after{content:"\25BE";margin-inline-start:auto;font-size:0.875rem;line-height:1;transition:transform 0.15s ease}[data-dads-revision-history-details][open]>summary::after,[data-dads-citation-details][open]>summary::after{transform:rotate(180deg)}[data-dads-revision-history-details]>summary:focus-visible,[data-dads-citation-details]>summary:focus-visible{outline:0.25rem solid var(--color-neutral-black);outline-offset:0.125rem}[data-dads-revision-history-details]>.dads-card__body,[data-dads-revision-history-details]>.dads-description-list,[data-dads-citation-details]>.dads-card__body,[data-dads-citation-details]>.dads-description-list{margin-top:0.75rem}[data-dads-revision-history] [data-dads-revision-archive]{display:inline-block}@media (prefers-reduced-motion:reduce){[data-dads-revision-history-details]>summary::after,[data-dads-citation-details]>summary::after{transition:none}}[data-dads-citation] [data-dads-citation-text]{padding:0.75rem 1rem;border:1px solid var(--color-neutral-solid-gray-420);border-radius:0.5rem;background:var(--color-neutral-solid-gray-50);font-size:0.9375rem;overflow-wrap:anywhere;user-select:all}[data-dads-citation-doi]{font-size:0.875rem;font-weight:400;color:var(--color-neutral-solid-gray-800);overflow-wrap:anywhere}[data-dads-citation] [data-dads-citation-copy]{margin-top:0.75rem}[data-dads-citation] .code-copy-button{gap:0.4rem;min-height:2.75rem;min-width:0;font-size:0.875rem}[data-dads-citation] .code-copy-button-icon{display:inline-flex;align-items:center;justify-content:center}[data-dads-citation] .code-copy-button-icon svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}[data-dads-citation] .code-copy-button-label{white-space:nowrap}[data-dads-citation] .code-copy-button[data-state="copied"]{border-color:#15803d;color:#15803d}[data-dads-citation] .code-copy-button[data-state="failed"]{border-color:#b91c1c;color:#b91c1c}@media print{body[data-dads-page="blog-post"]{background:#fff}body[data-dads-page="blog-post"] .site-header,body[data-dads-page="blog-post"] .site-footer,[data-dads-role="aside"],[data-mobile-toc-trigger],[data-mobile-toc-backdrop],[data-mobile-toc-panel],.mermaid-fullscreen-overlay,[data-dads-consult],[data-dads-service-links],section[aria-labelledby="dads-related-posts-title"],section[aria-labelledby="dads-topic-links-title"],section[aria-labelledby="dads-case-study-links-title"],[data-dads-return],body[data-dads-page="blog-post"] .dads-button,body[data-dads-page="blog-post"] .dads-button-group,[data-dads-content] .code-copy-button,[data-dads-content] .code-copy-button-group,[data-dads-content] .diagram-fullscreen-button,[data-dads-citation] [data-dads-citation-copy]{display:none !important}body[data-dads-page="blog-post"] .dads-page{width:100%;max-width:none;padding:0}body[data-dads-page="blog-post"] .dads-card{border:0;border-radius:0;background:transparent;box-shadow:none}body[data-dads-page="blog-post"] .dads-card__main{padding:0}body[data-dads-page="blog-post"] .dads-grid,body[data-dads-page="blog-post"] .dads-stack,body[data-dads-page="blog-post"] .dads-card,body[data-dads-page="blog-post"] .dads-card__main,body[data-dads-page="blog-post"] .dads-description-list,[data-dads-content] .code-copy-block,[data-dads-content] .table-copy-block{display:block}body[data-dads-page="blog-post"] .dads-card__main>* + *{margin-top:0.75rem}[data-dads-role="main"]{max-width:none;margin:0}[data-dads-content] pre,[data-dads-content] .highlighter-rouge,[data-dads-content] .highlighter-rouge>.highlight,[data-dads-content] .highlighter-rouge pre,[data-dads-content] .highlighter-rouge pre.highlight{background:#fff;color:#000;border-color:#767676}[data-dads-content] .highlighter-rouge{border:1px solid #767676}[data-dads-content] .highlighter-rouge pre{border:0}[data-dads-content] pre{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:visible}[data-dads-content] .highlight span{color:inherit !important;background:transparent !important}[data-dads-content] code{background:transparent;padding:0}[data-dads-content] .table-copy-scroll{overflow-x:visible;border:0;border-radius:0}[data-dads-content] .table-copy-scroll table{width:100%;min-width:0;border:1px solid #767676}[data-dads-content] .table-copy-scroll th,[data-dads-content] .table-copy-scroll td{min-width:0}[data-dads-content] .code-copy-block-mermaid>.mermaid-render-target,[data-dads-content] .code-copy-block-mermaid>.mermaid-figure{background:transparent;padding:0;overflow-x:visible}[data-dads-content] h2,[data-dads-content] h3,[data-dads-content] h4{break-after:avoid}[data-dads-content] pre,[data-dads-content] .code-copy-block,[data-dads-content] .mermaid,[data-dads-content] .mermaid-render-target,[data-dads-content] .mermaid-figure,[data-dads-content] img,[data-dads-content] figure{break-inside:avoid}[data-dads-content] tr{break-inside:avoid}[data-dads-content] a{color:inherit;text-decoration:underline}[data-dads-content] a[href^="http"]:not([href^="https://comcomponent.com"]):not([href^="https://staging.comcomponent.com"]):not([data-print-href-visible])::after{content:" (" attr(href) ")";font-size:0.8em;color:#333;overflow-wrap:anywhere;direction:ltr;unicode-bidi:isolate}}