#reading-progress{position:fixed;top:70px;left:0;height:3px;width:0%;background:linear-gradient(to right,#2190f7,#6366f1);z-index:40;transition:width .1s linear;border-radius:0 2px 2px 0}.blog-content{font-size:17px;line-height:1.85;color:#374151;font-family:Roboto,system-ui,sans-serif}.blog-content>p:first-of-type{font-size:1.125rem;color:#1f2937;line-height:1.75}.blog-content>p:first-of-type:first-letter{float:left;font-size:4rem;line-height:.78;font-weight:900;color:#2563eb;margin-right:.12em;margin-top:.06em;font-family:Georgia,Times New Roman,serif}.blog-content h2{font-size:1.5rem;font-weight:800;color:#111827;margin-top:3.5rem;margin-bottom:1rem;line-height:1.25;padding-left:1rem;border-left:4px solid #2563eb;scroll-margin-top:100px}.blog-content h3{font-size:1.1rem;font-weight:700;color:#1f2937;margin-top:2.25rem;margin-bottom:.75rem;line-height:1.4;scroll-margin-top:100px}.blog-content h4{font-size:1rem;font-weight:700;color:#374151;margin-top:1.5rem;margin-bottom:.5rem;scroll-margin-top:100px}.blog-content p{margin-bottom:1.5rem}.blog-content ul{list-style:none;padding-left:0;margin-bottom:1.4rem}.blog-content ul li{position:relative;padding-left:1.5rem;margin-bottom:.6rem}.blog-content ul li:before{content:"";position:absolute;left:0;top:.68em;width:7px;height:7px;border-radius:50%;background:#2563eb}.blog-content ol{padding-left:1.75rem;margin-bottom:1.4rem;list-style:decimal}.blog-content ol li{margin-bottom:.6rem;padding-left:.25rem}.blog-content li strong,.blog-content p strong{color:#111827;font-weight:700}.blog-content em{font-style:italic;color:#4b5563}.blog-content blockquote{position:relative;margin:2.5rem 0;padding:1.75rem 1.75rem 1.5rem;background:#eff6ff;border-radius:1rem;font-style:italic;font-size:1.075rem;color:#1e40af;line-height:1.75}.blog-content blockquote:before{content:"“";position:absolute;top:-.5rem;left:1.25rem;font-size:4.5rem;color:#bfdbfe;font-family:Georgia,Times New Roman,serif;line-height:1;pointer-events:none}.blog-content blockquote p{margin:.5rem 0 0;color:inherit}.blog-content blockquote p+p{margin-top:.75rem;font-size:.9rem;font-style:normal;color:#3b82f6;font-weight:600}.blog-figure{margin:2.5rem 0}.blog-figure img{display:block;width:100%;height:auto;border-radius:.875rem;box-shadow:0 1px 3px #0000000f,0 8px 32px -8px #00000024;border:1px solid #e2e8f0}.blog-figure figcaption{margin-top:.625rem;text-align:center;font-size:.875rem;color:#6b7280;font-style:italic;line-height:1.5}.img-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:220px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:.875rem;color:#94a3b8;font-size:.875rem;text-align:center;padding:2.5rem 1.5rem}.img-placeholder code{background:#e2e8f0;color:#475569;padding:.2rem .6rem;border-radius:.375rem;font-size:.8125rem;font-weight:600}.blog-content table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.9375rem;border-radius:.875rem;overflow:hidden;box-shadow:0 1px 4px #00000014}.blog-content thead tr{background:#2563eb;color:#fff}.blog-content thead th{padding:.875rem 1.125rem;text-align:left;font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}.blog-content tbody tr{border-bottom:1px solid #e2e8f0;transition:background .12s}.blog-content tbody tr:last-child{border-bottom:none}.blog-content tbody tr:nth-child(2n){background:#f8fafc}.blog-content tbody tr:hover{background:#eff6ff}.blog-content tbody td{padding:.875rem 1.125rem;color:#374151}.blog-content a{color:#2563eb;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#93c5fd;transition:color .15s,text-decoration-color .15s}.blog-content a:hover{color:#1d4ed8;text-decoration-color:#2563eb}.blog-content :not(pre)>code{background:#f1f5f9;color:#1e40af;padding:.125rem .4rem;border-radius:.3rem;font-size:.875em}.blog-content pre{background:#0f172a;color:#e2e8f0;padding:1.5rem;border-radius:.875rem;overflow-x:auto;margin:1.75rem 0;font-size:.875rem;line-height:1.7}.blog-content pre code{background:transparent;color:inherit;padding:0;font-size:inherit}.blog-content hr{border:none;margin:3.5rem auto;text-align:center;overflow:visible;height:0}.blog-content hr:after{content:"· · ·";display:inline-block;color:#cbd5e1;font-size:1.25rem;letter-spacing:.5em;line-height:0;position:relative;top:-1px}.blog-float-right{float:right;width:42%;margin:.25rem 0 1.5rem 2rem;border-radius:.875rem;box-shadow:0 1px 3px #0000000f,0 8px 32px -8px #00000024;border:1px solid #e2e8f0}.blog-float-right figcaption{text-align:center;font-size:.8125rem;color:#6b7280;font-style:italic;margin-top:.5rem}@media(max-width:640px){.blog-float-right{float:none;width:100%;margin:0 0 1.5rem}}.blog-zoomable{cursor:zoom-in;transition:opacity .15s}.blog-zoomable:hover{opacity:.92}#blog-lightbox{position:fixed;inset:0;z-index:1000;background:#000000d9;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .2s ease}#blog-lightbox.open{opacity:1;pointer-events:all}#blog-lightbox-inner{max-width:min(90vw,1200px);max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:.75rem;transform:scale(.96);transition:transform .2s ease}#blog-lightbox.open #blog-lightbox-inner{transform:scale(1)}#blog-lightbox-img{max-width:100%;max-height:calc(90vh - 3rem);object-fit:contain;border-radius:.75rem;box-shadow:0 24px 64px #00000080;cursor:default}#blog-lightbox-caption{color:#ffffffa6;font-size:.875rem;font-style:italic;text-align:center;line-height:1.5;margin:0}#blog-lightbox-close{position:fixed;top:1.25rem;right:1.25rem;width:2.5rem;height:2.5rem;border-radius:50%;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}#blog-lightbox-close:hover{background:#ffffff38}.blog-callout{display:flex;gap:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #22c55e;border-radius:0 .875rem .875rem 0;padding:1.25rem 1.5rem;margin:2.5rem 0;font-size:.9375rem;color:#166534}.blog-callout p{margin:0;color:inherit}.blog-callout strong{color:#14532d}
