.cp-root{background:#1e1e2e;border:1px solid #0000001a;border-radius:12px;margin:1.5rem 0;overflow:hidden}.cp-toolbar{background:#181825;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.cp-lang{font-family:var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:#6c7086;font-size:.65rem;font-weight:600}.cp-toolbar__actions{gap:.4rem;display:flex}.cp-btn{font-family:var(--font-mono), monospace;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.68rem;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.cp-btn--run{color:#a6e3a1;background:#a6e3a126}.cp-btn--run:hover{background:#a6e3a140}.cp-btn--run:disabled{opacity:.5;cursor:wait}.cp-btn--reset{color:#f38ba8;background:#f38ba81a}.cp-btn--reset:hover{background:#f38ba833}.cp-editor{position:relative}.cp-textarea{color:#cdd6f4;width:100%;font-family:var(--font-mono), "SF Mono", Menlo, monospace;resize:vertical;tab-size:2;background:#1e1e2e;border:none;outline:none;min-height:60px;padding:1rem 1.25rem;font-size:.82rem;line-height:1.7}.cp-textarea::selection{background:#89b4fa40}.cp-output{border-top:1px solid #ffffff0f}.cp-output__header{font-family:var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:#585b70;background:#11111b;justify-content:space-between;align-items:center;padding:.35rem .75rem;font-size:.62rem;font-weight:600;display:flex}.cp-output__close{font-family:inherit;font-size:inherit;color:#585b70;cursor:pointer;background:0 0;border:none;padding:0}.cp-output__close:hover{color:#a6adc8}.cp-output__body{font-family:var(--font-mono), monospace;background:#11111b;max-height:200px;padding:.6rem 1rem;font-size:.78rem;line-height:1.6;overflow-y:auto}.cp-output__empty{color:#45475a;font-style:italic}.cp-output__line--log{color:#cdd6f4}.cp-output__line--error{color:#f38ba8}.cp-output__line--result{color:#a6e3a1;font-weight:500}.cp-static{color:#cdd6f4;font-family:var(--font-mono), "SF Mono", Menlo, monospace;white-space:pre;background:#1e1e2e;margin:0;padding:1rem 1.25rem;font-size:.82rem;line-height:1.7;overflow-x:auto}.cp-static code{font-family:inherit;font-size:inherit}.cp-hint{font-family:var(--font-mono), monospace;color:#45475a;letter-spacing:.03em;background:#181825;border-top:1px solid #ffffff0a;padding:.3rem .75rem;font-size:.58rem}
.blog-article-body{max-width:42rem;margin-top:2rem}.blog-article-body .blog-h2{letter-spacing:-.02em;color:var(--blog-heading,#18181b);font-size:1.35rem;font-weight:600}.dark .blog-article-body .blog-h2,:is(.dark *) .blog-article-body .blog-h2{color:#fafafa}.blog-article-body .blog-h3{color:var(--blog-heading,#18181b);font-size:1.15rem;font-weight:600}.dark .blog-article-body .blog-h3,:is(.dark *) .blog-article-body .blog-h3{color:#fafafa}.blog-article-body .blog-h4{color:var(--blog-heading,#27272a);font-size:1.05rem;font-weight:600}.dark .blog-article-body .blog-h4,:is(.dark *) .blog-article-body .blog-h4{color:#e4e4e7}.blog-article-body .blog-h5{color:var(--blog-heading,#3f3f46)}.dark .blog-article-body .blog-h5,:is(.dark *) .blog-article-body .blog-h5{color:#d4d4d8}.blog-article-body .blog-p{color:var(--blog-text,#3f3f46);margin-top:1rem;line-height:1.75}.dark .blog-article-body .blog-p,:is(.dark *) .blog-article-body .blog-p{color:#a1a1aa}.blog-article-body .blog-ul,.blog-article-body .blog-ol{color:var(--blog-text,#3f3f46);margin-top:1rem;padding-left:1.35rem}.dark .blog-article-body .blog-ul,.dark .blog-article-body .blog-ol,:is(.dark *) .blog-article-body .blog-ul,:is(.dark *) .blog-article-body .blog-ol{color:#a1a1aa}.blog-article-body .blog-li{margin-top:.4rem;line-height:1.65}.blog-article-body .blog-blockquote{color:#52525b;border-left:3px solid #dc262673;margin-top:1.25rem;padding-left:1rem;font-style:italic}.dark .blog-article-body .blog-blockquote,:is(.dark *) .blog-article-body .blog-blockquote{color:#a1a1aa}.blog-article-body .blog-a{color:#b91c1c;text-underline-offset:3px;text-decoration:underline}.dark .blog-article-body .blog-a,:is(.dark *) .blog-article-body .blog-a{color:#f87171}.blog-article-body .blog-figure{margin:1.75rem 0;display:block}.blog-article-body .blog-img{object-fit:contain;background:#00000008;border:1px solid #00000014;border-radius:.75rem;width:100%;height:auto;max-height:min(70vh,560px)}.dark .blog-article-body .blog-img,:is(.dark *) .blog-article-body .blog-img{background:#ffffff08;border-color:#ffffff1a}.blog-article-body .blog-caption{color:#71717a;text-align:center;margin-top:.5rem;font-size:.8rem;display:block}.blog-article-body .blog-code-inline{font-size:.88em;font-family:var(--font-mono), ui-monospace, monospace;background:#0000000f;border-radius:.25rem;padding:.15rem .4rem}.dark .blog-article-body .blog-code-inline,:is(.dark *) .blog-article-body .blog-code-inline{background:#ffffff14}.blog-article-body .blog-pre{background:#f4f4f5;border:1px solid #00000014;border-radius:.75rem;margin-top:1.25rem;padding:1rem 1.15rem;font-size:.85rem;line-height:1.55;overflow-x:auto}.dark .blog-article-body .blog-pre,:is(.dark *) .blog-article-body .blog-pre{background:#18181b;border-color:#ffffff1a}.blog-article-body .blog-pre code{font-family:var(--font-mono), ui-monospace, monospace;background:0 0;padding:0}.blog-article-body .blog-hr{border:0;border-top:1px solid #0000001a;margin:2.5rem 0}.dark .blog-article-body .blog-hr,:is(.dark *) .blog-article-body .blog-hr{border-top-color:#ffffff1a}.blog-article-body .blog-table-wrap{margin-top:1.25rem;overflow-x:auto}.blog-article-body .blog-table{border-collapse:collapse;width:100%;font-size:.9rem}.blog-article-body .blog-table th,.blog-article-body .blog-table td{text-align:left;border:1px solid #0000001a;padding:.5rem .75rem}.dark .blog-article-body .blog-table th,.dark .blog-article-body .blog-table td,:is(.dark *) .blog-article-body .blog-table th,:is(.dark *) .blog-article-body .blog-table td{border-color:#ffffff1f}.blog-article-body .blog-table th{background:#0000000a}.dark .blog-article-body .blog-table th,:is(.dark *) .blog-article-body .blog-table th{background:#ffffff0f}
