.code-block-wrapper{margin:1.5rem 0;border-radius:.5rem;overflow:hidden;background:#1e1e1e}.code-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#2d2d2d;border-bottom:1px solid #3d3d3d}.code-language{font-size:.875rem;color:#9ca3af;text-transform:uppercase}.copy-button{padding:.25rem .75rem;font-size:.875rem;color:#9ca3af;background:#404040;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s}.copy-button:hover{background:#4a4a4a;color:#fff}.code-container{display:flex;overflow-x:auto}.line-numbers{display:flex;flex-direction:column;padding:1rem 0;background:#2d2d2d;border-right:1px solid #3d3d3d;-webkit-user-select:none;-moz-user-select:none;user-select:none}.line-number{padding:0 1rem;color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;line-height:1.5rem;text-align:right}pre{margin:1.5rem 0;padding:1rem;background:#1e1e1e;border-radius:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.875rem;line-height:1.5;color:#d4d4d4}.language-bash .comment,.language-sh .comment,.token.comment{color:#6b7280;font-style:italic}.token.function{color:#93c5fd}.token.string{color:#86efac}.token.number{color:#fca5a5}.token.operator{color:#e5e7eb}.token.keyword{color:#f472b6}pre::-webkit-scrollbar{height:8px;width:8px}pre::-webkit-scrollbar-track{background:#2d2d2d}pre::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:4px}pre::-webkit-scrollbar-thumb:hover{background:#606060}@media (max-width: 640px){pre{border-radius:0;margin-left:-1rem;margin-right:-1rem}}.prose{max-width:none;font-family:Hanken Grotesk,sans-serif;font-size:1.125rem;line-height:1.8;color:#3f3f46}.prose h1{margin-bottom:2rem;font-size:2.25rem;line-height:2.5rem;font-weight:800;line-height:1.25;letter-spacing:-.025em;--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1));font-family:Geist,sans-serif}.prose h2{margin-top:4rem;margin-bottom:1.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900;text-transform:uppercase;line-height:1.25;letter-spacing:-.05em;--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1));font-family:Geist,sans-serif}.prose h3{margin-top:2.5rem;margin-bottom:1rem;font-size:1.5rem;line-height:2rem;font-weight:700;--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1));font-family:Geist,sans-serif}.prose p{margin-bottom:1.5rem;font-size:1.125rem;line-height:1.75rem;line-height:1.625}.prose a{font-weight:700;--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1));text-decoration-line:underline;text-decoration-color:#d4d4d8;text-underline-offset:4px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.prose a:hover{text-decoration-color:#18181b}.prose a:is(.dark *){--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1));text-decoration-color:#3f3f46}.prose a{text-decoration:none}.prose ul,.prose ol{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem}.prose li{margin-bottom:.5rem}.prose blockquote{margin-top:2.5rem;margin-bottom:2.5rem;border-left-width:4px;--tw-border-opacity: 1;border-color:rgb(24 24 27 / var(--tw-border-opacity, 1));padding-left:1.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:500;font-style:italic;--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.prose blockquote:is(.dark *){--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.prose img{margin-top:3rem;margin-bottom:3rem;border-radius:1.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(228 228 231 / var(--tw-border-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.prose img:is(.dark *){--tw-border-opacity: 1;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))}.prose pre{margin-top:2.5rem;margin-bottom:2.5rem;border-radius:1rem;--tw-bg-opacity: 1 !important;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1))!important;padding:2rem!important;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(255 255 255 / .1);font-size:.95rem}.prose code{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1));padding:.125rem .375rem;--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.prose code:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.prose code{font-size:.9em}.prose pre code{background-color:transparent;padding:0;--tw-text-opacity: 1;color:rgb(228 228 231 / var(--tw-text-opacity, 1))}.latest-post-card.svelte-12n5mpf{overflow:hidden;border-radius:2rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(228 228 231 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;animation-duration:.5s}.latest-post-card.svelte-12n5mpf:hover{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-border-opacity: 1;border-color:rgb(24 24 27 / var(--tw-border-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.latest-post-card.svelte-12n5mpf:is(.dark *){--tw-border-opacity: 1;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1));background-color:#18181b80}.latest-post-card.svelte-12n5mpf:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.latest-post-card.svelte-12n5mpf img:where(.svelte-12n5mpf){-o-object-fit:cover;object-fit:cover;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.7s;animation-duration:.7s}.latest-post-card.svelte-12n5mpf:hover img:where(.svelte-12n5mpf){--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.latest-post-content.svelte-12n5mpf{padding:2rem}.latest-post-date.svelte-12n5mpf{margin-bottom:1rem;font-size:.75rem;line-height:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.latest-post-title.svelte-12n5mpf{margin-bottom:1rem;font-size:1.25rem;line-height:1.75rem;font-weight:900;line-height:1.25;--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.group:hover .latest-post-title.svelte-12n5mpf{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.latest-post-title.svelte-12n5mpf:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.latest-post-title.svelte-12n5mpf{font-family:Geist,sans-serif}.latest-post-description.svelte-12n5mpf{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-height:1.625;--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.latest-post-description.svelte-12n5mpf:is(.dark *){--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.tag.svelte-12n5mpf{display:inline-flex;align-items:center;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1));padding:.375rem 1rem;font-size:.75rem;line-height:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-inset: inset;--tw-ring-opacity: 1;--tw-ring-color: rgb(228 228 231 / var(--tw-ring-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.tag.svelte-12n5mpf:hover{--tw-bg-opacity: 1;background-color:rgb(228 228 231 / var(--tw-bg-opacity, 1))}.tag.svelte-12n5mpf:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1));--tw-ring-opacity: 1;--tw-ring-color: rgb(63 63 70 / var(--tw-ring-opacity, 1))}.tag.svelte-12n5mpf:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1))}.post-date.svelte-12n5mpf{margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;font-size:.75rem;line-height:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.post-date.svelte-12n5mpf:is(.dark *){--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.back-button.svelte-12n5mpf{display:inline-flex;align-items:center;font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.back-button.svelte-12n5mpf:hover{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.back-button.svelte-12n5mpf:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.back-to-top.svelte-12n5mpf{position:fixed;bottom:2rem;right:2rem;border-radius:1rem;--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1));padding:1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(255 255 255 / .1);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.back-to-top.svelte-12n5mpf:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.back-to-top.svelte-12n5mpf:focus{outline:2px solid transparent;outline-offset:2px}.back-to-top.svelte-12n5mpf:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.back-to-top.svelte-12n5mpf:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(9 9 11 / var(--tw-text-opacity, 1));--tw-ring-color: rgb(0 0 0 / .1)}.back-to-top.svelte-12n5mpf{opacity:0;visibility:hidden;z-index:9999}.back-to-top.visible.svelte-12n5mpf{opacity:1;visibility:visible}.back-to-top.svelte-12n5mpf svg:where(.svelte-12n5mpf){height:1.5rem;width:1.5rem}@media (max-width: 640px){.back-to-top.svelte-12n5mpf{bottom:1rem;right:1rem;padding:.75rem}}
