*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:#fafaf9;letter-spacing:-.045px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:16px;z-index:1000;padding:8px 16px;background:#1c1917;color:#ffffff;font-size:13px;font-weight:500;border-radius:0 0 8px 8px;text-decoration:none;transition:top .15s ease}.skip-link:focus{top:0}:focus-visible{outline:2px solid #1c1917;outline-offset:2px}.layout{align-items:flex-start;justify-content:center;min-height:100vh}.layout,.sidebar{display:flex;background:#ffffff}.sidebar{position:fixed;top:0;left:0;width:220px;height:100vh;padding:28px 20px 24px;border-right:none;flex-direction:column;z-index:100}.sidebar-logo{display:flex;align-items:center;gap:6px;text-decoration:none;color:#1c1917;margin-bottom:36px;margin-left:12px;margin-right:12px;width:100%;align-self:stretch}.logo-mark{width:20px;height:20px;flex-shrink:0}.logo-name{font-size:15px;font-weight:500;color:#1c1917}.hamburger{display:none;flex-direction:column;gap:6px;background:none;border:none;padding:8px 4px;cursor:pointer;margin-left:auto}.hamburger-line{display:block;width:16px;height:1.5px;background:#78716c;border-radius:1px;transition:transform .2s cubic-bezier(.645,.045,.355,1);transform-origin:center}.menu-open .hamburger-line:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-open .hamburger-line:last-child{transform:translateY(-3.75px) rotate(-45deg)}.toc{display:flex;flex-direction:column;gap:0;flex:1 1}.toc-link{display:block;padding:7px 12px;border-radius:8px;font-size:12px;font-weight:400;line-height:16px;color:#78716c;text-decoration:none;transition:color .15s}.toc-link:focus-visible,.toc-link:hover{color:#1c1917}.toc-link:focus-visible{outline-offset:-2px;border-radius:6px}.toc-link.active{color:#1c1917;font-weight:400}.content{width:auto;max-width:none;flex:1 1;padding:0 48px 64px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:64px;min-width:0}.hero-heading{font-size:32px;font-weight:500;line-height:40px;letter-spacing:-.45px;color:#1c1917;margin:0 0 12px;width:100%;max-width:640px;align-self:center}.hero-install{display:flex;align-items:center;gap:6px;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.hero-install-cmd{font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace;font-size:11px;line-height:18px;color:#78716c;transition:color .15s ease}.hero-install:focus-visible .hero-install-cmd,.hero-install:hover .hero-install-cmd{color:#1c1917}.hero-install-icon{position:relative;width:14px;height:14px;color:#78716c;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.hero-install:focus-visible .hero-install-icon,.hero-install:hover .hero-install-icon{color:#1c1917}.hero-sub{font-size:14px;line-height:22px;color:#78716c;margin:0 0 32px;width:100%;max-width:640px;align-self:center}.section-heading{font-size:18px;font-weight:500;color:#1c1917;margin:0;line-height:28px}.section-desc{font-size:14px;line-height:22px;color:#78716c;margin:8px 0 0;max-width:none}.section{padding-top:0;width:100%;max-width:640px;align-self:center}.hero{padding:72px 0 0;flex-shrink:0;flex-direction:column;max-width:800px}.cta-row,.hero{display:flex;align-items:center;justify-content:flex-start;align-self:center;width:100%}.cta-row{gap:20px;flex-wrap:wrap;max-width:640px}.mobile-callout{display:none;font-size:13px;line-height:20px;color:#78716c;margin:0;width:100%}.cta-primary{display:inline-flex;align-items:center;padding:11px 22px;border:none;border-radius:61px;background:#1C1917;color:#ffffff;font-size:13px;font-weight:400;font-family:inherit;cursor:pointer;transition:background .15s ease}.cta-primary:focus-visible,.cta-primary:hover{background:#292524}.cta-primary:focus-visible{outline-color:#1c1917;outline-offset:3px}.desktop-bg{border-radius:8px;padding:32px 80px;aspect-ratio:16/10;width:100%;max-width:800px;display:flex;flex-direction:column;background:url(https://images.unsplash.com/photo-1578926375605-eaf7559b1458?w=1200&q=80&fm=webp) 50%/cover no-repeat;overflow:hidden}.hero-visual{position:relative;margin-top:40px;width:100%;align-self:stretch;--tb-x:96%;--tb-y:93%;--card-x:38%;--card-y:25%;--pad-x:80%;--pad-y:65%;--rad-x:82%;--rad-y:75%;--scroll-pad:-80px;--scroll-rad:-250px}.browser-chrome{background:#ffffff;border-radius:8px 8px 0 0;padding:6px 12px;display:flex;align-items:center;gap:12px;border:1px solid rgba(0,0,0,.05)}.browser-dots{display:flex;gap:6px}.dot{width:7px;height:7px;border-radius:50%}.dot-red{background:#f87171}.dot-yellow{background:#fbbf24}.dot-green{background:#4ade80}.browser-url{flex:1 1;background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.05);border-radius:6px;padding:6px 8px;font-size:9px;font-family:system-ui;color:#78716c}.browser-content{background:#fafaf9;border:none;border-radius:0 0 8px 8px;flex:1 1;overflow:hidden;position:relative}.mock-main{padding:0;display:flex;flex-direction:column;height:100%;background:#fff}.mock-nav{display:flex;align-items:center;padding:10px 16px;gap:12px;border-bottom:1px solid rgba(0,0,0,.05)}.mock-nav-logo{width:16px;height:16px;background:#1c1917;border-radius:999px;flex-shrink:0}.mock-nav-links{display:flex;gap:10px;flex:1 1}.mock-nav-link{width:28px;height:4px;background:rgba(0,0,0,.05);border-radius:2px}.mock-nav-cta{width:40px;height:16px;background:#1c1917;border-radius:4px;flex-shrink:0}.mock-hero{display:flex;flex-direction:column;align-items:center;padding:28px 24px 0;gap:6px}.mock-hero-heading{width:60%;height:8px;background:#1c1917;border-radius:4px}.mock-hero-heading.second{width:42%}.mock-hero-sub{width:50%;height:4px;background:rgba(0,0,0,.05);border-radius:2px;margin-top:4px}.mock-hero-sub.second{width:38%;margin-top:0}.mock-hero-buttons{display:flex;gap:5px;margin-top:10px}.mock-hero-btn{width:48px;height:18px;border-radius:5px;background:#fff;border:1px solid #e7e5e4}.mock-hero-btn.primary{background:#1c1917;border-color:#1c1917}.mock-hero-image{margin:16px 16px 0;border-radius:6px;border:1px solid rgba(0,0,0,.08);background:linear-gradient(180deg,#fafaf9,#f5f5f4);padding:12px;flex:1 1;min-height:0;display:flex;flex-direction:column;gap:8px}.mock-hi-bar{width:40%;height:4px;background:#d6d3d1;border-radius:2px}.mock-hi-bar.short{width:25%;height:3px;background:#e7e5e4}.mock-hi-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;flex:1 1;min-height:0}.mock-hi-cell{background:#fff;border-radius:5px;border:1px solid rgba(0,0,0,.04)}.mock-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;padding:12px 16px 16px}.mock-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:10px;position:relative;display:flex;flex-direction:column;gap:5px}.mock-card-icon-row{margin-bottom:2px}.mock-card-dot{width:8px;height:8px;border-radius:50%;background:#3b82f6}.mock-card-dot.purple{background:#8b5cf6}.mock-card-dot.green{background:#22c55e}.mock-card-title{width:70%;height:4px;background:#1c1917;border-radius:2px}.mock-card-desc{width:90%;height:3px;background:rgba(0,0,0,.05);border-radius:2px}.mock-card-desc.short{width:55%}.mock-selection-overlay{position:absolute;inset:0;border:1px solid #3b82f6;background:rgba(59,130,246,.04);pointer-events:none}.mock-selection-label{position:absolute;top:-18px;left:0;background:#3b82f6;color:#fff;font-size:8px;font-family:SF Mono,Fira Code,Menlo,monospace;line-height:1;padding:3px 5px;border-radius:3px;white-space:nowrap;pointer-events:none}.mock-toolbar{bottom:12px;right:12px;background:#fff;border-radius:999px;box-shadow:0 1px 8px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04);min-width:26px;z-index:3;overflow:hidden;padding:3px}.mock-collapse-btn,.mock-toolbar{position:absolute;display:flex;align-items:center;height:26px}.mock-collapse-btn{inset:0;width:26px;justify-content:center;color:#1c1917;flex-shrink:0;animation:mock-collapse-shrink 10s cubic-bezier(.215,.61,.355,1) infinite}@keyframes mock-collapse-shrink{0%,14%{opacity:1;transform:scale(1);filter:blur(0)}15.5%{opacity:0;transform:scale(.85);filter:blur(4px)}92%{opacity:0;transform:scale(.85);filter:blur(4px)}94%{opacity:1;transform:scale(1);filter:blur(0)}to{opacity:1;transform:scale(1);filter:blur(0)}}.mock-toolbar-expanded{display:flex;align-items:center;gap:4px;overflow:hidden;animation:mock-expanded-grow 10s cubic-bezier(.215,.61,.355,1) infinite}@keyframes mock-expanded-grow{0%,14%{max-width:0;opacity:0;gap:0}15.5%{max-width:200px;opacity:1;gap:4px}90%{max-width:200px;opacity:1;gap:4px}94%{max-width:0;opacity:0;gap:0}to{max-width:0;opacity:0;gap:0}}.mock-toolbar-btn{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#1c1917;flex-shrink:0;position:relative}.mock-toolbar-expanded>:nth-child(2){animation-name:mock-icon-pop-0}.mock-toolbar-expanded>:nth-child(3){animation-name:mock-icon-pop-1}.mock-toolbar-expanded>:nth-child(4){animation-name:mock-icon-pop-2}.mock-toolbar-expanded>:nth-child(5){animation-name:mock-icon-pop-3}.mock-toolbar-expanded>:nth-child(6){animation-name:mock-icon-pop-4}.mock-toolbar-expanded>:nth-child(7){animation-name:mock-icon-pop-5}.mock-toolbar-expanded>:nth-child(n+2){animation-duration:10s;animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-iteration-count:infinite}@keyframes mock-icon-pop-0{0%,14.7%{transform:scale(.95);filter:blur(1px)}15.7%{transform:scale(1);filter:blur(0)}90%{transform:scale(1);filter:blur(0)}94%{transform:scale(.95);filter:blur(1px)}to{transform:scale(.95);filter:blur(1px)}}@keyframes mock-icon-pop-1{0%,14.85%{transform:scale(.95);filter:blur(1px)}15.85%{transform:scale(1);filter:blur(0)}90%{transform:scale(1);filter:blur(0)}94%{transform:scale(.95);filter:blur(1px)}to{transform:scale(.95);filter:blur(1px)}}@keyframes mock-icon-pop-2{0%,15.0%{transform:scale(.95);filter:blur(1px)}16.0%{transform:scale(1);filter:blur(0)}90%{transform:scale(1);filter:blur(0)}94%{transform:scale(.95);filter:blur(1px)}to{transform:scale(.95);filter:blur(1px)}}@keyframes mock-icon-pop-3{0%,15.15%{transform:scale(.95);filter:blur(1px)}16.15%{transform:scale(1);filter:blur(0)}90%{transform:scale(1);filter:blur(0)}94%{transform:scale(.95);filter:blur(1px)}to{transform:scale(.95);filter:blur(1px)}}@keyframes mock-icon-pop-4{0%,15.3%{transform:scale(.95);filter:blur(1px)}16.3%{transform:scale(1);filter:blur(0)}90%{transform:scale(1);filter:blur(0)}94%{transform:scale(.95);filter:blur(1px)}to{transform:scale(.95);filter:blur(1px)}}@keyframes mock-icon-pop-5{0%,15.45%{transform:scale(.95);filter:blur(1px)}16.45%{transform:scale(1);filter:blur(0)}90%{transform:scale(1);filter:blur(0)}94%{transform:scale(.95);filter:blur(1px)}to{transform:scale(.95);filter:blur(1px)}}.mock-toolbar-btn.enables-on-change{animation:mock-btn-enable 10s cubic-bezier(.215,.61,.355,1) infinite}@keyframes mock-btn-enable{0%,14.7%{transform:scale(.95);filter:blur(1px);opacity:.2}15.7%{transform:scale(1);filter:blur(0);opacity:.2}41%{opacity:.2}43%{opacity:1}90%{opacity:1;transform:scale(1);filter:blur(0)}94%{opacity:.2;transform:scale(.95);filter:blur(1px)}to{opacity:.2;transform:scale(.95);filter:blur(1px)}}.mock-toolbar-btn.always-disabled{animation:mock-btn-always-disabled 10s cubic-bezier(.215,.61,.355,1) infinite}@keyframes mock-btn-always-disabled{0%,15.0%{transform:scale(.95);filter:blur(1px);opacity:.2}16.0%{transform:scale(1);filter:blur(0);opacity:.2}90%{opacity:.2;transform:scale(1);filter:blur(0)}94%{opacity:.2;transform:scale(.95);filter:blur(1px)}to{opacity:.2;transform:scale(.95);filter:blur(1px)}}.mock-edit-count-wrap{overflow:hidden;flex-shrink:0;animation:mock-badge-space 10s cubic-bezier(.215,.61,.355,1) infinite}@keyframes mock-badge-space{0%,41%{width:0}42%{width:20px}72%{width:20px}75%{width:0}to{width:0}}.mock-edit-count{position:relative;width:20px;height:20px;padding:0 6px;border-radius:999px;background:#3b82f6;color:#fff;font-size:8px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;will-change:transform,opacity;animation:mock-badge-pop 10s cubic-bezier(.215,.61,.355,1) infinite}@keyframes mock-badge-pop{0%,41%{transform:scale(0);opacity:0;filter:blur(4px)}42%{transform:scale(1);opacity:1;filter:blur(0)}72%{transform:scale(1);opacity:1;filter:blur(0)}75%{transform:scale(0);opacity:0;filter:blur(4px)}to{transform:scale(0);opacity:0;filter:blur(4px)}}.mock-count-1,.mock-count-2{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.mock-count-1{animation:mock-count-1-swap 10s cubic-bezier(.215,.61,.355,1) infinite}.mock-count-2{animation:mock-count-2-swap 10s cubic-bezier(.215,.61,.355,1) infinite}@keyframes mock-count-1-swap{0%,54%{opacity:1}55%{opacity:0}to{opacity:0}}@keyframes mock-count-2-swap{0%,54%{opacity:0}55%{opacity:1}to{opacity:1}}.mock-card-target .mock-selection-label,.mock-card-target .mock-selection-overlay{opacity:0;animation:mock-ring-toggle 10s ease infinite}@keyframes mock-ring-toggle{0%,27%{opacity:0}28%{opacity:1}86%{opacity:1}89%{opacity:0}to{opacity:0}}.mock-card-target{animation:mock-card-changes 10s ease infinite}@keyframes mock-card-changes{0%,40%{border-radius:8px;box-shadow:none}42%{border-radius:8px;box-shadow:0 0 0 1px rgba(59,130,246,.15)}48%{border-radius:8px;box-shadow:0 0 0 1px rgba(59,130,246,.15)}51%{border-radius:14px;box-shadow:0 0 0 1px rgba(59,130,246,.15)}86%{border-radius:14px;box-shadow:0 0 0 1px rgba(59,130,246,.15)}89%{border-radius:8px;box-shadow:none}to{border-radius:8px;box-shadow:none}}.mock-panel{position:absolute;top:8px;bottom:46px;right:8px;width:180px;background:#fff;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04);overflow:hidden;z-index:2;display:flex;flex-direction:column;animation:mock-panel-toggle 10s cubic-bezier(.215,.61,.355,1) infinite}@keyframes mock-panel-toggle{0%,27%{opacity:0;transform:translateY(8px)}29%{opacity:1;transform:translateY(0)}87%{opacity:1;transform:translateY(0)}90%{opacity:0;transform:translateY(8px)}to{opacity:0;transform:translateY(8px)}}.mock-panel-tabs{display:flex;position:relative;padding:6px;gap:2px;border-bottom:1px solid #e7e5e4}.mock-panel-tab-pill{position:absolute;top:6px;right:6px;width:calc(50% - 8px);height:calc(100% - 12px);border-radius:6px;background:rgba(0,0,0,.05)}.mock-panel-tab{flex:1 1;text-align:center;font-size:9px;font-weight:500;padding:4px 0;border-radius:6px;color:#a8a29e;position:relative;z-index:1}.mock-panel-tab.active{color:#1c1917}.mock-panel-header{padding:8px 10px;border-bottom:1px solid #e7e5e4}.mock-el-tag{font-size:10px;font-weight:600;color:#1c1917}.mock-header-row{display:flex;flex-direction:column;gap:2px;margin-top:4px}.mock-row-label{font-size:7px;font-weight:400;color:#78716c}.mock-input.mock-state-select{width:100%;flex:none}.mock-selector-field{display:flex;gap:3px;flex-wrap:wrap;flex:1 1}.mock-selector-tag{display:inline-flex;align-items:center;gap:3px;padding:0 6px;border-radius:5px;background:#f5f5f4;font-size:7px;font-weight:400;color:#57534e;white-space:nowrap;height:20px}.mock-selector-tag.active{background:#3b82f6;color:#fff}.mock-selector-count{display:inline-flex;align-items:center;justify-content:center;min-width:10px;height:10px;padding:0 2px;border-radius:3px;background:rgba(255,255,255,.9);font-size:6px;font-weight:600;color:#3b82f6;line-height:1}.mock-panel-scroll{padding:0;flex:1 1;overflow:hidden;min-height:0}.mock-panel-inner{will-change:transform;animation:mock-panel-scroll-sim 10s ease infinite}@keyframes mock-panel-scroll-sim{0%,34%{transform:translateY(0)}37%{transform:translateY(var(--scroll-pad,-80px))}45%{transform:translateY(var(--scroll-pad,-80px))}48%{transform:translateY(var(--scroll-rad,-250px))}87%{transform:translateY(var(--scroll-rad,-250px))}90%{transform:translateY(0)}to{transform:translateY(0)}}.mock-section{border-bottom:1px solid #e7e5e4}.mock-section:last-child{border-bottom:none}.mock-section-header{font-size:9px;font-weight:500;color:#1c1917;padding:0 5px 0 10px;height:28px;display:flex;align-items:center;justify-content:space-between}.mock-section-action{font-size:10px;font-weight:400;color:rgba(0,0,0,.9);width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:4px}.mock-section-body{display:flex;flex-direction:column;gap:4px;padding:0 5px 8px 10px}.mock-input-row{display:flex;gap:4px;padding-right:18px}.mock-input-row:has(.mock-split-btn){padding-right:0}.mock-input{flex:1 1;height:20px;background:#f5f5f4;border-radius:5px;display:flex;align-items:center;padding:0 6px;gap:0;position:relative;min-width:0}.mock-input.narrow{flex:0 0 44px}.mock-input.color{padding-left:3px}.mock-input:has(.mock-input-label svg){padding-left:3px}.mock-input-label{font-size:7px;font-weight:450;color:rgba(0,0,0,.9);flex-shrink:0;width:14px;text-align:center;display:flex;align-items:center;justify-content:center}.mock-input-value{font-size:8px;font-weight:450;color:#1c1917}.mock-field{flex:1 1;display:flex;flex-direction:column;gap:2px;min-width:0}.mock-field .mock-input{flex:none}.mock-field-label{font-size:7px;font-weight:400;color:#78716c}.mock-split-btn{width:14px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:rgba(0,0,0,.9)}.mock-select{justify-content:space-between}.mock-chevron{color:#a8a29e;flex-shrink:0}.mock-align-row{display:flex;gap:4px;padding-right:18px}.mock-btn-group{flex:1 1;display:flex;background:#f5f5f4;border-radius:5px;height:20px;overflow:hidden}.mock-btn-group.disabled{opacity:.3}.mock-align-btn{flex:1 1;display:flex;align-items:center;justify-content:center;color:#1c1917}.mock-segmented{display:flex;background:#f5f5f4;border-radius:5px;height:20px;overflow:hidden}.mock-seg-btn{flex:1 1;display:flex;align-items:center;justify-content:center;font-size:6px;font-weight:500;color:rgba(0,0,0,.9)}.mock-seg-btn.active{color:rgba(0,0,0,.9);background:#fff;border:.5px solid rgba(0,0,0,.08);border-radius:4px}.mock-seg-btn.disabled{opacity:.3}.mock-color-swatch{width:14px;height:14px;border-radius:2px;background:#fff;border:1px solid #e7e5e4;flex-shrink:0;margin-right:4px}.mock-group-label{font-size:7px;font-weight:400;color:rgba(0,0,0,.5);padding-left:0}.mock-val-pad{position:relative;animation:mock-val-flash-1 10s ease infinite}@keyframes mock-val-flash-1{0%,40%{background:transparent}42%{background:#dbeafe;border-radius:3px}47%{background:transparent}to{background:transparent}}.mock-val-radius{position:relative;animation:mock-val-flash-2 10s ease infinite}@keyframes mock-val-flash-2{0%,53%{background:transparent}55%{background:#dbeafe;border-radius:3px}60%{background:transparent}to{background:transparent}}.mock-val-after,.mock-val-before{display:block}.mock-val-after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.mock-val-pad .mock-val-before{animation:mock-val-pad-before 10s ease infinite}.mock-val-pad .mock-val-after{animation:mock-val-pad-after 10s ease infinite}@keyframes mock-val-pad-before{0%,41%{opacity:1}42%{opacity:0}86%{opacity:0}89%{opacity:1}to{opacity:1}}@keyframes mock-val-pad-after{0%,41%{opacity:0}42%{opacity:1}86%{opacity:1}89%{opacity:0}to{opacity:0}}.mock-val-radius .mock-val-before{animation:mock-val-rad-before 10s ease infinite}.mock-val-radius .mock-val-after{animation:mock-val-rad-after 10s ease infinite}@keyframes mock-val-rad-before{0%,54%{opacity:1}55%{opacity:0}86%{opacity:0}89%{opacity:1}to{opacity:1}}@keyframes mock-val-rad-after{0%,54%{opacity:0}55%{opacity:1}86%{opacity:1}89%{opacity:0}to{opacity:0}}.mock-terminal{position:absolute;bottom:8px;left:8px;width:240px;background:#0c0a09;border-radius:8px;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:9.5px;line-height:1.7;color:#d6d3d1;z-index:10;box-shadow:0 2px 16px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.08);opacity:0;transform:translateY(6px);animation:mock-terminal-toggle 10s ease infinite;overflow:hidden}.mock-term-titlebar{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#1c1917;border-bottom:1px solid rgba(255,255,255,.06)}.mock-term-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.12)}.mock-term-title{font-size:7px;font-family:system-ui;color:#78716c;margin-left:4px}.mock-term-body{padding:8px 10px}@keyframes mock-terminal-toggle{0%,56%{opacity:0;transform:translateY(6px)}58%{opacity:1;transform:translateY(0)}82%{opacity:1;transform:translateY(0)}85%{opacity:0;transform:translateY(6px)}to{opacity:0;transform:translateY(6px)}}.mock-terminal-line{white-space:nowrap;opacity:0}.mock-term-line-1{display:flex;align-items:center;gap:4px;margin-bottom:2px;animation:mock-term-reveal 10s ease infinite}.mock-term-line-2{animation:mock-term-reveal-2 10s ease infinite}.mock-term-line-3{animation:mock-term-reveal-3 10s ease infinite}.mock-term-line-4{margin-top:4px;animation:mock-term-reveal-4 10s ease infinite}@keyframes mock-term-reveal{0%,57%{opacity:0}59%{opacity:1}82%{opacity:1}85%{opacity:0}to{opacity:0}}@keyframes mock-term-reveal-2{0%,59%{opacity:0}61%{opacity:1}82%{opacity:1}85%{opacity:0}to{opacity:0}}@keyframes mock-term-reveal-3{0%,61%{opacity:0}63%{opacity:1}82%{opacity:1}85%{opacity:0}to{opacity:0}}@keyframes mock-term-reveal-4{0%,62%{opacity:0}64%{opacity:1}82%{opacity:1}85%{opacity:0}to{opacity:0}}.mock-term-mascot{flex-shrink:0}.mock-term-file{color:#d97706}.mock-term-dim{color:#57534e}.mock-term-check{color:#22c55e;margin-right:2px}.mock-cursor{position:absolute;z-index:10;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));left:60%;top:70%;animation:mock-cursor-move 10s ease infinite}.mock-cursor .cursor-pointer{position:absolute;top:0;left:0;animation:cursor-icon-pointer 10s ease infinite}.mock-cursor .cursor-crosshair{position:absolute;top:-9px;left:-9px;animation:cursor-icon-crosshair 10s ease infinite}@keyframes cursor-icon-pointer{0%,14%{opacity:1}15.5%{opacity:0}35%{opacity:0}36%{opacity:1}to{opacity:1}}@keyframes cursor-icon-crosshair{0%,14%{opacity:0}15.5%{opacity:1}35%{opacity:1}36%{opacity:0}to{opacity:0}}@keyframes mock-cursor-move{0%,6%{opacity:0;left:50%;top:50%;transform:scale(1)}9%{opacity:1;left:50%;top:50%;transform:scale(1)}14%{opacity:1;left:var(--tb-x);top:var(--tb-y);transform:scale(1)}15%{left:var(--tb-x);top:var(--tb-y);transform:scale(.8)}15.5%{left:var(--tb-x);top:var(--tb-y);transform:scale(1)}22%{left:var(--card-x);top:var(--card-y);transform:scale(1)}27%{left:var(--card-x);top:var(--card-y);transform:scale(.8)}28%{left:var(--card-x);top:var(--card-y);transform:scale(1)}38%{left:var(--pad-x);top:var(--pad-y);transform:scale(1)}41%{left:var(--pad-x);top:var(--pad-y);transform:scale(.8)}42%{left:var(--pad-x);top:var(--pad-y);transform:scale(1)}49%{left:var(--pad-x);top:var(--pad-y);transform:scale(1)}52%{left:var(--rad-x);top:var(--rad-y);transform:scale(1)}54%{left:var(--rad-x);top:var(--rad-y);transform:scale(.8)}55%{left:var(--rad-x);top:var(--rad-y);transform:scale(1)}82%{opacity:1;left:var(--rad-x);top:var(--rad-y);transform:scale(1)}85%{opacity:0;left:var(--rad-x);top:var(--rad-y);transform:scale(1)}to{opacity:0;left:50%;top:50%;transform:scale(1)}}@keyframes mock-cursor-move-mobile{0%,6%{opacity:0;left:50%;top:50%;transform:scale(1)}9%{opacity:1;left:50%;top:50%;transform:scale(1)}14%{opacity:1;left:94%;top:92%;transform:scale(1)}15%{left:94%;top:92%;transform:scale(.8)}15.5%{left:94%;top:92%;transform:scale(1)}22%{left:38%;top:45%;transform:scale(1)}27%{left:38%;top:45%;transform:scale(.8)}28%{left:38%;top:45%;transform:scale(1)}38%{left:62%;top:52%;transform:scale(1)}41%{left:62%;top:52%;transform:scale(.8)}42%{left:62%;top:52%;transform:scale(1)}49%{left:62%;top:52%;transform:scale(1)}52%{left:61%;top:48%;transform:scale(1)}54%{left:61%;top:48%;transform:scale(.8)}55%{left:61%;top:48%;transform:scale(1)}82%{opacity:1;left:61%;top:48%;transform:scale(1)}85%{opacity:0;left:61%;top:48%;transform:scale(1)}to{opacity:0;left:50%;top:50%;transform:scale(1)}}.animation-pause-btn{position:absolute;bottom:-36px;left:50%;transform:translateX(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#a8a29e;cursor:pointer;transition:color .15s ease,background .15s ease,transform .15s ease;padding:0}.animation-pause-btn:hover{color:#1c1917;background:#f5f5f4}.animation-pause-btn:active{transform:translateX(-50%) scale(.9)}.animation-pause-btn svg{transition:transform .15s cubic-bezier(.23,1,.32,1)}.animation-pause-btn:active svg{transform:scale(.85)}@media (prefers-reduced-motion:reduce){.animation-pause-btn,.animation-pause-btn svg{transition:none}}.hero-visual.animation-paused .cursor-crosshair,.hero-visual.animation-paused .cursor-pointer,.hero-visual.animation-paused .mock-card-target,.hero-visual.animation-paused .mock-card-target .mock-selection-label,.hero-visual.animation-paused .mock-card-target .mock-selection-overlay,.hero-visual.animation-paused .mock-collapse-btn,.hero-visual.animation-paused .mock-count-1,.hero-visual.animation-paused .mock-count-2,.hero-visual.animation-paused .mock-cursor,.hero-visual.animation-paused .mock-edit-count,.hero-visual.animation-paused .mock-edit-count-wrap,.hero-visual.animation-paused .mock-panel,.hero-visual.animation-paused .mock-panel-inner,.hero-visual.animation-paused .mock-terminal,.hero-visual.animation-paused .mock-terminal-line,.hero-visual.animation-paused .mock-toolbar,.hero-visual.animation-paused .mock-toolbar-btn.always-disabled,.hero-visual.animation-paused .mock-toolbar-btn.enables-on-change,.hero-visual.animation-paused .mock-toolbar-expanded,.hero-visual.animation-paused .mock-toolbar-expanded>*,.hero-visual.animation-paused .mock-val-after,.hero-visual.animation-paused .mock-val-before,.hero-visual.animation-paused .mock-val-pad,.hero-visual.animation-paused .mock-val-radius{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.cursor-crosshair,.cursor-pointer,.mock-card-target,.mock-card-target .mock-selection-label,.mock-card-target .mock-selection-overlay,.mock-collapse-btn,.mock-count-1,.mock-count-2,.mock-cursor,.mock-edit-count,.mock-edit-count-wrap,.mock-panel,.mock-panel-inner,.mock-terminal,.mock-terminal-line,.mock-toolbar,.mock-toolbar-btn.always-disabled,.mock-toolbar-btn.enables-on-change,.mock-toolbar-expanded,.mock-toolbar-expanded>*,.mock-value-animate{animation:none}.animation-pause-btn{display:none}.mock-toolbar{padding:4px;gap:4px}.mock-collapse-btn{opacity:0}.mock-toolbar-expanded{max-width:200px;opacity:1;gap:4px}.mock-toolbar-expanded>*{transform:none;filter:none}.mock-panel{opacity:1;transform:none}.mock-card-target .mock-selection-label,.mock-card-target .mock-selection-overlay{opacity:1}.mock-edit-count-wrap{width:20px}.mock-edit-count{opacity:1;transform:scale(1);filter:none}.mock-toolbar-btn.enables-on-change{opacity:1}.mock-toolbar-btn.always-disabled{opacity:.2}.mock-cursor,.mock-terminal{display:none}.mock-val-after,.mock-val-before,.mock-val-pad,.mock-val-radius{animation:none}}.steps-grid{display:flex;flex-direction:column;gap:0;margin-top:0}.step-card{background:transparent;border:none;border-bottom:1px solid rgba(0,0,0,.05);border-radius:0;padding:24px 0}.step-title{font-size:14px;font-weight:400;line-height:22px;color:#1c1917;margin:0}.step-card-desc{font-size:14px;line-height:1.6;color:#78716c;margin:4px 0 0}.output-block{margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.output-chrome{background:#f9f9f9;padding:10px 16px;font-size:11px;font-weight:400;color:#a8a29e}.output-body{background:#ffffff;padding:20px 24px;font-family:ui-monospace,SF Mono,Cascadia Code,monospace;font-size:12.5px;line-height:1.8;color:#78716c;white-space:pre;overflow-x:auto}.output-h1,.output-h2{color:#1c1917;font-weight:500}.output-h3{color:#292524;font-weight:500}.output-key{color:#78716c}.output-prop{color:#0891b2}.output-old{color:#dc2626}.output-new{color:#059669}.output-table-hdr{color:#a8a29e}.output-table-sep{color:#d6d3d1}.output-hint{color:#059669;font-style:italic}.code-block{position:relative;background:#ffffff;border:1px solid rgba(0,0,0,.05);border-radius:12px;padding:20px 24px;overflow-x:auto;margin-top:16px}.copy-btn{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#a8a29e;cursor:pointer;transition:background .15s ease,color .15s ease;flex-shrink:0}.code-block .copy-btn{position:absolute;top:10px;right:10px;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease}.code-block:hover .copy-btn{opacity:1}.copy-btn:focus-visible,.copy-btn:hover{background:#e7e5e4;color:#44403c}.code-block .copy-btn:focus-visible{opacity:1}.copy-icon{position:absolute;display:flex;align-items:center;justify-content:center;transition:opacity .15s cubic-bezier(.25,.46,.45,.94),transform .15s cubic-bezier(.25,.46,.45,.94);will-change:transform,opacity}.copy-icon-in{opacity:1;transform:scale(1)}.copy-icon-out{opacity:0;transform:scale(.75)}@media (prefers-reduced-motion:reduce){.copy-btn,.copy-icon{transition:none}}.code-line{font-family:ui-monospace,SF Mono,Cascadia Code,monospace;font-size:13px;line-height:1.8;color:#44403c;white-space:pre}.code-comment{color:#a8a29e}.code-keyword{color:#7c3aed}.code-string{color:#059669}.code-component{color:#0891b2}.install-steps{margin-top:32px;gap:32px}.install-step,.install-steps{display:flex;flex-direction:column}.install-step{gap:8px}.install-step-content{flex:1 1;display:flex;flex-direction:column;gap:0}.install-step-title{font-size:14px;font-weight:400;color:#1C1917;line-height:22px;margin:0}.install-step-desc{font-size:14px;color:#78716c;margin:8px 0 0}.install-note code,.install-step-desc code{font-size:12px;background:#f5f5f4;border:1px solid #e7e5e4;border-radius:5px;padding:2px 6px;font-family:ui-monospace,monospace}.install-note{font-size:13px;color:#a8a29e;margin:8px 0 0}.install-compat{margin:32px 0 0;padding-top:0;font-size:13px;color:#a8a29e;line-height:22px}.faq-list{margin-top:20px}.faq-item{border-top:1px solid rgba(0,0,0,.06)}.faq-item:first-child{border-top:none}.faq-item:last-child{border-bottom:none}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 0;border:none;background:none;font-size:14px;font-weight:450;color:#1c1917;line-height:22px;text-align:left;cursor:pointer}.faq-question:focus-visible,.faq-question:hover{color:#44403c}.faq-question:focus-visible{outline-offset:-2px;border-radius:4px}.faq-chevron{flex-shrink:0;color:#a8a29e;transition:transform .2s cubic-bezier(.645,.045,.355,1)}.faq-item.open .faq-chevron{transform:rotate(180deg)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.645,.045,.355,1)}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-answer>div{overflow:hidden;min-height:0}.faq-answer>div>p{margin:0;padding-bottom:16px;font-size:14px;line-height:22px;color:#78716c}.faq-answer code{font-size:12.5px;background:#f5f5f4;padding:1px 5px;border-radius:4px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta-primary,.faq-answer,.faq-chevron,.footer-link,.hamburger-line,.hero-install-cmd,.hero-install-icon,.toc,.toc-link{transition:none}}.footer{border-top:1px solid rgba(0,0,0,.05);margin-top:0;padding:24px 0;width:100%;max-width:640px;align-self:center}.footer-text{font-size:13px;color:#78716c;margin:0}.footer-link{color:#78716c;text-decoration:none;transition:color .15s ease}.footer-link:focus-visible,.footer-link:hover{color:#1c1917}@media (max-width:1240px){html{scroll-padding-top:56px}.layout{flex-direction:column}.sidebar{position:-webkit-sticky;position:sticky;top:0;left:auto;width:100%;max-width:none;margin:0;height:auto;flex-direction:row;align-items:center;padding:12px calc((100% - 640px) / 2);border-right:none;border-bottom:none;gap:16px}.sidebar-logo{margin-bottom:0;margin-left:0;margin-right:0;width:auto}.toc{flex-direction:row;gap:4px;flex:1 1;justify-content:flex-end;overflow-x:auto}.toc-inner{display:flex;flex-direction:row;gap:4px}.toc-link{white-space:nowrap;padding:5px 10px;font-size:13px;font-weight:400}.toc-link:last-child{padding-right:0}.content{width:100%;margin:0 auto;padding:0 24px 48px;gap:48px}.hero{padding-top:40px}.hero-heading{font-size:24px;line-height:30px}.section-heading{font-size:16px;line-height:24px}}@media (min-width:1241px){.hero-visual{--scroll-rad:-290px}}@media (max-width:847px){.desktop-bg{aspect-ratio:10/8;padding:0;max-width:640px;margin:0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.08)}}@media (max-width:768px){.desktop-only{display:none}.mobile-callout{display:block}.hero-visual{margin-top:24px}}@media (max-width:640px){.hamburger{display:flex}.sidebar{flex-wrap:wrap;padding:12px 16px;gap:0}.toc{display:grid;grid-template-rows:0fr;flex-basis:100%;grid-gap:0;gap:0;overflow:hidden;transition:grid-template-rows .25s cubic-bezier(.165,.84,.44,1)}.toc-inner{overflow:hidden;min-height:0;display:flex;flex-direction:column}.sidebar.menu-open .toc{grid-template-rows:1fr}.sidebar.menu-open .toc-inner{padding-top:8px}.toc{justify-content:flex-start}.toc-link{padding:8px 0;text-align:left}.toc-link:last-child{padding-right:0}.hero-install{display:none}.hero-visual{margin-top:24px;--scroll-pad:-180px;--scroll-rad:-400px}.content{padding:0 16px 40px;gap:40px}.hero{padding-top:32px}.hero-heading{font-size:22px;line-height:28px}.hero-sub{font-size:13px;line-height:20px;margin-bottom:24px}.section-heading{font-size:15px;line-height:22px}.section-desc{font-size:13px;line-height:20px}.steps-grid{grid-template-columns:1fr}.install-steps{gap:24px}.install-step{flex-direction:column;gap:8px}.step-title{font-size:13px}.step-desc{font-size:12px}.code-block{padding:14px 16px}.code-line{font-size:12px}.output-block{padding:14px 16px}.cta-primary{padding:10px 18px;font-size:12px}.faq-question{padding:14px 0;font-size:13px}.faq-answer>div>p{font-size:13px;line-height:20px;padding-bottom:12px}.footer{padding:20px 0}.footer-text{font-size:12px}}