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