.post-body{font-size:1.125rem;line-height:1.75;color:#1e293b;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.post-body>p:first-of-type:first-letter{float:left;font-size:3.75rem;line-height:.9;font-weight:700;padding:.25rem .75rem 0 0;color:#2563eb;font-family:ui-serif,Georgia,serif}.post-body>p{margin:1.5rem 0}.post-body>p:first-of-type{font-size:1.25rem;color:#334155;margin-top:0}.post-body h2{font-size:2rem;line-height:1.2;font-weight:700;letter-spacing:-.025em;color:#0f172a;margin:4rem 0 1.5rem;scroll-margin-top:6rem;position:relative}.post-body h2:before{content:"";position:absolute;left:-1.25rem;top:.6rem;width:4px;height:1.75rem;background:linear-gradient(180deg,#3b82f6,#22d3ee);border-radius:4px}.post-body h3{font-size:1.5rem;line-height:1.3;font-weight:700;color:#0f172a;margin:3rem 0 1rem;scroll-margin-top:6rem}.post-body h4{font-size:1.125rem;font-weight:700;color:#0f172a;margin:2rem 0 .75rem}.post-body strong{color:#0f172a;font-weight:700}.post-body em{color:#334155}.post-body a{color:#2563eb;text-decoration:none;border-bottom:1px solid rgb(191 219 254);transition:border-color .15s,color .15s,background-color .15s;padding:0 1px}.post-body a:hover{color:#1d4ed8;border-bottom-color:#2563eb;background-color:#eff6ff}.post-body code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.875em;padding:.15rem .4rem;background:#f1f5f9;color:#be185d;border-radius:4px;border:1px solid rgb(226 232 240);font-weight:500}.post-body pre{background:#0f172a;color:#e2e8f0;padding:1.25rem 1.5rem;border-radius:12px;overflow-x:auto;margin:2rem 0;font-size:.9375rem;line-height:1.6;box-shadow:0 10px 30px -10px #0f172a4d;border:1px solid rgb(30 41 59)}.post-body pre code{background:transparent;color:inherit;padding:0;border:none;font-size:inherit;font-weight:400}.post-body blockquote{margin:2.5rem 0;padding:1.25rem 1.5rem 1.25rem 2rem;background:linear-gradient(135deg,#eff6ff,#ecfeff);border-radius:12px;border-left:4px solid;border-image:linear-gradient(180deg,#3b82f6,#22d3ee) 1;position:relative;font-style:italic;color:#1e293b;font-size:1.0625rem;line-height:1.65}.post-body blockquote:before{content:"“";position:absolute;top:-.5rem;left:.75rem;font-size:3rem;line-height:1;color:#93c5fd;font-family:ui-serif,Georgia,serif;font-style:normal;opacity:.7}.post-body blockquote p{margin:.5rem 0}.post-body blockquote p:first-child{margin-top:0}.post-body blockquote p:last-child{margin-bottom:0}.post-body blockquote strong{font-style:normal;color:#0f172a}.post-body ul,.post-body ol{margin:1.5rem 0;padding-left:1.5rem}.post-body li{margin:.5rem 0;padding-left:.25rem}.post-body ul>li{list-style:none;position:relative}.post-body ul>li:before{content:"";position:absolute;left:-1.25rem;top:.65em;width:.5rem;height:.5rem;border-radius:9999px;background:linear-gradient(135deg,#3b82f6,#22d3ee)}.post-body ol{list-style:decimal}.post-body ol>li::marker{color:#2563eb;font-weight:700}.post-body table{width:100%;margin:2rem 0;border-collapse:separate;border-spacing:0;border:1px solid rgb(226 232 240);border-radius:12px;overflow:hidden;font-size:.9375rem}.post-body thead{background:#f8fafc}.post-body th,.post-body td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgb(226 232 240)}.post-body th{font-weight:700;color:#0f172a;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}.post-body tbody tr:last-child td{border-bottom:none}.post-body tbody tr:hover{background:#f8fafc}.post-body img{width:100%;border-radius:12px;margin:2rem 0;box-shadow:0 10px 30px -10px #0f172a26}.post-body hr{margin:3rem auto;border:none;width:80px;height:4px;background:linear-gradient(90deg,transparent,rgb(203 213 225),transparent);border-radius:4px}.toc-link{color:#64748b}.toc-link.toc-active{color:#2563eb;font-weight:600}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:768px){.post-body{font-size:1.0625rem;line-height:1.7}.post-body h2{font-size:1.625rem;margin-top:3rem}.post-body h2:before{display:none}.post-body h3{font-size:1.25rem;margin-top:2rem}.post-body>p:first-of-type{font-size:1.125rem}.post-body>p:first-of-type:first-letter{font-size:3rem}.post-body blockquote{padding:1rem 1.25rem 1rem 1.5rem;font-size:1rem}.post-body pre{padding:1rem;font-size:.8125rem}}
