:root{--promo-row-h:3.5rem}@media (max-width:640px){:root{--promo-row-h:2.75rem}}.my-custom-banner{display:flex;box-sizing:border-box;max-width:90rem;height:var(--promo-row-h);margin:0 auto;padding:0 calc(1.5rem - 6px);color:#fff;text-align:center}.nx-w-full>p:first-of-type,.nx-w-full>ul:first-of-type{margin-top:.15rem}img[alt="LangChain AI 学习社群"],img[alt="LangChain AI课程"],img[alt=LangChain\4E2D\6587\7F51]{width:100%;margin-bottom:-1.25rem}.promo-top-link{color:inherit;text-decoration:none}.promo-top-link:hover{text-decoration:underline}.promo-cell{display:block;flex:1 1;min-width:0;padding:4px 6px;color:inherit;text-decoration:none}.promo-cell,.promo-cell__inner{height:100%;box-sizing:border-box}.promo-cell__inner{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:0 clamp(8px,1.4vw,18px);overflow:hidden;border:1px solid rgba(15,23,42,.08);border-radius:10px;background:linear-gradient(135deg,#eef4ff,#dbe8ff);color:#0f172a;text-align:left;transition:box-shadow .15s ease}.promo-cell--dshx .promo-cell__inner{background:linear-gradient(135deg,#eef2ff,#e0f2fe)}.promo-cell:hover .promo-cell__inner{box-shadow:0 2px 10px rgba(37,99,235,.25)}.promo-cell__head{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.promo-cell__title{font-size:clamp(13px,1.3vw,16px);font-weight:700;line-height:1.2}.promo-cell__cta{color:#2563eb;font-size:12px;font-weight:600}.promo-cell__desc{overflow:hidden;font-size:clamp(10px,.9vw,12px);line-height:1.25;opacity:.8;text-overflow:ellipsis;white-space:nowrap}.promo-short{display:none}.promo-cell--img img{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}html.dark .promo-cell__inner{border-color:hsla(0,0%,100%,.12);background:linear-gradient(135deg,#1e293b,#0f172a);color:#e2e8f0}html.dark .promo-cell__cta{color:#93c5fd}@media (max-width:960px){.promo-long{display:none}.promo-short{display:inline}}@media (max-width:640px){.promo-cell{padding:2px 3px}.promo-cell__inner{padding:0 6px;border-radius:8px;gap:0}.promo-cell__title{font-size:12px}.promo-cell__desc{font-size:10px}.promo-cell__cta{display:none}.promo-cell--img img{border-radius:8px}}.promo-toc{width:100%;margin-bottom:8px;overflow:hidden;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#fff;font-size:12px}.promo-toc__body{display:flex;flex-direction:column;gap:6px;padding:8px 10px 10px}.promo-toc__title{display:flex;align-items:baseline;gap:6px;font-size:13px;font-weight:700}.promo-toc__brand{color:#2563eb;font-size:15px;text-decoration:none}html.dark .promo-toc__brand{color:#93c5fd}.promo-toc__sub{margin:0;line-height:1.4;opacity:.75}.promo-toc__actions{display:flex;flex-wrap:wrap;gap:6px}.promo-btn{display:inline-block;padding:3px 10px;border:1px solid rgba(37,99,235,.5);border-radius:6px;color:#1d4ed8;font-size:12px;text-decoration:none}.promo-btn:hover{background:rgba(37,99,235,.08)}.promo-btn--primary{border-color:#2563eb;background:#2563eb;color:#fff}.promo-btn--primary:hover{background:#1d4ed8}html.dark .promo-toc{border-color:hsla(0,0%,100%,.12);background:#111827}html.dark .promo-btn{border-color:rgba(147,197,253,.5);color:#bfdbfe}html.dark .promo-btn--primary{border-color:#2563eb;color:#fff}.promo-btm{display:flex;flex-direction:column;gap:12px;margin-top:2.5rem}.promo-btm__banner{display:block;aspect-ratio:1801/742;overflow:hidden;border:1px solid rgba(15,23,42,.08);border-radius:12px}.promo-btm__banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.promo-btm__dshx{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;border:1px solid rgba(15,23,42,.08);border-radius:10px;background:#f8fafc;font-size:14px}.promo-btm__dshx-text{flex:1 1 14rem}.promo-btm__link{color:#2563eb;font-weight:600;text-decoration:none}.promo-btm__link:hover{text-decoration:underline}html.dark .promo-btm__banner,html.dark .promo-btm__dshx{border-color:hsla(0,0%,100%,.12)}html.dark .promo-btm__dshx{background:#111827}html.dark .promo-btm__link{color:#93c5fd}.content-status{display:flex;gap:.75rem;align-items:baseline;margin:0 0 1.5rem;padding:.75rem 1rem;border-left:4px solid #2563eb;background:#eff6ff;color:#1e3a8a;font-size:.875rem;line-height:1.5}.content-status strong{flex:0 0 auto}.content-status a{color:#1d4ed8;font-weight:600}.content-status--legacy{border-left-color:#b45309;background:#fffbeb;color:#78350f}html.dark .content-status--preview{background:#172554;color:#dbeafe}html.dark .content-status--legacy{background:#451a03;color:#fef3c7}.footer-qr{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.footer-qr figure{margin:0;text-align:center}.footer-qr img{display:block;width:120px;height:120px;object-fit:contain}.footer-qr figcaption{margin-top:.25rem;font-size:.75rem}@media (max-width:640px){.content-status{display:block}.content-status strong{display:block;margin-bottom:.25rem}}