.pub-page .blog-card{display:flex;flex-direction:column;height:100%;padding:14px;border-radius:18px;color:inherit}.pub-page .blog-card-media{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:12px;background:var(--pub-primary-light)}.pub-page .blog-card-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.pub-page .blog-card:hover .blog-card-media img,.pub-page .blog-card:hover .blog-card-placeholder svg{transform:scale(1.06)}.pub-page .blog-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#b6c6f0;background:radial-gradient(circle at 80% 15%,rgba(36,83,212,.1),transparent 45%),linear-gradient(145deg,#f6f8ff,#e6edff)}.pub-page .blog-card-placeholder svg{width:38px;height:38px;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.pub-page .blog-card-body{display:flex;flex:1;flex-direction:column;padding:18px 8px 6px}.pub-page .blog-card-pill{align-self:flex-start;max-width:100%;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pub-page .blog-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px;color:var(--pub-heading);font-size:18px;line-height:1.35;letter-spacing:-.3px;overflow-wrap:anywhere;transition:color .25s ease}.pub-page .blog-card:hover .blog-card-title{color:var(--pub-primary)}.pub-page .blog-card-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--pub-text);font-size:14px;line-height:1.65}.pub-page .blog-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:auto;padding-top:16px;border-top:1px solid var(--pub-border);color:var(--pub-muted);font-size:12px;font-weight:600}.pub-page .blog-card-body>:nth-last-child(2):not(.blog-card-pill){margin-bottom:18px}.pub-page .blog-card-meta span{display:inline-flex;align-items:center;gap:6px}.pub-page .blog-card-meta svg{width:14px;height:14px;color:var(--pub-primary)}.pub-page .blog-skeleton{pointer-events:none}.pub-page .blog-skeleton-block{border-radius:8px;background:linear-gradient(90deg,#eef2fa,#f7f9fd,#eef2fa);background-size:200% 100%;animation:blogShimmer 1.4s ease-in-out infinite}@keyframes blogShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.pub-page .blog-empty{max-width:520px;margin:0 auto;padding:48px 32px;text-align:center}.pub-page .blog-empty .pub-card-icon{margin:0 auto 18px}.pub-page .blog-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:52px}.pub-page .blog-page-num{width:42px;padding:0}.pub-page .blog-page-ellipsis{padding:0 4px;color:var(--pub-muted);font-weight:700}.pub-page .blog-hero.is-preview{padding-top:200px}.pub-page .blog-hero h1{max-width:900px;font-size:46px;line-height:1.12;letter-spacing:-1.6px;overflow-wrap:anywhere}.pub-page .blog-breadcrumb-current{display:inline-block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;color:#5b6f9f}.pub-page .blog-hero-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:18px}.pub-page .blog-hero-pills .pub-pill{padding:6px 12px;font-size:12px}.pub-page .blog-hero-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px;margin-top:26px;color:var(--pub-text);font-size:14px;font-weight:600}.pub-page .blog-hero-meta>span{display:inline-flex;align-items:center;gap:7px}.pub-page .blog-hero-meta>span svg{width:16px;height:16px;color:var(--pub-primary)}.pub-page .blog-hero-meta img{width:28px;height:28px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1px solid var(--pub-border)}.pub-page .blog-hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:22px}.pub-page .blog-chip,.pub-page .blog-share-dropdown>button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid #d9e0eb;border-radius:100px;background:#fff;color:var(--pub-heading);font-size:14px;font-weight:700;transition:all .25s ease}.pub-page .blog-chip svg,.pub-page .blog-share-dropdown>button svg{width:16px;height:16px}.pub-page .blog-chip:hover,.pub-page .blog-share-dropdown>button:hover{border-color:var(--pub-primary);color:var(--pub-primary)}.pub-page .blog-chip.is-liked{border-color:#f5c2c2;background:#fff4f4;color:#d92d20}.pub-page .blog-chip.is-liked svg{fill:#d92d20}.pub-page .blog-chip:disabled{opacity:.6;cursor:not-allowed}.pub-page .blog-share-dropdown{text-align:left}.pub-page .blog-featured{position:relative;z-index:3;max-width:1060px;margin:-24px auto 0;overflow:hidden;border:1px solid var(--pub-border);border-radius:22px;background:var(--pub-primary-light);box-shadow:var(--pub-shadow)}.pub-page .blog-featured img{display:block;width:100%;height:auto;max-height:560px;-o-object-fit:cover;object-fit:cover}.pub-page .blog-layout{display:grid;grid-template-columns:minmax(0,1fr);justify-content:center;gap:48px;max-width:1060px;margin:0 auto}.pub-page .blog-layout.has-toc{grid-template-columns:minmax(0,1fr)}@media(min-width:1280px){.pub-page .blog-layout.has-toc{grid-template-columns:250px minmax(0,1fr)}}.pub-page .blog-article{width:100%;max-width:760px;min-width:0;margin:0 auto}.pub-page .blog-toc{display:none}@media(min-width:1280px){.pub-page .blog-toc{display:block}}.pub-page .blog-toc>nav{padding:22px 18px;background:#fff;border:1px solid var(--pub-border);border-radius:16px;box-shadow:0 10px 30px #1c305a0d}.pub-page .blog-toc>nav>div{padding-right:0}.pub-page .blog-toc h3{margin-bottom:14px;color:var(--pub-heading);font-size:13px;font-weight:700;letter-spacing:0;text-transform:none}.pub-page .blog-toc ul{border-left-color:var(--pub-border)}.pub-page .blog-toc li button{color:var(--pub-text);font-size:13px;line-height:1.45}.pub-page .blog-toc li button:hover{color:var(--pub-heading);border-left-color:#b6c6f0}.pub-page .blog-toc li button.text-blue-600{color:var(--pub-primary);border-left-color:var(--pub-primary);font-weight:700}.pub-page .blog-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:44px;padding-top:28px;border-top:1px solid var(--pub-border)}.pub-page .blog-tags>svg{width:18px;height:18px;margin-right:4px;color:var(--pub-muted)}.pub-page .blog-tags .pub-pill{padding:6px 12px;font-size:12px}.pub-page .blog-share{margin-top:28px;padding:20px 22px}.pub-page .blog-share>div{flex-wrap:wrap}.pub-page .blog-share>div>div:first-child{color:var(--pub-heading)}.pub-page .blog-share button{height:38px;border-color:#d9e0eb;border-radius:9px;color:var(--pub-heading);font-weight:700}.pub-page .blog-author{display:flex;align-items:flex-start;gap:18px;margin-top:18px;padding:26px;background:linear-gradient(145deg,#fff,var(--pub-primary-soft))}.pub-page .blog-author img{width:64px;height:64px;min-width:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:3px solid #fff;box-shadow:0 8px 22px #2453d424}.pub-page .blog-author-label{display:block;margin-bottom:4px;color:var(--pub-primary);font-size:12px;font-weight:700}.pub-page .blog-author h3{margin-bottom:6px;font-size:18px}.pub-page .blog-content{color:var(--pub-body);font-size:17px;line-height:1.8;overflow-wrap:break-word}.pub-page .blog-content>:first-child{margin-top:0}.pub-page .blog-content h1,.pub-page .blog-content h2,.pub-page .blog-content h3,.pub-page .blog-content h4{color:var(--pub-heading);font-weight:700;scroll-margin-top:110px}.pub-page .blog-content h1{margin:1.8em 0 .7em;font-size:34px;line-height:1.2;letter-spacing:-1px}.pub-page .blog-content h2{margin:1.9em 0 .7em;font-size:29px;line-height:1.25;letter-spacing:-.8px}.pub-page .blog-content h3{margin:1.7em 0 .6em;font-size:22px;line-height:1.35;letter-spacing:-.4px}.pub-page .blog-content h4{margin:1.5em 0 .5em;font-size:18px}.pub-page .blog-content p,.pub-page .blog-content li{color:var(--pub-body);font-weight:400;line-height:1.8}.pub-page .blog-content strong,.pub-page .blog-content b{color:var(--pub-heading);font-weight:700}.pub-page .blog-content a{color:var(--pub-primary);font-weight:600;text-decoration-color:#2453d459;text-decoration-thickness:1.5px;text-underline-offset:3px;transition:text-decoration-color .2s ease,color .2s ease}.pub-page .blog-content a:hover{color:var(--pub-primary-dark);text-decoration-color:currentColor}.pub-page .blog-content a strong{color:inherit}.pub-page .blog-content ul>li::marker{color:var(--pub-primary)}.pub-page .blog-content ol>li::marker{color:var(--pub-primary);font-weight:700}.pub-page .blog-content blockquote{margin:1.8em 0;padding:18px 22px;background:var(--pub-primary-soft);border-left:3px solid var(--pub-primary);border-radius:0 12px 12px 0;color:#364152;font-style:normal;quotes:none}.pub-page .blog-content blockquote p{margin:0;color:#364152;font-weight:500}.pub-page .blog-content blockquote p+p{margin-top:.8em}.pub-page .blog-content blockquote p:before,.pub-page .blog-content blockquote p:after{content:none}.pub-page .blog-content :not(pre)>code{padding:2px 7px;border-radius:6px;background:var(--pub-primary-light);color:var(--pub-primary-dark);font-size:.86em;font-weight:600}.pub-page .blog-content :not(pre)>code:before,.pub-page .blog-content :not(pre)>code:after{content:none}.pub-page .blog-content pre{max-width:100%;overflow-x:auto;padding:18px 20px;border-radius:14px;background:#0f172a;color:#e2e8f0;font-size:14px;line-height:1.7}.pub-page .blog-content img{display:block;max-width:100%;height:auto;margin:1.8em auto;border:1px solid var(--pub-border);border-radius:14px;box-shadow:0 12px 32px #1c305a12}.pub-page .blog-content hr{margin:2.5em 0;border-color:var(--pub-border)}.pub-page .blog-content table{margin:1.8em 0;border:1px solid var(--pub-border);font-size:15px}.pub-page .blog-content table td,.pub-page .blog-content table th{border:1px solid var(--pub-border);padding:12px 14px;overflow-wrap:anywhere}.pub-page .blog-content table th{background:var(--pub-light);color:var(--pub-heading);font-weight:700}.pub-page .blog-content iframe{max-width:100%;border-radius:14px}.pub-page .blog-content [data-faq-item]{margin-bottom:12px;border:1px solid var(--pub-border);border-radius:14px;background:#fff;transition:border-color .25s ease,box-shadow .25s ease}.pub-page .blog-content [data-faq-item]:hover,.pub-page .blog-content .faq-open{border-color:#2453d459;box-shadow:0 10px 26px #2453d414}.pub-page .blog-content .faq-question{padding:16px 20px;color:var(--pub-heading);font-weight:700}.pub-page .blog-content .faq-question p{margin:0;color:inherit;font-weight:inherit}.pub-page .blog-content [data-faq-item]:hover .faq-question{background:transparent}.pub-page .blog-content .faq-question:after{content:"+";width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--pub-primary-light);color:var(--pub-primary);font-size:18px;font-weight:700;line-height:1;transition:transform .3s ease}.pub-page .blog-content .faq-open .faq-question:after{transform:rotate(45deg)}.pub-page .blog-content .faq-answer,.pub-page .blog-content .faq-answer p{color:var(--pub-text)}.pub-page .blog-content .faq-open .faq-answer{padding:0 20px 18px}.pub-page .blog-content .faq-answer>:first-child{margin-top:0}.pub-page .blog-content .faq-answer>:last-child{margin-bottom:0}@media(max-width:1000px){.pub-page .blog-hero h1{font-size:40px}}@media(max-width:720px){.pub-page .blog-hero.is-preview{padding-top:190px}.pub-page .blog-hero h1{font-size:31px;letter-spacing:-1px}.pub-page .blog-breadcrumb-current{max-width:150px}.pub-page .blog-hero-meta{gap:8px 16px;font-size:13px}.pub-page .blog-featured{margin-top:-16px;border-radius:16px}.pub-page .blog-content{font-size:16px}.pub-page .blog-content h1{font-size:27px}.pub-page .blog-content h2{font-size:24px}.pub-page .blog-content h3{font-size:19px}.pub-page .blog-content table{font-size:13px}.pub-page .blog-content table td,.pub-page .blog-content table th{padding:8px}.pub-page .blog-author{gap:14px;padding:20px}.pub-page .blog-author img{width:52px;height:52px;min-width:52px}}@media(prefers-reduced-motion:reduce){.pub-page .blog-skeleton-block{animation:none}}
