@layer ipf-reset{*,:before,:after{box-sizing:border-box}html{text-size-adjust:100%}body{margin:0}img,picture,svg,video{max-width:100%;display:block}button,input,select,textarea{font:inherit}}@layer ipf-base{:root{color-scheme:light}html{font-family:var(--ipf-font-body);font-size:var(--ipf-font-size-body);color:var(--ipf-color-text);background:var(--ipf-color-surface)}body{min-width:320px;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--ipf-font-heading);text-wrap:balance}p,li{text-wrap:pretty}a{color:inherit}}@layer ipf-layout{.ipf-container{width:min(var(--ipf-container-max), calc(100% - (var(--ipf-gutter) * 2)));margin-inline:auto}.ipf-grid{grid-template-columns:repeat(var(--ipf-grid-desktop), minmax(0, 1fr));gap:var(--ipf-space-component);display:grid}}@layer ipf-accessibility{.ipf-skip-link{z-index:var(--ipf-z-modal);padding:var(--ipf-space-component-small) var(--ipf-space-component);color:var(--ipf-color-text-inverse);background:var(--ipf-color-surface-strong);text-decoration:none;position:fixed;inset-block-start:var(--ipf-space-component-small);inset-inline-start:var(--ipf-space-component-small);transform:translateY(-200%)}.ipf-skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--ipf-color-focus);outline-offset:3px}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}:root{color-scheme:dark;--lab-step-display:clamp(2.6rem, 1.6rem + 4.4vw, 5.25rem);--lab-step-page:clamp(2.3rem, 1.6rem + 3vw, 4rem);--lab-step-title:clamp(1.75rem, 1.35rem + 1.6vw, 2.6rem);--lab-step-lead:clamp(1.1rem, 1rem + .45vw, 1.35rem);--lab-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lab-card:#18191c}html{background:var(--ipf-color-surface);scroll-padding-block-start:5rem}body{background-image:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--ipf-color-text) 7%, transparent) 1px, transparent 0);-webkit-font-smoothing:antialiased;background-size:28px 28px}main:focus{outline:none}main{overflow-x:clip}a{color:var(--ipf-color-accent-strong);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--ipf-color-text)}code{font-family:var(--lab-mono);font-size:.92em}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;overflow:hidden;position:absolute!important}a.ipf-button.ipf-button--primary,button.ipf-button.ipf-button--primary{color:#fff;background:var(--ipf-color-accent)}a.ipf-button.ipf-button--primary:hover,button.ipf-button.ipf-button--primary:hover{color:#fff;background:#b51f15}a.ipf-button.ipf-button--secondary:hover{color:var(--ipf-color-text)}.lab-header{z-index:var(--ipf-z-header);background:color-mix(in srgb, var(--ipf-color-surface) 82%, transparent);backdrop-filter:blur(14px)saturate(140%);border-block-end:1px solid var(--ipf-color-border);position:sticky;inset-block-start:0}.lab-header__inner{justify-content:space-between;align-items:center;gap:1.5rem;min-block-size:4.25rem;display:flex}.lab-brand{color:var(--ipf-color-text);letter-spacing:-.01em;align-items:center;gap:.6rem;font-weight:700;text-decoration:none;display:inline-flex}.lab-brand__mark{border:1.5px solid var(--ipf-color-border-strong);block-size:1.15rem;inline-size:1.15rem;box-shadow:inset 0 2px 0 var(--ipf-color-accent);border-radius:5px}.lab-brand__tld{color:var(--ipf-color-accent-strong)}.lab-nav{flex-wrap:wrap;gap:.25rem 1.5rem;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.lab-nav a{color:var(--ipf-color-text-muted);text-decoration:none}.lab-nav a:hover,.lab-nav a[aria-current=page]{color:var(--ipf-color-text)}.lab-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--ipf-color-accent);text-underline-offset:.45em;text-decoration-thickness:2px}.lab-footer{border-block-start:1px solid var(--ipf-color-border);color:var(--ipf-color-text-muted);margin-block-start:var(--ipf-space-section-compact);padding-block:3rem;font-size:.92rem}.lab-footer__inner{gap:1rem;display:grid}.lab-footer__lead{max-inline-size:60ch;margin:0}.lab-footer__lead strong{color:var(--ipf-color-text)}.lab-footer__meta{margin:0;font-size:.85rem}.lab-eyebrow{color:var(--ipf-color-accent-strong);font-family:var(--lab-mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-size:.78rem;font-weight:500}.lab-eyebrow a{color:inherit}.lab-eyebrow--quiet{color:var(--ipf-color-text-muted);letter-spacing:.08em;text-transform:none}.lab-display{font-size:var(--lab-step-display);letter-spacing:-.035em;margin:0;font-weight:700;line-height:1}.lab-display em{color:var(--ipf-color-accent-strong);font-style:normal}.lab-display--page{font-size:var(--lab-step-page)}.lab-title{font-size:var(--lab-step-title);letter-spacing:-.025em;margin:0 0 1rem;font-weight:700;line-height:1.08}.lab-lead{max-inline-size:38rem;color:var(--ipf-color-text-muted);font-size:var(--lab-step-lead);margin:1.5rem 0 0;line-height:1.5}.lab-muted{color:var(--ipf-color-text-muted);margin:0}.lab-actions{flex-wrap:wrap;gap:.75rem;margin-block-start:2.25rem;display:flex}.lab-hero{padding-block:clamp(3.5rem,2rem + 6vw,7.5rem) clamp(3rem,2rem + 4vw,6rem)}.lab-hero--page{padding-block-end:2.5rem}.lab-hero__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.lab-hero__card-title{letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.6rem;font-weight:700;line-height:1.15}.lab-specs{border-block-start:1px solid var(--ipf-color-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0 0;padding-block-start:1.25rem;display:grid}.lab-specs dt{color:var(--ipf-color-text-muted);font-family:var(--lab-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.lab-specs dd{margin:.3rem 0 0;font-size:.92rem;font-weight:600}.lab-title-row{flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;display:flex}.lab-section{padding-block:clamp(3.5rem,2rem + 5vw,6.5rem)}.lab-section--tight{padding-block-start:1rem}.lab-section--soft{background:color-mix(in srgb, var(--ipf-color-surface-soft) 70%, transparent);border-block:1px solid var(--ipf-color-border)}.lab-section__head{margin-block-end:2.75rem}.lab-section__intro{max-inline-size:44rem;font-size:1.05rem}.lab-catalogue{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.lab-catalogue>li{display:flex}.lab-tile{inline-size:100%}.lab-tile__top{justify-content:space-between;align-items:center;gap:1rem;min-block-size:1.75rem;margin-block-end:2.5rem;display:flex}.lab-tile__since{color:var(--ipf-color-text-muted);font-family:var(--lab-mono);font-size:.75rem}.lab-tile__title{letter-spacing:-.015em;margin:0 0 .6rem;font-size:1.3rem}.lab-tile__title a{color:var(--ipf-color-text);text-decoration:none}.lab-stretched:after{content:"";position:absolute;inset:-2rem}.lab-tile__title a:hover{color:var(--ipf-color-accent-strong)}.lab-tile--queued{padding:var(--ipf-space-component-large);border:1px dashed var(--ipf-color-border-strong);border-radius:var(--ipf-radius)}.lab-tile--queued .lab-tile__title{color:var(--ipf-color-text-muted)}.lab-queue{color:var(--ipf-color-text-muted);font-family:var(--lab-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.lab-steps,.lab-facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:2rem;margin:0;padding:0;list-style:none;display:grid}.lab-steps h3,.lab-facts h3{margin:1rem 0 .5rem;font-size:1.15rem}.lab-facts h3{border-block-start:2px solid var(--ipf-color-accent);margin-block-start:0;padding-block-start:1rem}.lab-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.lab-demo{flex-direction:column;gap:1rem;margin:0;display:flex}.lab-demo--wide{grid-column:1/-1}.lab-demo__card{flex:1;min-block-size:17rem}.lab-demo__title{letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.45rem;font-weight:700}.lab-demo figcaption{color:var(--ipf-color-text-muted);font-size:.9rem}.lab-chip{color:var(--ipf-color-text);border:1px solid var(--ipf-color-border-strong);cursor:pointer;background:0 0;border-radius:999px;margin-block-start:1.5rem;padding:.6rem 1rem}.lab-prose{max-inline-size:48rem}.lab-prose>p{color:var(--ipf-color-text-muted)}.lab-code{color:var(--ipf-color-text);border:1px solid var(--ipf-color-border);background:#0e0f11;border-radius:12px;margin:1.25rem 0 2rem;padding:1.25rem 1.4rem;font-size:.88rem;line-height:1.6;overflow-x:auto}.lab-table-wrap{border:1px solid var(--ipf-color-border);border-radius:12px;overflow-x:auto}.lab-table{border-collapse:collapse;inline-size:100%;font-size:.92rem}.lab-table th,.lab-table td{text-align:start;vertical-align:top;border-block-end:1px solid var(--ipf-color-border);padding:.8rem 1rem}.lab-table thead th{color:var(--ipf-color-text-muted);font-family:var(--lab-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--lab-card);font-size:.72rem;font-weight:500}.lab-table tbody th{white-space:nowrap;font-weight:500}.lab-table tbody th code{color:var(--ipf-color-accent-strong)}.lab-table td{color:var(--ipf-color-text-muted)}.lab-table tbody tr:last-child>*{border-block-end:0}.lab-numbered{color:var(--ipf-color-text-muted);gap:1.25rem;margin:1.5rem 0 0;padding-inline-start:1.4rem;display:grid}.lab-numbered strong{color:var(--ipf-color-text)}.lab-numbered li::marker{color:var(--ipf-color-accent-strong);font-family:var(--lab-mono)}.lab-faq{border-block-start:1px solid var(--ipf-color-border);margin-block-start:1.5rem}.lab-faq details{border-block-end:1px solid var(--ipf-color-border)}.lab-faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.15rem;font-size:1.08rem;font-weight:600;list-style:none;display:flex}.lab-faq summary::-webkit-details-marker{display:none}.lab-faq summary:after{content:"+";color:var(--ipf-color-accent-strong);font-family:var(--lab-mono);flex:none;font-size:1.25rem;font-weight:400}.lab-faq details[open] summary:after{content:"−"}.lab-faq details p{color:var(--ipf-color-text-muted);margin:0 0 1.25rem}.lab-faq__more{margin-block-start:2rem}.ifx-border-glow{--ifx-border-glow-color-1:#da291c;--ifx-border-glow-color-2:#ff8a3d;--ifx-border-glow-color-3:#ffd9cf;--ifx-border-glow-surface:var(--lab-card);--ifx-border-glow-hairline:var(--ipf-color-border);--ifx-border-glow-wash:.08}.lab-hero__card{--ifx-border-glow-padding:clamp(1.75rem, 1rem + 2.5vw, 2.75rem);--ifx-border-glow-spread:220px;--ifx-border-glow-filament:2.5px;--ifx-border-glow-halo:36px;--ifx-border-glow-halo-strength:.85;--ifx-border-glow-reach:240}.lab-variant-client{--ifx-border-glow-color-1:#0a84ff;--ifx-border-glow-color-2:#30d158;--ifx-border-glow-color-3:#64d2ff;--ifx-border-glow-radius:4px;--ifx-border-glow-surface:#f4f6f8;--ifx-border-glow-ink:#14212e;--ifx-border-glow-hairline:#c9d3dd;--ifx-border-glow-halo-strength:.5;--ifx-border-glow-reach:260}.lab-variant-client .lab-muted,.lab-variant-client .lab-eyebrow--quiet{color:#4a5a6a}@media (width<=900px){.lab-hero__grid,.lab-demo-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.lab-header__inner{flex-direction:column;align-items:flex-start;gap:.5rem;padding-block:.85rem}.lab-header{position:static}.lab-specs{grid-template-columns:minmax(0,1fr)}}.lab-stage{isolation:isolate;border:1px solid var(--ipf-color-border);border-radius:24px;padding:clamp(1.25rem,3vw,2.5rem);position:relative;overflow:hidden}.lab-stage__art{z-index:-1;background:radial-gradient(circle at 18% 30%, color-mix(in srgb, var(--ipf-color-accent) 55%, transparent) 0 9%, transparent 9.2%), radial-gradient(circle at 78% 22%, #ff8a3d80 0 6%, transparent 6.2%), radial-gradient(circle at 62% 78%, color-mix(in srgb, var(--ipf-color-text) 22%, transparent) 0 11%, transparent 11.2%), repeating-linear-gradient(-35deg, color-mix(in srgb, var(--ipf-color-text) 7%, transparent) 0 2px, transparent 2px 22px), var(--ipf-color-surface);position:absolute;inset:0}.lab-neon{--ifx-neon-glass-color-1:#ff3b2e;--ifx-neon-glass-color-2:#ff8a3d;--ifx-neon-glass-surface:#141517;--ifx-neon-glass-tint:52%;--ifx-neon-glass-radius:18px;--ifx-neon-glass-padding:clamp(1.5rem, 1rem + 2vw, 2.25rem);--ifx-neon-glass-lift:2px;flex:1;min-block-size:17rem}.lab-neon--client{--ifx-neon-glass-color-1:#00e0ff;--ifx-neon-glass-color-2:#7c4dff;--ifx-neon-glass-surface:#0b1020;--ifx-neon-glass-tint:38%;--ifx-neon-glass-radius:32px;--ifx-neon-glass-frost:22px;--ifx-neon-glass-lift:6px;--ifx-neon-glass-parallax:.2;--ifx-neon-glass-ink:#e8f6ff;--ifx-neon-glass-hairline:#00e0ff4d}.lab-neon--client .lab-muted,.lab-neon--client .lab-eyebrow--quiet{color:#a9c4d8}.lab-tile.ifx-neon-glass{--ifx-neon-glass-color-1:#ff3b2e;--ifx-neon-glass-color-2:#ff8a3d;--ifx-neon-glass-surface:#18191c;--ifx-neon-glass-tint:70%;--ifx-neon-glass-radius:var(--ipf-radius);--ifx-neon-glass-hairline:var(--ipf-color-border);--ifx-neon-glass-rest:.25}.lab-pixel{--ifx-pixel-card-color-1:#ff3b2e;--ifx-pixel-card-color-2:#ff8a3d;--ifx-pixel-card-color-3:#8a7f78;--ifx-pixel-card-surface:#141517;--ifx-pixel-card-radius:18px;--ifx-pixel-card-padding:clamp(1.5rem, 1rem + 2vw, 2.25rem);--ifx-pixel-card-pixel-strength:.42;flex:1;min-block-size:17rem}.lab-pixel--magnetic{--ifx-pixel-card-pixel:2px;--ifx-pixel-card-gap:3px;--ifx-pixel-card-density:1;--ifx-pixel-card-pixel-strength:.5;--ifx-pixel-card-wave:1s;--ifx-pixel-card-release:.8s;--ifx-pixel-card-shimmer:0;--ifx-pixel-card-repel:14;--ifx-pixel-card-repel-radius:110}.lab-pixel--client{--ifx-pixel-card-color-1:#3ddc97;--ifx-pixel-card-color-2:#00b3ff;--ifx-pixel-card-color-3:#c6f432;--ifx-pixel-card-surface:#0c1412;--ifx-pixel-card-radius:28px;--ifx-pixel-card-pixel:5px;--ifx-pixel-card-gap:3px;--ifx-pixel-card-density:.6;--ifx-pixel-card-pixel-strength:.45;--ifx-pixel-card-wave:1.1s;--ifx-pixel-card-shimmer:0;--ifx-pixel-card-ink:#e9fff4;--ifx-pixel-card-hairline:#3ddc974d}.lab-pixel--client .lab-muted,.lab-pixel--client .lab-eyebrow--quiet{color:#a6cbbb}.lab-tile.ifx-pixel-card{--ifx-pixel-card-color-1:#ff3b2e;--ifx-pixel-card-color-2:#ff8a3d;--ifx-pixel-card-color-3:#8a7f78;--ifx-pixel-card-surface:#18191c;--ifx-pixel-card-radius:var(--ipf-radius);--ifx-pixel-card-hairline:var(--ipf-color-border);--ifx-pixel-card-pixel-strength:.4;--ifx-pixel-card-pixel:2px;--ifx-pixel-card-gap:3px;--ifx-pixel-card-density:1;--ifx-pixel-card-wave:1s;--ifx-pixel-card-release:.8s;--ifx-pixel-card-shimmer:0;--ifx-pixel-card-repel:12;--ifx-pixel-card-repel-radius:100}
