body{margin:0}a{color:#0A3D8F}a:hover{color:#072C69}.pp .bp-rp{position:fixed;left:0;right:0;top:0;height:5px;z-index:60;background:transparent;pointer-events:none}.pp .bp-rp i{display:block;height:100%;background:var(--tint);background-image:repeating-linear-gradient(90deg,transparent 0 10px,color-mix(in srgb,var(--bg) 40%,transparent) 10px 12px)}.pp .bp-tpl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:24px}.pp .bp-head{max-width:1000px}.pp .bp-head h1{font-size:60px}.pp .bp-by{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:28px;font-size:15px;color:var(--ink2)}.pp .bp-av{display:grid;grid-template-columns:repeat(6,6px);grid-template-rows:repeat(6,6px);width:36px;height:36px;flex:none}.pp .bp-av i{display:block}.pp .bp-by b{color:var(--ink)}.pp .bp-by .chip{background:var(--surface)}.pp .bp-vis{margin-top:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.pp .bp-vis-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:16px 24px;border-bottom:1px solid var(--line)}.pp .bp-vis svg{display:block;width:100%;height:auto;shape-rendering:crispEdges;background:var(--bg);background-image:radial-gradient(var(--line) 1px,transparent 1.5px);background-size:16px 16px}.pp .bp-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;align-items:start}.pp .bp-toc{position:sticky;top:104px;display:flex;flex-direction:column;gap:14px}.pp .bp-toc ol{list-style:none;display:flex;flex-direction:column;border-left:2px solid var(--line)}.pp .bp-toc a{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 0 6px 16px;margin-left:-2px;border-left:2px solid transparent;color:var(--ink2);text-decoration:none;font-size:15px;line-height:1.35}.pp .bp-toc a:hover{color:var(--ink);text-decoration:underline}.pp .bp-toc a[aria-current=true]{border-left-color:var(--tint);color:var(--ink);font-weight:700}.pp .bp-toc a[aria-current=true]::before{content:"";width:6px;height:6px;background:var(--tint);flex:none;margin-left:-11px}.pp .bp-meter{display:flex;align-items:center;gap:10px;font:400 12px/1 var(--fp);color:var(--ink2)}.pp .bp-meter span{flex:1;height:6px;background:var(--line);position:relative}.pp .bp-meter span i{position:absolute;left:0;top:0;bottom:0;background:var(--tint)}.pp .bp-art{max-width:68ch;font-size:19px;line-height:1.65;color:var(--ink)}.pp .bp-art>* + *{margin-top:22px}.pp .bp-art h2{font-size:34px;margin-top:64px;scroll-margin-top:100px}.pp .bp-art h3{font-size:22px;margin-top:36px}.pp .bp-art ul,.pp .bp-art ol.bp-ol{padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px}.pp .bp-art ul li,.pp .bp-art ol.bp-ol li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px}.pp .bp-art ul li::before{content:"";width:7px;height:7px;background:var(--tint);margin-top:11px}.pp .bp-art ol.bp-ol{counter-reset:bp}.pp .bp-art ol.bp-ol li::before{counter-increment:bp;content:counter(bp);font:700 14px/1.9 var(--fp);color:var(--tint)}.pp .bp-key{margin-top:0;padding:24px 28px;border:2px solid var(--ink);border-radius:4px;background:var(--surface);box-shadow:6px 6px 0 color-mix(in srgb,var(--tint) 25%,transparent)}.pp .bp-key .bp-kh{font:400 13px/1 var(--fp);letter-spacing:.02em;margin:0 0 14px;color:var(--ink2)}.pp .bp-key ul{gap:12px}.pp .bp-key li{font-size:18px}.pp .bp-code{margin:0;overflow-x:auto;padding:20px 22px;border:1px solid var(--line);border-radius:4px;background:#0F2238;color:#E6EEF7;font:400 15px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;tab-size:2}.pp .bp-code:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.pp .bp-code .c{color:#9DB3C9}.pp .bp-code .k{color:#7FE3C9}.pp .bp-tbl{overflow-x:auto;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.pp .bp-tbl:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.pp .bp-tbl table{border-collapse:collapse;width:100%;min-width:620px;font-size:16px}.pp .bp-tbl caption{caption-side:top;text-align:left;padding:14px 16px;font:400 12px/1.4 var(--fp);color:var(--ink2);border-bottom:1px solid var(--line)}.pp .bp-tbl th,.pp .bp-tbl td{padding:12px 16px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.pp .bp-tbl th:first-child,.pp .bp-tbl td:first-child{text-align:left}.pp .bp-tbl thead th{font:700 14px/1.3 var(--fb);color:var(--ink2);white-space:normal;vertical-align:bottom}.pp .bp-tbl tbody tr:last-child td{border-bottom:0}.pp .bp-tbl tr.on td{background:var(--wash);font-weight:700}.pp .bp-tbl td{font-variant-numeric:tabular-nums}.pp .bp-try{padding:24px 26px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;flex-direction:column;gap:18px}.pp .bp-try-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pp .bp-try label{display:flex;justify-content:space-between;gap:12px;font-size:16px;font-weight:700}.pp .bp-try label output{font:700 16px/1 var(--fp)}.pp .bp-try .ctl{display:flex;flex-wrap:wrap;gap:16px 24px}.pp .bp-try .ctl>div{display:flex;flex-direction:column;gap:8px}.pp .bp-try .ctl .px{color:var(--ink2)}.pp .bp-out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line)}.pp .bp-out>div{padding:14px 16px;display:flex;flex-direction:column;gap:4px}.pp .bp-out>div + div{border-left:1px solid var(--line)}.pp .bp-out b{font:700 32px/1.1 var(--fd);letter-spacing:-.02em}.pp .bp-out span{font-size:14px;color:var(--ink2)}.pp .bp-try p{font-size:16px;line-height:1.5}.pp .bp-cta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 20px;align-items:center;padding:22px 24px;border-left:6px solid #C42B47;background:color-mix(in srgb,#C42B47 7%,var(--surface));border-radius:0 8px 8px 0}.pp .bp-cta p{font:650 20px/1.35 var(--fd);margin:0}.pp .bp-cta .btn{grid-column:1/-1;justify-self:start}.pp .bp-cta svg{width:40px;height:40px;shape-rendering:crispEdges}.pp .bp-next{list-style:none;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}.pp .bp-next li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;padding:18px 0;border-bottom:1px solid var(--line)}.pp .bp-next .stepn{grid-row:span 2}.pp .bp-next b{font:650 20px/1.3 var(--fd)}.pp .bp-next p{font-size:16px;color:var(--ink2);margin:0}.pp .bp-author{display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px 24px;padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-top:56px}.pp .bp-author .slot{width:88px;height:88px;min-height:0;padding:6px;display:grid;place-items:center;text-align:center;font-size:11px}.pp .bp-author b{font:650 22px/1.2 var(--fd)}.pp .bp-author p{font-size:16px;color:var(--ink2);margin-top:8px}.pp .bp-author .meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font:400 12px/1.4 var(--fp);color:var(--ink2)}.pp .bp-svc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.pp .bp-svc>div{padding:32px 36px;display:flex;flex-direction:column;gap:14px}.pp .bp-svc>div + div{border-left:1px solid var(--line);background:var(--bg)}.pp .bp-svc h3{font-size:30px}.pp .bp-svc p{color:var(--ink2)}.pp .bp-rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none}.pp .bp-rel a{display:flex;flex-direction:column;gap:10px;height:100%;padding:0 0 20px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.pp .bp-rel .cv{aspect-ratio:16/7;border:1px solid var(--line);position:relative;overflow:hidden;background:var(--bg)}.pp .bp-rel .cv svg{position:absolute;right:8%;top:12%;height:76%;width:auto;shape-rendering:crispEdges}.pp .bp-rel .cv::before{content:"";position:absolute;inset:0;background:var(--c);opacity:.13}.pp .bp-rel b{font:650 20px/1.25 var(--fd)}.pp .bp-rel a:hover b{text-decoration:underline}.pp .bp-rel .k{display:flex;align-items:center;gap:8px;font:400 12px/1 var(--fp);color:var(--ink2)}.pp .bp-rel .k i{width:7px;height:7px;background:var(--c)}@container pp (max-width:1000px){.pp .bp-grid{grid-template-columns:minmax(0,1fr);gap:32px}.pp .bp-toc{position:static;padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.pp .bp-head h1{font-size:46px}.pp .bp-svc{grid-template-columns:minmax(0,1fr)}.pp .bp-svc>div + div{border-left:0;border-top:1px solid var(--line)}.pp .bp-rel{grid-template-columns:repeat(2,minmax(0,1fr))}}@container pp (max-width:640px){.pp .bp-head h1{font-size:34px}.pp .bp-art{font-size:18px}.pp .bp-art h2{font-size:27px;margin-top:48px}.pp .bp-out{grid-template-columns:minmax(0,1fr)}.pp .bp-out>div + div{border-left:0;border-top:1px solid var(--line)}.pp .bp-author{grid-template-columns:minmax(0,1fr);padding:20px}.pp .bp-svc>div{padding:24px 20px}.pp .bp-rel{grid-template-columns:minmax(0,1fr)}.pp .bp-try{padding:18px}.pp .bp-key{padding:20px}.pp .bp-vis-h{padding:12px 16px}}