@layer blog-prose{.prose{color:#ffffffe6;max-width:none;font-size:1.125rem;line-height:1.8}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:#fff;font-weight:700;letter-spacing:-.025em;scroll-margin-top:5rem}.prose h1{font-size:2.75rem;margin:2.5rem 0 1.5rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;font-weight:700}.prose h2{font-size:2.25rem;margin:3rem 0 1.5rem;color:#60a5fa;position:relative;padding-bottom:.5rem;font-weight:700}.prose h2:after{content:"";position:absolute;bottom:0;left:0;width:3rem;height:2px;background:linear-gradient(to right,#3b82f6,#8b5cf6);border-radius:1px}.prose h3{font-size:1.75rem;margin:2.5rem 0 1rem;color:#93c5fd;font-weight:700}.prose h4{font-size:1.5rem;margin:2rem 0 .75rem;color:#bfdbfe;font-weight:700}.prose h5{font-size:1.25rem;margin:1.75rem 0 .5rem;color:#dbeafe;font-weight:700}.prose h6{font-size:1.125rem;margin:1.5rem 0 .5rem;color:#f1f5f9;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.prose p{line-height:1.8;margin-bottom:1.5rem;color:#ffffffe6}.prose p:first-of-type{font-size:1.25rem;color:#fffffff2;margin-bottom:2rem}.prose a{color:#60a5fa;text-decoration:none;transition:all .2s ease;position:relative;border-bottom:1px solid transparent}.prose a:hover{color:#93c5fd;border-bottom-color:#60a5fa}.prose a:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:2px}.prose code{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);padding:.25rem .5rem;border-radius:.375rem;font-size:.9em;color:#fbbf24;font-family:JetBrains Mono,Fira Code,Consolas,Menlo,Courier New,monospace;font-weight:500}.prose pre{background:#0009;border:1px solid rgba(255,255,255,.1);padding:1.5rem;border-radius:.75rem;overflow-x:auto;margin:2rem 0;box-shadow:0 10px 30px #0000004d;position:relative}.prose pre:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,#3b82f6,#8b5cf6,#ec4899);border-radius:.75rem .75rem 0 0}.prose pre code{background:none;border:none;padding:0;color:#e2e8f0;font-size:.9rem;line-height:1.6}.prose blockquote{border-left:4px solid #3b82f6;background:#3b82f60d;padding:1.5rem 2rem;margin:2rem 0;border-radius:0 .5rem .5rem 0;font-style:italic;color:#ffffffe6;position:relative;quotes:'"' '"' """ """}.prose blockquote:before{content:open-quote;font-size:4rem;color:#3b82f64d;position:absolute;top:-.5rem;left:.5rem;font-family:Georgia,serif}.prose blockquote p{margin:0;padding-left:2rem}.prose ul,.prose ol{margin:1.5rem 0;padding-left:2rem}.prose ul{list-style:none}.prose ul>li{position:relative;margin-bottom:.75rem;padding-left:1.5rem}.prose ul>li:before{content:"▸";color:#60a5fa;position:absolute;left:0;font-weight:700}.prose ol>li{margin-bottom:.75rem;padding-left:.5rem}.prose ol>li::marker{color:#60a5fa;font-weight:600}.prose li p{margin:.5rem 0}.prose ul ul,.prose ol ol,.prose ul ol,.prose ol ul{margin:.75rem 0}.prose hr{border:none;height:1px;background:linear-gradient(to right,transparent,rgba(59,130,246,.5),rgba(139,92,246,.5),transparent);margin:3rem 0;position:relative}.prose hr:after{content:"✦";position:absolute;top:-.5rem;left:50%;transform:translate(-50%);background:#000;color:#60a5fa;padding:0 .5rem;font-size:.875rem}.prose table{width:100%;border-collapse:collapse;margin:2rem 0;border-radius:.5rem;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.prose th,.prose td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.prose th{background:#3b82f61a;color:#fff;font-weight:600}.prose tr:hover{background:#ffffff05}.prose img{border-radius:.75rem;margin:2rem 0;box-shadow:0 10px 30px #0000004d;border:1px solid rgba(255,255,255,.1)}.prose strong{color:#fff;font-weight:700}.prose em{color:#fffffff2;font-style:italic}.prose mark{background:#fbbf2433;color:#fbbf24;padding:.125rem .25rem;border-radius:.25rem}}@layer prism-overrides{.prose pre[class*=language-]{background:#0009}.prose code[class*=language-]{color:#e2e8f0}div.code-toolbar{position:relative;margin:2rem 0}div.code-toolbar>.toolbar{position:absolute;top:.75rem;right:.75rem;transition:opacity .3s ease-in-out;opacity:.7}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item>button{background:#3b82f633;border:1px solid rgba(59,130,246,.3);color:#fff;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;cursor:pointer;transition:all .2s ease}div.code-toolbar>.toolbar>.toolbar-item>button:hover{background:#3b82f64d}}@layer toc-override{.table-of-contents{background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:.75rem;padding:1.25rem;margin:2rem 0 2rem 2rem;position:relative;z-index:10;max-width:280px;float:right;clear:both;font-size:inherit;line-height:inherit;color:inherit}.prose .table-of-contents,.prose .table-of-contents *{font-size:inherit;line-height:inherit;color:inherit;margin:0;padding:0;background:none;border:none;text-decoration:none;font-weight:inherit;font-style:normal;text-transform:none;letter-spacing:normal;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset}.table-of-contents h3{margin:0 0 .75rem!important;color:#60a5fa!important;font-size:1.125rem!important;background:none!important;-webkit-text-fill-color:unset!important;font-weight:600!important;line-height:1.3!important;text-transform:none!important;letter-spacing:normal!important}.table-of-contents ul{list-style:none!important;margin:0!important;padding:0!important}.table-of-contents li{margin-bottom:.25rem!important;line-height:1.4!important;padding:0!important;position:static!important}.table-of-contents li:before{display:none!important;content:none!important}.table-of-contents a{color:#fffc!important;text-decoration:none!important;transition:all .2s ease!important;display:block!important;padding:.375rem .5rem!important;border-left:2px solid transparent!important;border-radius:.25rem!important;font-size:.875rem!important;line-height:1.3!important;border-bottom:none!important;position:static!important}.table-of-contents a:hover{color:#60a5fa!important;border-left-color:#60a5fa!important;background:#3b82f614!important;border-bottom:none!important}.table-of-contents a:focus{outline:2px solid #60a5fa!important;outline-offset:2px!important;border-radius:.25rem!important}.table-of-contents a.toc-h2{font-weight:600!important;font-size:.875rem!important;padding-left:.5rem!important}.table-of-contents a.toc-h3{padding-left:1.25rem!important;font-size:.8125rem!important;color:#ffffffbf!important}.table-of-contents a.toc-h4{padding-left:2rem!important;font-size:.75rem!important;color:#ffffffa6!important}@media (max-width: 1024px){.table-of-contents{position:static!important;float:none!important;margin:1.5rem 0!important;max-width:none!important;clear:none!important}}}@layer base{.date-text{color:#a3a3a3;font-size:.875rem}.updated-date{color:#737373;font-size:.75rem;font-style:italic}.hero-image{border-radius:1rem;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000080;position:relative}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,#3b82f61a,#8b5cf61a);opacity:0;transition:opacity .3s ease}.hero-image:hover:after{opacity:1}.bg-grid-white\/\[0\.02\]{background-image:radial-gradient(circle,#ffffff0a 1px,transparent 1px);background-size:50px 50px}html{scroll-behavior:smooth}.blog-content{background:#ffffff05;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.reading-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(to right,#3b82f6,#8b5cf6,#ec4899);z-index:1000;transition:width .1s ease}.prose :focus{outline:2px solid #60a5fa;outline-offset:2px;border-radius:.25rem}}@layer responsive{@media (max-width: 768px){.prose{font-size:1rem;line-height:1.7}.prose h1{font-size:2rem;margin:2rem 0 1rem}.prose h2{font-size:1.75rem;margin:2rem 0 1rem}.prose h3{font-size:1.5rem;margin:1.75rem 0 .75rem}.prose h4{font-size:1.25rem}.prose p:first-of-type{font-size:1.125rem}.prose pre{padding:1rem;font-size:.875rem}.prose blockquote{padding:1rem 1.5rem;margin:1.5rem 0}.prose blockquote:before{font-size:3rem;top:-.25rem}.prose ul,.prose ol{padding-left:1.5rem}}}@layer print{@media print{.prose{color:#000}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:#000;background:none;-webkit-text-fill-color:unset}.prose a{color:#00f;text-decoration:underline}.prose code,.prose pre{background:#f5f5f5;color:#000;border:1px solid #ddd}.prose blockquote{background:#f9f9f9;color:#000}.table-of-contents{display:none}}}
