:root{--font-header: "CustomHeader", system-ui, sans-serif;--font-body: "CustomBody", system-ui, sans-serif;--pattern-dots: url("data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2' cy='2' r='1' fill='%23ffffff' opacity='0.06'/%3E%3C/svg%3E");--pattern-grid: url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 40L40 0M20 40L40 20M0 20L20 0' stroke='%23ffffff' stroke-width='0.5' opacity='0.06'/%3E%3C/svg%3E");--ferret-purple: 262, 83%, 58%;--ferret-blue: 217, 91%, 60%;--ferret-pink: 334, 89%, 62%;--ferret-yellow: 57, 94%, 43%;--ferret-cyan: 178, 94%, 43%;--accent-hsl: var(--ferret-pink);--accent-color: hsl(var(--accent-hsl));--trans-accent: hsla(var(--accent-hsl), .08);--editor-bg: #282c34;--editor-fg: #abb2bf;--border: hsl(214.3 31.8% 91.4%);--background: hsl(0 0% 100%);--foreground: hsl(222.2 84% 4.9%);--muted: hsl(210 40% 96.1%);--muted-foreground: hsl(215.4 16.3% 46.9%);--accent: hsl(222.2 47.4% 11.2%);--neutral: rgba(126, 126, 126, .164);--neutral-hover: rgba(42, 42, 42, .256);--sl-color-accent: var(--accent-color);--sl-color-accent-high: var(--accent-color);--sl-color-text-accent: var(--accent-color);--sl-color-bg-badge: var(--sl-badge-tip-bg) !important;--sl-color-border-badge: var(--sl-badge-tip-border) !important;--sl-color-text-badge: var(--sl-badge-tip-text) !important;--sl-nav-height: 3.5rem;--sl-z-index-navbar: 1000;--scroll-thumb: hsla(var(--accent-hsl), .5);--scroll-thumb-hover: hsla(var(--accent-hsl), .8)}@font-face{font-family:CustomHeader;src:url(/fonts/The%20Laker.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:CustomBody;src:url(/fonts/ShareTech.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}:root[data-theme=dark]{--border: hsl(225deg 14.63% 16.08%);--background: #14161c;--foreground: hsl(210 40% 98%);--muted: hsl(225deg 14.63% 16.08%);--muted-foreground: hsl(215 20.2% 65.1%);--accent: hsl(210 40% 98%);--sl-color-accent: var(--accent-color);--sl-color-accent-high: var(--accent-color);--sl-color-text-accent: var(--accent-color);--neutral: rgba(126, 126, 126, .164);--neutral-hover: rgba(148, 148, 148, .344);--pattern-dots: url("data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2' cy='2' r='1' fill='%23ffffff' opacity='0.08'/%3E%3C/svg%3E");--pattern-grid: url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 40L40 0M20 40L40 20M0 20L20 0' stroke='%23ffffff' stroke-width='0.5' opacity='0.08'/%3E%3C/svg%3E")}:root[data-theme=light]{--pattern-dots: url("data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2' cy='2' r='1' fill='%23000000' opacity='0.08'/%3E%3C/svg%3E");--pattern-grid: url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 40L40 0M20 40L40 20M0 20L20 0' stroke='%23000000' stroke-width='0.5' opacity='0.08'/%3E%3C/svg%3E")}body,html{overflow-x:hidden;max-width:100vw;font-family:var(--font-body)}h1,h2,h3,h4,h5,h6{font-family:var(--font-header)}:global(.header){padding:0!important;border-bottom:none!important;background:transparent!important}main:has(.hero),main:has(.hero) .content-panel{padding-top:0!important;padding-bottom:0!important}.ferret-logo{width:2rem;height:2rem;object-fit:contain}.main-frame{background-image:var(--pattern-dots);background-size:20px 20px;padding-top:calc(var(--sl-nav-height))!important}.page-container{display:flex;flex-direction:column;height:100vh}.content-panel{padding-top:1rem!important;margin-top:1rem}mobile-starlight-toc{display:block;margin-bottom:4rem!important}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:var(--background)}body::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:5px}body::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}@media(max-width:50rem){.navbar .mobile-menu-toggle{display:none!important}}.hero{position:relative;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%);margin-top:calc(var(--sl-content-pad-y, 1rem) * -1);background:var(--pattern-grid),radial-gradient(circle at 20% 50%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgb(244 69 192 / 27%) 0%,transparent 50%);background-size:40px 40px,100% 100%,100% 100%}.sidebar{background-image:var(--pattern-dots);background-size:20px 20px}.sidebar-pane{top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height))}#starlight__on-this-page--mobile{padding:.5rem!important}@media(max-width:50rem){.sidebar starlight-theme-select,.sidebar .social-icons,.mobile-preferences{display:none!important}}footer:not(.custom-footer){position:relative;margin-top:0!important;padding:2rem 0 0!important}.sl-markdown-content:has(.hero)~* footer:not(.custom-footer),body:has(.custom-footer) footer:not(.custom-footer){display:none!important}footer:not(.custom-footer) .meta{margin:0}footer:not(.custom-footer) .pagination-links{margin-top:0!important;padding-top:1.5rem;display:flex;flex-direction:row;justify-content:space-between;border-top:2px solid var(--border);gap:1rem}footer:not(.custom-footer) .pagination-links a[rel=prev]:only-child{margin-right:auto;margin-left:0}footer:not(.custom-footer) .pagination-links a[rel=next]:only-child{margin-left:auto;margin-right:0}.sl-link-button{font-size:.8rem;padding:.5rem .75rem}details .toggle{border-color:transparent}.pagination-links a{border:none;box-shadow:none;padding:0;width:max-content;max-width:max-content}.pagination-links a svg{display:none}.pagination-links span:first-of-type{color:gray;font-size:1rem;text-transform:uppercase}.pagination-links .link-title{font-size:.8rem!important;color:var(--accent-color)!important;text-decoration:underline;text-transform:capitalize!important}.right-sidebar:before{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background:linear-gradient(to bottom,transparent 0%,rgba(59,130,246,.3) 20%,rgba(124,58,237,.3) 80%,transparent 100%)}.site-title,header .site-title,header a[href="/"]{color:var(--accent-color)!important}header{z-index:var(--sl-z-index-navbar);position:fixed;top:0;left:0;right:0;width:100%;height:max-content;border-bottom:1px solid var(--sl-color-hairline-shade);background-color:var(--sl-color-bg-nav);padding:0;padding-inline-end:0}@media(max-width:50rem){starlight-menu-button{display:none!important}}.sidebar a[aria-current=page]{background:none!important;font-weight:600}.sidebar-content a[aria-current=page]>.sl-badge{--sl-color-bg-badge: var(--sl-badge-tip-bg) !important;--sl-color-border-badge: var(--sl-badge-tip-border) !important;--sl-color-text-badge: var(--sl-badge-tip-text) !important;color:var(--sl-color-text-badge)!important;font-weight:initial!important}.sidebar a[aria-current=page] span:first-of-type{color:var(--accent-color)!important}.sidebar a[aria-current=page]:hover span:first-of-type{filter:brightness(.8)}:root[data-theme=light] .sidebar a[aria-current=false]:hover span:first-of-type{color:#111!important}:root[data-theme=dark] .sidebar a[aria-current=false]:hover span:first-of-type{color:#fff!important}*:focus-visible{outline-color:var(--accent-color)!important}.hero .action.primary,.hero .action[data-variant=primary],.hero .actions a[href*=getting-started]{color:#fff!important;transition:all .2s ease!important}.hero .action.primary:hover,.hero .action[data-variant=primary]:hover,.hero .actions a[href*=getting-started]:hover{opacity:.85!important}.hero .action.secondary,.hero .action[data-variant=secondary],.hero .actions a[href*=github]:not(.primary){border-width:2px!important;transition:all .2s ease!important}.hero .action.secondary:hover,.hero .action[data-variant=secondary]:hover,.hero .actions a[href*=github]:hover{background-color:#8282821a!important}.astro-code{border-radius:.5rem;padding:1rem;overflow-x:auto}.expressive-code{position:relative}.expressive-code figure{border-radius:10px}figure pre,figure figcaption{border-radius:0}figure:has(figcaption:not(:empty)) figcaption{border-radius:10px 10px 0 0}figure:has(figcaption:not(:empty)) pre{border-radius:0 0 10px 10px}figure:has(figcaption:empty) pre{border-radius:10px}figcaption.header{padding:8px 0}figcaption .title{margin-left:.5rem;border-radius:5px 5px 0 0;border:none}.expressive-code .copy{position:absolute;top:.5rem;right:.5rem}.expressive-code .copy button{padding:2px;font-size:.2rem;border-radius:5px;width:25px;height:25px;border:none!important;background:var(--background);color:var(--foreground)}.expressive-code:has(button) figcaption .title{visibility:hidden}.expressive-code .copy .feedback{position:absolute;top:0;right:2rem;font-size:.75rem;color:var(--foreground);background:var(--accent-color)}.expressive-code .copy .feedback:after{border-color:transparent transparent transparent var(--accent-color)}.expressive-code .copy button *{font-size:.2rem!important}.expressive-code .copy button:hover{background:var(--muted)}::view-transition-old(root),::view-transition-new(root){animation-duration:.15s}.modern-layout{max-width:800px;margin:0 auto;padding:0 1rem;position:relative;isolation:isolate}.section-label{display:inline-block;margin-bottom:3rem;padding-bottom:.5rem;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--foreground);color:var(--foreground);position:relative;overflow:hidden}.features-modern{margin:4rem 0}.feature-item{margin-bottom:4rem;padding-left:1rem;padding-top:10px;padding-bottom:10px;border-left:1px solid var(--border);position:relative;overflow:hidden;transition:all .3s ease}.feature-item:hover{border-left-color:var(--foreground);transform:translate(8px)}.feature-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:.75rem}.feature-marker{font-size:.75rem;font-weight:500;font-family:ui-monospace,SFMono-Regular,monospace;color:var(--muted-foreground)}.feature-item h2{margin:0;font-size:1.5rem;font-weight:600;transition:all .3s ease}.feature-item:hover h2{background-position:100% 0}.feature-description{margin:0;padding-left:2.5rem;font-size:1rem;line-height:1.6;color:var(--muted-foreground)}.feature-description code{padding:.125rem .375rem;font-size:.875em;border-radius:.25rem;background:var(--muted);color:var(--foreground);font-family:ui-monospace,SFMono-Regular,monospace}.example-modern,.paths-modern{margin:4rem 0}.path-link{display:flex;align-items:center;justify-content:space-between;padding:2rem 0;border-top:1px solid var(--border);text-decoration:none;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.path-link:last-child{border-bottom:1px solid var(--border)}.path-link:hover{padding-left:1rem}.path-content{flex:1}.path-step{display:block;margin-bottom:.5rem;font-size:.75rem;font-weight:500;font-family:ui-monospace,SFMono-Regular,monospace;color:var(--muted-foreground)}.path-link h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:var(--foreground);transition:color .2s ease}.path-link:hover h3{color:var(--accent)}.path-link p{margin:0;font-size:.875rem;line-height:1.5;color:var(--muted-foreground)}.path-icon{font-size:2rem;color:var(--muted-foreground);transition:all .2s ease}.path-link:hover .path-icon{color:var(--foreground);transform:translate(.5rem)}@media(max-width:768px){.modern-layout{padding:0 1rem}.feature-item h2,.path-link h3{font-size:1.25rem}.path-icon{font-size:1.5rem}}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}.scroll-fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.scroll-fade-in.visible{opacity:1;transform:translateY(0)}.scroll-slide-up{opacity:0;transform:translateY(10px);transition:opacity .7s ease-out,transform .7s ease-out}.scroll-slide-up.visible{opacity:1;transform:translateY(0)}[data-delay="0"].visible{transition-delay:0ms}[data-delay="100"].visible{transition-delay:.1s}[data-delay="200"].visible{transition-delay:.2s}[data-delay="300"].visible{transition-delay:.3s}.modern-layout:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(800px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),var(--trans-accent),transparent 50%);pointer-events:none;opacity:var(--show-effect, 0);transition:opacity .5s ease;z-index:-1}.modern-layout>*{position:relative;z-index:1}.feature-item{position:relative;overflow:hidden;transition:all .3s ease}.feature-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--trans-accent),transparent);transition:left .5s ease}.feature-item:hover:before{left:100%}.feature-item:hover{transform:translate(8px)}.path-link{position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.path-link:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,var(--trans-accent),transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.path-link:hover:after{opacity:1}.example-modern .scroll-fade-in{transition:opacity .8s ease-out,transform .8s ease-out}.example-modern .scroll-fade-in.visible{animation:subtle-scale .6s ease-out forwards}.example-modern .expressive-code,.example-modern .astro-code{position:relative;animation:float 6s ease-in-out infinite}@keyframes subtle-scale{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}html{scroll-behavior:smooth}.scroll-animate{perspective:1000px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.scroll-fade-in,.scroll-slide-up{opacity:1;transform:none}}img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;pointer-events:none}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.content :global(*){-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.posts .post-card *,.post *,.main-frame .content-panel *,.sidebar-content *,.starlight-markdown-content *{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}code,pre,input,textarea,select,#output-log,#output-log *{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important}.content img,.posts img,.post img{pointer-events:auto}
