@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap";
@font-face{font-family:Rawlinson Cond;src:url(/fonts/RawlinsonCond.woff2)format("woff2"),url(/fonts/RawlinsonCond.woff)format("woff");font-display:swap;font-weight:400;font-style:normal}.themes-page{letter-spacing:normal;background:var(--t-page-bg);min-height:100vh;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}[data-theme]{--t-page-bg:#fff;--t-hero-bg:#fff;--t-hero-border:#e5e5e5;--t-heading:#000;--t-text:#404040;--t-muted:#a3a3a3;--t-accent:#171717;--t-link:#171717;--t-link-decoration:#a3a3a3;--t-strong:#171717;--t-content-width:680px;--t-body-size:1rem;--t-body-lh:1.7;--t-h2-size:1.375rem;--t-h3-size:1.125rem;--t-h4-size:1rem;--t-pre-bg:#fafafa;--t-pre-border:#e5e5e5;--t-pre-text:#404040;--t-pre-radius:8px;--t-inline-code-bg:#f5f5f5;--t-inline-code-text:#171717;--t-border:#e5e5e5;--t-border-light:#f5f5f5;--t-bq-border:#e5e5e5;--t-bq-text:#737373;--t-th-color:#737373;--t-td-color:#404040;--t-footer-bg:transparent;--t-footer-link:#a3a3a3;--t-footer-link-hover:#171717}.page-bg{background:var(--t-page-bg);min-height:calc(100vh - 80px);transition:background-color .4s}.hero-region{background:var(--t-hero-bg);border-bottom:1px solid var(--t-hero-border);padding:3.5rem 2rem 3rem;transition:background .4s,border-color .4s}.hero-inner{max-width:var(--t-content-width);margin:0 auto}.article-tag{text-transform:uppercase;letter-spacing:.1em;color:var(--t-accent);margin-bottom:1.25rem;font-size:.6875rem;font-weight:600;transition:color .4s}[data-theme] h1{letter-spacing:-.02em;color:var(--t-heading);font-size:max(2.5rem,min(6vw,4rem));font-weight:800;line-height:1;font-family:var(--t-heading-font,"Inter",-apple-system,BlinkMacSystemFont,sans-serif);margin:0 0 1.25rem;transition:color .4s}.article-lede{color:var(--t-muted);font-size:1.1875rem;line-height:1.6;font-family:var(--t-body-font,"Source Serif 4",Georgia,serif);margin:0 0 1.75rem;transition:color .4s}.article-meta{color:var(--t-muted);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.8125rem;transition:color .4s;display:flex}.meta-date,.meta-read-time{align-items:center;gap:.3rem;display:inline-flex}.meta-date svg,.meta-read-time svg{flex-shrink:0}.meta-separator{color:var(--t-border)}.article-author{align-items:center;gap:.75rem;display:flex}.author-avatar{background:var(--t-heading);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:.75rem;font-weight:600;transition:background .4s;display:flex}.author-info{flex-direction:column;display:flex}.author-name{color:var(--t-heading);font-size:.9375rem;font-weight:600;transition:color .4s}.author-role{color:var(--t-muted);font-size:.8125rem;transition:color .4s}.article-tags{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.tag-pill{color:var(--t-muted);background:var(--t-border-light,rgba(0,0,0,.03));border:1px solid var(--t-border,rgba(0,0,0,.08));border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:inline-block}.tag-pill:hover{color:var(--t-heading);border-color:var(--t-heading)}.hero-cover{width:100%;max-height:400px;transition:opacity .4s;overflow:hidden}.hero-cover img{object-fit:cover;width:100%;height:100%;display:block}.content-region{max-width:var(--t-content-width);margin:0 auto;padding:2.5rem 2rem 4rem;transition:max-width .4s}.article-body h2{font-size:var(--t-h2-size);font-weight:600;font-family:var(--t-heading-font,"Inter",-apple-system,BlinkMacSystemFont,sans-serif);color:var(--t-heading);margin:2.75rem 0 .75rem;line-height:1.25;transition:color .4s}.article-body h3{font-size:var(--t-h3-size);font-weight:600;font-family:var(--t-heading-font,"Inter",-apple-system,BlinkMacSystemFont,sans-serif);color:var(--t-heading);margin:2.25rem 0 .5rem;transition:color .4s}.article-body h4{font-size:var(--t-h4-size);font-weight:600;font-family:var(--t-heading-font,"Inter",-apple-system,BlinkMacSystemFont,sans-serif);color:var(--t-strong);margin:1.75rem 0 .375rem;transition:color .4s}.article-body p{font-size:var(--t-body-size);line-height:var(--t-body-lh);color:var(--t-text);font-family:var(--t-body-font,"Source Serif 4",Georgia,serif);margin:0 0 1.25rem;transition:color .4s}.article-body a{color:var(--t-link);text-decoration:underline;-webkit-text-decoration-color:var(--t-link-decoration);text-decoration-color:var(--t-link-decoration);text-underline-offset:3px;transition:-webkit-text-decoration-color .15s,text-decoration-color .15s,color .4s}.article-body a:hover{-webkit-text-decoration-color:var(--t-link);text-decoration-color:var(--t-link)}.article-body em{font-style:italic}.article-body strong{color:var(--t-strong);font-weight:600;transition:color .4s}.article-body ul{margin:0 0 1.25rem;padding-left:1.25rem;list-style:outside}.article-body ol{margin:0 0 1.25rem;padding-left:1.25rem;list-style:decimal}.article-body li{font-size:var(--t-body-size);line-height:var(--t-body-lh);color:var(--t-text);font-family:var(--t-body-font,"Source Serif 4",Georgia,serif);margin-bottom:.3rem;transition:color .4s}.article-body li ul,.article-body li ol{margin:.25rem 0 0}.article-body blockquote{border-left:2px solid var(--t-bq-border);margin:1.75rem 0;padding-left:1.25rem;transition:border-color .4s}.article-body blockquote p{color:var(--t-bq-text);font-style:italic;font-family:var(--t-body-font,"Source Serif 4",Georgia,serif);transition:color .4s}[data-theme] .code-block-wrapper{position:relative}.code-lang-tag{font-size:.7rem;font-family:var(--t-body-font,"Inter",sans-serif);text-transform:uppercase;letter-spacing:.04em;color:var(--t-muted,#888);background:var(--t-pre-bg,#fdf6e3);border-left:1px solid var(--t-pre-border,#eee8d5);border-bottom:1px solid var(--t-pre-border,#eee8d5);border-radius:0 var(--t-pre-radius,3px)0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.2rem .55rem;font-weight:600;position:absolute;top:0;right:0}.article-body pre{background-color:var(--t-pre-bg);border:1px solid var(--t-pre-border);border-radius:var(--t-pre-radius);margin:1.5rem 0;padding:1.25rem;transition:background-color .4s,border-color .4s;overflow-x:auto}.article-body code:not(pre code){background:var(--t-inline-code-bg);color:var(--t-inline-code-text);border:1px solid var(--t-inline-code-border,transparent);border-radius:4px;padding:.15em .4em;font-size:.875em;font-weight:500;transition:background .4s,color .4s,border-color .4s}.article-body pre code{color:var(--t-pre-text);background:0 0;border:none;padding:0;font-size:.875rem;line-height:1.6}[data-theme] code:not(pre code) span{color:inherit}.article-body hr{border:none;border-top:1px solid var(--t-border);margin:2.75rem 0;transition:border-color .4s}[data-theme] table{white-space:normal;max-width:100%;display:table}.article-body table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.875rem}.article-body th{text-align:left;color:var(--t-th-color);border-bottom:1px solid var(--t-border);text-transform:uppercase;letter-spacing:.04em;padding:.625rem .75rem;font-size:.75rem;font-weight:500}.article-body td{border-bottom:1px solid var(--t-border-light);color:var(--t-td-color);padding:.625rem .75rem}.article-body figure{margin:2rem 0}.article-body .wide-breakout{width:min(1000px,100vw - 2rem);margin:2.5rem 0;position:relative;left:50%;transform:translate(-50%)}.article-body figure img{border-radius:var(--t-pre-radius);border:1px solid var(--t-border);width:100%;transition:border-color .4s;display:block}.article-body figcaption{text-align:center;color:var(--t-muted);margin-top:.75rem;font-size:.8125rem}.content-with-toc{justify-content:center;gap:3rem;padding:0 2rem;display:flex}.content-with-toc .content-region{flex:0 1 var(--t-content-width);min-width:0;max-width:var(--t-content-width);margin:0;padding:2.5rem 0 4rem}.toc-sidebar{flex-shrink:0;align-self:flex-start;width:200px;max-height:calc(100vh - 48px);position:-webkit-sticky;position:sticky;top:24px;overflow-y:auto}.toc{opacity:1;visibility:visible;padding-top:3rem;transition:opacity .25s,visibility .25s}.toc.toc-hidden{opacity:0;visibility:hidden}.toc-label{text-transform:uppercase;letter-spacing:.08em;color:var(--t-muted);margin-bottom:.75rem;font-size:.6875rem;font-weight:600;transition:color .4s}.toc ul{border-left:1px solid var(--t-border);margin:0;padding:0;list-style:none}.toc li{margin:0}.toc a{color:var(--t-muted);border-left:2px solid transparent;margin-left:-1px;padding:.3rem 0 .3rem .875rem;font-size:.75rem;line-height:1.4;text-decoration:none;transition:color .15s,border-color .15s;display:block}.toc a:hover{color:var(--t-heading)}.toc a.toc-active{color:var(--t-accent);border-left-color:var(--t-accent);font-weight:500}.page-footer{border-top:1px solid var(--t-border);background:var(--t-footer-bg);padding:2.5rem 2rem;transition:background .4s,border-color .4s}.footer-inner{max-width:1100px;margin:0 auto}[data-theme=mascot]{--t-heading-font:"Rawlinson Cond",Georgia,serif;--t-body-font:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--t-page-bg:#fff;--t-hero-bg:#fff;--t-hero-border:transparent;--t-heading:#080808;--t-text:#000;--t-muted:#7d7e79;--t-accent:#ff8a3d;--t-link:#080808;--t-link-decoration:rgba(0,0,0,.2);--t-strong:#000;--t-content-width:700px;--t-body-size:17px;--t-body-lh:1.76;--t-h2-size:28px;--t-h3-size:22px;--t-h4-size:18px;--t-pre-bg:#fdf6e3;--t-pre-border:#eee8d5;--t-pre-text:#657b83;--t-pre-radius:3px;--t-inline-code-bg:rgba(255,138,61,.1);--t-inline-code-text:#c43e00;--t-inline-code-border:rgba(255,138,61,.35);--t-border:rgba(0,0,0,.08);--t-border-light:rgba(0,0,0,.04);--t-bq-border:#ff8a3d;--t-bq-text:#0f0f10;--t-th-color:#080808;--t-td-color:#0f0f10;--t-footer-bg:#fff;--t-footer-link:#7d7e79;--t-footer-link-hover:#080808;--t-quote-bubble-bg:rgba(0,0,0,.04);--sh-class:#d33682;--sh-identifier:#657b83;--sh-sign:#657b83;--sh-keyword:#859900;--sh-string:#2aa198;--sh-comment:#93a1a1;--sh-jsxliterals:#268bd2;--sh-property:#268bd2;--sh-entity:#268bd2}[data-theme=mascot] .hero-region{background:0 0;border-bottom:1px solid rgba(0,0,0,.08);padding:5.5rem 2rem 3rem}[data-theme=mascot] .hero-inner{max-width:calc(var(--t-content-width) + 200px + 3rem);margin:0 auto;margin-left:max(2rem,calc((100% - var(--t-content-width) - 200px - 3rem)/2 - 4rem));padding:0}[data-theme=mascot] h1{letter-spacing:-.6px;font-size:max(3.125rem,min(4.75vw,4.75rem));font-weight:400;line-height:1.01}[data-theme=mascot] .article-body h2{letter-spacing:-.3px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;line-height:1.25}[data-theme=mascot] .article-body h3{letter-spacing:-.2px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600}[data-theme=mascot] .article-body h4{letter-spacing:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600}[data-theme=mascot] .article-tag{color:#ff8a3d;font-weight:600}[data-theme=mascot] .article-meta{color:#7d7e79;margin-bottom:1.5rem;font-size:.8125rem}[data-theme=mascot] .meta-author{color:#080808;font-weight:500}[data-theme=mascot] .article-meta .author-avatar{background:#080808;border-radius:50%;width:28px;height:28px;font-size:.625rem}[data-theme=mascot] .tag-pill{color:#7d7e79;background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.1);border-radius:9999px;padding:.3rem .75rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;font-weight:500}[data-theme=mascot] .tag-pill:hover{color:#ff8a3d;background:rgba(255,138,61,.05);border-color:#ff8a3d}[data-theme=mascot] .article-body a{font-weight:500;-webkit-text-decoration:underline rgba(0,0,0,.2);text-decoration:underline rgba(0,0,0,.2)}[data-theme=mascot] .article-body a:hover{-webkit-text-decoration-color:#080808;text-decoration-color:#080808}[data-theme=mascot] .article-body blockquote{background:0 0;border-left-width:2px;border-left-color:#ff8a3d;border-radius:0;padding-left:1.25rem}[data-theme=mascot] .article-body blockquote p{color:#7d7e79;font-style:italic}[data-theme=mascot] .article-body .conversation-quote-text p{color:var(--t-text);font-style:normal;font-family:var(--t-body-font,"Inter",sans-serif)}[data-theme=mascot] .article-body .mq-text p{color:var(--mq-text,var(--t-text));font-style:normal;font-family:var(--t-body-font,"Inter",sans-serif)}.article-body .conversation-quote{max-width:85%;margin:2rem 0;position:relative;overflow:visible}.article-body .conversation-quote-bubble-row{align-items:flex-end;gap:.625rem;display:flex}.article-body .conversation-quote-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.article-body .conversation-quote-avatar-fallback{background:var(--t-heading);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-family:Inter,sans-serif;font-size:.5625rem;font-weight:600;display:flex}.article-body .conversation-quote-bubble{background:var(--t-quote-bubble-bg,rgba(0,0,0,.04));border:none;border-radius:18px 18px 18px 4px;margin:0;padding:.875rem 1.125rem;position:relative}.article-body blockquote.conversation-quote-text{border:none;margin:0;padding:0}.article-body .conversation-quote-text p{font-family:var(--t-body-font,"Inter",sans-serif);color:var(--t-text);margin:0;font-size:.9375rem;font-style:normal;line-height:1.55}.article-body .conversation-quote-tail{width:12px;height:16px;position:absolute;bottom:0;left:-6px;overflow:hidden}.article-body .conversation-quote-tail:before{content:"";background:var(--t-quote-bubble-bg,rgba(0,0,0,.04));border-bottom-right-radius:12px;width:12px;height:16px;position:absolute;bottom:0;right:0}.article-body .conversation-quote-meta{align-items:baseline;gap:.5rem;margin-top:.5rem;padding-left:2.625rem;display:flex}.article-body .conversation-quote-speaker{color:var(--t-heading);font-family:Inter,sans-serif;font-size:.75rem;font-weight:600}.article-body .conversation-quote-label{color:var(--t-muted);border:1px solid var(--t-border);text-transform:uppercase;letter-spacing:.06em;background:0 0;border-radius:2px;padding:.0625rem .375rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.5625rem;font-weight:500}.article-body .mq{max-width:85%;margin:2rem 0;position:relative;overflow:visible}.article-body .mq-row{align-items:flex-end;gap:.625rem;display:flex}.article-body .mq-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.article-body .mq-avatar-fallback{background:var(--mq-accent);color:#fff;opacity:.85;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-family:Inter,sans-serif;font-size:.5625rem;font-weight:600;display:flex}.article-body .mq-bubble{background:var(--mq-bg);border:1px solid var(--mq-border);border-radius:18px 18px 18px 4px;padding:.875rem 1.125rem;transition:background .2s,border-color .2s;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.03)}@keyframes mq-fade-in{0%{opacity:0}to{opacity:1}}.article-body .mq,.article-body .conversation-quote{animation:.4s ease-out both mq-fade-in}.article-body blockquote.mq-text{border:none;margin:0;padding:0}.article-body .mq-text p{font-family:var(--t-body-font,"Inter",sans-serif);color:var(--mq-text,var(--t-text));margin:0;font-size:.9375rem;font-style:normal;line-height:1.55}.article-body .mq-meta{align-items:baseline;gap:.5rem;margin-top:.5rem;padding-left:2.625rem;display:flex}.article-body .mq-speaker{color:var(--t-heading);font-family:Inter,sans-serif;font-size:.75rem;font-weight:600}.article-body .mq-label{color:var(--t-muted);border:1px solid var(--t-border);text-transform:uppercase;letter-spacing:.06em;background:0 0;border-radius:2px;padding:.0625rem .375rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.5625rem;font-weight:500}.article-body .mq--playful{--mq-bg:rgba(255,138,61,.08);--mq-border:rgba(255,138,61,.18);--mq-accent:#ff8a3d;--mq-text:#9a4f00;transform:rotate(-2deg)}.article-body .mq--playful .mq-bubble{border-radius:20px 20px 20px 4px;padding:1rem 1.25rem}.article-body .mq--playful .mq-text p{font-size:.9375rem}.article-body .mq--success{--mq-bg:rgba(52,199,89,.08);--mq-border:rgba(52,199,89,.18);--mq-accent:#30a14e;--mq-text:#1a7a33;max-width:92%}.article-body .mq--success .mq-bubble{border-radius:22px 22px 22px 5px;padding:1.125rem 1.375rem}.article-body .mq--success .mq-text p{font-size:1rem;line-height:1.6}.article-body .mq--caution{--mq-bg:rgba(255,59,48,.07);--mq-border:rgba(255,59,48,.15);--mq-accent:#e5484d;--mq-text:#b02020;max-width:80%;transform:rotate(1.5deg)}.article-body .mq--caution .mq-bubble{border-radius:14px 14px 14px 3px;padding:.75rem 1rem}.article-body .mq--caution .mq-text p{font-size:.875rem;font-weight:500}.article-body .quote-grid{grid-template-columns:1fr;gap:.75rem;margin:2.5rem 0;display:grid}.article-body .quote-grid .mq,.article-body .quote-grid .conversation-quote{max-width:100%;margin:0}.article-body .quote-grid .mq--playful{transform:rotate(-1deg)}.article-body .quote-grid .mq--caution{transform:rotate(1deg)}.dark .article-body .conversation-quote-bubble,.dark .article-body .conversation-quote-tail:before{background:rgba(255,255,255,.12)}.dark .article-body .mq--playful{--mq-bg:rgba(255,138,61,.22);--mq-border:rgba(255,138,61,.38);--mq-text:#ffb074}.dark .article-body .mq--success{--mq-bg:rgba(52,199,89,.22);--mq-border:rgba(52,199,89,.38);--mq-text:#6edd94}.dark .article-body .mq--caution{--mq-bg:rgba(255,59,48,.2);--mq-border:rgba(255,59,48,.35);--mq-text:#ff9690}.dark .article-body .mq-bubble{box-shadow:0 2px 12px rgba(0,0,0,.3)}@media (prefers-reduced-motion:reduce){.article-body .mq,.article-body .conversation-quote{animation:none!important}}[data-theme=mascot] .article-body pre{border:1px solid #eee8d5}[data-theme=mascot] .article-body code:not(pre code){border-radius:3px}[data-theme=mascot] .article-body figure img{border:1px solid rgba(0,0,0,.08);border-radius:3px}[data-theme=mascot] .article-body table{border-collapse:collapse}[data-theme=mascot] .article-body th{text-transform:none;letter-spacing:0;font-size:.8125rem;font-weight:600}[data-theme=mascot] .article-body hr{background:rgba(0,0,0,.08);border-top:none;height:1px}[data-theme=mascot] .article-body li::marker{color:#7d7e79}[data-theme=mascot] .toc{padding-top:84px}[data-theme=mascot] .toc ul{border-left:none}[data-theme=mascot] .toc a{border-left:none;margin-left:0;padding-left:1rem;position:relative}[data-theme=mascot] .toc a.toc-active{border-left:none}[data-theme=mascot] .toc a.toc-active:before{content:"";background:#ff8a3d;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.dark [data-theme=mascot]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--t-page-bg:#0c0c0e;--t-hero-bg:#0c0c0e;--t-heading:#f0f0f0;--t-text:#a8a8a8;--t-muted:#636363;--t-accent:#ff8a3d;--t-link:#ff8a3d;--t-link-decoration:rgba(255,138,61,.3);--t-strong:#e0e0e0;--t-pre-bg:#1f1f1f;--t-pre-border:rgba(255,255,255,.08);--t-pre-text:#ccc;--t-inline-code-bg:rgba(255,138,61,.12);--t-inline-code-text:#ff8a3d;--t-inline-code-border:rgba(255,138,61,.3);--t-border:rgba(255,255,255,.08);--t-border-light:rgba(255,255,255,.04);--t-bq-border:#ff8a3d;--t-bq-text:#9a9a9a;--t-th-color:#f0f0f0;--t-td-color:#9a9a9a;--t-footer-bg:#0c0c0e;--t-footer-link:#636363;--t-footer-link-hover:#ff8a3d;--t-quote-bubble-bg:rgba(255,255,255,.06);--sh-class:#b5cea8;--sh-identifier:#9cdcfe;--sh-sign:#d4d4d4;--sh-keyword:#c586c0;--sh-string:#ce9178;--sh-comment:#6a9955;--sh-jsxliterals:#9cdcfe;--sh-property:#9cdcfe;--sh-entity:#569cd6}.dark [data-theme=mascot] .page-bg{background:var(--t-page-bg);position:relative}.dark [data-theme=mascot] .page-bg:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(rgba(255,255,255,.024) 0%,transparent 40%);position:absolute;top:0;bottom:0;left:0;right:0}.dark [data-theme=mascot] .page-bg:after{content:"";opacity:.06;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:150px 150px;position:absolute;top:0;bottom:0;left:0;right:0}.dark [data-theme=mascot] .site-header,.dark [data-theme=mascot] .hero-region,.dark [data-theme=mascot] .content-with-toc,.dark [data-theme=mascot] .content-region,.dark [data-theme=mascot] .post-article,.dark [data-theme=mascot] .page-footer{z-index:1;background:#0c0c0e;position:relative}.dark [data-theme=mascot] .hero-region{border-bottom:1px solid rgba(255,255,255,.06)}.dark [data-theme=mascot] .site-header{border-bottom:none}.dark [data-theme=mascot] .site-logo-img{filter:invert()}.dark [data-theme=mascot] .site-nav a{color:#636363}.dark [data-theme=mascot] .site-nav a:hover,.dark [data-theme=mascot] .site-nav a.site-nav-active{color:#f0f0f0}.dark [data-theme=mascot] .site-nav-mobile a{color:#636363}.dark [data-theme=mascot] .site-nav-mobile a:hover,.dark [data-theme=mascot] .site-nav-mobile a.site-nav-active{color:#f0f0f0}.dark [data-theme=mascot] .site-cta{color:#0c0c0e;background:#ff8a3d;border-color:transparent}.dark [data-theme=mascot] .site-cta:hover{opacity:1;background:#ff9d5c}.dark [data-theme=mascot] .site-cta-secondary{color:#f0f0f0;background:0 0;border-color:rgba(255,255,255,.15)}.dark [data-theme=mascot] .site-cta-secondary:hover{border-color:rgba(255,255,255,.35)}.dark [data-theme=mascot] .tag-pill{color:#636363;background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.1)}.dark [data-theme=mascot] .tag-pill:hover{color:#ff8a3d;background:rgba(255,138,61,.08);border-color:#ff8a3d}.dark [data-theme=mascot] .meta-author{color:#e0e0e0}.dark [data-theme=mascot] .article-meta .author-avatar{color:#0c0c0e;background:#ff8a3d}.dark [data-theme=mascot] .article-tag{color:#ff8a3d}.dark [data-theme=mascot] .article-body a{-webkit-text-decoration-color:rgba(255,138,61,.3);text-decoration-color:rgba(255,138,61,.3)}.dark [data-theme=mascot] .article-body a:hover{-webkit-text-decoration-color:#ff8a3d;text-decoration-color:#ff8a3d}.dark [data-theme=mascot] .article-body blockquote p{color:#636363}.dark [data-theme=mascot] .article-body .mq-text p{color:var(--mq-text,#f5f5f5)!important}.dark [data-theme=mascot] .article-body .conversation-quote-text p{color:#f5f5f5!important}.dark [data-theme=mascot] .article-body pre,.dark [data-theme=mascot] .article-body figure img{border-color:rgba(255,255,255,.08)}.dark [data-theme=mascot] .article-body hr{background:rgba(255,255,255,.08)}.dark [data-theme=mascot] .article-body li::marker{color:#636363}.dark [data-theme=mascot] .newsletter-form input{color:#e0e0e0;background:#060608;border-color:rgba(255,255,255,.08)}.dark [data-theme=mascot] .newsletter-form button{color:#0c0c0e;background:#ff8a3d;border-color:transparent}.dark [data-theme=mascot] .newsletter-form button:hover{background:#ff9d5c}.dark [data-theme=mascot] .related-card{border-color:rgba(255,255,255,.08)}.dark [data-theme=mascot] .related-card:hover{background:rgba(255,138,61,.04);border-color:#ff8a3d}.site-header{border-bottom:1px solid var(--t-border);padding:0 2rem;transition:border-color .4s}.site-header-inner{align-items:center;gap:2rem;max-width:1100px;height:56px;margin:0 auto;display:flex}.site-logo{color:var(--t-heading);letter-spacing:-.02em;white-space:nowrap;align-items:center;font-size:.9375rem;font-weight:700;text-decoration:none;transition:color .4s;display:flex}.site-logo-img{width:auto;height:22px;display:block}.site-nav{flex:1;gap:1.5rem;display:flex}.site-nav a{color:var(--t-muted);font-size:.8125rem;text-decoration:none;transition:color .15s}.site-nav a:hover{color:var(--t-heading)}.site-nav a.site-nav-active{color:var(--t-heading);font-weight:500}.site-cta-group{align-items:center;gap:.5rem;display:flex}.site-cta-secondary{color:var(--t-heading);border:1px solid var(--t-border);white-space:nowrap;background:#fff;border-radius:6px;padding:.375rem .875rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:border-color .15s;display:none}.site-cta-secondary:hover{border-color:var(--t-heading)}.site-cta{color:#fff;background:var(--t-heading);white-space:nowrap;border-radius:6px;padding:.375rem .875rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:background .4s,opacity .15s}.site-cta:hover{opacity:.85}[data-theme=mascot] .site-header{padding:.75rem 1.75rem 0;padding-top:max(.75rem,env(safe-area-inset-top));padding-left:max(1.75rem,env(safe-area-inset-left));padding-right:max(1.75rem,env(safe-area-inset-right));background:0 0;border-bottom:none;height:auto}[data-theme=mascot] .site-header-inner{max-width:none;height:auto}[data-theme=mascot] .site-logo{letter-spacing:0}[data-theme=mascot] .site-logo-img{height:35px}[data-theme=mascot] .site-nav a{letter-spacing:-.32px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:14px;font-weight:400}[data-theme=mascot] .site-nav a:hover{color:#080808}[data-theme=mascot] .site-nav a.site-nav-active{color:#080808;font-weight:600}[data-theme=mascot] .site-cta-secondary{color:#0e0f11;letter-spacing:-.4px;background:#fff;border:1px solid #e5e7eb;border-radius:3px;padding:10px 15px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;font-weight:700;display:inline-flex}[data-theme=mascot] .site-cta-secondary:hover{border-color:rgba(0,0,0,.3)}[data-theme=mascot] .site-cta{letter-spacing:-.4px;background:#080808;border:1px solid rgba(255,255,255,.18);border-radius:3px;padding:10px 15px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;font-weight:700}[data-theme=mascot] .site-cta:hover{opacity:1;background:#2f2f31}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-shrink:0;width:24px;height:18px;padding:6px 0;display:none;position:relative}.menu-toggle span{background:var(--t-heading);height:1.5px;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),opacity .2s;display:block;position:absolute;left:0}.menu-toggle span:first-child{width:24px;top:4px}.menu-toggle span:nth-child(2){width:16px;bottom:4px}.nav-open .menu-toggle span:first-child{width:24px;top:50%;transform:translateY(-50%)rotate(45deg)}.nav-open .menu-toggle span:nth-child(2){width:24px;top:50%;bottom:auto;transform:translateY(-50%)rotate(-45deg)}.site-nav-mobile{display:none}.dark [data-theme=mascot] .menu-toggle span{background:#f0f0f0}.post-article{border-top:1px solid var(--t-border);background:var(--t-footer-bg,transparent);padding:3rem 0 0;transition:background .4s,border-color .4s}.post-article-inner{max-width:var(--t-content-width);margin:0 auto}.post-article .blog-listing.blog-listing--related{max-width:100%;padding:0 2rem 3rem}.post-article .blog-listing--related .blog-listing-grid{grid-template-columns:repeat(3,1fr)}.related-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--t-muted);margin:0 0 1.5rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;font-weight:600;transition:color .4s}.newsletter-cta{margin-bottom:3rem}.newsletter-cta h3{color:var(--t-heading);margin:0 0 .5rem;font-size:1.25rem;font-weight:600;transition:color .4s}.newsletter-cta p{color:var(--t-muted);margin:0 0 1.25rem;font-size:.9375rem;transition:color .4s}.newsletter-form{gap:.5rem;max-width:420px;display:flex}.newsletter-form input{border:1px solid var(--t-border);background:var(--t-page-bg);color:var(--t-text);border-radius:6px;outline:none;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,background .4s}.newsletter-form input:focus{border-color:var(--t-accent)}.newsletter-form button{background:var(--t-heading);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.5rem 1.25rem;font-family:inherit;font-size:.8125rem;font-weight:600;transition:background .4s,opacity .15s}.newsletter-form button:hover{opacity:.85}[data-theme=mascot] .newsletter-form button{background:#080808;border:1px solid rgba(255,255,255,.18);border-radius:3px}[data-theme=mascot] .newsletter-form button:hover{opacity:1;background:#2f2f31}[data-theme=mascot] .newsletter-form input{border-color:rgba(0,0,0,.13);border-radius:3px}.related-posts h3{text-transform:uppercase;letter-spacing:.08em;color:var(--t-muted);margin:0 0 1rem;font-size:.75rem;font-weight:600;transition:color .4s}.related-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.related-card{border:1px solid var(--t-border);border-radius:var(--t-pre-radius);flex-direction:column;gap:.5rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,background .15s,transform .15s;display:flex}.related-card:hover{border-color:var(--t-accent);transform:translateY(-2px)}.related-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--t-accent);font-size:.625rem;font-weight:600}.related-title{color:var(--t-heading);font-size:.9375rem;font-weight:600;line-height:1.35;transition:color .4s}.related-meta{color:var(--t-muted);font-size:.75rem;transition:color .4s}[data-theme=mascot] .related-card{border-color:rgba(0,0,0,.08);border-radius:3px}[data-theme=mascot] .related-card:hover{background:0 0;border-color:#ff8a3d}.footer-grid{grid-template-columns:repeat(4,1fr);gap:2rem;margin-bottom:2rem;display:grid}.footer-col{flex-direction:column;gap:.5rem;display:flex}.footer-col h4{text-transform:uppercase;letter-spacing:.08em;color:var(--t-muted);margin:0 0 .25rem;font-size:.6875rem;font-weight:600}.footer-col a{color:var(--t-footer-link);font-size:.8125rem;text-decoration:none;transition:color .15s}.footer-col a:hover{color:var(--t-footer-link-hover)}.footer-bottom{border-top:1px solid var(--t-border);color:var(--t-muted);justify-content:space-between;align-items:center;padding-top:1.5rem;font-size:.75rem;display:flex}.theme-switcher{border:1px solid var(--t-border);border-radius:6px;align-items:center;gap:0;display:flex;overflow:hidden}.theme-switcher button{width:30px;height:28px;color:var(--t-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.theme-switcher button:not(:last-child){border-right:1px solid var(--t-border)}.theme-switcher button:hover{color:var(--t-heading)}.theme-switcher button.active{color:var(--t-accent)}[data-theme=mascot] .theme-switcher{border-radius:3px}.dark [data-theme=mascot] .theme-switcher button.active{color:#ff8a3d}@media (max-width:1024px){.toc{display:none}.toc-sidebar{width:auto;max-height:none;position:static;overflow:visible}.content-with-toc{padding:0;display:block}.content-with-toc .content-region{max-width:var(--t-content-width);margin:0 auto;padding:2.5rem 2rem 4rem}.article-body .wide-breakout{width:calc(100vw - 2rem)}}@media (max-width:768px){.themes-page{margin-top:0}.site-header{padding:.75rem 1rem .5rem}.site-header-inner{gap:.75rem}.site-nav{display:none}.site-cta-secondary{display:none!important}.site-cta-group{margin-left:auto}.menu-toggle{display:block}.site-nav-mobile{border-top:1px solid var(--t-border);flex-direction:column;gap:0;margin-top:.5rem;padding:.5rem 0 .75rem;display:none}.nav-open .site-nav-mobile{display:flex}.site-nav-mobile a{color:var(--t-muted);padding:.5rem 0;font-size:.8125rem;text-decoration:none;transition:color .15s}.site-nav-mobile a:hover{color:var(--t-heading)}.site-nav-mobile a.site-nav-active{color:var(--t-heading);font-weight:500}[data-theme=mascot] .site-header{height:auto;padding:.625rem 1rem}[data-theme=mascot] .site-header-inner{gap:.75rem}[data-theme=mascot] .site-logo-img{height:30px}[data-theme=mascot] .site-cta{padding:9px 16px;font-size:13px}[data-theme=mascot] .site-nav-mobile a{letter-spacing:-.32px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;font-weight:400}[data-theme=mascot] .site-nav-mobile a.site-nav-active{font-weight:600}[data-theme=mascot] .hero-inner{max-width:none;margin-left:auto;margin-right:auto}[data-theme=mascot] .hero-region{padding:3rem 1.25rem 2.5rem}[data-theme=mascot] h1{margin-bottom:1.5rem;font-size:max(3rem,min(12vw,4rem))}[data-theme=mascot] .article-lede{margin-bottom:2rem;font-size:1.125rem;line-height:1.55}[data-theme=mascot] .article-meta{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;font-size:.8125rem}[data-theme=mascot] .article-meta .author-avatar{width:28px;height:28px;font-size:.5625rem}[data-theme=mascot] .article-tags{margin-top:1.5rem}.content-with-toc .content-region,.content-region{padding-top:1.5rem}.hero-region{padding:1.5rem 1.25rem 1.25rem}.content-region,.content-with-toc .content-region,.post-article{padding-left:1.25rem;padding-right:1.25rem}.hero-cover{max-height:240px}.article-body table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.article-body .wide-breakout{width:calc(100% + 2.5rem);left:-1.25rem;transform:none}.article-body .wide-breakout img{border-radius:0}.related-grid,.blog-listing--related .blog-listing-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.newsletter-form{flex-direction:column;max-width:100%}.article-body blockquote{margin:1.5rem 0;padding-left:1rem}.article-body ul,.article-body ol{padding-left:1rem}}@media (max-width:480px){.site-header{padding:.5rem .75rem}[data-theme=mascot] .site-header{height:auto;padding:.5rem .75rem}[data-theme=mascot] .site-logo-img{height:26px}[data-theme=mascot] .site-cta{padding:8px 14px;font-size:12px}[data-theme=mascot] h1{letter-spacing:-.4px;margin-bottom:1.25rem;font-size:max(2.75rem,min(11vw,3.5rem))}[data-theme=mascot] .hero-region{padding:2.5rem 1rem 2rem}.hero-region{padding:1.25rem 1rem 1rem}.content-region,.content-with-toc .content-region,.post-article{padding-left:1rem;padding-right:1rem}.hero-cover{max-height:180px}.article-lede{font-size:1rem;line-height:1.5}.tag-pill{padding:.25rem .625rem;font-size:.625rem}.article-body blockquote,.article-body ul,.article-body ol{padding-left:.75rem}.article-body .mq-bubble,.article-body .conversation-quote-bubble{max-width:92%}.article-body .wide-breakout{width:calc(100% + 2rem);left:-1rem}.newsletter-form input{padding:.4rem .5rem;font-size:.8125rem}.newsletter-form button{padding:.4rem 1rem;font-size:.75rem}.footer-grid{grid-template-columns:1fr 1fr;gap:1.5rem}}@media (max-width:360px){.footer-grid{grid-template-columns:1fr;gap:1.25rem}}.article-body .cs-card{--cs-bg:#3d4d20;--cs-text:#dde6cc;--cs-text-muted:#a8b890;--cs-heading:#fff;--cs-metric-value:#ffb800;--cs-star:#ffb800;--cs-quote-text:#ccd8b8;--cs-border:rgba(255,255,255,.12);background:var(--cs-bg);--hx:.5;--hy:.5;--holo-opacity:0;isolation:isolate;--holo-c1:rgba(180,220,80,.1);--holo-c2:rgba(255,220,100,.08);--holo-c3:rgba(120,200,100,.06);--holo-c4:rgba(200,255,140,.04);border-radius:1rem;max-width:720px;margin:2.5rem auto 2.5rem -2.5rem;animation:6s ease-in-out infinite cs-float;position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.25),0 12px 32px rgba(0,0,0,.2),0 24px 60px rgba(0,0,0,.12),inset 0 1px rgba(255,255,255,.08),inset 0 -4px 12px rgba(0,0,0,.25),inset 0 4px 12px rgba(255,255,255,.04);container-type:inline-size}.article-body .cs-card:before{content:"";border-radius:inherit;background:radial-gradient(650px circle at calc(var(--hx)*100%)calc(var(--hy)*100%),var(--holo-c1)0%,var(--holo-c2)25%,var(--holo-c3)45%,var(--holo-c4)65%,transparent 80%);pointer-events:none;z-index:1;mix-blend-mode:screen;opacity:var(--holo-opacity);transition:opacity .4s;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes cs-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes cs-holo-sweep{0%{background-position:300% 0}50%{background-position:-100% 0}to{background-position:300% 0}}@media (max-width:768px){.article-body .cs-card{border-radius:.75rem;max-width:100%;margin-left:0;margin-right:0}}.article-body .cs-card--blue{--cs-bg:#0f1d3d;--cs-text:#c8d6f0;--cs-text-muted:#8a9dc0;--cs-heading:#fff;--cs-metric-value:#5b9aff;--cs-star:#5b9aff;--cs-quote-text:#b0c4e8;--cs-border:rgba(91,154,255,.12);--holo-c1:rgba(100,160,255,.1);--holo-c2:rgba(80,200,255,.08);--holo-c3:rgba(140,120,255,.06);--holo-c4:rgba(100,220,200,.04)}.article-body .cs-card--warm{--cs-bg:#1f1610;--cs-text:#d8c4ae;--cs-text-muted:#a08a72;--cs-heading:#fff3e6;--cs-metric-value:#ff8a3d;--cs-star:#ffb800;--cs-quote-text:#c8b098;--cs-border:rgba(255,138,61,.12);--holo-c1:rgba(255,160,80,.1);--holo-c2:rgba(255,120,60,.08);--holo-c3:rgba(255,200,100,.06);--holo-c4:rgba(255,160,140,.04)}.article-body .cs-card-content{gap:0;padding:0;display:flex}@container (width<=640px){.article-body .cs-card-content{flex-direction:column}}.article-body .cs-card-col{flex-direction:column;flex:1;min-width:0;padding:2.5rem;display:flex}.article-body .cs-card-col--image{flex:none;justify-content:center;align-items:stretch;width:320px;padding:0;display:flex;overflow:hidden}@container (width<=640px){.article-body .cs-card-col{padding:1.75rem}.article-body .cs-card-col--image{order:-1;width:100%;max-height:260px;padding:0;overflow:hidden}}.article-body .cs-card-header{margin-bottom:1.25rem}.article-body .cs-card-logo{object-fit:contain;filter:brightness(0)invert();width:auto;height:44px;display:block}.article-body .cs-card--blue .cs-card-logo{filter:brightness(0)invert()}.article-body .cs-card-description{color:var(--cs-text-muted);margin:0 0 1rem;font-family:Inter,sans-serif;font-size:.875rem;line-height:1.6}.article-body .cs-card-results{color:var(--cs-text);margin:0 0 1.5rem;font-family:Inter,sans-serif;font-size:.9375rem;line-height:1.6}.article-body .cs-card-metrics{gap:2rem;margin-bottom:1.75rem;display:flex}.article-body .cs-metric{flex-direction:column;display:flex}.article-body .cs-metric-value{color:var(--cs-metric-value);letter-spacing:-.02em;font-family:Rawlinson Cond,Georgia,serif;font-size:2.25rem;font-weight:400;line-height:1}.article-body .cs-metric-label{text-transform:uppercase;letter-spacing:.06em;color:var(--cs-text-muted);margin-top:.375rem;font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:500}.article-body .cs-card-testimonial{border-top:1px solid var(--cs-border);margin-top:auto;padding-top:1.25rem}.article-body .cs-stars{gap:.125rem;margin-bottom:.5rem;display:flex}.article-body .cs-star{width:14px;height:14px;color:var(--cs-star)}.article-body blockquote.cs-quote{font-family:var(--t-body-font,"Inter",sans-serif);color:var(--cs-text);background:rgba(255,255,255,.06);border:none;border-radius:16px 16px 16px 4px;margin:0 0 .875rem;padding:.875rem 1.125rem;font-size:.9375rem;font-style:normal;line-height:1.55}.article-body .cs-quote-attribution{align-items:center;gap:.5rem;display:flex}.article-body .cs-quote-avatar{object-fit:cover;border-radius:50%;width:28px;height:28px}.article-body .cs-quote-author{color:var(--cs-heading);font-family:Inter,sans-serif;font-size:.75rem;font-weight:600}.article-body .cs-card-mascot{object-fit:cover;width:100%;height:100%}.article-body .cs-pill{--csp-bg:#3d4d20;--csp-text:#dde6cc;--csp-text-muted:#a8b890;--csp-heading:#fff;--csp-metric:#ffb800;--csp-border:rgba(255,255,255,.12);--csp-hover-bg:#4a5c2a;background:var(--csp-bg);isolation:isolate;border-radius:.75rem;margin:1rem 0;transition:background .15s,transform .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.2),0 8px 24px rgba(0,0,0,.15),inset 0 1px rgba(255,255,255,.06),inset 0 -3px 8px rgba(0,0,0,.2),inset 0 3px 8px rgba(255,255,255,.03);container-type:inline-size}.article-body .cs-pill:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;mix-blend-mode:screen;background:linear-gradient(105deg,transparent 35%,rgba(255,120,200,.024) 42%,rgba(120,200,255,.04) 48%,rgba(200,255,120,.03) 52%,rgba(255,180,100,.024) 58%,transparent 65%) 0 0/300% 100%;animation:10s ease-in-out infinite cs-holo-sweep;position:absolute;top:0;bottom:0;left:0;right:0}.article-body .cs-pill--blue{--csp-bg:#0f1d3d;--csp-text:#c8d6f0;--csp-text-muted:#8a9dc0;--csp-heading:#fff;--csp-metric:#5b9aff;--csp-border:rgba(91,154,255,.12);--csp-hover-bg:#142650}.article-body .cs-pill--warm{--csp-bg:#1f1610;--csp-text:#d8c4ae;--csp-text-muted:#a08a72;--csp-heading:#fff3e6;--csp-metric:#ff8a3d;--csp-border:rgba(255,138,61,.12);--csp-hover-bg:#2a1e14}.article-body .cs-pill>summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:.875rem;padding:1rem 1.25rem;list-style:none;transition:background .15s;display:flex}.article-body .cs-pill>summary:hover{background:var(--csp-hover-bg)}.article-body .cs-pill>summary::-webkit-details-marker{display:none}.article-body .cs-pill-logo{object-fit:contain;filter:brightness(0)invert();flex-shrink:0;width:auto;height:30px}.article-body .cs-pill-company{color:var(--csp-heading);white-space:nowrap;flex-shrink:0;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600}.article-body .cs-pill-metrics-inline{flex-shrink:0;gap:1rem;margin-left:auto;display:flex}.article-body .cs-pill-metric{letter-spacing:.02em;color:var(--csp-text-muted);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.6875rem}.article-body .cs-pill-metric strong{color:var(--csp-metric);font-weight:600}.article-body .cs-pill-chevron{width:16px;height:16px;color:var(--csp-text-muted);flex-shrink:0;transition:transform .2s}.article-body .cs-pill[open]>summary .cs-pill-chevron{transform:rotate(180deg)}.article-body .cs-pill-body{border-top:1px solid var(--csp-border);padding:1.5rem 1.25rem}.article-body .cs-pill-content{gap:1.5rem;display:flex}@container (width<=500px){.article-body .cs-pill-content{flex-direction:column}}.article-body .cs-pill-text-col{flex:1;min-width:0}.article-body .cs-pill-image-col{border-radius:.5rem;flex:0 0 180px;justify-content:center;align-items:center;min-height:200px;display:flex;overflow:hidden}@container (width<=500px){.article-body .cs-pill-image-col{border-radius:.5rem;order:-1;max-height:180px;overflow:hidden}}.article-body .cs-pill-mascot{object-fit:cover;border-radius:.5rem;width:100%;height:100%}.article-body .cs-pill-description{color:var(--csp-text-muted);margin:0 0 .625rem;font-family:Inter,sans-serif;font-size:.8125rem;line-height:1.55}.article-body .cs-pill-results{color:var(--csp-text);margin:0 0 1rem;font-family:Inter,sans-serif;font-size:.875rem;line-height:1.55}.article-body .cs-pill-quote-block{border-top:1px solid var(--csp-border);padding-top:.875rem}.article-body blockquote.cs-pill-quote{font-family:var(--t-body-font,"Inter",sans-serif);color:var(--csp-text);background:rgba(255,255,255,.06);border:none;border-radius:14px 14px 14px 4px;margin:0 0 .5rem;padding:.75rem 1rem;font-size:.8125rem;font-style:normal;line-height:1.55}.article-body .cs-pill-attribution{align-items:center;gap:.375rem;display:flex}.article-body .cs-pill-avatar{object-fit:cover;border-radius:50%;width:22px;height:22px}.article-body .cs-pill-author{color:var(--csp-heading);font-family:Inter,sans-serif;font-size:.6875rem;font-weight:600}.article-body .cs-stack{flex-direction:column;gap:.75rem;max-width:720px;margin:2rem auto;display:flex}.dark .article-body .cs-card{box-shadow:0 4px 16px rgba(0,0,0,.35),0 16px 40px rgba(0,0,0,.3),0 28px 70px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.06),inset 0 -5px 14px rgba(0,0,0,.35),inset 0 5px 14px rgba(255,255,255,.03)}.dark .article-body .cs-pill{box-shadow:0 3px 10px rgba(0,0,0,.3),0 10px 28px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.05),inset 0 -3px 10px rgba(0,0,0,.3),inset 0 3px 10px rgba(255,255,255,.02)}@media (max-width:768px){.article-body .cs-card-col{padding:1.5rem}.article-body .cs-card-col--image{order:-1;width:100%;max-height:220px;padding:0;overflow:hidden}.article-body .cs-metric-value{font-size:1.75rem}.article-body .cs-pill-metrics-inline{display:none}.article-body .cs-pill>summary{gap:.625rem;padding:.875rem 1rem}.article-body .cs-pill-body{padding:1.25rem 1rem}.article-body .cs-pill-content{flex-direction:column}.article-body .cs-pill-image-col{border-radius:.5rem;order:-1;max-height:160px;overflow:hidden}}@media (max-width:540px){.article-body .cs-card{border-radius:.75rem;margin-left:0;margin-right:0}.article-body .cs-card-col{padding:1.25rem}.article-body .cs-card-metrics{gap:1.25rem}.article-body .cs-metric-value{font-size:1.5rem}.article-body .cs-card-col--image{max-height:200px;padding:0}.article-body .cs-card{animation:6s ease-in-out infinite cs-float-sm}}@keyframes cs-float-sm{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.article-body .cs-card,.article-body .cs-card:before,.article-body .cs-pill:before{animation:none}}.sticky-bottom-bar{bottom:calc(.75rem + env(safe-area-inset-bottom,0));z-index:100;pointer-events:none;opacity:0;border-radius:9999px;padding:.5rem .625rem;transition:opacity .3s,transform .3s;position:fixed;left:50%;transform:translate(-50%)translateY(100%)}.sticky-bottom-bar--visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.sticky-bottom-bar-inner{justify-content:center;align-items:center;gap:.375rem;display:flex;position:relative}.sticky-bottom-bar-inner:before{content:"";pointer-events:none;filter:blur(8px);background:radial-gradient(50% 50%,rgba(0,0,0,.08) 0%,rgba(0,0,0,.05) 30%,rgba(0,0,0,.02) 55%,transparent 75%);border-radius:9999px;width:calc(100% + 8rem);height:calc(100% + 4rem);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.toc-actions{margin-top:1.25rem;padding-top:0}.copy-page-trigger{color:#fff;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);border-radius:9999px;outline:none;align-items:center;gap:.375rem;padding:.625rem 1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.8125rem;font-weight:500;transition:all .2s;display:inline-flex;box-shadow:0 2px 12px rgba(0,0,0,.15),0 1px 4px rgba(0,0,0,.1)}.copy-page-trigger:hover{background:rgba(0,0,0,.5);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.12)}.copy-page-trigger:focus-visible{outline-offset:2px;outline:2px solid rgba(255,255,255,.5)}.copy-page-trigger:active{transform:scale(.97)}.copy-page-trigger--copied{background:rgba(22,163,74,.85);border-color:rgba(22,163,74,.3);animation:.4s copy-page-snap}.copy-page-trigger--copied .copy-page-trigger-icon{animation:.3s copy-page-check-pop}.copy-page-trigger-icon{flex-shrink:0;align-items:center;display:flex}.copy-page-trigger-label{line-height:1}.copy-page-chevron{opacity:.6;flex-shrink:0;transition:transform .2s}.copy-page-chevron--open{transform:rotate(180deg)}.copy-page-menu{background:var(--t-page-bg,#fff)!important;border:1px solid var(--t-border,#e5e5e5)!important;border-radius:12px!important;min-width:260px!important;padding:.375rem!important;box-shadow:0 4px 16px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04)!important}.copy-page-menu-item{cursor:pointer!important;border-radius:8px!important;align-items:flex-start!important;gap:.75rem!important;padding:.5rem .625rem!important;transition:background .15s!important;display:flex!important}.copy-page-menu-item:hover,.copy-page-menu-item:focus{background:var(--t-border-light,rgba(0,0,0,.03))!important}.copy-page-menu-item>svg,.copy-page-menu-item-icon{color:var(--t-muted,#a3a3a3);flex-shrink:0;margin-top:3px;transition:color .15s}.copy-page-menu-item:hover>svg,.copy-page-menu-item:hover .copy-page-menu-item-icon{color:var(--t-heading,#000)}.copy-page-menu-item-content{flex-direction:column;gap:1px;min-width:0;display:flex}.copy-page-menu-item-title{color:var(--t-heading,#000);align-items:center;gap:.3rem;font-size:.8125rem;font-weight:500;line-height:1.35;display:inline-flex}.copy-page-menu-item-ext{opacity:.4;flex-shrink:0}.copy-page-menu-item-desc{color:var(--t-muted,#a3a3a3);font-size:.6875rem;line-height:1.35}@keyframes copy-page-snap{0%{transform:scale(1)}20%{transform:scale(.97)}50%{transform:scale(1.03)}80%{transform:scale(.99)}to{transform:scale(1)}}@keyframes copy-page-check-pop{0%{opacity:0;transform:scale(.3)rotate(-10deg)}50%{opacity:1;transform:scale(1.2)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}.dark .sticky-bottom-bar-inner:before{background:radial-gradient(rgba(0,0,0,.25) 0%,rgba(0,0,0,.12) 40%,transparent 70%)}.dark .copy-page-trigger{color:#f0f0f0;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15);box-shadow:0 2px 12px rgba(0,0,0,.3),0 1px 4px rgba(0,0,0,.2)}.dark .copy-page-trigger:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.25)}.dark .copy-page-trigger:focus-visible{outline-color:rgba(255,255,255,.4)}.dark .copy-page-trigger--copied{color:#fff;background:rgba(22,163,74,.8);border-color:rgba(22,163,74,.3)}.dark .copy-page-menu{background:#1a1a1c!important;border-color:rgba(255,255,255,.1)!important;box-shadow:0 4px 24px rgba(0,0,0,.3),0 2px 8px rgba(0,0,0,.2)!important}.dark .copy-page-menu-item:hover,.dark .copy-page-menu-item:focus{background:rgba(255,255,255,.06)!important}.dark .copy-page-menu-item>svg,.dark .copy-page-menu-item-icon{color:#636363}.dark .copy-page-menu-item:hover>svg,.dark .copy-page-menu-item:hover .copy-page-menu-item-icon,.dark .copy-page-menu-item-title{color:#f0f0f0}@media (prefers-reduced-motion:reduce){.sticky-bottom-bar{transition:opacity .15s;transform:translate(-50%)}.sticky-bottom-bar--visible{transform:translate(-50%)}.copy-page-trigger--copied,.copy-page-trigger--copied .copy-page-trigger-icon{animation:none}}@media (max-width:1024px){.toc-actions{display:none}}@media (max-width:640px){.copy-page-trigger,.deploy-trigger{padding:.5rem .75rem;font-size:.75rem}.copy-page-menu{min-width:240px!important}}.deploy-trigger{color:#fff;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);border-radius:9999px;outline:none;align-items:center;gap:.375rem;padding:.625rem 1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.8125rem;font-weight:500;transition:all .2s;display:inline-flex;box-shadow:0 2px 12px rgba(0,0,0,.15),0 1px 4px rgba(0,0,0,.1)}.deploy-trigger:hover{background:rgba(0,0,0,.5);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.12)}.deploy-trigger:focus-visible{outline-offset:2px;outline:2px solid rgba(255,255,255,.5)}.deploy-trigger:active{transform:scale(.97)}.deploy-trigger--copied{background:rgba(22,163,74,.85);border-color:rgba(22,163,74,.3);animation:.4s deploy-snap}.deploy-trigger--copied .deploy-trigger-icon{animation:.3s deploy-check-pop}.deploy-trigger-icon{flex-shrink:0;align-items:center;display:flex}.deploy-trigger-label{line-height:1}.deploy-chevron{opacity:.6;flex-shrink:0;transition:transform .2s}.deploy-chevron--open{transform:rotate(180deg)}.deploy-menu{background:var(--t-page-bg,#fff)!important;border:1px solid var(--t-border,#e5e5e5)!important;border-radius:12px!important;min-width:260px!important;padding:.375rem!important;box-shadow:0 4px 16px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04)!important}.deploy-menu-label{text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--t-muted,#a3a3a3)!important;padding:.375rem .625rem .25rem!important;font-size:.6875rem!important;font-weight:600!important}.deploy-menu-item{cursor:pointer!important;border-radius:8px!important;align-items:flex-start!important;gap:.625rem!important;padding:.5rem .625rem!important;transition:background .15s!important;display:flex!important}.deploy-menu-item:hover,.deploy-menu-item:focus{background:var(--t-border-light,rgba(0,0,0,.03))!important}.deploy-menu-item svg{color:var(--t-muted,#a3a3a3);flex-shrink:0;margin-top:2px}.deploy-menu-item:hover svg{color:var(--t-heading,#000)}.deploy-menu-item-content{flex-direction:column;gap:1px;display:flex}.deploy-menu-item-title{color:var(--t-heading,#000);font-size:.8125rem;font-weight:500;line-height:1.3}.deploy-menu-item-desc{color:var(--t-muted,#a3a3a3);font-size:.6875rem;line-height:1.3}@keyframes deploy-snap{0%{transform:scale(1)}20%{transform:scale(.93)}50%{transform:scale(1.05)}80%{transform:scale(.98)}to{transform:scale(1)}}@keyframes deploy-check-pop{0%{opacity:0;transform:scale(.3)rotate(-10deg)}50%{opacity:1;transform:scale(1.2)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}.dark .deploy-trigger{color:#f0f0f0;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15);box-shadow:0 2px 12px rgba(0,0,0,.3),0 1px 4px rgba(0,0,0,.2)}.dark .deploy-trigger:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.25)}.dark .deploy-trigger:focus-visible{outline-color:rgba(255,255,255,.4)}.dark .deploy-trigger--copied{color:#fff;background:rgba(22,163,74,.8);border-color:rgba(22,163,74,.3)}.dark .deploy-menu{background:#1a1a1c!important;border-color:rgba(255,255,255,.1)!important;box-shadow:0 4px 24px rgba(0,0,0,.3),0 2px 8px rgba(0,0,0,.2)!important}.dark .deploy-menu-item:hover,.dark .deploy-menu-item:focus{background:rgba(255,255,255,.06)!important}.dark .deploy-menu-item svg{color:#636363}.dark .deploy-menu-item:hover svg,.dark .deploy-menu-item-title{color:#f0f0f0}@media (prefers-reduced-motion:reduce){.deploy-trigger--copied,.deploy-trigger--copied .deploy-trigger-icon{animation:none}}@media (max-width:640px){.deploy-menu{min-width:240px!important}}.article-body .mermaid-diagram{margin:2rem 0;padding:0}.article-body .mermaid-svg{background:var(--t-pre-bg);border:1px solid var(--t-pre-border);border-radius:var(--t-pre-radius);justify-content:center;padding:1.5rem 1rem;display:flex;overflow-x:auto}.article-body .mermaid-svg svg{max-width:100%;height:auto}.article-body .mermaid-svg svg foreignObject{overflow:visible}.article-body .mermaid-svg svg foreignObject div{overflow:visible!important}.article-body .mermaid-caption{text-align:center;color:var(--t-muted);margin-top:.5rem;font-size:.8125rem;font-style:italic}.article-body .mermaid-loading{background:var(--t-pre-bg);border:1px solid var(--t-pre-border);border-radius:var(--t-pre-radius);color:var(--t-muted);justify-content:center;align-items:center;gap:.5rem;padding:2rem 1rem;font-family:Inter,sans-serif;font-size:.8125rem;display:flex}.article-body .mermaid-loading-spinner{border:2px solid var(--t-border);border-top-color:var(--t-accent);border-radius:50%;width:1rem;height:1rem;animation:.6s linear infinite mermaid-spin}@keyframes mermaid-spin{to{transform:rotate(360deg)}}.article-body .mermaid-error{border-radius:var(--t-pre-radius);color:#dc2626;background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.2);padding:1rem 1.25rem;font-size:.8125rem}.article-body .mermaid-error strong{margin-bottom:.375rem;font-weight:600;display:block}.article-body .mermaid-error pre{color:inherit;white-space:pre-wrap;word-break:break-word;background:0 0;margin:0;padding:0;font-size:.75rem}.dark .article-body .mermaid-svg,.dark .article-body .mermaid-loading{background:#1e1e2e;border-color:rgba(255,255,255,.1)}.dark .article-body .mermaid-error{color:#f87171;background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.3)}@media (max-width:640px){.article-body .mermaid-svg{border-radius:6px;padding:1rem .5rem}.article-body .mermaid-diagram.wide-breakout{width:calc(100vw - 2rem)}}.article-body .grw{--grw-bg:#fff;--grw-text:#52525b;--grw-text-muted:#a1a1aa;--grw-heading:#18181b;--grw-border:rgba(0,0,0,.08);--grw-accent:#3f3f46;background:var(--grw-bg);border:1px solid var(--grw-border);isolation:isolate;--hx:.5;--hy:.5;--holo-opacity:0;--holo-c1:rgba(0,0,0,.04);--holo-c2:rgba(60,60,80,.03);--holo-c3:rgba(0,0,0,.02);--holo-c4:rgba(60,60,80,.01);border-radius:1rem;margin:2.5rem 0;padding:2rem 2rem 1.75rem;animation:6s ease-in-out infinite grw-float;position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.06),0 12px 32px rgba(0,0,0,.04),0 24px 60px rgba(0,0,0,.03),inset 0 1px rgba(255,255,255,.8)}.dark .article-body .grw{--grw-bg:#111114;--grw-text:#a1a1aa;--grw-text-muted:#6b6b76;--grw-heading:#fafafa;--grw-border:rgba(255,255,255,.08);--grw-accent:#d4d4d8;--holo-c1:rgba(255,255,255,.07);--holo-c2:rgba(200,200,220,.05);--holo-c3:rgba(255,255,255,.03);--holo-c4:rgba(200,200,220,.02);box-shadow:0 4px 12px rgba(0,0,0,.25),0 12px 32px rgba(0,0,0,.2),0 24px 60px rgba(0,0,0,.12),inset 0 1px rgba(255,255,255,.04)}.article-body .grw:before{content:"";border-radius:inherit;background:radial-gradient(650px circle at calc(var(--hx)*100%)calc(var(--hy)*100%),var(--holo-c1)0%,var(--holo-c2)25%,var(--holo-c3)45%,var(--holo-c4)65%,transparent 80%);pointer-events:none;z-index:1;mix-blend-mode:screen;opacity:var(--holo-opacity);transition:opacity .4s;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes grw-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.grw-header{z-index:2;flex-direction:column;gap:0;margin-bottom:.5rem;display:flex;position:relative}.grw-logos{align-items:center;gap:.375rem;margin-bottom:.75rem;display:flex}.grw-logos .grw-icon{width:30px;height:30px;color:var(--grw-text-muted)}.grw-logos-divider{color:var(--grw-text-muted);opacity:.4;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.875rem;font-weight:300}.grw-repo-org{color:var(--grw-text-muted);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem;font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:400;line-height:1.3;display:block;overflow:hidden}.grw-repo-name{color:var(--grw-heading);letter-spacing:-.02em;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.375rem;font-weight:700;line-height:1.25}.grw-description{color:var(--grw-text);z-index:2;margin:0 0 1.25rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9375rem;line-height:1.6;position:relative}.grw-commit{border:1px solid var(--grw-border);z-index:2;background:rgba(0,0,0,.03);border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.625rem .875rem;display:flex;position:relative}.dark .grw-commit{background:rgba(255,255,255,.04)}.grw-commit .grw-icon--branch{width:16px;height:16px;color:var(--grw-text-muted);flex-shrink:0}.grw-commit-text{align-items:center;gap:.5rem;min-width:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:flex}.grw-commit-message{color:var(--grw-text);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:400;overflow:hidden}.grw-commit-date{color:var(--grw-text-muted);white-space:nowrap;flex-shrink:0;font-size:.75rem}.grw-commit-message+.grw-commit-date:before{content:"·";color:var(--grw-text-muted);opacity:.5;margin-right:.5rem}.grw-actions{z-index:2;gap:.75rem;display:flex;position:relative}.grw-btn{cursor:pointer;white-space:nowrap;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9375rem;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;display:inline-flex}.grw-btn:hover{text-decoration:none}.grw-btn .grw-icon{flex-shrink:0;width:16px;height:16px}.article-body .grw-btn,.article-body .grw-btn:hover,.article-body .grw-btn:active,.article-body .grw-btn:visited{text-underline-offset:0;text-decoration:none}.article-body .grw-btn--primary,.grw-btn--primary{color:#fff;background:#18181b;border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.12)}.article-body .grw-btn--primary:hover,.grw-btn--primary:hover{color:#fff;background:#27272a;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.grw-btn--primary:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.12)}.article-body .grw-btn--secondary,.grw-btn--secondary{color:#18181b;background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 1px 3px rgba(0,0,0,.08)}.article-body .grw-btn--secondary:hover,.grw-btn--secondary:hover{color:#18181b;background:#f4f4f5;border-color:rgba(0,0,0,.18);transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.1)}.grw-btn--secondary:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.08)}.dark .article-body .grw-btn--primary,.dark .grw-btn--primary{color:#000;background:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:0 1px 3px rgba(0,0,0,.2)}.dark .article-body .grw-btn--primary:hover,.dark .grw-btn--primary:hover{color:#000;background:#f0f0f0;transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,255,255,.1)}.dark .grw-btn--primary:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.2)}.dark .article-body .grw-btn--secondary,.dark .grw-btn--secondary{color:#fff;background:#000;border:1px solid rgba(255,255,255,.15);box-shadow:0 1px 3px rgba(0,0,0,.3)}.dark .article-body .grw-btn--secondary:hover,.dark .grw-btn--secondary:hover{color:#fff;background:#1a1a1a;border-color:rgba(255,255,255,.25);transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.25)}.dark .grw-btn--secondary:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.3)}[data-theme=mascot] .article-body .grw-btn,[data-theme=mascot] .article-body .grw-btn:hover,.dark [data-theme=mascot] .article-body .grw-btn,.dark [data-theme=mascot] .article-body .grw-btn:hover{-webkit-text-decoration:none;text-decoration:none}[data-theme=mascot] .article-body .grw-btn--primary{color:#fff}.dark [data-theme=mascot] .article-body .grw-btn--primary{color:#000}[data-theme=mascot] .article-body .grw-btn--secondary{color:#18181b}.dark [data-theme=mascot] .article-body .grw-btn--secondary{color:#fff}.grw-btn:focus-visible{outline-offset:2px;outline:2px solid rgba(0,0,0,.3)}.dark .grw-btn:focus-visible{outline-offset:2px;outline:2px solid rgba(255,255,255,.4)}@media (prefers-reduced-motion:reduce){.article-body .grw{animation:none}.grw-btn{transition:none}}@media (max-width:640px){.article-body .grw{border-radius:.75rem;margin:2rem 0;padding:1.25rem}.grw-logos .grw-icon{width:26px;height:26px}.grw-repo-name{font-size:1.125rem}.grw-description{font-size:.875rem}.grw-actions{flex-direction:column;gap:.5rem}.grw-btn{justify-content:center;padding:.75rem 1.25rem}.grw-commit-text{flex-direction:column;align-items:flex-start;gap:.125rem}.grw-commit-message+.grw-commit-date:before{display:none}}
.blog-featured{max-width:1100px;margin:0 auto;padding:3rem 2rem 0}.blog-featured-link{border-bottom:1px solid var(--t-border);cursor:pointer;padding-bottom:3rem;text-decoration:none;transition:border-color .4s;display:block}.blog-featured-link:focus-visible{outline:2px solid var(--t-accent);outline-offset:8px;border-radius:2px}.blog-featured-upper{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.blog-featured-label{text-transform:uppercase;letter-spacing:.1em;color:var(--t-accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;font-weight:600;transition:color .4s}.blog-featured-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--t-muted);border-left:1px solid var(--t-border);padding-left:.75rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;font-weight:500;transition:color .4s,border-color .4s}.blog-featured-title{font-family:var(--t-heading-font,"Rawlinson Cond",Georgia,serif);letter-spacing:-.6px;color:var(--t-heading);max-width:820px;margin:0 0 1.25rem;font-size:max(2.25rem,min(4.5vw,3.75rem));font-weight:400;line-height:1.06;transition:color .4s}.blog-featured-link:hover .blog-featured-title{color:var(--t-accent)}.blog-featured-excerpt{color:var(--t-muted);max-width:680px;margin:0 0 1.75rem;font-family:"Source Serif 4",Source Serif Pro,Georgia,serif;font-size:1.1875rem;line-height:1.6;transition:color .4s}.blog-featured-lower{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:flex}.blog-featured-meta{color:var(--t-muted);align-items:center;gap:.375rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.8125rem;transition:color .4s;display:flex}.blog-featured-meta svg{opacity:.45;flex-shrink:0}.blog-meta-dot{opacity:.3}.blog-featured-pills{flex-wrap:wrap;gap:.375rem;display:flex}.blog-pill{color:var(--t-muted);background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.08);border-radius:9999px;padding:.25rem .625rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;font-weight:500;transition:color .4s,background .4s,border-color .4s}.blog-featured-cta{font-family:var(--t-body-font,"Inter",sans-serif);color:var(--t-accent);align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;transition:gap .2s;display:inline-flex}.blog-featured-link:hover .blog-featured-cta{gap:.75rem}.blog-categories{flex-wrap:wrap;align-items:center;gap:.5rem;max-width:1100px;margin:0 auto;padding:2.5rem 2rem 0;display:flex}.blog-category-pill{letter-spacing:-.01em;color:var(--t-muted);border:1px solid var(--t-border);cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:.4375rem;min-height:2.75rem;padding:.5rem 1rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.8125rem;font-weight:500;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.blog-category-pill:hover{color:var(--t-heading);border-color:var(--t-heading)}.blog-category-pill:focus-visible{outline:2px solid var(--t-accent);outline-offset:2px}.blog-category-pill.active{color:var(--t-accent);border-color:var(--t-accent);background:rgba(255,138,61,.06)}.blog-category-pill svg{opacity:.55;flex-shrink:0}.blog-category-pill:hover svg,.blog-category-pill.active svg{opacity:1}.blog-listing{max-width:1100px;margin:0 auto;padding:2rem 2rem 5rem}.blog-listing-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.blog-card{cursor:pointer;background:0 0;flex-direction:column;text-decoration:none;transition:opacity .2s;display:flex}.blog-card:hover{opacity:.75}.blog-card:focus-visible{outline:2px solid var(--t-accent);outline-offset:4px}.blog-card-cover{aspect-ratio:4/3;object-fit:cover;border-radius:4px;flex-shrink:0;width:100%;display:block}.blog-card-body{flex-direction:column;flex:1;min-width:0;padding:1rem 0;display:flex}.blog-card-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--t-accent);margin-bottom:.75rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;font-weight:600;transition:color .4s}.blog-card-title{font-family:var(--t-body-font,"Inter",-apple-system,sans-serif);color:var(--t-heading);letter-spacing:-.3px;margin:0;font-size:1.1875rem;font-weight:600;line-height:1.3;transition:color .4s}.blog-card:hover .blog-card-title{color:var(--t-accent)}.blog-card-excerpt{font-family:var(--t-body-font,"Inter",-apple-system,sans-serif);color:var(--t-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.625rem 0 0;font-size:.9375rem;line-height:1.6;transition:color .4s;display:-webkit-box;overflow:hidden}.blog-card-meta{color:var(--t-muted);align-items:center;gap:.375rem;margin-top:auto;padding-top:1.25rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;transition:color .4s;display:flex}.blog-card-meta svg{opacity:.4;flex-shrink:0}[data-theme=mascot] .blog-category-pill{border-color:rgba(0,0,0,.1)}.dark [data-theme=mascot] .blog-featured-link{border-bottom-color:rgba(255,255,255,.08)}.dark [data-theme=mascot] .blog-featured-tag{border-left-color:rgba(255,255,255,.08)}.dark [data-theme=mascot] .blog-pill{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}.dark [data-theme=mascot] .blog-category-pill{border-color:rgba(255,255,255,.1)}.dark [data-theme=mascot] .blog-category-pill:hover{color:#f0f0f0;border-color:rgba(255,255,255,.25)}.dark [data-theme=mascot] .blog-category-pill.active{background:rgba(255,138,61,.08)}@media (prefers-reduced-motion:reduce){.blog-featured-link,.blog-featured-cta,.blog-card,.blog-category-pill{transition:none}}@media (max-width:768px){.blog-featured{padding:2rem 1.25rem 0}.blog-featured-link{padding-bottom:2.25rem}.blog-featured-title{margin-bottom:1rem;font-size:max(2rem,min(6vw,2.75rem))}.blog-featured-excerpt{font-size:1.0625rem}.blog-categories{gap:.4375rem;padding:2rem 1.25rem 0}.blog-category-pill{min-height:2.5rem;padding:.4375rem .875rem;font-size:.75rem}.blog-listing{padding:1.5rem 1.25rem 3.5rem}.blog-listing-grid{grid-template-columns:1fr;gap:1rem}}@media (max-width:540px){.blog-featured{padding:1.5rem 1rem 0}.blog-featured-link{padding-bottom:2rem}.blog-featured-title{font-size:max(1.75rem,min(7vw,2.25rem))}.blog-featured-excerpt{margin-bottom:1.25rem;font-size:1rem}.blog-featured-lower{flex-direction:column;align-items:flex-start;gap:.75rem}.blog-categories{gap:.375rem;padding:1.5rem 1rem 0}.blog-category-pill{min-height:2.25rem;padding:.375rem .75rem;font-size:.6875rem}.blog-listing{padding:1.25rem 1rem 3rem}.blog-card-body{padding:.75rem 0}.blog-card-title{font-size:1.0625rem}.blog-card-excerpt{font-size:.875rem}.blog-listing-grid{gap:.875rem}}
/*# sourceMappingURL=83f8a2275c840fc5.css.map*/