@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,500&display=swap&subset=vietnamese";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-sans: "Be Vietnam Pro", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-text: #1e293b;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-bg-subtle: #f8fafc;--radius: .75rem}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans)}.article-content{font-family:"Inter",var(--font-sans);font-size:1.125rem;line-height:1.8;color:#334155;max-width:100%;letter-spacing:0;word-break:break-word}.article-content>article,.article-content>div{max-width:100%}.article-content p{margin-bottom:1.25em;font-weight:400}.article-content h1{font-family:var(--font-sans);font-size:2rem;font-weight:800;color:var(--color-text);margin-top:0;margin-bottom:.5em;letter-spacing:-.025em;line-height:1.2}.article-content h2{font-family:"Sora",var(--font-sans);font-size:1.75rem;font-weight:700;color:#0d1b3e;margin-top:2.4em;margin-bottom:.6em;letter-spacing:-.02em;line-height:1.3;scroll-margin-top:100px}.article-content h3{font-family:"Sora",var(--font-sans);font-size:1.3125rem;font-weight:600;color:#0d1b3e;margin-top:1.9em;margin-bottom:.5em;line-height:1.4;letter-spacing:-.02em;scroll-margin-top:100px}.article-content h4{font-family:"Sora",var(--font-sans);font-size:1.0625rem;font-weight:600;color:#0d1b3e;margin-top:1.6em;margin-bottom:.4em;letter-spacing:-.015em}@media(max-width:640px){.article-content h2{font-size:1.5rem;margin-top:2.1em}.article-content h3{font-size:1.1875rem}}.article-content ul,.article-content ol{margin-bottom:1.5em;padding-left:1.35em}.article-content li{margin-bottom:.55em;padding-left:.25em;line-height:1.75}.article-content ul{list-style-type:disc}.article-content ol{list-style-type:decimal}.article-content li::marker{color:#1e90ff}.article-content a{color:#1e90ff;font-weight:500;text-decoration:underline;text-decoration-color:#9fd3ff;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s ease,text-decoration-color .2s ease}.article-content a:hover{color:#0e4681;text-decoration-color:#0e4681}.article-content blockquote{border-left:3px solid #1E90FF;padding:.25em 0 .25em 1.25em;color:#475569;margin:2em 0;font-size:1.0625rem;line-height:1.75}.article-content blockquote p{margin-bottom:.75em}.article-content blockquote p:last-child{margin-bottom:0}.article-content pre{background-color:#0f172a;color:#e2e8f0;padding:1.25em 1.5em;border-radius:var(--radius);overflow-x:auto;margin:1.5em 0;font-size:.8125rem;font-family:var(--font-mono);line-height:1.7;border:1px solid #1e293b}.article-content code{background-color:#f1f5f9;color:#0f172a;padding:.15em .4em;border-radius:4px;font-size:.85em;font-family:var(--font-mono);font-weight:500;border:1px solid #e2e8f0}.article-content pre code{background-color:transparent;color:inherit;padding:0;border:none;font-weight:400}.article-content img{border-radius:var(--radius);box-shadow:0 1px 3px #00000014;margin:1.5em auto;max-width:100%;display:block}.article-content table{width:100%;border-collapse:separate;border-spacing:0;margin:2em 0;font-size:.95rem;border-radius:1rem;overflow:hidden;border:1px solid #E2E8F0;box-shadow:0 4px 12px -6px #1e90ff1f}.article-content th{background:linear-gradient(135deg,#f0f7ff,#cfe7ff 60%,#f0f7ff);font-weight:800;text-align:left;padding:.875em 1.25em;color:#0d1b3e;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:2px solid #7FC4FF}.article-content td{padding:.875em 1.25em;border-bottom:1px solid #F1F5F9;color:#334155;vertical-align:top}.article-content tr:last-child td{border-bottom:none}.article-content tbody tr:hover td{background-color:#f0f7ff}.article-content tbody tr:first-child td:first-child{font-weight:700;color:#0e4681}.article-content .post-table-wrap{margin:2em 0;overflow-x:auto}.article-content .post-table-wrap table{margin:0;min-width:32rem}.article-content figure{margin:2em 0}.article-content figure img{margin:0 auto .75em}.article-content figcaption{text-align:center;font-size:.9rem;color:#64748b}.article-content .post-steps{counter-reset:post-step;list-style:none;display:grid;gap:.75rem;margin:2em 0;padding:0}.article-content .post-steps li{counter-increment:post-step;position:relative;margin:0;padding:1.1em 1.35em 1.1em 4rem;background:#f8fafc;border:1px solid #E2E8F0;border-radius:1rem;font-size:1rem;line-height:1.7}.article-content .post-steps li::marker{content:none}.article-content .post-steps li:before{content:counter(post-step);position:absolute;left:1.15rem;top:1.05em;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:linear-gradient(135deg,#1e90ff,#0e4681);color:#fff;font-size:.9rem;font-weight:800}.article-content .post-steps strong{display:block;color:#0d1b3e}.article-content .post-callout{margin:2em 0;padding:1.25em 1.5em;background:#f0f7ff;border-left:4px solid #1E90FF;border-radius:0 1rem 1rem 0}.article-content .post-callout-warn{background:#fffbeb;border-left-color:#f59e0b}.article-content .post-callout p{font-size:1rem;line-height:1.75;margin:.5em 0}.article-content .post-callout>:first-child{margin-top:0}.article-content .post-callout>:last-child{margin-bottom:0}.article-content .post-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin:2em 0}.article-content .post-stats>div{padding:1.25em;background:linear-gradient(135deg,#fff,#f0f7ff);border:1px solid #E2E8F0;border-radius:1rem}.article-content .post-stats b{display:block;font-family:Sora,Inter,system-ui,sans-serif;font-size:1.75rem;font-weight:800;line-height:1.2;color:#0e4681}.article-content .post-stats span{display:block;margin-top:.35em;font-size:.9rem;color:#475569}.article-content .post-bars{display:grid;gap:.85rem;margin:2em 0}.article-content .post-bars>div{display:grid;grid-template-columns:minmax(6rem,10rem) 1fr auto;align-items:center;gap:.75rem;font-size:.95rem}.article-content .post-bars>div>span:first-child{font-weight:600;color:#0d1b3e}.article-content .post-bar{display:block;background:#eff6ff;border-radius:999px}.article-content .post-bar i{display:block;height:.75rem;min-width:2px;border-radius:999px;background:linear-gradient(90deg,#7fc4ff,#1e90ff)}.article-content .post-bars em{font-style:normal;color:#475569;font-variant-numeric:tabular-nums}@media(max-width:640px){.article-content .post-bars>div{grid-template-columns:1fr auto}.article-content .post-bars>div>span:first-child{grid-area:1 / 1}.article-content .post-bars em{grid-area:1 / 2}.article-content .post-bar{grid-area:2 / 1 / 2 / -1}}.article-content .post-download{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin:2em 0;padding:1.25em 1.5em;background:linear-gradient(135deg,#f8fafc,#f0f7ff);border:1px solid #E2E8F0;border-radius:1rem}.article-content .post-download strong{display:block;font-size:1rem;color:#0d1b3e}.article-content .post-download span{display:block;margin-top:.35em;font-size:.9rem;line-height:1.6;color:#64748b}.article-content .post-download a{flex-shrink:0;padding:.7em 1.4em;background:#1e90ff;color:#fff;border-radius:.65rem;font-size:.9rem;font-weight:700;text-decoration:none}.article-content .post-download a:hover{background:#0e4681;color:#fff}.article-content .post-download-actions{display:flex;align-items:center;gap:.6em;flex-shrink:0}.article-content .post-pdf-toggle{padding:.7em 1.4em;background:#fff;color:#0e4681;border:1px solid #1E90FF;border-radius:.65rem;font:inherit;font-size:.9rem;font-weight:700;line-height:1;cursor:pointer}.article-content .post-pdf-toggle:hover{background:#f0f7ff}.article-content .post-pdf-viewer{margin:-1.5em 0 2em;border:1px solid #E2E8F0;border-radius:1rem;overflow:hidden;background:#f8fafc}.article-content .post-pdf-viewer iframe{display:block;width:100%;height:min(80vh,760px);border:0}.article-content .post-mermaid{margin:2em 0;padding:1.25em;background:#fff;border:1px solid #E2E8F0;border-radius:1rem;overflow-x:auto;text-align:center}.article-content .post-mermaid svg{max-width:100%;height:auto}.article-content div[style*=border-left]{border-radius:1rem!important;background:linear-gradient(135deg,#f8fafc,#f0f7ff)!important;padding:1.5rem 1.75rem!important;box-shadow:0 4px 12px -6px #1e90ff26;transition:all .25s ease}.article-content div[style*=border-left]:hover{transform:translateY(-2px);box-shadow:0 8px 20px -8px #1e90ff40}.article-content div[style*=border-left] h4{font-size:1rem!important;font-weight:700!important;margin-top:0!important;margin-bottom:.5em!important;color:#0e4681!important;line-height:1.4;display:flex;align-items:center;gap:.15em}.article-content svg{color:#1e90ff;stroke-width:2}.article-content h2 svg,.article-content h3 svg,.article-content h4 svg{color:inherit}.article-content div[style*="color:#fff"] svg{color:#cfe7ff}.article-content div[style*=border-left] p{font-size:.9375rem!important;line-height:1.65!important;color:#475569!important;margin-bottom:0!important}.article-content div[style*="color:#fff"][style*=linear-gradient]{background:linear-gradient(135deg,#0d1b3e,#0e4681,#1e90ff)!important;border-radius:1.5rem!important;padding:2rem 1.75rem!important;box-shadow:0 12px 32px -12px #0e468166}.article-content div[style*="color:#fff"][style*=linear-gradient] h3{color:#fff!important}.article-content strong{font-weight:700;color:#0d1b3e}.article-content>p:first-of-type,.article-content>div>p:first-of-type{font-size:1.1875rem;line-height:1.75;color:#475569;margin-bottom:1.6em}.article-content hr{border:none;height:1px;background:var(--color-border);margin:2em 0}.key-takeaways{background:linear-gradient(135deg,#f0f7ff,#cfe7ff);border:1px solid #7FC4FF;border-radius:1.25rem;padding:1.75rem 2rem;margin:2.5em 0;position:relative;overflow:hidden;box-shadow:0 8px 24px -12px #1e90ff40}.key-takeaways:before{content:"";position:absolute;top:0;left:0;width:6px;height:100%;background:linear-gradient(180deg,#1e90ff,#0e4681)}.key-takeaways h3,.key-takeaways h4,.key-takeaways>strong{color:#0d1b3e!important;font-size:.75rem!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1rem!important;margin-top:0!important;display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:#fff;border-radius:9999px;border:1px solid #CFE7FF}.key-takeaways h3:before,.key-takeaways h4:before{content:"✨"}.key-takeaways ul{margin-bottom:0!important;padding-left:0!important}.key-takeaways li{list-style:none;position:relative;padding-left:2rem!important;margin-bottom:.625rem!important;font-weight:500;font-size:1rem;color:#0e4681;line-height:1.7}.key-takeaways li:before{content:"";position:absolute;left:0;top:.45em;width:1.25rem;height:1.25rem;background:linear-gradient(135deg,#1e90ff,#0e4681);border-radius:9999px;box-shadow:0 2px 6px #1e90ff66}.key-takeaways li:after{content:"✓";position:absolute;left:.3em;top:.2em;color:#fff;font-weight:800;font-size:.75rem;line-height:1.25rem}.faq-section{background:linear-gradient(135deg,#f8fafc,#f0f7ff);border-radius:1.5rem;padding:2.5rem 2rem;margin-top:3em;border:1px solid #CFE7FF}.faq-section h2{margin-top:0!important;text-align:center;padding-left:0!important;margin-bottom:1.5rem!important;font-size:1.75rem!important;color:#0d1b3e!important}.faq-section h2:before{display:none}.faq-question{background-color:#fff;border:1px solid #E2E8F0;border-radius:1rem;padding:1.25rem 1.5rem;margin-bottom:.75rem;transition:all .2s ease}.faq-question:hover{border-color:#7fc4ff;box-shadow:0 4px 12px #1e90ff1f;transform:translateY(-1px)}.faq-question h3{margin-top:0!important;margin-bottom:.5rem!important;font-size:1.0625rem!important;color:#0d1b3e!important;font-weight:700!important}.faq-question p{margin-bottom:0!important;font-size:.9375rem!important;color:#475569!important;line-height:1.7!important}.article-content .prose{max-width:100%}.article-content>article>.relative:first-child{display:none}@media(max-width:768px){.article-content .grid-cols-1.md\\:grid-cols-3{grid-template-columns:1fr}.article-content .grid-cols-1.md\\:grid-cols-2{grid-template-columns:1fr}}
