*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Manrope,sans-serif;background-color:#f8fafc;color:#1e293b;min-height:100vh;overflow-x:hidden}::selection{background-color:#06b6d4;color:#fff}*[id]{scroll-margin-top:100px}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.prose h3{margin-top:1.5em;margin-bottom:.5em;font-size:1.25rem;font-weight:700;color:#0f172a}.prose p{margin-bottom:1em;line-height:1.75}.prose ul{list-style-type:disc;padding-left:1.5em;margin-bottom:1em}.prose li{margin-bottom:.5em}.prose blockquote{border-left:4px solid #6366f1;padding-left:1em;font-style:italic;color:#475569;margin:1.5em 0}.prose a{color:#4f46e5;text-decoration:underline}.prose a:hover{color:#4338ca}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
