.topbar{z-index:20;background:color-mix(in oklab, var(--bg) 82%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-inner{align-items:center;gap:36px;height:60px;display:flex}.topnav{gap:4px;display:flex}.topnav a{border-radius:var(--r-2);color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-sm);padding:6px 10px;font-weight:500;text-decoration:none}.topnav a:hover{color:var(--text);background:var(--surface-2)}.topbar-tools{align-items:center;gap:6px;margin-left:auto;display:flex}.topbar-tools .search-trigger{margin-right:8px}.version{color:var(--text-3);font:400 var(--fs-2xs)/1 var(--font-mono);padding:0 6px}.menu-toggle,.home-menu{display:none}.hero{padding:var(--hero-top) 0 var(--hero-bottom);position:relative;overflow:clip}.hero:before{content:"";pointer-events:none;background-image:linear-gradient(to right, var(--line) 1px, transparent 1px);opacity:.35;background-size:96px 100%;position:absolute;inset:0;mask-image:radial-gradient(70% 60% at 70% 30%,#000 10%,#0000 75%)}.hero .container{position:relative}.hero-copy{grid-template-columns:minmax(0,1fr) auto;column-gap:64px;display:grid}.hero-copy h1{grid-column:1;margin-bottom:28px}.hero-copy .lede{grid-column:1}.hero-side{flex-direction:column;grid-area:1/2/span 2;align-self:center;align-items:flex-start;display:flex}.hero h1{font-size:var(--display);line-height:var(--display-lh);letter-spacing:var(--display-track);max-width:none;font-weight:640}.lede{max-width:58ch;font-size:var(--fs-lg);line-height:var(--lh-lg);color:var(--text-2);margin-top:0}.install{flex-direction:column;gap:0;margin-top:0;display:inline-flex}.fw-picker{align-self:flex-start;margin-bottom:1em}.install-cmd{border:1px solid var(--line-2);border-radius:var(--r-3);background:var(--code-bg);height:50px;font-size:var(--fs-sm);color:var(--text);align-items:center;gap:12px;padding:0 8px 0 16px;display:flex}.install-cmd .prompt{color:var(--text-4);font-family:var(--font-mono)}.install-cmd .swap{flex:1}.install-cmd code{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.install-cmd .copy{margin-left:auto}.hero-actions{gap:10px;margin-top:14px;display:flex}.instrument{border:1px solid var(--line-2);border-radius:var(--r-4);background:var(--surface-1);grid-template-columns:minmax(300px,380px) 1fr;margin:72px 0 0;display:grid;overflow:hidden;box-shadow:0 0 0 1px oklch(0% 0 0/.6),0 40px 120px -40px oklch(74% .15 249.95/.18)}.browser{border-right:1px solid var(--line-2);background:var(--surface-2);flex-direction:column;min-width:0;display:flex}.browser-bar{border-bottom:1px solid var(--line);align-items:center;gap:8px;height:48px;padding:0 10px;display:flex;position:relative}.nav-arrow{border-radius:var(--r-2);width:28px;height:28px;color:var(--text-3);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.nav-arrow:hover:not(:disabled){color:var(--text);background:var(--surface-3)}.nav-arrow:disabled{opacity:.35;cursor:default}.nav-arrow svg{width:16px;height:16px}.url{background:var(--bg);border:1px solid var(--line);min-width:0;height:30px;font:400 var(--fs-xs)/1 var(--font-mono);color:var(--text-3);white-space:nowrap;border-radius:999px;flex:1;align-items:center;gap:6px;padding:0 10px;display:flex;overflow:hidden}.url svg{flex:none;width:12px;height:12px}.url-path{color:var(--text)}.url.is-moved .url-path{animation:url-flash .6s var(--ease)}@keyframes url-flash{0%{color:var(--accent-strong)}to{color:var(--text)}}.pending-bar{background:var(--accent);opacity:0;width:0;height:2px;position:absolute;bottom:-1px;left:0}.pending-bar.on{opacity:1}.app{flex-direction:column;flex:1;min-height:0;display:flex}.app-tabs{border-bottom:1px solid var(--line);gap:2px;padding:10px 10px 0;display:flex}.app-tabs button{height:32px;color:var(--text-3);font:500 var(--fs-xs)/1 var(--font-sans);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:5px;margin-bottom:-1px;padding:0 10px;display:inline-flex}.app-tabs button:hover{color:var(--text)}.app-tabs button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--text)}.app-tabs svg{opacity:.7;width:11px;height:11px}.app-page{flex:1;min-height:260px;padding:18px 16px 20px;transition:opacity .2s;position:relative}.app-page.is-stale{opacity:.55}.app-page .app-title{font-size:var(--fs-md);line-height:var(--lh-md);font-weight:600}.app-page .sub{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--text-3);margin-top:0}.app-page .rows{gap:6px;margin-top:14px;display:grid}.app-page .row{border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface-1);height:34px;font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--text-2);align-items:center;gap:10px;padding:0 10px;display:flex}.app-page .row i{background:var(--surface-3);border-radius:50%;flex:none;width:18px;height:18px}.app-page .row em{color:var(--text-3);font-style:normal;font-family:var(--font-mono);font-size:var(--fs-2xs);margin-left:auto}.app-page .stat{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px;display:grid}.app-page .stat div{border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface-1);padding:10px}.app-page .stat b{color:var(--text);font-weight:600;font-size:var(--fs-md);line-height:var(--lh-md);display:block}.app-page .stat span{font-size:var(--fs-2xs);line-height:var(--lh-2xs);color:var(--text-3)}.app-page .skeleton{gap:8px;margin-top:14px;display:grid}.app-page .skeleton span{border-radius:var(--r-2);background:linear-gradient(90deg, var(--surface-1) 0%, var(--surface-3) 50%, var(--surface-1) 100%);background-size:200% 100%;height:34px;animation:1.2s linear infinite shimmer}.app-page .skeleton span:first-child{width:40%;height:16px}@keyframes shimmer{to{background-position:-200% 0}}.app-page .status-tag{font:400 var(--fs-2xs)/1 var(--font-mono);color:var(--c-amber);align-items:center;gap:6px;display:inline-flex}.app-page .status-tag:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.app-page .field{gap:6px;margin-top:12px;display:grid}.app-page .field label{font-size:var(--fs-2xs);line-height:var(--lh-2xs);color:var(--text-3)}.app-page .field span{border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--bg);height:32px}.app-page .fake-btn{border-radius:var(--r-2);background:var(--text);height:30px;color:var(--bg);font-size:var(--fs-xs);align-items:center;margin-top:14px;padding:0 12px;font-weight:600;display:inline-flex}.trace{flex-direction:column;min-width:0;display:flex}.trace-head{border-bottom:1px solid var(--line);height:48px;font:400 var(--fs-xs)/1 var(--font-mono);align-items:center;gap:12px;padding:0 20px;display:flex}.trace-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trace-speed{color:var(--text-4);white-space:nowrap;margin-left:auto}.trace-plot{--label-w:128px;font:400 var(--fs-2xs)/1 var(--font-mono);flex:1;padding:40px 20px 0;position:relative}.lanes{gap:0;display:grid;position:relative}.lane{grid-template-columns:var(--label-w) 1fr;align-items:center;height:34px;display:grid}.lane-label{color:var(--text-3);white-space:nowrap;align-items:center;gap:8px;transition:color .2s;display:flex}.lane-label:before{content:"";background:var(--lane);opacity:.9;border-radius:2px;width:7px;height:7px}.lane.is-live .lane-label{color:var(--text)}.lane-track{border-top:1px dashed var(--line);height:100%;position:relative}.lane:last-child .lane-track{border-bottom:1px dashed var(--line)}.bar[hidden]{display:none}.bar{background:color-mix(in oklab, var(--lane) 26%, transparent);border:1px solid color-mix(in oklab, var(--lane) 70%, transparent);border-radius:3px;width:0;height:12px;position:absolute;top:11px}.bar.is-error{--lane:var(--c-coral)}.bar-label{line-height:var(--lh-3xs);color:var(--text-3);white-space:nowrap;font-size:var(--fs-3xs);opacity:0;margin-left:6px;transition:opacity .2s;position:absolute;top:9px}.bar-label.on{opacity:1}.tick-mark{background:var(--lane);opacity:0;width:2px;box-shadow:0 0 12px var(--lane);border-radius:2px;margin-left:-1px;position:absolute;top:6px;bottom:6px}.tick-mark.on{opacity:1}.guides{inset:26px 20px 30px calc(20px + var(--label-w));pointer-events:none;position:absolute}.guide{border-left:1px dashed var(--line-3);width:0;transition:left .3s var(--ease), opacity .3s;position:absolute;top:0;bottom:0}.guide span{white-space:nowrap;color:var(--text-3);font-size:var(--fs-3xs);line-height:var(--lh-3xs);border-radius:var(--r-1);background:var(--surface-1);padding:2px 6px;position:absolute;top:-14px;left:-6px}.guide[data-guide=min] span{left:auto;right:-6px}.guide.is-hit{border-left-color:var(--accent-line)}.guide.is-hit span{color:var(--accent-strong)}.guide.is-off{opacity:0}.playhead{background:var(--text);opacity:0;width:1px;position:absolute;top:0;bottom:0}.playhead.on{opacity:.6}.ruler{margin:10px 0 0 var(--label-w);height:20px;color:var(--text-4);font-size:var(--fs-3xs);line-height:var(--lh-3xs);position:relative}.ruler span{line-height:var(--lh-3xs);border-left:1px solid var(--line-2);padding-left:4px;position:absolute}.trace-caption{border-top:1px solid var(--line);font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--text-2);margin:14px 20px 0;padding:14px 0 18px}.ribbon{padding:var(--section-y) 0;border-top:1px solid var(--line)}.ribbon h2{font-size:var(--heading);line-height:var(--heading-lh);letter-spacing:var(--heading-track);font-weight:620}.ribbon-head{max-width:640px;margin-bottom:48px}.ribbon-head p,.ribbon-copy>p{font-size:var(--fs-lg);line-height:var(--lh-lg);color:var(--text-2);margin-top:16px}.ribbon-split{grid-template-columns:5fr 7fr;align-items:start;gap:72px;display:grid}.ribbon-split.reverse{grid-template-columns:5fr 7fr}.ribbon-split>*{min-width:0}.ribbon-copy{position:sticky;top:100px}.ribbon-copy .code{margin-top:28px}.facts{border-top:1px solid var(--line);margin:28px 0 0;padding:0;list-style:none}.facts li{border-bottom:1px solid var(--line);font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--text-2);padding:14px 0}.facts strong{color:var(--text);font-weight:600}.text-link{color:var(--accent);font-weight:550;font-size:var(--fs-sm);line-height:var(--lh-sm);text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:4px;margin-top:24px;display:inline-flex}.text-link:hover{text-decoration-color:var(--accent)}.triad{border:1px solid var(--line-2);border-radius:var(--r-4);background:var(--surface-1);grid-template-columns:repeat(3,1fr);display:grid}.triad article{flex-direction:column;min-width:0;padding:28px;display:flex}.triad article+article{border-left:1px solid var(--line-2)}.triad h3{font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:600}.triad p{font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--text-2);margin-top:8px}.triad pre.mini{border:1px solid var(--line);border-radius:var(--r-3);background:var(--code-bg);font-size:var(--code-sm-fs);line-height:var(--code-sm-lh);color:var(--text);margin:auto 0 0;padding:14px 16px;overflow-x:auto}.triad p{margin-bottom:22px}.plugin-table{border:1px solid var(--line-2);border-radius:var(--r-4);background:var(--surface-1);overflow:hidden}.pt-row{border-top:1px solid var(--line);color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-sm);grid-template-columns:150px 1fr 64px;align-items:center;gap:16px;padding:13px 20px;text-decoration:none;display:grid}.pt-row:first-child{border-top:0}a.pt-row:hover{background:var(--surface-2)}a.pt-row:hover code{color:var(--accent-strong)}.pt-row code{color:var(--text);font-size:var(--fs-xs)}.pt-row .num{text-align:right;font:400 var(--fs-2xs)/1 var(--font-mono);color:var(--text-3)}.pt-head{background:var(--surface-2);color:var(--text-3);font-size:var(--fs-xs);line-height:var(--lh-xs);padding-block:11px}.adapters{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;display:grid}.adapter{border:1px solid var(--line-2);border-radius:var(--r-3);min-height:176px;color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-sm);flex-direction:column;align-items:flex-start;padding:20px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.adapter:hover{border-color:var(--line-3);background:var(--surface-1)}.adapter-logo{width:24px;height:24px;color:var(--text-3);transition:color .15s}.adapter{--brand:var(--accent)}.adapter:hover .adapter-logo,.adapter:focus-visible .adapter-logo{color:var(--brand)}:root[data-theme=light] .adapter:hover .adapter-logo,:root[data-theme=light] .adapter:focus-visible .adapter-logo{color:var(--brand-light,var(--brand))}.adapter-name{color:var(--text);font-weight:600;font-size:var(--fs-md);line-height:var(--lh-md);margin-top:18px}.adapter-pkg{color:var(--text-3);font-size:var(--fs-2xs);line-height:var(--lh-2xs)}.adapter p{margin-top:10px}.adapter.is-planned{border-style:dashed}.adapter.is-planned:hover{border-color:var(--accent-line)}.adapter.is-planned:hover .adapter-logo{color:var(--accent)}.adapter-stub{border:1px solid var(--line);border-radius:var(--r-2);background:var(--code-bg);font-size:var(--code-sm-fs);color:var(--text-2);align-self:stretch;margin:8px 0 0;padding:8px 12px;line-height:18px;overflow:hidden}.adapter.is-planned .adapter-pkg{color:var(--accent)}.closer{border-top:1px solid var(--line);padding:96px 0}.closer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.closer h2{font-size:var(--heading);line-height:var(--heading-lh);letter-spacing:var(--heading-track);font-weight:620}.closer-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.install-cmd.solo{border-radius:var(--r-2);min-width:280px;height:40px;font-size:var(--fs-sm)}.install-cmd .copy[data-copied]{color:var(--c-green)}.footer{border-top:1px solid var(--line);padding:48px 0 64px}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:48px;display:flex}.footer-brand p{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--text-3);margin-top:12px}.footer-cols{gap:72px;display:flex}.footer-cols div{flex-direction:column;gap:8px;display:flex}.footer-cols h2{font-size:var(--fs-xs);line-height:var(--lh-xs);margin-bottom:4px;font-weight:600}.footer-cols a{color:var(--text-3);font-size:var(--fs-xs);line-height:var(--lh-xs);text-decoration:none}.footer-cols a:hover{color:var(--text)}@media (width<=1180px){.hero-copy{grid-template-columns:1fr}.hero-side{grid-area:auto/1;margin-top:32px}}@media (width<=1080px){.instrument{grid-template-columns:1fr}.browser{border-right:0;border-bottom:1px solid var(--line-2)}.adapters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.topnav,.version{display:none}.topbar-inner{gap:16px}.menu-toggle{display:inline-grid}.home-menu:not([hidden]){background:var(--bg);border-bottom:1px solid var(--line-2);padding:8px 16px 16px;display:grid;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 24px oklch(0% 0 0/.35)}.home-menu a{border-radius:var(--r-2);height:44px;color:var(--text-2);font-size:var(--fs-md);line-height:var(--lh-md);align-items:center;padding:0 10px;font-weight:500;text-decoration:none;display:flex}.home-menu a:hover{color:var(--text);background:var(--surface-2)}.topbar .search-trigger{min-width:0}.ribbon-split,.ribbon-split.reverse{grid-template-columns:1fr}.ribbon-copy{position:static}.triad{grid-template-columns:1fr}.triad article+article{border-left:0;border-top:1px solid var(--line-2)}}@media (width<=600px){.topbar-inner{gap:12px}.topbar .search-trigger{justify-content:center;width:34px;padding:0}.topbar .search-trigger .keys{display:none}.topbar .search-trigger .label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.install,.install-cmd{width:100%;min-width:0}.install-cmd{font-size:var(--fs-xs)}.trace-plot{--label-w:100px;font-size:var(--fs-3xs);padding-inline:14px;padding-top:56px}.guides{top:42px}.guide span{font-size:var(--fs-3xs);padding:2px 3px}.guide[data-guide=delay] span{top:-28px}.ruler span:nth-child(2n){display:none}.guides{inset:26px 14px 30px calc(14px + var(--label-w))}.trace-speed{display:none}.adapters{grid-template-columns:1fr}.pt-row{grid-template-columns:1fr auto}.pt-row>span:not(.num){grid-area:2/1/auto/-1}.pt-head>span:nth-child(2){display:none}.footer-cols{flex-wrap:wrap;gap:40px}}:root[data-theme=light] .instrument{box-shadow:0 1px 2px oklch(30% .03 265/.06),0 30px 80px -40px oklch(52% .17 254/.25)}
