body:has(.cxh){cursor:auto;background:#f5f4f0}.cxh a,.cxh button{cursor:pointer}.cxh input,.cxh select,.cxh textarea{cursor:text}.cxh{--night:#eae8e2;--night-2:#e1ded7;--night-line:#11131617;--on-night:#111316;--on-night-2:#5b5f63;--paper:#f5f4f0;--wash:#eae8e2;--ink:#111316;--ink-2:#5b5f63;--line:#dad7cf;--cyan:#9a7442;--magenta:#9a7442;--violet:#9a7442;--yellow:#111316;--ok:#2f7d57;--warn:#b06d12;--off:#b8413a;--sans:var(--font-instrument-sans),"Instrument Sans","Helvetica Neue",Arial,sans-serif;--mono:var(--font-jetbrains-mono),"JetBrains Mono",ui-monospace,Menlo,monospace;background:var(--paper);color:var(--ink);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;cursor:auto}.cxh a{color:inherit;text-decoration:none}.cxh a:focus-visible,.cxh button:focus-visible,.cxh input:focus-visible,.cxh select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.cxh .wrap{max-width:1360px;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));margin:0 auto}.cxh h1,.cxh h2,.cxh h3{text-wrap:balance;letter-spacing:-.025em;margin:0;font-weight:600}.cxh .mono{font-family:var(--mono)}.cxh .btn{cursor:pointer;border:0;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-family:inherit;font-size:15px;font-weight:600;display:inline-flex}.cxh .btn.y{background:var(--ink);color:#fff}.cxh .btn.w{color:var(--on-night);background:0 0;box-shadow:inset 0 0 0 1.5px #11131638}.cxh .btn.d{background:var(--ink);color:var(--paper)}.cxh .link{color:var(--ink);align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.cxh{--hl:#8b8e91;--ac:#9a7442;--pill-bg:#f8f7f4e0;--pill-line:#11131614;--by-bg:#111316;--by-fg:#fff;--bw-line:#11131638}.cxh .band{--g1:#f1efea;--g2:#eae8e2;--g3:#e1ded7;--gt:#9a74420f;--ln:#1c1f22;--halo:#dcb877;--litc:#e2c48c;--strip-btn:#111316;--strip-shadow:0 0 0 1px #11131614,0 18px 44px -24px #11131647;background:var(--g2);color:var(--on-night);isolation:isolate;position:relative;overflow:hidden}.cxh .band:before{content:"";z-index:-1;background:radial-gradient(70% 80% at 90% 0%,var(--gt),transparent 60%),linear-gradient(165deg,var(--g1)0%,var(--g2)55%,var(--g3)100%);position:absolute;inset:0}.cxh .band .btn.y,.cxh .navwrap .btn.y{background:var(--by-bg);color:var(--by-fg)}.cxh .band .btn.w,.cxh .navwrap .btn.w{color:var(--on-night);box-shadow:inset 0 0 0 1.5px var(--bw-line)}.cxh .band .copy h1{letter-spacing:-.035em;font-weight:500}.cxh .navwrap{z-index:20;color:var(--on-night);padding-top:calc(14px + env(safe-area-inset-top,0px));position:fixed;inset:0 0 auto}.cxh #top{padding-top:98px}.cxh nav.pill{background:0 0;border-radius:26px;justify-content:space-between;align-items:center;gap:16px;margin-inline:-14px;padding:13px 13px 13px 14px;transition:background-color .3s,box-shadow .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;box-shadow:inset 0 0 0 1px #0000}.cxh nav.pill.stuck{background:var(--pill-bg);box-shadow:inset 0 0 0 1px var(--pill-line),0 12px 32px -20px #11131659;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.cxh .logo{font-family:var(--font-sora),"Sora",sans-serif;letter-spacing:.18em;align-items:center;font-size:24px;font-weight:700;line-height:1;display:inline-flex}.cxh .logo:after{content:"";background:#04d1e8;border-radius:50%;align-self:flex-end;width:.26em;height:.26em;margin-bottom:.14em}.cxh nav.pill ul{color:var(--on-night-2);gap:28px;margin:0;padding:0;font-size:15.5px;font-weight:600;list-style:none;display:flex}.cxh nav.pill .r{align-items:center;gap:8px;display:flex}.cxh nav.pill .lang{font:500 13px var(--sans);color:var(--on-night-2);align-items:center;gap:5px;margin-right:12px;display:inline-flex}.cxh nav.pill .lang .lg{padding:4px 2px;transition:color .2s}.cxh nav.pill .lang .lg:hover,.cxh nav.pill .lang .lg[aria-current]{color:var(--on-night)}.cxh nav.pill .lang .sep{opacity:.45}.cxh nav.pill .btn{border-radius:16px;padding:11px 18px;font-size:14px}.cxh .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px;padding-block:160px 190px;display:grid}.cxh .copy h1{font-size:clamp(2.4rem,4.6vw,4rem);line-height:1.03}.cxh .copy h1 span{color:var(--hl);display:block}.cxh .acts{flex-wrap:wrap;gap:10px;margin-top:36px;display:flex}.cxh .copy .btn{padding:9px 16px;font-size:14px;font-weight:500}.cxh .copy .btn.w{box-shadow:inset 0 0 0 1px var(--bw-line)}.cxh .proof{border-top:1px solid var(--night-line);color:var(--on-night-2);flex-wrap:wrap;gap:10px 26px;margin:34px 0 0;padding:22px 0 0;font-size:14.5px;list-style:none;display:flex}.cxh .proof li:before{content:"✓";color:var(--hl);margin-right:8px}.cxh .stage{justify-self:end;width:100%;max-width:620px;position:relative}.cxh .hero>.copy{z-index:1;position:relative}.cxh .scene{z-index:0;pointer-events:none;will-change:transform;-webkit-mask-composite:source-in;width:192.5%;position:absolute;top:50%;right:-6%;overflow:hidden;transform:translateY(-48.4%);-webkit-mask-image:linear-gradient(90deg,#0000,#00000012 16%,#0003 32%,#0000008c 44%,#000 56%),linear-gradient(#000 58%,#0009 74%,#00000038 88%,#0000);mask-image:linear-gradient(90deg,#0000,#00000012 16%,#0003 32%,#0000008c 44%,#000 56%),linear-gradient(#000 58%,#0009 74%,#00000038 88%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.cxh .scene>g{opacity:0;transition:opacity .6s;display:none}.cxh .scene>g.vis{display:inline}.cxh .scene>g.on{opacity:1}.cxh .scene *{fill:none;stroke:var(--ln);stroke-opacity:.55;stroke-width:1.05px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cxh .scene .f{stroke-opacity:.26;stroke-width:.7px}.cxh .scene .acc{stroke:var(--ac);stroke-opacity:.95;stroke-width:1.3px}.cxh .scene .cover{fill:url(#occ);stroke:none}.cxh .scene .o{fill:url(#occ);fill-rule:evenodd}.cxh .scene .nd{opacity:0;transition:opacity 1.4s}.cxh .scene>g.live .nd{opacity:1}.cxh .scene .lit{stroke:none;fill:var(--litc,var(--ln));fill-opacity:0;transition:fill-opacity 1.6s ease var(--d,0s)}.cxh .scene>g.live .lit{fill-opacity:.3}.cxh .scene .scr{stroke:none;fill:var(--ac);fill-opacity:0;transition:fill-opacity 1s ease var(--d,0s)}.cxh .scene>g.live .scr{fill-opacity:.85}.cxh .scene .glow{stroke:none;fill:var(--litc,var(--ln));fill-opacity:0}.cxh .scene>g.live .glow{animation:cxh-glow var(--t,8s)ease-in-out var(--d,0s)infinite}@keyframes cxh-glow{0%,to{fill-opacity:0}14%,72%{fill-opacity:.3}}.cxh .scene .bar.hi{fill:var(--ac);fill-opacity:.16;stroke:var(--ac)}.cxh .scene .drop{opacity:0;transition:opacity .5s ease var(--d,0s),transform .7s cubic-bezier(.3,1.4,.5,1)var(--d,0s);transform:translateY(-14px)}.cxh .scene>g.live .drop{opacity:1;transform:none}.cxh .scene .wheel{transform-box:fill-box;transform-origin:50%}.cxh .scene>g.live .wheel{animation:120s linear infinite cxh-spin}@keyframes cxh-spin{to{transform:rotate(360deg)}}.cxh .scene .typed{stroke:none;fill:var(--ln);fill-opacity:.45;transform-box:fill-box;transform-origin:0;transition:transform .7s ease var(--d,0s);transform:scaleX(0)}.cxh .scene>g.live .typed{transform:none}.cxh .scene .tick{transform-box:fill-box;transform-origin:50% 80%}.cxh .scene>g.live .tick{animation:60s steps(60,end) infinite cxh-tick}@keyframes cxh-tick{to{transform:rotate(360deg)}}.cxh .scene .halo{stroke:none;fill:url(#halo)}.cxh .scene .sway{transform-box:fill-box;transform-origin:50% 0}.cxh .scene>g.live .sway{animation:cxh-sway 7s ease-in-out var(--d,0s)infinite}@keyframes cxh-sway{0%,to{transform:rotate(0)}30%{transform:rotate(6deg)}70%{transform:rotate(-6deg)}}.cxh .scene .bar{fill:var(--ln);fill-opacity:.1;transform-box:fill-box;transform-origin:50% 100%;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)var(--d,0s);transform:scaleY(0)}.cxh .scene>g.live .bar{transform:none}.cxh .scene .ring{stroke:var(--ac);stroke-opacity:.9;opacity:0;transform-box:fill-box;transform-origin:50%}.cxh .scene>g.live .ring{animation:cxh-ring 2.6s ease-out var(--d,0s)infinite}@keyframes cxh-ring{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(2.4)}}.cxh .scene .shim{stroke-dasharray:10 28}.cxh .scene>g.live .shim{animation:5s linear infinite cxh-shim}@keyframes cxh-shim{to{stroke-dashoffset:-76px}}.cxh .scene>g.live .rain{animation:1.2s linear infinite cxh-rain}@keyframes cxh-rain{to{transform:translate(-36px,108px)}}.cxh .scene .flutter{transform-box:fill-box;transform-origin:50% 0}.cxh .scene>g.live .flutter{animation:6s ease-in-out infinite cxh-flutter}@keyframes cxh-flutter{0%,to{transform:rotate(0)}50%{transform:rotate(1.8deg)}}.cxh .scene>g.live .drift{animation:16s ease-in-out infinite alternate cxh-drift}@keyframes cxh-drift{to{transform:translate(-34px)}}.cxh .scene .lbl2{fill:var(--ln);fill-opacity:.55;stroke:none;font:600 8px var(--sans);letter-spacing:3px;text-anchor:middle}.cxh .scene .lbl{fill:var(--ac);stroke:none;font:600 12px var(--sans);text-anchor:middle}.cxh .scene.paused>g.live *{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.cxh .strip .q .typed:after{animation:none}.cxh .scene *,.cxh .scene>g{transition:none!important;animation:none!important}}.cxh .strip{z-index:1;color:#111316;width:100%;box-shadow:var(--strip-shadow);background:#fff;border-radius:17px;align-items:center;gap:10px;padding:10px 10px 10px 22px;display:flex;position:relative}.cxh .strip svg{color:#7d8f98;flex:none;width:18px;height:18px}.cxh .ask-cap{z-index:1;font:500 12px var(--sans);color:var(--on-night-2);background:#ffffffb8;border-radius:8px;margin:0 0 10px;padding:3px 8px;position:absolute;bottom:100%;left:4px}@media (max-width:600px){.cxh .ask-cap{display:inline-block;position:static}.cxh .strip{flex-wrap:wrap;padding:14px 14px 10px 18px}.cxh .strip .q{flex-basis:calc(100% - 30px)}.cxh .strip .go{text-align:center;width:100%}}.cxh .strip .q{min-width:0;font:500 16px/1.35 var(--sans);color:#111316;cursor:default;-webkit-user-select:none;user-select:none;flex:1;align-items:center;min-height:2.7em;margin:0;display:flex}.cxh .strip .q>span{text-wrap:balance;flex:1;min-width:0;transition:transform .25s}.cxh .strip .q>span.low{transform:translateY(.675em)}.cxh .strip .q .rest{color:#0000}.cxh .strip .q .typed:after{content:"";border-right:1.5px solid var(--ac);margin-left:2px;margin-right:-3.5px;animation:1s step-end infinite cxh-blink}@keyframes cxh-blink{50%{opacity:0}}.cxh .strip .go{font:600 15px var(--sans);background:var(--strip-btn);color:#fff;white-space:nowrap;border-radius:12px;flex:none;padding:13px 22px}.cxh .strip .go:focus-visible{outline:2px solid var(--ac);outline-offset:2px}.cxh .for{border-top:1px solid var(--night-line)}.cxh .for .wrap{flex-wrap:wrap;align-items:center;gap:8px;padding-block:18px;display:flex}.cxh .for .wrap b{font:500 12px var(--sans);color:var(--on-night-2);margin-right:10px}.cxh .for .wrap a{box-shadow:inset 0 0 0 1px var(--pill-line);font:500 14.5px var(--sans);color:var(--on-night);white-space:nowrap;background:#ffffff80;border-radius:12px;flex:auto;justify-content:center;align-items:center;gap:9px;padding:8px 15px 8px 11px;transition:background-color .2s,box-shadow .2s;display:inline-flex}.cxh .for .wrap a:hover{box-shadow:inset 0 0 0 1px var(--pill-line),0 8px 20px -14px #11131666;background:#fff}.cxh .for .wrap svg{fill:none;width:17px;height:17px;stroke:var(--ac);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none}.cxh .for .wrap a[aria-current]{background:#fff;box-shadow:inset 0 0 0 1px #9a74428c}.cxh .copy .eyebrow{font:500 12px var(--sans);color:var(--on-night-2);align-items:center;gap:9px;margin:0 0 22px;display:flex}.cxh .copy .eyebrow svg{fill:none;width:18px;height:18px;stroke:var(--ac);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none}@media (max-width:1120px){.cxh .for .wrap{scrollbar-width:none;flex-wrap:nowrap;padding-right:56px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 72%,#0000);mask-image:linear-gradient(90deg,#000 72%,#0000)}.cxh .for .wrap::-webkit-scrollbar{display:none}.cxh .for .wrap b,.cxh .for .wrap a{flex:none}}.cxh section{padding-block:104px}.cxh .washed{background:linear-gradient(180deg,var(--wash),var(--paper)70%)}.cxh .head{max-width:760px}.cxh .head.c{margin:0}.cxh .kick{font:500 13px var(--sans);color:var(--violet)}.cxh .band .kick{color:var(--cyan)}.cxh .head h2{margin-top:10px;font-size:clamp(2rem,3.8vw,3.1rem);line-height:1.06}.cxh .head p{color:var(--ink-2);margin:14px 0 0;font-size:18px}.cxh .band .head p{color:var(--on-night-2)}.cxh .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;margin-top:52px;display:grid}.cxh .card .vis{border-radius:18px;place-items:center;height:290px;padding:26px;display:grid;position:relative;overflow:hidden}.cxh .v1,.cxh .v2,.cxh .v3,.cxh .v4{background:#dcd7cc}.cxh .card h3{margin:22px 0 6px;font-size:21px}.cxh .card p{color:var(--ink-2);max-width:46ch;margin:0 0 14px;font-size:16px}.cxh .cards.one .card{grid-column:1/-1;grid-template-rows:1fr auto 1fr;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0 48px;display:grid}.cxh .cards.one .card .vis{grid-row:1/-1}.cxh .cards.one .card h3{align-self:end;margin-top:0}.cxh .cards.one .card .link{align-self:start}.cxh .ui{color:#111316;background:#fff;border-radius:12px;width:min(100%,380px);font-size:13px;overflow:hidden;box-shadow:0 30px 60px -24px #11131673}.cxh .ui .bar{color:#5b5f63;border-bottom:1px solid #ebe8e2;justify-content:space-between;align-items:center;padding:9px 12px;font-size:11.5px;display:flex}.cxh .ui .bar b{color:#111316}.cxh .ev{border-bottom:1px solid #f0eee9;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.cxh .ev:last-child{border-bottom:0}.cxh .ev .d{text-align:center;color:#8a8780;font-size:10px;line-height:1.15}.cxh .ev .d b{color:#111316;font-size:15px;display:block}.cxh .ev .t b{font-size:13px;display:block}.cxh .ev .t span{color:#6a6761;font-size:11.5px}.cxh .tag{font:500 12px var(--sans);color:#3f4246;white-space:nowrap;background:#ebe7de;border-radius:999px;padding:2px 7px}.cxh .tag.off{color:#a8362f;background:#f4e9e4}.cxh .tv{aspect-ratio:16/9;color:#f4f2ed;background:#141517;border-radius:10px;flex-direction:column;justify-content:space-between;width:min(100%,380px);padding:16px 18px;display:flex;box-shadow:0 0 0 8px #2a2b2d,0 30px 60px -24px #0009}.cxh .tv .s{color:#a5a29b;justify-content:space-between;font-size:11px;display:flex}.cxh .tv h4{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:600}.cxh .tv .row{border-top:1px solid #ffffff24;justify-content:space-between;gap:10px;padding-top:6px;font-size:12.5px;display:flex}.cxh .tv .row span{color:#a5a29b}.cxh .draft{padding:14px}.cxh .draft .l{font:500 12px var(--sans);color:#8a8780}.cxh .draft h4{margin:6px 0 4px;font-size:15px}.cxh .draft p{color:#5b5f63;margin:0;font-size:12.5px}.cxh .draft .a{gap:6px;margin-top:10px;display:flex}.cxh .draft .a span{border:1px solid #e2dfd8;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:600}.cxh .draft .a span.g{color:#fff;background:#111316;border-color:#111316}.cxh .langs{gap:4px;display:flex}.cxh .langs span{font:500 12px var(--sans);background:#f0eee9;border-radius:4px;padding:1px 5px}.cxh .code{color:#e6e2d9;width:min(100%,380px);font:400 12.5px/1.65 var(--mono);white-space:pre;background:#141517;border-radius:12px;padding:16px 18px;overflow:hidden;box-shadow:0 30px 60px -24px #0009,inset 0 0 0 1px #ffffff14}.cxh .code .k{color:#d9bd8a}.cxh .code .s2{color:#c9c5bb}.cxh .code .n{color:#d9bd8a}.cxh .eu{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:56px;padding-block:104px;display:grid}.cxh .eu .head h2{color:var(--on-night)}.cxh .chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.cxh .chip{background:#ffffffa6;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:15px;display:flex;box-shadow:inset 0 0 0 1px #11131614}.cxh .chip span{font:500 12px var(--sans);color:var(--on-night-2)}.cxh .chip:nth-child(odd){transform:translate(-14px)}.cxh .chip.hot{background:#9a74421a;box-shadow:inset 0 0 0 1px #9a744273}.cxh .src{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.cxh .src small{font:500 12px var(--sans);color:var(--ink-2);display:block}.cxh .src code{font:500 13px var(--mono)}.cxh .outs{gap:10px;display:grid}.cxh .out{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:14px}.cxh .out small{font:500 12px var(--sans);color:var(--ink-2);display:block}.cxh .hw{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,.9fr);align-items:start;gap:72px;margin-top:48px;display:grid;position:relative}.cxh .hw-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cxh .hw-lines path{fill:none;stroke:var(--line);stroke-width:1.2px;transition:stroke .2s,opacity .2s}.cxh .hw.active .hw-lines path{opacity:.35}.cxh .hw.active .hw-lines path.on{opacity:1;stroke:var(--ac);stroke-width:1.6px}.cxh .hw-col{align-content:start;gap:10px;min-width:0;display:grid;position:relative}.cxh .hw-h{color:var(--ink-2);margin:0 0 4px;font-size:14px;font-weight:600}.cxh .hw-src{border:1px solid var(--line);background:var(--paper);text-align:left;color:var(--ink);border-radius:10px;gap:3px;padding:11px 14px;transition:border-color .2s,opacity .2s;display:grid}.cxh .hw-src small{color:var(--ink-2);font-size:12.5px}.cxh .hw-src code{font:500 13.5px/1.4 var(--mono);white-space:normal}.cxh .hw.active .hw-src{opacity:.45}.cxh .hw.active .hw-src.on{opacity:1;border-color:var(--ac)}.cxh .hw-rec{border:1px solid var(--line);background:#fff;border-radius:14px;gap:4px;padding:22px 22px 14px;display:grid;box-shadow:0 30px 60px -34px #11131647}.cxh .hw-ok{color:var(--ok);font-size:13px;font-weight:600}.cxh .hw-rec h4{letter-spacing:-.02em;margin:2px 0 10px;font-size:24px}.cxh .hw-rows{display:grid}.cxh .hw-row{text-align:left;font:400 15px/1.4 var(--sans);color:var(--ink);background:0 0;border:0;border-top:1px solid #efede8;border-radius:0;grid-template-columns:78px minmax(0,1fr);gap:12px;margin:0 -8px;padding:10px 8px;transition:background .2s;display:grid}.cxh .hw-row .k{color:var(--ink-2)}.cxh .hw-row .v{gap:2px;font-weight:600;display:grid}.cxh .hw-row s{color:var(--off);font-weight:400}.cxh .hw-row small{color:var(--ink-2);font-size:12.5px;font-weight:400}.cxh .hw-row.on{background:#9a744214}.cxh .hw-hint{color:var(--ink-2);margin:4px 0 0;font-size:13px}.cxh .hw-out{border-left:2px solid var(--ac);background:var(--paper);gap:3px;padding:11px 14px;font-size:15px;display:grid}.cxh .hw-out small{color:var(--ink-2);font-size:12.5px}.cxh .hw-steps{border-top:1px solid var(--line);counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:64px 0 0;padding:28px 0 0;list-style:none;display:grid}.cxh .hw-steps li{counter-increment:step;align-content:start;gap:6px;display:grid}.cxh .hw-steps h3{margin:0;font-size:20px}.cxh .hw-steps h3:before{content:counter(step)". ";color:var(--ac)}.cxh .hw-steps p{color:var(--ink-2);max-width:40ch;margin:0}.cxh .who{border-bottom:1px solid var(--line);margin-top:48px;display:grid}.cxh .who-h,.cxh .who-r{grid-template-columns:minmax(150px,.7fr) minmax(0,1fr) minmax(0,1.15fr) 64px;align-items:baseline;gap:32px;display:grid}.cxh .who-h{color:var(--ink-2);padding-bottom:12px;font-size:13px;font-weight:600}.cxh .who-r{border-top:1px solid var(--line);color:var(--ink);padding:22px 0;transition:background .2s}.cxh .who-r:hover{background:linear-gradient(90deg,transparent,var(--night-2)12%,var(--night-2)88%,transparent)}.cxh .who-r h3{letter-spacing:-.01em;margin:0;font-size:20px}.cxh .who-r p{margin:0;font-size:16px;line-height:1.5}.cxh .who-r .b4{color:var(--ink-2)}.cxh .who-r .af{font-weight:500}.cxh .who-r .l{display:none}.cxh .who-r .mr{color:var(--ac);text-underline-offset:4px;justify-self:end;font-size:14px;font-weight:600;text-decoration:underline}.cxh .example{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:56px;display:grid}.cxh .day{margin:0;padding:0;list-style:none;display:grid}.cxh .day li{gap:4px;padding:0 0 26px 30px;display:grid;position:relative}.cxh .day li:before{content:"";background:var(--paper);width:9px;height:9px;box-shadow:inset 0 0 0 1.5px var(--hl);border-radius:50%;position:absolute;top:7px;left:4px}.cxh .day li:after{content:"";background:var(--line);width:1px;position:absolute;top:20px;bottom:2px;left:8px}.cxh .day li:last-child{padding-bottom:0}.cxh .day li:last-child:after{content:none}.cxh .day li:last-child:before{background:var(--ac);box-shadow:none}.cxh .day .at{font:500 12.5px var(--sans);color:var(--ink-2);font-variant-numeric:tabular-nums}.cxh .day li:last-child .at{color:var(--ac)}.cxh .day p{max-width:52ch;margin:0;font-size:17px}.cxh .close{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:56px;padding-block:104px;display:grid}.cxh .close h2{color:var(--on-night);font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.04}.cxh .close p{color:var(--on-night-2);max-width:46ch;margin:16px 0 0}.cxh form{color:#111316;background:#fff;border-radius:18px;grid-template-columns:1fr 1fr;gap:12px;padding:26px;display:grid;box-shadow:0 0 0 1px #11131612,0 30px 60px -30px #1113164d}.cxh form h3{grid-column:1/-1;margin-bottom:4px;font-size:20px}.cxh form label{color:#5b5f63;gap:4px;font-size:12.5px;display:grid}.cxh form label.full{grid-column:1/-1}.cxh form input,.cxh form select,.cxh form textarea{font:inherit;color:#111316;background:#fff;border:1px solid #dedbd4;border-radius:10px;padding:10px 12px;font-size:15px}.cxh form .btn{grid-column:1/-1;justify-self:start;margin-top:6px}.cxh form .note{color:#2f7d57;grid-column:1/-1;font-size:13px}.cxh form .fnote{color:#5b5f63;grid-column:1/-1;max-width:none;margin:2px 0 0;font-size:12.5px;line-height:1.5}.cxh form .fnote a{color:inherit;text-underline-offset:2px;text-decoration:underline}.cxh footer{color:#a29f98;background:#141517;font-size:13.5px}.cxh footer .wrap{grid-template-columns:1.2fr repeat(4,minmax(0,1fr));gap:32px;padding-block:56px 40px;display:grid}.cxh footer b{color:#f4f2ed;margin-bottom:10px;font-weight:600;display:block}.cxh footer ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.cxh footer .copy{border-top:1px solid #ffffff14}.cxh footer .copy .wrap{flex-wrap:wrap;justify-content:space-between;gap:10px;padding-block:18px 30px;display:flex}@media (max-width:980px){.cxh nav.pill ul,.cxh nav.pill .btn.w{display:none}.cxh nav.pill .mb{display:grid}.cxh nav.pill .btn{white-space:nowrap}.cxh .hero{grid-template-columns:1fr;gap:40px;padding-block:72px 96px}.cxh .stage{justify-self:stretch;max-width:none}.cxh .strip .q{font-size:15px}.cxh .scene{opacity:.3}.cxh .cards,.cxh .cards.one .card,.cxh .example,.cxh .eu,.cxh .close{grid-template-columns:1fr}.cxh .hw,.cxh .hw-steps{grid-template-columns:minmax(0,1fr);gap:28px}.cxh .who-h{display:none}.cxh .who-r{grid-template-columns:minmax(0,1fr);gap:8px}.cxh .who-r .l{color:var(--ink-2);font-size:12.5px;font-weight:600;display:block}.cxh .who-r .mr{justify-self:start}.cxh .chip:nth-child(odd){transform:none}.cxh .cards.one .card{grid-template-rows:none}.cxh .cards.one .card .vis{grid-row:auto}.cxh .cards.one .card h3{margin-top:22px}.cxh form{grid-template-columns:1fr}.cxh footer .wrap{grid-template-columns:1fr 1fr}}.cxh .hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.cxh nav.pill .nl:hover,.cxh nav.pill .dd>button:hover,.cxh nav.pill .dd:focus-within>button{color:var(--on-night)}.cxh nav.pill .dd{position:relative}.cxh nav.pill .dd>button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.cxh nav.pill .dd>button:after{content:"";opacity:.6;border-bottom:1.5px solid;border-right:1.5px solid;width:5px;height:5px;transform:translateY(-2px)rotate(45deg)}.cxh nav.pill .ddp{background:var(--paper);width:340px;box-shadow:inset 0 0 0 1px var(--pill-line),0 18px 44px -20px #11131659;opacity:0;visibility:hidden;border-radius:18px;gap:2px;padding:8px;transition:opacity .18s,transform .18s,visibility 0s linear .18s;display:grid;position:absolute;top:calc(100% + 18px);left:-18px;transform:translateY(-4px)}.cxh nav.pill .ddp:before{content:"";height:18px;position:absolute;inset:-18px 0 auto}.cxh nav.pill .dd:hover .ddp,.cxh nav.pill .dd:focus-within .ddp{opacity:1;visibility:visible;transition:opacity .18s,transform .18s;transform:none}.cxh nav.pill .ddp a{color:var(--on-night);border-radius:12px;gap:3px;padding:11px 14px;display:grid}.cxh nav.pill .ddp a:hover,.cxh nav.pill .ddp a:focus-visible{background:var(--wash)}.cxh nav.pill .ddp b{font-size:14.5px;font-weight:500}.cxh nav.pill .ddp span{color:var(--on-night-2);font-size:13px;line-height:1.4}.cxh nav.pill .ddl{width:260px}.cxh nav.pill .ddl a{grid-template-columns:20px 1fr;align-items:center;gap:12px;padding-block:9px}.cxh nav.pill .ddl svg{fill:none;width:20px;height:20px;stroke:var(--ac);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.cxh nav.pill .mb{width:42px;height:42px;box-shadow:inset 0 0 0 1.5px var(--bw-line);color:var(--on-night);cursor:pointer;background:0 0;border:0;border-radius:14px;place-items:center;padding:0}.cxh nav.pill .mb svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:20px;height:20px}.cxh .mm{background:var(--paper);max-height:calc(100dvh - 110px);box-shadow:inset 0 0 0 1px var(--pill-line),0 18px 44px -20px #11131659;color:var(--on-night);border-radius:22px;gap:18px;margin:8px -14px 0;padding:20px 22px 24px;display:grid;overflow-y:auto}.cxh .mm[hidden]{display:none}.cxh .mm-l{font-size:19px;font-weight:600}.cxh .mm-g{border-top:1px solid var(--line);gap:10px;padding-top:16px;display:grid}.cxh .mm-g:last-of-type{border-bottom:1px solid var(--line);padding-bottom:16px}.cxh .mm-g:first-child{border-top:0;padding-top:0}.cxh .mm-h{color:var(--ac);font-size:13px;font-weight:600}.cxh .mm-g a{font-size:16.5px}@media (min-width:981px){.cxh .mm,.cxh nav.pill .mb{display:none}}.cxh .mm-lang{color:var(--on-night-2);gap:18px;font-size:15px;display:flex}.cxh .mm-lang [aria-current]{color:var(--on-night);font-weight:600}@media (max-width:560px){.cxh nav.pill .lang{display:none}}@media (max-width:600px){.cxh .code{padding-inline:14px;font-size:10.5px}}.cxh nav.pill .ddf{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4px;width:600px}.cxh nav.pill .ddf-g{align-content:start;gap:2px;display:grid}.cxh nav.pill .ddf .ddf-h{color:var(--ac);padding:10px 14px 4px;font-size:12.5px;font-weight:600}.cxh .mt-wrap{padding-block:104px}.cxh .mt{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:56px;margin-top:48px;display:grid}.cxh .mt-side{min-width:0}.cxh .mt-tree{max-width:440px}.cxh .mt-ul{margin:0;padding:0;list-style:none}.cxh .mt-ul.sub{padding-left:36px}.cxh .mt-li{padding-top:10px;position:relative}.cxh .mt-ul:not(.sub)>.mt-li{padding-top:0}.cxh .mt-ul.sub>.mt-li:before,.cxh .mt-ul.sub>.mt-li:after{content:"";border-color:#11131638;transition:border-color .2s;position:absolute;left:-22px}.cxh .mt-ul.sub>.mt-li:before{border-top:1.5px solid #11131638;width:22px;top:40px}.cxh .mt-ul.sub>.mt-li:after{border-left:1.5px solid #11131638;top:0;bottom:0}.cxh .mt-ul.sub>.mt-li:last-child:after{height:40px;bottom:auto}.cxh .mt-li.in:before,.cxh .mt-li.in:after{border-color:var(--ac)}.cxh .mt-n{text-align:left;width:100%;height:60px;font:inherit;color:var(--ink);background:#ffffff80;border:0;border-radius:12px;align-content:center;gap:2px;padding:0 16px;transition:background .2s,box-shadow .2s;display:grid;box-shadow:inset 0 0 0 1px #1113161a}.cxh .mt-nm,.cxh .mt-ns{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cxh .mt-nm{font-size:15px;font-weight:600;line-height:1.3}.cxh .mt-ns{color:var(--on-night-2);font-size:13px;line-height:1.35}.cxh .mt-n:hover,.cxh .mt-li.in>.mt-n{background:#fff}.cxh .mt-n[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--ac),0 14px 30px -22px #11131666;background:#fff}.cxh .mt-hint{color:var(--on-night-2);margin:18px 0 0;font-size:13px}.cxh .mt-view{background:#fff;border-radius:14px;flex-direction:column;min-width:0;min-height:452px;padding:22px 24px 16px;display:flex;box-shadow:0 0 0 1px #11131614,0 30px 60px -34px #11131647}.cxh .mt-view h3{margin:0 0 10px;font-size:20px}.cxh .mt-rows{margin:0;padding:0;list-style:none}.cxh .mt-rows li{border-top:1px solid #efede8;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 0;animation:.3s both mt-in;display:grid}.cxh .mt-d,.cxh .mt-t{gap:1px;min-width:0;display:grid}.cxh .mt-db{font-size:14px;font-weight:600}.cxh .mt-sm{color:var(--ink-2);font-size:13px}.cxh .mt-sm.tab{font-variant-numeric:tabular-nums}.cxh .mt-tb{font-size:15.5px;font-weight:600;line-height:1.35}.cxh .mt-tag{white-space:nowrap;color:var(--ink-2);background:#efede8;border-radius:999px;padding:2px 9px;font-size:12.5px;font-weight:600}.cxh .mt-tag.own{color:#7a5a30;background:#9a744224}.cxh .mt-tag.took{color:#7a5a30;background:#f6f1e8;box-shadow:inset 0 0 0 1px #9a744266}.cxh .mt-tag.owner{color:var(--ink);background:0 0;box-shadow:inset 0 0 0 1px #11131640}.cxh .mt-out{border-top:1px dashed var(--line);color:var(--ink-2);margin:auto 0 0;padding-top:12px;font-size:13.5px}.cxh .mt-points{border-top:1px solid #1113161f;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:64px 0 0;padding:28px 0 0;list-style:none;display:grid}.cxh .mt-points li{align-content:start;gap:6px;display:grid}.cxh .mt-points h3{margin:0;font-size:20px}.cxh .mt-points p{max-width:40ch;color:var(--on-night-2);margin:0}@keyframes mt-in{0%{opacity:0;transform:translateY(4px)}}@media (max-width:980px){.cxh .mt,.cxh .mt-points{grid-template-columns:minmax(0,1fr);gap:28px}.cxh .mt-tree{max-width:none}.cxh .mt-view{min-height:0}}@media (max-width:600px){.cxh .mt-wrap{padding-block:72px}.cxh .mt-view{padding:18px 16px 12px}.cxh .mt-rows li{grid-template-columns:74px minmax(0,1fr);align-items:start;gap:6px 12px}.cxh .mt-tag{grid-column:2;justify-self:start}}@media (prefers-reduced-motion:reduce){.cxh .mt-rows li{animation:none}}
