@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/inter-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/inter-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:900;src:url(/fonts/inter-latin-900-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.font-inter{font-family:Inter,system-ui,-apple-system,sans-serif}.font-jetbrains{font-family:JetBrains Mono,Courier New,monospace}.font-inter-medium{font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:500}.font-inter-semibold{font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:600}.font-inter-bold{font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:700}.font-jetbrains-medium{font-family:JetBrains Mono,Courier New,monospace;font-weight:500}.font-jetbrains-semibold{font-family:JetBrains Mono,Courier New,monospace;font-weight:600}:root{--section-hero-bg: #9aa6b2;--section-about-bg: #bcccdc;--section-skills-bg: #96b6c5;--section-projects-bg: #adc4ce;--section-services-preview-bg: #bcccdc;--section-blog-bg: #9aa6b2;--section-services-bg: #bcccdc;--section-goodies-bg: #bcccdc;--section-testimonials-bg: #bcccdc;--section-contact-bg: #adc4ce;--section-faqs-bg: #bcccdc;--section-footer-bg: #e8ebf0;--hero-to-about-1: #a1aeba;--hero-to-about-2: #a8b5c3;--hero-to-about-3: #aebdcb;--hero-to-about-4: #b5c4d4;--hero-to-about-5: #bcccdc;--about-to-skills-1: #b4c8d7;--about-to-skills-2: #adc3d3;--about-to-skills-3: #a5bfce;--about-to-skills-4: #9ebaca;--about-to-skills-5: #96b6c5;--skills-to-projects-1: #9bb9c7;--skills-to-projects-2: #9fbcc9;--skills-to-projects-3: #a4beca;--skills-to-projects-4: #a8c1cc;--skills-to-projects-5: #adc4ce;--projects-to-services-preview-1: #b0c6d1;--projects-to-services-preview-2: #b3c7d4;--projects-to-services-preview-3: #b6c9d6;--projects-to-services-preview-4: #b9cad9;--projects-to-services-preview-5: #bcccdc;--services-preview-to-blog-1: #b5c4d4;--services-preview-to-blog-2: #aebdcb;--services-preview-to-blog-3: #a8b5c3;--services-preview-to-blog-4: #a1aeba;--services-preview-to-blog-5: #9aa6b2;--projects-to-blog-1: #a9bec8;--projects-to-blog-2: #a5b8c3;--projects-to-blog-3: #a2b2bd;--projects-to-blog-4: #9eacb8;--projects-to-blog-5: #9aa6b2;--blog-to-services-1: #a1aeba;--blog-to-services-2: #a8b5c3;--blog-to-services-3: #aebdcb;--blog-to-services-4: #b5c4d4;--blog-to-services-5: #bcccdc;--blog-to-testimonials-1: #a1aeba;--blog-to-testimonials-2: #a8b5c3;--blog-to-testimonials-3: #aebdcb;--blog-to-testimonials-4: #b5c4d4;--blog-to-testimonials-5: #bcccdc;--services-to-testimonials-1: #bcccdc;--services-to-testimonials-2: #bcccdc;--services-to-testimonials-3: #bcccdc;--services-to-testimonials-4: #bcccdc;--services-to-testimonials-5: #bcccdc;--testimonials-to-faqs-1: #bcccdc;--testimonials-to-faqs-2: #bcccdc;--testimonials-to-faqs-3: #bcccdc;--testimonials-to-faqs-4: #bcccdc;--testimonials-to-faqs-5: #bcccdc;--testimonials-to-contact-1: #b9cad9;--testimonials-to-contact-2: #b6c9d6;--testimonials-to-contact-3: #b3c7d4;--testimonials-to-contact-4: #b0c6d1;--testimonials-to-contact-5: #adc4ce;--faqs-to-contact-1: #b9cad9;--faqs-to-contact-2: #b6c9d6;--faqs-to-contact-3: #b3c7d4;--faqs-to-contact-4: #b0c6d1;--faqs-to-contact-5: #adc4ce;--contact-to-faqs-1: #b0c6d1;--contact-to-faqs-2: #b3c7d4;--contact-to-faqs-3: #b6c9d6;--contact-to-faqs-4: #b9cad9;--contact-to-faqs-5: #bcccdc;--faqs-to-footer-1: #c5d2e0;--faqs-to-footer-2: #ced8e4;--faqs-to-footer-3: #d6dfe8;--faqs-to-footer-4: #dfe5ec;--faqs-to-footer-5: #e8ebf0;--contact-to-footer-1: #b9ccd5;--contact-to-footer-2: #c5d4dc;--contact-to-footer-3: #d0dbe2;--contact-to-footer-4: #dce3e9;--contact-to-footer-5: #e8ebf0}.dark{--section-hero-bg: #0d1117;--section-about-bg: #161b22;--section-skills-bg: #1c2128;--section-projects-bg: #21262d;--section-services-preview-bg: #161b22;--section-blog-bg: #0d1117;--section-services-bg: #161b22;--section-goodies-bg: #161b22;--section-testimonials-bg: #21262d;--section-contact-bg: #1c2128;--section-faqs-bg: #161b22;--section-footer-bg: #010409;--hero-to-about-1: #0f1319;--hero-to-about-2: #11151b;--hero-to-about-3: #12171e;--hero-to-about-4: #141920;--hero-to-about-5: #161b22;--about-to-skills-1: #171c23;--about-to-skills-2: #181d24;--about-to-skills-3: #1a1f26;--about-to-skills-4: #1b2027;--about-to-skills-5: #1c2128;--skills-to-projects-1: #1d2229;--skills-to-projects-2: #1e232a;--skills-to-projects-3: #1f242b;--skills-to-projects-4: #20252c;--skills-to-projects-5: #21262d;--projects-to-services-preview-1: #1f242b;--projects-to-services-preview-2: #1d2229;--projects-to-services-preview-3: #1a1f26;--projects-to-services-preview-4: #181d24;--projects-to-services-preview-5: #161b22;--services-preview-to-blog-1: #141920;--services-preview-to-blog-2: #12171e;--services-preview-to-blog-3: #11151b;--services-preview-to-blog-4: #0f1319;--services-preview-to-blog-5: #0d1117;--projects-to-blog-1: #1d2229;--projects-to-blog-2: #191e24;--projects-to-blog-3: #151920;--projects-to-blog-4: #11151b;--projects-to-blog-5: #0d1117;--blog-to-services-1: #0f1319;--blog-to-services-2: #11151b;--blog-to-services-3: #12171e;--blog-to-services-4: #141920;--blog-to-services-5: #161b22;--blog-to-testimonials-1: #11151b;--blog-to-testimonials-2: #151920;--blog-to-testimonials-3: #191e24;--blog-to-testimonials-4: #1d2229;--blog-to-testimonials-5: #21262d;--services-to-testimonials-1: #181d24;--services-to-testimonials-2: #1a1f26;--services-to-testimonials-3: #1d2229;--services-to-testimonials-4: #1f242b;--services-to-testimonials-5: #21262d;--testimonials-to-faqs-1: #1f242b;--testimonials-to-faqs-2: #1d2229;--testimonials-to-faqs-3: #1a1f26;--testimonials-to-faqs-4: #181d24;--testimonials-to-faqs-5: #161b22;--testimonials-to-contact-1: #20252c;--testimonials-to-contact-2: #1f242b;--testimonials-to-contact-3: #1e232a;--testimonials-to-contact-4: #1d2229;--testimonials-to-contact-5: #1c2128;--faqs-to-contact-1: #171c23;--faqs-to-contact-2: #181d24;--faqs-to-contact-3: #1a1f26;--faqs-to-contact-4: #1b2027;--faqs-to-contact-5: #1c2128;--contact-to-faqs-1: #1b2027;--contact-to-faqs-2: #1a1f26;--contact-to-faqs-3: #181d24;--contact-to-faqs-4: #171c23;--contact-to-faqs-5: #161b22;--faqs-to-footer-1: #12161d;--faqs-to-footer-2: #0e1218;--faqs-to-footer-3: #090d13;--faqs-to-footer-4: #05090e;--faqs-to-footer-5: #010409;--contact-to-footer-1: #171b22;--contact-to-footer-2: #11151c;--contact-to-footer-3: #0c1015;--contact-to-footer-4: #060a0f;--contact-to-footer-5: #010409}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.metric-item[data-astro-cid-vjida3td]{position:relative;cursor:help}.metric-item[data-astro-cid-vjida3td][data-tooltip-position=top]:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-width:4px 6px 0 6px;border-style:solid;z-index:100;opacity:0;transition:opacity .3s ease;pointer-events:none}.metric-item[data-astro-cid-vjida3td][data-tooltip-position=top]:after{content:attr(data-tooltip);position:absolute;left:50%;top:-6px;transform:translate(-50%) translateY(-100%);text-align:center;padding:6px 10px;font-size:11px;min-width:80px;border-radius:6px;pointer-events:none;z-index:100;opacity:0;transition:opacity .3s ease;white-space:nowrap;font-weight:500}.metric-item[data-astro-cid-vjida3td][data-tooltip-position=bottom]:before{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-width:0 6px 4px 6px;border-style:solid;z-index:100;opacity:0;transition:opacity .3s ease;pointer-events:none}.metric-item[data-astro-cid-vjida3td][data-tooltip-position=bottom]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:-6px;transform:translate(-50%) translateY(100%);text-align:center;padding:6px 10px;font-size:11px;min-width:80px;border-radius:6px;pointer-events:none;z-index:100;opacity:0;transition:opacity .3s ease;white-space:nowrap;font-weight:500}@media(min-width:640px){.metric-item[data-astro-cid-vjida3td][data-tooltip-position=left]:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);border-width:6px 0 6px 4px;border-style:solid;z-index:100;opacity:0;transition:opacity .3s ease;pointer-events:none}.metric-item[data-astro-cid-vjida3td][data-tooltip-position=left]:after{content:attr(data-tooltip);position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:6px;text-align:center;padding:6px 10px;font-size:11px;min-width:80px;border-radius:6px;pointer-events:none;z-index:100;opacity:0;transition:opacity .3s ease;white-space:nowrap;font-weight:500}}@media(max-width:639px){.metric-item[data-astro-cid-vjida3td][data-tooltip-position=left]:before{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);border-width:6px 4px 6px 0;border-style:solid;z-index:100;opacity:0;transition:opacity .3s ease;pointer-events:none}.metric-item[data-astro-cid-vjida3td][data-tooltip-position=left]:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:6px;text-align:center;padding:6px 10px;font-size:11px;min-width:80px;border-radius:6px;pointer-events:none;z-index:100;opacity:0;transition:opacity .3s ease;white-space:nowrap;font-weight:500}}.metric-item[data-astro-cid-vjida3td][data-tooltip-position=top]:before{border-color:rgb(var(--tooltip-border)) transparent transparent transparent}.metric-item[data-astro-cid-vjida3td][data-tooltip-position=bottom]:before{border-color:transparent transparent rgb(var(--tooltip-border)) transparent}@media(min-width:640px){.metric-item[data-astro-cid-vjida3td][data-tooltip-position=left]:before{border-color:transparent transparent transparent rgb(var(--tooltip-border))}}@media(max-width:639px){.metric-item[data-astro-cid-vjida3td][data-tooltip-position=left]:before{border-color:transparent rgb(var(--tooltip-border)) transparent transparent}}.metric-item[data-astro-cid-vjida3td][data-tooltip]:after{background:rgb(var(--tooltip-bg));color:rgb(var(--tooltip-text))}.metric-item[data-astro-cid-vjida3td][data-tooltip]:hover:after,.metric-item[data-astro-cid-vjida3td][data-tooltip]:hover:before{opacity:1}.social-icon[data-astro-cid-gkftjxos]{transition:color .3s ease;display:inline-flex;align-items:center;justify-content:center}.social-icon[data-astro-cid-gkftjxos] svg{width:100%;height:100%;display:block}.social-icon[data-astro-cid-gkftjxos]{color:rgb(var(--social-icon))}.social-link[data-astro-cid-gkftjxos]:hover .social-icon[data-astro-cid-gkftjxos]{color:rgb(var(--social-icon-hover))}[data-astro-cid-gkftjxos][data-tooltip]{position:relative}[data-astro-cid-gkftjxos][data-tooltip]:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-width:4px 6px 0 6px;border-style:solid;z-index:100;opacity:0;transition:opacity .3s ease;pointer-events:none}[data-astro-cid-gkftjxos][data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;top:-6px;transform:translate(-50%) translateY(-100%);text-align:center;padding:6px 10px;font-size:12px;min-width:80px;border-radius:6px;pointer-events:none;z-index:100;opacity:0;transition:opacity .3s ease;white-space:nowrap;font-weight:500}[data-astro-cid-gkftjxos][data-tooltip]:before{border-color:rgb(var(--tooltip-border)) transparent transparent transparent}[data-astro-cid-gkftjxos][data-tooltip]:after{background:rgb(var(--tooltip-bg));color:rgb(var(--tooltip-text))}[data-astro-cid-gkftjxos][data-tooltip-position=top]:before{top:-6px;left:50%;transform:translate(-50%)}[data-astro-cid-gkftjxos][data-tooltip-position=top]:after{top:-6px;left:50%;transform:translate(-50%) translateY(-100%)}[data-astro-cid-gkftjxos][data-tooltip-position=bottom]:before{top:100%;margin-top:18px;transform:translate(-50%) translateY(-100%) rotate(-180deg)}[data-astro-cid-gkftjxos][data-tooltip-position=bottom]:after{top:100%;margin-top:18px;transform:translate(-50%) translateY(0)}[data-astro-cid-gkftjxos][data-tooltip-position=left]:before{left:0%;top:50%;margin-left:-12px;transform:translateY(-50%) rotate(-90deg)}[data-astro-cid-gkftjxos][data-tooltip-position=left]:after{left:0%;top:50%;margin-left:-8px;transform:translate(-100%) translateY(-50%)}[data-astro-cid-gkftjxos][data-tooltip-position=right]:before{left:100%;top:50%;margin-left:1px;transform:translateY(-50%) rotate(90deg)}[data-astro-cid-gkftjxos][data-tooltip-position=right]:after{left:100%;top:50%;margin-left:8px;transform:translate(0) translateY(-50%)}[data-astro-cid-gkftjxos][data-tooltip]:hover:after,[data-astro-cid-gkftjxos][data-tooltip]:hover:before{opacity:1}footer[data-astro-cid-35ed7um5] a[data-astro-cid-35ed7um5]:hover{transform:translateY(-1px)}.footer-nav-link[data-astro-cid-35ed7um5]:hover{color:var(--color-secondary-full)}::view-transition-old(root),::view-transition-new(root){animation:none!important;mix-blend-mode:normal}::view-transition-group(root){animation-duration:0s!important}.page-transition-overlay[data-astro-cid-duxil5ee]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000;z-index:9999;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateY(115%);will-change:transform;overflow:visible;visibility:hidden}.wave-top[data-astro-cid-duxil5ee]{position:absolute;top:0;left:0;width:100%;z-index:1;transform:translateY(-100%)}.wave-bottom[data-astro-cid-duxil5ee]{position:absolute;bottom:0;left:0;width:100%;z-index:1;transform:translateY(100%)}.page-transition-title[data-astro-cid-duxil5ee]{opacity:0;transform:translateY(20px);padding:0 2rem;max-width:90%;will-change:opacity,transform;z-index:10;position:relative}.page-transition-title[data-astro-cid-duxil5ee] .section-title{margin-bottom:0}.page-transition-title[data-astro-cid-duxil5ee] h1{font-size:clamp(1.5rem,8vw,4.5rem)!important;line-height:1.1;text-wrap:balance;word-break:break-word;hyphens:auto}@media(max-width:480px){.page-transition-title[data-astro-cid-duxil5ee] h1{font-size:clamp(1.25rem,7vw,2.5rem)!important}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--bg-primary: 219 21% 96%;--bg-secondary: 219 21% 94%;--bg-tertiary: 219 21% 92%;--text-primary: 215 25% 15%;--text-secondary: 215 20% 22%;--text-muted: 215 15% 28%;--bg-primary-dark: 215 28% 7%;--bg-secondary-dark: 215 23% 11%;--bg-tertiary-dark: 215 19% 13%;--text-primary-dark: 210 15% 96%;--text-secondary-dark: 215 12% 72%;--text-muted-dark: 215 10% 52%;--syntax-keyword: 215 70% 65%;--syntax-string: 120 40% 70%;--syntax-number: 40 70% 70%;--syntax-comment: 215 15% 55%;--success: .7 .18 150;--warning: .75 .2 80;--error: .6 .25 20;--section-background-glow-from: #295ca3;--section-background-glow-via: #d3d8de;--section-background-glow-to: #3980c6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--section-padding-mobile: var(--space-16);--section-padding-desktop: var(--space-24);--section-gap: var(--space-12);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--color-primary: 0, 119, 182;--color-primary-dark: 0, 95, 146;--color-primary-full: rgb(0, 119, 182);--color-primary-dark-full: rgb(0, 95, 146);--color-secondary: 0, 180, 216;--color-secondary-dark: 0, 150, 180;--color-secondary-full: rgb(0, 180, 216);--color-secondary-dark-full: rgb(0, 150, 180);--color-tertiary: 255, 107, 107;--color-tertiary-dark: 229, 90, 90;--color-tertiary-full: rgb(255, 107, 107);--color-tertiary-dark-full: rgb(229, 90, 90);--color-ui-info: 59, 130, 246;--color-ui-info-full: rgb(59, 130, 246);--color-ui-warning: 245, 158, 11;--color-ui-warning-full: rgb(245, 158, 11);--color-ui-error: 239, 68, 68;--color-ui-error-full: rgb(239, 68, 68);--color-ui-success: 16, 185, 129;--color-ui-success-full: rgb(16, 185, 129);--color-ui-tip: 59, 130, 246;--color-ui-tip-full: rgb(59, 130, 246);--color-ui-quote: 6, 182, 212;--color-ui-quote-full: rgb(6, 182, 212);--color-linkedin: 0, 119, 181;--color-linkedin-full: #0077B5;--color-service-web-apps: 14, 165, 233;--color-service-web-apps-full: #0ea5e9;--color-service-web-apps-light: 7, 89, 133;--color-service-web-apps-light-full: #0369a1;--color-service-landing-pages: 16, 185, 129;--color-service-landing-pages-full: #10b981;--color-service-landing-pages-light: 4, 120, 87;--color-service-landing-pages-light-full: #047857;--color-service-automation: 234, 179, 8;--color-service-automation-full: #eab308;--color-service-automation-light: 161, 98, 7;--color-service-automation-light-full: #a16207;--color-service-social-design: 225, 29, 72;--color-service-social-design-full: #e11d48;--color-service-social-design-light: 190, 18, 60;--color-service-social-design-light-full: #be123c;--color-service-web-optimization: 139, 92, 246;--color-service-web-optimization-full: #8b5cf6;--color-service-web-optimization-light: 109, 40, 217;--color-service-web-optimization-light-full: #6d28d9;--color-service-wordpress: 59, 130, 246;--color-service-wordpress-full: #3b82f6;--color-service-wordpress-light: 29, 78, 216;--color-service-wordpress-light-full: #1d4ed8;--color-blog-card-overlay: 12, 12, 12;--color-blog-card-overlay-full: #0c0c0c;--color-blog-card-badge-text: #ffffff;--color-blog-card-title: #ffe6e6;--mermaid-primary: #3b82f6;--mermaid-secondary: #0891b2;--mermaid-background: #f1f5f9;--mermaid-border: #e2e8f0;--mermaid-text: #1f2937;--transition-gradient-start: #3b82f6;--transition-gradient-mid: #10b981;--transition-gradient-end: #14b8a6;--btn-success-shadow: rgba(16, 185, 129, .3);--btn-success-bg-start: #10b981;--btn-success-bg-end: #059669;--btn-success-hover-start: #6ee7b7;--btn-success-hover-end: #047857;--btn-tertiary-shadow: rgba(56, 189, 248, .3);--btn-tertiary-bg-start: #0ea5e9;--btn-tertiary-bg-end: #0284c7;--btn-tertiary-hover-start: #38bdf8;--btn-tertiary-hover-end: #0369a1;--process-step-1: 29, 78, 216;--process-step-2: 3, 105, 161;--process-step-3: 14, 116, 144;--process-step-4: 15, 118, 110;--process-step-5: 4, 120, 87;--process-step-6: 21, 128, 61;--process-step-1-full: #1d4ed8;--process-step-2-full: #0369a1;--process-step-3-full: #0e7490;--process-step-4-full: #0f766e;--process-step-5-full: #047857;--process-step-6-full: #15803d;--tooltip-bg: 31, 41, 55;--tooltip-text: 243, 244, 246;--tooltip-border: 31, 41, 55;--social-icon: 75, 85, 99;--social-icon-hover: 17, 24, 39;--testimonial-accent: 6, 182, 212;--testimonial-accent-light: 56, 189, 248;--testimonial-accent-dark: 8, 145, 178;--testimonial-accent-full: #06b6d4;--testimonial-accent-light-full: #38bdf8;--testimonial-text: 15, 23, 42;--testimonial-text-secondary: 30, 41, 59;--testimonial-text-muted: 51, 65, 85;--testimonial-card-bg: 255, 255, 255;--testimonial-card-bg-tinted: 240, 249, 255;--testimonial-focus: 59, 130, 246;--color-static-white: 255, 255, 255;--color-static-black: 0, 0, 0;--color-status-success: 34, 197, 94;--color-status-success-full: #22c55e;--color-status-warning: 245, 158, 11;--color-status-warning-full: #f59e0b;--color-status-error: 239, 68, 68;--color-status-error-full: #ef4444;--color-difficulty-beginner: 34, 197, 94;--color-difficulty-beginner-full: #22c55e;--color-difficulty-intermediate: 245, 158, 11;--color-difficulty-intermediate-full: #f59e0b;--color-difficulty-advanced: 239, 68, 68;--color-difficulty-advanced-full: #ef4444;--color-category-opensource: 6, 182, 212;--color-category-opensource-dark: 8, 145, 178;--color-category-opensource-darker: 14, 116, 144;--color-category-opensource-full: #06b6d4;--color-category-commercial: 15, 158, 142;--color-category-commercial-dark: 13, 136, 122;--color-category-commercial-darker: 11, 114, 102;--color-category-commercial-full: #0f9e8e;--color-category-client: 139, 92, 246;--color-category-client-dark: 124, 58, 237;--color-category-client-darker: 109, 40, 217;--color-category-client-full: #8b5cf6;--color-timeline-blue-from: #2563eb;--color-timeline-blue-to: #1d4ed8;--color-timeline-emerald-from: #059669;--color-timeline-emerald-to: #047857;--color-timeline-amber-from: #d97706;--color-timeline-amber-to: #b45309;--color-timeline-steel-from: #3b82f6;--color-timeline-steel-to: #2563eb;--color-timeline-cyan-from: #0891b2;--color-timeline-cyan-to: #0e7490;--color-focus-outline: 245, 158, 11;--color-focus-outline-full: #f59e0b;--color-text-muted-gray: 107, 114, 128;--color-radar-icon-bg: #334155;--duration-fast: .15s;--duration-base: .3s;--duration-slow: .5s;--duration-slower: .7s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.27, .22, .44, 1.03);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--scale-subtle: 1.02;--scale-medium: 1.05;--scale-emphasis: 1.1;--background: 219 21% 94%;--foreground: 215 25% 15%;--card: 220 20% 96%;--card-foreground: 215 25% 15%;--popover: 220 20% 98%;--popover-foreground: 215 25% 15%;--primary: 200 100% 36%;--primary-foreground: 0 0% 100%;--secondary: 190 100% 42%;--secondary-foreground: 215 25% 15%;--muted: 215 15% 88%;--muted-foreground: 215 15% 28%;--accent: 200 100% 36%;--accent-foreground: 0 0% 100%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 215 15% 82%;--input: 215 15% 90%;--ring: 200 100% 36%;--input-field-bg: rgba(0, 0, 0, .07);--chart-1: 200 100% 36%;--chart-2: 200 60% 45%;--chart-3: 190 50% 55%;--chart-4: 43 74% 66%;--chart-5: 27 87% 67%;--radius: .5rem}.dark{--section-background-glow-from: #3b82f6;--section-background-glow-via: #1c2128;--section-background-glow-to: #06b6d4;--color-primary: 59, 130, 246;--color-primary-dark: 37, 99, 235;--color-primary-full: rgb(59, 130, 246);--color-primary-dark-full: rgb(37, 99, 235);--color-secondary: 148, 163, 184;--color-secondary-dark: 100, 116, 139;--color-secondary-full: rgb(148, 163, 184);--color-secondary-dark-full: rgb(100, 116, 139);--color-tertiary: 6, 182, 212;--color-tertiary-dark: 8, 145, 178;--color-tertiary-full: rgb(6, 182, 212);--color-tertiary-dark-full: rgb(8, 145, 178);--color-ui-info: 96, 165, 250;--color-ui-info-full: rgb(96, 165, 250);--color-ui-warning: 251, 191, 36;--color-ui-warning-full: rgb(251, 191, 36);--color-ui-error: 248, 113, 113;--color-ui-error-full: rgb(248, 113, 113);--color-ui-success: 52, 211, 153;--color-ui-success-full: rgb(52, 211, 153);--color-ui-tip: 96, 165, 250;--color-ui-tip-full: rgb(96, 165, 250);--color-ui-quote: 34, 211, 238;--color-ui-quote-full: rgb(34, 211, 238);--color-linkedin: 0, 119, 181;--color-linkedin-full: #0077B5;--color-service-web-apps: 14, 165, 233;--color-service-web-apps-full: #0ea5e9;--color-service-landing-pages: 16, 185, 129;--color-service-landing-pages-full: #10b981;--color-service-automation: 234, 179, 8;--color-service-automation-full: #eab308;--color-service-social-design: 225, 29, 72;--color-service-social-design-full: #e11d48;--color-service-web-optimization: 139, 92, 246;--color-service-web-optimization-full: #8b5cf6;--color-service-wordpress: 59, 130, 246;--color-service-wordpress-full: #3b82f6;--color-blog-card-overlay: 12, 12, 12;--color-blog-card-overlay-full: #0c0c0c;--color-blog-card-badge-text: #ffffff;--color-blog-card-title: #ffe6e6;--mermaid-primary: #10b981;--mermaid-secondary: #22d3ee;--mermaid-background: #1e293b;--mermaid-border: #334155;--mermaid-text: #f3f4f6;--transition-gradient-start: #3b82f6;--transition-gradient-mid: #10b981;--transition-gradient-end: #14b8a6;--btn-success-shadow: rgba(16, 185, 129, .3);--btn-success-bg-start: #10b981;--btn-success-bg-end: #059669;--btn-success-hover-start: #6ee7b7;--btn-success-hover-end: #047857;--btn-tertiary-shadow: rgba(56, 189, 248, .3);--btn-tertiary-bg-start: #0ea5e9;--btn-tertiary-bg-end: #0284c7;--btn-tertiary-hover-start: #38bdf8;--btn-tertiary-hover-end: #0369a1;--process-step-1: 59, 130, 246;--process-step-2: 14, 165, 233;--process-step-3: 6, 182, 212;--process-step-4: 20, 184, 166;--process-step-5: 16, 185, 129;--process-step-6: 34, 197, 94;--process-step-1-full: #3b82f6;--process-step-2-full: #0ea5e9;--process-step-3-full: #06b6d4;--process-step-4-full: #14b8a6;--process-step-5-full: #10b981;--process-step-6-full: #22c55e;--tooltip-bg: 55, 65, 81;--tooltip-text: 229, 231, 235;--tooltip-border: 55, 65, 81;--social-icon: 156, 163, 175;--social-icon-hover: 229, 231, 235;--testimonial-accent: 59, 130, 246;--testimonial-accent-light: 6, 182, 212;--testimonial-accent-dark: 37, 99, 235;--testimonial-accent-full: rgb(59, 130, 246);--testimonial-accent-light-full: rgb(6, 182, 212);--testimonial-text: 243, 244, 246;--testimonial-text-secondary: 209, 213, 219;--testimonial-text-muted: 156, 163, 175;--testimonial-card-bg: 22, 27, 34;--testimonial-card-bg-tinted: 13, 17, 23;--testimonial-focus: 96, 165, 250;--color-static-white: 255, 255, 255;--color-static-black: 0, 0, 0;--color-status-success: 74, 222, 128;--color-status-success-full: #4ade80;--color-status-warning: 251, 191, 36;--color-status-warning-full: #fbbf24;--color-status-error: 248, 113, 113;--color-status-error-full: #f87171;--color-difficulty-beginner: 74, 222, 128;--color-difficulty-beginner-full: #4ade80;--color-difficulty-intermediate: 251, 191, 36;--color-difficulty-intermediate-full: #fbbf24;--color-difficulty-advanced: 248, 113, 113;--color-difficulty-advanced-full: #f87171;--color-category-opensource: 34, 211, 238;--color-category-opensource-dark: 6, 182, 212;--color-category-opensource-darker: 8, 145, 178;--color-category-opensource-full: #22d3ee;--color-category-commercial: 45, 185, 170;--color-category-commercial-dark: 15, 158, 142;--color-category-commercial-darker: 13, 136, 122;--color-category-commercial-full: #2db9aa;--color-category-client: 167, 139, 250;--color-category-client-dark: 139, 92, 246;--color-category-client-darker: 124, 58, 237;--color-category-client-full: #a78bfa;--color-timeline-blue-from: #60a5fa;--color-timeline-blue-to: #3b82f6;--color-timeline-emerald-from: #34d399;--color-timeline-emerald-to: #10b981;--color-timeline-amber-from: #fbbf24;--color-timeline-amber-to: #f59e0b;--color-timeline-steel-from: #60a5fa;--color-timeline-steel-to: #3b82f6;--color-timeline-cyan-from: #22d3ee;--color-timeline-cyan-to: #06b6d4;--color-focus-outline: 251, 191, 36;--color-focus-outline-full: #fbbf24;--color-text-muted-gray: 156, 163, 175;--color-radar-icon-bg: #334155;--bg-primary: 215 28% 7%;--bg-secondary: 215 23% 11%;--bg-tertiary: 215 19% 13%;--text-primary: 210 15% 95%;--text-secondary: 215 12% 75%;--text-muted: 215 10% 55%;--background: 215 28% 7%;--foreground: 210 15% 95%;--card: 215 23% 11%;--card-foreground: 210 15% 95%;--popover: 215 23% 11%;--popover-foreground: 210 15% 95%;--primary: 215 80% 60%;--primary-foreground: 215 28% 7%;--secondary: 185 70% 45%;--secondary-foreground: 210 15% 95%;--muted: 215 16% 15%;--muted-foreground: 215 12% 70%;--accent: 185 70% 50%;--accent-foreground: 215 28% 7%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 215 16% 22%;--input: 215 16% 15%;--ring: 215 80% 60%;--input-field-bg: rgba(255, 255, 255, .08);--chart-1: 215 80% 60%;--chart-2: 185 70% 50%;--chart-3: 10 80% 65%;--chart-4: 185 60% 45%;--chart-5: 215 55% 50%;--divider-primary: #3b82f6;--divider-secondary: #60a5fa;--divider-accent: #06b6d4;--divider-overlay: rgba(59, 130, 246, .5)}*{border-color:hsl(var(--foreground) / .1)}:root{transition:background-color .3s ease,color .3s ease,border-color .3s ease}section{transition:background-color .3s ease}html{font-feature-settings:"cv02","cv03","cv04","cv11";text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;scroll-behavior:smooth}:target{scroll-margin-top:96px}section[id]{scroll-margin-top:96px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background-color:hsl(var(--background));font-family:Inter,system-ui,-apple-system,sans-serif;color:hsl(var(--foreground));min-height:100vh;font-variant-ligatures:common-ligatures;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.025em}h1{font-size:clamp(3rem,2.5rem + 2.5vw,5rem);line-height:1.2}h2{font-size:clamp(2.5rem,2rem + 2.5vw,4rem);line-height:1.2}h3{font-size:clamp(2rem,1.6rem + 2vw,3rem);line-height:1.2}h4{font-size:clamp(1.5rem,1.3rem + 1vw,2rem);line-height:1.2}h5{font-size:clamp(1.125rem,1rem + .625vw,1.5rem);line-height:1.5}h6{font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.5}a{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}code,pre{font-family:JetBrains Mono,Courier New,monospace}:focus-visible{outline-width:2px;outline-offset:2px;outline-color:hsl(var(--primary))}::-moz-selection{background-color:hsl(var(--primary) / .3);color:hsl(var(--foreground))}::selection{background-color:hsl(var(--primary) / .3);color:hsl(var(--foreground))}::-webkit-scrollbar{width:.5rem}::-webkit-scrollbar-track{background-color:hsl(var(--muted))}::-webkit-scrollbar-thumb{border-radius:9999px;background-color:hsl(var(--muted-foreground))}::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .8)}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.gradient-text{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: oklch(.55 .235 189 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), oklch(.55 .235 189 / 1) var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #0ea5e9 var(--tw-gradient-to-position);-webkit-background-clip:text;background-clip:text;color:transparent}.gradient-text:is(.dark *){--tw-gradient-from: #67e8f9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(103 232 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(125 211 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7dd3fc var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #93c5fd var(--tw-gradient-to-position)}.gradient-text{background-size:200% 100%;animation:gradient-shift 8s ease infinite;will-change:background-position}.gradient-text-section{background:linear-gradient(90deg,#004099,hsl(var(--primary)) 35%,hsl(var(--secondary)) 65%,#0099e6);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:gradient-shift 10s ease infinite;will-change:background-position}.dark .gradient-text-section{background:linear-gradient(90deg,#0e7490,#0891b2 35%,#06b6d4 65%,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.gradient-text-hero{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #1e3a8a var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 58 138 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #2563eb var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #0891b2 var(--tw-gradient-to-position);-webkit-background-clip:text;background-clip:text;color:transparent}.gradient-text-hero:is(.dark *){--tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(103 232 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #67e8f9 var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #93c5fd var(--tw-gradient-to-position)}.gradient-text-hero{background-size:300% 100%;animation:gradient-shift 8s ease infinite;will-change:background-position}@media(prefers-reduced-motion:reduce){.gradient-text,.gradient-text-section,.gradient-text-accent,.gradient-text-blue,.gradient-text-hero{animation:none;will-change:auto}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.container-custom{margin-left:auto;margin-right:auto;max-width:80rem;padding-left:1rem;padding-right:1rem}@media(min-width:640px){.container-custom{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.container-custom{padding-left:2rem;padding-right:2rem}}.section{padding-top:4rem;padding-bottom:4rem}.glass{border-width:1px;border-color:hsl(var(--foreground) / .1);background-color:hsl(var(--background) / .8);--tw-backdrop-blur: blur(12px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.75rem 1.5rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.btn:focus-visible{outline-width:2px;outline-offset:2px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.75rem 1.5rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.btn-primary:focus-visible{outline-width:2px;outline-offset:2px}.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover{opacity:.9;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.75rem 1.5rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.btn-secondary:focus-visible{outline-width:2px;outline-offset:2px}section.section.btn-secondary{background-color:hsl(var(--secondary))}.btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.btn-secondary:hover{opacity:.9;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.75rem 1.5rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.btn-ghost:focus-visible{outline-width:2px;outline-offset:2px}.btn-ghost{border-width:1px;border-color:hsl(var(--border));background-color:transparent}.btn-ghost:hover{border-color:hsl(var(--accent) / .5);background-color:hsl(var(--accent) / .1);color:hsl(var(--accent))}.btn-unified-primary{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:1rem;font-weight:600;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));background:linear-gradient(135deg,var(--color-primary-full) 0%,var(--color-primary-dark-full) 100%);box-shadow:0 5px 5px -3px rgba(var(--color-primary),.3)}.btn-unified-primary:hover{box-shadow:0 10px 10px -5px rgba(var(--color-primary),.3)}.btn-unified-primary:before{content:"";position:absolute;inset:0;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;animation-duration:.5s;background:linear-gradient(135deg,var(--color-secondary-full) 0%,var(--color-primary-full) 100%)}.btn-unified-primary:hover:before{opacity:1}.btn-unified-primary>*{position:relative;z-index:10}.btn-unified-primary:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0) 20%,rgba(255,255,255,.4) 50%,rgba(255,255,255,0) 80%,transparent 100%);transform:skew(-20deg);z-index:15;pointer-events:none}.btn-unified-primary:hover:after{animation:btn-shine-sweep .6s ease-out forwards}.\!card,.card{border-radius:.75rem;background-color:hsl(var(--card));padding:1.5rem}.\!card,.card{border-width:1px;border-color:hsl(var(--border))}.\!card,.card{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.card-hover{border-radius:.75rem;background-color:hsl(var(--card));padding:1.5rem;border-width:1px;border-color:hsl(var(--border));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.card-hover:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-color:hsl(var(--accent) / .3);--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.fade-in{--tw-translate-y: 2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:0}.fade-in.visible{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:1;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;animation-duration:.5s}.section{position:relative;padding-top:5rem;padding-bottom:5rem}@media(min-width:768px){.section{padding-top:6rem;padding-bottom:6rem}}@media(min-width:1024px){.section{padding-top:7rem;padding-bottom:7rem}}.section{margin:0;transition:background-color .3s ease}section.section.bg-secondary{background-color:hsl(var(--secondary))}section.section:not(.bg-secondary){background-color:hsl(var(--background))}.section+.section-divider,.section-divider+.section{margin-top:0;margin-bottom:0}.section .container-custom{position:relative;z-index:20}.section-title{margin-bottom:4rem}.section-title p{margin-left:auto;margin-right:auto;max-width:42rem;font-size:clamp(1.125rem,1rem + .625vw,1.5rem);line-height:1.5;--tw-text-opacity: 1;color:oklch(var(--text-secondary) / var(--tw-text-opacity, 1))}@media(min-width:768px){.section-title p{font-size:clamp(1.5rem,1.3rem + 1vw,2rem);line-height:1.2}}.dark .section{border-top:1px solid hsl(var(--border) / .1)}.light .section{box-shadow:inset 0 1px hsl(var(--border) / .05)}.scroll-fade-in.visible{opacity:1;transform:translateY(0)}.timeline-dot.active{background-color:#3b82f6;transform:scale(1.25)}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hide::-webkit-scrollbar{display:none}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.command-palette-enter{animation:fadeInScale .15s ease-out forwards}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.skip-link{position:absolute;top:-100px;left:50%;transform:translate(-50%);z-index:9999;padding:12px 24px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)));color:hsl(var(--primary-foreground));text-decoration:none;font-weight:600;font-size:.875rem;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;backdrop-filter:blur(10px);transition:top var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.skip-link:focus{top:16px;transform:translate(-50%) scale(var(--scale-subtle));outline:2px solid hsl(var(--accent));outline-offset:4px;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a}.skip-link:hover{transform:translate(-50%) scale(var(--scale-medium))}.content-prose{--tw-text-opacity: 1;color:oklch(var(--text-secondary) / var(--tw-text-opacity, 1))}.content-prose h1{font-size:2.8rem;font-weight:800;margin-top:3rem;margin-bottom:1.5rem;line-height:1.3;color:hsl(var(--foreground));text-shadow:0 0 40px hsl(var(--primary) / .3);position:relative}.content-prose h1:after{content:"";position:absolute;bottom:-.5rem;left:0;width:100%;max-width:200px;height:3px;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--accent)),transparent);border-radius:2px;box-shadow:0 0 20px hsl(var(--primary) / .5)}.content-prose h1:first-child{margin-top:0}.content-prose.blog-post-content>h1:first-child{display:none}.content-prose h2{font-size:2.1rem;font-weight:700;margin-top:2.5rem;margin-bottom:1.25rem;line-height:1.4;color:hsl(var(--foreground));position:relative;display:inline-block}.content-prose h2:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:hsl(var(--primary));box-shadow:0 0 10px hsl(var(--primary) / .6);border-radius:1px}.content-prose h2:first-child{margin-top:0}.content-prose h3{font-size:1.6rem;font-weight:700;margin-top:2rem;margin-bottom:1rem;line-height:1.4;color:hsl(var(--foreground));padding-left:1rem;border-left:3px solid transparent;-o-border-image:linear-gradient(180deg,hsl(var(--primary)),hsl(var(--accent))) 1;border-image:linear-gradient(180deg,hsl(var(--primary)),hsl(var(--accent))) 1;background:linear-gradient(90deg,hsl(var(--primary) / .05),transparent 60%)}.content-prose h4{font-size:1.25rem;font-weight:600;margin-top:1.75rem;margin-bottom:.875rem;color:hsl(var(--foreground));display:flex;align-items:center;gap:.75rem}.content-prose h4:before{content:"";width:24px;height:2px;background:hsl(var(--primary));flex-shrink:0}.content-prose h5{font-size:1.125rem;font-weight:600;margin-top:1.5rem;margin-bottom:.75rem;color:hsl(var(--primary));display:flex;align-items:center;gap:.5rem}.content-prose h5:before{content:"→";opacity:.7}.content-prose h6{font-size:1rem;font-weight:600;margin-top:1.25rem;margin-bottom:.625rem;color:hsl(var(--foreground-secondary));text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:.5rem}.content-prose h6:before{content:"//";color:hsl(var(--primary) / .5);font-weight:700}.content-prose p{font-size:.9375rem;margin-bottom:1.5rem;line-height:1.8;color:hsl(var(--foreground-secondary))}.content-prose ul{list-style:none;margin:1rem 0 1.75rem;padding:0}.content-prose ol{list-style:none;margin:0 0 1.75rem;padding:0;counter-reset:item}.content-prose li{position:relative;padding-left:2rem;font-size:.9375rem;line-height:1.8;margin-bottom:.75rem;color:hsl(var(--foreground-secondary))}.content-prose ul>li:before{content:"";position:absolute;left:.25rem;top:.625rem;width:.5rem;height:.5rem;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)));transform:rotate(45deg);border-radius:2px;box-shadow:0 0 8px hsl(var(--primary) / .3)}.content-prose ol>li{counter-increment:item;padding-left:2.5rem}.content-prose ol>li:before{content:counter(item);position:absolute;left:0;top:.125rem;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)));color:#fff;font-size:.75rem;font-weight:700;border-radius:9999px;box-shadow:0 2px 8px hsl(var(--primary) / .3)}.content-prose li>ul,.content-prose li>ol{margin-top:.75rem;margin-bottom:0}.content-prose li>ul>li:before{width:.375rem;height:.375rem;background:hsl(var(--primary) / .6);box-shadow:none}.content-prose strong{color:hsl(var(--foreground));font-weight:600;background:linear-gradient(180deg,transparent 70%,hsl(var(--primary) / .15) 70%);padding:0 .125rem}.content-prose a{color:hsl(var(--primary));text-decoration:none;position:relative;font-weight:500;transition:color .2s ease}.content-prose a:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--accent)));border-radius:9999px;transform:scaleX(.3);transform-origin:left;transition:transform .3s ease}.content-prose a:hover{color:hsl(var(--accent))}.content-prose a:hover:after{transform:scaleX(1)}.content-prose code{background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--accent) / .1));color:hsl(var(--primary));padding:.125rem .5rem;border-radius:.375rem;font-size:.8125rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;border:1px solid hsl(var(--primary) / .15);font-weight:500}.content-prose pre{background:linear-gradient(135deg,hsl(var(--background)),hsl(var(--muted)));border:1px solid hsl(var(--border));border-radius:.75rem;padding:1.25rem;overflow-x:auto;margin-bottom:1.75rem;font-size:.8125rem;line-height:1.7;box-shadow:0 4px 6px -1px hsl(var(--foreground) / .05),inset 0 1px hsl(var(--foreground) / .05)}.content-prose pre code{background:transparent;padding:0;font-size:inherit;border:none;font-weight:400}.content-prose blockquote{position:relative;border:none;padding:1.5rem 1.5rem 1.5rem 3.5rem;margin:2rem 0;font-style:italic;color:hsl(var(--foreground-secondary));font-size:1rem;line-height:1.7;background:linear-gradient(135deg,hsl(var(--primary) / .05),hsl(var(--accent) / .03));border-radius:.75rem;border-left:4px solid hsl(var(--primary) / .5)}.content-prose blockquote:before{content:'"';position:absolute;left:.75rem;top:.5rem;font-size:3rem;font-family:Georgia,serif;color:hsl(var(--primary) / .3);line-height:1}.content-prose blockquote p{margin-bottom:0}.content-prose blockquote[class*=callout-]{position:relative;font-style:normal;border-left:none;border-radius:.75rem;padding:1.25rem 1.5rem;margin:3rem 0 2rem;overflow:visible}.content-prose blockquote[class*=callout-]:before{display:none!important}.content-prose blockquote[class*=callout-]:after{position:absolute;top:-1rem;left:-1rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.25rem;line-height:1;z-index:10}.callout-info,.content-prose blockquote.callout-info{background:#ebf2fa;border:1px solid hsl(210 100% 50% / .3);box-shadow:inset 5px 0 #0080ff,0 2px 8px #0080ff1a}.dark .content-prose blockquote.callout-info{background:#1c2e40}.content-prose blockquote.callout-info:after{content:"ℹ";background:#ebf2fa;border:2px solid hsl(210 100% 50%);color:#0080ff;font-weight:700;font-family:Georgia,serif}.dark .content-prose blockquote.callout-info:after{background:hsl(var(--background))}.callout-info strong:first-of-type{color:#06c}.dark .callout-info strong:first-of-type{color:#4da6ff}.callout-warning,.content-prose blockquote.callout-warning{background:#fcf6e3;border:1px solid hsl(45 100% 50% / .3);box-shadow:inset 5px 0 #ffbf00,0 2px 8px #ffbf001a}.dark .content-prose blockquote.callout-warning{background:#393118}.content-prose blockquote.callout-warning:after{content:"⚠";background:#fcf6e3;border:2px solid hsl(45 100% 50%);color:#c90;font-size:1.1rem}.dark .content-prose blockquote.callout-warning:after{background:hsl(var(--background));color:#ffbf00}.callout-warning strong:first-of-type{color:#b38600}.dark .callout-warning strong:first-of-type{color:#fc3}.callout-success,.content-prose blockquote.callout-success{background:#e8f7f2;border:1px solid hsl(160 70% 40% / .3);box-shadow:inset 5px 0 #1fad7e,0 2px 8px #1fad7e1a}.dark .content-prose blockquote.callout-success{background:#1b372e}.content-prose blockquote.callout-success:after{content:"✓";background:#e8f7f2;border:2px solid hsl(160 70% 40%);color:#1b986e;font-weight:700}.dark .content-prose blockquote.callout-success:after{background:hsl(var(--background));color:#1fad7e}.callout-success strong:first-of-type{color:#1b986e}.dark .callout-success strong:first-of-type{color:#3cdda7}.callout-error,.content-prose blockquote.callout-error{background:#fbefef;border:1px solid hsl(0 85% 55% / .3);box-shadow:inset 5px 0 #ee2b2b,0 2px 8px #ee2b2b1a}.dark .content-prose blockquote.callout-error{background:#401c1c}.content-prose blockquote.callout-error:after{content:"✕";background:#fbefef;border:2px solid hsl(0 85% 55%);color:#d41111;font-weight:700;font-size:1.1rem}.dark .content-prose blockquote.callout-error:after{background:hsl(var(--background));color:#ee2b2b}.callout-error strong:first-of-type{color:#d41111}.dark .callout-error strong:first-of-type{color:#f25a5a}.callout-tip,.content-prose blockquote.callout-tip{background:#f0faf7;border:1px solid hsl(160 70% 40% / .3);box-shadow:inset 5px 0 #1fad7e,0 2px 8px #1fad7e1a}.dark .content-prose blockquote.callout-tip{background:#1e3e33}.content-prose blockquote.callout-tip:after{content:"✦";background:#f0faf7;border:2px solid hsl(160 70% 40%);color:#1b986e;font-size:1.1rem}.dark .content-prose blockquote.callout-tip:after{background:hsl(var(--background));color:#26d99d}.callout-tip strong:first-of-type{color:#1b986e}.dark .callout-tip strong:first-of-type{color:#3cdda7}.callout-quote,.content-prose blockquote.callout-quote{background:#f0f1f5;border:1px solid hsl(220 15% 50% / .3);box-shadow:inset 5px 0 #7b879d,0 2px 8px #6c79931a;font-style:italic}.dark .content-prose blockquote.callout-quote{background:#29303d}.content-prose blockquote.callout-quote:after{content:"❝";background:#f0f1f5;border:2px solid hsl(220 15% 55%);color:#626d84;font-size:1.4rem;font-style:normal;line-height:.9}.dark .content-prose blockquote.callout-quote:after{background:hsl(var(--background));color:#7b879d}.callout-quote strong:first-of-type{color:#626d84}.dark .callout-quote strong:first-of-type{color:#98a1b3}.callout-quote p{font-size:1.05rem;line-height:1.7}.content-prose blockquote[class*=callout-] p{margin-bottom:.75rem}.content-prose blockquote[class*=callout-] p:last-child{margin-bottom:0}.content-prose blockquote[class*=callout-] a{text-decoration:underline;text-underline-offset:2px}.content-prose blockquote[class*=callout-] code{background:hsl(var(--foreground) / .1);padding:.15em .4em;border-radius:.25rem;font-size:.875em}.content-prose blockquote[class*=callout-] .expressive-code{padding-bottom:1em}.content-prose blockquote[class*=callout-] pre{margin:1rem 0 .5rem;padding:1rem;border-radius:.5rem;background:hsl(var(--background))!important;border:1px solid hsl(var(--border));overflow-x:auto}.content-prose blockquote[class*=callout-] pre code{background:transparent;padding:0;font-size:.8125em;line-height:1.6}.content-prose table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:2rem;font-size:.875rem;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px hsl(var(--foreground) / .05)}.content-prose th{background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--accent) / .05));padding:1rem 1.25rem;text-align:left;font-weight:600;color:hsl(var(--foreground));border-bottom:2px solid hsl(var(--primary) / .2)}.content-prose td{padding:.875rem 1.25rem;border-bottom:1px solid hsl(var(--border));transition:background .2s ease}.content-prose tr:hover td{background:hsl(var(--primary) / .03)}.content-prose tr:last-child td{border-bottom:none}.content-prose hr{border:0;height:3px;background:linear-gradient(90deg,transparent,hsl(var(--primary) / .3) 20%,hsl(var(--accent) / .3) 80%,transparent);margin:2rem 0;border-radius:9999px}.content-prose img{border-radius:.75rem;box-shadow:0 4px 6px -1px hsl(var(--foreground) / .1),0 2px 4px -2px hsl(var(--foreground) / .1);max-width:100%;height:auto;transition:transform var(--duration-base) ease,box-shadow var(--duration-base) ease}.content-prose img:hover{transform:scale(var(--scale-subtle));box-shadow:0 20px 25px -5px hsl(var(--foreground) / .1),0 8px 10px -6px hsl(var(--foreground) / .1)}.dark .content-prose ul>li:before{box-shadow:0 0 12px hsl(var(--primary) / .5)}.dark .content-prose ol>li:before{box-shadow:0 2px 12px hsl(var(--primary) / .4)}:not(.dark) .content-prose ol>li:before{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)));color:hsl(var(--background));box-shadow:0 2px 8px hsl(var(--primary) / .25)}.dark .content-prose code{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--accent) / .15));border-color:hsl(var(--primary) / .25)}.dark .content-prose pre{background:linear-gradient(135deg,#161b23,#1b2027)}.dark .content-prose blockquote{background:linear-gradient(135deg,hsl(var(--primary) / .08),hsl(var(--accent) / .05))}.dark .content-prose blockquote:before{color:hsl(var(--primary) / .4)}.demo-dot.red{background:#ef4444;opacity:.7}.demo-dot.yellow{background:#eab308;opacity:.7}.demo-dot.green{background:#22c55e;opacity:.7}.dark .demo-box{box-shadow:0 4px 6px -1px #0003}.dark .demo-header{background:hsl(var(--background))}.dark .demo-content{background:linear-gradient(135deg,hsl(var(--primary) / .05),hsl(var(--accent) / .08))}.css-playground{margin:2rem 0;border-radius:.75rem;border:1px solid hsl(var(--border));background:hsl(var(--card));box-shadow:0 4px 6px -1px hsl(var(--foreground) / .05)}.css-playground-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:hsl(var(--muted));border-bottom:1px solid hsl(var(--border));border-radius:.75rem .75rem 0 0}.css-playground-dots{display:flex;gap:.375rem}.css-playground-dot{width:.75rem;height:.75rem;border-radius:50%}.css-playground-dot.red{background:#ef4444;opacity:.7}.css-playground-dot.yellow{background:#eab308;opacity:.7}.css-playground-dot.green{background:#22c55e;opacity:.7}.css-playground-tab.active{background:hsl(var(--background));color:hsl(var(--primary));font-weight:600}.css-playground-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.css-playground-reset{padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:hsl(var(--foreground-secondary));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.25rem;cursor:pointer;transition:all .15s ease}.css-playground-reset:hover{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .3);color:hsl(var(--destructive))}.css-playground-badge{padding:.25rem .5rem;font-size:.625rem;font-weight:600;letter-spacing:.05em;border-radius:.25rem;background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.css-playground-title{font-size:.875rem;font-weight:500;color:hsl(var(--foreground-secondary))}.css-playground-preview{padding:1.5rem;background:linear-gradient(135deg,hsl(var(--primary) / .03),hsl(var(--accent) / .05));display:flex;flex-direction:column;align-items:center;justify-content:center}.css-playground-preview--resizable{resize:horizontal;overflow:auto;min-width:200px;max-width:100%;border:2px dashed hsl(var(--primary) / .3);position:relative}.css-playground-preview--resizable:hover{border-color:hsl(var(--primary) / .5)}.css-playground-resize-hint{position:absolute;bottom:.25rem;right:.5rem;font-size:.65rem;color:hsl(var(--foreground) / .4);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.css-playground-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:1rem;padding:1rem;background:hsl(var(--muted) / .3);border-top:1px solid hsl(var(--border));box-sizing:border-box;overflow:hidden}.css-playground-control{display:flex;flex-direction:column;gap:.5rem}.css-playground-control label{font-size:.75rem;font-weight:600;color:hsl(var(--foreground-secondary));text-transform:uppercase;letter-spacing:.05em}.css-playground-color-wrapper{display:flex;align-items:center;gap:.5rem}.css-playground-control input[type=color]{width:40px;height:32px;padding:0;border:2px solid hsl(var(--border));border-radius:.375rem;cursor:pointer;background:transparent}.css-playground-control input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.css-playground-control input[type=color]::-webkit-color-swatch{border-radius:.25rem;border:none}.css-playground-color-value{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;color:hsl(var(--foreground-muted))}.css-playground-range-wrapper{display:flex;align-items:center;gap:.75rem}.css-playground-control input[type=range]{flex:1;height:6px;border-radius:3px;background:hsl(var(--border));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.css-playground-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid hsl(var(--background));box-shadow:0 2px 4px #0003}.css-playground-control input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid hsl(var(--background));box-shadow:0 2px 4px #0003}.css-playground-range-value{min-width:50px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;color:hsl(var(--foreground));text-align:right}.css-playground-number-wrapper{display:flex;align-items:center;gap:.25rem}.css-playground-control input[type=number],.css-playground-control input[type=text]{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));color:hsl(var(--foreground))}.css-playground-control input[type=number]:focus,.css-playground-control input[type=text]:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.css-playground-unit{font-size:.75rem;color:hsl(var(--foreground-muted))}.css-playground-control select{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.css-playground-control select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.css-playground-code{border-top:1px solid hsl(var(--border))}.css-playground-code-header{padding:.5rem 1rem;font-size:.75rem;font-weight:600;color:hsl(var(--foreground-secondary));background:hsl(var(--muted) / .5);border-bottom:1px solid hsl(var(--border));text-transform:uppercase;letter-spacing:.05em}.css-playground-highlight{margin:0;padding:1rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.6;white-space:pre;overflow-x:auto;color:hsl(var(--foreground));background:hsl(var(--background));border-radius:0 0 .75rem .75rem}.css-playground-highlight::-webkit-scrollbar{width:8px;height:8px}.css-playground-highlight::-webkit-scrollbar-track{background:transparent}.css-playground-highlight::-webkit-scrollbar-thumb{background:hsl(var(--primary) / .4);border-radius:4px}.css-playground-highlight::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .6)}.css-playground-highlight:focus{outline:2px solid hsl(var(--primary) / .5);outline-offset:-2px}.css-playground-highlight:focus:not(:focus-visible){outline:none}.dark .css-playground{box-shadow:0 4px 6px -1px #0003}.dark .css-playground-header{background:hsl(var(--background))}.dark .css-playground-preview{background:linear-gradient(135deg,hsl(var(--primary) / .05),hsl(var(--accent) / .08))}.dark .css-playground-editor-wrapper{background:#0d1117}.css-playground-highlight .token.comment{color:#6a737d;font-style:italic}.css-playground-highlight .token.selector{color:#22c55e;font-weight:600}.css-playground-highlight .token.property{color:#06b6d4}.css-playground-highlight .token.string{color:#f59e0b}.css-playground-highlight .token.number{color:#60a5fa}.css-playground-highlight .token.unit{color:#f472b6}.css-playground-highlight .token.color{color:#fb923c}.css-playground-highlight .token.function{color:#fbbf24}.css-playground-highlight .token.pseudo{color:#34d399}.css-playground-highlight .token.punctuation{color:#9ca3af}.dark .css-playground-highlight .token.comment{color:#8b949e}.dark .css-playground-highlight .token.selector{color:#7ee787}.dark .css-playground-highlight .token.property{color:#79c0ff}.dark .css-playground-highlight .token.string{color:#ffa657}.dark .css-playground-highlight .token.number{color:#d2a8ff}.dark .css-playground-highlight .token.unit{color:#ff7eb6}.dark .css-playground-highlight .token.color{color:#ffa657}.dark .css-playground-highlight .token.function{color:#ffc658}.dark .css-playground-highlight .token.pseudo{color:#56d4dd}.dark .css-playground-highlight .token.punctuation{color:#a5b4c0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-0\.5{inset:-.125rem}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-1{bottom:-.25rem}.-bottom-12{bottom:-3rem}.-bottom-\[6px\]{bottom:-6px}.-right-2{right:-.5rem}.-right-3{right:-.75rem}.-right-4{right:-1rem}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.-top-4{top:-1rem}.-top-\[14px\]{top:-14px}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-\[239px\]{bottom:239px}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.left-4{left:1rem}.left-6{left:1.5rem}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.right-full{right:100%}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-12{top:3rem}.top-20{top:5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-\[7px\]{top:7px}.top-\[88px\]{top:88px}.top-full{top:100%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.z-\[200\]{z-index:200}.z-\[2\]{z-index:2}.z-\[400\]{z-index:400}.z-\[401\]{z-index:401}.z-\[500\]{z-index:500}.z-\[9999\]{z-index:9999}.order-1{order:1}.order-2{order:2}.m-0{margin:0}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.\!mt-8{margin-top:2rem!important}.-mb-12{margin-bottom:-3rem}.-ml-\[2px\]{margin-left:-2px}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-24{margin-bottom:6rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\[-80px\]{margin-bottom:-80px}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-video{aspect-ratio:16 / 9}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[0\.8rem\]{height:.8rem}.h-\[1\.2em\]{height:1.2em}.h-\[14px\]{height:14px}.h-\[18px\]{height:18px}.h-\[2\.2rem\]{height:2.2rem}.h-\[52px\]{height:52px}.h-\[54px\]{height:54px}.h-\[600px\]{height:600px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-0{max-height:0px}.max-h-10{max-height:2.5rem}.max-h-96{max-height:24rem}.max-h-\[400px\]{max-height:400px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[calc\(100vh-5rem\)\]{max-height:calc(100vh - 5rem)}.max-h-\[calc\(70vh-80px\)\]{max-height:calc(70vh - 80px)}.min-h-\[100px\]{min-height:100px}.min-h-\[3\.5rem\]{min-height:3.5rem}.min-h-\[300px\]{min-height:300px}.min-h-\[320px\]{min-height:320px}.min-h-\[420px\]{min-height:420px}.min-h-\[60vh\]{min-height:60vh}.min-h-\[70px\]{min-height:70px}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[0\.8rem\]{width:.8rem}.w-\[18px\]{width:18px}.w-\[2\.2rem\]{width:2.2rem}.w-\[480px\]{width:480px}.w-\[54px\]{width:54px}.w-\[600px\]{width:600px}.w-\[80vw\]{width:80vw}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[140px\]{min-width:140px}.\!max-w-3xl{max-width:48rem!important}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[1600px\]{max-width:1600px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-\[0_0_100\%\]{flex:0 0 100%}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-4{--tw-translate-x: -1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-2{--tw-translate-x: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/4{--tw-translate-y: 25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-16{--tw-translate-y: 4rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-8{--tw-translate-y: 2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-125{--tw-scale-x: 1.25;--tw-scale-y: 1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-emphasis{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-\[-1\]{--tw-scale-x: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideInDropdown{0%{opacity:0;transform:translateY(-8px) translate(0)}to{opacity:1;transform:translateY(0) translate(0)}}.animate-slideInDropdown{animation:slideInDropdown .55s cubic-bezier(.17,.67,.51,1)}@keyframes slideInDropdownCentered{0%{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}.animate-slideInDropdownCentered{animation:slideInDropdownCentered .55s cubic-bezier(.17,.67,.51,1)}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[auto_1fr_1fr_1fr_1fr\]{grid-template-columns:auto 1fr 1fr 1fr 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\[0\.2rem\]{gap:.2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-1{row-gap:.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-foreground\/10>:not([hidden])~:not([hidden]){border-color:hsl(var(--foreground) / .1)}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.5rem}.rounded-2xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.75rem}.rounded-md{border-radius:.5rem}.rounded-xl{border-radius:1rem}.rounded-b-2xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.rounded-l-2xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.rounded-r-2xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.rounded-r-lg{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-t-2xl,.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-bl-xl{border-bottom-left-radius:1rem}.rounded-br-xl{border-bottom-right-radius:1rem}.rounded-tl-xl{border-top-left-radius:1rem}.rounded-tr-xl{border-top-right-radius:1rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-none{border-style:none}.border-\[\#264de4\]\/20{border-color:#264de433}.border-\[\#44475a\]{--tw-border-opacity: 1;border-color:rgb(68 71 90 / var(--tw-border-opacity, 1))}.border-\[rgba\(var\(--color-category-client\)\,0\.3\)\]{border-color:rgba(var(--color-category-client),.3)}.border-\[rgba\(var\(--color-category-commercial\)\,0\.3\)\]{border-color:rgba(var(--color-category-commercial),.3)}.border-\[rgba\(var\(--color-category-opensource\)\,0\.3\)\]{border-color:rgba(var(--color-category-opensource),.3)}.border-\[rgba\(var\(--color-difficulty-advanced\)\,0\.2\)\]{border-color:rgba(var(--color-difficulty-advanced),.2)}.border-\[rgba\(var\(--color-difficulty-beginner\)\,0\.2\)\]{border-color:rgba(var(--color-difficulty-beginner),.2)}.border-\[rgba\(var\(--color-difficulty-intermediate\)\,0\.2\)\]{border-color:rgba(var(--color-difficulty-intermediate),.2)}.border-\[rgba\(var\(--color-status-error\)\,0\.2\)\]{border-color:rgba(var(--color-status-error),.2)}.border-\[rgba\(var\(--color-status-success\)\,0\.2\)\]{border-color:rgba(var(--color-status-success),.2)}.border-\[rgba\(var\(--color-ui-error\)\,0\.3\)\]{border-color:rgba(var(--color-ui-error),.3)}.border-\[rgba\(var\(--color-ui-success\)\,0\.3\)\]{border-color:rgba(var(--color-ui-success),.3)}.border-\[rgba\(var\(--process-step-1\)\,0\.5\)\]{border-color:rgba(var(--process-step-1),.5)}.border-\[rgba\(var\(--process-step-2\)\,0\.5\)\]{border-color:rgba(var(--process-step-2),.5)}.border-\[rgba\(var\(--process-step-3\)\,0\.5\)\]{border-color:rgba(var(--process-step-3),.5)}.border-\[rgba\(var\(--process-step-4\)\,0\.5\)\]{border-color:rgba(var(--process-step-4),.5)}.border-\[rgba\(var\(--process-step-5\)\,0\.5\)\]{border-color:rgba(var(--process-step-5),.5)}.border-\[rgba\(var\(--process-step-6\)\,0\.5\)\]{border-color:rgba(var(--process-step-6),.5)}.border-amber-500\/20{border-color:#f59e0b33}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/50{border-color:#3b82f680}.border-border{border-color:hsl(var(--border))}.border-border\/30{border-color:hsl(var(--border) / .3)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-emerald-500\/20{border-color:#10b98133}.border-error{--tw-border-opacity: 1;border-color:oklch(.6 .25 20 / var(--tw-border-opacity, 1))}.border-error\/20{border-color:oklch(.6 .25 20 / .2)}.border-foreground-muted\/10{border-color:oklch(var(--text-muted) / .1)}.border-foreground\/10{border-color:hsl(var(--foreground) / .1)}.border-foreground\/15{border-color:hsl(var(--foreground) / .15)}.border-foreground\/20{border-color:hsl(var(--foreground) / .2)}.border-foreground\/30{border-color:hsl(var(--foreground) / .3)}.border-foreground\/5{border-color:hsl(var(--foreground) / .05)}.border-foreground\/\[0\.06\]{border-color:hsl(var(--foreground) / .06)}.border-primary{border-color:hsl(var(--primary))}.border-primary-500\/50{border-color:oklch(.55 .235 189 / .5)}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-purple-500\/20{border-color:#a855f733}.border-rose-500\/50{border-color:#f43f5e80}.border-sky-500\/30{border-color:#0ea5e94d}.border-sky-500\/50{border-color:#0ea5e980}.border-slate-500\/50{border-color:#64748b80}.border-success\/20{border-color:#28bc5e33}.border-transparent{border-color:transparent}.border-violet-500\/50{border-color:#8b5cf680}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.border-yellow-500\/50{border-color:#eab30880}.border-t-background-secondary{--tw-border-opacity: 1;border-top-color:oklch(var(--bg-secondary) / var(--tw-border-opacity, 1))}.border-t-white{--tw-border-opacity: 1;border-top-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.bg-\[\#264de4\]\/10{background-color:#264de41a}.bg-\[\#282a36\]{--tw-bg-opacity: 1;background-color:rgb(40 42 54 / var(--tw-bg-opacity, 1))}.bg-\[rgb\(var\(--color-ui-error\)\)\]{background-color:rgb(var(--color-ui-error))}.bg-\[rgb\(var\(--color-ui-success\)\)\]{background-color:rgb(var(--color-ui-success))}.bg-\[rgb\(var\(--process-step-1\)\)\]{background-color:rgb(var(--process-step-1))}.bg-\[rgb\(var\(--process-step-2\)\)\]{background-color:rgb(var(--process-step-2))}.bg-\[rgb\(var\(--process-step-3\)\)\]{background-color:rgb(var(--process-step-3))}.bg-\[rgb\(var\(--process-step-4\)\)\]{background-color:rgb(var(--process-step-4))}.bg-\[rgb\(var\(--process-step-5\)\)\]{background-color:rgb(var(--process-step-5))}.bg-\[rgb\(var\(--process-step-6\)\)\]{background-color:rgb(var(--process-step-6))}.bg-\[rgba\(var\(--color-difficulty-advanced\)\,0\.1\)\]{background-color:rgba(var(--color-difficulty-advanced),.1)}.bg-\[rgba\(var\(--color-difficulty-beginner\)\,0\.1\)\]{background-color:rgba(var(--color-difficulty-beginner),.1)}.bg-\[rgba\(var\(--color-difficulty-intermediate\)\,0\.1\)\]{background-color:rgba(var(--color-difficulty-intermediate),.1)}.bg-\[rgba\(var\(--color-status-error\)\,0\.1\)\]{background-color:rgba(var(--color-status-error),.1)}.bg-\[rgba\(var\(--color-status-success\)\,0\.1\)\]{background-color:rgba(var(--color-status-success),.1)}.bg-\[rgba\(var\(--color-ui-error\)\,0\.1\)\]{background-color:rgba(var(--color-ui-error),.1)}.bg-\[rgba\(var\(--color-ui-error\)\,0\.2\)\]{background-color:rgba(var(--color-ui-error),.2)}.bg-\[rgba\(var\(--color-ui-success\)\,0\.05\)\]{background-color:rgba(var(--color-ui-success),.05)}.bg-\[rgba\(var\(--color-ui-success\)\,0\.1\)\]{background-color:rgba(var(--color-ui-success),.1)}.bg-\[rgba\(var\(--color-ui-success\)\,0\.2\)\]{background-color:rgba(var(--color-ui-success),.2)}.bg-\[rgba\(var\(--process-step-1\)\,0\.2\)\]{background-color:rgba(var(--process-step-1),.2)}.bg-\[rgba\(var\(--process-step-2\)\,0\.2\)\]{background-color:rgba(var(--process-step-2),.2)}.bg-\[rgba\(var\(--process-step-3\)\,0\.2\)\]{background-color:rgba(var(--process-step-3),.2)}.bg-\[rgba\(var\(--process-step-4\)\,0\.2\)\]{background-color:rgba(var(--process-step-4),.2)}.bg-\[rgba\(var\(--process-step-5\)\,0\.2\)\]{background-color:rgba(var(--process-step-5),.2)}.bg-\[rgba\(var\(--process-step-6\)\,0\.2\)\]{background-color:rgba(var(--process-step-6),.2)}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-background{background-color:hsl(var(--background))}.bg-background-secondary{--tw-bg-opacity: 1;background-color:oklch(var(--bg-secondary) / var(--tw-bg-opacity, 1))}.bg-background-tertiary{--tw-bg-opacity: 1;background-color:oklch(var(--bg-tertiary) / var(--tw-bg-opacity, 1))}.bg-background\/30{background-color:hsl(var(--background) / .3)}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/90{background-color:hsl(var(--background) / .9)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/0{background-color:#0000}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/90{background-color:#000000e6}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600\/45{background-color:#2563eb73}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/50{background-color:hsl(var(--card) / .5)}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-card\/90{background-color:hsl(var(--card) / .9)}.bg-card\/95{background-color:hsl(var(--card) / .95)}.bg-emerald-500\/10{background-color:#10b9811a}.bg-error\/10{background-color:oklch(.6 .25 20 / .1)}.bg-foreground\/10{background-color:hsl(var(--foreground) / .1)}.bg-foreground\/20{background-color:hsl(var(--foreground) / .2)}.bg-foreground\/5{background-color:hsl(var(--foreground) / .05)}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-500\/20{background-color:oklch(.55 .235 189 / .2)}.bg-primary-600\/45{background-color:oklch(.45 .235 189 / .45)}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/25{background-color:hsl(var(--primary) / .25)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-primary\/60{background-color:hsl(var(--primary) / .6)}.bg-primary\/90{background-color:hsl(var(--primary) / .9)}.bg-purple-500\/10{background-color:#a855f71a}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-rose-500\/20{background-color:#f43f5e33}.bg-rose-600\/45{background-color:#e11d4873}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-sky-500\/20{background-color:#0ea5e933}.bg-sky-600\/45{background-color:#0284c773}.bg-slate-600\/60{background-color:#47556999}.bg-success\/10{background-color:#28bc5e1a}.bg-transparent{background-color:transparent}.bg-violet-500\/20{background-color:#8b5cf633}.bg-violet-600\/45{background-color:#7c3aed73}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/15{background-color:#ffffff26}.bg-white\/30{background-color:#ffffff4d}.bg-white\/60{background-color:#fff9}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/20{background-color:#eab30833}.bg-yellow-600\/45{background-color:#ca8a0473}.bg-\[linear-gradient\(135deg\,var\(--btn-tertiary-bg-start\)_0\%\,var\(--btn-tertiary-bg-end\)_100\%\)\]{background-image:linear-gradient(135deg,var(--btn-tertiary-bg-start) 0%,var(--btn-tertiary-bg-end) 100%)}.bg-\[linear-gradient\(to_right_bottom\,var\(--section-background-glow-from\)\,var\(--section-background-glow-via\)\,var\(--section-background-glow-to\)\)\]{background-image:linear-gradient(to right bottom,var(--section-background-glow-from),var(--section-background-glow-via),var(--section-background-glow-to))}.bg-gradient-radial{background-image:radial-gradient(circle,var(--tw-gradient-from),var(--tw-gradient-via),var(--tw-gradient-to))}.bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[\#264de4\]\/5{--tw-gradient-from: rgb(38 77 228 / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(38 77 228 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[--section-blog-bg\]{--tw-gradient-from: var(--section-blog-bg) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[rgb\(var\(--color-category-client-dark\)\)\]{--tw-gradient-from: rgb(var(--color-category-client-dark)) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--color-category-client-dark) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[rgb\(var\(--color-category-commercial-dark\)\)\]{--tw-gradient-from: rgb(var(--color-category-commercial-dark)) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--color-category-commercial-dark) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[rgb\(var\(--color-category-opensource-dark\)\)\]{--tw-gradient-from: rgb(var(--color-category-opensource-dark)) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--color-category-opensource-dark) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[rgba\(var\(--color-category-client\)\,0\.15\)\]{--tw-gradient-from: rgba(var(--color-category-client),.15) var(--tw-gradient-from-position);--tw-gradient-to: rgba(var(--color-category-client), 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[rgba\(var\(--color-category-commercial\)\,0\.15\)\]{--tw-gradient-from: rgba(var(--color-category-commercial),.15) var(--tw-gradient-from-position);--tw-gradient-to: rgba(var(--color-category-commercial), 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[rgba\(var\(--color-category-opensource\)\,0\.15\)\]{--tw-gradient-from: rgba(var(--color-category-opensource),.15) var(--tw-gradient-from-position);--tw-gradient-to: rgba(var(--color-category-opensource), 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[var\(--color-timeline-amber-from\)\]{--tw-gradient-from: var(--color-timeline-amber-from) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[var\(--color-timeline-blue-from\)\]{--tw-gradient-from: var(--color-timeline-blue-from) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[var\(--color-timeline-cyan-from\)\]{--tw-gradient-from: var(--color-timeline-cyan-from) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[var\(--color-timeline-emerald-from\)\]{--tw-gradient-from: var(--color-timeline-emerald-from) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[var\(--color-timeline-violet-from\)\]{--tw-gradient-from: var(--color-timeline-violet-from) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[var\(--section-background-glow-from\)\]{--tw-gradient-from: var(--section-background-glow-from) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-accent\/5{--tw-gradient-from: hsl(var(--accent) / .05) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/10{--tw-gradient-from: rgb(0 0 0 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/80{--tw-gradient-from: rgb(0 0 0 / .8) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-card{--tw-gradient-from: hsl(var(--card)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/20{--tw-gradient-from: hsl(var(--primary) / .2) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/30{--tw-gradient-from: hsl(var(--primary) / .3) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/5{--tw-gradient-from: hsl(var(--primary) / .05) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[var\(--section-background-glow-via\)\]{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--section-background-glow-via) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-accent{--tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--accent)) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-accent\/10{--tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--accent) / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-accent\/30{--tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--accent) / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-accent\/5{--tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--accent) / .05) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-black\/40{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .4) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-card\/95{--tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--card) / .95) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[\#2965f1\]\/5{--tw-gradient-to: rgb(41 101 241 / .05) var(--tw-gradient-to-position)}.to-\[rgb\(var\(--color-category-client\)\)\]{--tw-gradient-to: rgb(var(--color-category-client)) var(--tw-gradient-to-position)}.to-\[rgb\(var\(--color-category-commercial\)\)\]{--tw-gradient-to: rgb(var(--color-category-commercial)) var(--tw-gradient-to-position)}.to-\[rgb\(var\(--color-category-opensource\)\)\]{--tw-gradient-to: rgb(var(--color-category-opensource)) var(--tw-gradient-to-position)}.to-\[var\(--color-timeline-amber-to\)\]{--tw-gradient-to: var(--color-timeline-amber-to) var(--tw-gradient-to-position)}.to-\[var\(--color-timeline-blue-to\)\]{--tw-gradient-to: var(--color-timeline-blue-to) var(--tw-gradient-to-position)}.to-\[var\(--color-timeline-cyan-to\)\]{--tw-gradient-to: var(--color-timeline-cyan-to) var(--tw-gradient-to-position)}.to-\[var\(--color-timeline-emerald-to\)\]{--tw-gradient-to: var(--color-timeline-emerald-to) var(--tw-gradient-to-position)}.to-\[var\(--color-timeline-violet-to\)\]{--tw-gradient-to: var(--color-timeline-violet-to) var(--tw-gradient-to-position)}.to-\[var\(--section-background-glow-to\)\]{--tw-gradient-to: var(--section-background-glow-to) var(--tw-gradient-to-position)}.to-accent\/20{--tw-gradient-to: hsl(var(--accent) / .2) var(--tw-gradient-to-position)}.to-black\/20{--tw-gradient-to: rgb(0 0 0 / .2) var(--tw-gradient-to-position)}.to-card\/80{--tw-gradient-to: hsl(var(--card) / .8) var(--tw-gradient-to-position)}.to-foreground\/20{--tw-gradient-to: hsl(var(--foreground) / .2) var(--tw-gradient-to-position)}.to-primary{--tw-gradient-to: hsl(var(--primary)) var(--tw-gradient-to-position)}.to-primary-600{--tw-gradient-to: oklch(.45 .235 189 / 1) var(--tw-gradient-to-position)}.to-primary\/5{--tw-gradient-to: hsl(var(--primary) / .05) var(--tw-gradient-to-position)}.to-secondary{--tw-gradient-to: hsl(var(--secondary)) var(--tw-gradient-to-position)}.to-secondary\/20{--tw-gradient-to: hsl(var(--secondary) / .2) var(--tw-gradient-to-position)}.to-secondary\/30{--tw-gradient-to: hsl(var(--secondary) / .3) var(--tw-gradient-to-position)}.to-secondary\/5{--tw-gradient-to: hsl(var(--secondary) / .05) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.bg-\[length\:200\%_100\%\]{background-size:200% 100%}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.\!px-3{padding-left:.75rem!important;padding-right:.75rem!important}.\!py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-32{padding-bottom:8rem}.pb-4{padding-bottom:1rem}.pb-40{padding-bottom:10rem}.pb-48{padding-bottom:12rem}.pb-5{padding-bottom:1.25rem}.pb-\[45vh\]{padding-bottom:45vh}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-12{padding-top:3rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-3{padding-top:.75rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.pt-\[10vh\]{padding-top:10vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,Courier New,monospace}.\!text-base{font-size:clamp(1rem,.95rem + .25vw,1.125rem)!important;line-height:1.5!important}.\!text-sm{font-size:clamp(.875rem,.8rem + .375vw,1rem)!important;line-height:1.5!important}.\!text-xs{font-size:clamp(.75rem,.7rem + .25vw,.875rem)!important;line-height:1.5!important}.text-2xl{font-size:clamp(2rem,1.6rem + 2vw,3rem);line-height:1.2}.text-3xl{font-size:clamp(2.5rem,2rem + 2.5vw,4rem);line-height:1.2}.text-4xl{font-size:clamp(3rem,2.5rem + 2.5vw,5rem);line-height:1.2}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[10px\]{font-size:10px}.text-\[10rem\]{font-size:10rem}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.5}.text-lg{font-size:clamp(1.125rem,1rem + .625vw,1.5rem);line-height:1.5}.text-sm{font-size:clamp(.875rem,.8rem + .375vw,1rem);line-height:1.5}.text-xl{font-size:clamp(1.5rem,1.3rem + 1vw,2rem);line-height:1.2}.text-xs{font-size:clamp(.75rem,.7rem + .25vw,.875rem);line-height:1.5}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#264de4\]{--tw-text-opacity: 1;color:rgb(38 77 228 / var(--tw-text-opacity, 1))}.text-\[\#264de4\]\/\[0\.08\]{color:#264de414}.text-\[\#f8f8f2\]{--tw-text-opacity: 1;color:rgb(248 248 242 / var(--tw-text-opacity, 1))}.text-\[rgb\(var\(--color-difficulty-advanced\)\)\]{color:rgb(var(--color-difficulty-advanced))}.text-\[rgb\(var\(--color-difficulty-beginner\)\)\]{color:rgb(var(--color-difficulty-beginner))}.text-\[rgb\(var\(--color-difficulty-intermediate\)\)\]{color:rgb(var(--color-difficulty-intermediate))}.text-\[rgb\(var\(--color-status-error\)\)\]{color:rgb(var(--color-status-error))}.text-\[rgb\(var\(--color-status-success\)\)\]{color:rgb(var(--color-status-success))}.text-\[rgb\(var\(--color-text-muted-gray\)\)\]{color:rgb(var(--color-text-muted-gray))}.text-\[rgb\(var\(--color-ui-error\)\)\]{color:rgb(var(--color-ui-error))}.text-\[rgb\(var\(--color-ui-success\)\)\]{color:rgb(var(--color-ui-success))}.text-\[rgb\(var\(--process-step-1\)\)\]{color:rgb(var(--process-step-1))}.text-\[rgb\(var\(--process-step-2\)\)\]{color:rgb(var(--process-step-2))}.text-\[rgb\(var\(--process-step-3\)\)\]{color:rgb(var(--process-step-3))}.text-\[rgb\(var\(--process-step-4\)\)\]{color:rgb(var(--process-step-4))}.text-\[rgb\(var\(--process-step-5\)\)\]{color:rgb(var(--process-step-5))}.text-\[rgb\(var\(--process-step-6\)\)\]{color:rgb(var(--process-step-6))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-error{--tw-text-opacity: 1;color:oklch(.6 .25 20 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground-muted{--tw-text-opacity: 1;color:oklch(var(--text-muted) / var(--tw-text-opacity, 1))}.text-foreground-muted\/50{color:oklch(var(--text-muted) / .5)}.text-foreground-muted\/60{color:oklch(var(--text-muted) / .6)}.text-foreground-muted\/70{color:oklch(var(--text-muted) / .7)}.text-foreground-muted\/80{color:oklch(var(--text-muted) / .8)}.text-foreground-secondary{--tw-text-opacity: 1;color:oklch(var(--text-secondary) / var(--tw-text-opacity, 1))}.text-foreground-secondary\/70{color:oklch(var(--text-secondary) / .7)}.text-foreground\/10{color:hsl(var(--foreground) / .1)}.text-foreground\/30{color:hsl(var(--foreground) / .3)}.text-foreground\/40{color:hsl(var(--foreground) / .4)}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-foreground\/\[0\.08\]{color:hsl(var(--foreground) / .08)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-primary{color:hsl(var(--primary))}.text-primary-400{--tw-text-opacity: 1;color:oklch(.65 .235 189 / var(--tw-text-opacity, 1))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/60{color:hsl(var(--primary) / .6)}.text-primary\/80{color:hsl(var(--primary) / .8)}.text-primary\/\[0\.06\]{color:hsl(var(--primary) / .06)}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-rose-400{--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.text-secondary{color:hsl(var(--secondary))}.text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.text-success{--tw-text-opacity: 1;color:oklch(.7 .18 150 / var(--tw-text-opacity, 1))}.text-violet-400{--tw-text-opacity: 1;color:rgb(167 139 250 / var(--tw-text-opacity, 1))}.text-warning{--tw-text-opacity: 1;color:oklch(.75 .2 80 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.placeholder-foreground-secondary::-moz-placeholder{--tw-placeholder-opacity: 1;color:oklch(var(--text-secondary) / var(--tw-placeholder-opacity, 1))}.placeholder-foreground-secondary::placeholder{--tw-placeholder-opacity: 1;color:oklch(var(--text-secondary) / var(--tw-placeholder-opacity, 1))}.placeholder-transparent::-moz-placeholder{color:transparent}.placeholder-transparent::placeholder{color:transparent}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_4px_20px_rgba\(0\,0\,0\,0\.15\)\,0_0_40px_rgba\(var\(--color-primary\)\,0\.15\)\]{--tw-shadow: 0 4px 20px rgba(0,0,0,.15),0 0 40px rgba(var(--color-primary),.15);--tw-shadow-colored: 0 4px 20px var(--tw-shadow-color), 0 0 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow: 0 8px 30px rgba(0,0,0,.3);--tw-shadow-colored: 0 8px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_2px_20px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow: inset 0 2px 20px rgba(0,0,0,.1);--tw-shadow-colored: inset 0 2px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-glow-primary{--tw-shadow: 0 0 20px oklch(.55 .22 160 / .3);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[rgba\(var\(--color-ui-error\)\,0\.2\)\]{--tw-shadow-color: rgba(var(--color-ui-error),.2);--tw-shadow: var(--tw-shadow-colored)}.shadow-\[rgba\(var\(--color-ui-success\)\,0\.2\)\]{--tw-shadow-color: rgba(var(--color-ui-success),.2);--tw-shadow: var(--tw-shadow-colored)}.shadow-\[var\(--btn-tertiary-shadow\)\]{--tw-shadow-color: var(--btn-tertiary-shadow);--tw-shadow: var(--tw-shadow-colored)}.shadow-foreground\/5{--tw-shadow-color: hsl(var(--foreground) / .05);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary\/25{--tw-shadow-color: hsl(var(--primary) / .25);--tw-shadow: var(--tw-shadow-colored)}.shadow-white\/30{--tw-shadow-color: rgb(255 255 255 / .3);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-background{--tw-ring-color: hsl(var(--background))}.ring-black\/5{--tw-ring-color: rgb(0 0 0 / .05)}.ring-border{--tw-ring-color: hsl(var(--border))}.ring-primary\/50{--tw-ring-color: hsl(var(--primary) / .5)}.ring-white\/20{--tw-ring-color: rgb(255 255 255 / .2)}.ring-white\/40{--tw-ring-color: rgb(255 255 255 / .4)}.ring-white\/50{--tw-ring-color: rgb(255 255 255 / .5)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur: blur(40px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-md{--tw-blur: blur(12px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-sm{--tw-blur: blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-xl{--tw-blur: blur(24px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.saturate-150{--tw-saturate: saturate(1.5);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-lg{--tw-backdrop-blur: blur(16px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.transition-\[top\]{transition-property:top;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-base{transition-duration:.3s}.duration-fast{transition-duration:.15s}.duration-slow{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.3s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in,.fade-in-0{--tw-enter-opacity: 0}.slide-in-from-bottom-4{--tw-enter-translate-y: 1rem}.slide-in-from-top-2{--tw-enter-translate-y: -.5rem}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.duration-base{animation-duration:.3s}.duration-fast{animation-duration:.15s}.duration-slow{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.text-balance{text-wrap:balance}.content-prose .expressive-code{margin:1.5rem 0 2rem}.expressive-code:not(.mermaid-diagram) figure.frame{position:relative;border-radius:.75rem!important;overflow:hidden!important;background-color:#282a36!important;border:1px solid #44475a!important;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff0d!important}.expressive-code:not(.mermaid-diagram) .frame.is-terminal .header:before,.expressive-code:not(.mermaid-diagram) .frame.is-terminal figcaption:before,.expressive-code:not(.mermaid-diagram) .frame.is-terminal .header:after,.expressive-code:not(.mermaid-diagram) .frame.is-terminal figcaption:after{display:none!important;content:none!important}.expressive-code:not(.mermaid-diagram) .frame.is-terminal .header .sr-only,.expressive-code:not(.mermaid-diagram) .frame.is-terminal .header .sr-only~*:not(.title),.expressive-code:not(.mermaid-diagram) .frame figcaption .sr-only{display:none!important}.expressive-code:not(.mermaid-diagram) .frame.is-terminal figcaption>span:not(.title){display:none!important}.expressive-code:not(.mermaid-diagram) .frame.is-terminal figcaption.header{background-image:none!important}.expressive-code:not(.mermaid-diagram) figure.frame:before{content:"";display:block;height:2.75rem;background-color:#282a36;border-bottom:1px solid #44475a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='68' height='44'%3E%3Ccircle cx='16' cy='22' r='6' fill='%23ef4444'/%3E%3Ccircle cx='36' cy='22' r='6' fill='%23eab308'/%3E%3Ccircle cx='56' cy='22' r='6' fill='%2322c55e'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left center}.expressive-code:not(.mermaid-diagram) .frame>.header{position:absolute!important;top:0!important;left:4.5rem!important;right:5rem!important;height:2.75rem!important;display:flex!important;align-items:center!important;background:transparent!important;border:none!important;z-index:5}.expressive-code:not(.mermaid-diagram) .frame>.header .title{font-size:.75rem!important;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace!important;color:#f8f8f2!important;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expressive-code:not(.mermaid-diagram) .frame pre{margin:0!important;padding:.1rem .75rem!important;background-color:transparent!important;border-radius:0!important}.expressive-code:not(.mermaid-diagram) .frame pre code{font-size:.6rem!important;line-height:1.6!important;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace!important;background:none!important}.expressive-code:not(.mermaid-diagram) .frame .ec-line{transition:background-color .2s ease;padding:.125rem .75rem!important;margin:0 -.75rem!important;border-radius:.25rem;font-size:.7rem!important;line-height:1.4!important}.expressive-code:not(.mermaid-diagram) .frame .ec-line:hover{background-color:#44475a99!important}.expressive-code:not(.mermaid-diagram) .frame .ec-line+.ec-line{margin-top:.05rem!important}.expressive-code:not(.mermaid-diagram) .frame .copy{position:absolute!important;top:.625rem!important;right:.5rem!important;z-index:10}.expressive-code:not(.mermaid-diagram) .frame .copy .feedback{display:none!important}.expressive-code:not(.mermaid-diagram) .frame .copy button{width:1.5rem!important;height:1.5rem!important;background:#6272a44d!important;border:1px solid rgba(98,114,164,.5)!important;border-radius:.25rem!important;opacity:1!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;transition:background-color .2s ease!important}.expressive-code:not(.mermaid-diagram) .frame .copy button div{background:transparent!important;opacity:0!important;display:none!important}.expressive-code:not(.mermaid-diagram) .frame .copy button:before{border:none!important;opacity:0!important;display:none!important}.expressive-code:not(.mermaid-diagram) .frame .copy button:after{content:""!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;background-color:#f8f8f2!important;width:.8rem!important;height:.8rem!important;margin:0!important;opacity:.7!important;transition:opacity .2s ease,background-color .3s ease,transform .2s ease!important}.expressive-code:not(.mermaid-diagram) .frame .copy button:hover{background:#6272a480!important}.expressive-code:not(.mermaid-diagram) .frame .copy button:hover:after{opacity:1!important}.expressive-code:not(.mermaid-diagram) .frame .copy button.copied:after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E")!important;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E")!important;mask-size:contain!important;-webkit-mask-size:contain!important;mask-repeat:no-repeat!important;-webkit-mask-repeat:no-repeat!important;mask-position:center!important;-webkit-mask-position:center!important;background-color:#22c55e!important;opacity:1!important;transform:translate(-50%,-50%) scale(1.1)!important}.expressive-code:not(.mermaid-diagram) .frame [data-language]:before{position:absolute!important;top:.625rem!important;right:2.5rem!important;z-index:10;height:1.5rem!important;font-size:.65rem!important;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace!important;font-weight:500!important;color:#f8f8f2!important;background:#6272a44d!important;border:1px solid rgba(98,114,164,.5)!important;padding:0 .5rem!important;border-radius:.25rem!important;text-transform:lowercase!important;line-height:1.5rem!important;opacity:1!important;box-sizing:border-box!important}.content-prose p code{margin:0 .25rem;padding:.125rem .5rem;background:#44475a80;border:1px solid #44475a;border-radius:.375rem;color:#f8f8f2;font-size:.875em;font-weight:500;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.mermaid-diagram{margin:1rem 0;border-radius:.5rem;overflow:hidden;background:#282a36;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;padding:2rem}.mermaid-diagram .frame{display:flex;justify-content:center;align-items:center;min-height:200px;background:transparent;width:100%}.mermaid-diagram .mermaid{margin:0 auto;background:transparent;display:flex;justify-content:center;align-items:center;width:100%}.mermaid-diagram .mermaid svg{display:block;margin:0 auto;max-width:100%;height:auto}.mermaid svg .edge-thickness-normal{stroke-width:3px}.mermaid svg .edge-pattern-solid{stroke-width:3px}.mermaid svg path.path{stroke-width:3px}.mermaid svg line{stroke-width:3px}.mermaid svg .nodeLabel,.mermaid svg .edgeLabel{font-weight:500}.expressive-code.mermaid-diagram figure.frame{box-shadow:none}.expressive-code.mermaid-diagram{box-shadow:var(--ec-frm-frameBoxShdCssVal)}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.stagger-item{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.stagger-item.is-visible{opacity:1;transform:translateY(0)}.stagger-item:nth-child(1){transition-delay:0ms}.stagger-item:nth-child(2){transition-delay:.1s}.stagger-item:nth-child(3){transition-delay:.2s}.stagger-item:nth-child(4){transition-delay:.3s}.stagger-item:nth-child(5){transition-delay:.4s}.stagger-item:nth-child(6){transition-delay:.5s}.stagger-item:nth-child(7){transition-delay:.6s}.stagger-item:nth-child(8){transition-delay:.7s}@media(prefers-reduced-motion:reduce){.animate-on-scroll,.stagger-item{opacity:1;transform:none;transition:none}}astro-island .animate-on-scroll,astro-island .stagger-item{animation:scroll-reveal-in .6s cubic-bezier(.16,1,.3,1) forwards}astro-island .stagger-item:nth-child(1){animation-delay:0ms}astro-island .stagger-item:nth-child(2){animation-delay:.1s}astro-island .stagger-item:nth-child(3){animation-delay:.2s}astro-island .stagger-item:nth-child(4){animation-delay:.3s}astro-island .stagger-item:nth-child(5){animation-delay:.4s}astro-island .stagger-item:nth-child(6){animation-delay:.5s}@keyframes scroll-reveal-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn-view-all{background:linear-gradient(135deg,var(--color-primary-full) 0%,var(--color-primary-dark-full) 25%,var(--color-secondary-full) 50%,var(--color-primary-dark-full) 75%,var(--color-primary-full) 100%);background-size:300% 300%;background-position:0% 50%;box-shadow:0 8px 20px -4px rgba(var(--color-primary),.5),0 20px 40px -8px rgba(var(--color-primary),.35),0 0 60px -10px rgba(var(--color-primary),.4);transition:background-position .5s ease-out,box-shadow .3s ease-out,transform .3s ease-out}.btn-view-all:hover{background-position:100% 50%;box-shadow:0 12px 28px -4px rgba(var(--color-primary),.6),0 28px 50px -8px rgba(var(--color-primary),.4),0 0 80px -10px rgba(var(--color-primary),.5)}.btn-view-all:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0) 20%,rgba(255,255,255,.4) 50%,rgba(255,255,255,0) 80%,transparent 100%);transform:skew(-20deg);transition:none;z-index:15;pointer-events:none}.btn-view-all:hover:after{animation:btn-shine-sweep .6s ease-out forwards}@keyframes btn-shine-sweep{0%{left:-100%}to{left:150%}}:root{--bg-primary: 200 20% 99%;--bg-secondary: 205 25% 96%;--bg-tertiary: 205 22% 92%;--text-primary: 210 50% 6%;--text-secondary: 208 40% 14%;--text-muted: 205 30% 22%;--background: 205 25% 96%;--foreground: 210 50% 6%;--card: 0 0% 100%;--card-foreground: 210 50% 6%;--popover: 0 0% 100%;--popover-foreground: 210 50% 6%;--primary: 205 100% 24%;--primary-foreground: 0 0% 100%;--secondary: 195 90% 26%;--secondary-foreground: 0 0% 100%;--muted: 205 18% 88%;--muted-foreground: 205 30% 22%;--accent: 200 95% 28%;--accent-foreground: 0 0% 100%;--destructive: 0 84% 45%;--destructive-foreground: 0 0% 98%;--border: 205 25% 70%;--input: 205 18% 88%;--ring: 205 100% 24%;--input-field-bg: rgba(0, 0, 0, .06);--chart-1: 205 100% 24%;--chart-2: 195 90% 26%;--chart-3: 200 95% 28%;--chart-4: 215 85% 28%;--chart-5: 190 80% 28%;--color-primary: 15, 75, 120;--color-primary-dark: 10, 60, 100;--color-primary-full: rgb(15, 75, 120);--color-primary-dark-full: rgb(10, 60, 100);--color-secondary: 8, 95, 115;--color-secondary-dark: 5, 75, 95;--color-secondary-full: rgb(8, 95, 115);--color-secondary-dark-full: rgb(5, 75, 95);--color-tertiary: 5, 85, 130;--color-tertiary-dark: 3, 68, 105;--color-tertiary-full: rgb(5, 85, 130);--color-tertiary-dark-full: rgb(3, 68, 105);--color-ui-info: 15, 75, 120;--color-ui-info-full: rgb(15, 75, 120);--color-ui-warning: 140, 70, 0;--color-ui-warning-full: rgb(140, 70, 0);--color-ui-error: 160, 20, 20;--color-ui-error-full: rgb(160, 20, 20);--color-ui-success: 15, 100, 70;--color-ui-success-full: rgb(15, 100, 70);--color-ui-tip: 15, 75, 120;--color-ui-tip-full: rgb(15, 75, 120);--color-ui-quote: 8, 95, 115;--color-ui-quote-full: rgb(8, 95, 115);--section-background-glow-from: #0f4b78;--section-background-glow-via: #e8f2f8;--section-background-glow-to: #085f73;--divider-primary: #0f4b78;--divider-secondary: #085f73;--divider-accent: #055582;--testimonial-accent: 15, 75, 120;--testimonial-accent-light: 8, 95, 115;--testimonial-accent-dark: 10, 60, 100;--testimonial-accent-full: #0f4b78;--testimonial-accent-light-full: #085f73;--testimonial-text: 8, 14, 26;--testimonial-text-secondary: 16, 28, 42;--testimonial-text-muted: 32, 45, 62;--testimonial-card-bg: 255, 255, 255;--testimonial-card-bg-tinted: 232, 242, 250;--testimonial-focus: 15, 75, 120;--color-timeline-blue-from: #1d4ed8;--color-timeline-blue-to: #1e40af;--color-timeline-emerald-from: #047857;--color-timeline-emerald-to: #065f46;--color-timeline-amber-from: #b45309;--color-timeline-amber-to: #92400e;--color-timeline-steel-from: #1d4ed8;--color-timeline-steel-to: #1e40af;--color-timeline-cyan-from: #0e7490;--color-timeline-cyan-to: #155e75;--social-icon: 35, 45, 65;--social-icon-hover: 15, 75, 120;--mermaid-primary: #0f4b78;--mermaid-secondary: #085f73;--mermaid-background: #f0f5fa;--mermaid-border: #a0c8d8;--mermaid-text: #081018;--tooltip-bg: 12, 45, 70;--tooltip-text: 243, 244, 246;--tooltip-border: 12, 45, 70;--syntax-keyword: 205 100% 24%;--syntax-string: 150 70% 28%;--syntax-number: 35 95% 32%;--syntax-comment: 205 25% 40%}.dark{--bg-primary: 195 50% 4%;--bg-secondary: 195 45% 7%;--bg-tertiary: 195 40% 10%;--text-primary: 185 20% 95%;--text-secondary: 185 15% 75%;--text-muted: 185 10% 55%;--background: 195 50% 4%;--foreground: 185 20% 95%;--card: 195 45% 7%;--card-foreground: 185 20% 95%;--popover: 195 45% 7%;--popover-foreground: 185 20% 95%;--primary: 187 85% 53%;--primary-foreground: 195 50% 4%;--secondary: 172 66% 50%;--secondary-foreground: 195 50% 4%;--muted: 195 35% 12%;--muted-foreground: 185 15% 70%;--accent: 158 64% 52%;--accent-foreground: 195 50% 4%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 195 30% 20%;--input: 195 35% 15%;--ring: 187 85% 53%;--input-field-bg: rgba(255, 255, 255, .08);--chart-1: 187 85% 53%;--chart-2: 172 66% 50%;--chart-3: 158 64% 52%;--chart-4: 195 80% 55%;--chart-5: 145 70% 50%;--color-primary: 6, 182, 212;--color-primary-dark: 8, 145, 178;--color-primary-full: rgb(6, 182, 212);--color-primary-dark-full: rgb(8, 145, 178);--color-secondary: 45, 212, 191;--color-secondary-dark: 20, 184, 166;--color-secondary-full: rgb(45, 212, 191);--color-secondary-dark-full: rgb(20, 184, 166);--color-tertiary: 34, 197, 94;--color-tertiary-dark: 22, 163, 74;--color-tertiary-full: rgb(34, 197, 94);--color-tertiary-dark-full: rgb(22, 163, 74);--color-ui-info: 6, 182, 212;--color-ui-info-full: rgb(6, 182, 212);--color-ui-warning: 251, 191, 36;--color-ui-warning-full: rgb(251, 191, 36);--color-ui-error: 248, 113, 113;--color-ui-error-full: rgb(248, 113, 113);--color-ui-success: 34, 197, 94;--color-ui-success-full: rgb(34, 197, 94);--color-ui-tip: 6, 182, 212;--color-ui-tip-full: rgb(6, 182, 212);--color-ui-quote: 45, 212, 191;--color-ui-quote-full: rgb(45, 212, 191);--section-background-glow-from: #06b6d4;--section-background-glow-via: #0c1a1f;--section-background-glow-to: #0891b2;--divider-primary: #06b6d4;--divider-secondary: #2dd4bf;--divider-accent: #22c55e;--testimonial-accent: 6, 182, 212;--testimonial-accent-light: 45, 212, 191;--testimonial-accent-dark: 8, 145, 178;--testimonial-accent-full: rgb(6, 182, 212);--testimonial-accent-light-full: rgb(45, 212, 191);--testimonial-text: 243, 244, 246;--testimonial-text-secondary: 209, 213, 219;--testimonial-text-muted: 156, 163, 175;--testimonial-card-bg: 12, 26, 31;--testimonial-card-bg-tinted: 8, 20, 25;--testimonial-focus: 6, 182, 212;--color-timeline-blue-from: #06b6d4;--color-timeline-blue-to: #0891b2;--color-timeline-emerald-from: #2dd4bf;--color-timeline-emerald-to: #14b8a6;--color-timeline-amber-from: #fbbf24;--color-timeline-amber-to: #f59e0b;--color-timeline-steel-from: #22d3ee;--color-timeline-steel-to: #06b6d4;--color-timeline-cyan-from: #22c55e;--color-timeline-cyan-to: #16a34a;--social-icon: 156, 163, 175;--social-icon-hover: 6, 182, 212;--mermaid-primary: #06b6d4;--mermaid-secondary: #2dd4bf;--mermaid-background: #0c1a1f;--mermaid-border: #164e63;--mermaid-text: #f3f4f6;--tooltip-bg: 22, 78, 99;--tooltip-text: 240, 246, 252;--tooltip-border: 22, 78, 99;--syntax-keyword: 187 85% 53%;--syntax-string: 158 64% 52%;--syntax-number: 38 92% 50%;--syntax-comment: 185 10% 55%}.group:hover .group-hover\:animate-gradient{animation:gradient 3s ease infinite}.placeholder\:text-foreground-muted::-moz-placeholder{--tw-text-opacity: 1;color:oklch(var(--text-muted) / var(--tw-text-opacity, 1))}.placeholder\:text-foreground-muted::placeholder{--tw-text-opacity: 1;color:oklch(var(--text-muted) / var(--tw-text-opacity, 1))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:0}.before\:bg-\[linear-gradient\(135deg\,var\(--btn-tertiary-hover-start\)_0\%\,var\(--btn-tertiary-hover-end\)_100\%\)\]:before{content:var(--tw-content);background-image:linear-gradient(135deg,var(--btn-tertiary-hover-start) 0%,var(--btn-tertiary-hover-end) 100%)}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:transition-opacity:before{content:var(--tw-content);transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.before\:duration-base:before{content:var(--tw-content);transition-duration:.3s}.before\:duration-slow:before{content:var(--tw-content);transition-duration:.5s}.before\:ease-in-out:before{content:var(--tw-content);transition-timing-function:cubic-bezier(.4,0,.2,1)}.before\:duration-base:before{content:var(--tw-content);animation-duration:.3s}.before\:duration-slow:before{content:var(--tw-content);animation-duration:.5s}.before\:ease-in-out:before{content:var(--tw-content);animation-timing-function:cubic-bezier(.4,0,.2,1)}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-2:hover{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:translate-x-1:hover{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover,.hover\:scale-emphasis:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-medium:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-subtle:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-accent\/30:hover{border-color:hsl(var(--accent) / .3)}.hover\:border-foreground\/20:hover{border-color:hsl(var(--foreground) / .2)}.hover\:border-foreground\/30:hover{border-color:hsl(var(--foreground) / .3)}.hover\:border-foreground\/40:hover{border-color:hsl(var(--foreground) / .4)}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary) / .3)}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary) / .4)}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:border-transparent:hover{border-color:transparent}.hover\:bg-background\/50:hover{background-color:hsl(var(--background) / .5)}.hover\:bg-black\/80:hover{background-color:#000c}.hover\:bg-foreground\/10:hover{background-color:hsl(var(--foreground) / .1)}.hover\:bg-foreground\/15:hover{background-color:hsl(var(--foreground) / .15)}.hover\:bg-foreground\/20:hover{background-color:hsl(var(--foreground) / .2)}.hover\:bg-foreground\/35:hover{background-color:hsl(var(--foreground) / .35)}.hover\:bg-foreground\/5:hover{background-color:hsl(var(--foreground) / .05)}.hover\:bg-foreground\/\[0\.06\]:hover{background-color:hsl(var(--foreground) / .06)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary) / .2)}.hover\:bg-primary\/35:hover{background-color:hsl(var(--primary) / .35)}.hover\:bg-primary\/5:hover{background-color:hsl(var(--primary) / .05)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-white\/90:hover{background-color:#ffffffe6}.hover\:from-primary-600:hover{--tw-gradient-from: oklch(.45 .235 189 / 1) var(--tw-gradient-from-position);--tw-gradient-to: oklch(.45 .235 189 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-primary:hover{--tw-gradient-to: hsl(var(--primary)) var(--tw-gradient-to-position)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-2xl:hover{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[rgba\(var\(--color-category-client\)\,0\.3\)\]:hover{--tw-shadow-color: rgba(var(--color-category-client),.3);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-\[rgba\(var\(--color-category-commercial\)\,0\.3\)\]:hover{--tw-shadow-color: rgba(var(--color-category-commercial),.3);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-\[rgba\(var\(--color-category-opensource\)\,0\.3\)\]:hover{--tw-shadow-color: rgba(var(--color-category-opensource),.3);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-accent\/10:hover{--tw-shadow-color: hsl(var(--accent) / .1);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-foreground\/5:hover{--tw-shadow-color: hsl(var(--foreground) / .05);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-primary\/10:hover{--tw-shadow-color: hsl(var(--primary) / .1);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-primary\/20:hover{--tw-shadow-color: hsl(var(--primary) / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-primary\/25:hover{--tw-shadow-color: hsl(var(--primary) / .25);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-primary\/30:hover{--tw-shadow-color: hsl(var(--primary) / .3);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-primary\/5:hover{--tw-shadow-color: hsl(var(--primary) / .05);--tw-shadow: var(--tw-shadow-colored)}.hover\:ring-white\/60:hover{--tw-ring-color: rgb(255 255 255 / .6)}.hover\:before\:opacity-100:hover:before{content:var(--tw-content);opacity:1}.hover\:before\:opacity-20:hover:before{content:var(--tw-content);opacity:.2}.focus\:border-error:focus{--tw-border-opacity: 1;border-color:oklch(.6 .25 20 / var(--tw-border-opacity, 1))}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:bg-foreground\/\[0\.06\]:focus{background-color:hsl(var(--foreground) / .06)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-color: hsl(var(--primary))}.focus\:ring-primary\/20:focus{--tw-ring-color: hsl(var(--primary) / .2)}.focus\:ring-primary\/30:focus{--tw-ring-color: hsl(var(--primary) / .3)}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--color-focus-outline-full\)\]:focus-visible{outline-color:var(--color-focus-outline-full)}.focus-visible\:outline-primary:focus-visible{outline-color:hsl(var(--primary))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-primary\/10:active{background-color:hsl(var(--primary) / .1)}.group[open] .group-open\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[open] .group-open\:text-primary{color:hsl(var(--primary))}.group:hover .group-hover\:h-1\.5{height:.375rem}.group:hover .group-hover\:w-full{width:100%}.group:hover .group-hover\:-translate-x-0\.5{--tw-translate-x: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.02\]{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-emphasis{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-medium{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-subtle{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:gap-3{gap:.75rem}.group:hover .group-hover\:border-primary\/40{border-color:hsl(var(--primary) / .4)}.group:hover .group-hover\:bg-accent\/10{background-color:hsl(var(--accent) / .1)}.group:hover .group-hover\:bg-black\/10{background-color:#0000001a}.group:hover .group-hover\:bg-primary{background-color:hsl(var(--primary))}.group:hover .group-hover\:bg-primary\/10{background-color:hsl(var(--primary) / .1)}.group:hover .group-hover\:bg-primary\/20{background-color:hsl(var(--primary) / .2)}.group:hover .group-hover\:bg-primary\/5{background-color:hsl(var(--primary) / .05)}.group:hover .group-hover\:text-accent{color:hsl(var(--accent))}.group:hover .group-hover\:text-foreground{color:hsl(var(--foreground))}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}.group:hover .group-hover\:text-primary\/80{color:hsl(var(--primary) / .8)}.group:hover .group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-50{opacity:.5}.group:hover .group-hover\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-primary\/20{--tw-shadow-color: hsl(var(--primary) / .2);--tw-shadow: var(--tw-shadow-colored)}.group:focus-visible .group-focus-visible\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-visible .group-focus-visible\:opacity-100{opacity:1}.data-\[selected\=true\]\:bg-primary\/10[data-selected=true]{background-color:hsl(var(--primary) / .1)}.data-\[selected\=true\]\:text-primary[data-selected=true]{color:hsl(var(--primary))}.dark\:border-foreground\/10:is(.dark *){border-color:hsl(var(--foreground) / .1)}.dark\:border-primary\/30:is(.dark *){border-color:hsl(var(--primary) / .3)}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}.dark\:border-white\/20:is(.dark *){border-color:#fff3}.dark\:bg-background-secondary:is(.dark *){--tw-bg-opacity: 1;background-color:oklch(var(--bg-secondary) / var(--tw-bg-opacity, 1))}.dark\:bg-black\/60:is(.dark *){background-color:#0009}.dark\:bg-black\/70:is(.dark *){background-color:#000000b3}.dark\:bg-card:is(.dark *){background-color:hsl(var(--card))}.dark\:bg-card\/95:is(.dark *){background-color:hsl(var(--card) / .95)}.dark\:bg-primary\/10:is(.dark *){background-color:hsl(var(--primary) / .1)}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:from-black\/20:is(.dark *){--tw-gradient-from: rgb(0 0 0 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:via-black\/10:is(.dark *){--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:to-black\/30:is(.dark *){--tw-gradient-to: rgb(0 0 0 / .3) var(--tw-gradient-to-position)}.dark\:text-foreground-muted:is(.dark *){--tw-text-opacity: 1;color:oklch(var(--text-muted) / var(--tw-text-opacity, 1))}.dark\:text-white\/70:is(.dark *){color:#ffffffb3}.dark\:text-white\/90:is(.dark *){color:#ffffffe6}.dark\:shadow-\[0_0_15px_rgba\(0\,0\,0\,0\.4\)\]:is(.dark *){--tw-shadow: 0 0 15px rgba(0,0,0,.4);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[0_0_20px_rgba\(0\,0\,0\,0\.5\)\]:is(.dark *){--tw-shadow: 0 0 20px rgba(0,0,0,.5);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[0_4px_25px_rgba\(0\,0\,0\,0\.6\)\,0_0_60px_rgba\(var\(--color-primary\)\,0\.4\)\]:is(.dark *){--tw-shadow: 0 4px 25px rgba(0,0,0,.6),0 0 60px rgba(var(--color-primary),.4);--tw-shadow-colored: 0 4px 25px var(--tw-shadow-color), 0 0 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[0_8px_30px_rgba\(0\,0\,0\,0\.5\)\]:is(.dark *){--tw-shadow: 0 8px 30px rgba(0,0,0,.5);--tw-shadow-colored: 0 8px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[inset_0_2px_20px_rgba\(0\,0\,0\,0\.3\)\]:is(.dark *){--tw-shadow: inset 0 2px 20px rgba(0,0,0,.3);--tw-shadow-colored: inset 0 2px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-black\/20:is(.dark *){--tw-shadow-color: rgb(0 0 0 / .2);--tw-shadow: var(--tw-shadow-colored)}.dark\:ring-1:is(.dark *){--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.dark\:ring-primary\/20:is(.dark *){--tw-ring-color: hsl(var(--primary) / .2)}.dark\:ring-white\/10:is(.dark *){--tw-ring-color: rgb(255 255 255 / .1)}.dark\:hover\:border-white\/20:hover:is(.dark *){border-color:#fff3}.dark\:hover\:border-white\/30:hover:is(.dark *){border-color:#ffffff4d}.dark\:hover\:bg-black\/90:hover:is(.dark *){background-color:#000000e6}.dark\:hover\:bg-white\/20:hover:is(.dark *){background-color:#fff3}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:hover\:shadow-white\/5:hover:is(.dark *){--tw-shadow-color: rgb(255 255 255 / .05);--tw-shadow: var(--tw-shadow-colored)}@media(min-width:640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:p-3{padding:.75rem}.sm\:pb-\[50vh\]{padding-bottom:50vh}.sm\:text-3xl{font-size:clamp(2.5rem,2rem + 2.5vw,4rem);line-height:1.2}.sm\:text-4xl{font-size:clamp(3rem,2.5rem + 2.5vw,5rem);line-height:1.2}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-\[14rem\]{font-size:14rem}}@media(min-width:768px){.md\:order-1{order:1}.md\:order-2{order:2}.md\:col-start-2{grid-column-start:2}.md\:mb-14{margin-bottom:3.5rem}.md\:mb-16{margin-bottom:4rem}.md\:mb-\[-100px\]{margin-bottom:-100px}.md\:mt-20{margin-top:5rem}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-24{height:6rem}.md\:h-40{height:10rem}.md\:h-48{height:12rem}.md\:h-\[500px\]{height:500px}.md\:min-h-\[6rem\]{min-height:6rem}.md\:min-h-\[70vh\]{min-height:70vh}.md\:w-1\/2{width:50%}.md\:w-\[500px\]{width:500px}.md\:w-auto{width:auto}.md\:min-w-0{min-width:0px}.md\:flex-1{flex:1 1 0%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:rounded-none{border-radius:0}.md\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.md\:rounded-l-2xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.md\:rounded-r-2xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.md\:p-4{padding:1rem}.md\:p-8{padding:2rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:pb-24{padding-bottom:6rem}.md\:pb-36{padding-bottom:9rem}.md\:pb-40{padding-bottom:10rem}.md\:pb-48{padding-bottom:12rem}.md\:pb-56{padding-bottom:14rem}.md\:pt-20{padding-top:5rem}.md\:text-3xl{font-size:clamp(2.5rem,2rem + 2.5vw,4rem);line-height:1.2}.md\:text-4xl{font-size:clamp(3rem,2.5rem + 2.5vw,5rem);line-height:1.2}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}.md\:text-\[18rem\]{font-size:18rem}.md\:text-base{font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.5}.md\:text-sm{font-size:clamp(.875rem,.8rem + .375vw,1rem);line-height:1.5}.md\:text-xl{font-size:clamp(1.5rem,1.3rem + 1vw,2rem);line-height:1.2}}@media(min-width:1024px){.lg\:bottom-20{bottom:5rem}.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:\!mt-6{margin-top:1.5rem!important}.lg\:mb-0{margin-bottom:0}.lg\:mb-12{margin-bottom:3rem}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-3\.5{height:.875rem}.lg\:h-4{height:1rem}.lg\:h-\[600px\]{height:600px}.lg\:min-h-\[3rem\]{min-height:3rem}.lg\:w-1\/3{width:33.333333%}.lg\:w-3\.5{width:.875rem}.lg\:w-4{width:1rem}.lg\:w-\[600px\]{width:600px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[auto_1fr_1fr\]{grid-template-columns:auto 1fr 1fr}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:gap-10{gap:2.5rem}.lg\:gap-12{gap:3rem}.lg\:gap-4{gap:1rem}.lg\:gap-6{gap:1.5rem}.lg\:gap-8{gap:2rem}.lg\:gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.lg\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.lg\:p-5{padding:1.25rem}.lg\:p-6{padding:1.5rem}.lg\:p-7{padding:1.75rem}.lg\:\!px-4{padding-left:1rem!important;padding-right:1rem!important}.lg\:\!py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:py-2{padding-top:.5rem;padding-bottom:.5rem}.lg\:pb-0{padding-bottom:0}.lg\:pb-2{padding-bottom:.5rem}.lg\:pb-5{padding-bottom:1.25rem}.lg\:pl-64{padding-left:16rem}.lg\:pt-0{padding-top:0}.lg\:pt-20{padding-top:5rem}.lg\:pt-4{padding-top:1rem}.lg\:\!text-sm{font-size:clamp(.875rem,.8rem + .375vw,1rem)!important;line-height:1.5!important}.lg\:text-2xl{font-size:clamp(2rem,1.6rem + 2vw,3rem);line-height:1.2}.lg\:text-4xl{font-size:clamp(3rem,2.5rem + 2.5vw,5rem);line-height:1.2}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-8xl{font-size:6rem;line-height:1}.lg\:text-base{font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.5}.lg\:text-lg{font-size:clamp(1.125rem,1rem + .625vw,1.5rem);line-height:1.5}.lg\:text-sm{font-size:clamp(.875rem,.8rem + .375vw,1rem);line-height:1.5}.lg\:text-xs{font-size:clamp(.75rem,.7rem + .25vw,.875rem);line-height:1.5}}@media(min-width:1280px){.xl\:mx-0{margin-left:0;margin-right:0}.xl\:block{display:block}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:w-72{width:18rem}.xl\:min-w-0{min-width:0px}.xl\:flex-1{flex:1 1 0%}.xl\:flex-shrink-0{flex-shrink:0}.xl\:gap-12{gap:3rem}}.\[\&\>p\:not\(\:last-child\)\]\:mb-2>p:not(:last-child){margin-bottom:.5rem}.\[\&\>p\]\:m-0>p{margin:0}.\[\&\>svg\]\:h-4>svg{height:1rem}.\[\&\>svg\]\:h-full>svg{height:100%}.\[\&\>svg\]\:w-4>svg{width:1rem}.\[\&\>svg\]\:w-full>svg{width:100%}.\[\&_td\]\:px-3 td{padding-left:.75rem;padding-right:.75rem}.\[\&_td\]\:py-2 td{padding-top:.5rem;padding-bottom:.5rem}
