:root{--up-color-night:#101118;--up-color-ink:#17181c;--up-color-hero-glow:#23244a;--up-color-indigo-deep:#26284d;--up-color-sheet:#fcfcfd;--up-color-dropdown:#1a1b26;--up-color-primary:#4c4fd6;--up-color-primary-hover:#3a3db8;--up-color-primary-bright:#5f62e0;--up-color-accent:#8a8cf0;--up-color-selection:#dedeff;--up-color-mist:#a4a7c4;--up-color-slate-muted:#8f92b4;--up-color-nav:#b7b9d2;--up-color-lavender:#c3c5db;--up-color-lavender-bright:#c9cbe2;--up-color-wordmark:#8b8ea8;--up-color-dot-sep:#3d3f5c;--up-color-gray-body:#33353d;--up-color-gray-soft:#5a5d68;--up-color-gray-faint:#8b8e98;--up-color-green:#3aa06b;--up-color-orange:#e0762f;--up-color-orange-soft:#d97a3d;--up-color-imsg-gray:#e9e9eb;--up-color-imsg-blue:#0b84fe;--up-bg:#000;--up-bg-2:#0d0d0d;--up-bg-3:#1a1a1a;--up-bg-4:#242424;--up-text:#fff;--up-text-sub:#e0e0e0;--up-text-mut:#909090;--up-border:#2a2a2a;--up-blue-ios:#007aff;--up-ease:cubic-bezier(.16, 1, .3, 1)}@keyframes msgIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes typingPulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes statPulse{0%{box-shadow:0 0 #8a8cf08c}70%{box-shadow:0 0 0 9px #8a8cf000}to{box-shadow:0 0 #8a8cf000}}@keyframes caretBlink{0%,45%{opacity:1}50%,to{opacity:0}}@keyframes arcDraw{0%{stroke-dashoffset:1px;opacity:0}20%{opacity:.75}55%{stroke-dashoffset:0;opacity:.75}to{stroke-dashoffset:0;opacity:0}}@keyframes nodeGlow{0%,to{opacity:.5}50%{opacity:1}}@keyframes spherePulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.035)}}@keyframes pxDriftA{0%{transform:translate(0)}50%{transform:translate(16px,-12px)}to{transform:translate(0)}}@keyframes pxDriftB{0%{transform:translate(0)}50%{transform:translate(-14px,10px)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.up-logo-arrow{transform-origin:0 0}.up-logo-arrow-top{animation:2s linear infinite upLogoArrowTopLift,2s linear infinite upLogoArrowTopFlash}.up-logo-arrow-bottom{animation:2s linear infinite upLogoArrowBottomLift,2s linear infinite upLogoArrowBottomFlash}@keyframes upLogoArrowTopLift{0%{animation-timing-function:ease-out;transform:translateY(0)}15%{animation-timing-function:ease-in-out;transform:translateY(-4px)}27.5%{transform:translateY(0)}52.5%{animation-timing-function:ease-out;transform:translateY(0)}60%{animation-timing-function:ease-in-out;transform:translateY(-4px)}72.5%{transform:translateY(0)}90%{transform:translateY(0)}to{transform:translateY(0)}}@keyframes upLogoArrowTopFlash{0%{fill:#08f;animation-timing-function:ease-in-out}15%{fill:#fff;animation-timing-function:ease-in-out}27.5%{fill:#08f;animation-timing-function:cubic-bezier(.5,0,.5,1)}52.5%{fill:#08f;animation-timing-function:ease-in-out}60%{fill:#fff;animation-timing-function:ease-in-out}72.5%{fill:#08f;animation-timing-function:cubic-bezier(.5,0,.5,1)}to{fill:#08f}}@keyframes upLogoArrowBottomLift{0%{animation-timing-function:ease-out;transform:translate(0)translateY(40.965px)translateY(0)}7.5%{animation-timing-function:ease-in-out;transform:translate(0)translateY(40.965px)translateY(-3px)}20%{transform:translate(0)translateY(40.965px)translateY(0)}45%{animation-timing-function:ease-out;transform:translate(0)translateY(40.965px)translateY(0)}52.5%{animation-timing-function:ease-in-out;transform:translate(0)translateY(40.965px)translateY(-3px)}65%{transform:translate(0)translateY(40.965px)translateY(0)}90%{transform:translate(0)translateY(40.965px)translateY(0)}to{transform:translate(0)translateY(40.965px)translateY(0)}}@keyframes upLogoArrowBottomFlash{0%{fill:#08f;animation-timing-function:ease-in-out}7.5%{fill:#fff;animation-timing-function:ease-in-out}20%{fill:#08f;animation-timing-function:cubic-bezier(.5,0,.5,1)}45%{fill:#08f;animation-timing-function:ease-in-out}52.5%{fill:#fff;animation-timing-function:ease-in-out}65%{fill:#08f;animation-timing-function:cubic-bezier(.5,0,.5,1)}to{fill:#08f}}.up-wrap{width:min(1240px,92vw);margin-inline:auto}.up-btn{font-family:var(--font-display);color:#000;transition:all .25s var(--up-ease);cursor:pointer;background:#fff;border:none;border-radius:12px;align-items:center;gap:.4rem;padding:.75rem 1.3rem;font-size:.9rem;font-weight:600;display:inline-flex}.up-btn:hover{background:#ffffffe0}.up-btn.up-btn-ghost{color:var(--up-text);background:#ffffff14;border:1px solid #ffffff38}.up-btn.up-btn-ghost:hover{background:#ffffff24;border-color:#ffffff5c}.up-grain{pointer-events:none;z-index:9999;opacity:.06;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23g)' opacity='.8'/%3E%3C/svg%3E") 0 0/100px 100px;position:fixed;inset:0}@media (width<=700px){.up-grain{display:none}}.up-nav{z-index:900;backdrop-filter:none;transition:background .4s var(--up-ease), border-color .4s var(--up-ease);background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;padding:.35rem .4rem .35rem 1rem;display:flex;position:fixed;top:10px;left:max(16px,50% - 320px);right:max(16px,50% - 320px)}.up-nav.scrolled{backdrop-filter:blur(24px);background:#ffffff1a;border-color:#ffffff1a}.up-nav.menu-open{backdrop-filter:none}.up-nav-logo{font-family:var(--font-display);color:var(--up-text);white-space:nowrap;align-items:center;gap:.4rem;font-size:.88rem;font-weight:700;display:flex}.up-nav-logo-mark{flex:none;width:auto;height:20px}.up-nav-links{white-space:nowrap;align-items:center;gap:1.1rem;margin:0 auto;font-size:.78rem;display:flex;overflow:visible}.up-nav-links a{color:var(--up-text-sub);transition:color .2s;position:relative}.up-nav-links a:hover{color:var(--up-text)}.up-nav .up-btn{white-space:nowrap;border-radius:6px;padding:.35rem .8rem;font-size:.75rem}.up-nav-links>a.up-nav-mobile-only{display:none}@media (width>=841px){.up-nav{justify-content:space-between}.up-nav-links{margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.up-nav-drop{position:relative}.up-nav-drop-btn{font:inherit;color:var(--up-text-sub);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.1rem 0;font-size:.84rem;transition:color .2s;display:flex}.up-nav-drop:hover .up-nav-drop-btn,.up-nav-drop.open .up-nav-drop-btn{color:var(--up-text)}.up-nav-caret{transition:transform .22s var(--up-ease);opacity:.55}.up-nav-drop:hover .up-nav-caret,.up-nav-drop.open .up-nav-caret{opacity:.85;transform:rotate(180deg)}.up-nav-drop-panel{border:1px solid var(--up-border);backdrop-filter:blur(18px);opacity:0;pointer-events:none;min-width:248px;transition:opacity .18s var(--up-ease), transform .22s var(--up-ease);z-index:999;background:#0e0e12f7;border-radius:14px;padding:.6rem;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)translateY(-6px)}.up-nav-drop-panel:before{content:"";height:10px;position:absolute;top:-10px;left:-10px;right:-10px}.up-nav-drop.open .up-nav-drop-panel{opacity:1;pointer-events:all;transform:translate(-50%)translateY(0)}.up-nav-drop-item{border-radius:8px;flex-direction:column;gap:.15rem;padding:.7rem .9rem;text-decoration:none;transition:background .15s;display:flex}.up-nav-drop-item:hover{background:#ffffff0f}.up-nav-drop-label{color:var(--up-text);font-size:.88rem;font-weight:600}.up-nav-drop-sub{color:var(--up-text-mut);font-size:.75rem;line-height:1.3}.up-nav-hamburger{cursor:pointer;color:#fff;z-index:910;background:0 0;border:none;margin:-.4rem;padding:.7rem;display:none}.up-nav-hamburger svg{width:22px;height:22px}@media (width<=840px){.up-nav{padding:.35rem .6rem .35rem .8rem;left:16px;right:16px}.up-nav>.up-btn{display:none}.up-nav-hamburger{align-items:center;margin-left:auto;display:flex}.up-nav-links{z-index:905;-webkit-overflow-scrolling:touch;clip-path:inset(0 0 100%);opacity:0;visibility:hidden;background:#000;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;width:100vw;height:100dvh;margin:0;padding:80px 2rem 2rem;transition:clip-path .45s cubic-bezier(.4,0,.2,1),opacity .35s,visibility 0s .45s;position:fixed;top:0;left:0;overflow-y:auto}.up-nav-links.open{clip-path:inset(0);opacity:1;visibility:visible;transition:clip-path .45s cubic-bezier(.4,0,.2,1),opacity .35s,visibility}.up-nav-links>.up-nav-drop,.up-nav-links>a{opacity:0;transition:opacity .15s,transform .15s;transform:translateY(-8px)}.up-nav-links.open>.up-nav-drop,.up-nav-links.open>a{opacity:1;transition:opacity .3s,transform .3s;transform:translateY(0)}.up-nav-links.open>:first-child{transition-delay:80ms}.up-nav-links.open>:nth-child(2){transition-delay:.14s}.up-nav-links.open>:nth-child(3){transition-delay:.2s}.up-nav-links.open>:nth-child(4){transition-delay:.26s}.up-nav-links.open>:nth-child(5){transition-delay:.32s}.up-nav-links>a{color:#ffffffeb;text-align:left;letter-spacing:-.01em;border-bottom:1px solid #ffffff14;width:100%;padding:.9rem 0;font-size:1.1rem;font-weight:500;text-decoration:none}.up-nav-links>a.up-nav-mobile-only{width:100%;margin-top:auto;margin-bottom:env(safe-area-inset-bottom,0px);color:#000;font-family:var(--font-display);letter-spacing:0;text-align:center;transition:opacity .15s ease, transform .15s ease, background .25s var(--up-ease);background:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.4rem;padding:.9rem 1.3rem;font-size:1rem;font-weight:600;display:inline-flex}.up-nav-links.open>a.up-nav-mobile-only{transition:opacity .3s ease, transform .3s ease, background .25s var(--up-ease)}.up-nav-links>a.up-nav-mobile-only:hover,.up-nav-links>a.up-nav-mobile-only:active{color:#000;background:#ffffffe0}.up-nav-links .up-nav-drop{border-bottom:1px solid #ffffff14;flex-direction:column;align-items:stretch;width:100%;display:flex;position:static}.up-nav-drop-btn{color:#ffffffeb;text-align:left;letter-spacing:-.01em;justify-content:space-between;align-items:center;width:100%;padding:.9rem 0;font-size:1.1rem;font-weight:500;display:flex}.up-nav-drop-btn .up-nav-caret{opacity:.4;transition:transform .3s;display:block}.up-nav-drop.expanded .up-nav-drop-btn .up-nav-caret{transform:rotate(180deg)}.up-nav-drop-panel{pointer-events:all;backdrop-filter:none;opacity:0;background:0 0;border:none;flex-direction:column;gap:0;width:100%;max-height:0;padding:0;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s,padding .35s;display:flex;position:static;overflow:hidden;transform:none}.up-nav-drop.expanded .up-nav-drop-panel{opacity:1;max-height:400px;padding:0 0 .6rem;transform:none}.up-nav-drop-panel:before{display:none}.up-nav-drop-item{text-align:left;border-radius:8px;margin-bottom:.15rem;padding:.55rem .8rem;transition:background .15s}.up-nav-drop-item:active{background:#ffffff14}.up-nav-drop-label{color:#fffc;font-size:.85rem;font-weight:500}.up-nav-drop-sub{color:#ffffff59;margin-top:.1rem;font-size:.65rem}}.up-footer{background:var(--up-bg);color:var(--up-text);margin-top:60px;padding:60px 0 80px;position:relative;overflow:hidden}.up-foot-logo-link{width:fit-content;color:inherit;margin-bottom:.8rem;display:block}.up-foot-logo{width:auto;height:32px;display:block}.up-foot-top{grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:3rem;display:grid}@media (width<=900px){.up-foot-top{grid-template-columns:1fr;gap:2rem}}.up-foot-col b{margin-bottom:.8rem;font-size:.95rem;font-weight:700;display:block}.up-foot-col a{min-height:24px;color:var(--up-text-sub);transition:color .2s var(--up-ease);align-items:center;margin:.25rem 0;font-size:.85rem;display:flex}.up-foot-col a:hover{color:var(--up-text);transform:translate(2px)}.up-foot-col .up-foot-link-btn{min-height:24px;color:var(--up-text-sub);cursor:pointer;text-align:left;transition:color .2s var(--up-ease);background:0 0;border:none;align-items:center;margin:.25rem 0;padding:0;font-family:inherit;font-size:.85rem;display:flex}.up-foot-col .up-foot-link-btn:hover{color:var(--up-text)}.up-foot-social{color:#fff6;transition:color .2s;display:inline-flex}.up-foot-social:hover{color:#fff}@media (width<=600px){.up-footer{padding:40px 0 60px}}@media (width<=480px){.up-wrap{width:min(1240px,94vw)}}*,:before,:after{box-sizing:border-box}html,body{background:var(--up-color-night);color:var(--up-color-ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;line-height:normal;overflow-x:clip}::selection{background:#dedeff}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:2000;color:var(--up-color-ink);background:#fff;border-radius:8px;padding:.5rem 1rem;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--up-blue-ios,#0a84ff);outline-offset:3px}.blog-shell{background:var(--up-bg);min-height:100vh;color:var(--up-text);position:relative;overflow:clip}.blog-shell:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(60% 70% at 50% 0,#0088ff29,#0000 70%);height:620px;position:absolute;inset:0 0 auto}.blog-main{z-index:1;padding:6rem 0;position:relative}.blog-wrap{width:min(100% - 2.5rem,1120px);margin-inline:auto}.blog-narrow{width:min(100% - 2.5rem,720px);margin-inline:auto}.up-foot-wrap{z-index:1;position:relative}.foot-tagline{max-width:28ch;color:var(--up-text-sub);margin:.5rem 0 1rem;font-size:.88rem}.foot-social{gap:1rem;margin-bottom:.8rem;display:flex}.foot-copy{color:var(--up-text-mut);margin:0;font-size:.8rem}.foot-copy a{transition:color .2s}.foot-copy a:hover{color:var(--up-text)}.blog-hero{text-align:center;margin-bottom:3.5rem}.blog-hero h1{letter-spacing:-.035em;margin:0 0 1rem;font-size:clamp(2.5rem,7vw,4.5rem);font-weight:600;line-height:1.04}.blog-hero p{max-width:52ch;color:var(--up-text-sub);margin:0 auto;font-size:1.1rem;line-height:1.55}.post-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.post-card{border:1px solid var(--up-border);background:#111116c7;border-radius:20px;flex-direction:column;height:100%;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.post-card:hover{border-color:#ffffff3d;transform:translateY(-2px)}.post-card img{aspect-ratio:2.5;object-fit:cover;width:100%;height:auto}.post-card-body{flex-direction:column;gap:.6rem;padding:1.25rem 1.4rem 1.5rem;display:flex}.post-card h2{letter-spacing:-.015em;margin:0;font-size:1.2rem;font-weight:600;line-height:1.3}.post-card p{color:var(--up-text-sub);margin:0;font-size:.95rem;line-height:1.55}.post-meta{color:var(--up-text-mut);font-size:.8rem}.post-topics{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.post-topics li{border:1px solid var(--up-border);color:var(--up-text-sub);border-radius:999px;padding:.15rem .6rem;font-size:.75rem}.breadcrumb{color:var(--up-text-mut);margin:0 0 1.5rem;font-size:.85rem}.breadcrumb ol{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li+li:before{content:"/";margin-right:.4rem}.breadcrumb a:hover{color:var(--up-text)}.article-head h1{letter-spacing:-.03em;margin:0 0 1.25rem;font-size:clamp(2rem,5vw,3.1rem);font-weight:600;line-height:1.1}.article-head .byline{color:var(--up-text-sub);flex-wrap:wrap;gap:.35rem 1rem;margin-bottom:2rem;font-size:.92rem;display:flex}.article-head .byline a{color:var(--up-text);text-underline-offset:3px;text-decoration:underline}.article-cover{border:1px solid var(--up-border);border-radius:20px;width:100%;height:auto;margin-bottom:2.5rem}.prose{color:var(--up-text-sub);font-size:1.075rem;line-height:1.75}.prose>*+*{margin-top:1.25rem}.prose h2{letter-spacing:-.02em;color:var(--up-text);margin-top:3rem;font-size:1.75rem;line-height:1.2}.prose h3{color:var(--up-text);margin-top:2.25rem;font-size:1.25rem;line-height:1.3}.prose strong{color:var(--up-text);font-weight:600}.prose a{color:var(--up-text);text-underline-offset:3px;text-decoration:underline #fff6}.prose a:hover{text-decoration-color:currentColor}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.4rem}.prose blockquote{color:var(--up-text);background:#ffffff0a;border-left:3px solid #08f;border-radius:0 12px 12px 0;margin-inline:0;padding:.9rem 1.2rem}.prose blockquote p,.post-figure{margin:0}.post-figure img{border:1px solid var(--up-border);border-radius:16px;width:100%;height:auto}.post-figure figcaption{color:var(--up-text-mut);margin-top:.5rem;font-size:.85rem}.post-figure-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:560px;margin-inline:auto;display:grid}.post-figure-row .post-figure img{aspect-ratio:9/16;object-fit:cover}.prose>.post-figure{max-width:280px;margin-inline:auto}.prose>.post-figure--wide{max-width:none}.product-cta{text-align:center;border:1px solid var(--up-border);background:#111116c7;border-radius:20px;margin-top:3.5rem;padding:2rem}.product-cta h2{letter-spacing:-.02em;margin:0 0 .6rem;font-size:1.5rem}.product-cta p{max-width:46ch;color:var(--up-text-sub);margin:0 auto 1.4rem;line-height:1.55}.related{margin-top:4rem}.related h2{margin:0 0 1.25rem;font-size:1.25rem}.not-found{text-align:center}.not-found h1{letter-spacing:-.03em;margin:0 0 1rem;font-size:clamp(2.5rem,7vw,4rem)}.not-found p{color:var(--up-text-sub);margin:0 0 1.5rem}.not-found .links{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}@media (width<=640px){.blog-main{padding-top:5rem}.post-figure-row{gap:.6rem}}.up-nav-hamburger .icon-close,.up-nav.menu-open .up-nav-hamburger .icon-open{display:none}.up-nav.menu-open .up-nav-hamburger .icon-close{display:block}
