html{font-family:Inter,system-ui,sans-serif;scroll-behavior:smooth}body{margin:0;padding:0;transition:background-color .3s ease,color .3s ease}.dark{color-scheme:dark}.brutal-shadow{box-shadow:8px 8px #000}.brutal-shadow-sm{box-shadow:4px 4px #000}.brutal-shadow-lg{box-shadow:12px 12px #000}.brutal-border{border:4px solid black;border-radius:18px}.brutal-border-sm{border:2px solid black;border-radius:10px}.brutal-hover:hover{transform:translateY(-2px);box-shadow:4px 4px #000}.dark .brutal-border,.dark .brutal-border-sm{border-color:#fff}.dark .brutal-shadow{box-shadow:8px 8px #fff}.dark .brutal-shadow-sm{box-shadow:4px 4px #fff}.dark .brutal-shadow-lg{box-shadow:12px 12px #fff}.dark .brutal-hover:hover{box-shadow:4px 4px #fff}.blog-main h1,.blog-main h2,.blog-main h3,.blog-main h4,.blog-main h5{line-height:1.2;font-weight:700;margin-top:2.5rem;margin-bottom:1.2rem;color:#1f2937;text-shadow:none}.dark .blog-main h1,.dark .blog-main h2,.dark .blog-main h3,.dark .blog-main h4,.dark .blog-main h5{color:#f9fafb}.blog-main h1{font-size:3rem;margin-top:0;margin-bottom:2rem;font-weight:800}.blog-main h2{font-size:2.25rem;font-weight:700}.blog-main h3{font-size:1.5rem;font-weight:600}.blog-main h4{font-size:1.25rem;font-weight:600}.blog-main h5{font-size:1.1rem;font-weight:600}.blog-main p{font-size:1.15rem;line-height:1.7;margin:1.2rem 0;color:#374151}.dark .blog-main p{color:#d1d5db}.blog-main ul,.blog-main ol{margin:1.5rem 0 1.5rem 2rem;font-size:1.1rem;color:#374151}.dark .blog-main ul,.dark .blog-main ol{color:#d1d5db}.blog-main li{margin-bottom:.5rem;list-style-type:disc}.blog-main blockquote{background:#f8fafc;border-left:4px solid #1f2937;padding:1.5rem 2rem;font-size:1.25rem;font-style:italic;margin:2rem 0;box-shadow:4px 4px #1f2937;font-weight:500;border-radius:0;color:#374151}.dark .blog-main blockquote{background:#1f2937;color:#e5e7eb;border-left-color:#f9fafb;box-shadow:4px 4px #f9fafb}.blog-main code:not(pre code){background:#f1f5f9;color:#dc2626;border:2px solid #1f2937;border-radius:.25rem;padding:.2em .4em;font-size:.9em;font-family:Fira Code,Fira Mono,Consolas,Menlo,monospace;font-weight:500;box-shadow:2px 2px #1f2937}.dark .blog-main code:not(pre code){background:#374151;color:#fca5a5;border-color:#f9fafb;box-shadow:2px 2px #f9fafb}.blog-main pre{background:#f8fafc;color:#1f2937;border:3px solid #1f2937;border-radius:.5rem;padding:1.5rem;box-shadow:6px 6px #1f2937;overflow-x:auto;margin:2.5rem 0;position:relative;font-family:Fira Code,Fira Mono,Consolas,Menlo,monospace;font-size:.95rem;line-height:1.6}.dark .blog-main pre{background:#1f2937;border-color:#f9fafb;box-shadow:6px 6px #f9fafb;color:#e5e7eb}.blog-main pre code{background:transparent;color:inherit;border:none;border-radius:0;padding:0;font-size:inherit;font-family:inherit;font-weight:400;box-shadow:none}.blog-main .token.comment,.blog-main .token.prolog,.blog-main .token.doctype,.blog-main .token.cdata{color:#6b7280;font-style:italic}.blog-main .token.punctuation{color:#374151}.dark .blog-main .token.punctuation{color:#9ca3af}.blog-main .token.namespace{opacity:.7}.blog-main .token.property,.blog-main .token.tag,.blog-main .token.boolean,.blog-main .token.number,.blog-main .token.constant,.blog-main .token.symbol,.blog-main .token.deleted{color:#059669}.dark .blog-main .token.property,.dark .blog-main .token.tag,.dark .blog-main .token.boolean,.dark .blog-main .token.number,.dark .blog-main .token.constant,.dark .blog-main .token.symbol,.dark .blog-main .token.deleted{color:#34d399}.blog-main .token.selector,.blog-main .token.attr-name,.blog-main .token.string,.blog-main .token.char,.blog-main .token.builtin,.blog-main .token.inserted{color:#dc2626}.dark .blog-main .token.selector,.dark .blog-main .token.attr-name,.dark .blog-main .token.string,.dark .blog-main .token.char,.dark .blog-main .token.builtin,.dark .blog-main .token.inserted{color:#fca5a5}.blog-main .token.operator,.blog-main .token.entity,.blog-main .token.url,.blog-main .language-css .token.string,.blog-main .style .token.string{color:#7c3aed}.dark .blog-main .token.operator,.dark .blog-main .token.entity,.dark .blog-main .token.url,.dark .blog-main .language-css .token.string,.dark .blog-main .style .token.string{color:#c4b5fd}.blog-main .token.atrule,.blog-main .token.attr-value,.blog-main .token.keyword{color:#1d4ed8}.dark .blog-main .token.atrule,.dark .blog-main .token.attr-value,.dark .blog-main .token.keyword{color:#93c5fd}.blog-main .token.function,.blog-main .token.class-name{color:#dc2626}.dark .blog-main .token.function,.dark .blog-main .token.class-name{color:#fca5a5}.blog-main .token.regex,.blog-main .token.important,.blog-main .token.variable{color:#059669}.dark .blog-main .token.regex,.dark .blog-main .token.important,.dark .blog-main .token.variable{color:#34d399}.blog-main .token.important,.blog-main .token.bold{font-weight:700}.blog-main .token.italic{font-style:italic}.blog-main .token.entity{cursor:help}.blog-main pre::-webkit-scrollbar{height:8px}.blog-main pre::-webkit-scrollbar-track{background:#e5e7eb;border-radius:4px}.dark .blog-main pre::-webkit-scrollbar-track{background:#374151}.blog-main pre::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:4px;border:1px solid #e5e7eb}.dark .blog-main pre::-webkit-scrollbar-thumb{background:#6b7280;border-color:#374151}.blog-main pre::-webkit-scrollbar-thumb:hover{background:#6b7280}.dark .blog-main pre::-webkit-scrollbar-thumb:hover{background:#9ca3af}.blog-main strong{color:#1f2937;font-weight:700;background:#f3f4f6;padding:.1em .3em;border-radius:.25rem;border:1px solid #d1d5db}.dark .blog-main strong{color:#f9fafb;background:#374151;border-color:#6b7280}.blog-main img{box-shadow:4px 4px #1f2937;background:#f8fafc;border:2px solid #1f2937;max-width:100%;display:block;border-radius:.5rem}.dark .blog-main img{background:#1f2937;border-color:#f9fafb;box-shadow:4px 4px #f9fafb}@media (max-width: 900px){.blog-main{max-width:98vw;padding:2rem .5rem}}@media (max-width: 600px){.blog-main{padding:1rem .2rem 1.5rem}.blog-layout-wrapper{padding:1rem 0}.blog-main p{font-size:1rem}.blog-main h1{font-size:2rem}.blog-main h2{font-size:1.5rem}.blog-main h3{font-size:1.25rem}.blog-main h4{font-size:1rem}.blog-main h5{font-size:.8rem}.blog-main li{font-size:1rem}.blog-main pre{padding:1.5rem 1rem;font-size:.85rem;margin:2rem 0}.blog-main pre:before{font-size:.7rem;padding:.4rem .8rem;left:.5rem}.blog-main code:not(pre code){font-size:.8em;padding:.2em .4em}}.blog-main table{width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0;background:#fff;border:3px solid #1f2937;box-shadow:6px 6px #1f2937;border-radius:0;overflow:hidden}.dark .blog-main table{background:#1f2937;border-color:#f9fafb;box-shadow:6px 6px #f9fafb}.blog-main table thead{background:#1f2937;color:#fff}.dark .blog-main table thead{background:#f9fafb;color:#1f2937}.blog-main table th{padding:1rem;text-align:left;font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:3px solid #1f2937}.dark .blog-main table th{border-bottom-color:#f9fafb}.blog-main table td{padding:1rem;border-bottom:2px solid #e5e7eb;font-size:.875rem;line-height:1.6;color:#374151}.dark .blog-main table td{border-bottom-color:#374151;color:#d1d5db}.blog-main table tbody tr:last-child td{border-bottom:none}.blog-main table tbody tr:hover{background:#f8fafc;transform:translateY(-1px);transition:all .2s ease}.dark .blog-main table tbody tr:hover{background:#374151}@media (max-width: 768px){.blog-main table{font-size:.875rem}.blog-main table th,.blog-main table td{padding:.75rem .5rem}.blog-main table{box-shadow:4px 4px #1f2937}.dark .blog-main table{box-shadow:4px 4px #f9fafb}}@media (max-width: 455px){.blog-main table{font-size:.75rem}.blog-main table th,.blog-main table td{padding:.5rem .3rem}}.blog-main table caption{caption-side:bottom;text-align:center;font-size:.875rem;color:#6b7280;margin-top:.5rem;font-style:italic}.dark .blog-main table caption{color:#9ca3af}.line-clamp-2[data-astro-cid-4sn4zg3r]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3[data-astro-cid-4sn4zg3r]{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.brutal-border[data-astro-cid-4sn4zg3r]{border:3px solid #000}.brutal-shadow[data-astro-cid-4sn4zg3r]{box-shadow:4px 4px #000}.dark[data-astro-cid-4sn4zg3r] .brutal-border[data-astro-cid-4sn4zg3r]{border-color:#fff}.dark[data-astro-cid-4sn4zg3r] .brutal-shadow[data-astro-cid-4sn4zg3r]{box-shadow:4px 4px #fff}.content[data-astro-cid-4sn4zg3r]{max-width:100%;margin-inline:auto}.content[data-astro-cid-4sn4zg3r]>*+*{margin-top:1rem}.content[data-astro-cid-4sn4zg3r] h1,.content[data-astro-cid-4sn4zg3r] h2,.content[data-astro-cid-4sn4zg3r] h3,.content[data-astro-cid-4sn4zg3r] h4,.content[data-astro-cid-4sn4zg3r] h5{margin:1.5rem 0}.content[data-astro-cid-4sn4zg3r] p{line-height:1.5;margin-bottom:1rem}.content[data-astro-cid-4sn4zg3r] img{border-radius:1.5rem;box-shadow:var(--shadow-sm);background:var(--gradient-subtle);border:1px solid var(--gray-800)}code[data-astro-cid-4sn4zg3r]{font-family:var(--monospace-font);font-size:var(--monospace-font-size);line-height:var(--monospace-line-height);color:#7757eb;background-color:#0b911d;padding:.15em .4em;border-radius:.25rem}
