.cs-related[data-astro-cid-nzmulw3q]{padding:40px 0 16px}.cs-related-head[data-astro-cid-nzmulw3q]{margin-bottom:22px}.cs-related-eyebrow[data-astro-cid-nzmulw3q]{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3, #8b95a8)}.cs-related-track[data-astro-cid-nzmulw3q]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}@media(max-width:1024px){.cs-related-track[data-astro-cid-nzmulw3q]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.cs-related-track[data-astro-cid-nzmulw3q]{grid-template-columns:1fr}}.cs-related-card[data-astro-cid-nzmulw3q]{position:relative;display:flex;flex-direction:column;background:var(--paper, #fff);border:1px solid var(--rule, rgba(26,31,46,.1));border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.cs-related-card[data-astro-cid-nzmulw3q]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--grad-brand-h, linear-gradient(90deg, #7145FC, #f8adf0));transform-origin:left center;transition:height .18s ease,opacity .18s ease;pointer-events:none}a[data-astro-cid-nzmulw3q].cs-related-card:hover{transform:translateY(-3px);border-color:var(--rule-strong, rgba(26,31,46,.2));box-shadow:0 24px 48px -24px #1a1f2e33}a[data-astro-cid-nzmulw3q].cs-related-card:hover:after{height:4px}.cs-related-photo[data-astro-cid-nzmulw3q]{width:100%;aspect-ratio:16 / 10;background-size:cover;background-position:center}.cs-related-body[data-astro-cid-nzmulw3q]{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}.cs-related-index[data-astro-cid-nzmulw3q]{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3, #8b95a8);margin-bottom:14px}.cs-related-logo[data-astro-cid-nzmulw3q]{height:28px;width:auto;max-width:150px;object-fit:contain;object-position:left center;margin-bottom:18px}.cs-related-stat[data-astro-cid-nzmulw3q]{font-family:var(--f-display, system-ui);font-size:24px;font-weight:600;color:var(--navy, #1a1f2e);letter-spacing:-.018em;line-height:1.18}.cs-related-desc[data-astro-cid-nzmulw3q]{margin-top:8px;font-size:14px;color:var(--ink-2, #5a6478);line-height:1.45}.cs-related-arrow[data-astro-cid-nzmulw3q]{margin-top:20px;padding-top:16px;border-top:1px solid var(--rule, rgba(26,31,46,.08));display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3, #8b95a8);transition:color .18s ease}.cs-related-arrow-glyph[data-astro-cid-nzmulw3q]{font-family:var(--f-display, system-ui);font-size:15px;transition:transform .18s ease}a[data-astro-cid-nzmulw3q].cs-related-card:hover .cs-related-arrow[data-astro-cid-nzmulw3q]{color:var(--brand-purple, #7145FC)}a[data-astro-cid-nzmulw3q].cs-related-card:hover .cs-related-arrow-glyph[data-astro-cid-nzmulw3q]{transform:translate(4px)}.cs-related-card[data-astro-cid-nzmulw3q].is-prep{background:var(--paper-2, #fafaf9);cursor:default}.cs-related-card[data-astro-cid-nzmulw3q].is-prep:after{opacity:.25}.cs-related-card[data-astro-cid-nzmulw3q].is-prep .cs-related-photo[data-astro-cid-nzmulw3q]{filter:grayscale(.55) saturate(.85);opacity:.82}.cs-related-card[data-astro-cid-nzmulw3q].is-prep .cs-related-logo[data-astro-cid-nzmulw3q]{opacity:.55}.cs-related-card[data-astro-cid-nzmulw3q].is-prep .cs-related-stat[data-astro-cid-nzmulw3q]{color:var(--ink-2, #5a6478)}.cs-related-card[data-astro-cid-nzmulw3q].is-prep .cs-related-desc[data-astro-cid-nzmulw3q]{color:var(--ink-3, #8b95a8)}.cs-related-prep[data-astro-cid-nzmulw3q]{position:absolute;top:14px;right:14px;z-index:2;font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink, #1a1f2e);padding:6px 11px;border-radius:999px;background:#fffffff0;backdrop-filter:blur(6px);box-shadow:0 4px 12px -4px #1a1f2e2e;white-space:nowrap}.cmp{--cmp-l:18%;--cmp-w:20.5%;margin-top:56px;padding-top:72px;border-top:1px solid var(--rule)}.cmp-head{max-width:64ch;margin-bottom:32px}.cmp-h{margin:0;font:600 clamp(28px,3.2vw,40px)/1.12 var(--f-display);letter-spacing:-.02em;color:var(--navy);text-wrap:balance}.cmp-lede{margin:14px 0 0;font-size:17px;line-height:1.55;color:var(--ink-2)}.cmp-legend{display:flex;flex-wrap:wrap;gap:8px 22px;margin:18px 0 0;font-size:13.5px;color:var(--ink-2)}.cmp-legend span{display:inline-flex;align-items:center;gap:8px}.cmp-legend .cmp-mark{position:relative;left:auto;top:auto}.cmp-tabs{display:none}.cmp-wrap{position:relative}.cmp-card{position:absolute;top:0;bottom:0;left:var(--cmp-l);width:var(--cmp-w);border-radius:18px;background:linear-gradient(180deg,#fff 0%,var(--lavender-tint) 100%);border:1px solid rgba(113,69,252,.22);box-shadow:0 1px #fff inset,0 24px 48px -30px #7145fc73,0 8px 18px -14px #252e3d2e}.cmp-t{position:relative;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:14px;line-height:1.45}.cmp-t th,.cmp-t td{padding:16px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}.cmp-corner{width:var(--cmp-l)}.cmp-t thead th{padding:22px 18px 18px;border-bottom:1.5px solid var(--navy)}.cmp-t thead .cmp-corner{border-bottom:1.5px solid var(--navy)}.cmp-t .cmp-c-edm{border-bottom-color:#7145fc24}.cmp-t thead th.cmp-c-edm{border-bottom-color:#7145fc59}.cmp-name{display:flex;align-items:center;gap:8px;font:600 20px/1.2 var(--f-display);letter-spacing:-.01em;color:var(--navy)}.cmp-logo{display:block;width:22px;height:22px}.cmp-c-edm .cmp-name{color:var(--brand-purple)}.cmp-sub{display:block;margin-top:4px;min-height:2.7em;font-size:12.5px;font-weight:400;line-height:1.35;color:var(--ink-3)}.cmp-meter{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-top:12px;max-width:168px}.cmp-meter i{height:6px;border-radius:3px;background:var(--paper-3);box-shadow:inset 0 0 0 1px #252e3d14}.cmp-meter i.is-yes{background:var(--navy);box-shadow:none}.cmp-meter i.is-part{background:linear-gradient(90deg,var(--navy) 50%,var(--paper-3) 50%)}.cmp-c-edm .cmp-meter i.is-yes{background:var(--brand-purple)}.cmp-count{display:block;margin-top:7px;font-size:12.5px;font-weight:500;color:var(--ink-2)}.cmp-c-edm .cmp-count{color:var(--purple-deep)}.cmp-t tr.cmp-g th{padding:26px 0 10px;border-bottom:1px solid var(--rule);font:600 13px/1.2 var(--f-body);color:var(--ink-3)}.cmp-t tbody tr.cmp-g:first-child th{padding-top:18px}.cmp-t tbody th[scope=row]{padding-left:0;font-weight:600;color:var(--navy)}.cmp-t td{color:var(--ink-2)}.cmp-t td.cmp-c-edm{color:var(--navy)}.cmp-t tbody tr:last-child>*{border-bottom:0}.cmp-t tbody tr:not(.cmp-g):hover>:not(.cmp-c-edm){background:#252e3d06}.cmp-col{display:none}.cmp-t tbody th[scope=row]{position:relative;padding-left:42px}.cmp-t tbody th[scope=row]:before{content:"";position:absolute;left:0;top:11px;width:30px;height:30px;border-radius:9px;border:1px solid var(--rule);background:#fff var(--ric) center/16px no-repeat;box-shadow:0 1px 2px #252e3d0d}.cmp-r-plc{--ric:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23252e3d%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect width=%2216%22 height=%2216%22 x=%224%22 y=%224%22 rx=%222%22/%3E%3Crect width=%226%22 height=%226%22 x=%229%22 y=%229%22/%3E%3Cpath d=%22M15 2v2M15 20v2M2 15h2M2 9h2M20 15h2M20 9h2M9 2v2M9 20v2%22/%3E%3C/svg%3E")}.cmp-r-robot{--ric:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23252e3d%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 8V4H8%22/%3E%3Crect width=%2216%22 height=%2212%22 x=%224%22 y=%228%22 rx=%222%22/%3E%3Cpath d=%22M2 14h2M20 14h2M15 13v2M9 13v2%22/%3E%3C/svg%3E")}.cmp-r-eplan{--ric:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23252e3d%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 12h-8M21 6H8M21 18h-8%22/%3E%3Cpath d=%22M3 6v4c0 1.1.9 2 2 2h3%22/%3E%3Cpath d=%22M3 10v6c0 1.1.9 2 2 2h3%22/%3E%3C/svg%3E")}.cmp-r-doc{--ric:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23252e3d%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z%22/%3E%3Cpath d=%22M14 2v6h6M16 13H8M16 17H8M10 9H8%22/%3E%3C/svg%3E")}.cmp-r-journal{--ric:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23252e3d%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 3v12%22/%3E%3Ccircle cx=%2218%22 cy=%226%22 r=%223%22/%3E%3Ccircle cx=%226%22 cy=%2218%22 r=%223%22/%3E%3Cpath d=%22M18 9a9 9 0 0 1-9 9%22/%3E%3C/svg%3E")}.cmp-r-sql{--ric:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23252e3d%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cellipse cx=%2212%22 cy=%225%22 rx=%229%22 ry=%223%22/%3E%3Cpath d=%22M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5%22/%3E%3Cpath d=%22M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3%22/%3E%3C/svg%3E")}.cmp-r-check{--ric:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23252e3d%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z%22/%3E%3Cpath d=%22m9 12 2 2 4-4%22/%3E%3C/svg%3E")}.cmp-r-host{--ric:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23252e3d%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z%22/%3E%3C/svg%3E")}.cmp-t td.is-yes,.cmp-t td.is-part,.cmp-t td.is-no{position:relative;padding-left:46px}.cmp-mark{position:absolute;left:18px;top:16px;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;flex-shrink:0}.cmp-mark.is-yes,.is-yes>.cmp-mark{background:var(--navy)}.cmp-mark.is-yes:after,.is-yes>.cmp-mark:after{content:"";width:7px;height:4px;margin-top:-2px;border-left:1.75px solid #fff;border-bottom:1.75px solid #fff;rotate:-45deg}.cmp-c-edm.is-yes>.cmp-mark{background:var(--brand-purple);box-shadow:0 4px 10px -4px #7145fcb3}.cmp-mark.is-part,.is-part>.cmp-mark{background:linear-gradient(90deg,var(--navy) 50%,#fff 50%);box-shadow:inset 0 0 0 1.5px var(--navy)}.cmp-mark.is-no,.is-no>.cmp-mark{background:#d0562b}.cmp-mark.is-no:before,.cmp-mark.is-no:after,.is-no>.cmp-mark:before,.is-no>.cmp-mark:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:1.75px;border-radius:1px;background:#fff;translate:-50% -50%;rotate:45deg}.cmp-mark.is-no:after,.is-no>.cmp-mark:after{rotate:-45deg}.cmp-t td.is-no .cmp-tx{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:no-preference){.cmp.is-armed:not(.is-in) .cmp-mark,.cmp.is-armed:not(.is-in) .cmp-meter i{scale:0;opacity:0}.cmp .cmp-mark,.cmp .cmp-meter i{transition:scale .5s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;transition-delay:calc(var(--d,0) * 45ms)}}@media(max-width:899.98px){.cmp{margin-top:32px;padding-top:48px}.cmp-head{margin-bottom:18px}.cmp-card{display:none}.cmp.has-js .cmp-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px}.cmp-tabs-k{margin-right:4px;font-size:13.5px;color:var(--ink-2)}.cmp-tab{height:34px;padding:0 13px;border-radius:99px;border:1px solid var(--rule);background:var(--paper);font:500 13.5px/1 var(--f-body);color:var(--navy);cursor:pointer}.cmp-tab[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}.cmp-t,.cmp-t tbody,.cmp-t tr,.cmp-t th,.cmp-t td{display:block;width:auto}.cmp-t thead{display:none}.cmp-t tr{padding:16px 0 12px;border-bottom:1px solid var(--rule)}.cmp-t tr.cmp-g{padding:22px 0 0;border-bottom:0}.cmp-t tr.cmp-g th{padding:0!important;border:0}.cmp-t tbody tr:last-child{border-bottom:0}.cmp-t th,.cmp-t td{padding:0;border:0}.cmp-t tbody th[scope=row]{margin-bottom:10px;padding-left:38px;font-size:15.5px;line-height:28px}.cmp-t tbody th[scope=row]:before{top:0;width:28px;height:28px;background-size:15px}.cmp-t td,.cmp-t td.is-yes,.cmp-t td.is-part,.cmp-t td.is-no{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;padding:7px 10px 7px 38px}.cmp-t td.cmp-c-edm{border-radius:10px;background:var(--lavender-tint)}.cmp-col{display:block;font-weight:600;font-size:13.5px;color:var(--ink-2)}.cmp-t td.cmp-c-edm .cmp-col{color:var(--brand-purple)}.cmp-mark{left:10px;top:8px}.cmp.has-js[data-vs=gen] td:is(.cmp-c-lin,.cmp-c-dat),.cmp.has-js[data-vs=lin] td:is(.cmp-c-gen,.cmp-c-dat),.cmp.has-js[data-vs=dat] td:is(.cmp-c-gen,.cmp-c-lin){display:none}}.ts-root{--ts-ink:var(--navy);--ts-body:var(--ink-2);--ts-mut:var(--ink-3);--ts-rule:var(--rule);--ts-p:#7145fc;--ts-paper:var(--paper);--ts-inv:1;--u:calc(1px * var(--ts-inv));position:relative;background:var(--paper);border-top:1px solid var(--rule);font-family:var(--f-body);font-size:16px;line-height:normal;letter-spacing:normal;color:var(--navy);font-feature-settings:normal;-webkit-font-smoothing:antialiased}.ts-root *{box-sizing:content-box}.ts-track{position:relative}.ts-pin{position:sticky;top:0;height:100vh;overflow:hidden}.ts-cv{position:absolute;left:0;top:0;width:100%;height:100%;display:block}.ts-world{position:absolute;left:0;top:0;width:10px;height:10px;transform-origin:0 0}.ts-root .ts-panel{position:absolute;width:1920px;height:1080px}.ts-root .ts-tx,.ts-root .ts-lbl{font-feature-settings:"ss01","ss02","cv11"}.ts-root .ts-h1{font-family:var(--f-display);font-weight:600;font-size:calc(clamp(30px,3.6vw,52px) * var(--ts-inv));line-height:1.05;letter-spacing:-.02em;color:var(--navy);margin:0}.ts-root .ts-h2.ts-hs,.ts-root .ts-h2.ts-hf{font-family:var(--f-display);font-weight:600;font-size:calc(clamp(26px,2.4vw,36px) * var(--ts-inv));line-height:1.15;letter-spacing:-.02em;color:var(--navy);margin:0}.ts-root .ts-grad{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.ts-root .ts-tx .ts-lede{font-family:var(--f-body);font-weight:400;font-size:calc(16.5 * var(--u));line-height:1.55;color:var(--ink-2);margin:calc(14 * var(--u)) 0 0}.ts-root [data-ts-panel="0"] .ts-tx .ts-lede{font-size:calc(clamp(17px,1.4vw,21px) * var(--ts-inv));margin-top:calc(18 * var(--u))}.ts-root .ts-tx .ts-lede code{font-family:var(--f-mono);font-size:calc(14 * var(--u));font-weight:500;background:var(--paper-3);color:var(--purple-deep);padding:calc(1 * var(--u)) calc(6 * var(--u));border-radius:calc(4 * var(--u))}.ts-root .ts-k{font-family:var(--f-mono);font-size:calc(11 * var(--u));font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);gap:calc(10 * var(--u));margin-bottom:calc(14 * var(--u))}.ts-root .ts-k span{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.ts-root .ts-k b{font-weight:600;color:var(--ink-3)}.ts-root .ts-k b:before{content:"/"}.ts-root .ts-k i{display:none}.ts-root .ts-works{margin-top:calc(22 * var(--u));padding-top:0;border-top:0}.ts-root .ts-wk{font-family:var(--f-body);font-size:calc(13 * var(--u));font-weight:600;letter-spacing:0;line-height:1.3;text-transform:none;color:var(--ink-3)}.ts-root .ts-wl{gap:calc(10 * var(--u));margin-top:calc(10 * var(--u))}.ts-root .ts-wl .ts-wlogo{height:calc(18 * var(--u))!important;width:auto;max-width:calc(118 * var(--u));object-fit:contain;padding:calc(10 * var(--u)) calc(13 * var(--u));border:calc(1 * var(--u)) solid var(--rule);border-radius:calc(9 * var(--u));background:#fff}.ts-root .ts-wl .ts-wi{height:calc(38 * var(--u));padding:0 calc(14 * var(--u));border:calc(1 * var(--u)) solid var(--rule);border-radius:calc(9 * var(--u));background:var(--paper-2);font-family:var(--f-mono);font-size:calc(11.5 * var(--u));font-weight:500;letter-spacing:.04em;color:var(--ink-2);gap:calc(8 * var(--u))}.ts-root .ts-wl .ts-wi .ts-i{width:calc(16 * var(--u));height:calc(16 * var(--u))}.ts-root .ts-lbl{gap:calc(7 * var(--u))}.ts-root .ts-lbl .ts-ln{font-family:var(--f-mono);font-size:calc(11 * var(--u));font-weight:600;letter-spacing:.14em;line-height:1;text-transform:uppercase}.ts-root .ts-lbl .ts-lr{gap:calc(12 * var(--u))}.ts-root .ts-lbl .ts-lr img{height:calc(15 * var(--u))!important}.ts-root .ts-lbl .ts-li{font-family:var(--f-body);font-size:calc(12 * var(--u));font-weight:500;color:var(--ink-2);gap:calc(5 * var(--u))}.ts-root .ts-lbl .ts-li .ts-i{width:calc(14 * var(--u));height:calc(14 * var(--u))}.ts-root .ts-panel .ts-a-card{border:calc(1 * var(--u)) solid var(--rule);border-radius:calc(14 * var(--u));box-shadow:0 calc(1 * var(--u)) 0 #1a1f2e0a,0 calc(28 * var(--u)) calc(64 * var(--u)) calc(-28 * var(--u)) #1a1f2e33}.ts-root .ts-ui.ts-app>div{border:calc(.773 * var(--u)) solid var(--rule);border-radius:calc(10.82 * var(--u));box-shadow:0 calc(.773 * var(--u)) 0 #1a1f2e0a,0 calc(21.64 * var(--u)) calc(49.45 * var(--u)) calc(-21.64 * var(--u)) #1a1f2e33}.ts-root .ts-ans h4{font-family:inherit;color:inherit;letter-spacing:normal}.ts-root .ts-jn>span:not([class]){white-space:nowrap}.ts-root .ts-in{opacity:1;transform:none;filter:none;transition:none}.ts-root .ts-ans .ts-cchip{cursor:default;transition:box-shadow .2s ease,background-color .2s ease}.ts-root .ts-ans .ts-cchip.ts-hov{background-color:#f6f2ff;box-shadow:inset 0 0 0 1.2px #7145fc}.ts-root .ts-win .ts-ans{padding:calc(4 * var(--u)) 0 0;border-radius:0}.ts-root .ts-mb{display:none}.ts-root.ts-stack .ts-track{height:auto!important}.ts-root.ts-stack .ts-pin{position:relative;height:auto;overflow:visible}.ts-root.ts-stack .ts-cv,.ts-root.ts-stack .ts-lbl{display:none}.ts-root.ts-stack .ts-world{position:relative;width:auto;height:auto;transform:none!important;padding:64px 20px 72px;max-width:680px;margin:0 auto}.ts-root.ts-stack .ts-panel{position:relative;left:auto!important;top:auto!important;width:auto;height:auto;visibility:visible!important;display:flex;flex-direction:column}.ts-root.ts-stack .ts-panel+.ts-panel{margin-top:72px}.ts-root.ts-stack .ts-tx,.ts-root.ts-stack .ts-ui,.ts-root.ts-stack [data-ts=chat],.ts-root.ts-stack [data-ts=chat2]{position:relative!important;left:auto!important;top:auto!important;right:auto!important}.ts-root.ts-stack .ts-tx{width:auto!important}.ts-root.ts-stack .ts-ui{transform:none!important;margin-top:28px;align-self:flex-start}.ts-root.ts-stack [data-ts=chat],.ts-root.ts-stack [data-ts=chat2]{margin-top:4px;align-self:flex-start;scale:none!important}.ts-root.ts-stack [data-ts=qb]{white-space:normal}.ts-root.ts-stack .ts-mb{display:block;width:100%;margin:22px 0 10px}.ts-root.ts-stack [data-ts=chat],.ts-root.ts-stack [data-ts=chat2]{width:520px!important}.ts-root.ts-stack .ts-win .ts-bubble{white-space:normal}.ts-panel{position:absolute;width:1920px;height:1080px}.ts-lbl{position:absolute;white-space:nowrap;transform:translate(-50%)}.ts-in{opacity:0;transform:translateY(22px);transition:opacity .35s ease,transform .35s ease}.ts-panel.ts-on .ts-in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .9s cubic-bezier(.2,.7,.2,1) var(--d,0s)}.ts-tx{position:absolute}.ts-k{font:600 17px/1 JetBrains Mono,monospace;letter-spacing:3px;color:var(--ts-p);text-transform:uppercase;display:flex;gap:14px;align-items:center}.ts-k b{font-weight:700}.ts-k i{font-style:normal;color:#9aa0b0}.ts-h1,.ts-h2{font-family:Space Grotesk,sans-serif;font-weight:700;color:var(--ts-ink);margin:0;text-wrap:balance}.ts-h1{font-size:78px;line-height:1.02;letter-spacing:-2.4px}.ts-h2{font-size:62px;line-height:1.04;letter-spacing:-1.8px;margin-top:26px}.ts-grad{background-image:linear-gradient(80deg,#7145fc,#c58cf0);-webkit-background-clip:text;background-clip:text;color:transparent}.ts-lede{font-size:26px;line-height:1.42;color:var(--ts-body);margin:24px 0 0;font-weight:500}.ts-lede code{font-family:JetBrains Mono,monospace;font-size:.84em;font-weight:600;color:var(--ts-ink);background:#f1eefc;border-radius:6px;padding:1px 7px}.ts-ui{position:absolute;transform-origin:0 0}.ts-a{font-family:Inter,sans-serif;color:#09090b;-webkit-font-smoothing:antialiased}.ts-a-card{position:absolute;background:#fff;border-radius:14.4px;border:1.2px solid #E4E4E7;box-shadow:0 3.33px 10px #3f2e8c0d,0 36.67px 80px #3f2e8c21;overflow:hidden;box-sizing:border-box}.ts-ui .ts-a-card{position:relative}.ts-i{display:block;flex:0 0 auto}.ts-sp{flex:1}.ts-mono{font-family:JetBrains Mono,monospace}.ts-win-bar{height:52.8px;border-bottom:1.2px solid #E4E4E7;display:flex;align-items:center;gap:12px;padding:0 19.2px}.ts-dots{display:flex;gap:7.2px;margin-right:9.6px}.ts-dots i{width:10.8px;height:10.8px;border-radius:99px;background:#d4d4d8}.ts-cr{font-size:16.8px;color:#71717b}.ts-cr.ts-now{color:#09090b;font-weight:500}.ts-win-body{display:flex;flex-direction:column;gap:16.8px;padding:21.6px 21.6px 19.2px}.ts-bubble{align-self:flex-end;max-width:86%;background:#f4f4f5;border-radius:28.8px;padding:12px 24px;font-size:19.2px;line-height:28.8px;color:#09090b;white-space:nowrap}.ts-steps{display:flex;flex-direction:column;gap:9.6px;margin-bottom:12px}.ts-step{display:flex;align-items:center;gap:12px;border:1.2px solid #E4E4E7;background:#fafafa;border-radius:9.6px;padding:9.6px 16.8px;font-size:16.8px;color:#52525c}.ts-step .ts-sl{flex:1}.ts-spin{display:block;animation:ts-spin 1s linear infinite}@keyframes ts-spin{to{transform:rotate(360deg)}}.ts-composer{border:1.2px solid #E4E4E7;border-radius:9.6px;background:#fff;padding:14.4px 14.4px 9.6px}.ts-composer .ts-cph{font-size:19.2px;line-height:1.45;color:#71717b;padding:0 2.4px}.ts-cbar{display:flex;align-items:center;gap:9.6px;margin-top:12px}.ts-cb{width:40.8px;height:40.8px;border-radius:7.2px;border:1.2px solid #E4E4E7;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.ts-send{width:43.2px;height:43.2px;border-radius:7.2px;background:#9810fa;opacity:.5;display:flex;align-items:center;justify-content:center}.ts-ph{display:flex;align-items:center;gap:9.6px;padding:14.4px 19.2px;border-bottom:1.2px solid #E4E4E7}.ts-ph .ts-pt{font-size:18px;font-weight:600;flex:1}.ts-pathbar{display:flex;align-items:center;gap:12px;margin:12px 14.4px 0;height:43.2px;border:1.2px solid #E4E4E7;border-radius:9.6px;padding:0 12px;box-sizing:border-box}.ts-tag{font-family:JetBrains Mono,monospace;font-size:14.4px;font-weight:600;background:#f4f4f5;color:#52525c;border-radius:4.8px;padding:2.4px 8.4px}.ts-pp{font-size:16.2px;color:#52525c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-code{position:relative;padding:14.4px 0 19.2px;font-family:JetBrains Mono,monospace;font-size:18.6px}.ts-code .ts-cl{position:relative;display:flex;align-items:center;height:32.4px;white-space:pre}.ts-code .ts-ln{width:76.8px;padding-right:19.2px;text-align:right;color:#9f9fa9;box-sizing:border-box;flex:0 0 auto}.ts-code .ts-cl.ts-hot .ts-ln{transition:color .35s ease}.ts-code .ts-cl.ts-hot.ts-lit .ts-ln{color:#9810fa}.ts-hlbar{position:absolute;left:0;width:100%;background:#faf5ff;border-left:3.6px solid #9810FA;transform-origin:0 50%;transform:scaleX(0);transition:transform .35s ease}.ts-hlbar.ts-lit{transform:scaleX(1);transition:transform .8s cubic-bezier(.16,1,.3,1)}.ts-k-kw{color:#e11d48}.ts-k-id{color:#27272a}.ts-k-op{color:#52525c}.ts-k-str{color:#15803d}.ts-k-cm{color:#9f9fa9;font-style:italic}.ts-k-bool{color:#2563eb}.ts-k-tok{color:#9f9fa9;font-style:italic;border-radius:4.8px;transition:color .35s,background .35s,box-shadow .35s}.ts-code .ts-k-id[data-hl]{border-radius:4.8px;transition:color .35s,background .35s,box-shadow .35s}.ts-cl.ts-hot .ts-k-str{transition:color .35s}.ts-cl.ts-hot.ts-lit .ts-k-str{color:#8200db;font-weight:700}.ts-code .ts-k-tok.ts-lit,.ts-code .ts-k-id.ts-lit{color:#8200db;font-weight:700;background:#f3e8ff;box-shadow:0 0 0 2.4px #f3e8ff;font-style:normal}.ts-sh-h{display:flex;align-items:center;gap:9.6px;height:52.8px;padding:0 19.2px;border-bottom:1.2px solid #E4E4E7}.ts-sh-h .ts-fn{font-size:18px;font-weight:500;text-decoration:underline;text-underline-offset:3.6px}.ts-tb{width:31.2px;height:31.2px;border-radius:7.2px;display:flex;align-items:center;justify-content:center;margin-left:4.8px}.ts-pg{margin-left:14.4px;border:1.2px solid #E4E4E7;border-radius:7.2px;padding:2.4px 9.6px;font-size:15.6px}.ts-pgm{font-size:15.6px;color:#71717b}.ts-sh-canvas{position:relative;margin:14.4px 19.2px 19.2px;height:483px;background:#f4f4f5;border:1.2px solid #E4E4E7;box-sizing:border-box;overflow:hidden}.ts-sh-sheet{position:absolute;left:0;top:0;width:100%;height:100%;background:#fff}.ts-sh-sheet img{position:absolute;left:0;top:0;width:100%;height:100%}.ts-sh-sheet svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}.ts-wire{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .35s ease}.ts-wire.ts-lit{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s cubic-bezier(.45,0,.2,1)}.ts-fade{opacity:0;transition:opacity .3s}.ts-fade.ts-lit{opacity:1;transition:opacity .5s ease}.ts-beam.ts-lit{animation:ts-beam 1.6s ease-in-out .6s infinite}@keyframes ts-beam{50%{opacity:.35}}.ts-rrow .ts-rband{position:absolute;left:0;top:0;bottom:0;width:100%;z-index:-1;box-sizing:border-box;background:#faf5ff;border-left:3px solid #9810FA;transform-origin:0 50%;transform:scaleX(0);transition:transform .35s ease}.ts-rrow.ts-lit .ts-rband{transform:scaleX(1);transition:transform .8s cubic-bezier(.16,1,.3,1)}.ts-rrow .ts-rname{transition:color .35s}.ts-rrow.ts-lit .ts-rname{color:#8200db!important;font-weight:600!important}.ts-rring{transition:box-shadow .4s ease,background-color .4s ease}.ts-rring.ts-lit{box-shadow:0 0 0 1.5px #7145fc,0 0 0 5px #7145fc1f;background-color:#faf8ff!important}.ts-rmark{border-radius:4px;transition:color .35s,background-color .35s,box-shadow .35s}.ts-rmark.ts-lit{color:#8200db!important;background-color:#f3e8ff;box-shadow:0 0 0 2px #f3e8ff}.ts-root.ts-rm [data-hl],.ts-root.ts-rm [data-hl] *,.ts-root.ts-rm [data-hl]:before{transition:none!important}.ts-root.ts-rm .ts-beam{animation:none!important}.ts-jr-card{background:#fafafa;padding:28.8px}.ts-j-top{display:flex;align-items:center;gap:14.4px;height:48px}.ts-jt{font-size:28.8px;line-height:38.4px;font-weight:700}.ts-jbadge{display:inline-flex;align-items:center;background:#f3e8ff;color:#8200db;box-shadow:inset 0 0 0 1.2px #8200db1a;border-radius:7.2px;padding:4.8px 9.6px;font-size:14.4px;line-height:19.2px;font-weight:500}.ts-btn{height:48px;display:inline-flex;align-items:center;gap:9.6px;padding:0 19.2px;border-radius:7.2px;font-size:16.8px;font-weight:500;background:#fff;color:#09090b;box-shadow:inset 0 0 0 1.2px #e4e4e7;white-space:nowrap;box-sizing:border-box}.ts-btn.ts-pri{background:#9810fa;color:#fff;box-shadow:none}.ts-j-h{margin-top:24px;font-size:24px;line-height:33.6px;font-weight:600}.ts-j-tools{display:flex;align-items:center;gap:9.6px;margin-top:16.8px}.ts-search{width:307.2px;height:48px;border-radius:7.2px;box-shadow:inset 0 0 0 1.2px #e4e4e7;background:#fff;display:flex;align-items:center;gap:9.6px;padding:0 14.4px;box-sizing:border-box;font-size:16.8px;color:#71717b}.ts-j-table{margin-top:19.2px;background:#fff;border-radius:7.2px;box-shadow:inset 0 0 0 1.2px #e4e4e7;overflow:hidden}.ts-jr{position:relative;display:flex;align-items:center;height:87.6px;font-size:16.8px;line-height:24px;border-bottom:1.2px solid #E4E4E7}.ts-jr:last-child{border-bottom:0}.ts-jr.ts-hd{height:52.8px;font-weight:500;color:#52525c}.ts-jr>div{position:relative;padding:0 19.2px;box-sizing:border-box}.ts-c0{width:48px;flex:0 0 auto}.ts-c1{flex:1;min-width:0}.ts-c2{width:134.4px;flex:0 0 auto}.ts-c3{width:156px;flex:0 0 auto}.ts-cbx{display:block;width:19.2px;height:19.2px;border-radius:4.8px;box-shadow:inset 0 0 0 1.2px #d4d4d8;background:#fff}.ts-jn{display:flex;align-items:center;gap:9.6px;font-weight:500;white-space:nowrap}.ts-jm{color:#71717b;white-space:nowrap;margin-top:2.4px}.ts-jdot{width:9.6px;height:9.6px;border-radius:9px;background:#d0562b;flex:0 0 auto;transform:scale(0);transition:transform .3s}.ts-jr.ts-stop.ts-lit .ts-jdot{transform:scale(1);transition:transform .45s cubic-bezier(.3,1.6,.5,1) var(--d2)}.ts-jr.ts-stop:before{content:"";position:absolute;left:0;top:9.6px;bottom:9.6px;width:3.6px;border-radius:3px;background:#d0562b;transform:scaleY(0);transition:transform .3s}.ts-jr.ts-stop.ts-lit:before{transform:scaleY(1);transition:transform .45s cubic-bezier(.3,1.4,.5,1) var(--d2)}.ts-jcite{flex:0 0 auto;border-radius:999px;padding:4.8px 9.6px;background:#9810fa33;color:#9810fa;font-size:14.4px;line-height:19.2px;font-weight:600;transform:scale(0);transform-origin:0 50%;transition:transform .3s}.ts-jcite.ts-lit{transform:scale(1);transition:transform .5s cubic-bezier(.3,1.6,.5,1)}.ts-bdg{display:inline-flex;align-items:center;border-radius:7.2px;padding:4.8px 9.6px;font-size:14.4px;line-height:19.2px;font-weight:500;white-space:nowrap}.ts-bdg.ts-ok{background:#f0fdf4;color:#15803d;box-shadow:inset 0 0 0 1.2px #16a34a33}.ts-bdg.ts-mu{background:#fafafa;color:#52525c;box-shadow:inset 0 0 0 1.2px #71717a1a}.ts-j-foot{display:flex;align-items:center;gap:12px;margin-top:16.8px;height:38.4px;font-size:16.8px;color:#52525c}.ts-j-foot .ts-pp{display:inline-flex;align-items:center;gap:12px;height:38.4px;box-sizing:border-box;padding:0 12px;border-radius:7.2px;background:#fff;box-shadow:inset 0 0 0 1.2px #e4e4e7;color:#09090b;font-size:16.8px}.ts-ans{padding:26.4px;border-radius:16.8px}.ts-ans p{margin:0;font-size:19.2px;line-height:33.6px;color:#09090b}.ts-ans p+p,.ts-ans .ts-chips+p{margin-top:14.4px}.ts-ans b{font-weight:600}.ts-chips{display:flex;flex-wrap:wrap;gap:9.6px;margin-top:7.2px}.ts-cchip{display:inline-flex;align-items:center;height:31.2px;box-sizing:border-box;padding:0 9.6px;border-radius:7.2px;background:#fafafa;box-shadow:inset 0 0 0 1.2px #d4d4d8;font-size:14.4px;line-height:19.2px;white-space:nowrap}.ts-cchip .ts-i{margin-right:7.2px}.ts-cf{font-weight:500;color:#27272a}.ts-cpg{margin-left:9.6px;color:#71717b}.ts-ans h4{margin:21.6px 0 0;font-size:24px;line-height:38.4px;font-weight:600}.ts-ans .ts-hl{background:linear-gradient(#e7e6fa,#e7e6fa) no-repeat 0 50%/0% 82%;border-radius:4.8px;padding:0 3.6px;margin:0 -3.6px;transition:background-size .2s}.ts-panel.ts-on .ts-ans .ts-hl{background-size:100% 82%;transition:background-size .9s cubic-bezier(.3,0,.2,1) 1.9s}.ts-rate{display:flex;align-items:center;gap:9.6px;margin-top:19.2px}.ts-rb{width:38.4px;height:38.4px;border-radius:7.2px;box-shadow:inset 0 0 0 1.2px #e4e4e7;display:flex;align-items:center;justify-content:center}.ts-rt{font-style:italic;font-size:16.2px;color:#9f9fa9;margin-left:4.8px}.ts-works{margin-top:40px;padding-top:22px;border-top:1px solid var(--ts-rule)}.ts-wk{font:600 13px/1 JetBrains Mono,monospace;letter-spacing:2.4px;text-transform:uppercase;color:#9aa0b0}.ts-wl{display:flex;align-items:center;flex-wrap:wrap;gap:16px 34px;margin-top:18px}.ts-wlogo{display:block;width:auto}.ts-wi{display:inline-flex;align-items:center;gap:10px;font:600 19px/1 DM Sans,sans-serif;color:#1a1f2e}.ts-lbl{display:flex;flex-direction:column;align-items:center;gap:9px}.ts-lbl .ts-ln{font:600 14px/1 JetBrains Mono,monospace;letter-spacing:2.4px}.ts-lbl .ts-lr{display:flex;align-items:center;gap:14px}.ts-lbl .ts-lr img{display:block;width:auto}.ts-lbl .ts-li{display:inline-flex;align-items:center;gap:5px;font:600 13px/1 DM Sans,sans-serif;color:#3f4555}.ts-win .ts-cq{opacity:0;transform:translateY(14px) scale(.98);transform-origin:100% 100%;transition:none}.ts-win .ts-cq.ts-show{opacity:1;transform:none;transition:opacity .35s ease,transform .5s cubic-bezier(.2,1.2,.4,1)}.ts-win .ts-cs{opacity:0;transform:translateY(12px);transition:none}.ts-win .ts-cs.ts-show{opacity:1;transform:none;transition:opacity .3s ease,transform .45s cubic-bezier(.2,1,.3,1)}.ts-st-r{display:flex;align-items:center;justify-content:center;width:21.6px;height:21.6px}.ts-st-spin{display:none}.ts-st-chev,.ts-step.ts-run .ts-st-spin{display:block}.ts-step.ts-run .ts-st-chev{display:none}.ts-step.ts-run{border-color:#e9d4ff;background:#fcfaff}.ts-cph{position:relative;min-height:27.8px}.ts-cph .ts-typed{color:#09090b}.ts-cph .ts-caret{display:none;width:1.8px;height:22px;background:#09090b;margin-left:2px;vertical-align:text-bottom;animation:ts-blink 1s steps(1) infinite}.ts-cph.ts-typing .ts-caret{display:inline-block}.ts-cph.ts-typing .ts-phx{display:none}@keyframes ts-blink{50%{opacity:0}}.ts-send{transition:opacity .2s,transform .15s}.ts-send.ts-on{opacity:1}.ts-send.ts-press{transform:scale(.86);box-shadow:0 0 0 7px #9810fa2e}.ts-h2.ts-hs{font-size:54px;line-height:1.06;letter-spacing:-1.5px}.ts-h2.ts-hf{font-size:46px;line-height:1.08;letter-spacing:-1.2px}.case-film-play[data-astro-cid-j7pv25f6]{position:absolute;left:14px;bottom:14px;z-index:1;display:inline-flex;align-items:center;gap:9px;height:38px;padding:0 14px 0 13px;border:0;border-radius:999px;background:#fffffff0;color:var(--navy);cursor:pointer;font:600 13.5px/1 var(--f-body);white-space:nowrap;box-shadow:0 10px 28px -12px #0a0e1699,0 0 0 1px #1a1f2e0f;transition:scale .25s cubic-bezier(.22,1,.36,1),background-color .2s ease}.case-film-play[data-astro-cid-j7pv25f6] svg[data-astro-cid-j7pv25f6]{color:var(--brand-purple)}.case-film-play[data-astro-cid-j7pv25f6]:hover{scale:1.04;background:#fff}.case-film-play[data-astro-cid-j7pv25f6]:focus-visible{outline:2px solid var(--brand-purple);outline-offset:3px}.case-film-len[data-astro-cid-j7pv25f6]{padding-left:9px;border-left:1px solid var(--rule);font:500 11.5px/1 var(--f-mono);letter-spacing:.04em;color:var(--ink-3)}.film-modal[data-astro-cid-j7pv25f6]{width:min(1120px,calc(100vw - 32px),calc((100vh - 140px) * 16 / 9));max-width:none;max-height:none;margin:auto;padding:0;border:0;overflow:visible;border-radius:14px;background:#000;color:#fff;box-shadow:0 40px 120px -30px #0a0e16a6}.film-modal[data-astro-cid-j7pv25f6][open]{animation:film-in .4s cubic-bezier(.22,1,.36,1)}.film-modal[data-astro-cid-j7pv25f6]::backdrop{background:#141924bd;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.film-modal[data-astro-cid-j7pv25f6] video[data-astro-cid-j7pv25f6]{display:block;width:100%;aspect-ratio:16 / 9;border-radius:14px;background:#000}.film-modal-close[data-astro-cid-j7pv25f6]{position:absolute;right:0;top:-48px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:999px;background:#fffffff0;color:var(--navy);cursor:pointer;transition:background-color .2s ease}.film-modal-close[data-astro-cid-j7pv25f6]:hover{background:#fff}.film-modal-close[data-astro-cid-j7pv25f6]:focus-visible{outline:2px solid #fff;outline-offset:3px}html:has(.film-modal[open]){overflow:hidden}@keyframes film-in{0%{opacity:0;scale:.97}to{opacity:1;scale:1}}@media(prefers-reduced-motion:reduce){.film-modal[data-astro-cid-j7pv25f6][open]{animation:none}.case-film-play[data-astro-cid-j7pv25f6]{transition:none}}
