@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600&family=Sora:wght@400;500;600;700&display=swap";:root{font-family:Sora,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#172224;background-color:#f5f6f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--brand: #0f766e;--brand-strong: #0d5f59;--brand-muted: #4b676a;--brand-bg: #f5f6f2;--brand-panel: #fffdf8;--brand-dark: #172224;--brand-line: rgba(47, 75, 79, .15)}a{font-weight:500;color:var(--brand);text-decoration:inherit}a:hover{color:var(--brand-strong)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--brand-bg)}h1,h2,h3,.font-display{font-family:Fraunces,Georgia,serif;letter-spacing:-.02em}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .25s}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.prose img{max-width:100%;max-height:600px;height:auto;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 1px 3px #0000001a}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes cardHover{0%{transform:translateY(0);box-shadow:0 1px 3px #0000001a}to{transform:translateY(-4px);box-shadow:0 10px 25px -5px #0000001a}}.page-container{animation:fadeIn .5s ease-out forwards}.grid-item{opacity:1;animation:fadeIn .6s ease-out forwards}.grid-item:nth-child(1){animation-delay:.1s}.grid-item:nth-child(2){animation-delay:.2s}.grid-item:nth-child(3){animation-delay:.3s}.grid-item:nth-child(4){animation-delay:.4s}.grid-item:nth-child(5){animation-delay:.5s}.grid-item:nth-child(6){animation-delay:.6s}.grid-item:nth-child(7){animation-delay:.7s}.grid-item:nth-child(8){animation-delay:.8s}.grid-item:nth-child(9){animation-delay:.9s}.grid-item:nth-child(n+10){animation-delay:1s}a,button{transition:all .2s ease-in-out}.transition-colors{transition-property:color,background-color,border-color;transition-duration:.2s;transition-timing-function:ease-in-out}button:active,.btn-active{transform:scale(.98);transition:transform .1s ease}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-pulse-custom{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease-out,transform .3s ease-out}.page-transition-exit{opacity:1}.page-transition-exit-active{opacity:0;transition:opacity .2s ease-in}.hero-content{animation:fadeIn .8s ease-out forwards}.hero-title{opacity:1;animation:slideInLeft .6s ease-out forwards}.hero-subtitle{opacity:1;animation:slideInRight .6s ease-out .2s forwards}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0,#f8f8f8,#f0f0f0);background-size:1000px 100%;animation:shimmer 2s infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.prose{max-width:100%;color:#111827;font-size:1.0625rem;line-height:1.8;letter-spacing:-.01em}.prose>*:first-child{margin-top:0}.prose>*:last-child{margin-bottom:0}.prose p{margin:1.25em 0;color:#374151}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:#111827;font-weight:700;line-height:1.25;margin-top:2.5rem;margin-bottom:1rem;letter-spacing:-.015em}.prose h1{font-size:clamp(2.5rem,5vw,3rem);margin-top:2.75rem}.prose h2{font-size:clamp(2rem,4vw,2.5rem)}.prose h3{font-size:clamp(1.5rem,3vw,2rem)}.prose h4{font-size:clamp(1.25rem,2.5vw,1.5rem)}.prose a{color:#2563eb;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;font-weight:600}.prose a:hover{color:#1d4ed8}.prose strong{color:#111827;font-weight:700}.prose em{color:#1f2937}.prose blockquote{margin:2rem 0;padding:1.5rem;border-left:4px solid #6366f1;background:#6366f114;border-radius:.75rem;font-size:1.1rem;font-style:italic;color:#1f2937}.prose ul,.prose ol{margin:1.5rem 0;padding-left:1.75rem;color:#374151}.prose ul li{list-style-type:disc;margin-bottom:.75rem}.prose ol li{list-style-type:decimal;margin-bottom:.75rem}.prose li>ul,.prose li>ol{margin-top:.75rem}.prose code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background-color:#0f172a0f;color:#1f2937;padding:.25em .5em;border-radius:.4rem;font-size:.95em}.prose pre{background:#0f172a;color:#e2e8f0;padding:1.5rem;border-radius:1rem;overflow-x:auto;font-size:.95rem;line-height:1.65;margin:2rem 0}.prose hr{margin:3rem 0;border:0;border-top:1px solid rgba(15,23,42,.1)}.prose table{width:100%;border-collapse:collapse;margin:2.5rem 0;font-size:.95rem}.prose thead tr{background-color:#4f46e514}.prose th,.prose td{border:1px solid rgba(148,163,184,.5);padding:.9rem 1.1rem;text-align:left}.prose figcaption,.prose .image-caption{text-align:center;font-size:.9rem;color:#6b7280;margin-top:.75rem}.prose img,.prose video,.prose iframe{border-radius:1rem;margin:2rem auto;display:block;max-width:100%}.prose mark{background-color:#fef08a;padding:.15em .4em;border-radius:.4rem}.prose sup,.prose sub{font-size:.8em}.prose sup{vertical-align:super}.prose sub{vertical-align:baseline}.prose .callout{margin:2.5rem 0;padding:1.5rem;border-radius:1rem;background:#3b82f614;border:1px solid rgba(59,130,246,.25)}@media(max-width:768px){.prose{font-size:1rem;line-height:1.75}.prose h1,.prose h2,.prose h3,.prose h4{margin-top:2rem}.prose blockquote{padding:1.25rem}}
