.devroot{--bg:#fbf8f2;--surface:#fff;--surface2:#f4efe4;--surface3:#ede7da;--ink:#16181f;--body:#3c3f4b;--dim:#5d6172;--faint:#666b7e;--line:#1a1c2414;--line2:#1a1c2426;--thread:#4450be;--thread-ink:#353f9e;--thread-wash:#4450be14;--thread-edge:#4450be40;--code:#16181f;--code2:#1e212b;--code-line:#ffffff14;--code-text:#e4e6ee;--code-dim:#8c90a2;--green:#22c55e;--teal:#14b8a6;--amber:#f59e0b;--pink:#ec4899;--violet:#8b5cf6;--peri:#5b6cff;--red:#e5484d;--ok:#0c8a5c;--warn:#9c6f0f;--bad:#c23a33;--tok-key:#9aa3f0;--tok-str:#7ee0b0;--tok-num:#f7c66a;--tok-kw:#f28bc0;--tok-com:#7a7f93;--tok-fn:#86d3f7;--shadow:0 1px 2px #1a1c2410, 0 12px 32px -16px #1a1c2433;--radius:14px;--sans:var(--font-archivo), "Archivo Fallback", ui-sans-serif, system-ui, sans-serif;--mono:var(--font-plex-mono), ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .devroot{--bg:#0f1115;--surface:#171a21;--surface2:#1c1f27;--surface3:#232733;--ink:#edeef3;--body:#c4c7d2;--dim:#9a9ead;--faint:#8e92a4;--line:#ffffff14;--line2:#ffffff24;--thread:#8590e8;--thread-ink:#a6aef2;--thread-wash:#8590e81f;--thread-edge:#8590e855;--code:#0b0d11;--code2:#14171e;--ok:#3dd68c;--warn:#e6b450;--bad:#ff6b6b;--shadow:0 1px 2px #00000040, 0 12px 32px -16px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html[data-theme=dark] .devroot{--bg:#0f1115;--surface:#171a21;--surface2:#1c1f27;--surface3:#232733;--ink:#edeef3;--body:#c4c7d2;--dim:#9a9ead;--faint:#8e92a4;--line:#ffffff14;--line2:#ffffff24;--thread:#8590e8;--thread-ink:#a6aef2;--thread-wash:#8590e81f;--thread-edge:#8590e855;--code:#0b0d11;--code2:#14171e;--ok:#3dd68c;--warn:#e6b450;--bad:#ff6b6b;--shadow:0 1px 2px #00000040, 0 12px 32px -16px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html:has(.devroot){scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px);-webkit-text-size-adjust:100%}.devroot{background:var(--bg);color:var(--body);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}.devroot a{color:var(--thread-ink);text-underline-offset:3px;text-decoration-thickness:1px}.devroot a:hover{color:var(--thread)}.devroot img,.devroot svg{max-width:100%}.devroot button{font:inherit;color:inherit}.devroot :focus-visible{outline:2px solid var(--thread);outline-offset:2px;border-radius:6px}.devroot ::selection{background:var(--thread-wash)}.devroot code,.devroot kbd,.devroot pre,.devroot .mono{font-family:var(--mono)}.devroot .sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.devroot .top{z-index:40;height:64px;padding-top:env(safe-area-inset-top,0px);box-sizing:content-box;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding-left:20px;padding-right:20px;display:flex;position:sticky;top:0}.devroot .brand{color:var(--ink);flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.devroot .brand svg{width:30px;height:24px}.devroot .brand b{letter-spacing:-.01em;font-size:17px;font-weight:700}.devroot .brand span{color:var(--dim);font-size:17px;font-weight:500}.devroot .searchbtn{border:1px solid var(--line2);background:var(--surface);max-width:440px;height:40px;color:var(--faint);cursor:pointer;text-align:left;border-radius:10px;flex:auto;align-items:center;gap:10px;margin-left:24px;padding:0 12px;font-size:14px;display:flex}.devroot .searchbtn:hover{border-color:var(--thread-edge)}.devroot .searchbtn kbd{color:var(--dim);border:1px solid var(--line2);background:var(--surface2);border-radius:6px;margin-left:auto;padding:1px 6px;font-size:11.5px}.devroot .topr{align-items:center;gap:8px;margin-left:auto;display:flex}.devroot .ver{border:1px solid var(--line2);height:36px;font-family:var(--mono);color:var(--ink);background:var(--surface);border-radius:9px;align-items:center;gap:8px;padding:0 10px;font-size:12.5px;display:flex}.devroot .ver i{background:var(--green);border-radius:4px;width:8px;height:8px;display:inline-block}.devroot .iconbtn{border:1px solid var(--line2);background:var(--surface);cursor:pointer;width:38px;height:38px;color:var(--ink);border-radius:10px;justify-content:center;align-items:center;display:flex}.devroot .iconbtn:hover{border-color:var(--thread-edge)}.devroot .cta{background:var(--ink);height:38px;color:var(--bg);white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.devroot .cta:hover{color:var(--bg);opacity:.92}.devroot .menubtn{display:none}.devroot .shell{grid-template-columns:272px minmax(0,1fr);max-width:1560px;margin:0 auto;display:grid}.devroot .side{top:calc(64px + env(safe-area-inset-top,0px));height:calc(100vh - 64px - env(safe-area-inset-top,0px));border-right:1px solid var(--line);scrollbar-width:thin;padding:24px 16px 48px 20px;position:sticky;overflow:auto}.devroot .side .sh{color:var(--ink);letter-spacing:0;margin:22px 10px 6px;font-size:13px;font-weight:600}.devroot .side .sh:first-child{margin-top:0}.devroot .side a{color:var(--body);border-radius:8px;align-items:center;gap:10px;padding:6px 10px;font-size:14.5px;line-height:1.35;text-decoration:none;display:flex}.devroot .side a:hover{background:var(--surface2);color:var(--ink)}.devroot .side a[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2);font-weight:600}.devroot .side a .dot{border-radius:3px;flex-shrink:0;width:8px;height:8px}.devroot .side .sub{border-left:1px solid var(--line2);margin-left:18px;padding-left:6px}.devroot .side .sub a{color:var(--dim);padding:4px 10px;font-size:13.5px}.devroot .side .foot{border-top:1px solid var(--line);color:var(--dim);flex-direction:column;gap:8px;margin:28px 10px 0;padding-top:16px;font-size:13px;display:flex}.devroot .side .foot a{color:var(--dim);padding:0;font-size:13px}.devroot main{min-width:0;padding:40px 48px 120px}.devroot .page{max-width:1120px}.devroot .prose{max-width:720px}.devroot .scrim{display:none}.devroot h1{letter-spacing:-.035em;color:var(--ink);margin:0 0 20px;font-size:clamp(40px,5vw,64px);font-weight:700;line-height:1.02}.devroot h2{letter-spacing:-.025em;color:var(--ink);margin:64px 0 14px;font-size:30px;font-weight:600;line-height:1.15}.devroot h3{letter-spacing:-.01em;color:var(--ink);margin:40px 0 10px;font-size:20px;font-weight:600;line-height:1.3}.devroot p{margin:0 0 16px}.devroot .lede{color:var(--body);max-width:640px;font-size:19px;line-height:1.55}.devroot .crumb{color:var(--dim);align-items:center;gap:8px;margin-bottom:18px;font-size:13.5px;display:flex}.devroot .crumb a{color:var(--dim);text-decoration:none}.devroot .crumb a:hover{color:var(--ink)}.devroot .pagehead h1{font-size:clamp(36px,4.2vw,56px)}.devroot :not(pre)>code{background:var(--surface2);color:var(--ink);border:1px solid var(--line);white-space:nowrap;border-radius:6px;padding:.12em .4em;font-size:.86em}.devroot ul.plain,.devroot ol.plain{margin:0 0 16px;padding-left:20px}.devroot ul.plain li,.devroot ol.plain li{margin:6px 0}.devroot hr.rule{border:0;border-top:1px solid var(--line);margin:56px 0}.devroot .callout{background:var(--surface);border:1px solid var(--line2);border-radius:12px;gap:12px;max-width:720px;margin:20px 0;padding:14px 16px;font-size:15px;display:flex}.devroot .callout svg{flex-shrink:0;margin-top:3px}.devroot .callout.warn{background:color-mix(in srgb, var(--amber) 10%, var(--surface));border-color:color-mix(in srgb, var(--amber) 35%, transparent)}.devroot .callout.tip{background:var(--thread-wash);border-color:var(--thread-edge)}.devroot .callout p{margin:0}.devroot .tbl{border-collapse:collapse;width:100%;margin:12px 0 24px;font-size:14.5px}.devroot .tblwrap{border:1px solid var(--line2);background:var(--surface);border-radius:12px;margin:12px 0 24px;overflow-x:auto}.devroot .tblwrap .tbl{margin:0}.devroot .tbl th{text-align:left;color:var(--ink);border-bottom:1px solid var(--line2);background:var(--surface2);white-space:nowrap;padding:10px 14px;font-size:13px;font-weight:600}.devroot .tbl td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 14px}.devroot .tbl tr:last-child td{border-bottom:0}.devroot .tbl td code{white-space:nowrap}.devroot .tag{background:var(--surface2);height:21px;color:var(--dim);border:1px solid var(--line);white-space:nowrap;font-size:12px;font-weight:600;font-family:var(--sans);border-radius:6px;align-items:center;padding:0 7px;display:inline-flex}.devroot .tag.req{color:var(--bad);background:color-mix(in srgb, var(--red) 10%, var(--surface));border-color:color-mix(in srgb, var(--red) 30%, transparent)}.devroot .tag.ro{color:var(--dim)}.devroot .tag.new{color:var(--ok);background:color-mix(in srgb, var(--green) 12%, var(--surface));border-color:color-mix(in srgb, var(--green) 35%, transparent)}.devroot .type{font-family:var(--mono);color:var(--dim);font-size:12.5px}.devroot .m{min-width:54px;height:22px;font-family:var(--mono);letter-spacing:.02em;border-radius:6px;justify-content:center;align-items:center;padding:0 7px;font-size:11.5px;font-weight:600;display:inline-flex}.devroot .m.GET{background:color-mix(in srgb, var(--teal) 16%, transparent);color:color-mix(in srgb, var(--teal) 65%, var(--ink))}.devroot .m.POST{background:var(--thread-wash);color:var(--thread-ink)}.devroot .m.PATCH{background:color-mix(in srgb, var(--amber) 18%, transparent);color:color-mix(in srgb, var(--amber) 55%, var(--ink))}.devroot .m.DELETE{background:color-mix(in srgb, var(--red) 14%, transparent);color:color-mix(in srgb, var(--red) 70%, var(--ink))}.devroot .btn{border:1px solid var(--line2);background:var(--surface);height:40px;color:var(--ink);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.devroot .btn:hover{border-color:var(--thread-edge);color:var(--ink)}.devroot .btn.primary{background:var(--thread);color:#fff;border-color:var(--thread)}.devroot .btn.primary:hover{background:var(--thread-ink);color:#fff}.devroot .btn.small{border-radius:8px;height:32px;padding:0 12px;font-size:13px}.devroot .row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.devroot .code{background:var(--code);border-radius:var(--radius);color:var(--code-text);box-shadow:var(--shadow);border:1px solid #00000020;min-width:0;margin:16px 0 24px;overflow:hidden}.devroot .codehead{border-bottom:1px solid var(--code-line);align-items:center;gap:2px;min-height:44px;padding:8px 8px 0 12px;display:flex}.devroot .codehead .title{color:var(--code-dim);font-size:12.5px;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;margin-right:auto;padding-bottom:8px;overflow:hidden}.devroot .lt{color:var(--code-dim);cursor:pointer;font-size:13px;font-family:var(--sans);background:0 0;border:0;border-bottom:2px solid #0000;padding:7px 10px 10px}.devroot .lt[aria-selected=true]{color:#fff;border-bottom-color:#9aa3f0}.devroot .copy{color:#d7dae4;cursor:pointer;height:28px;font-size:12px;font-family:var(--sans);background:#ffffff12;border:1px solid #ffffff1a;border-radius:7px;align-items:center;gap:6px;margin-bottom:8px;margin-left:6px;padding:0 10px;display:inline-flex}.devroot .copy:hover{background:#ffffff20}.devroot .code pre{tab-size:2;max-height:560px;margin:0;padding:16px 18px 18px;font-size:13.5px;line-height:1.65;overflow:auto}.devroot .code pre code{font-size:inherit;color:inherit;white-space:pre;background:0 0;border:0;padding:0}.devroot .tk-k{color:var(--tok-key)}.devroot .tk-s{color:var(--tok-str)}.devroot .tk-n{color:var(--tok-num)}.devroot .tk-w{color:var(--tok-kw)}.devroot .tk-c{color:var(--tok-com);font-style:italic}.devroot .tk-f{color:var(--tok-fn)}.devroot .tk-p{color:#c9ccd8}.devroot .statusline{border-top:1px solid var(--code-line);font-family:var(--mono);color:var(--code-dim);background:var(--code2);align-items:center;gap:10px;padding:9px 16px;font-size:12px;display:flex}.devroot .statusline b{color:#7ee0b0;font-weight:600}.devroot .statusline b.e{color:#ff8a8a}.devroot .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:start;gap:48px;margin-bottom:24px;display:grid}.devroot .hero h1{max-width:560px}.devroot .hero .lede{margin-bottom:28px}.devroot .baseurl{background:var(--surface);border:1px solid var(--line2);font-family:var(--mono);color:var(--ink);border-radius:12px;align-items:center;gap:12px;max-width:100%;margin-bottom:28px;padding:10px 12px 10px 14px;font-size:14px;display:inline-flex}.devroot .baseurl span{color:var(--dim);font-family:var(--sans);font-size:13px}.devroot .loom{background:var(--code);color:var(--code-text);border-radius:22px;padding:18px;position:relative;overflow:hidden;box-shadow:0 30px 70px -30px #16181f99}.devroot .loom .req,.devroot .loom .res{z-index:2;background:var(--code2);border:1px solid var(--code-line);border-radius:14px;position:relative}.devroot .loom .req{padding:14px 16px}.devroot .loom .res{min-height:270px;margin-top:64px}.devroot .loom .res pre{min-height:220px;margin:0;padding:14px 16px;font-size:13px;line-height:1.6}.devroot .loom .bar{align-items:center;gap:10px;margin-bottom:10px;display:flex}.devroot .loom .bar .m{color:#7fe6d8;background:#14b8a62e}.devroot .loom .bar .path{font-family:var(--mono);color:#fff;font-size:14px}.devroot .loom .keyfield{height:38px;font-family:var(--mono);color:#c9ccd8;background:#0000002e;border:1px solid #ffffff1f;border-radius:9px;align-items:center;gap:8px;margin-top:10px;padding:0 10px;font-size:12.5px;display:flex}.devroot .loom .keyfield input{color:#fff;font:inherit;background:0 0;border:0;outline:none;flex:1;min-width:0}.devroot .loom .keyfield label{color:var(--code-dim);white-space:nowrap}.devroot .send{color:#16181f;cursor:pointer;background:#9aa3f0;border:0;border-radius:9px;align-items:center;gap:8px;height:38px;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.devroot .send:hover{background:#b4bbf5}.devroot .send[disabled]{opacity:.6;cursor:default}.devroot .threads{z-index:1;pointer-events:none;position:absolute;left:0;right:0}.devroot .threads path{fill:none;stroke-width:2px;stroke-linecap:round}.devroot .pulse{offset-rotate:0deg}.devroot .loom .meta{border-bottom:1px solid var(--code-line);font-family:var(--mono);color:var(--code-dim);justify-content:space-between;padding:10px 16px;font-size:12px;display:flex}.devroot .loom .meta b{color:#7ee0b0}.devroot .loom .note{z-index:2;color:var(--code-dim);text-align:center;margin-top:12px;font-size:12px;position:relative}.devroot .steps{counter-reset:s;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0 8px;display:grid}.devroot .step{counter-increment:s;background:var(--surface);border:1px solid var(--line2);border-radius:16px;padding:20px;position:relative}.devroot .step:before{content:counter(s);background:var(--ink);width:30px;height:30px;color:var(--bg);border-radius:15px;justify-content:center;align-items:center;margin-bottom:14px;font-size:14px;font-weight:700;display:flex}.devroot .step h3{margin:0 0 6px;font-size:17px}.devroot .step p{color:var(--dim);margin:0;font-size:14.5px}.devroot .tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 8px;display:grid}.devroot .tile{color:#fff;isolation:isolate;border-radius:18px;flex-direction:column;justify-content:flex-end;gap:6px;min-height:200px;padding:20px;text-decoration:none;display:flex;position:relative;overflow:hidden}.devroot .tile:after{content:"";z-index:-1;background:#fff2;border-radius:50%;width:150px;height:150px;position:absolute;top:-40px;right:-40px}.devroot .tile b{letter-spacing:-.02em;font-size:22px;font-weight:700}.devroot .tile span{opacity:.92;font-size:14px;line-height:1.4}.devroot .tile .ep{font-family:var(--mono);opacity:.9;font-size:12px;position:absolute;top:18px;left:20px}.devroot .tile:hover{color:#fff;transform:translateY(-2px)}.devroot .tile{transition:transform .2s ease-out}.devroot .cards2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0;display:grid}.devroot .cardlink{background:var(--surface);border:1px solid var(--line2);color:var(--body);border-radius:14px;padding:18px 20px;text-decoration:none;display:block}.devroot .cardlink:hover{border-color:var(--thread-edge);color:var(--body)}.devroot .cardlink b{color:var(--ink);margin-bottom:4px;font-size:16px;display:block}.devroot .cardlink span{color:var(--dim);font-size:14px}.devroot .ep{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:40px;padding:44px 0;display:grid}.devroot .ep:first-of-type{border-top:0}.devroot .ep .right{min-width:0;position:sticky;top:96px}.devroot .ep .right .code{margin-top:0}.devroot .ephead{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.devroot .ephead .path{font-family:var(--mono);color:var(--ink);word-break:break-all;font-size:14px}.devroot .ep h3{margin-top:0}.devroot .params{border-top:1px solid var(--line2);margin:14px 0 0}.devroot .param{border-bottom:1px solid var(--line);padding:12px 0}.devroot .param .pn{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.devroot .param .pn code{color:var(--ink);background:0 0;border:0;padding:0;font-size:14px;font-weight:600}.devroot .param p{color:var(--dim);margin:4px 0 0;font-size:14.5px}.devroot .plabel{color:var(--ink);margin:22px 0 2px;font-size:13px;font-weight:600}.devroot .try{align-items:center;gap:10px;margin-top:12px;display:flex}.devroot .schema details{border-top:1px solid var(--line)}.devroot .schema summary{cursor:pointer;align-items:center;gap:10px;padding:12px 0;list-style:none;display:flex}.devroot .schema summary::-webkit-details-marker{display:none}.devroot .subnav{flex-wrap:wrap;gap:6px;margin:6px 0 24px;display:flex}.devroot .subnav a{border:1px solid var(--line2);background:var(--surface);color:var(--body);border-radius:999px;padding:6px 12px;font-size:13.5px;text-decoration:none}.devroot .subnav a:hover{border-color:var(--thread-edge);color:var(--ink)}.devroot .widget{background:var(--surface);border:1px solid var(--line2);box-shadow:var(--shadow);border-radius:18px;margin:20px 0 28px;padding:22px}.devroot .widget h3.wt{color:var(--ink);margin:0 0 4px;font-size:16px}.devroot .widget .hint{color:var(--dim);margin:0 0 16px;font-size:14px}.devroot .scopes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.devroot .scope{border:1px solid var(--line2);cursor:pointer;background:var(--bg);border-radius:12px;align-items:flex-start;gap:10px;padding:12px;display:flex}.devroot .scope input{accent-color:var(--thread);width:16px;height:16px;margin-top:3px}.devroot .scope code{background:0 0;border:0;padding:0;font-weight:600}.devroot .scope small{color:var(--dim);margin-top:2px;font-size:13px;line-height:1.4;display:block}.devroot .scope:has(input:checked){border-color:var(--thread-edge);background:var(--thread-wash)}.devroot .allow{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.devroot .allow .chip{height:28px;font-family:var(--mono);border:1px solid var(--line2);background:var(--bg);color:var(--faint);border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.devroot .allow .chip.on{color:var(--ink);border-color:var(--thread-edge);background:var(--surface)}.devroot .allow .chip.on .m{transform:scale(.9)}.devroot .bucket{grid-template-columns:1fr auto;align-items:end;gap:18px;display:grid}.devroot .meter{background:var(--bg);border:1px solid var(--line2);border-radius:10px;height:40px;position:relative;overflow:hidden}.devroot .meter i{background:linear-gradient(90deg, var(--teal), var(--thread));transition:width .25s ease-out;position:absolute;top:0;bottom:0;left:0}.devroot .meter i.over{background:var(--red)}.devroot .meter span{font-family:var(--mono);color:var(--ink);mix-blend-mode:normal;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.devroot .hdrs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.devroot .hdr{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.devroot .hdr small{font-family:var(--mono);color:var(--dim);font-size:11.5px;display:block}.devroot .hdr b{font-family:var(--mono);color:var(--ink);font-size:18px;font-weight:500}.devroot .log{font-family:var(--mono);background:var(--code);max-height:132px;color:var(--code-text);border-radius:10px;margin-top:12px;padding:10px 12px;font-size:12.5px;overflow:auto}.devroot .log div{white-space:nowrap}.devroot .log .e{color:#ff8a8a}.devroot .log .o{color:#7ee0b0}.devroot .pages{align-items:center;gap:0;padding:6px 2px 10px;display:flex;overflow-x:auto}.devroot .pg{border:1px solid var(--line2);background:var(--bg);width:168px;font-family:var(--mono);border-radius:12px;flex-shrink:0;padding:12px;font-size:12px}.devroot .pg.on{border-color:var(--thread);box-shadow:0 0 0 3px var(--thread-wash);background:var(--surface)}.devroot .pg .rows{flex-direction:column;gap:4px;margin:8px 0;display:flex}.devroot .pg .rows span{background:var(--surface3);border-radius:4px;height:8px}.devroot .pg .c{color:var(--thread-ink);word-break:break-all}.devroot .link{background:var(--line2);flex-shrink:0;width:44px;height:2px;position:relative}.devroot .link:after{content:"";border:5px solid #0000;border-left-color:var(--line2);border-right:0;position:absolute;top:-4px;right:-1px}.devroot .errfilter{flex-wrap:wrap;gap:8px;margin:8px 0 14px;display:flex}.devroot .errfilter input{border:1px solid var(--line2);background:var(--surface);height:40px;font:inherit;color:var(--ink);border-radius:10px;flex:240px;padding:0 12px;font-size:14px}.devroot .status{font-family:var(--mono);font-size:13px;font-weight:600}.devroot .s2{color:var(--ok)}.devroot .s4{color:var(--warn)}.devroot .s5{color:var(--bad)}.devroot .anatomy{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.devroot .anno{flex-direction:column;gap:10px;padding-top:10px;display:flex}.devroot .anno div{gap:10px;font-size:14.5px;display:flex}.devroot .anno code{flex-shrink:0}.devroot .verify{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.devroot .verify label{color:var(--ink);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.devroot .verify textarea,.devroot .verify input{border:1px solid var(--line2);background:var(--bg);width:100%;color:var(--ink);font-family:var(--mono);resize:vertical;border-radius:10px;padding:10px 12px;font-size:12.5px}.devroot .verify textarea{min-height:150px}.devroot .verify input{height:40px}.devroot .verdict{border:1px solid var(--line2);background:var(--bg);border-radius:12px;align-items:flex-start;gap:12px;margin-top:14px;padding:14px 16px;font-size:14.5px;display:flex}.devroot .verdict.ok{border-color:color-mix(in srgb, var(--green) 45%, transparent);background:color-mix(in srgb, var(--green) 9%, var(--surface))}.devroot .verdict.no{border-color:color-mix(in srgb, var(--red) 45%, transparent);background:color-mix(in srgb, var(--red) 8%, var(--surface))}.devroot .verdict code{white-space:normal;word-break:break-all}.devroot .retry{margin:26px 0 8px;padding:0 44px;position:relative}.devroot .retry .axis{background:var(--line2);height:2px;margin:44px 0 46px;position:relative}.devroot .retry .att{flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:-9px;transform:translate(-50%)}.devroot .retry .att i{background:var(--surface);border:2px solid var(--amber);border-radius:10px;width:20px;height:20px}.devroot .retry .att.first i{border-color:var(--thread)}.devroot .retry .att.off i{border-color:var(--red);background:var(--red)}.devroot .retry .att span{font-family:var(--mono);color:var(--dim);white-space:nowrap;font-size:11.5px}.devroot .retry .att b{color:var(--ink);white-space:nowrap;font-size:12px;font-weight:600;position:absolute;top:-28px}.devroot .dlog{border:1px solid var(--line2);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.devroot .dlog .dh{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 16px;display:flex}.devroot .dlog .dh b{color:var(--ink);font-size:15px}.devroot .dlog .dh .url{font-family:var(--mono);color:var(--dim);font-size:12.5px}.devroot .state{align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.devroot .state i{border-radius:4px;width:8px;height:8px}.devroot .dlog table{border-collapse:collapse;width:100%;font-size:13.5px}.devroot .dlog td,.devroot .dlog th{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:10px 16px}.devroot .dlog th{color:var(--dim);background:var(--surface2);font-size:12.5px;font-weight:600}.devroot .dlog tr.sel td{background:var(--thread-wash)}.devroot .evsearch{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 18px;display:flex}.devroot .evsearch input{border:1px solid var(--line2);background:var(--surface);height:42px;font:inherit;color:var(--ink);border-radius:10px;flex:260px;padding:0 12px;font-size:14.5px}.devroot .fchip{border:1px solid var(--line2);background:var(--surface);cursor:pointer;height:34px;color:var(--body);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.devroot .fchip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.devroot .event{border:1px solid var(--line2);background:var(--surface);border-radius:14px;margin-bottom:10px;overflow:hidden}.devroot .event summary{cursor:pointer;align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}.devroot .event summary::-webkit-details-marker{display:none}.devroot .event summary code{color:var(--ink);background:0 0;border:0;padding:0;font-size:14.5px;font-weight:600}.devroot .event summary span{color:var(--dim);font-size:14px}.devroot .event summary .chev{color:var(--faint);margin-left:auto;transition:transform .2s ease-out}.devroot .event[open] summary .chev{transform:rotate(90deg)}.devroot .event .body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:0 16px 16px;display:grid}.devroot .event .body .code{margin:0}.devroot .cl{max-width:820px;padding-left:28px;position:relative}.devroot .cl:before{content:"";background:var(--line2);width:2px;position:absolute;top:8px;bottom:0;left:6px}.devroot .cle{margin-bottom:40px;position:relative}.devroot .cle:before{content:"";background:var(--bg);border:3px solid var(--thread);border-radius:7px;width:14px;height:14px;position:absolute;top:8px;left:-28px}.devroot .cle time{font-family:var(--mono);color:var(--dim);font-size:13px}.devroot .cle h3{margin:4px 0 10px}.devroot .cle ul{margin:0;padding-left:0;list-style:none}.devroot .cle li{align-items:flex-start;gap:10px;margin:8px 0;font-size:15px;display:flex}.devroot .k-add{color:var(--ok)}.devroot .k-chg{color:var(--thread-ink)}.devroot .k-dep{color:var(--warn)}.devroot .k-fix{color:var(--dim)}.devroot .pal{z-index:80;padding:max(10vh, calc(env(safe-area-inset-top,0px) + 24px)) 16px 16px;background:#16181f66;justify-content:center;align-items:flex-start;display:none;position:fixed;inset:0}.devroot .pal.open{display:flex}.devroot .palbox{background:var(--surface);border:1px solid var(--line2);border-radius:18px;width:min(640px,100%);overflow:hidden;box-shadow:0 40px 90px -30px #0008}.devroot .palin{border-bottom:1px solid var(--line);align-items:center;gap:10px;height:58px;padding:0 16px;display:flex}.devroot .palin input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:17px}.devroot .palres{max-height:min(420px,60vh);padding:8px;overflow:auto}.devroot .palres a{color:var(--body);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:14.5px;text-decoration:none;display:flex}.devroot .palres a small{color:var(--faint);margin-left:auto;font-size:12.5px}.devroot .palres a[aria-selected=true]{background:var(--thread-wash);color:var(--ink)}.devroot .palres .empty{text-align:center;color:var(--dim);padding:24px;font-size:14px}.devroot .toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));opacity:0;background:var(--ink);color:var(--bg);z-index:90;pointer-events:none;border-radius:10px;padding:10px 16px;font-size:14px;transition:all .25s ease-out;position:fixed;transform:translate(-50%)translateY(20px)}.devroot .toast.show{opacity:1;transform:translate(-50%)translateY(0)}.devroot .pager{grid-template-columns:1fr 1fr;gap:14px;margin-top:72px;display:grid}.devroot .pager a{border:1px solid var(--line2);background:var(--surface);color:var(--ink);border-radius:14px;padding:16px 18px;text-decoration:none}.devroot .pager a small{color:var(--dim);font-size:13px;display:block}.devroot .pager a b{font-size:16px}.devroot .pager a.next{text-align:right}.devroot .pager a:hover{border-color:var(--thread-edge);color:var(--ink)}@media (max-width:1180px){.devroot .ep{grid-template-columns:minmax(0,1fr)}.devroot .ep .right{position:static}.devroot .hero{grid-template-columns:minmax(0,1fr)}.devroot .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.devroot .shell{grid-template-columns:minmax(0,1fr)}.devroot .side{z-index:70;background:var(--bg);width:min(320px,86vw);height:auto;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(48px + env(safe-area-inset-bottom,0px));border-right:1px solid var(--line2);transition:transform .25s ease-out;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.devroot .side.open{transform:none}.devroot .scrim.open{z-index:60;background:#16181f55;display:block;position:fixed;inset:0}.devroot .menubtn{display:flex}.devroot main{padding:28px 20px 96px}.devroot .searchbtn{margin-left:0}.devroot .searchbtn .lbl,.devroot .searchbtn kbd,.devroot .ver,.devroot .cta{display:none}.devroot .searchbtn{flex:none;justify-content:center;width:38px;height:38px;margin-left:auto;padding:0}.devroot .topr{margin-left:0}.devroot .brand span{display:none}.devroot .steps,.devroot .scopes,.devroot .cards2,.devroot .verify,.devroot .anatomy,.devroot .event .body,.devroot .hdrs,.devroot .tiles,.devroot .pager{grid-template-columns:minmax(0,1fr)}.devroot h2{font-size:26px}}@media (prefers-reduced-motion:reduce){.devroot *,.devroot :before,.devroot :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.devroot .progress{left:0;top:calc(64px + env(safe-area-inset-top,0px));background:linear-gradient(90deg, var(--teal), var(--thread), var(--pink));z-index:41;width:0;height:2px;transition:width .1s linear;position:fixed}.devroot .headrow{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.devroot .headrow .pagehead{flex:auto;min-width:0}.devroot .llm{flex-shrink:0;margin-top:6px;position:relative}.devroot .llmbtn{border:1px solid var(--line2);background:var(--surface);height:36px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:0 12px;font-size:13.5px;font-weight:600;display:inline-flex}.devroot .llmbtn:hover{border-color:var(--thread-edge)}.devroot .llmbtn .split{background:var(--line2);width:1px;height:18px;margin:0 2px}.devroot .llmmenu{background:var(--surface);border:1px solid var(--line2);z-index:30;border-radius:14px;width:300px;padding:6px;display:none;position:absolute;top:44px;right:0;box-shadow:0 24px 60px -24px #0006}.devroot .llm.open .llmmenu{display:block}.devroot .llmmenu button,.devroot .llmmenu a{text-align:left;cursor:pointer;width:100%;color:var(--body);background:0 0;border:0;border-radius:9px;align-items:flex-start;gap:10px;padding:9px 10px;font-size:14px;text-decoration:none;display:flex}.devroot .llmmenu button:hover,.devroot .llmmenu a:hover{background:var(--surface2);color:var(--ink)}.devroot .llmmenu b{color:var(--ink);font-size:14px;font-weight:600;display:block}.devroot .llmmenu small{color:var(--dim);font-size:12.5px;line-height:1.35;display:block}.devroot .llmmenu .ico{background:var(--surface2);width:28px;height:28px;font-family:var(--mono);color:var(--ink);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.devroot .llmmenu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}.devroot .modal{z-index:85;padding:calc(env(safe-area-inset-top,0px) + 20px) 16px calc(env(safe-area-inset-bottom,0px) + 20px);background:#16181f66;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.devroot .modal.open{display:flex}.devroot .modalbox{background:var(--surface);border:1px solid var(--line2);border-radius:18px;flex-direction:column;width:min(860px,100%);max-height:100%;display:flex;overflow:hidden;box-shadow:0 40px 90px -30px #0008}.devroot .modalhead{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.devroot .modalhead b{color:var(--ink);font-size:16px}.devroot .modalhead .sp{gap:8px;margin-left:auto;display:flex}.devroot .modalbody{padding:0;overflow:auto}.devroot .modalbody pre{white-space:pre-wrap;color:var(--ink);font-size:13px;line-height:1.6;font-family:var(--mono);margin:0;padding:18px}.devroot .keys{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 28px;padding:18px;display:grid}.devroot .keys div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:7px 0;font-size:14px;display:flex}.devroot .keys kbd{font-family:var(--mono);border:1px solid var(--line2);background:var(--surface2);color:var(--ink);border-radius:6px;margin-left:4px;padding:2px 7px;font-size:12px}.devroot h2 .anchor,.devroot h3 .anchor{opacity:0;color:var(--faint);cursor:pointer;vertical-align:middle;background:0 0;border:0;border-radius:6px;margin-left:8px;padding:2px 4px;font-size:.7em}.devroot h2:hover .anchor,.devroot h3:hover .anchor,.devroot .anchor:focus-visible{opacity:1}.devroot .anchor:hover{color:var(--thread)}.devroot .tk-k.hot{background:#9aa3f033;border-radius:4px;outline:1px solid #9aa3f088}.devroot .param.hot{background:var(--thread-wash);box-shadow:-8px 0 0 var(--thread-wash), 8px 0 0 var(--thread-wash)}.devroot .param[data-f]{cursor:default}.devroot .keychip{border:1px solid var(--line2);background:var(--surface);cursor:pointer;height:38px;color:var(--ink);white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:inline-flex}.devroot .keychip i{background:var(--faint);border-radius:4px;width:8px;height:8px}.devroot .keychip.on i{background:var(--green)}.devroot .keypop{background:var(--surface);border:1px solid var(--line2);z-index:45;border-radius:14px;width:340px;padding:14px;display:none;position:absolute;top:48px;right:0;box-shadow:0 24px 60px -24px #0006}.devroot .keywrap{position:relative}.devroot .keywrap.open .keypop{display:block}.devroot .keypop input{border:1px solid var(--line2);background:var(--bg);width:100%;height:40px;color:var(--ink);font-family:var(--mono);border-radius:9px;margin:8px 0;padding:0 10px;font-size:13px}.devroot .keypop p{color:var(--dim);margin:0 0 4px;font-size:13px;line-height:1.45}.devroot .keypop .err{color:var(--bad)}.devroot .play{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.devroot .play select,.devroot .play textarea{border:1px solid var(--line2);background:var(--bg);width:100%;color:var(--ink);font:inherit;border-radius:10px;font-size:14px}.devroot .play select{height:42px;padding:0 10px}.devroot .play textarea{min-height:200px;font-family:var(--mono);resize:vertical;padding:12px;font-size:12.5px;line-height:1.55}.devroot .play textarea.bad{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb, var(--red) 15%, transparent)}.devroot .play .code{margin:0}.devroot .play label{color:var(--ink);margin:0 0 6px;font-size:13px;font-weight:600;display:block}.devroot .helpful{border:1px solid var(--line2);background:var(--surface);color:var(--ink);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:56px;padding:16px 18px;font-size:14.5px;display:flex}.devroot .helpful .btn{height:34px}.devroot .helpful textarea{border:1px solid var(--line2);background:var(--bg);min-height:80px;color:var(--ink);font:inherit;border-radius:10px;flex:100%;padding:10px;font-size:14px}.devroot .wren-fly{z-index:95;pointer-events:none;animation:3.2s cubic-bezier(.3,.1,.3,1) forwards wrenfly;position:fixed;top:30vh;left:-120px}@keyframes wrenfly{0%{transform:translate(0)rotate(-6deg)}25%{transform:translate(30vw,-8vh)rotate(4deg)}50%{transform:translate(55vw,4vh)rotate(-4deg)}75%{transform:translate(80vw,-6vh)rotate(5deg)}to{transform:translate(calc(100vw + 240px),-12vh)rotate(0)}}@media (max-width:1180px){.devroot .play{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.devroot .keychip span{display:none}.devroot .keychip{justify-content:center;width:38px;padding:0}.devroot .headrow{flex-direction:column;gap:0}.devroot .llm{margin:0 0 8px}.devroot .keys{grid-template-columns:minmax(0,1fr)}.devroot .keypop{width:min(340px,92vw);right:-60px}}html[data-theme=dark] body:has(.devroot){background:#0f1115}@media (prefers-color-scheme:dark){html:not([data-theme=light]) body:has(.devroot){background:#0f1115}}.devroot{min-height:100vh}.devroot svg{vertical-align:middle;display:inline-block}.devroot .brand svg,.devroot .callout svg{display:block}.devroot h1,.devroot h2,.devroot h3,.devroot h4{font-family:var(--sans)}.devroot ul.plain,.devroot ol.plain{list-style:revert}.devroot h2[id],.devroot h3[id],.devroot section[id],.devroot details[id]{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 84px)}.devroot .crumb span{color:var(--dim)}.devroot .kv{color:inherit}.devroot .code pre[data-pane]{display:none}.devroot .code pre[data-pane]:first-of-type{display:block}.devroot .codehead .tabs{align-self:stretch;align-items:flex-end;gap:2px;display:flex}.devroot .code .lt:first-of-type{color:#fff;border-bottom-color:#9aa3f0}:is(html[data-lang=node] .devroot .code:has(pre[data-pane=node]) pre[data-pane],html[data-lang=python] .devroot .code:has(pre[data-pane=python]) pre[data-pane],html[data-lang=curl] .devroot .code:has(pre[data-pane=curl]) pre[data-pane]){display:none}:is(html[data-lang=node] .devroot .code:has(pre[data-pane=node]) pre[data-pane=node],html[data-lang=python] .devroot .code:has(pre[data-pane=python]) pre[data-pane=python],html[data-lang=curl] .devroot .code:has(pre[data-pane=curl]) pre[data-pane=curl]){display:block}:is(html[data-lang=node] .devroot .code:has(pre[data-pane=node]) .lt,html[data-lang=python] .devroot .code:has(pre[data-pane=python]) .lt,html[data-lang=curl] .devroot .code:has(pre[data-pane=curl]) .lt){color:var(--code-dim);border-bottom-color:#0000}:is(html[data-lang=node] .devroot .code:has(pre[data-pane=node]) .lt[data-lang=node],html[data-lang=python] .devroot .code:has(pre[data-pane=python]) .lt[data-lang=python],html[data-lang=curl] .devroot .code:has(pre[data-pane=curl]) .lt[data-lang=curl]){color:#fff;border-bottom-color:#9aa3f0}.devroot .lt:hover{color:#fff}.devroot .ico-sun{display:none}html[data-theme=dark] .devroot .ico-sun{display:block}html[data-theme=dark] .devroot .ico-moon{display:none}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .devroot .ico-sun{display:block}html:not([data-theme=light]) .devroot .ico-moon{display:none}}.devroot .tile .ep{border:0;grid-template-columns:none;padding:0;display:block}.devroot .tblwrap .tbl td:first-child code{white-space:nowrap}.devroot .errcode{scroll-margin-top:96px}.devroot .side .foot a{display:block}.devroot .side>div>.sh{margin-top:22px}.devroot .side>div:first-child>.sh{margin-top:0}html[data-theme=dark] .devroot .btn.primary,html[data-theme=dark] .devroot .btn.primary:hover{color:#0f1115}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .devroot .btn.primary,html:not([data-theme=light]) .devroot .btn.primary:hover{color:#0f1115}}
