.article-wrap{max-width:var(--max-width);margin:0 auto;padding:0 20px 64px;display:grid;grid-template-columns:1fr;gap:40px}@media(min-width:1025px){.article-wrap{padding:0 40px 80px;grid-template-columns:minmax(0,1fr) 280px}}.article{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);overflow:hidden}.article-hero{aspect-ratio:1.91 / 1;background:linear-gradient(135deg,#e6f4ff,#fdf2f8);border-radius:var(--radius);margin-bottom:28px;position:relative;overflow:hidden}.article-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;z-index:0}.article-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,153,255,.12) 1.5px,transparent 1.5px);background-size:24px 24px;pointer-events:none}.article-hero>*{position:relative;z-index:1}.article-hero-default{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:32px 48px}.article-hero-default span{color:var(--text-2);font-size:20px;font-weight:700;line-height:1.6;text-align:center;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:.02em}.article-body{padding:32px 24px;max-width:calc(var(--article-width) + 64px);margin:0 auto}@media(min-width:768px){.article-body{padding:48px 56px}}.article-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.cs-client{font-size:19px;font-weight:700;color:var(--text-1);line-height:1.3;margin:12px 0 4px}.cs-client-url{display:inline-block;font-size:13px;color:var(--brand-blue);margin:2px 0 8px}.cs-client-url:hover{text-decoration:underline}.cs-industry{font-size:13px;color:var(--text-3);margin:0 0 16px}.article-meta .date,.article-meta .author{font-size:13px;color:var(--text-3)}.article-meta .cat-badge{font-size:11px;font-weight:700;color:var(--brand-blue);background:#0099ff14;border:1px solid rgba(0,153,255,.25);padding:3px 10px;border-radius:var(--radius-pill);letter-spacing:.04em}.article-title{font-size:32px;font-weight:700;line-height:1.35;letter-spacing:.04em;margin-bottom:12px}@media(max-width:767px){.article-title{font-size:24px}}.article-desc{font-size:16px;color:var(--text-2);line-height:1.7;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--border)}.article-topics{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.author-box{display:flex;gap:16px;align-items:flex-start;padding:20px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:32px}.author-avatar{width:56px;height:56px;border-radius:50%;flex-shrink:0;background:var(--brand-blue-light);border:2px solid var(--surface);display:flex;align-items:center;justify-content:center;font-size:24px}.author-label{font-size:11px;font-weight:700;color:var(--text-3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.author-name{font-size:15px;font-weight:700;margin-bottom:2px;letter-spacing:.02em}.author-role{font-size:13px;color:var(--brand-blue);font-weight:500;margin-bottom:6px}.author-bio{font-size:13px;color:var(--text-2);line-height:1.7}.author-updated{font-size:12px;color:var(--text-3);display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}.article-content{max-width:var(--article-width);margin:0 auto}.article-content h1{margin-bottom:20px}.article-content h2{font-size:24px;margin:48px 0 16px;padding-bottom:10px;border-bottom:2px solid var(--brand-blue)}.article-content h3{font-size:20px;margin:32px 0 12px}.article-content p{font-size:16px;color:var(--text-1);line-height:1.85;margin-bottom:20px;letter-spacing:normal;font-feature-settings:normal}.article-content ul,.article-content ol{padding-left:24px;margin-bottom:20px}.article-content li{font-size:16px;color:var(--text-1);line-height:1.85;margin-bottom:6px}.article-content strong,.article-content b{font-weight:700}.article-content a:not(.share-btn){color:var(--brand-blue)}.article-content a:not(.share-btn):hover{color:var(--brand-blue-dark)}.article-content code:not(pre code){background:#f0f4f8;color:#c7254e;border-radius:var(--radius-sm);padding:2px 6px;font-family:var(--font-mono);font-size:.875em}.article-content pre{background:#1e293b;color:#e2e8f0;border-radius:var(--radius);padding:20px 24px;overflow-x:auto;font-family:var(--font-mono);font-size:14px;line-height:1.7;margin:20px 0}.article-content blockquote{border-left:4px solid var(--brand-blue);background:var(--brand-blue-light);padding:16px 20px;margin:20px 0;border-radius:0 var(--radius) var(--radius) 0;color:var(--text-1);font-size:15px}.article-content blockquote cite{display:block;margin-top:10px;font-size:13px;color:var(--text-3);font-style:normal}.article-content blockquote p{margin-bottom:0}.article-content .figure{background:var(--s2);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin:20px 0;font-size:14px;color:var(--text-3);text-align:center}.cta-section{margin-top:56px;padding-top:40px;border-top:2px dashed var(--border)}.cta-section-label{font-size:11px;font-weight:700;color:var(--text-3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:12px}.cta-section-label:before,.cta-section-label:after{content:"";flex:1;height:1px;background:var(--border)}.cta-banner{display:flex;align-items:stretch;gap:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1);transition:box-shadow .2s,transform .2s}.cta-banner:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.cta-accent{width:6px;flex-shrink:0}.cta-body{padding:24px 28px;flex:1}.cta-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.cta-body h3{font-size:20px;font-weight:700;line-height:1.4;margin-bottom:8px}.cta-body p{font-size:14px;color:var(--text-2);line-height:1.7;margin-bottom:16px}.cta-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;border-radius:var(--radius);font-size:14px;font-weight:600;color:#fff;background:var(--cta-orange);transition:background .15s}.cta-btn:hover{background:var(--cta-orange-dark)}.cta-icon{flex-shrink:0;width:112px;display:none;align-items:center;justify-content:center;font-size:44px;background:var(--bg)}@media(min-width:640px){.cta-icon{display:flex}}.cta-devtools .cta-accent{background:var(--devtools)}.cta-devtools .cta-label{color:var(--devtools)}.cta-appbuilder .cta-accent{background:var(--appbuilder)}.cta-appbuilder .cta-label{color:var(--appbuilder)}.cta-reveal .cta-accent{background:var(--reveal)}.cta-reveal .cta-label{color:var(--reveal)}.cta-main .cta-accent{background:var(--text-2)}.cta-main .cta-label{color:var(--text-2)}.related-section{margin-top:48px}.related-title{font-size:18px;font-weight:700;margin-bottom:16px;letter-spacing:.04em}.related-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:640px){.related-grid{grid-template-columns:repeat(2,1fr)}}.related-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-1);transition:box-shadow .2s,transform .2s;display:block}.related-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.related-thumb{aspect-ratio:1.91/1;display:flex;align-items:center;justify-content:center;font-size:48px;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.related-thumb:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.35) 1.2px,transparent 1.2px);background-size:18px 18px;pointer-events:none}.related-thumb>*{position:relative;z-index:1}.related-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}.related-thumb.t-devtools{background:linear-gradient(135deg,var(--brand-blue-light),#cfe6ff)}.related-thumb.t-appbuilder{background:linear-gradient(135deg,#ffe4d8,#ffcdb7)}.related-thumb.t-reveal{background:linear-gradient(135deg,#fde0ec,#f9c7da)}.related-body{padding:16px 20px}.related-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.related-card h4{font-size:15px;font-weight:700;line-height:1.5;margin:8px 0 6px;letter-spacing:.02em}.related-card .meta{font-size:12px;color:var(--text-3)}.share-row{display:flex;gap:12px;align-items:center;padding:20px 0;margin-top:40px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.share-label{font-size:12px;font-weight:700;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase}.share-btn{width:40px;height:40px;border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:filter .15s,transform .15s}.share-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.share-btn.sb-x{background:#000}.share-btn.sb-facebook{background:#4267b2}.share-btn.sb-linkedin{background:#0077b5}.sidebar{display:flex;flex-direction:column;gap:20px;position:relative}@media(min-width:1025px){.sidebar{overflow:visible}}.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);overflow:hidden}.wh{padding:14px 18px;border-bottom:1px solid var(--border);font-size:14px;font-weight:700;letter-spacing:.04em;display:flex;align-items:center;gap:8px}.toc-list{padding:12px 18px 14px;display:flex;flex-direction:column;counter-reset:toc}.toc-item{font-size:13px;padding:8px 0;border-bottom:1px solid var(--border);display:flex;gap:10px;color:var(--text-2);transition:color .15s}.toc-item:last-child{border-bottom:none}.toc-item:hover{color:var(--brand-blue)}.toc-item.level-3{padding-left:16px;font-size:12px}.toc-num{color:var(--text-3);font-weight:700;flex-shrink:0;font-family:var(--font-mono)}.sb-list{padding:14px;display:flex;flex-direction:column;gap:12px}.sb-wp-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .15s,transform .15s;display:block}.sb-wp-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.sb-wp-thumb{aspect-ratio:1.91/1;background:linear-gradient(135deg,var(--brand-blue-light),#d0e6ff);display:flex;align-items:center;justify-content:center;font-size:28px;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.sb-wp-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.sb-wp-body{padding:12px 14px}.sb-wp-body .tag{margin-bottom:6px}.sb-wp-body h4{font-size:13px;font-weight:700;line-height:1.5;margin-bottom:6px;letter-spacing:.02em}.sb-wp-body .caption{font-size:11px;color:var(--text-3)}.sb-link-item{padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:var(--radius);display:block;transition:box-shadow .2s,transform .2s,background .15s;box-shadow:var(--shadow-1)}.sb-link-item:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.sb-link-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}.sb-link-logo{display:flex;align-items:center}.sb-link-logo img{height:22px;width:auto}.sb-link-logo svg{height:28px;width:auto;max-width:150px}.sb-link-logo.lg-reveal svg{height:44px}.sb-link-item p{font-size:12px;color:var(--text-2);line-height:1.6}.sb-link-item .arrow{font-size:16px;flex-shrink:0;margin-top:2px}.sb-link-item.p-devtools{border-left-color:var(--devtools)}.sb-link-item.p-devtools:hover{background:#0099ff0a}.sb-link-item.p-devtools .arrow{color:var(--devtools)}.sb-link-item.p-appbuilder{border-left-color:var(--appbuilder)}.sb-link-item.p-appbuilder:hover{background:#f1592d0a}.sb-link-item.p-appbuilder .arrow{color:var(--appbuilder)}.sb-link-item.p-reveal{border-left-color:var(--reveal)}.sb-link-item.p-reveal:hover{background:#ec417a0a}.sb-link-item.p-reveal .arrow{color:var(--reveal)}.pr-badge{font-size:11px;font-weight:700;color:var(--brand-blue);background:#0099ff14;border:1px solid rgba(0,153,255,.25);padding:3px 10px;border-radius:var(--radius-pill);letter-spacing:.04em}.rel-list{padding:8px 0}.rel-item{display:flex;flex-direction:column;gap:3px;padding:10px 18px;border-bottom:1px solid var(--border);color:var(--text-1);text-decoration:none;font-size:13px;line-height:1.55;transition:background .15s}.rel-item:last-child{border-bottom:none}.rel-item:hover{background:var(--brand-blue-light);color:var(--brand-blue)}.rel-item .rel-date{font-size:11px;color:var(--text-3);letter-spacing:normal}.back-btn{display:flex;align-items:center;gap:8px;padding:14px 18px;font-size:14px;font-weight:600;color:var(--brand-blue);text-decoration:none;transition:background .15s}.back-btn:hover{background:var(--brand-blue-light)}.back-btn:before{content:"←";font-size:12px}.article-nav{display:flex;gap:12px;align-items:stretch;margin-top:40px;flex-wrap:wrap}.article-nav-btn{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);color:var(--text-1);text-decoration:none;font-size:14px;transition:box-shadow .15s,transform .15s;min-height:60px}.article-nav-btn:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.article-nav-btn.prev{justify-content:flex-start}.article-nav-btn.next{justify-content:flex-end;text-align:right}.article-nav-arrow{font-size:18px;color:var(--text-3);flex-shrink:0}.article-nav-text{min-width:0;display:flex;flex-direction:column}.article-nav-label{font-size:11px;color:var(--text-3);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}.article-nav-title{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:767px){.article-nav{flex-direction:column}}.cs-interviewees{background:var(--s2);border-radius:8px;padding:20px 24px;margin:24px 0}.cs-interviewees p{font-size:14px;line-height:1.6;color:var(--text-2);margin:0 0 14px}.cs-interviewees p:last-child{margin-bottom:0}.cs-interviewees strong{display:block;font-weight:700;color:var(--text-1);margin-bottom:2px}.article-content video{width:100%;height:auto;display:block;border-radius:8px;margin:16px 0}.article-content iframe{width:100%;max-width:100%;height:auto;aspect-ratio:16 / 9;border:none;border-radius:8px;margin:16px 0;display:block}.article-cs .article-title{margin-bottom:36px}.article-cs .article-content{border-top:1px solid var(--border);padding-top:36px}@media(max-width:767px){.article-cs .article-title{margin-bottom:24px}.article-cs .article-content{padding-top:24px}}.article-content table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px;line-height:1.6;background:var(--surface)}.article-content th,.article-content td{border:1px solid var(--border);padding:10px 16px;text-align:left;vertical-align:top}.article-content th{background:var(--brand-blue-light);color:var(--text-1);font-weight:700;font-size:13px;letter-spacing:.04em;white-space:nowrap;border-bottom:2px solid rgba(0,153,255,.3)}.article-content tbody tr:hover td{background:var(--brand-blue-light);transition:background .15s}@media(max-width:768px){.article-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}}.cs-product-info{background:var(--s2);border-radius:12px;padding:32px;margin-top:48px}.cs-product-info>h2:first-child{font-size:18px;font-weight:700;color:var(--text-1);margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.cs-product-info h2:not(:first-child),.cs-product-info h3,.cs-product-info h4{font-size:15px;font-weight:700;color:var(--text-1);margin:24px 0 6px}.cs-product-info p{font-size:14px;color:var(--text-2);line-height:1.7;margin:6px 0}.cs-product-info a{color:var(--brand-blue)}.cs-product-info p>a:only-child{display:block;width:fit-content;padding:8px 20px;border:1.5px solid var(--brand-blue);border-radius:var(--radius-pill);font-size:13px;font-weight:600;margin-top:8px;text-decoration:none;background:#fff}.cs-product-info p>a:only-child:hover{background:#0099ff0f}.cs-product-info hr{display:none}
