:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--portal-header-bg:#fff;--portal-header-bg-hover:#f4f6f5;--portal-header-border:#0f172a14;--portal-header-border-strong:#0f172a1f;--portal-header-accent:#0089cf;--portal-header-link-hover-bg:#0f172a0f;--portal-header-transition-duration:.32s;--portal-header-transition-timing:cubic-bezier(.4, 0, .2, 1);--portal-header-color:#0f172a;--portal-header-color-hover:#0f172a;--portal-header-nav-muted:#475569;--portal-header-nav-muted-hover:#475569;--portal-header-nav-active:#0f172a;--portal-header-nav-active-hover:#0f766e;--portal-header-shadow-hover:0 10px 40px #0f172a0f;--portal-header-elevated-shadow:0 4px 24px #0f172a14;--portal-header-backdrop-hover:blur(0);--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--portal-header-bg:#14161f;--portal-header-bg-hover:#ffffff0f;--portal-header-border:#ffffff14;--portal-header-border-strong:#ffffff1f;--portal-header-accent:#38bdf8;--portal-header-link-hover-bg:#ffffff14;--portal-header-color:#e2e8f0;--portal-header-color-hover:#e2e8f0;--portal-header-nav-muted:#94a3b8;--portal-header-nav-muted-hover:#94a3b8;--portal-header-nav-active:#f8fafc;--portal-header-nav-active-hover:#5eead4;--portal-header-shadow-hover:0 8px 32px #00000059;--portal-header-elevated-shadow:0 4px 24px #0006;--portal-header-backdrop-hover:blur(12px)}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{width:100%;max-width:none;text-align:initial;box-sizing:border-box;border:none;min-height:100svh;margin:0;display:block}.reveal-init{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(28px)}.reveal-init.reveal-visible{opacity:1;transform:translateY(0)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}:root{--portal-brand:#0089cf;--portal-brand-soft:#0088ce;--portal-line:#e6e6e6;--portal-bg-muted:#f7f9fb;--portal-ease:cubic-bezier(.4, 0, .2, 1)}.portal-page{background:#fff;min-height:40vh;padding:clamp(2rem,4vw,3rem) 0}.portal-page--flush-top{padding-top:0}.portal-page--muted{background:var(--portal-bg-muted)}.portal-wal{max-width:1200px;margin:0 auto;padding:0 1.25rem}.portal-wal--narrow{max-width:800px}.portal-wal--contact{max-width:640px}.portal-wal--news{max-width:960px}.portal-wal--products{max-width:min(1680px,100vw - 24px);padding:0 .5rem}.portal-page--products{background:#fff}.portal-section-title{color:#111;letter-spacing:.04em;margin:0 0 1.5rem;padding-bottom:.85rem;font-size:clamp(1.35rem,2.5vw,1.65rem);font-weight:700;position:relative}.portal-section-title--center:after{content:"";background:var(--portal-brand);border-radius:1px;width:44px;height:4px;margin-left:-22px;position:absolute;bottom:0;left:50%}.portal-section-title--left:after{content:"";background:var(--portal-brand);border-radius:1px;width:44px;height:4px;position:absolute;bottom:0;left:0}.portal-page-title{color:#111;letter-spacing:.03em;margin:0 0 .75rem;padding-bottom:.85rem;font-size:clamp(1.45rem,3vw,2rem);font-weight:700;line-height:1.3;position:relative}.portal-page-title:after{content:"";background:var(--portal-brand);border-radius:1px;width:48px;height:4px;position:absolute;bottom:0;left:0}.portal-meta{color:#94a3b8;margin:0 0 1rem;font-size:.875rem}.portal-prose{color:#334155;font-size:.9375rem;line-height:1.85}.portal-prose :where(p){margin:.75rem 0}.portal-prose :where(h2,h3){color:#0f172a;margin:1.5rem 0 .5rem;font-weight:700}.portal-prose :where(ul,ol){margin:.75rem 0;padding-left:1.25rem}.portal-prose :where(img){border-radius:4px;max-width:100%;height:auto}.portal-muted{color:#64748b;font-size:.9375rem}.portal-muted--tight{margin:0}.portal-err{color:#b91c1c;background:#fef2f2;border-left:3px solid #dc2626;border-radius:4px;margin-bottom:1rem;padding:.85rem 1rem}.portal-news-list{margin:0;padding:0;list-style:none}.portal-news-item{border-bottom:1px solid var(--portal-line)}.portal-news-link{color:#334155;justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 0;text-decoration:none;transition:color .45s;display:flex}.portal-news-link:hover{color:var(--portal-brand)}.portal-news-link__title{flex:1;min-width:0;font-size:.9375rem;line-height:1.45}.portal-news-link__date{color:#94a3b8;flex-shrink:0;font-size:.8125rem}.portal-news-link:hover .portal-news-link__date{color:#64748b}.portal-news-cards{margin:0;padding:0;list-style:none}.portal-news-cards__item+.portal-news-cards__item{margin-top:clamp(1.75rem,3vw,2.25rem)}.portal-news-card{color:inherit;align-items:flex-start;gap:clamp(1rem,2.5vw,1.75rem);text-decoration:none;transition:opacity .25s;display:flex}.portal-news-card:hover{opacity:.92}.portal-news-card__thumb{aspect-ratio:16/10;background:#e8eef3;border-radius:2px;flex:0 0 32%;max-width:320px;overflow:hidden}.portal-news-card__thumb img{object-fit:cover;width:100%;height:100%;display:block}.portal-news-card__thumb-ph{background:linear-gradient(135deg,#e2e8f0 0%,#f1f5f9 100%);width:100%;height:100%;min-height:120px}.portal-news-card__body{flex:1;min-width:0;padding-top:2px}.portal-news-card__title{color:#111;margin:0 0 .65rem;font-size:1.125rem;font-weight:700;line-height:1.45}.portal-news-card__sum{color:#888;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.65;display:-webkit-box;overflow:hidden}@media (width<=640px){.portal-news-cards{padding:0 .55rem}.portal-news-cards__item+.portal-news-cards__item{margin-top:1.25rem}.portal-news-card{flex-direction:column;gap:.72rem}.portal-news-card__thumb{aspect-ratio:16/10;flex:none;width:80%;max-width:80%;margin:0 auto}.portal-news-card__body{width:80%;max-width:80%;margin:0 auto;padding:0}.portal-news-card__title{margin-bottom:.45rem;font-size:1.02rem;line-height:1.5}.portal-news-card__sum{font-size:.86rem;line-height:1.62}}.portal-news-pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem .35rem;margin-top:clamp(2rem,4vw,2.75rem);display:flex}.portal-news-pager__btn{color:#333;cursor:pointer;background:#fff;border:1px solid #d4d4d4;border-radius:2px;padding:.4rem .75rem;font-size:.8125rem;transition:background .2s,color .2s,border-color .2s}.portal-news-pager__btn:hover:not(:disabled){border-color:var(--portal-brand);color:var(--portal-brand)}.portal-news-pager__btn:disabled{opacity:.4;cursor:not-allowed}.portal-news-pager__btn--num.is-active{background:var(--portal-brand);color:#fff;border-color:var(--portal-brand)}.portal-news-pager__gap{color:#999;-webkit-user-select:none;user-select:none;padding:0 .15rem;font-size:.8125rem}.portal-news-detail__crumb{color:#666;margin:0 0 1rem;font-size:.8125rem;line-height:1.5}.portal-news-detail__crumb a{color:#666;text-decoration:none}.portal-news-detail__crumb a:hover{color:var(--portal-brand)}.portal-news-detail__crumb-sep{color:#999;margin:0 .35rem}.portal-news-detail__crumb-current{color:#333}.portal-news-detail__title{color:#1a1a1a;text-align:center;margin:0 0 1.25rem;padding:0 .5rem;font-size:clamp(1.25rem,2.8vw,1.75rem);font-weight:700;line-height:1.45}.portal-news-detail__rule{border:none;border-top:1px dashed #ccc;margin:0 0 1.75rem}.portal-news-detail__foot{background:#f5f5f5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-top:2.5rem;padding:.85rem 1rem;display:flex}.portal-news-detail__adj{color:#444;max-width:48%;font-size:.8125rem;line-height:1.5;text-decoration:none}.portal-news-detail__adj:hover{color:var(--portal-brand)}.portal-news-detail__adj--prev{text-align:left}.portal-news-detail__adj--next{text-align:right;margin-left:auto}.portal-news-detail__adj-spacer{flex:1;min-width:0}@media (width<=640px){.portal-news-detail__adj{max-width:100%;text-align:left!important;margin-left:0!important}}.portal-pager{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.75rem;display:flex}.portal-pager__btn{letter-spacing:.05em;cursor:pointer;border:2px solid var(--portal-brand);color:var(--portal-brand);background:#fff;border-radius:2px;padding:.45rem 1.1rem;font-size:.8125rem;font-weight:600;transition:background .35s,color .35s}.portal-pager__btn:hover:not(:disabled){background:var(--portal-brand);color:#fff}.portal-pager__btn:disabled{opacity:.35;cursor:not-allowed}.portal-pager__info{color:#64748b;font-size:.875rem}.portal-products-pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.portal-products-pager__btn{letter-spacing:.03em;cursor:pointer;color:#4b5563;background:#fff;border:1px solid #d4d4d4;border-radius:2px;padding:.45rem .75rem;font-size:.8125rem;font-weight:600;transition:background .2s,color .2s,border-color .2s}.portal-products-pager__btn:hover:not(:disabled){border-color:var(--portal-brand);color:var(--portal-brand)}.portal-products-pager__btn:disabled{opacity:.4;cursor:not-allowed}.portal-products-pager__btn.is-active{background:var(--portal-brand);border-color:var(--portal-brand);color:#fff}.portal-products-pager__gap{color:#9ca3af;-webkit-user-select:none;user-select:none;padding:0 .15rem;font-size:.8125rem}.portal-product-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;display:grid}.portal-product-grid--fixed{grid-template-columns:repeat(var(--product-cols,4), minmax(0, 1fr))}.portal-hero-strip{width:100%;display:block}.portal-hero-strip--fullbleed{width:var(--viewport-safe-width,100vw);max-width:var(--viewport-safe-width,100vw);margin-left:calc(50% - (var(--viewport-safe-width,100vw) / 2));margin-right:calc(50% - (var(--viewport-safe-width,100vw) / 2))}.portal-hero-strip--fullbleed .portal-products-hero,.portal-hero-strip--fullbleed .contact-top-hero,.portal-hero-strip--fullbleed .about-hero{border-left:none;border-right:none;border-radius:0}.portal-products-hero{background:#f1f5f9;border:1px solid #0f172a0f;border-radius:6px;width:100%;margin-bottom:1.2rem;overflow:hidden}.portal-products-hero img{object-fit:cover;object-position:center;width:100%;height:min(78vh,760px);display:block}.portal-products-tabs{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.1rem;display:flex}.portal-products-panel{background:0 0;border-radius:0;padding:1rem 0 1.15rem}.portal-news-center-wrap{max-width:1100px;margin:0 auto}.portal-product-grid--fixed .portal-product-card{background:#f3f3f3}.portal-products-tabs__btn{box-sizing:border-box;color:#475569;cursor:pointer;text-align:center;letter-spacing:normal;background:#fff;border:1px solid #e5e7eb;border-radius:2px;flex:0 10.5rem;width:10.5rem;min-width:7.5rem;max-width:14rem;min-height:2.6rem;padding:.55rem .45rem;font-size:.9rem;font-weight:600;line-height:1.35;transition:background .25s,color .25s,border-color .25s}.portal-products-tabs__text{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;width:100%;min-width:0;display:block}.portal-products-tabs__btn:hover{border-color:var(--portal-brand);color:var(--portal-brand)}.portal-products-tabs__btn.is-active{background:var(--portal-brand);border-color:var(--portal-brand);color:#fff}@media (width<=900px){.portal-products-hero{border-radius:10px;margin-bottom:.9rem}.portal-products-hero img{object-fit:contain;object-position:center;height:auto;max-height:none}}@media (width<=640px){.portal-products-hero img{object-fit:contain;object-position:center;height:auto;max-height:none}.portal-products-panel{padding:.75rem 0}.portal-product-grid--fixed{grid-template-columns:repeat(2,minmax(0,1fr))}}.portal-product-card{color:inherit;background:#fff;border-radius:2px;flex-direction:column;text-decoration:none;transition:box-shadow .5s;display:flex;overflow:hidden;box-shadow:0 2px 16px #0f172a0f}.portal-product-card:hover{box-shadow:0 10px 32px #0089cf26}.portal-product-card__media{aspect-ratio:4/3;background:#e2e8f0;position:relative;overflow:hidden}.portal-product-card__shade{z-index:1;opacity:1;pointer-events:none;background:#00000038;transition:opacity .5s;position:absolute;inset:0}.portal-product-card:hover .portal-product-card__shade{opacity:0}.portal-product-card__media:after{content:"";z-index:2;background:linear-gradient(0deg, var(--portal-brand) 0%, transparent 65%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s,visibility .5s;position:absolute;inset:0}.portal-product-card:hover .portal-product-card__media:after{opacity:1;visibility:visible}.portal-product-card__img{object-fit:cover;width:100%;height:100%;transition:transform .55s;display:block}.portal-product-card:hover .portal-product-card__img{transform:scale(1.1)}.portal-product-card__ph{background:linear-gradient(160deg,#cbd5e1 0%,#e2e8f0 100%);width:100%;height:100%}.portal-product-card__body{padding:.75rem}.portal-product-card__name{color:#1e293b;font-size:.9rem;font-weight:600;transition:color .45s}.portal-product-card:hover .portal-product-card__name{color:var(--portal-brand)}.portal-product-card__sum{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.4rem 0 0;font-size:.8125rem;line-height:1.45;display:-webkit-box;overflow:hidden}.portal-info-card{border-left:3px solid var(--portal-brand);background:#fff;border-radius:2px;padding:1.5rem 1.5rem 1.5rem 1.2rem;line-height:1.85;box-shadow:0 4px 24px #0f172a0f}.portal-info-card p{color:#334155;margin:.45rem 0;font-size:.9375rem}.portal-info-card strong{color:#0f172a;font-size:1.05rem}.portal-back{color:var(--portal-brand);border-bottom:2px solid #0000;align-items:center;margin-top:2rem;padding-bottom:2px;font-size:.875rem;font-weight:600;text-decoration:none;transition:border-color .3s;display:inline-flex}.portal-back:hover{border-bottom-color:var(--portal-brand)}.portal-cover{border-radius:4px;margin:0 0 1rem;overflow:hidden}.portal-cover img{object-fit:cover;width:100%;max-height:420px;display:block}.portal-lead{color:#475569;margin:0 0 1rem;font-size:.95rem;line-height:1.7}.portal-loading{color:#64748b;font-size:.9375rem}.portal-wal--timeline{max-width:1000px}.portal-timeline{margin-top:clamp(2rem,5vw,3.5rem)}.portal-timeline__title{text-align:center;color:#222;margin:0 0 clamp(1.5rem,3vw,2.2rem);font-size:clamp(1.75rem,3.8vw,2.2rem);font-weight:500}.portal-timeline__list{margin:0;padding:0;list-style:none}.portal-timeline__item{grid-template-columns:1fr 170px 1fr;align-items:center;min-height:190px;display:grid}.portal-timeline__center{justify-content:center;min-height:190px;display:flex;position:relative}.portal-timeline__center:before{content:"";background:#d7d7d7;width:1px;position:absolute;top:-15px;bottom:-15px;left:50%}.portal-timeline__dot{z-index:1;background:#fff;border:1px solid #e2e2e2;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:118px;height:118px;display:flex;position:relative;box-shadow:0 2px 10px #00000014}.portal-timeline__month{color:#222;font-size:2rem;line-height:1.1}.portal-timeline__year{color:#666;margin-top:.2rem;font-size:1rem}.portal-timeline__side{max-width:320px}.portal-timeline__side--left{text-align:right;justify-self:end;padding-right:clamp(.8rem,2vw,1.4rem)}.portal-timeline__side--right{text-align:left;justify-self:start;padding-left:clamp(.8rem,2vw,1.4rem)}.portal-timeline__side-title{color:#2f2f2f;margin:0 0 .5rem;font-size:1.05rem;font-weight:500;line-height:1.45}.portal-timeline__side-text{color:#7a7a7a;margin:0;font-size:.96rem;line-height:1.6}.portal-timeline .tl-left.reveal-init{transform:translate(-42px)}.portal-timeline .tl-right.reveal-init{transform:translate(42px)}.portal-timeline .tl-left.reveal-init.reveal-visible,.portal-timeline .tl-right.reveal-init.reveal-visible{transform:translate(0)}@media (width<=900px){.portal-timeline{margin-top:clamp(1.35rem,4vw,2.25rem)}.portal-timeline__title{margin-bottom:clamp(1rem,3.5vw,1.4rem);font-size:clamp(1.75rem,8.6vw,2.2rem)}.portal-timeline__item{border-bottom:1px solid #ececec;grid-template-columns:1fr;gap:.72rem;padding:1.15rem 0}.portal-timeline__item:last-child{border-bottom:none}.portal-timeline__center{order:1;min-height:auto;margin-bottom:.15rem}.portal-timeline__center:before{display:none}.portal-timeline__dot{width:136px;height:136px;box-shadow:0 3px 12px #00000014}.portal-timeline__month{font-size:2.2rem}.portal-timeline__year{margin-top:.22rem;font-size:1.08rem}.portal-timeline__side{text-align:left;background:#fff;border:1px solid #ebebeb;border-radius:10px;justify-self:stretch;max-width:none;padding:.72rem .78rem}.portal-timeline__side-title{margin-bottom:.32rem;font-size:1.08rem;line-height:1.5}.portal-timeline__side-text{color:#666;font-size:.98rem;line-height:1.72}.portal-timeline__side--left{order:2}.portal-timeline__side--right{order:3;margin-top:.18rem}}@media (width<=640px){.portal-timeline__item{gap:.62rem;padding:1rem 0}.portal-timeline__dot{width:112px;height:112px}.portal-timeline__month{font-size:1.95rem}.portal-timeline__year{font-size:.94rem}.portal-timeline__side{border-radius:9px;padding:.66rem .68rem}.portal-timeline__side-title{margin-bottom:.28rem;font-size:1.02rem}.portal-timeline__side-text{font-size:.95rem;line-height:1.66}}@media (prefers-reduced-motion:reduce){.portal-news-link,.portal-news-card,.portal-news-pager__btn,.portal-pager__btn,.portal-product-card,.portal-product-card__img,.portal-product-card__shade,.portal-product-card__media:after,.portal-back{transition-duration:.01ms!important}.portal-product-card:hover .portal-product-card__img{transform:none}}
