:root{color-scheme:light;--page: var(--site-page);--surface: var(--site-surface);--ink: var(--site-ink);--muted: var(--site-muted);--line: var(--site-border);--brand: var(--site-accent);--brand-gradient: linear-gradient( 110deg, #a855f7 0%, #6d28d9 38%, #2563eb 72%, #22d3ee 100% );--dark: var(--site-inverse);--ink-soft: var(--site-muted);--font: var(--font-sans)}*{box-sizing:border-box}html{background:var(--page);scroll-behavior:smooth}body{display:flex;min-width:320px;min-height:100vh;margin:0;flex-direction:column;background:var(--site-page);color:var(--ink);font-family:var(--font);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:4px}.blog-main,.article-main{margin-inline:auto;flex:1}.blog-main{padding:130px 0 120px}.blog-hero{display:grid;padding:42px 0 54px;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:end;gap:64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.blog-eyebrow{margin:0 0 18px;color:var(--site-accent-text);font-size:var(--type-caption);font-weight:760;letter-spacing:.14em;text-transform:uppercase}.blog-hero h1,.article-header h1{margin:0;font-size:clamp(50px,6vw,72px);font-weight:660;letter-spacing:-.068em;line-height:.98}.blog-hero h1 em{color:var(--site-accent-text);font-family:var(--font-sans);font-weight:500}.blog-hero-intro>p{max-width:420px;margin:0 0 24px;color:var(--muted);font-size:17px;letter-spacing:-.015em}.blog-hero-intro span{color:var(--site-subtle);font-size:var(--type-caption);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.blog-grid{padding-top:28px}.blog-grid{display:grid;grid-template-columns:1fr;gap:14px}.blog-card{min-width:0;grid-column:1 / -1}.blog-card>a{display:grid;min-height:238px;grid-template-columns:minmax(260px,360px) minmax(0,1fr)}.blog-card .blog-card-image{height:100%;aspect-ratio:auto;object-position:center;border-right:1px solid var(--line);border-bottom:0}.blog-card .blog-card-body{min-height:238px}.blog-card>a{flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#ffffffc7;box-shadow:0 14px 38px #1e1c230b;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.blog-card>a:hover{border-color:#8b3dff47;box-shadow:0 20px 50px #1e1c2314;transform:translateY(-3px)}.blog-card-image{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-bottom:1px solid var(--line)}.blog-card-body{display:flex;min-height:238px;flex:1;flex-direction:column;padding:25px 30px 27px}.blog-card-topline,.article-byline{display:flex;flex-wrap:wrap;gap:8px;color:var(--site-subtle);font-size:var(--type-caption);font-weight:680;letter-spacing:.06em;text-transform:uppercase}.blog-card-topline{justify-content:space-between}.blog-card h2{margin:24px 0 10px;font-size:clamp(25px,2.6vw,34px);letter-spacing:-.05em;line-height:1.08}.blog-card p{margin:0;color:var(--muted);font-size:var(--type-body)}.blog-card strong{margin-top:auto;padding-top:20px;color:var(--site-accent-text);font-size:var(--type-caption)}.blog-empty{grid-column:1 / -1;padding:64px 32px;border:1px dashed rgba(30,28,35,.18);border-radius:22px;text-align:center}.blog-empty>span{color:var(--site-accent-text);font-size:23px}.blog-empty h2{margin:15px 0 8px;font-size:27px;letter-spacing:-.04em}.blog-empty p{margin:0;color:var(--muted)}.article-main{padding:130px 0 120px}.article-main article{margin-inline:auto}.article-header{padding-bottom:56px;border-bottom:1px solid var(--line)}.article-cover{width:min(920px,calc(100vw - var(--layout-gutter) * 2));margin:40px 0 0 50%;transform:translate(-50%)}.article-cover img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 48px #1e1c2312}.article-back{display:inline-flex;gap:8px;margin-bottom:58px;color:var(--muted);font-size:var(--type-caption);text-decoration:none}.article-back:hover{color:var(--site-accent-text)}.article-header h1{font-size:clamp(45px,6.2vw,72px)}.article-description{margin:25px 0 26px;color:var(--muted);font-size:19px;line-height:1.55}.article-content{padding-top:54px;color:var(--site-ink);font-family:var(--font-sans);font-size:var(--type-lede);line-height:1.82}.article-content h2,.article-content h3{color:var(--ink);font-family:var(--font);letter-spacing:-.04em;line-height:1.18}.article-content h2{margin:58px 0 18px;font-size:32px}.article-content h3{margin:42px 0 14px;font-size:23px}.article-content p,.article-content ul,.article-content ol,.article-content blockquote,.article-content pre{margin:0 0 26px}.article-content ul,.article-content ol{padding-left:26px}.article-content li+li{margin-top:8px}.article-content table{width:100%;margin:34px 0 42px;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--site-border);border-radius:18px;background:var(--site-surface);box-shadow:0 12px 30px #1e1c230f;font-size:var(--type-body);line-height:1.45}.article-content th,.article-content td{padding:17px 20px;border-bottom:1px solid var(--site-border);text-align:left;vertical-align:top}.article-content th{background:var(--site-surface-soft);color:var(--site-ink);font-family:var(--font);font-size:var(--type-caption);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.article-content th:first-child,.article-content td:first-child{width:37%}.article-content th:nth-child(2),.article-content td:nth-child(2){width:20%}.article-content tr:last-child td{border-bottom:0}.article-content tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--site-surface-soft) 42%,transparent)}.article-content tbody tr:hover td{background:#8b3dff0f}.article-content a{color:var(--site-accent-text);text-decoration-thickness:1px;text-underline-offset:3px}.article-content blockquote{padding:5px 0 5px 24px;border-left:3px solid rgba(139,61,255,.45);color:var(--site-muted);font-style:italic}.article-content code{padding:.15em .35em;border-radius:5px;background:var(--site-surface-soft);font-family:SFMono-Regular,Consolas,monospace;font-size:.84em}.article-content pre{overflow-x:auto;padding:20px;border-radius:14px;background:var(--site-inverse-surface);color:var(--site-page);font-size:var(--type-label);line-height:1.6}.article-content pre code{padding:0;background:transparent}.article-content img{display:block;max-width:100%;height:auto;margin:38px auto;border-radius:16px}.article-download{margin-top:72px;padding:58px 54px 50px;border-radius:24px;background:radial-gradient(circle at 50% 0,rgba(139,61,255,.28),transparent 52%),var(--site-inverse-surface);color:var(--site-on-inverse);text-align:center}.article-download>img{width:34px;height:34px;margin-bottom:18px}.article-download .blog-eyebrow{margin-bottom:15px;color:#bdb8ef}.article-download h2{margin:0;font-size:clamp(36px,5vw,50px);letter-spacing:-.055em;line-height:1}.article-download>p:not(.blog-eyebrow){max-width:500px;margin:19px auto 27px;color:#c9c6d2;font-size:var(--type-label)}@media(max-width:720px){.blog-main{padding:92px 0 88px}.blog-hero{padding:34px 0 38px;grid-template-columns:1fr;gap:24px}.blog-hero h1{font-size:48px}.blog-hero-intro>p{margin-bottom:16px;font-size:var(--type-body)}.blog-grid{grid-template-columns:1fr}.blog-card>a{min-height:280px}.blog-card>a{display:flex;min-height:280px}.blog-card .blog-card-image{height:auto;aspect-ratio:16 / 9;border-right:0;border-bottom:1px solid var(--line)}.blog-card .blog-card-body{min-height:270px}.blog-card-body{min-height:270px;padding:24px 26px 26px}.article-main{padding:92px 0 88px}.article-back{margin-bottom:42px}.article-header h1{font-size:45px}.article-description{font-size:17px}.article-cover{width:calc(100vw - var(--layout-gutter) * 2);margin-top:36px}.article-cover img{border-radius:18px}.article-content{padding-top:42px;font-size:17px}.article-content table{display:block;overflow-x:auto;margin:28px 0 36px;white-space:normal}.article-content th,.article-content td{min-width:160px;padding:14px 16px}.article-content th:first-child,.article-content td:first-child{min-width:220px}.article-content h2{margin-top:48px;font-size:28px}.article-download{margin-top:56px;padding:44px 22px 38px;border-radius:20px}.article-download h2{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.blog-card>a{transition:none}}
