.blog-article-wrap[data-v-23280e4e]{max-width:100%;position:relative}.progress-bar[data-v-23280e4e]{background:var(--fallback-p,oklch(var(--p)));height:2px;left:0;pointer-events:none;position:fixed;top:var(--header-height,3rem);transition:width .1s linear;z-index:50}.article-page[data-v-23280e4e]{margin:0 auto;max-width:960px;padding:2rem 0 4rem;width:100%}.breadcrumb[data-v-23280e4e]{align-items:center;color:rgba(var(--rgb-bc),.5);display:flex;flex-wrap:wrap;font-size:.82rem;gap:6px;margin-bottom:2rem}.breadcrumb a[data-v-23280e4e]{color:rgba(var(--rgb-bc),.6);transition:color .15s ease}.breadcrumb a[data-v-23280e4e]:hover{color:var(--fallback-p,oklch(var(--p)))}.breadcrumb .current[data-v-23280e4e]{color:rgba(var(--rgb-bc),.75)}.article-title[data-v-23280e4e]{color:var(--fallback-bc,oklch(var(--bc)));font-size:clamp(1.6rem,4vw,2.2rem);font-weight:900;line-height:1.35;margin-bottom:.75rem}.article-summary[data-v-23280e4e]{border-left:3px solid rgba(var(--rgb-p),.2);color:rgba(var(--rgb-bc),.7);font-size:1rem;line-height:1.8;margin-bottom:1.25rem;padding-left:1rem}.article-meta[data-v-23280e4e]{border-bottom:1px solid rgba(var(--rgb-bc),.08);border-top:1px solid rgba(var(--rgb-bc),.08);color:rgba(var(--rgb-bc),.55);flex-wrap:wrap;font-size:.82rem;gap:1rem;margin-bottom:2rem;padding:.75rem 0}.article-meta[data-v-23280e4e],.meta-author[data-v-23280e4e]{align-items:center;display:flex}.meta-author[data-v-23280e4e]{gap:8px}.meta-avatar[data-v-23280e4e]{align-items:center;background:var(--fallback-p,oklch(var(--p)));border-radius:50%;color:var(--fallback-pc,oklch(var(--pc)));display:flex;flex-shrink:0;font-size:.82rem;font-weight:800;height:32px;justify-content:center;overflow:hidden;text-transform:uppercase;width:32px}.meta-avatar-img[data-v-23280e4e]{background:#fff;height:100%;-o-object-fit:contain;object-fit:contain;padding:3px;width:100%}.meta-name[data-v-23280e4e]{color:var(--fallback-bc,oklch(var(--bc)));font-size:.88rem;font-weight:800;line-height:1.2}.article-cover[data-v-23280e4e]{border:1px solid rgba(var(--rgb-bc),.08);border-radius:12px;margin:0 0 2rem;overflow:hidden}.article-cover img[data-v-23280e4e]{display:block;height:auto;width:100%}.prose[data-v-23280e4e]{color:rgba(var(--rgb-bc),.82);font-size:1rem;line-height:1.85;max-width:none}.prose[data-v-23280e4e] h1,.prose[data-v-23280e4e] h2{border-bottom:1px solid rgba(var(--rgb-bc),.08);color:var(--fallback-bc,oklch(var(--bc)));font-size:1.4rem;font-weight:900;line-height:1.4;margin:2.5rem 0 .75rem;padding-bottom:.4rem}.prose[data-v-23280e4e] h3{color:var(--fallback-bc,oklch(var(--bc)));font-size:1.15rem;font-weight:800;line-height:1.45;margin:1.75rem 0 .5rem}.prose[data-v-23280e4e] h4{color:var(--fallback-bc,oklch(var(--bc)));font-size:1rem;font-weight:800;margin:1.5rem 0 .4rem}.prose[data-v-23280e4e] p{margin-bottom:1rem}.prose[data-v-23280e4e] strong{color:var(--fallback-bc,oklch(var(--bc)));font-weight:700}.prose[data-v-23280e4e] em{font-style:italic}.prose[data-v-23280e4e] a{color:var(--fallback-p,oklch(var(--p)));font-weight:700;text-decoration:underline;text-decoration-color:rgba(var(--rgb-p),.3);text-underline-offset:2px;transition:text-decoration-color .15s ease}.prose[data-v-23280e4e] a:hover{text-decoration-color:var(--fallback-p,oklch(var(--p)))}.prose[data-v-23280e4e] ol,.prose[data-v-23280e4e] ul{margin:.75rem 0 1.25rem;padding-left:1.5rem}.prose[data-v-23280e4e] li{margin-bottom:.4rem}.prose[data-v-23280e4e] li::marker{color:var(--fallback-p,oklch(var(--p)))}.prose[data-v-23280e4e] blockquote{background:rgba(var(--rgb-p),.06);border-left:3px solid var(--fallback-p,oklch(var(--p)));border-radius:0 12px 12px 0;color:rgba(var(--rgb-bc),.75);font-style:italic;margin:1.25rem 0;padding:1rem 1.25rem}.prose[data-v-23280e4e] code{background:var(--fallback-b2,oklch(var(--b2)));border-radius:4px;color:var(--fallback-p,oklch(var(--p)));font-family:JetBrains Mono,ui-monospace,monospace;font-size:.88em;padding:1px 6px}.prose[data-v-23280e4e] pre{background:var(--fallback-b2,oklch(var(--b2)));border:1px solid rgba(var(--rgb-bc),.08);border-radius:10px;font-size:.88rem;line-height:1.6;margin:1.25rem 0;overflow-x:auto;padding:1rem 1.25rem}.prose[data-v-23280e4e] pre code{background:transparent;color:var(--fallback-bc,oklch(var(--bc)));font-size:inherit;padding:0}.prose[data-v-23280e4e] img{border-radius:10px;margin:1.5rem auto}.prose[data-v-23280e4e] hr{border:none;border-top:1px solid rgba(var(--rgb-bc),.1);margin:2rem 0}.prose[data-v-23280e4e] table{border-collapse:collapse;font-size:.92rem;margin:1.25rem 0;width:100%}.prose[data-v-23280e4e] td,.prose[data-v-23280e4e] th{border:1px solid rgba(var(--rgb-bc),.12);padding:.6rem .8rem;text-align:left}.prose[data-v-23280e4e] th{background:var(--fallback-b2,oklch(var(--b2)));font-weight:700}.prose[data-v-23280e4e] .tip{background:var(--fallback-b2,oklch(var(--b2)));border-left:3px solid rgba(var(--rgb-bc),.35);border-radius:0 12px 12px 0;margin:1.25rem 0;padding:1rem 1.25rem}.prose[data-v-23280e4e] .tip>p:last-child{margin-bottom:0}.prose[data-v-23280e4e] .tip-label{color:var(--fallback-bc,oklch(var(--bc)));font-size:.82rem;font-weight:800;line-height:1.4;margin-bottom:.4rem}.prose[data-v-23280e4e] .tip.tip-warning{background:rgba(var(--rgb-wa),.1);border-left-color:var(--fallback-wa,oklch(var(--wa)))}.prose[data-v-23280e4e] .example{background:var(--fallback-b2,oklch(var(--b2)));border:1px solid rgba(var(--rgb-bc),.08);border-radius:12px;margin:1.25rem 0;padding:1.25rem}.prose[data-v-23280e4e] .example>p:last-child{margin-bottom:0}.prose[data-v-23280e4e] .example-label{color:var(--fallback-p,oklch(var(--p)));font-size:.82rem;font-weight:800;line-height:1.4;margin-bottom:.5rem}.prose[data-v-23280e4e] .example .en{color:var(--fallback-bc,oklch(var(--bc)));font-style:italic;line-height:1.7;margin-bottom:.5rem}.prose[data-v-23280e4e] .example .cn{color:rgba(var(--rgb-bc),.6);font-size:.85rem}.prose[data-v-23280e4e] .table-wrap{border-radius:10px;margin:1.25rem 0;overflow-x:auto}.prose[data-v-23280e4e] .table-wrap table{margin:0;min-width:100%}.course-cta[data-v-23280e4e]{margin:2.5rem 0 2rem}.course-cta-kicker[data-v-23280e4e]{align-items:center;color:rgba(var(--rgb-bc),.65);display:inline-flex;font-size:.88rem;font-weight:800;gap:8px;letter-spacing:.02em;margin-bottom:.85rem;padding-left:2px}.kicker-dot[data-v-23280e4e]{background:var(--fallback-p,oklch(var(--p)));border-radius:50%;box-shadow:0 0 0 3px rgba(var(--rgb-p),.15);height:8px;width:8px}.course-cta-card[data-v-23280e4e]{align-items:center;background:var(--fallback-b1,oklch(var(--b1)));border:2px solid var(--fallback-bc,oklch(var(--bc)));border-radius:12px;box-shadow:4px 4px 0 0 var(--fallback-bc,oklch(var(--bc)));color:inherit;display:grid;gap:1.25rem;grid-template-columns:120px 1fr auto;padding:1.15rem;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.course-cta-card[data-v-23280e4e]:hover{box-shadow:6px 6px 0 0 var(--fallback-bc,oklch(var(--bc)));transform:translate(-2px,-2px)}.course-cta-cover[data-v-23280e4e]{align-items:center;background:var(--fallback-b2,oklch(var(--b2)));border:1.5px solid rgba(var(--rgb-bc),.12);border-radius:8px;display:flex;height:160px;justify-content:center;overflow:hidden;position:relative;width:120px}.course-cta-cover img[data-v-23280e4e]{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.course-cta-info[data-v-23280e4e]{display:flex;flex-direction:column;gap:6px;justify-content:center;min-width:0}.course-cta-labels[data-v-23280e4e]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2px}.cta-badge[data-v-23280e4e]{align-items:center;border-radius:4px;display:inline-flex;font-size:.7rem;font-weight:800;letter-spacing:.03em;line-height:1.4;padding:2px 8px}.cta-badge-pro[data-v-23280e4e]{background:#c9a86c;color:#fff}.cta-badge-free[data-v-23280e4e]{background:#7b9e87;color:#fff}.cta-badge-outline[data-v-23280e4e]{background:transparent;border:1.5px solid var(--fallback-p,oklch(var(--p)));color:var(--fallback-p,oklch(var(--p)))}.course-cta-title[data-v-23280e4e]{color:var(--fallback-bc,oklch(var(--bc)));font-size:1.1rem;font-weight:800;line-height:1.35;margin:0}.course-cta-card:hover .course-cta-title[data-v-23280e4e]{color:var(--fallback-p,oklch(var(--p)))}.course-cta-desc[data-v-23280e4e]{color:rgba(var(--rgb-bc),.55);display:-webkit-box;font-size:.85rem;-webkit-line-clamp:2;line-height:1.55;margin:0;-webkit-box-orient:vertical;overflow:hidden}.course-cta-stats[data-v-23280e4e]{align-items:center;color:rgba(var(--rgb-bc),.55);display:flex;flex-wrap:wrap;font-size:.78rem;gap:10px;margin-top:4px}.course-cta-stats span+span[data-v-23280e4e]:before{color:rgba(var(--rgb-bc),.4);content:"·";margin-right:10px}.course-cta-action[data-v-23280e4e]{align-items:center;display:flex;justify-content:center;min-width:120px}.course-cta-action .btn-primary[data-v-23280e4e]{background:var(--fallback-p,oklch(var(--p)));border-radius:6px;color:var(--fallback-pc,oklch(var(--pc)));font-size:.9rem;font-weight:800;padding:10px 18px;transition:background .15s ease;white-space:nowrap}.course-cta-card:hover .btn-primary[data-v-23280e4e]{background:rgba(var(--rgb-p),.88)}@media(max-width:720px){.course-cta-card[data-v-23280e4e]{gap:.75rem;grid-template-columns:100px 1fr;padding:1rem}.course-cta-cover[data-v-23280e4e]{height:134px;width:100px}.course-cta-action[data-v-23280e4e]{grid-column:1/-1;width:100%}.course-cta-action .btn-primary[data-v-23280e4e]{display:block;text-align:center;width:100%}}.article-tags[data-v-23280e4e]{display:flex;flex-wrap:wrap;gap:6px;margin:2rem 0 1.5rem}.tag[data-v-23280e4e]{background:var(--fallback-b2,oklch(var(--b2)));border-radius:4px;color:rgba(var(--rgb-bc),.7);font-size:.78rem;font-weight:700;padding:3px 12px;transition:color .15s ease}.tag[data-v-23280e4e]:hover{color:var(--fallback-p,oklch(var(--p)))}.author-box[data-v-23280e4e]{align-items:flex-start;background:var(--fallback-b2,oklch(var(--b2)));border-radius:12px;display:flex;gap:1rem;margin:1.5rem 0;padding:1.25rem}.author-box-avatar[data-v-23280e4e]{align-items:center;background:var(--fallback-p,oklch(var(--p)));border-radius:50%;color:var(--fallback-pc,oklch(var(--pc)));display:flex;flex-shrink:0;font-size:1.1rem;font-weight:900;height:44px;justify-content:center;overflow:hidden;text-transform:uppercase;width:44px}.author-box-avatar-img[data-v-23280e4e]{background:#fff;height:100%;-o-object-fit:contain;object-fit:contain;padding:4px;width:100%}.author-box-name[data-v-23280e4e]{color:var(--fallback-bc,oklch(var(--bc)));font-weight:800;margin-bottom:2px}.author-box-bio[data-v-23280e4e]{color:rgba(var(--rgb-bc),.55);font-size:.85rem;line-height:1.6}.back-link[data-v-23280e4e]{margin:2rem 0 0;text-align:center}.back-link a[data-v-23280e4e]{color:var(--fallback-p,oklch(var(--p)));font-size:.88rem;font-weight:700;transition:opacity .15s ease}.back-link a[data-v-23280e4e]:hover{opacity:.8;text-decoration:underline}@media(max-width:640px){.article-page[data-v-23280e4e]{padding:1rem 0 3rem}.article-title[data-v-23280e4e]{font-size:1.5rem}.article-meta[data-v-23280e4e]{font-size:.78rem;gap:.75rem}.prose[data-v-23280e4e]{font-size:.95rem}.prose[data-v-23280e4e] h2{font-size:1.25rem}.prose[data-v-23280e4e] h3{font-size:1.05rem}}
