.ps{--fill:var(--lightningcss-light,#f2f2f2)var(--lightningcss-dark,var(--surface-2));--rule:var(--lightningcss-light,#00000029)var(--lightningcss-dark,var(--border-control))}.ps-hero{background:#000;align-items:center;min-height:calc(100svh - 60px);display:flex}.ps-hero-in{grid-template-columns:5fr 8fr;align-items:center;gap:32px clamp(32px,5vw,72px);padding:clamp(24px,4svh,48px) 0;display:grid}.ps-hero-title{flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:8px;display:flex}.ps-h1{color:#fafafa}.ps-tag{color:#ffffffc7;max-width:22ch}.ps-hero-title .lx-cta{margin-top:8px}.ps-busw{min-width:0;position:relative}.ps-bar{border-bottom:1px solid #ffffff1a;align-items:center;gap:18px;height:48px;padding-right:58px;display:flex;position:relative}.ps-bar-k{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#fafafa;white-space:nowrap;align-items:center;gap:10px;margin:0;display:inline-flex}.ps-bar-k:before{content:"";background:#fafafa;border-radius:50%;width:6px;height:6px}.ps-rp{white-space:nowrap;min-width:0;font:500 13px/1 var(--mono);color:#a3a3a3;margin:0 0 0 auto;overflow:hidden}.ps-rp span{display:inline-block}.ps-pause{top:2px;right:0}.ps-globe{height:clamp(300px,44svh,380px);margin:0 0 8px;position:relative}.ps-globe canvas{touch-action:pan-y;cursor:grab;width:100%;height:100%;display:block}.ps-globe canvas:active{cursor:grabbing}.ps-tray{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;margin-bottom:10px;display:grid}.ps-k{font:500 13px/1 var(--mono);color:#a3a3a3;white-space:nowrap;margin:0}.ps-seqs{border:1px solid #ffffff1a;border-radius:16px;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:6px;display:grid}.ps-seqs span{height:40px;font:500 14px/1 var(--mono);color:#a3a3a3;font-variant-numeric:tabular-nums;cursor:default;background:#171717;border-radius:10px;place-items:center;transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(0,0,.2,1);display:grid}.ps-seqs span.new{color:#0a0a0a;background:#fafafa}.ps-seqs span.rp{color:#fafafa;background:#404040}.ps-seqs span.rp.new{color:#0a0a0a;background:#fafafa}.ps-seqs span.from{box-shadow:inset 0 0 0 2px #fafafa}.ps-subs{grid-template-columns:1fr 1fr 1.2fr;gap:8px;margin-bottom:10px;display:grid}.ps-sub{border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;min-width:0;height:64px;padding:0 16px;transition:border-color .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1);display:flex}.ps-sub b{font:500 14px/1 var(--mono);color:#fafafa;white-space:nowrap}.ps-sub span{font:500 13px/1 var(--mono);color:#a3a3a3;font-variant-numeric:tabular-nums;white-space:nowrap}.ps-sub.got{background:#171717;border-color:#0000}.ps-sub.ack>span:not(.ps-one){color:#fafafa;font-weight:606}.ps-sub.ack>span:not(.ps-one):before{content:"✓ "}.ps-sub.wait{background:0 0;border:1px dashed #fafafa}.ps-sub.wait span{color:#fafafa}.ps-sub.wait span:before{content:"↻ "}.ps-one{gap:6px;display:inline-flex}.ps-one i{background:#262626;border-radius:5px;width:16px;height:16px;transition:background-color .3s cubic-bezier(.4,0,.2,1)}.ps-one i.on{background:#fafafa}.ps-switch-b{flex-wrap:wrap;gap:8px;display:flex}.ps-switch-b button{height:44px;font:500 14px/1 var(--mono);color:#a3a3a3;cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #ffffff24;border-radius:999px;padding:0 16px;transition:border-color .15s cubic-bezier(0,0,.2,1),color .15s cubic-bezier(0,0,.2,1),transform .15s cubic-bezier(0,0,.2,1);position:relative}.ps-switch-b button span:not(.ps-pill){position:relative}.ps-switch-b button[aria-pressed=true]{color:#0a0a0a;border-color:#fafafa}.ps-switch-b .ps-pill{background:#fafafa;border-radius:999px;position:absolute;inset:-1px}.ps-switch-b button:active{transition-duration:90ms;transform:scale(.97)}.ps-switch-b button:focus-visible{outline-offset:2px;outline:2px solid #fafafa}@media (hover:hover){.ps-switch-b button[aria-pressed=false]:hover{color:#fafafa;border-color:#fafafa}}.ps-walk{padding:clamp(72px,11vw,188px) 0 clamp(56px,6vw,96px)}.ps-walk-in{grid-template-columns:5fr 8fr;align-items:start;gap:clamp(32px,5vw,72px);display:grid}.ps-walk-l{flex-direction:column;align-items:flex-start;gap:24px;padding-top:8px;display:flex}.ps-walk h2{max-width:12ch}.ps-walk .lx-lede{color:var(--ink)}.ps-mori{aspect-ratio:4/3;background:#000;border-radius:24px;align-self:stretch;margin-top:24px;overflow:hidden}.ps-mori img{object-fit:cover;object-position:50% 62%;width:100%;height:100%;display:block}.ps-codew{min-width:0}.ps-codew .cf-ln{transition:opacity .4s cubic-bezier(.4,0,.2,1)}.ps-codew[data-step] .cf-ln{opacity:.28}.ps-codew[data-step=conn] .cf-ln:nth-child(-n+2),.ps-codew[data-step=stream] .cf-ln:nth-child(n+4):nth-child(-n+10),.ps-codew[data-step=pub] .cf-ln:nth-child(n+12):nth-child(-n+13),.ps-codew[data-step=sub] .cf-ln:nth-child(n+15){opacity:1}.ps-facts{padding-top:clamp(56px,6vw,96px)}.ps-facts-in{grid-template-columns:5fr 8fr;align-items:start;gap:clamp(32px,5vw,72px);display:grid}.ps-facts-l{flex-direction:column;gap:32px;display:flex;position:sticky;top:96px}.ps-facts-h{letter-spacing:-.03em;max-width:8ch;font-size:44px;line-height:1.05}.ps-figw{background:var(--lightningcss-light,#f5f5f5)var(--lightningcss-dark,var(--surface-2));border-radius:24px;padding:52px 20px 20px;position:relative}.ps-fign{font:500 12px/1 var(--mono);letter-spacing:.14em;color:var(--lightningcss-light,#737373)var(--lightningcss-dark,var(--muted-foreground));font-variant-numeric:tabular-nums;margin:0;position:absolute;top:20px;left:24px}.ps-figin{aspect-ratio:340/210}.ps-fig{width:100%;height:auto;display:block;overflow:visible}.ps-fig text{font:500 13px/1 var(--mono);fill:var(--lightningcss-light,#525252)var(--lightningcss-dark,var(--muted-foreground))}.ps-fig .t-ink{fill:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--foreground))}.ps-fig .t-inv{fill:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,var(--background))}.ps-fig .f-ink{fill:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--foreground))}.ps-fig .f-cell{fill:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--surface-1));stroke:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,var(--border-control));stroke-width:1px}.ps-fig .f-sw{fill:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--surface-1));stroke:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--foreground));stroke-width:1px;transition:fill .3s cubic-bezier(.4,0,.2,1)}.ps-fig .f-sw.on{fill:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--foreground))}.ps-fig .f-out{fill:none;stroke:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--foreground));stroke-width:1.5px}.ps-fig .f-ring{fill:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--surface-1));stroke:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--foreground));stroke-width:1.5px}.ps-fig .f-hist{fill:var(--lightningcss-light,#e5e5e5)var(--lightningcss-dark,var(--surface-3))}.ps-fig .s-ink{fill:none;stroke:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--foreground));stroke-width:1.5px}.ps-fig .s-faint{fill:none;stroke:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,var(--border-control));stroke-width:1px}.ps-fig .s-wall{stroke:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--foreground));stroke-width:3px;stroke-linecap:round}.ps-fig .dash{stroke-dasharray:4 4}.ps-fig .f-cell.dash,.ps-fig .f-out.dash{stroke:var(--lightningcss-light,#a3a3a3)var(--lightningcss-dark,var(--text-tertiary))}.ps-figm{display:none}.ps-flist{margin:0;padding:0;list-style:none}.ps-flist li{border-top:1px solid var(--rule);flex-direction:column;gap:10px;padding:28px 0 32px;display:flex;position:relative}.ps-flist li:before{content:"";background:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--primary));transform-origin:0;width:100%;height:1px;transition:transform .4s cubic-bezier(.4,0,.2,1);position:absolute;top:-1px;left:0;transform:scaleX(0)}.ps-flist li.on:before{transform:scaleX(1)}.ps-fk{color:var(--lightningcss-light,#737373)var(--lightningcss-dark,var(--muted-foreground));transition:color .3s cubic-bezier(.4,0,.2,1)}.ps-ft{color:var(--lightningcss-light,#737373)var(--lightningcss-dark,var(--muted-foreground));margin:0;font-size:21px;font-weight:497;line-height:1.3;transition:color .3s cubic-bezier(.4,0,.2,1)}.ps-fd{max-width:56ch;color:var(--lightningcss-light,#737373)var(--lightningcss-dark,var(--muted-foreground));margin:0;font-size:16px;line-height:1.6;transition:color .3s cubic-bezier(.4,0,.2,1)}.ps-flist li.on .ps-fk,.ps-flist li.on .ps-ft{color:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--foreground))}.ps-flist li.on .ps-fd{color:var(--lightningcss-light,#525252)var(--lightningcss-dark,var(--text-secondary))}.ps-room{background:var(--lightningcss-light,#f5f5f5)var(--lightningcss-dark,var(--surface-2));padding:clamp(72px,11vw,188px) 0}.ps-room-top{grid-template-columns:5fr 8fr;align-items:start;gap:clamp(32px,5vw,72px);margin-bottom:clamp(56px,7vw,112px);display:grid}.ps-room-top .lx-headline{max-width:10ch}.ps .lx-paste .cf-paste-t{font-size:21px}.ps-spec .lx-spec-v{font-family:var(--sans);letter-spacing:-.03em;font-size:44px}.ps .cf-paste-box{background:var(--lightningcss-light,#171717)var(--lightningcss-dark,var(--surface-1));color:#fafafa;box-shadow:0 30px 60px -36px #00000080, inset 0 0 0 1px var(--lightningcss-light,transparent)var(--lightningcss-dark,var(--border));border:0;border-radius:24px}.ps .cf-paste-bar{border-color:#ffffff1a}.ps .cf-paste-bar .x-copy{color:#fafafa;background:#262626;border-color:#ffffff1a}.ps .cf-paste-k{color:#a3a3a3}.ps .cf-caret{background:#fafafa}.ps .cf-paste-code,.ps .cf-code pre{font-size:13.5px;line-height:1.65}.ps .cf-code.lt{background:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--surface-1));color:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--foreground));border:1px solid var(--line);border-radius:24px}.ps .cf-code.lt .cf-code-bar>i{background:var(--lightningcss-light,#e4e4e7)var(--lightningcss-dark,var(--surface-3))}.ps .cf-code.lt .cf-code-k{color:var(--lightningcss-light,#525252)var(--lightningcss-dark,var(--text-secondary))}.ps .cf-code.lt .c{color:var(--lightningcss-light,#737373)var(--lightningcss-dark,var(--muted-foreground))!important}.ps .lx-close{padding-top:clamp(44px,5vw,72px)}.ps .lx-text,.ps .lx-close-repo{transition:text-decoration-color .15s cubic-bezier(0,0,.2,1),transform .15s cubic-bezier(0,0,.2,1)}.ps .lx-text:active,.ps .lx-close-repo:active{transition-duration:90ms;transform:scale(.97)}@media (max-width:899px){.ps-hero{min-height:0;display:block}.ps-hero-in{grid-template-columns:minmax(0,1fr);gap:24px;padding:28px 0 40px}.ps-hero-title{gap:16px;padding:0}.ps-hero-title .lx-cta{margin-top:0}.ps-bar{padding-right:54px}.ps-rp{font-size:13px}.ps-globe{height:300px;margin:0 -8px 4px}.ps-tray{grid-template-columns:minmax(0,1fr);gap:8px}.ps-k,.ps-sub span{font-size:14px}.ps-seqs{border-radius:14px;gap:4px;padding:4px}.ps-seqs span{border-radius:10px;height:40px}.ps-subs{grid-template-columns:1fr 1fr;gap:6px}.ps-sub{border-radius:12px;gap:8px;height:64px;padding:0 14px}.ps-sub.ps-grp{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;height:48px}.ps-one{gap:4px}.ps-one i{border-radius:4px;width:14px;height:14px}.ps-switch-b{flex-wrap:nowrap;gap:6px}.ps-switch-b button{white-space:nowrap;flex:auto;min-width:0;padding:0 12px}.ps-walk-in,.ps-facts-in,.ps-room-top{grid-template-columns:minmax(0,1fr);gap:32px}.ps-walk-l{gap:20px}.ps-mori{aspect-ratio:16/10;border-radius:20px;margin-top:8px}.ps-facts-l{position:static}.ps-facts-h{font-size:32px}.ps-figw{display:none}.ps-figm{aspect-ratio:340/210;background:var(--lightningcss-light,#f5f5f5)var(--lightningcss-dark,var(--surface-2));box-sizing:content-box;border-radius:20px;margin-bottom:8px;padding:16px;display:block}.ps-figm .ps-fig text{font-size:14px}.ps-ft{font-size:19px}.ps-fd{font-size:16px}.ps-flist li{padding:24px 0 28px}.ps-room-top{margin-bottom:48px}.ps-spec .lx-spec-v{font-size:32px}.ps .cf-paste-code,.ps .cf-code pre,.ps .x-copy,.ps .x-copy-t,.ps .cf-code-k,.ps .cf-paste-k,.ps .lx-close-facts,.ps .lx-close-mark{font-size:14px}}@media (max-width:359px){.ps-switch-b button{padding:0 8px;font-size:13px}.ps-sub{padding:0 8px}}.ps-seqs,.ps-sub{position:relative}.ps-ol{pointer-events:none;width:calc(100% + 2px);height:calc(100% + 2px);position:absolute;inset:-1px;overflow:visible}.ps-ol rect{x:.5px;y:.5px;rx:15px;fill:none;stroke:#fafafa;stroke-width:1px;stroke-dasharray:1 1;opacity:0;width:calc(100% - 1px);height:calc(100% - 1px)}.ps-sub .ps-ol rect{rx:14px}@media (prefers-reduced-motion:no-preference){.ps-ol rect{animation:ps-draw 1.1s cubic-bezier(.4, 0, .2, 1) var(--d,0s) backwards}.ps-sub{animation:ps-fill .45s cubic-bezier(0, 0, .2, 1) var(--fd,.6s) backwards}.ps-seqs{animation:.45s cubic-bezier(0,0,.2,1) .9s backwards ps-fill}.ps-seqs>span{animation:ps-cell .3s cubic-bezier(0, 0, .2, 1) calc(.8s + var(--k,0) * 60ms) backwards}}@keyframes ps-draw{0%{stroke-dashoffset:1px;opacity:1}75%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes ps-fill{0%{background-color:#0000;border-color:#0000}}@keyframes ps-cell{0%{opacity:0;transform:scale(.9)}}.ps-trail{position:relative;overflow:clip}.ps-trail[data-trail=armed] .ps-walk-in{clip-path:inset(0 100% 0 0)}.ps-trail[data-trail=play] .ps-walk-in{clip-path:inset(0 calc(100% - var(--tx,0%)) 0 0)}.ps-trail-dots{pointer-events:none;position:absolute;inset:0}.ps-trail-dots i{background:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--primary));opacity:0;will-change:transform;border-radius:50%;width:10px;height:10px;position:absolute;top:-5px;left:-5px}[data-snap=armed]{opacity:0;transform:translate(56px)}[data-snap=armed][data-from=l]{transform:translate(-56px)}[data-snap=play]{transition:transform .7s cubic-bezier(.34,1.56,.64,1),opacity .3s cubic-bezier(0,0,.2,1)}.ps-facts{padding-bottom:clamp(140px,13vw,200px)}.ps-cover{z-index:1;border-radius:32px 32px 0 0;margin-top:-112px;position:relative}.ps-px{position:relative}.ps-px-veil{z-index:2;pointer-events:none;border-radius:20px;position:absolute;overflow:hidden}.ps-px-l{display:grid;position:absolute;inset:0}.ps-px-l i{display:block}.ps-px-l i.g0{background:var(--lightningcss-light,#f5f5f5)var(--lightningcss-dark,var(--surface-2))}.ps-px-l i.g1{background:var(--lightningcss-light,#ededed)var(--lightningcss-dark,var(--surface-2))}.ps-px-l i.g2{background:var(--lightningcss-light,#e5e5e5)var(--lightningcss-dark,var(--surface-3))}.ps-px-l i.g3{background:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,var(--surface-3))}.ps-px-l i.g4{background:var(--lightningcss-light,#a3a3a3)var(--lightningcss-dark,var(--surface-3))}.ps-px[data-px=play] .ps-px-l i{animation:ps-pxo .22s cubic-bezier(0, 0, .2, 1) var(--t,0s) forwards}@keyframes ps-pxo{to{opacity:0}}@media (max-width:899px){.ps-cover{border-radius:24px 24px 0 0;margin-top:-80px}.ps-facts{padding-bottom:120px}}.lx.ps{--ink:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--foreground));--acc:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,var(--foreground));--acc-soft:var(--lightningcss-light,#f2f2f2)var(--lightningcss-dark,var(--surface-2));--muted:var(--lightningcss-light,#525252)var(--lightningcss-dark,var(--text-secondary));--soft:var(--lightningcss-light,#525252)var(--lightningcss-dark,var(--muted-foreground));--faint:var(--lightningcss-light,#737373)var(--lightningcss-dark,var(--text-tertiary));--silver:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,var(--surface-3));--card:var(--lightningcss-light,#f5f5f5)var(--lightningcss-dark,var(--surface-2));--line:var(--lightningcss-light,#0000001a)var(--lightningcss-dark,var(--border));--bg:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--background))}.ps .lx-ghost{border-color:var(--lightningcss-light,#00000024)var(--lightningcss-dark,var(--border-control))}.ps .lx-dark .lx-ghost{border-color:#ffffff38}.ps .lx-dark .lx-cta{background:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,var(--primary))}@media (hover:hover){.ps .lx-dark .lx-cta:hover{background:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--primary))}}.ps .cf-code.lt .cf-code-bar .x-copy{background:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--surface-1))}.ps .lx-close-art,.ps .lx-rel-card{background:var(--lightningcss-light,#f5f5f5)var(--lightningcss-dark,var(--surface-2))}html:not(.light) .ps-switch-b button[aria-pressed=true]>span:not(.ps-pill){background:#fafafa;transition:background-color 0s .3s}
