.llmn-blog{--bl-paper:#fbfaf7;--bl-card:#ffffff;--bl-ink:#13111c;--bl-ink-80:#2c2838;--bl-ink-60:#5b5666;--bl-ink-45:#837e90;--bl-ink-30:#b3aeba;--bl-line:rgba(19,17,28,0.09);--bl-line-soft:rgba(19,17,28,0.055);--bl-accent:#4f46e5;--bl-accent-deep:#4038c4;--bl-violet:#7c5cff;--bl-tint:#eef2ff;--bl-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--bl-sans:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--bl-ease:cubic-bezier(0.16,1,0.3,1);height:100%;overflow-y:auto;overflow-x:hidden;background:var(--bl-paper);color:var(--bl-ink);font-family:var(--bl-sans);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased}.llmn-blog ::-moz-selection{background:var(--bl-ink);color:var(--bl-paper)}.llmn-blog ::selection{background:var(--bl-ink);color:var(--bl-paper)}.llmn-blog [tabindex]:focus-visible,.llmn-blog a:focus-visible,.llmn-blog button:focus-visible{outline:2px solid var(--bl-violet);outline-offset:2px;border-radius:6px}.llmn-blog .bl-shell{width:100%;max-width:1200px;margin:0 auto;padding:0 32px}.llmn-blog .bl-mono{font-family:var(--bl-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--bl-ink-45)}.llmn-blog .bl-banner{padding-top:26px}.llmn-blog .bl-banner-frame{margin:0;background:var(--bl-card);border:1px solid var(--bl-line);border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(19,17,28,.04),0 20px 46px -24px rgba(19,17,28,.2)}.llmn-blog .bl-banner-frame img{display:block;width:100%;height:auto}.llmn-blog .bl-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:12px;font-size:15px;font-weight:550;text-decoration:none;border:1px solid transparent;transition:transform .2s var(--bl-ease),box-shadow .2s,background .2s,border-color .2s}.llmn-blog .bl-btn-primary{background:var(--bl-ink);color:#fff;box-shadow:0 6px 18px rgba(19,17,28,.16)}.llmn-blog .bl-btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(19,17,28,.2)}.llmn-blog .bl-posts{padding:84px 0 40px}.llmn-blog .bl-posts-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:34px;border-bottom:1px solid var(--bl-line)}.llmn-blog .bl-section-title{font-size:clamp(24px,3vw,34px);font-weight:640;letter-spacing:-.03em;line-height:1.2;margin:10px 0 8px}.llmn-blog .bl-section-sub{font-size:14.5px;color:var(--bl-ink-45);margin:0;max-width:44em;line-height:1.65}.llmn-blog .bl-filters{display:flex;flex-wrap:wrap;gap:8px}.llmn-blog .bl-filter{font-family:var(--bl-mono);font-size:11.5px;letter-spacing:.06em;padding:7px 13px;border-radius:999px;border:1px solid var(--bl-line);background:transparent;color:var(--bl-ink-60);cursor:pointer;transition:color .18s,background .18s,border-color .18s}.llmn-blog .bl-filter:hover{color:var(--bl-ink);border-color:rgba(19,17,28,.22)}.llmn-blog .bl-filter.is-on{background:var(--bl-ink);border-color:var(--bl-ink);color:#fff}.llmn-blog .bl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px 20px}.llmn-blog .bl-empty{padding:60px 0;text-align:center;color:var(--bl-ink-45);font-size:14.5px}.llmn-blog .bl-card{display:flex;flex-direction:column;background:var(--bl-card);border:1px solid var(--bl-line);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .3s var(--bl-ease),box-shadow .3s,border-color .3s}.llmn-blog .bl-card:hover{transform:translateY(-4px);border-color:rgba(79,70,229,.3);box-shadow:0 18px 40px rgba(19,17,28,.1)}.llmn-blog .bl-card-cover{position:relative;aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid var(--bl-line-soft);background:#f2f3f9}.llmn-blog .bl-card-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .5s var(--bl-ease)}.llmn-blog .bl-card:hover .bl-card-cover img{transform:scale(1.035)}.llmn-blog .bl-card-tag{position:absolute;top:10px;left:10px;font-family:var(--bl-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);color:var(--bl-ink-80);box-shadow:0 2px 8px rgba(19,17,28,.08)}.llmn-blog .bl-card-body{display:flex;flex-direction:column;flex:1;gap:8px;padding:15px 16px 17px}.llmn-blog .bl-card-meta{display:flex;align-items:center;gap:8px}.llmn-blog .bl-card-dot{width:3px;height:3px;border-radius:50%;background:var(--bl-ink-30)}.llmn-blog .bl-card-title{font-size:15.5px;line-height:1.4;font-weight:620;letter-spacing:-.02em;margin:0;text-wrap:pretty}.llmn-blog .bl-card-excerpt{font-size:13px;line-height:1.62;color:var(--bl-ink-45);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.llmn-blog .bl-card-foot{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:4px;font-size:12.5px;font-weight:550;color:var(--bl-accent)}.llmn-blog .bl-card-foot svg{transition:transform .24s var(--bl-ease)}.llmn-blog .bl-card:hover .bl-card-foot svg{transform:translateX(4px)}.llmn-blog .bl-progress{position:sticky;top:60px;z-index:39;height:2px;background:transparent}.llmn-blog .bl-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--bl-violet),var(--bl-accent));transform-origin:left center}.llmn-blog .bl-article{padding:52px 0 96px}.llmn-blog .bl-back{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:500;color:var(--bl-ink-45);text-decoration:none;margin-bottom:26px;transition:color .18s}.llmn-blog .bl-back:hover{color:var(--bl-ink)}.llmn-blog .bl-article-head{max-width:760px;margin-bottom:44px}.llmn-blog .bl-article-title{font-size:clamp(28px,3.8vw,44px);line-height:1.2;letter-spacing:-.035em;font-weight:650;margin:0 0 26px;text-wrap:pretty}.llmn-blog .bl-article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:20px;border-top:1px solid var(--bl-line)}.llmn-blog .bl-chip{font-family:var(--bl-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--bl-tint);color:var(--bl-accent-deep)}.llmn-blog .bl-prose{max-width:720px;font-size:16.5px;line-height:1.86;color:var(--bl-ink-80)}.llmn-blog .bl-prose>*+*{margin-top:20px}.llmn-blog .bl-prose h2{position:relative;font-size:23px;line-height:1.4;font-weight:620;letter-spacing:-.025em;color:var(--bl-ink);margin:48px 0 0;padding-left:16px}.llmn-blog .bl-prose h2:before{content:"";position:absolute;left:0;top:.28em;bottom:.28em;width:3px;border-radius:3px;background:var(--bl-violet);opacity:.85}.llmn-blog .bl-prose h3{font-size:18px;font-weight:620;color:var(--bl-ink);margin:34px 0 0}.llmn-blog .bl-prose :is(h2,h3){scroll-margin-top:76px}.bl-prose p{margin:0}.llmn-blog .bl-prose strong{font-weight:620;color:var(--bl-ink)}.llmn-blog .bl-prose a{color:var(--bl-accent);text-decoration:underline;text-decoration-color:rgba(79,70,229,.35);text-underline-offset:3px}.llmn-blog .bl-prose a:hover{text-decoration-color:var(--bl-accent)}.llmn-blog .bl-prose ol,.llmn-blog .bl-prose ul{padding-left:22px;margin:0;list-style:revert}.llmn-blog .bl-prose li{margin-top:9px}.llmn-blog .bl-prose li::marker{color:var(--bl-violet)}.llmn-blog .bl-prose blockquote{margin:26px 0 0;padding:16px 22px;border-left:3px solid var(--bl-violet);border-radius:0 12px 12px 0;background:linear-gradient(90deg,rgba(122,95,190,.09),rgba(122,95,190,.02));color:var(--bl-ink-80);font-size:16.5px}.llmn-blog .bl-prose blockquote p{margin:0}.llmn-blog .bl-prose code{font-family:var(--bl-mono);font-size:.86em;padding:2px 6px;border-radius:6px;background:rgba(19,17,28,.055);color:var(--bl-accent-deep)}.llmn-blog .bl-prose pre{margin:26px 0 0;padding:12px 14px;border-radius:8px;background:#f8fafc;color:#0f172a;border:1px solid #e6eaf1;overflow-x:auto;font-size:14px;line-height:1.65}.llmn-blog .bl-prose pre code{padding:0;border-radius:0;background:none;color:inherit;font-size:.92em;white-space:pre}.llmn-blog .bl-prose table{width:100%;border-collapse:collapse;font-size:14.5px;margin:26px 0 0}.llmn-blog .bl-prose td,.llmn-blog .bl-prose th{text-align:left;padding:11px 14px;border-bottom:1px solid var(--bl-line)}.llmn-blog .bl-prose th{font-family:var(--bl-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--bl-ink-45);border-bottom-color:rgba(19,17,28,.16)}.llmn-blog .bl-prose figure{margin:32px 0 0}.llmn-blog .bl-prose figure img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--bl-line);background:#fff}.llmn-blog .bl-prose figcaption{margin-top:10px;font-size:13px;line-height:1.6;text-align:center;color:var(--bl-ink-45)}.llmn-blog .bl-prose li img,.llmn-blog .bl-prose p img{display:inline-block;max-width:100%;height:auto;vertical-align:middle;border-radius:8px}.llmn-blog .bl-prose img[src*=icons8-]{display:inline-block;width:16px;height:16px;vertical-align:-2px;border-radius:0}.llmn-blog .bl-more{margin-top:88px;padding-top:34px;border-top:1px solid var(--bl-line)}.llmn-blog .bl-more-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px 20px;margin-top:26px}.llmn-blog .bl-cta{margin-top:72px;padding:44px 48px;border-radius:22px;border:1px solid var(--bl-line);background:radial-gradient(120% 160% at 100% 0,rgba(122,95,190,.14),transparent 60%),var(--bl-card);display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}.llmn-blog .bl-cta-title{font-size:clamp(20px,2.4vw,26px);font-weight:640;letter-spacing:-.03em;margin:0 0 8px}.llmn-blog .bl-cta-text{font-size:14.5px;line-height:1.7;color:var(--bl-ink-60);margin:0;max-width:40em}.llmn-blog .bl-foot{border-top:1px solid var(--bl-line);background:#f7f6f2}.llmn-blog .bl-foot-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;flex-wrap:wrap;padding:44px 0 40px}.llmn-blog .bl-foot-brand{display:flex;flex-direction:column;gap:10px;max-width:26em}.llmn-blog .bl-foot-tagline{font-size:13.5px;line-height:1.7;color:var(--bl-ink-45);margin:0}.llmn-blog .bl-foot-cols{display:flex;gap:64px;flex-wrap:wrap}.llmn-blog .bl-foot-col h4{font-family:var(--bl-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bl-ink-45);font-weight:500;margin:0 0 14px}.llmn-blog .bl-foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.llmn-blog .bl-foot-col a{font-size:14px;color:var(--bl-ink-60);text-decoration:none;transition:color .18s}.llmn-blog .bl-foot-col a:hover{color:var(--bl-ink)}.llmn-blog .bl-foot-base{padding:18px 0 30px;border-top:1px solid var(--bl-line-soft);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.llmn-blog .bl-foot-base a{font-size:13px;color:var(--bl-ink-45);text-decoration:none}.llmn-blog .bl-foot-base a:hover{color:var(--bl-ink)}.llmn-blog .bl-rise{opacity:0;transform:translateY(18px);transition:opacity .5s var(--bl-ease),transform .5s var(--bl-ease)}.llmn-blog .bl-rise.is-in{opacity:1;transform:none}.llmn-blog .bl-rise-2{transition-delay:.07s}.llmn-blog .bl-rise-3{transition-delay:.14s}.llmn-blog .bl-rise-4{transition-delay:.21s}.llmn-blog .bl-rise-5{transition-delay:.28s}@media (scripting:none){.llmn-blog .bl-rise{opacity:1!important;transform:none!important}}@media (prefers-reduced-motion:reduce){.llmn-blog .bl-rise{opacity:1;transform:none;transition:none}.llmn-blog .bl-btn,.llmn-blog .bl-card{transition:none}.llmn-blog .bl-btn:hover,.llmn-blog .bl-card:hover,.llmn-blog .bl-card:hover .bl-card-cover img{transform:none}}@media (max-width:760px){.llmn-blog .bl-shell{padding:0 20px}.llmn-blog .bl-banner{padding-top:18px}.llmn-blog .bl-banner-frame{border-radius:14px}.llmn-blog .bl-posts{padding-top:56px}.llmn-blog .bl-posts-head{gap:18px}.llmn-blog .bl-grid,.llmn-blog .bl-more-grid{gap:18px 16px}.llmn-blog .bl-article{padding-top:32px}.llmn-blog .bl-article-head{margin-bottom:32px}.llmn-blog .bl-prose{font-size:16px}.llmn-blog .bl-cta{padding:30px 24px}.llmn-blog .bl-foot-cols{gap:40px}}@media (max-width:380px){.llmn-blog .bl-shell{padding:0 16px}}.llmn-blog .bl-log{margin-top:4px}.llmn-blog .bl-log-entry{display:grid;grid-template-columns:minmax(0,1fr);row-gap:14px;padding:44px 0 42px;border-top:1px solid var(--bl-line)}.llmn-blog .bl-log-entry:first-child{padding-top:6px;border-top:0}.llmn-blog .bl-log-meta{display:flex;align-items:center;gap:12px}.llmn-blog .bl-log-date{font-size:12.5px;color:var(--bl-ink-45)}.llmn-blog .bl-log-version{display:inline-flex;align-items:center;padding:4px 11px;border:1px solid var(--bl-line);border-radius:999px;background:var(--bl-card);font-family:var(--bl-mono);font-size:12px;font-weight:550;color:var(--bl-ink-80)}.llmn-blog .bl-log-theme{font-size:clamp(20px,2.4vw,26px);line-height:1.3;letter-spacing:-.02em;font-weight:620;margin:0 0 20px}.llmn-blog .bl-log-group+.bl-log-group{margin-top:22px}.llmn-blog .bl-log-label{font-size:13px;font-weight:600;letter-spacing:.02em;margin:0 0 10px}.llmn-blog .bl-log-list{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}.llmn-blog .bl-log-list li{position:relative;padding-left:20px;font-size:15.5px;line-height:1.7;color:var(--bl-ink-60)}.llmn-blog .bl-log-list li:before{content:"";position:absolute;left:2px;top:.72em;width:10px;height:1.5px;border-radius:1px;background:var(--bl-ink);opacity:.28}.llmn-blog .bl-log-entry:target .bl-log-version{border-color:rgba(79,70,229,.45);color:var(--bl-accent)}@media (min-width:1024px){.llmn-blog .bl-log-entry{grid-template-columns:172px minmax(0,1fr);-moz-column-gap:64px;column-gap:64px;row-gap:0;align-items:start}.llmn-blog .bl-log-body{max-width:760px}.llmn-blog .bl-log-meta{flex-direction:column;align-items:flex-start;gap:8px;position:sticky;top:76px}.llmn-blog .bl-log-date{font-size:13.5px;color:var(--bl-ink-80)}}@media (max-width:760px){.llmn-blog .bl-log-entry{padding:34px 0 32px}.llmn-blog .bl-log-theme{font-size:19px;margin-bottom:16px}.llmn-blog .bl-log-list li{font-size:15px}}