@charset "UTF-8";iframe:where(.astro-7vszemnk){border:none}.hero:where(.astro-7vszemnk){padding:8rem 0 6rem;background:var(--bg-color);color:var(--text-color);overflow:hidden;position:relative}.hero:where(.astro-7vszemnk):before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(var(--accent-color-rgb),.15) 0%,transparent 50%);z-index:0;pointer-events:none}.container:where(.astro-7vszemnk){max-width:1200px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1}@media(max-width:960px){.container:where(.astro-7vszemnk){grid-template-columns:1fr;text-align:center}}.content:where(.astro-7vszemnk){display:flex;flex-direction:column;gap:1.5rem}@media(max-width:960px){.content:where(.astro-7vszemnk){align-items:center}}.badge:where(.astro-7vszemnk){display:inline-flex;align-items:center;gap:.5rem;background:rgba(var(--accent-color-rgb),.1);border:1px solid rgba(var(--accent-color-rgb),.2);padding:.5rem 1rem;border-radius:999px;font-size:.875rem;width:fit-content}.badge:where(.astro-7vszemnk) .badge-text:where(.astro-7vszemnk){font-weight:500;color:var(--accent-color)}.badge:where(.astro-7vszemnk) .badge-link:where(.astro-7vszemnk){color:var(--text-muted);text-decoration:none}.badge:where(.astro-7vszemnk) .badge-link:where(.astro-7vszemnk):hover{color:var(--text-color)}.title:where(.astro-7vszemnk){font-size:3.5rem;line-height:1.1;font-weight:800;letter-spacing:-.02em}@media(max-width:768px){.title:where(.astro-7vszemnk){font-size:2.5rem}}.title:where(.astro-7vszemnk) .gradient-text:where(.astro-7vszemnk){background:linear-gradient(135deg,var(--accent-color) 0%,#a855f7 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subtitle:where(.astro-7vszemnk){font-size:1.25rem;color:var(--text-muted);line-height:1.6;max-width:540px}.cta-group:where(.astro-7vszemnk){display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}@media(max-width:960px){.cta-group:where(.astro-7vszemnk){justify-content:center}}.btn:where(.astro-7vszemnk){padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;text-decoration:none;transition:all .2s ease;font-size:1rem}.btn:where(.astro-7vszemnk).btn-primary{background:var(--accent-color);color:#fff}.btn:where(.astro-7vszemnk).btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn:where(.astro-7vszemnk).btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-color)}.btn:where(.astro-7vszemnk).btn-secondary:hover{background:var(--bg-surface);border-color:var(--text-color)}.frameworks:where(.astro-7vszemnk){margin-top:2rem;display:flex;align-items:center;gap:1rem;color:var(--text-muted);font-size:.875rem}.frameworks:where(.astro-7vszemnk) .framework-icons:where(.astro-7vszemnk){display:flex;gap:1rem;font-weight:600;color:var(--text-color)}.example-container:where(.astro-7vszemnk){display:flex;justify-content:start;width:100%;max-width:568px;height:637px}.visual:where(.astro-7vszemnk){width:100%;height:min-content;background-color:#23262f;border-radius:.5rem;overflow:hidden;position:relative}.visual:where(.astro-7vszemnk) .expressive-code:where(.astro-7vszemnk){border-bottom:1px solid #3b3e47}.angular-logo:where(.astro-7vszemnk){width:45px}.react-logo:where(.astro-7vszemnk){width:45px;color:#58c4dc}.lit-logo:where(.astro-7vszemnk){width:45px}.latest-releases:where(.astro-scyjid2o){padding:6rem 0;background:var(--bg-surface)}.header:where(.astro-scyjid2o){text-align:center;margin-bottom:4rem}.header:where(.astro-scyjid2o) h2:where(.astro-scyjid2o){font-size:2.5rem;font-weight:700;margin-bottom:1rem}.header:where(.astro-scyjid2o) .subtitle:where(.astro-scyjid2o){font-size:1.25rem;color:var(--text-muted)}.timeline:where(.astro-scyjid2o){max-width:800px;margin:0 auto 3rem;position:relative}.timeline:where(.astro-scyjid2o):before{content:"";position:absolute;top:0;bottom:0;left:143px;width:2px;background:var(--border-color)}@media(max-width:768px){.timeline:where(.astro-scyjid2o):before{left:20px}}.release:where(.astro-scyjid2o){display:flex;gap:3rem;margin-bottom:3rem;position:relative}@media(max-width:768px){.release:where(.astro-scyjid2o){flex-direction:column;gap:1rem;padding-left:3rem}}.release:where(.astro-scyjid2o):before{content:"";position:absolute;left:136px;top:24px;width:12px;height:12px;background:var(--bg-color);border:2px solid var(--accent-color);border-radius:50%;z-index:1}@media(max-width:768px){.release:where(.astro-scyjid2o):before{left:15px;top:5px}}.release:where(.astro-scyjid2o) .date:where(.astro-scyjid2o){width:120px;text-align:right;font-size:.875rem;color:var(--text-muted);padding-top:1.4rem;flex-shrink:0}@media(max-width:768px){.release:where(.astro-scyjid2o) .date:where(.astro-scyjid2o){width:auto;text-align:left;padding-top:0}}.release:where(.astro-scyjid2o) .content:where(.astro-scyjid2o){background:var(--bg-color);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;flex-grow:1}.release:where(.astro-scyjid2o) .content:where(.astro-scyjid2o) .version:where(.astro-scyjid2o){font-family:monospace;color:var(--accent-color);margin-bottom:.5rem}.release:where(.astro-scyjid2o) .content:where(.astro-scyjid2o) h3:where(.astro-scyjid2o){font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.release:where(.astro-scyjid2o) .content:where(.astro-scyjid2o) p:where(.astro-scyjid2o){color:var(--text-muted);margin-bottom:1rem;line-height:1.6}.release:where(.astro-scyjid2o) .content:where(.astro-scyjid2o) .tags:where(.astro-scyjid2o){display:flex;gap:.5rem}.release:where(.astro-scyjid2o) .content:where(.astro-scyjid2o) .tags:where(.astro-scyjid2o) .tag:where(.astro-scyjid2o){font-size:.75rem;padding:.25rem .75rem;border-radius:999px;background:var(--bg-surface);color:var(--text-muted);font-weight:500}.release:where(.astro-scyjid2o) .content:where(.astro-scyjid2o) .tags:where(.astro-scyjid2o) .tag:where(.astro-scyjid2o).new{background:#27c93f1a;color:#27c93f}.release:where(.astro-scyjid2o) .content:where(.astro-scyjid2o) .tags:where(.astro-scyjid2o) .tag:where(.astro-scyjid2o).fix{background:#3b82f61a;color:#3b82f6}.release:where(.astro-scyjid2o) .content:where(.astro-scyjid2o) .tags:where(.astro-scyjid2o) .tag:where(.astro-scyjid2o).major{background:#a855f71a;color:#a855f7}.action:where(.astro-scyjid2o){text-align:center}.action:where(.astro-scyjid2o) .btn:where(.astro-scyjid2o){display:inline-block;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;text-decoration:none;transition:all .2s;background:transparent;border:1px solid var(--border-color);color:var(--text-color)}.action:where(.astro-scyjid2o) .btn:where(.astro-scyjid2o):hover{background:var(--bg-surface);border-color:var(--text-color)}.faq:where(.astro-dsdhukaf){padding:6rem 0;background:var(--bg-color)}.header:where(.astro-dsdhukaf){text-align:center;margin-bottom:4rem}.header:where(.astro-dsdhukaf) h2:where(.astro-dsdhukaf){font-size:2.5rem;font-weight:700;margin-bottom:1rem}.header:where(.astro-dsdhukaf) .subtitle:where(.astro-dsdhukaf){font-size:1.25rem;color:var(--text-muted)}.grid:where(.astro-dsdhukaf){display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1000px;margin:0 auto}@media(max-width:768px){.grid:where(.astro-dsdhukaf){grid-template-columns:1fr;gap:2rem}}.item:where(.astro-dsdhukaf) h3:where(.astro-dsdhukaf){font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--text-color)}.item:where(.astro-dsdhukaf) p:where(.astro-dsdhukaf){color:var(--text-muted);line-height:1.6}a:where(.astro-vaqlv4as){color:var(--accent-color)}.custom-power:where(.astro-vaqlv4as){padding:8rem 0;background:var(--bg-color);overflow:hidden}.container:where(.astro-vaqlv4as){display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}@media(max-width:960px){.container:where(.astro-vaqlv4as){grid-template-columns:1fr;gap:4rem}}.content:where(.astro-vaqlv4as) h2:where(.astro-vaqlv4as){font-size:3rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem}@media(max-width:768px){.content:where(.astro-vaqlv4as) h2:where(.astro-vaqlv4as){font-size:2.5rem}}.content:where(.astro-vaqlv4as) p:where(.astro-vaqlv4as){font-size:1.25rem;color:var(--text-muted);margin-bottom:3rem}.features:where(.astro-vaqlv4as){display:flex;flex-direction:column;gap:2rem}.features:where(.astro-vaqlv4as) .feature:where(.astro-vaqlv4as) h3:where(.astro-vaqlv4as){font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.features:where(.astro-vaqlv4as) .feature:where(.astro-vaqlv4as) p:where(.astro-vaqlv4as){font-size:1rem;margin:0}iframe:where(.astro-vaqlv4as){border:none}iframe:where(.astro-jeymnu7s){border:none}.home-examples:where(.astro-jeymnu7s) .expressive-code:where(.astro-jeymnu7s) .frame:where(.astro-jeymnu7s) pre:where(.astro-jeymnu7s){overflow-y:auto}.custom-power:where(.astro-jeymnu7s){padding:6rem 0;background:var(--bg-color);overflow:hidden}.container:where(.astro-jeymnu7s){display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}@media(max-width:960px){.container:where(.astro-jeymnu7s){grid-template-columns:1fr;gap:4rem}}.content:where(.astro-jeymnu7s) h2:where(.astro-jeymnu7s){font-size:3rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem}@media(max-width:768px){.content:where(.astro-jeymnu7s) h2:where(.astro-jeymnu7s){font-size:2.5rem}}.content:where(.astro-jeymnu7s) p:where(.astro-jeymnu7s){font-size:1.25rem;color:var(--text-muted);margin-bottom:3rem}iframe:where(.astro-jeymnu7s){border:0}:root{--bg-color: #ffffff;--text-color: #1a1a1a;--text-muted: #666666;--accent-color: #3b82f6;--accent-color-rgb: 59, 130, 246;--border-color: #e5e5e5;--bg-surface: #f5f5f5;--sl-color-white: hsl(0, 0%, 100%);--sl-color-gray-1: hsl(224, 20%, 94%);--sl-color-gray-2: hsl(224, 6%, 77%);--sl-color-gray-3: hsl(224, 6%, 56%);--sl-color-gray-4: hsl(224, 7%, 36%);--sl-color-gray-5: hsl(224, 10%, 23%);--sl-color-gray-6: hsl(224, 14%, 16%);--sl-color-black: hsl(224, 10%, 10%);--sl-hue-orange: 41;--sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green: 101;--sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue: 234;--sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple: 281;--sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red: 339;--sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low: hsl(224, 54%, 20%);--sl-color-accent: hsl(224, 100%, 60%);--sl-color-accent-high: hsl(224, 100%, 85%);--sl-color-text: var(--sl-color-gray-2);--sl-color-text-accent: var(--sl-color-accent-high);--sl-color-text-invert: var(--sl-color-accent-low);--sl-color-bg: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-6);--sl-color-bg-sidebar: var(--sl-color-gray-6);--sl-color-bg-inline-code: var(--sl-color-gray-5);--sl-color-bg-accent: var(--sl-color-accent-high);--sl-color-hairline-light: var(--sl-color-gray-5);--sl-color-hairline: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-black);--sl-color-backdrop-overlay: hsla(223, 13%, 10%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .12), 0px 2px 1px hsla(0, 0%, 0%, .24);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .08), 0px 5px 2px hsla(0, 0%, 0%, .08), 0px 3px 2px hsla(0, 0%, 0%, .12), 0px 1px 1px hsla(0, 0%, 0%, .15);--sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, .03), 0px 16px 6px hsla(0, 0%, 0%, .1), 0px 9px 5px hsla(223, 13%, 10%, .33), 0px 4px 4px hsla(0, 0%, 0%, .75), 0px 4px 2px hsla(0, 0%, 0%, .25);--sl-text-2xs: .75rem;--sl-text-xs: .8125rem;--sl-text-sm: .875rem;--sl-text-base: 1rem;--sl-text-lg: 1.125rem;--sl-text-xl: 1.25rem;--sl-text-2xl: 1.5rem;--sl-text-3xl: 1.8125rem;--sl-text-4xl: 2.1875rem;--sl-text-5xl: 2.625rem;--sl-text-6xl: 4rem;--sl-text-body: var(--sl-text-base);--sl-text-body-sm: var(--sl-text-xs);--sl-text-code: var(--sl-text-sm);--sl-text-code-sm: var(--sl-text-xs);--sl-text-h1: var(--sl-text-4xl);--sl-text-h2: var(--sl-text-3xl);--sl-text-h3: var(--sl-text-2xl);--sl-text-h4: var(--sl-text-xl);--sl-text-h5: var(--sl-text-lg);--sl-line-height: 1.75;--sl-line-height-headings: 1.2;--sl-font-system: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font: var(--sl-font, var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono: var(--sl-font-mono, var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1rem;--sl-nav-pad-y: .75rem;--sl-mobile-toc-height: 3rem;--sl-sidebar-width: 18.75rem;--sl-sidebar-pad-x: 1rem;--sl-content-width: 45rem;--sl-content-pad-x: 1rem;--sl-content-gap-y: 1rem;--sl-main-pad: 0 0 3vh 0;--sl-menu-button-size: 2rem;--sl-nav-gap: var(--sl-content-pad-x);--sl-outline-offset-inside: -.1875rem;--sl-z-index-toc: 4;--sl-z-index-menu: 5;--sl-z-index-navbar: 10;--sl-z-index-skiplink: 20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white: hsl(224, 10%, 10%);--sl-color-gray-1: hsl(224, 14%, 16%);--sl-color-gray-2: hsl(224, 10%, 23%);--sl-color-gray-3: hsl(224, 7%, 36%);--sl-color-gray-4: hsl(224, 6%, 56%);--sl-color-gray-5: hsl(224, 6%, 77%);--sl-color-gray-6: hsl(224, 20%, 94%);--sl-color-gray-7: hsl(224, 19%, 97%);--sl-color-black: hsl(0, 0%, 100%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange: hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low: hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high: hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low: hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue: hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low: hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple: hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low: hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high: hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red: hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low: hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high: hsl(234, 80%, 30%);--sl-color-accent: hsl(234, 90%, 60%);--sl-color-accent-low: hsl(234, 88%, 90%);--sl-color-text-accent: var(--sl-color-accent);--sl-color-text-invert: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-7);--sl-color-bg-sidebar: var(--sl-color-bg);--sl-color-bg-inline-code: var(--sl-color-gray-6);--sl-color-bg-accent: var(--sl-color-accent);--sl-color-hairline-light: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-gray-6);--sl-color-backdrop-overlay: hsla(225, 9%, 36%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .06), 0px 2px 1px hsla(0, 0%, 0%, .06);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .03), 0px 5px 2px hsla(0, 0%, 0%, .03), 0px 3px 2px hsla(0, 0%, 0%, .06), 0px 1px 1px hsla(0, 0%, 0%, .06);--sl-shadow-lg: 0px 25px 7px rgba(0, 0, 0, .01), 0px 16px 6px hsla(0, 0%, 0%, .03), 0px 9px 5px hsla(223, 13%, 10%, .08), 0px 4px 4px hsla(0, 0%, 0%, .16), 0px 4px 2px hsla(0, 0%, 0%, .04)}@media(min-width:50em){:root{--sl-nav-height: 4rem;--sl-nav-pad-x: 1.5rem;--sl-text-h1: var(--sl-text-5xl);--sl-text-h2: var(--sl-text-4xl);--sl-text-h3: var(--sl-text-3xl);--sl-text-h4: var(--sl-text-2xl)}}@media(min-width:72rem){:root{--sl-content-pad-x: 1.5rem;--sl-mobile-toc-height: 0rem}}html.dark{--bg-color: #23262f;--text-color: #ffffff;--text-muted: #a1a1aa;--accent-color: #60a5fa;--accent-color-rgb: 96, 165, 250;--border-color: #3f3f46;--bg-surface: #2d3039}body{margin:0;font-family:Inter,Fira Code,system-ui,-apple-system,sans-serif;background:var(--bg-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}starlight-tabs ul{margin-bottom:0}starlight-tabs div{margin-top:0}.landing-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(var(--bg-color),.8);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color)}.landing-header .container{display:flex;justify-content:space-between;align-items:center;height:4rem}.landing-header .logo{font-size:1.5rem;font-weight:700;text-decoration:none;color:var(--text-color)}.landing-header .logo .highlight{color:var(--accent-color)}.landing-header nav{display:flex;align-items:center;gap:2rem}.landing-header nav a{color:var(--text-muted);text-decoration:none;font-weight:500;transition:color .2s}.landing-header nav a:hover{color:var(--text-color)}#theme-toggle{background:none;border:none;cursor:pointer;color:var(--text-color);padding:.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center}#theme-toggle:hover{background:var(--bg-surface)}#theme-toggle .sun-icon{display:none}#theme-toggle .moon-icon,html.dark #theme-toggle .sun-icon{display:block}html.dark #theme-toggle .moon-icon{display:none}.landing-footer{padding:4rem 0 2rem;border-top:1px solid var(--border-color);background:var(--bg-surface)}.landing-footer .footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;margin-bottom:3rem}@media(max-width:768px){.landing-footer .footer-content{grid-template-columns:1fr}}.landing-footer .footer-col h3{font-size:1.5rem;font-weight:700;margin:0 0 1rem}.landing-footer .footer-col h4{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--text-color)}.landing-footer .footer-col p{color:var(--text-muted);line-height:1.6}.landing-footer .footer-col a{display:block;color:var(--text-muted);text-decoration:none;margin-bottom:.5rem;transition:color .2s}.landing-footer .footer-col a:hover{color:var(--accent-color)}.landing-footer .copyright{text-align:center;color:var(--text-muted);font-size:.875rem;padding-top:2rem;border-top:1px solid var(--border-color)}.home-examples .expressive-code .frame pre{overflow-y:auto}
