.dp{--ink: oklch(.2 .025 262);--ink-2: oklch(.38 .02 262);--muted: oklch(.52 .015 262);--line: oklch(.91 .008 262);--line2: oklch(.945 .006 262);--soft: oklch(.975 .004 262);--bg: #fff;--v: oklch(.42 .11 258);--v-ink: oklch(.34 .1 258);--v-wash: oklch(.965 .018 258);--ok: oklch(.6 .13 155);--ok-wash: oklch(.96 .03 155);--warn: oklch(.7 .14 70);--bad: oklch(.58 .18 25);--code-bg: oklch(.19 .025 262);--code-line: oklch(.29 .025 262);--code-tx: oklch(.9 .01 262);--code-dim: oklch(.62 .02 262);--code-str: oklch(.82 .09 155);--code-key: oklch(.8 .08 240);--code-num: oklch(.85 .09 80);--radius: 14px;--shadow: 0 1px 2px oklch(.2 .025 262 / .06), 0 16px 40px -16px oklch(.2 .025 262 / .28);--sans: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace}.dp *{box-sizing:border-box}.dp{-webkit-text-size-adjust:100%}.dp{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}.dp img{max-width:100%;display:block}.dp a{color:inherit}.dp code,.dp .mono{font-family:var(--mono)}.dp .wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}.dp .wrap.narrow{max-width:1040px}.dp h1,.dp h2,.dp h3{margin:0;color:var(--ink);font-weight:600;letter-spacing:-.035em;line-height:1.08}.dp h1{font-size:clamp(36px,4.6vw,54px)}.dp h2{font-size:clamp(26px,3.1vw,36px);letter-spacing:-.03em}.dp h3{font-size:17px;letter-spacing:-.015em;line-height:1.3}.dp p{margin:0}.dp .lede{font-size:clamp(17px,1.5vw,19px);color:var(--ink-2);max-width:34em;line-height:1.55}.dp .eyebrow{display:inline-flex;align-items:center;gap:8px;font:500 12.5px/1 var(--mono);letter-spacing:.02em;color:var(--v-ink);background:var(--v-wash);border-radius:999px;padding:7px 11px}.dp .eyebrow svg{width:14px;height:14px}.dp .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:10px;font:500 15px/1 var(--sans);text-decoration:none;border:1px solid transparent;white-space:nowrap}.dp .btn svg{width:17px;height:17px;flex:none}.dp .btn-primary{background:var(--ink);color:#fff}.dp .btn-primary:hover{background:var(--v-ink)}.dp .btn-ghost{background:#fff;color:var(--ink);border-color:var(--line)}.dp .btn-ghost:hover{border-color:var(--ink-2)}.dp .btn:focus-visible,.dp a:focus-visible{outline:2px solid var(--v);outline-offset:2px}.dp .ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.dp .trust{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:20px;color:var(--muted);font-size:14px}.dp .trust span{display:inline-flex;align-items:center;gap:6px}.dp .trust svg{width:15px;height:15px;color:var(--v)}.dp .mark{display:flex;align-items:center;gap:10px;font:600 17px/1 var(--sans);letter-spacing:-.02em;margin-bottom:30px}.dp .mark img{width:28px;height:30px}.dp .mark small{font:500 12px/1 var(--mono);color:var(--muted);letter-spacing:0;border-left:1px solid var(--line);padding-left:10px}.dp .site{position:sticky;top:0;z-index:10;background:#ffffffdb;backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line2)}.dp .site .wrap{display:flex;align-items:center;gap:28px;height:62px}.dp .site .brand{display:flex;align-items:center;gap:9px;font:600 15.5px/1 var(--sans);letter-spacing:-.02em;text-decoration:none}.dp .site .brand img{width:24px;height:26px}.dp .site .brand small{font:500 12px/1 var(--mono);color:var(--muted);letter-spacing:0}.dp .site nav{display:flex;gap:22px;font-size:14.5px;color:var(--ink-2)}.dp .site nav a{text-decoration:none}.dp .site nav a:hover{color:var(--ink)}.dp .site .right{margin-left:auto;display:flex;align-items:center;gap:8px}.dp .site .right .btn{min-height:36px;padding:0 14px;font-size:14px;border-radius:8px}.dp .site .menu{display:none;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;place-items:center}.dp .site .menu svg{width:18px;height:18px}.dp .h-hero{padding:72px 0 0}.dp .h-hero .top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:end}.dp .h-hero h1{margin:18px 0 0;max-width:13em}.dp .h-hero .side .lede{font-size:17px}.dp .h-hero .install{display:inline-flex;align-items:center;gap:12px;margin-top:18px;font:13px/1 var(--mono);color:var(--ink-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--soft)}.dp .h-hero .install b{color:var(--muted);font-weight:400}.dp .h-hero .install svg{width:15px;height:15px;color:var(--muted)}.dp .h-hero .bench-wrap{margin-top:48px}.dp .bench{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.dp .bench-bar{display:flex;align-items:center;gap:12px;height:46px;padding:0 16px;border-bottom:1px solid var(--line2);font-size:13px;color:var(--muted)}.dp .bench-bar .dots{display:flex;gap:6px}.dp .bench-bar .dots i{width:10px;height:10px;border-radius:50%;background:var(--line)}.dp .bench-bar .tm{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font:500 12px/1 var(--mono);color:oklch(.5 .12 70);background:oklch(.97 .035 85);border-radius:999px;padding:5px 9px}.dp .bench-bar .tm i{width:6px;height:6px;border-radius:50%;background:var(--warn)}.dp .bench-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1.08fr) minmax(0,.8fr)}.dp .bench-grid>div{min-width:0}.dp .pane-h{display:flex;align-items:center;gap:8px;height:40px;padding:0 16px;font:500 12px/1 var(--mono);color:var(--muted);border-bottom:1px solid var(--line2)}.dp .pane-h .tabs{display:flex;gap:14px}.dp .pane-h .tabs span{padding:13px 0 12px;border-bottom:1.5px solid transparent}.dp .pane-h .tabs span.on{color:var(--ink);border-color:var(--ink)}.dp .pane-h .r{margin-left:auto}.dp .bench .req{background:var(--code-bg);color:var(--code-tx)}.dp .bench .req .pane-h{border-color:var(--code-line);color:var(--code-dim)}.dp .bench .req .pane-h .tabs span.on{color:#fff;border-color:#fff}.dp .bench .res{border-left:1px solid var(--line2)}.dp .bench .evs{border-left:1px solid var(--line2);background:var(--soft)}.dp pre.code{margin:0;padding:16px 18px 18px;font:12px/1.75 var(--mono);white-space:pre;overflow:hidden}.dp .code .k{color:var(--code-key)}.dp .code .s{color:var(--code-str)}.dp .code .n{color:var(--code-num)}.dp .code .c{color:var(--code-dim)}.dp .res pre.code{color:var(--ink-2)}.dp .res .code .k{color:var(--v-ink)}.dp .res .code .s{color:#036639}.dp .res .code .n{color:oklch(.5 .12 60)}.dp .res .status{display:inline-flex;align-items:center;gap:6px;color:#036639}.dp .res .status i,.dp .ev i{width:6px;height:6px;border-radius:50%;background:var(--ok);display:inline-block}.dp .ev{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line2);font-size:13px}.dp .ev b{font:500 12.5px/1.3 var(--mono);color:var(--ink);display:block}.dp .ev small{color:var(--muted);font-size:12px}.dp .ev .r{font:12px/1 var(--mono);color:var(--muted)}.dp .ev .r.ok{color:#036639}.dp .ev i.a{background:var(--warn)}.dp .ev i.b{background:var(--bad)}.dp .ev i.o{background:transparent;border:1.5px solid var(--line)}.dp .mini-pay{margin:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;font-size:12.5px}.dp .mini-pay .row{display:flex;justify-content:space-between;color:var(--muted)}.dp .mini-pay .amt{font:600 22px/1.2 var(--sans);letter-spacing:-.02em;margin:4px 0 10px;color:var(--ink)}.dp .mini-pay .card{font:12.5px/1 var(--mono);border:1px solid var(--line);border-radius:8px;padding:9px 10px;color:var(--ink-2)}.dp .mini-pay .pay{margin-top:8px;text-align:center;background:var(--ink);color:#fff;border-radius:8px;padding:9px;font-weight:500}.dp .sec{padding:96px 0}.dp .sec.tight{padding:72px 0}.dp .sec.alt{background:var(--soft);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}.dp .sec-head{max-width:40em;margin-bottom:40px}.dp .sec-head p{margin-top:14px;color:var(--ink-2);font-size:17px}.dp .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}.dp .split.flip>:first-child{order:2}.dp .split>div{min-width:0}.dp .points{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:18px}.dp .points li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px}.dp .points svg{width:19px;height:19px;color:var(--v);margin-top:3px}.dp .points b{font:600 15.5px/1.4 var(--sans);display:block;letter-spacing:-.01em}.dp .points span{color:var(--ink-2);font-size:15px}.dp .points code{font-size:13px;background:var(--soft);border:1px solid var(--line2);border-radius:5px;padding:1px 5px}.dp .ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dp .way{border:1px solid var(--line);border-radius:var(--radius);background:#fff;display:flex;flex-direction:column;text-decoration:none;overflow:hidden;transition:border-color .15s}.dp .way:hover{border-color:var(--ink-2)}.dp .way .pic{height:250px;background:var(--soft);border-bottom:1px solid var(--line2);display:grid;place-items:center;padding:18px;overflow:hidden}.dp .way .txt{padding:22px 22px 24px;display:grid;gap:8px;flex:1}.dp .way .txt p{color:var(--ink-2);font-size:15px}.dp .way .who{font:12px/1.4 var(--mono);color:var(--muted)}.dp .way .go{margin-top:6px;display:inline-flex;align-items:center;gap:6px;font-weight:500;font-size:14.5px;color:var(--v-ink)}.dp .way .go svg{width:16px;height:16px}.dp .sdks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.dp .sdk{padding:22px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);display:grid;gap:6px;align-content:start}.dp .sdk:nth-child(3n){border-right:0}.dp .sdk:nth-last-child(-n+3){border-bottom:0}.dp .sdk .nm{display:flex;align-items:center;gap:8px;font:500 14px/1.3 var(--mono)}.dp .sdk .ver{font:11.5px/1 var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 7px}.dp .sdk p{color:var(--ink-2);font-size:14.5px}.dp .sdk .ins{margin-top:6px;font:12px/1 var(--mono);color:var(--muted)}.dp .docs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dp .doc{border:1px solid var(--line);border-radius:12px;padding:18px;text-decoration:none;display:grid;gap:6px;align-content:start;background:#fff}.dp .doc:hover{border-color:var(--ink-2)}.dp .doc b{font-weight:600;font-size:15px;letter-spacing:-.01em}.dp .doc span{color:var(--ink-2);font-size:14px}.dp .doc small{font:11.5px/1 var(--mono);color:var(--muted)}.dp .built{display:flex;flex-wrap:wrap;align-items:center;gap:10px 36px;color:var(--muted);font-size:14px}.dp .built b{font:600 18px/1 var(--sans);letter-spacing:-.03em;color:var(--ink-2)}.dp .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;counter-reset:step}.dp .step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.dp .step:before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--ink);color:#fff;font:500 13px/1 var(--mono);margin-bottom:18px}.dp .step p{color:var(--ink-2);font-size:15px;margin-top:8px}.dp .step code{font-size:13px}.dp .compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.dp .compare>div{border-radius:var(--radius);padding:28px;border:1px solid var(--line);background:#fff}.dp .compare>div.us{border-color:var(--v);box-shadow:0 0 0 3px var(--v-wash)}.dp .compare h3{margin-bottom:16px}.dp .compare ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.dp .compare li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;font-size:15px;color:var(--ink-2)}.dp .compare svg{width:17px;height:17px;margin-top:4px}.dp .compare .them svg{color:var(--muted)}.dp .compare .us svg{color:var(--v)}.dp .hero{padding:48px 0 88px}.dp .hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:center}.dp .hero h1{margin:18px 0}.dp .stage{position:relative;min-width:0}.dp .stage .photo{border-radius:22px;overflow:hidden;aspect-ratio:4 / 4.3;background:var(--soft)}.dp .stage .photo img{width:100%;height:100%;object-fit:cover}.dp .stage .float{position:absolute}.dp .stage .float.left{left:-44px;bottom:-18px}.dp .stage .float.right{right:-28px;top:34px}.dp .band{position:relative;border-radius:22px;overflow:hidden;min-height:380px;display:grid;align-items:end}.dp .band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dp .band:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10162100 35%,#101621c7)}.dp .band .cap{position:relative;z-index:1;color:#fff;padding:34px;max-width:36em}.dp .band .cap h2{color:#fff}.dp .band .cap p{margin-top:10px;color:#ffffffdb}.dp .cta{background:var(--ink);color:#fff;border-radius:22px;padding:56px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}.dp .cta h2{color:#fff}.dp .cta p{color:#ffffffbd;margin-top:12px;max-width:34em}.dp .cta .ctas{margin-top:0}.dp .cta .btn-primary{background:#fff;color:var(--ink)}.dp .cta .btn-primary:hover{background:var(--v-wash)}.dp .cta .btn-ghost{background:transparent;color:#fff;border-color:#ffffff47}.dp .cta code{font-size:13px;color:#ffffffe6}.dp .ftr{padding:44px 0 40px;border-top:1px solid var(--line2);margin-top:96px;color:var(--muted);font-size:14px}.dp .ftr .wrap{display:grid;gap:18px}.dp .ftr .brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:600}.dp .ftr .brand img{width:22px;height:24px}.dp .ftr .cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:24px}.dp .ftr .cols h4{margin:0 0 10px;font:500 12px/1 var(--mono);color:var(--muted)}.dp .ftr .cols a{display:block;text-decoration:none;color:var(--ink-2);padding:3px 0}.dp .ftr .cols a:hover{color:var(--ink)}.dp .ftr .credits{font-size:12px;line-height:1.6}.dp .ftr .credits a{text-decoration:underline;color:var(--muted)}.dp .panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);font-size:13px;color:var(--ink);width:330px;overflow:hidden}.dp .panel-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line2);font-weight:600;letter-spacing:-.01em}.dp .panel-h small{font:400 11.5px/1 var(--mono);color:var(--muted)}.dp .panel .body{padding:14px 15px;display:grid;gap:10px}.dp .codecard{background:var(--code-bg);color:var(--code-tx);border:1px solid var(--code-line);border-radius:14px;box-shadow:var(--shadow);width:392px;overflow:hidden}.dp .codecard .pane-h{border-color:var(--code-line);color:var(--code-dim)}.dp .codecard .pane-h .tabs span.on{color:#fff;border-color:#fff}.dp .codecard pre.code{font-size:12px;padding:14px 16px}.dp .toast{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:12px 14px;width:290px;font-size:13px}.dp .toast .okc{width:22px;height:22px;border-radius:50%;background:var(--ok-wash);color:#036639;display:grid;place-items:center;flex:none}.dp .toast .okc svg{width:14px;height:14px}.dp .toast b{display:block;font-weight:600}.dp .toast small{font:11.5px/1.4 var(--mono);color:var(--muted)}.dp .chip{display:inline-flex;align-items:center;gap:6px;font:500 11.5px/1 var(--mono);padding:4px 8px;border-radius:999px;background:var(--soft);color:var(--ink-2);border:1px solid var(--line2);white-space:nowrap}.dp .chip i{width:6px;height:6px;border-radius:50%;background:var(--ok)}.dp .chip.a i{background:var(--warn)}.dp .chip.v{background:var(--v-wash);color:var(--v-ink);border-color:transparent}.dp .kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 14px;font-size:12.5px}.dp .kv dt{color:var(--muted)}.dp .kv dd{margin:0;text-align:right;font-family:var(--mono);font-size:12px}.dp .lrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 15px;border-bottom:1px solid var(--line2)}.dp .lrow:last-child{border-bottom:0}.dp .lrow b{font-weight:500;display:block}.dp .lrow small{color:var(--muted);font-size:11.5px}.dp .lrow .amt{font:12.5px/1 var(--mono)}.dp .lrow .amt.in{color:#036639}.dp .av{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font:600 11px/1 var(--sans);color:#fff;background:var(--ink-2)}.dp .av.v{background:var(--v)}.dp .av.l{background:var(--soft);color:var(--ink-2);border:1px solid var(--line)}.dp .scope{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;font-size:13px}.dp .scope svg{width:15px;height:15px;color:var(--v);margin-top:2px}.dp .scope code{font-size:11px;color:var(--muted);display:block}.dp .btn-s{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;font-weight:500;font-size:12.5px;border:1px solid var(--line);background:#fff}.dp .btn-s.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.dp .btn-s svg{width:14px;height:14px}.dp .btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dp .seg{display:grid;grid-template-columns:repeat(3,1fr);background:var(--soft);border:1px solid var(--line2);border-radius:9px;padding:3px;font-size:12px;text-align:center}.dp .seg span{padding:6px 4px;border-radius:7px;color:var(--muted)}.dp .seg span.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px #1016211a;font-weight:500}.dp .fld{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12.5px;display:grid;gap:2px}.dp .fld label{font-size:11px;color:var(--muted)}.dp .cbx{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;font-size:12.5px;align-items:start}.dp .cbx i{width:15px;height:15px;border-radius:4px;background:var(--v);display:grid;place-items:center;margin-top:1px}.dp .cbx i svg{width:11px;height:11px;color:#fff}.dp .cbx small{display:block;color:var(--muted);font-size:11.5px}.dp .tgl{width:30px;height:17px;border-radius:999px;background:var(--line);position:relative;flex:none}.dp .tgl:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003}.dp .tgl.on{background:var(--warn)}.dp .tgl.on:after{left:15px}.dp .mono-s{font:12px/1.4 var(--mono)}.dp .sw-row{display:flex;align-items:center;gap:10px;justify-content:space-between}.dp .cards-tbl{width:100%;border-collapse:collapse;font-size:12.5px}.dp .cards-tbl td{padding:9px 15px;border-bottom:1px solid var(--line2)}.dp .cards-tbl tr:last-child td{border-bottom:0}.dp .cards-tbl td:first-child{font-family:var(--mono);font-size:12px}.dp .cards-tbl td:last-child{text-align:right;color:var(--muted)}.dp .phone{width:252px;border-radius:34px;background:var(--ink);padding:9px;box-shadow:var(--shadow)}.dp .phone .screen{background:#fff;border-radius:26px;overflow:hidden;padding:14px 14px 18px;display:grid;gap:11px;font-size:12.5px}.dp .phone .notch{width:70px;height:18px;border-radius:999px;background:var(--ink);margin:-4px auto 2px}.dp .phone .biz{display:flex;gap:9px;align-items:center}.dp .phone .biz b{display:block;font-weight:600}.dp .phone .biz small{color:var(--muted);font-size:11px}.dp .phone .amt{font:600 28px/1.1 var(--sans);letter-spacing:-.03em}.dp .phone .muted{color:var(--muted);font-size:11.5px}.dp .phone .paybtn{background:var(--ink);color:#fff;text-align:center;border-radius:10px;padding:11px;font-weight:500}.dp .phone .secure{display:flex;align-items:center;justify-content:center;gap:5px;color:var(--muted);font-size:11px}.dp .phone .secure svg{width:12px;height:12px}.dp .dash{width:520px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow);overflow:hidden;font-size:12.5px}.dp .dash-bar{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-bottom:1px solid var(--line2);color:var(--muted);font:11.5px/1 var(--mono)}.dp .dash-bar .dots{display:flex;gap:5px}.dp .dash-bar .dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}.dp .dash-in{display:grid;grid-template-columns:128px minmax(0,1fr);min-height:260px}.dp .dash-side{border-right:1px solid var(--line2);padding:12px 10px;display:grid;align-content:start;gap:2px;color:var(--ink-2)}.dp .dash-side span{padding:6px 8px;border-radius:6px}.dp .dash-side span.on{background:var(--soft);color:var(--ink);font-weight:500}.dp .dash-side small{font:10.5px/1 var(--mono);color:var(--muted);padding:12px 8px 4px}.dp .dash-main{padding:14px;display:grid;gap:10px;align-content:start}.dp .dash-main .apph{display:flex;align-items:center;gap:8px;font-weight:600}.dp .dash-main .apph small{margin-left:auto;font:400 10.5px/1 var(--mono);color:var(--muted)}.dp .slotgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.dp .slotgrid span{border:1px solid var(--line);border-radius:7px;padding:7px 4px;text-align:center;font:11.5px/1 var(--mono);color:var(--ink-2)}.dp .slotgrid span.on{background:var(--ink);color:#fff;border-color:var(--ink)}.dp .slotgrid span.x{color:var(--line);text-decoration:line-through}.dp .rd.armed .m{opacity:0;transform:translateY(6px)}.dp .rd.armed.play .m{animation:dp-rd-in .5s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--d, 0s)}.dp .rd.armed .p{opacity:0;transform:scale(.96)}.dp .rd.armed.play .p{animation:dp-rd-pop .45s cubic-bezier(.2,.9,.3,1.2) forwards;animation-delay:var(--d, 0s)}.dp .rd.armed .cur:after{content:"";display:inline-block;width:7px;height:14px;background:var(--code-tx);vertical-align:-2px;margin-left:2px;opacity:0}.dp .rd.armed.play .cur:after{animation:dp-blink 1s steps(1) 3;animation-delay:var(--d, 0s)}@keyframes dp-rd-in{to{opacity:1;transform:none}}@keyframes dp-rd-pop{to{opacity:1;transform:none}}@keyframes dp-blink{0%{opacity:1}50%{opacity:0}}@media(prefers-reduced-motion:reduce){.dp .rd.armed .m,.dp .rd.armed .p{opacity:1;transform:none;animation:none}}@media(max-width:1040px){.dp .bench-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dp .bench .evs{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line2)}.dp .stage .float.left{left:-10px}.dp .stage .float.right{right:-10px}}@media(max-width:900px){.dp .site nav{display:none}.dp .site .right .btn-ghost{display:none}.dp .site .menu{display:grid}.dp .h-hero{padding-top:44px}.dp .h-hero .top,.dp .hero .wrap,.dp .split,.dp .compare{grid-template-columns:minmax(0,1fr);gap:32px}.dp .split.flip>:first-child{order:0}.dp .ways,.dp .sdks{grid-template-columns:minmax(0,1fr)}.dp .sdk{border-right:0}.dp .sdk:nth-last-child(-n+3){border-bottom:1px solid var(--line2)}.dp .sdk:last-child{border-bottom:0}.dp .docs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dp .cta{grid-template-columns:minmax(0,1fr);padding:36px 26px}.dp .sec{padding:72px 0}.dp .ftr .cols{grid-template-columns:1fr 1fr}.dp .stage{display:grid;gap:14px}.dp .stage .float{position:static;justify-self:center}.dp .stage .float.left{margin-top:-96px;justify-self:start;margin-left:10px}.dp .stage .float.right{order:3;justify-self:end;margin-right:0}.dp .dash{width:100%}}@media(max-width:640px){.dp .wrap{padding:0 18px}.dp .bench-grid{grid-template-columns:minmax(0,1fr)}.dp .bench .res{border-left:0;border-top:1px solid var(--line2)}.dp .bench-bar .file{display:none}.dp pre.code{font-size:11.5px;padding:14px}.dp .docs{grid-template-columns:minmax(0,1fr)}.dp .panel,.dp .codecard,.dp .toast{width:min(330px,100%)}.dp .dash-in{grid-template-columns:minmax(0,1fr)}.dp .dash-side{display:none}.dp .band{min-height:320px}.dp .band .cap{padding:22px}.dp .h-hero .install{font-size:12px}}.dp pre.code .m{display:inline-block}.dp .stage .float{min-width:0;max-width:100%}.dp .codecard,.dp .dash{max-width:100%}@media(max-width:1100px){.dp .dash{width:100%}}@media(max-width:640px){.dp .codecard pre.code{font-size:11px}}@media(max-width:400px){.dp .site .brand small{display:none}.dp .site .wrap{gap:12px}}.dp .phone .screen{grid-template-columns:minmax(0,1fr)}.dp .phone .toast{width:auto}.dp .chip.o i{background:transparent;border:1.5px solid var(--muted);width:7px;height:7px}.dp .stage .float .panel{width:min(340px,100%)}.dp pre.code{overflow-x:auto;scrollbar-width:none}.dp .cards-tbl td:first-child{white-space:nowrap}.dp .site nav a.on{color:var(--ink);font-weight:500}.dp .dsub{border-bottom:1px solid var(--line2);background:#fff}.dp .dsub .in{max-width:1400px;margin:0 auto;padding:0 24px;height:48px;display:flex;align-items:center;gap:22px;font-size:14px;color:var(--ink-2)}.dp .dsub .in>a{text-decoration:none;height:48px;display:flex;align-items:center;border-bottom:1.5px solid transparent}.dp .dsub .in>a.on{color:var(--ink);border-color:var(--ink);font-weight:500}.dp .dsearch{margin-left:auto;display:flex;align-items:center;gap:10px;width:280px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:13.5px;background:var(--soft)}.dp .dsearch svg{width:15px;height:15px}.dp .dsearch kbd,.dp .kbd{margin-left:auto;font:11px/1 var(--mono);border:1px solid var(--line);border-radius:5px;padding:3px 5px;background:#fff;color:var(--muted)}.dp .dwrap{max-width:1400px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:232px minmax(0,1fr) minmax(0,490px);gap:0 48px;align-items:start}.dp .dwrap.two{grid-template-columns:232px minmax(0,1fr) minmax(0,520px)}.dp .dwrap.one{grid-template-columns:232px minmax(0,1fr)}.dp .tree{position:sticky;top:110px;padding:28px 0 40px;font-size:14px;display:grid;gap:22px;max-height:calc(100vh - 110px);overflow:auto}.dp .tree h5{margin:0 0 6px;font:500 11.5px/1 var(--mono);color:var(--muted)}.dp .tree a{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink-2);padding:5px 10px;margin:0 -10px;border-radius:7px}.dp .tree a:hover{background:var(--soft);color:var(--ink)}.dp .tree a.on{background:var(--v-wash);color:var(--v-ink);font-weight:500}.dp .mth{font:600 10px/1 var(--mono);letter-spacing:.02em;width:34px;flex:none;color:var(--muted)}.dp .mth.post{color:#036639}.dp .mth.get{color:var(--v)}.dp .mth.put{color:oklch(.52 .12 65)}.dp .mth.delete{color:var(--bad)}.dp .art{padding:36px 0 80px;min-width:0;max-width:700px}.dp .art .crumb{font:12px/1 var(--mono);color:var(--muted);margin-bottom:14px}.dp .art h1{font-size:36px;letter-spacing:-.035em}.dp .art .lede{margin-top:12px;font-size:17.5px}.dp .art h2{font-size:21px;letter-spacing:-.02em;margin:40px 0 10px;display:flex;align-items:center;gap:10px}.dp .art h2 .n{font:500 12px/1 var(--mono);width:24px;height:24px;border-radius:6px;background:var(--ink);color:#fff;display:grid;place-items:center}.dp .art h3{margin:26px 0 8px;font-size:15.5px}.dp .art p{color:var(--ink-2);margin:10px 0}.dp .art ul{color:var(--ink-2);padding-left:20px;margin:10px 0;display:grid;gap:6px}.dp .art code,.dp .param code,.dp .ev-tbl code{font:13px/1.4 var(--mono);background:var(--soft);border:1px solid var(--line2);border-radius:5px;padding:1px 5px;color:var(--ink);white-space:nowrap}.dp .art a{color:var(--v-ink);text-decoration:underline;text-decoration-color:#234c884d;text-underline-offset:3px}.dp .note{margin:18px 0;padding:14px 16px;border-radius:10px;background:var(--v-wash);color:var(--ink-2);font-size:14.5px;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px}.dp .note svg{width:17px;height:17px;color:var(--v);margin-top:2px}.dp .note.warn{background:oklch(.97 .035 85)}.dp .note.warn svg{color:oklch(.55 .13 65)}.dp .ev-tbl{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}.dp .ev-tbl th{text-align:left;font:500 11.5px/1 var(--mono);color:var(--muted);padding:10px 12px 10px 0;border-bottom:1px solid var(--line)}.dp .ev-tbl td{padding:11px 12px 11px 0;border-bottom:1px solid var(--line2);color:var(--ink-2);vertical-align:top}.dp .ev-tbl td:first-child{white-space:nowrap}.dp .tblx{overflow-x:auto}.dp .nextprev{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.dp .nextprev a{border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;display:grid;gap:2px;color:var(--ink);font-weight:500}.dp .nextprev a small{font:11.5px/1 var(--mono);color:var(--muted);font-weight:400}.dp .nextprev a:last-child{text-align:right}.dp .helpful{margin-top:28px;padding-top:18px;border-top:1px solid var(--line2);display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--muted);font-size:13.5px}.dp .helpful .btn-s{height:28px}.dp .helpful .r{margin-left:auto}.dp .codecol{position:sticky;top:110px;padding:36px 0 40px;display:grid;gap:14px;min-width:0}.dp .cblock{background:var(--code-bg);color:var(--code-tx);border-radius:12px;overflow:hidden;border:1px solid var(--code-line)}.dp .cblock .pane-h{border-color:var(--code-line);color:var(--code-dim)}.dp .cblock .pane-h .tabs span.on{color:#fff;border-color:#fff}.dp .cblock .pane-h .r svg{width:14px;height:14px}.dp .cblock pre.code{font-size:12.5px}.dp .cblock.light{background:#fff;color:var(--ink-2);border-color:var(--line)}.dp .cblock.light .pane-h{border-color:var(--line2);color:var(--muted)}.dp .cblock.light .code .k{color:var(--v-ink)}.dp .cblock.light .code .s{color:#036639}.dp .cblock.light .code .n{color:oklch(.5 .12 60)}.dp .st-pill{display:inline-flex;align-items:center;gap:6px;font:500 11.5px/1 var(--mono)}.dp .st-pill i{width:6px;height:6px;border-radius:50%;background:var(--ok)}.dp .st-pill.bad i{background:var(--bad)}.dp .st-pills{display:flex;gap:14px}.dp .st-pills>span{padding:13px 0 12px;border-bottom:1.5px solid transparent}.dp .st-pills>span.on{color:var(--ink);border-color:var(--ink)}.dp .keyhint{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}.dp .keyhint b{color:var(--ink);font-weight:500}.dp .keyhint svg{width:14px;height:14px}.dp .ep-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.dp .ep-path{display:inline-flex;align-items:center;gap:10px;font:13.5px/1 var(--mono);border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--soft)}.dp .ep-path .mth{width:auto}.dp .scope-tag{font:12px/1 var(--mono);color:var(--v-ink);background:var(--v-wash);border-radius:999px;padding:6px 9px}.dp .params{border-top:1px solid var(--line);margin-top:6px}.dp .param{padding:14px 0;border-bottom:1px solid var(--line2);display:grid;gap:4px}.dp .param .top{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.dp .param .nm{font:500 13.5px/1.3 var(--mono);color:var(--ink)}.dp .param .ty{font:12px/1.3 var(--mono);color:var(--muted)}.dp .param .req{font:500 11px/1 var(--mono);color:#a24e10}.dp .param p{margin:0;font-size:14.5px}.dp .param .kids{margin:8px 0 0 2px;border-left:1px solid var(--line);padding-left:14px}.dp .param .kids .param{padding:10px 0}.dp .param .kids .param:last-child{border-bottom:0}.dp .enum{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.dp .enum code{font-size:12px}.dp .dhome{max-width:1120px;margin:0 auto;padding:56px 24px 0}.dp .dhome h1{font-size:clamp(34px,4vw,48px)}.dp .bigsearch{margin-top:24px;max-width:560px;height:50px;display:flex;align-items:center;gap:12px;padding:0 16px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:15.5px;box-shadow:0 1px 2px #1016210d}.dp .bigsearch svg{width:18px;height:18px}.dp .starts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:44px}.dp .start{border:1px solid var(--line);border-radius:12px;padding:18px;text-decoration:none;display:grid;gap:8px;align-content:start}.dp .start:hover{border-color:var(--ink-2)}.dp .start .ic{width:34px;height:34px;border-radius:9px;background:var(--soft);border:1px solid var(--line2);display:grid;place-items:center;color:var(--ink)}.dp .start .ic svg{width:17px;height:17px}.dp .start b{font-weight:600;letter-spacing:-.01em}.dp .start span{color:var(--ink-2);font-size:14px}.dp .start small{font:11.5px/1 var(--mono);color:var(--muted)}.dp .dgroups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:56px;padding-top:32px;border-top:1px solid var(--line2)}.dp .dgroups h5{margin:0 0 10px;font:500 12px/1 var(--mono);color:var(--muted)}.dp .dgroups a{display:block;text-decoration:none;color:var(--ink-2);padding:4px 0;font-size:14.5px}.dp .dgroups a:hover{color:var(--ink)}.dp .dhome-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:56px}.dp .box{border:1px solid var(--line);border-radius:14px;padding:24px;display:grid;gap:12px;align-content:start;min-width:0}.dp .box h3{font-size:18px}.dp .box p{color:var(--ink-2);font-size:14.5px}.dp .chg{display:grid;gap:0}.dp .chg a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--line2);text-decoration:none;font-size:14px}.dp .chg a:last-child{border-bottom:0}.dp .chg .dt{font:12px/1.5 var(--mono);color:var(--muted)}.dp .chg b{font-weight:500;display:block}.dp .chg span{color:var(--ink-2);font-size:13.5px}.dp .scrim{position:fixed;inset:0;background:#1016215c;z-index:50;display:flex;justify-content:center;align-items:flex-start;padding:96px 16px 16px}.dp .pal{width:min(620px,100%);background:#fff;border-radius:14px;box-shadow:0 24px 60px -12px #10162173;overflow:hidden}.dp .pal-in{display:flex;align-items:center;gap:12px;height:54px;padding:0 16px;border-bottom:1px solid var(--line2);font-size:16px}.dp .pal-in svg{width:18px;height:18px;color:var(--muted)}.dp .pal-in .cur2{border-right:1.5px solid var(--ink);padding-right:1px}.dp .pal-sec{padding:8px}.dp .pal-sec h6{margin:6px 8px;font:500 11px/1 var(--mono);color:var(--muted)}.dp .pal-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:start;padding:9px 10px;border-radius:9px;font-size:14px}.dp .pal-row.on{background:var(--v-wash)}.dp .pal-row svg{width:16px;height:16px;color:var(--muted);margin-top:2px}.dp .pal-row b{font-weight:500;display:block}.dp .pal-row span{color:var(--muted);font-size:12.5px}.dp .pal-row mark{background:#f4e8bb;color:inherit;border-radius:3px;padding:0 1px}.dp .pal-row .mth{width:auto}.dp .pal-foot{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--line2);font-size:12px;color:var(--muted)}.dp .clog{max-width:1040px;margin:0 auto;padding:56px 24px 0}.dp .clog-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.dp .clog-filters span{font-size:13.5px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--ink-2)}.dp .clog-filters span.on{background:var(--ink);color:#fff;border-color:var(--ink)}.dp .clog-filters .rss{margin-left:auto;font:12px/1 var(--mono);color:var(--muted);border:0;padding:8px 0}.dp .month{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;padding:36px 0;border-bottom:1px solid var(--line2)}.dp .month>h2{font-size:18px;position:sticky;top:80px;align-self:start}.dp .entry{display:grid;gap:6px;padding:0 0 24px}.dp .entry+.entry{padding-top:22px;border-top:1px solid var(--line2)}.dp .entry .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:12px/1 var(--mono);color:var(--muted)}.dp .entry h3{font-size:17px}.dp .entry p{color:var(--ink-2);font-size:15px;max-width:62ch}.dp .t-chip{font:500 11px/1 var(--mono);padding:4px 7px;border-radius:5px;background:var(--soft);border:1px solid var(--line2);color:var(--ink-2)}.dp .t-chip.feature{background:var(--v-wash);color:var(--v-ink);border-color:transparent}.dp .t-chip.security{background:var(--ok-wash);color:oklch(.42 .11 155);border-color:transparent}.dp .t-chip.fix{background:oklch(.97 .035 85);color:oklch(.48 .12 65);border-color:transparent}.dp .entry .code-inline{font:13px/1 var(--mono)}.dp .dfoot{border-top:1px solid var(--line2);margin-top:0;padding:22px 24px;max-width:1400px;margin-left:auto;margin-right:auto;display:flex;flex-wrap:wrap;gap:8px 24px;color:var(--muted);font-size:13px}.dp .dfoot a{text-decoration:none;color:var(--ink-2)}@media(max-width:1200px){.dp .dwrap,.dp .dwrap.two{grid-template-columns:220px minmax(0,1fr)}.dp .codecol{grid-column:2;position:static;padding-top:0}}@media(max-width:900px){.dp .dwrap,.dp .dwrap.two,.dp .dwrap.one{grid-template-columns:minmax(0,1fr)}.dp .tree{display:none}.dp .codecol{grid-column:1}.dp .dsub .in>a:not(.on){display:none}.dp .dsearch{width:auto;flex:1;max-width:220px}.dp .dsearch kbd{display:none}.dp .starts,.dp .dgroups{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dp .dhome-split{grid-template-columns:minmax(0,1fr)}.dp .month{grid-template-columns:minmax(0,1fr);gap:16px}.dp .month>h2{position:static}.dp .art h1{font-size:30px}.dp .scrim{padding-top:24px}}@media(max-width:560px){.dp .starts,.dp .dgroups,.dp .nextprev{grid-template-columns:minmax(0,1fr)}.dp .dsub .in{gap:12px;padding:0 18px}.dp .dwrap,.dp .dhome,.dp .clog{padding-left:18px;padding-right:18px}.dp .clog-filters .rss{display:none}}.dp .mobtree{display:none}@media(max-width:900px){.dp .mobtree{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;color:var(--ink-2)}.dp .mobtree svg{width:16px;height:16px}}.dp .dlabel{font-weight:500;color:var(--ink)}.dp .dsearch{min-width:0}@media(max-width:900px){.dp .dsub .chip{display:none}}@media(max-width:900px){.dp .mobtree{margin-bottom:18px}}
