:root{--tile-bg: #ffffff;--tile-edge: rgba(255, 255, 255, .5);--tile-ink: #0e0f11}:root[data-theme=light]{--tile-bg: #f1f3f5;--tile-edge: var(--hair)}.tt{display:inline-flex;align-items:center;gap:.7rem;--ts: 44px}.tt--sm{--ts: 28px}.tt--lg{--ts: 64px}.tt__tile{display:grid;place-items:center;flex:none;width:var(--ts);height:var(--ts);padding:calc(var(--ts) * .2);border-radius:calc(var(--ts) * .27);background:var(--tile-bg);border:1px solid var(--tile-edge)}.tt__tile img{width:100%;height:100%;object-fit:contain}.tt__mono{font-family:var(--f-display);font-size:calc(var(--ts) * .5);font-weight:600;color:var(--tile-ink);line-height:1}.tt__name{font-size:var(--t-s);color:var(--text-2);white-space:nowrap}.lm{position:relative;z-index:1;--lm-dur: 70s;display:grid;gap:.9rem;overflow:hidden;padding-block:.75rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}.lm__row{overflow:hidden;padding-block:.5rem;margin-block:-.5rem}.lm__track{display:flex;width:max-content}.lm__set{display:flex}.tt--btn{font:inherit;color:inherit;cursor:pointer;text-align:left}.tt--btn:focus-visible{outline:2px solid var(--lav);outline-offset:2px}.tt--btn[aria-expanded=true]{border-color:var(--text-3)}.lm__track .tt{margin-right:.9rem;padding:.45rem 1.1rem .45rem .45rem;border:1px solid var(--hair);border-radius:9999px;background:var(--card)}.lm__track .tt__tile{--ts: 40px}@media(prefers-reduced-motion:no-preference){.lm__row--l .lm__track{animation:lm-l var(--lm-dur) linear infinite}.lm__row--r .lm__track{animation:lm-r calc(var(--lm-dur) * 1.2) linear infinite}.lm:hover .lm__track,.lm:focus-within .lm__track,.lm.is-paused .lm__track{animation-play-state:paused}}@keyframes lm-l{to{transform:translate(-50%)}}@keyframes lm-r{0%{transform:translate(-50%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.lm{-webkit-mask-image:none;mask-image:none;padding-inline:var(--margin);max-width:var(--maxw);margin-inline:auto}.lm__track{width:auto;flex-wrap:wrap;gap:.6rem 0}.lm__set{flex-wrap:wrap;gap:.6rem 0}.lm__dup{display:none}}.tb{padding-block:var(--space-sec) clamp(2rem,1.5rem + 1vw,2.5rem);overflow-x:clip}.tb__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem var(--gutter);align-items:start;margin-bottom:2rem}.tb__copy{grid-column:1 / span 5;position:sticky;top:6rem;display:grid;gap:1.15rem;justify-items:start;padding-right:clamp(0rem,2vw,2rem)}.tb__copy h2{text-wrap:balance}.tb__n{color:var(--lev)}.tb__facts{display:grid;grid-template-columns:repeat(3,auto);gap:0 clamp(1.25rem,3vw,2.25rem);margin:.25rem 0 0;padding-block:1rem;border-block:1px solid var(--hair)}.tb__facts dt{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.tb__facts dd{margin:.2rem 0 0;font-size:clamp(1.6rem,1.2rem + 1.2vw,2.25rem);letter-spacing:-.04em;line-height:1}.tb__facts dd span{font-size:.55em;color:var(--text-3)}.tb__links{display:flex;flex-wrap:wrap;gap:.6rem 1.75rem}.tb__vis{grid-column:6 / -1;min-width:0}.th{padding-block:clamp(2.5rem,1.5rem + 4vw,5rem) clamp(2rem,1.5rem + 3vw,3.5rem);overflow-x:clip}.th__grid{display:grid;grid-template-columns:minmax(0,9fr) minmax(0,13fr);gap:clamp(2rem,1rem + 3vw,3.5rem);align-items:center}.th__copy{display:grid;gap:1.35rem;justify-items:start}.th h1{font-size:clamp(2.4rem,1.1rem + 3vw,3.75rem);text-wrap:balance}.th h1 em{font-style:normal;color:var(--lev)}.th__n{display:block;font-family:var(--f-mono);font-size:1.35em;letter-spacing:-.05em;color:var(--text)}.th__cta{display:flex;flex-wrap:wrap;gap:.75rem}.th__note{max-width:34ch}.th__vis{position:relative;min-width:0}.th__cloud{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;justify-content:space-between;margin-top:1.5rem;padding-bottom:.9rem}.th__cloud li{display:block}.th__cloud li:nth-child(2n){translate:0 .9rem}.th__cloud .tt__tile{--ts: 52px}@media(prefers-reduced-motion:no-preference){.th__cloud li{animation:th-float 6s ease-in-out infinite;animation-delay:calc(var(--i) * -.7s)}}@keyframes th-float{50%{transform:translateY(-6px)}}.th__marquee{margin-top:clamp(2.5rem,2rem + 2vw,3.5rem)}.tl__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-block:1px solid var(--hair)}.tl__cell{display:grid;gap:.6rem;align-content:start;padding:clamp(1.5rem,1rem + 2vw,2.5rem) clamp(1rem,.5rem + 2vw,2rem)}.tl__cell+.tl__cell{border-left:1px solid var(--hair)}.tl dt{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.tl dd.mono{margin:0;font-size:clamp(3rem,1.5rem + 5vw,5.5rem);line-height:1;letter-spacing:-.05em;color:var(--text)}.tl dd.mono span{color:var(--text-3);font-size:.5em;letter-spacing:-.02em}.tl .tl__d{margin:0;max-width:32ch;color:var(--text-2);font-size:var(--t-s);text-wrap:pretty}.tc{overflow-x:clip}.tc__mark{position:absolute;left:50%;top:8%;translate:-50% 0;font-size:clamp(10rem,8rem + 24vw,30rem);line-height:1;letter-spacing:-.06em;color:color-mix(in srgb,var(--text) 5%,transparent);pointer-events:none;user-select:none}.tc__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:2rem clamp(2rem,1rem + 4vw,5rem);align-items:start}.tc__side{position:sticky;top:6rem;display:grid;gap:1rem;justify-items:start}.tc__side p:not(.chip){color:var(--text-2)}.tc__list{margin:0;padding:0;list-style:none;border-top:1px solid var(--hair)}.tc__item{border-bottom:1px solid var(--hair)}.tc summary{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto 3.2rem 1rem;align-items:center;gap:1rem;padding:1.05rem .25rem 1.2rem;cursor:pointer;list-style:none}.tc summary::-webkit-details-marker{display:none}.tc summary:focus-visible{outline:2px solid var(--lav);outline-offset:2px;border-radius:6px}.tc__name{font-family:var(--f-display);font-size:clamp(1.15rem,1rem + .7vw,1.6rem);font-weight:500;letter-spacing:-.02em;transition:translate .5s var(--settle)}.tc summary:hover .tc__name{translate:.4rem 0}.tc__marks{display:flex}.tc__marks .tt+.tt{margin-left:-.5rem}.tc__marks .tt__tile{outline:2px solid var(--canvas)}.tc__count{text-align:right;color:var(--text-2)}.tc__chev{width:.55rem;height:.55rem;border-right:1.5px solid var(--text-3);border-bottom:1.5px solid var(--text-3);rotate:45deg;transition:rotate .3s var(--out)}.tc details[open] .tc__chev{rotate:225deg}.tc__bar{position:absolute;left:.25rem;right:.25rem;bottom:.55rem;height:2px;background:linear-gradient(90deg,var(--rail-1),var(--rail-2));opacity:.55;transform-origin:left;transform:scaleX(var(--w))}.tc__open{display:grid;gap:1rem;padding:.25rem .25rem 1.5rem}.tc__picks{display:flex;flex-wrap:wrap;gap:.6rem .75rem;margin:0;padding:0;list-style:none}.tc__picks .tt{padding:.35rem 1rem .35rem .35rem;border:1px solid var(--hair);border-radius:9999px;background:var(--card)}.tc__picks .tt__tile{--ts: 36px}.tc__plain{margin:0;max-width:52ch;color:var(--text-2)}@media(prefers-reduced-motion:no-preference){.tc details[open] .tc__open{animation:tc-in .4s var(--out)}}@keyframes tc-in{0%{opacity:0;transform:translateY(-6px)}}.tf{padding-top:calc(var(--space-sec) * 1.2)}.tf__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem clamp(2rem,1rem + 4vw,4.5rem);align-items:center}.tf__copy{display:grid;gap:1.25rem;justify-items:start}.tf__id{display:flex;align-items:center;gap:1.1rem}.tf__id h2{font-size:clamp(1.7rem,1.2rem + 1.6vw,2.4rem);text-wrap:balance}.tf__spec{display:grid;width:100%;margin:0;border-top:1px solid var(--hair);font-size:var(--t-s)}.tf__spec div{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--hair)}.tf__spec dt{color:var(--text-3)}.tf__spec dd{margin:0;color:var(--text-2)}.tf__spec b{font-weight:500;color:var(--text)}.tf__term{display:grid;gap:.75rem;min-width:0}.tp__head{display:grid;gap:1rem;justify-items:start;max-width:40rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3rem)}.tp__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid var(--hair)}.tp__step{position:relative;display:grid;gap:.75rem;align-content:start;padding:1.5rem 1.5rem .5rem 0}.tp__step+.tp__step{padding-left:1.5rem;border-left:1px solid var(--hair)}.tp__step:before{content:"";position:absolute;top:-2px;left:0;width:2.5rem;height:3px;background:var(--rail-1);border-radius:2px}.tp__step+.tp__step:before{left:1.5rem}.tp__n{font-size:var(--t-s);color:var(--text-2)}.tp__step h3{text-wrap:balance}.tp__step p{margin:0;color:var(--text-2);font-size:var(--t-s);text-wrap:pretty}.tn__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:1.5rem clamp(2rem,1rem + 4vw,5rem);padding-top:var(--space-sec);border-top:1px solid var(--hair-soft)}.tn h2{text-wrap:balance}.tn__body{display:grid;gap:1rem;max-width:44rem}.tn__body p{margin:0;color:var(--text-2);text-wrap:pretty}.tn__links{display:flex;flex-wrap:wrap;gap:.75rem 2rem;margin-top:.5rem}.end{margin-top:var(--space-sec);padding-block:clamp(4rem,2.5rem + 6vw,7.5rem);border-top:1px solid var(--hair-soft);overflow-x:clip}.end__in{display:grid;gap:1.25rem;justify-items:start}.end h2{font-size:clamp(2.2rem,1.2rem + 3.4vw,4rem);text-wrap:balance}.end .cmd{max-width:40rem;width:100%}@media(max-width:960px){.tb__copy,.tb__vis{grid-column:1 / -1;position:static}.th__grid,.tc__grid,.tf__grid,.tn__grid{grid-template-columns:minmax(0,1fr)}.tc__side{position:static}.tp__steps{grid-template-columns:repeat(2,minmax(0,1fr))}.tp__step:nth-child(3){padding-left:0;border-left:0}.tp__step:nth-child(3):before{left:0}.tp__step:nth-child(n+3){border-top:1px solid var(--hair);margin-top:1.5rem}}@media(max-width:640px){.tb__facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 .75rem}.tl__row{grid-template-columns:minmax(0,1fr)}.tl__cell+.tl__cell{border-left:0;border-top:1px solid var(--hair)}.tp__steps{grid-template-columns:minmax(0,1fr)}.tp__step,.tp__step+.tp__step{padding:1.5rem 0 .5rem;border-left:0}.tp__step+.tp__step{border-top:1px solid var(--hair);margin-top:1rem}.tp__step+.tp__step:before{left:0}.tc summary{grid-template-columns:minmax(0,1fr) 2.6rem 1rem}.tc__marks{display:none}.th__cloud{justify-content:flex-start}.th__cloud .tt__tile{--ts: 44px}.th__cloud li:nth-child(n+8){display:none}}.lm-pop{--pc: var(--lav);position:fixed;z-index:60;width:min(21rem,calc(100vw - 1rem));display:grid;gap:.8rem;padding:1.15rem 1.1rem 1rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--pc) 28%,var(--hair));border-radius:var(--r-card);background:radial-gradient(120% 70% at 0% 0%,color-mix(in srgb,var(--pc) 14%,transparent),transparent 62%),var(--card);box-shadow:0 22px 54px -12px color-mix(in srgb,var(--pc) 30%,rgba(0,0,0,.34));opacity:0;translate:0 6px;transition:opacity .16s ease,translate .2s var(--out)}.lm-pop:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--pc),color-mix(in srgb,var(--pc) 30%,transparent))}.lm-pop[data-cat=developer-tools]{--pc: #8b7cf6}.lm-pop[data-cat=productivity]{--pc: #f59e0b}.lm-pop[data-cat=infrastructure]{--pc: #0ea5e9}.lm-pop[data-cat=monitoring]{--pc: #10b981}.lm-pop[data-cat=analytics]{--pc: #ec4899}.lm-pop[data-cat=database-tools]{--pc: #06b6d4}.lm-pop[data-cat=media]{--pc: #f43f5e}.lm-pop[data-cat=communication]{--pc: #3b82f6}.lm-pop[data-cat=security]{--pc: #ef4444}.lm-pop[data-cat=applications]{--pc: #14b8a6}.lm-pop[data-cat=dashboard]{--pc: #a855f7}.lm-pop[data-cat=automation]{--pc: #f97316}.lm-pop[data-cat=finance]{--pc: #22c55e}.lm-pop[data-cat=storage]{--pc: #6366f1}.lm-pop[data-cat=ai]{--pc: #d946ef}.lm-pop[data-cat=iot]{--pc: #84cc16}.lm-pop[data-side=below]{translate:0 -6px}.lm-pop.is-in{opacity:1;translate:0 0}.lm-pop__head{display:flex;align-items:center;gap:.8rem}.lm-pop__head>div{display:grid;gap:.3rem;justify-items:start}.lm-pop__logo{display:grid;place-items:center;flex:none;width:2.9rem;height:2.9rem;font-family:var(--f-display);font-weight:700;color:var(--pc);background:color-mix(in srgb,var(--pc) 10%,var(--raised));border:1px solid color-mix(in srgb,var(--pc) 30%,var(--hair));border-radius:.8rem}.lm-pop__logo img{width:1.75rem;height:1.75rem;object-fit:contain}.lm-pop__head strong{font-family:var(--f-display);font-size:1.15rem;font-weight:650;letter-spacing:-.01em;line-height:1.1}.lm-pop__cat{padding:.12rem .55rem;font-family:var(--f-mono);font-size:var(--t-xs);color:color-mix(in srgb,var(--pc) 78%,var(--text));background:color-mix(in srgb,var(--pc) 14%,transparent);border:1px solid color-mix(in srgb,var(--pc) 32%,transparent);border-radius:999px}.lm-pop p{margin:0}.lm-pop__desc{font-size:var(--t-s);line-height:1.5;color:var(--text-2);text-wrap:pretty}.lm-pop__mem{display:inline-flex;align-items:center;gap:.45rem;justify-self:start;padding:.25rem .65rem;font-family:var(--f-mono);font-size:var(--t-xs);color:var(--text-2);background:var(--raised);border:1px solid var(--hair-soft);border-radius:999px}.lm-pop__mem .icon{color:var(--lev)}.lm-pop__links{display:grid;gap:.45rem;margin:.1rem 0 0;padding:0;list-style:none}.lm-pop__links a{display:flex;align-items:center;gap:.65rem;min-height:2.6rem;padding:0 .7rem 0 .45rem;font-size:var(--t-s);font-weight:600;color:var(--text);text-decoration:none;border:1px solid var(--hair);border-radius:.7rem;transition:background .2s var(--out),border-color .2s var(--out),transform .2s var(--out)}.lm-pop__lbl{flex:1}.lm-pop__ic{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:.5rem}.lm-pop__links a.is-primary{color:var(--on-live);background:var(--live);border-color:var(--live-edge)}.lm-pop__links a.is-primary .lm-pop__ic{color:var(--on-live);background:#0000001a}.lm-pop__links a.is-alt{background:color-mix(in srgb,var(--pc) 8%,var(--card));border-color:color-mix(in srgb,var(--pc) 26%,var(--hair))}.lm-pop__links a.is-alt .lm-pop__ic{color:var(--pc);background:color-mix(in srgb,var(--pc) 16%,transparent)}.lm-pop__links a.is-alt>.icon{color:var(--text-3)}.lm-pop__links a:hover{transform:translateY(-1px)}.lm-pop__links a.is-primary:hover{filter:brightness(1.06)}.lm-pop__links a.is-alt:hover{background:color-mix(in srgb,var(--pc) 16%,var(--card));border-color:color-mix(in srgb,var(--pc) 50%,var(--hair))}.lm-pop__links a:focus-visible{outline:2px solid var(--pc);outline-offset:2px}@media(prefers-reduced-motion:reduce){.lm-pop{transition:none;translate:0 0}}.tc__feat{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--hair-soft)}.tc__feat li{border-bottom:1px solid var(--hair-soft)}.tc__feat a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:3.5rem;padding:.75rem .25rem;color:inherit;text-decoration:none}.tc__feat a:hover .tc__fn b{color:var(--lev)}.tc__feat a:focus-visible{outline:2px solid var(--lav);outline-offset:2px;border-radius:6px}.tc__fn{display:grid;gap:.15rem;min-width:0}.tc__fn b{font-weight:500}.tc__fn span{font-size:var(--t-s);color:var(--text-2);text-wrap:pretty}.tc__fm{font-size:var(--t-xs);color:var(--text-3);white-space:nowrap}@media(max-width:640px){.tc__feat a{grid-template-columns:auto minmax(0,1fr)}.tc__fm{grid-column:2}}.tx{padding-block:var(--space-sec) 0}.tx__head{display:grid;gap:1rem;justify-items:start;max-width:46rem}.tx__head h2{font-size:clamp(1.8rem,1.1rem + 2.4vw,3rem);line-height:1.02;letter-spacing:-.035em;text-wrap:balance}.tx__grid{list-style:none;margin:clamp(1.5rem,3vw,2.25rem) 0 0;padding:0;display:grid;gap:1px;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--hair);border-radius:1.25rem;overflow:hidden;background:var(--hair)}.tx__card{display:grid;align-content:start;gap:.6rem;padding:clamp(1.1rem,2vw,1.5rem);background:var(--canvas);transition:background .25s}.tx__card:hover{background:color-mix(in srgb,var(--card) 70%,var(--canvas))}.tx__ic{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.65rem;border:1px solid var(--hair);background:color-mix(in srgb,var(--lav) 12%,transparent);color:var(--lav)}.tx__card h3{margin:.2rem 0 0;font-size:1rem;letter-spacing:-.01em}.tx__card p{margin:0;font-size:.88rem;color:var(--text-3)}.tx__go{display:inline-flex;align-items:center;gap:.3rem;min-height:2.25rem;margin-top:.3rem;font-size:.86rem;font-weight:600;color:var(--text);text-decoration:none}.tx__go:hover{color:var(--lav)}.tx__cmd{margin:1.25rem 0 0;padding:.9rem 1.1rem;border:1px solid var(--hair);border-radius:.75rem;background:color-mix(in srgb,var(--card) 80%,var(--canvas));overflow-x:auto;font:.85rem/1.5 var(--f-mono)}@media(max-width:1100px){.tx__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.tx__grid{grid-template-columns:minmax(0,1fr)}}.tf__stack{display:grid;gap:1rem;min-width:0}.app{margin:0;border:1px solid var(--hair);border-radius:1rem;overflow:hidden;background:var(--card);box-shadow:0 40px 80px -40px #0009}.app__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .9rem;border-bottom:1px solid var(--hair-soft)}.app__name{display:inline-flex;align-items:center;gap:.6rem;font-size:.95rem}.app__pill{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .55rem;border-radius:999px;font:600 .7rem/1 var(--f-sans);color:#16a34a;border:1px solid color-mix(in srgb,#16a34a 40%,transparent);background:color-mix(in srgb,#16a34a 12%,transparent)}.app__pill i,.app__svc i{width:7px;height:7px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px color-mix(in srgb,#16a34a 25%,transparent)}.app__meta{font-size:.74rem;color:var(--text-3)}.app__svc{list-style:none;margin:0;padding:.55rem .9rem;display:grid;gap:.35rem;font-size:.76rem;border-bottom:1px solid var(--hair-soft)}.app__svc li{display:flex;align-items:center;gap:.55rem}.app__svc span{color:var(--text-3)}.app__svc em{margin-left:auto;font-style:normal;color:#16a34a}.app__shot{background:#fff;line-height:0}.app__shot img{width:100%;height:auto;display:block}.app__cap{padding:.7rem .9rem;font-size:.82rem;color:var(--text-3);border-top:1px solid var(--hair-soft)}.app__more{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.app__plus{font:600 .78rem/1 var(--f-mono);color:var(--text-3);padding:.4rem .7rem;border:1px dashed var(--hair);border-radius:999px}.app__pill,.app__svc em{color:#15803d}html:not([data-theme=light]) .app__pill,html:not([data-theme=light]) .app__svc em{color:#4ade80}
