body.blogpostv1{--bp1-bg-body:#f6f8fb;--bp1-surface:#ffffff;--bp1-text:#1c2430;--bp1-text-soft:#47536a;--bp1-head:#0b1220;--bp1-link:#1f4fc4;--bp1-primary-btn:#2456d8;--bp1-line:#dbe3ef;--bp1-code-bg:#eef1f6;--bp1-quote-bg:#eef2fa;--bp1-radius:12px;--bp1-font:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;background:var(--bp1-bg-body);font-family:var(--bp1-font);color:var(--bp1-text)}body.blogpostv1 .main{max-width:none;padding:0!important}.bp1-container{max-width:760px;margin:0 auto;padding:40px 24px 72px}.bp1-devnot{background:#fff7e8;border:1px solid #ecd9a8;border-radius:10px;color:#7a5c1e;font-size:13px;line-height:1.7;padding:10px 14px;margin:0 auto 28px;max-width:760px}@media(max-width:820px){.bp1-devnot{margin:0 16px 28px}}.bp1-back{margin-bottom:22px}.bp1-back a{color:var(--bp1-link);text-decoration:none;font-size:14px;font-weight:600}.bp1-back a:hover{text-decoration:underline}.bp1-title{color:var(--bp1-head);font-size:clamp(26px,4.2vw,36px);line-height:1.35;font-weight:700;margin:0 0 14px;letter-spacing:-.01em;overflow-wrap:break-word;word-break:break-word}.bp1-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 26px;color:var(--bp1-text-soft);font-size:14px}.bp1-meta time{color:var(--bp1-text-soft)}.bp1-cats{display:inline-flex;flex-wrap:wrap;gap:8px}.bp1-cats a{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--bp1-surface);border:1px solid var(--bp1-line);color:var(--bp1-link);font-size:12px;text-decoration:none}.bp1-cats a:hover{border-color:var(--bp1-link)}body.blogpostv1 .toc{background:var(--bp1-surface);border:1px solid var(--bp1-line);border-radius:var(--bp1-radius);color:var(--bp1-text);margin:0 0 30px;padding:6px 16px}body.blogpostv1 .toc summary{color:var(--bp1-text);font-size:15px;font-weight:600;cursor:pointer;padding:8px 0}body.blogpostv1 .toc summary::-webkit-details-marker{color:var(--bp1-text-soft)}body.blogpostv1 .toc .inner{padding:4px 0 10px}body.blogpostv1 .toc ul{list-style:none;margin:0;padding-left:18px}body.blogpostv1 .toc a{color:var(--bp1-link);text-decoration:none;font-size:14px;line-height:1.9}body.blogpostv1 .toc a:hover{text-decoration:underline}body.blogpostv1 .bp1-content{color:var(--bp1-text);font-size:16px;line-height:1.85}body.blogpostv1 .bp1-content [id]{scroll-margin-top:calc(var(--nav-height,72px) + 14px)}body.blogpostv1 .bp1-content h1,body.blogpostv1 .bp1-content h2,body.blogpostv1 .bp1-content h3,body.blogpostv1 .bp1-content h4,body.blogpostv1 .bp1-content h5,body.blogpostv1 .bp1-content h6{color:var(--bp1-head);font-weight:700;line-height:1.4;margin:1.7em 0 .7em}body.blogpostv1 .bp1-content h1{font-size:1.7em}body.blogpostv1 .bp1-content h2{font-size:1.45em}body.blogpostv1 .bp1-content h3{font-size:1.22em}body.blogpostv1 .bp1-content h4{font-size:1.08em}body.blogpostv1 .bp1-content h5,body.blogpostv1 .bp1-content h6{font-size:1em}body.blogpostv1 .bp1-content p{margin:0 0 1.15em;color:var(--bp1-text)}body.blogpostv1 .bp1-content strong{color:var(--bp1-head);font-weight:700}body.blogpostv1 .bp1-content ul,body.blogpostv1 .bp1-content ol{margin:0 0 1.15em;padding-left:1.6em;color:var(--bp1-text)}body.blogpostv1 .bp1-content li{margin-bottom:.45em;line-height:1.85}body.blogpostv1 .bp1-content li>ul,body.blogpostv1 .bp1-content li>ol{margin-top:.4em;margin-bottom:0}body.blogpostv1 .bp1-content a{color:var(--bp1-link);text-decoration:underline;text-underline-offset:2px}body.blogpostv1 .bp1-content a:hover{color:var(--bp1-head)}body.blogpostv1 .bp1-content blockquote{margin:0 0 1.15em;padding:12px 16px;border-left:3px solid var(--bp1-primary-btn);background:var(--bp1-quote-bg);border-radius:0 8px 8px 0;color:var(--bp1-text)}body.blogpostv1 .bp1-content blockquote p{margin:0}body.blogpostv1 .bp1-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:var(--bp1-code-bg);border-radius:4px;padding:2px 6px;color:#33415c}body.blogpostv1 .bp1-content pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:#10161f;border-radius:var(--bp1-radius);padding:16px;margin:0 0 1.15em;line-height:1.6}body.blogpostv1 .bp1-content pre code{background:0 0;padding:0;color:#e8edf4;font-size:14px}body.blogpostv1 .bp1-content table{display:block;max-width:100%;width:max-content;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;margin:0 0 1.15em;font-size:15px;line-height:1.6}body.blogpostv1 .bp1-content th,body.blogpostv1 .bp1-content td{border:1px solid var(--bp1-line);padding:9px 12px;text-align:left;vertical-align:top}body.blogpostv1 .bp1-content th{background:#eef3ff;color:var(--bp1-head);font-weight:600}body.blogpostv1 .bp1-content .bp1-table-hint{display:none;margin:0 0 .6em;font-size:13px;color:var(--bp1-text-soft)}@media(max-width:540px){body.blogpostv1 .bp1-content th,body.blogpostv1 .bp1-content td{padding:8px 5px}}@media(max-width:375px){body.blogpostv1 .bp1-content .bp1-table-hint{display:block}}body.blogpostv1 .bp1-content img{max-width:100%;height:auto;border-radius:8px}body.blogpostv1 .bp1-content figure{margin:0 0 1.15em}body.blogpostv1 .bp1-content figcaption{color:var(--bp1-text-soft);font-size:13px;text-align:center;margin-top:8px}body.blogpostv1 .bp1-content hr{border:none;border-top:1px solid var(--bp1-line);margin:1.6em 0}.bp1-end{margin-top:44px;padding-top:30px;border-top:1px solid var(--bp1-line)}.bp1-end-links{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px}body.blogpostv1 .paginav{background:0 0;border:none;padding:0;border-radius:0}body.blogpostv1 .paginav a{background:var(--bp1-surface);border:1px solid var(--bp1-line);border-radius:var(--bp1-radius);color:var(--bp1-text);padding:14px 16px}body.blogpostv1 .paginav a:hover{border-color:var(--bp1-link)}body.blogpostv1 .paginav .title{color:var(--bp1-text-soft);font-size:13px}body.blogpostv1 .paginav a:hover .title{color:var(--bp1-link)}body.blogpostv1 .bp1 a:focus-visible,body.blogpostv1 .bp1 .toc a:focus-visible,body.blogpostv1 .bp1 .toc summary:focus-visible,body.blogpostv1 .bp1 .paginav a:focus-visible{outline:2px solid var(--bp1-primary-btn);outline-offset:2px;border-radius:6px}@media(max-width:820px){.bp1-container{padding:28px 20px 56px}}@media(max-width:480px){.bp1-container{padding:22px 16px 48px}body.blogpostv1 .bp1-content{font-size:15.5px}.bp1-end-links .homev1-btn{width:100%}}@media(prefers-reduced-motion:reduce){body.blogpostv1 .bp1-content [id]{scroll-behavior:auto}}