:root{--bg-card:#ffffffa6;--color-primary:#1d293d;--color-accent-blue:#3b82f6;--text-main:#1e293b;--text-muted:#475569;--font-display:var(--font-bebas),"Arial Narrow",sans-serif;--font-sans:var(--font-be-vietnam),"Segoe UI",Tahoma,sans-serif;--ease-out:cubic-bezier(.23,1,.32,1);--radius-excessive:3rem;--radius-pill:9999px}.no-select{-webkit-user-select:none;user-select:none;pointer-events:none}hr{opacity:.1;margin-bottom:15px}body{font-family:var(--font-sans);color:var(--text-main);-webkit-font-smoothing:antialiased;cursor:auto;background-color:#0000}.font-display{font-family:var(--font-display);letter-spacing:.02em}.font-sans{font-family:var(--font-sans)}.article-content{max-width:100%;overflow-x:hidden}.article-content h1{font-family:var(--font-sans);letter-spacing:-.03em;color:var(--color-primary);margin-bottom:2rem;font-size:3rem;font-weight:800;line-height:1}@media (min-width:768px){.article-content h1{font-size:4.5rem}}.article-content h2{font-family:var(--font-sans);letter-spacing:-.025em;text-align:left;color:var(--color-primary);margin-top:3rem;margin-bottom:1.5rem;scroll-margin-top:12rem;font-size:2rem;font-weight:800}.article-content strong{color:var(--color-primary)}@media (min-width:768px){.article-content h2{font-size:2.5rem}}.article-content h3{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--color-primary);margin-top:2.5rem;margin-bottom:1rem;scroll-margin-top:12rem;font-size:1.5rem;font-weight:700}@media (min-width:768px){.article-content h3{font-size:2rem}}@media (min-width:1024px){.article-content h2,.article-content h3{scroll-margin-top:9.5rem}}.article-content p{font-family:var(--font-sans);color:var(--color-primary);margin-bottom:1.5rem;font-size:1.125rem;line-height:1.8}.article-content ul{color:var(--color-primary);margin-bottom:1.5rem;padding-left:1.5rem;font-size:1.125rem;line-height:1.8;list-style-type:disc}.article-content li{margin-bottom:.5rem}.article-content strong{color:var(--color-primary);font-weight:700}.article-content a{color:var(--color-accent-blue);text-underline-offset:4px;-webkit-text-decoration:underline #93c5fd;text-decoration:underline #93c5fd;text-decoration-thickness:2px;transition:color .2s}.article-content a:hover{color:#1d4ed8}.article-content blockquote{border-left:4px solid var(--color-accent-blue);background:#f8fafc;border-radius:0 1rem 1rem 0;margin:2rem 0;padding:1.5rem;font-style:italic}.article-content img{border-radius:1.5rem;width:100%;max-width:100%;height:auto;margin:2.5rem 0}.article-content .overflow-x-auto{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.article-content table{border-collapse:collapse;background:#fff6;width:max-content;min-width:100%;max-width:none;margin:2rem 0;font-size:1rem}.article-content th{text-align:left;color:var(--color-primary);background:#f1f5f9;border-bottom:2px solid #e2e8f0;padding:1rem;font-weight:700}.article-content td{color:var(--color-primary);border-bottom:1px solid #e2e8f0;padding:1rem}.article-content .article-note{color:var(--text-muted);background:#eff6ff;border:1px solid #bfdbfe;border-radius:1rem;margin:1.5rem 0 2rem;padding:1rem 1.25rem;font-size:1rem;line-height:1.7}.article-content .article-callout{background:linear-gradient(135deg,#eff6ff 0%,#fffffff2 100%);border:1px solid #bfdbfe;border-radius:1.5rem;margin:2rem 0;padding:1.5rem;box-shadow:0 18px 40px #3b82f614}.article-content .article-callout--warning{background:linear-gradient(135deg,#fff7ed 0%,#fffffff5 100%);border-color:#fdba74;box-shadow:0 18px 40px #f9731614}.article-content .article-callout h3{margin-top:0;margin-bottom:.75rem}.article-content .article-callout p:last-child{margin-bottom:0}.article-content .article-checklist{background:#ffffffb8;border:1px dashed #94a3b8;border-radius:1.5rem;margin:2rem 0;padding:1.5rem 1.5rem .75rem;list-style:none}.article-content .article-checklist li{margin-bottom:1rem;padding-left:2.25rem;position:relative}.article-content .article-checklist li:before{content:"☐";color:var(--color-accent-blue);font-size:1.1rem;line-height:1;position:absolute;top:.05rem;left:0}.blog-toc-scroll{scrollbar-width:thin;scrollbar-color:#94a3b8d9 transparent;scrollbar-gutter:stable}.blog-toc-scroll::-webkit-scrollbar{width:.5rem}.blog-toc-scroll::-webkit-scrollbar-track{background:0 0}.blog-toc-scroll::-webkit-scrollbar-thumb{background:#94a3b8b3;border-radius:9999px}.blog-toc-scroll::-webkit-scrollbar-thumb:hover{background:#64748be6}.visualiser-scroll{scrollbar-width:thin;scrollbar-color:#94a3b8d9 transparent;scrollbar-gutter:stable}.visualiser-scroll::-webkit-scrollbar{width:.55rem}.visualiser-scroll::-webkit-scrollbar-track{background:0 0}.visualiser-scroll::-webkit-scrollbar-thumb{background:#94a3b8b8;border-radius:9999px}.visualiser-scroll::-webkit-scrollbar-thumb:hover{background:#64748be6}.table-wrapper{border:1px solid #e2e8f0;border-radius:1rem;overflow-x:auto}.article-content--handwriting{--handwriting-ink:#0f2940;--handwriting-blue:#2563eb;--handwriting-panel-bg:#ffffff73;--handwriting-panel-border:#fff9;--handwriting-panel-shadow:0 10px 40px -10px #0f172a0f;--handwriting-panel-shadow-soft:0 20px 50px -15px #0f172a0a;--handwriting-divider:#e2e8f0cc;--handwriting-table-divider:#e2e8f080}.article-content--handwriting .article-box-label{z-index:1;max-width:100%;font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere;color:#475569;margin:0 0 .9rem;font-size:.875rem;font-weight:800;display:block;position:relative}.article-content--handwriting .article-box-label:before{display:none}.article-content--handwriting .article-note,.article-content--handwriting .article-callout,.article-content--handwriting .article-checklist-card,.article-content--handwriting .table-wrapper{isolation:isolate;border:1px solid var(--handwriting-panel-border);background:var(--handwriting-panel-bg);width:100%;min-width:0;max-width:100%;box-shadow:var(--handwriting-panel-shadow);-webkit-backdrop-filter:blur(40px);position:relative;overflow:hidden}.article-content--handwriting .article-note{-webkit-backdrop-filter:blur(10px);background:#f8fafccc;border-color:#e2e8f0cc;border-radius:1.75rem;margin:2.5rem 0;padding:1.75rem;box-shadow:0 12px 30px -16px #0f172a0d}.article-content--handwriting .article-note p{overflow-wrap:anywhere;color:#475569;min-width:0;margin:0;font-size:1rem;font-style:italic;line-height:1.75}.article-content--handwriting .article-callout{border-color:#bfdbfecc;border-left:6px solid var(--handwriting-blue);-webkit-backdrop-filter:blur(12px);background:#eff6ffb3;border-radius:2.25rem;margin:3rem 0;padding:2.25rem;box-shadow:0 20px 48px -22px #0f172a14}.article-content--handwriting .article-callout h3{overflow-wrap:anywhere;color:var(--color-primary);margin-top:0;margin-bottom:.75rem;font-size:1.5rem;line-height:1.25}.article-content--handwriting .article-callout p{overflow-wrap:anywhere;color:#475569;min-width:0;margin:0;font-size:1.05rem;line-height:1.7}.article-content--handwriting .article-callout p+p{margin-top:.75rem}.article-content--handwriting .article-callout--warning{background:#fef2f2b3;border-color:#fecacae6 #fecacae6 #fecacae6 #ef4444}.article-content--handwriting .article-callout--warning .article-box-label{color:#b91c1c}.article-content--handwriting .article-checklist-card{box-shadow:var(--handwriting-panel-shadow-soft);-webkit-backdrop-filter:blur(20px);background:#fffc;border-color:#ffffffe6;border-radius:2.25rem;margin:3rem 0;padding:2.5rem}.article-content--handwriting .article-checklist{background:0 0;border:0;grid-template-columns:1fr;gap:1.5rem;min-width:0;margin:0;padding:0;list-style-type:none;display:grid}.article-content--handwriting .article-checklist li{overflow-wrap:anywhere;color:#334155;min-width:0;margin-bottom:0;padding:0 0 0 2.25rem;font-size:1.05rem;line-height:1.7;position:relative}.article-content--handwriting .article-checklist li:last-child{margin-bottom:0}.article-content--handwriting .article-checklist li strong{color:var(--color-primary);font-weight:700}.article-content--handwriting .article-checklist li:before{content:"✓";color:#10b981;font-size:1.3rem;font-weight:900;line-height:1;position:absolute;top:.1em;left:.25rem}.article-content--handwriting .table-wrapper{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#60a5fa8c transparent;-webkit-backdrop-filter:blur(10px);background:#fff9;border-color:#e2e8f0cc;border-radius:1.5rem;margin:3rem 0;padding:0;overflow:auto hidden;box-shadow:0 4px 20px -5px #00000005}.article-content--handwriting .table-wrapper table{text-align:left;background:0 0;min-width:100%;margin:0;font-size:.95rem}.article-content--handwriting .table-wrapper th{overflow-wrap:anywhere;color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;background:#f1f5f9e6;border-bottom:2px solid #e2e8f0e6;font-size:.875rem;font-weight:700}.article-content--handwriting .table-wrapper td{overflow-wrap:anywhere;color:#334155;border-bottom:1px solid var(--handwriting-table-divider);background:0 0;line-height:1.6}.article-content--handwriting .table-wrapper tr:last-child td{border-bottom:0}@media (max-width:1023px){.article-content--handwriting .article-note,.article-content--handwriting .article-callout,.article-content--handwriting .article-checklist-card,.article-content--handwriting .table-wrapper{-webkit-backdrop-filter:blur(24px)}}@media (max-width:767px){.article-content p,.article-content ul,.article-content ol{font-size:1rem}.article-content table{min-width:40rem;font-size:.9375rem}.article-content th,.article-content td{padding:.875rem}.article-content .article-note,.article-content .article-callout,.article-content .article-checklist{padding-left:1rem;padding-right:1rem}.article-content .article-checklist li{padding-left:2rem}.article-content--handwriting .article-note,.article-content--handwriting .article-callout,.article-content--handwriting .article-checklist-card,.article-content--handwriting .table-wrapper{border-radius:1.5rem}.article-content--handwriting .article-note,.article-content--handwriting .article-callout,.article-content--handwriting .article-checklist-card{margin:2rem 0;padding:1.35rem}.article-content--handwriting .article-checklist li{padding-left:2rem}.article-content--handwriting .table-wrapper{padding:0}.article-content--handwriting .article-callout h3{font-size:1.5rem}}
