@charset "UTF-8";.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}.site-header{--nav-ease: cubic-bezier(.2, .8, .2, 1);--nav-duration: .48s;position:fixed;top:1rem;left:0;width:100%;z-index:1200;pointer-events:none}.site-header__dock{width:min(74rem,100%);margin:0 auto;padding:0 .95rem;display:flex;align-items:center;justify-content:flex-end;gap:.55rem;position:relative;pointer-events:auto}.site-header__bar{display:contents}.site-header__trigger{margin-top:0;border:1px solid var(--color-border);background:rgb(var(--bg-rgb)/.82);color:var(--color-foreground);backdrop-filter:blur(16px);box-shadow:0 12px 28px rgb(var(--fg-rgb)/.14);cursor:pointer;position:relative;z-index:2;transition:transform .28s var(--nav-ease),background-color .28s ease,border-color .28s ease,box-shadow .28s ease}.site-header__trigger:hover{transform:translateY(-1px) scale(1.02);background:var(--color-surface-strong);box-shadow:0 16px 34px rgb(var(--fg-rgb)/.16)}.site-header__trigger:active{transform:translateY(0) scale(.98)}.site-header__trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.site-header__trigger--avatar,.site-header__trigger--menu{width:2.9rem;height:2.9rem;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center}.site-header__avatar{width:2rem;height:2rem;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;letter-spacing:.02em;color:var(--color-foreground);border:1px solid rgb(var(--primary-rgb)/.42);background:linear-gradient(145deg,rgb(var(--primary-rgb)/.25),rgb(var(--secondary-rgb)/.26))}.site-nav{--nav-control-size: 2.5rem;--nav-control-radius: var(--radius);display:none;border:1px solid var(--color-border);background:rgb(var(--bg-rgb)/.78);backdrop-filter:blur(18px);box-shadow:0 12px 30px rgb(var(--fg-rgb)/.13);border-radius:1rem}.site-nav.is-open{display:grid}.site-nav__brand{display:inline-flex;align-items:center;gap:.52rem;color:var(--color-foreground);text-decoration:none;min-width:max-content}.site-nav__logo{width:1.9rem;height:1.9rem;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;letter-spacing:.02em;color:var(--color-foreground);border:1px solid rgb(var(--primary-rgb)/.42);background:linear-gradient(145deg,rgb(var(--primary-rgb)/.25),rgb(var(--secondary-rgb)/.26))}.site-nav__brand-text{display:grid;gap:.08rem;line-height:1}.site-nav__brand-name{font-size:.79rem;font-weight:800;letter-spacing:.02em;color:var(--color-foreground)}.site-nav__brand-role{font-size:.63rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.site-nav__links{list-style:none;display:grid;gap:.34rem}.site-nav__link{display:inline-flex;width:100%;min-height:var(--nav-control-size);align-items:center;justify-content:center;text-decoration:none;color:var(--color-muted);border-radius:.7rem;padding:0 .72rem;border:1px solid transparent;transition:color .24s ease,background-color .24s ease,border-color .24s ease,transform .24s var(--nav-ease)}.site-nav__link:hover{color:var(--color-foreground);background:var(--color-surface);border-color:var(--color-border);transform:translateY(-1px)}.site-nav__link.is-active{color:var(--color-foreground);background:rgb(var(--primary-rgb)/.14);border-color:rgb(var(--primary-rgb)/.35)}.site-nav__controls{display:flex;justify-content:center;align-items:center;gap:.45rem;white-space:nowrap}.site-nav__controls>*{flex-shrink:0}.lang-picker{position:relative}.lang-picker__trigger{display:inline-flex;align-items:center;justify-content:center;height:var(--nav-control-size);gap:.3rem;border-radius:var(--nav-control-radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-foreground);padding:0 .72rem;font-weight:600;font-size:.78rem;line-height:1;cursor:pointer;transition:background-color .24s ease,border-color .24s ease,transform .24s var(--nav-ease)}.lang-picker__trigger:hover{transform:translateY(-1px);background:var(--color-surface-strong);border-color:rgb(var(--primary-rgb)/.3)}.lang-picker__chevron{transition:transform .3s ease}.lang-picker__chevron.is-open{transform:rotate(180deg)}.lang-picker__menu{position:absolute;top:calc(100% + .45rem);right:0;list-style:none;min-width:5rem;border-radius:.8rem;border:1px solid var(--color-border);background:var(--color-surface-strong);box-shadow:0 14px 28px rgb(var(--fg-rgb)/.2);padding:.3rem;z-index:30}.lang-picker__option{width:100%;border:0;border-radius:.55rem;background:transparent;color:var(--color-muted);text-align:left;font-weight:600;font-size:.78rem;padding:.44rem .56rem;cursor:pointer}.lang-picker__option:hover{background:var(--color-surface);color:var(--color-foreground)}.lang-picker__option.is-selected{color:var(--color-foreground);background:rgb(var(--primary-rgb)/.12)}.site-header--mobile .site-nav{position:absolute;top:3.15rem;right:.95rem;width:min(22rem,100vw - 1.9rem);padding:.72rem;gap:.8rem}@media(min-width:920px){.site-header--desktop .site-header__dock{justify-content:flex-start;align-items:center}.site-header--desktop .site-header__bar{display:flex;align-items:center;gap:.55rem;flex:0 1 auto;min-width:0;padding:.4rem;border:1px solid var(--color-border);background:rgb(var(--bg-rgb)/.78);backdrop-filter:blur(18px);box-shadow:0 12px 30px rgb(var(--fg-rgb)/.13);border-radius:calc(var(--radius) + .4rem);transition:flex-grow var(--nav-duration) var(--nav-ease)}.site-header--desktop.is-open .site-header__bar{flex-grow:1}.site-header--desktop .site-header__trigger{order:1;flex:0 0 auto;border-color:transparent;background:transparent;backdrop-filter:none;box-shadow:none}.site-header--desktop .site-header__trigger:hover{background:transparent;box-shadow:none}.site-header--desktop .site-header__trigger--avatar{width:2.5rem;height:2.5rem}.site-header--desktop .site-header__avatar{width:2.25rem;height:2.25rem;font-size:.7rem}.site-header--desktop .site-nav{order:2;flex:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;min-height:2.5rem;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;visibility:hidden;padding:0;border:0;background:none;backdrop-filter:none;box-shadow:none;pointer-events:none;transform-origin:left center;transform:translate(-.35rem) scaleX(.96);clip-path:inset(0 100% 0 0);transition:max-width var(--nav-duration) var(--nav-ease),padding var(--nav-duration) var(--nav-ease),clip-path var(--nav-duration) var(--nav-ease),transform var(--nav-duration) var(--nav-ease),opacity .22s ease,visibility 0s linear var(--nav-duration)}.site-header--desktop .site-nav__brand,.site-header--desktop .site-nav__links,.site-header--desktop .site-nav__controls{opacity:0;transform:translate(-.8rem);transition:opacity .18s ease,transform .28s var(--nav-ease)}.site-header--desktop.is-open .site-nav{max-width:66rem;opacity:1;padding:0 .35rem 0 .25rem;pointer-events:auto;visibility:visible;transform:translate(0) scaleX(1);clip-path:inset(0 0 0 0);transition:max-width var(--nav-duration) var(--nav-ease),padding var(--nav-duration) var(--nav-ease),clip-path var(--nav-duration) var(--nav-ease),transform var(--nav-duration) var(--nav-ease),opacity .22s ease,visibility 0s linear 0s}.site-header--desktop.is-open .site-nav--lang-open{overflow:visible;clip-path:none}.site-header--desktop.is-open .site-nav__brand,.site-header--desktop.is-open .site-nav__links,.site-header--desktop.is-open .site-nav__controls{opacity:1;transform:translate(0)}.site-header--desktop.is-open .site-nav__brand{transition-delay:.08s}.site-header--desktop.is-open .site-nav__links{transition-delay:.13s}.site-header--desktop.is-open .site-nav__controls{transition-delay:.18s}.site-header--desktop .site-nav__logo{display:none}.site-header--desktop .site-nav__links{justify-self:center;display:flex;align-items:center;gap:.3rem}.site-header--desktop .site-nav__link{width:auto}.site-header--desktop .site-nav__brand-name{font-size:.82rem}}@media(prefers-reduced-motion:reduce){.site-header,.site-header *,.site-nav,.site-nav *{transition-duration:.01ms!important;transition-delay:0s!important}}.scroll-to-top{position:fixed;right:1rem;bottom:1rem;z-index:1100;width:2.75rem;height:2.75rem;border-radius:var(--radius);border:2px solid var(--color-primary);background:rgb(var(--bg-rgb)/.86);color:var(--color-primary);backdrop-filter:blur(14px);box-shadow:0 12px 28px rgb(var(--fg-rgb)/.14);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .28s cubic-bezier(.2,.8,.2,1),background-color .28s ease,border-color .28s ease,box-shadow .28s ease,color .28s ease}@media(min-width:920px){.scroll-to-top{right:1.5rem;bottom:1.5rem}}.scroll-to-top:hover{transform:translateY(-2px);background:var(--color-primary);color:var(--color-background);box-shadow:0 16px 34px rgb(var(--fg-rgb)/.18)}.scroll-to-top:active{transform:translateY(0)}.scroll-to-top:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.scroll-to-top{transition:none!important}}:root{--radius: 1rem;--spacing-factor: 1.24;--border-width: 2px;--navbar-link-active-weight: 700;--navbar-link-letter-spacing: .01em;--navbar-link-text-transform: none;--theme-layout-max-width: 86rem;--theme-motion-fast: .17s;--theme-motion-base: .26s;--theme-motion-slow: .36s;--theme-easing-standard: cubic-bezier(.22, 1, .36, 1);--theme-focus-ring-width: 3px;--theme-focus-ring-offset: 3px;--theme-surface-blur: 12px;--theme-overlay-opacity: .58;--theme-modal-backdrop-blur: 6px;--theme-navbar-height: 4.5rem;--theme-navbar-px: 1.25rem;--theme-navbar-px-sm: 1.75rem;--theme-navbar-px-lg: 2.5rem;--theme-navbar-item-gap: .5rem;--theme-navbar-section-gap: 1.25rem;--theme-navbar-indicator-height: 3px;--theme-navbar-indicator-radius: 9999px;--theme-sidebar-width: 17rem;--theme-sidebar-collapsed-width: 4.5rem;--theme-sidebar-header-height: 4rem;--theme-sidebar-item-gap: .25rem;--theme-sidebar-icon-size: 1.25rem;--theme-sidebar-px: .75rem;--theme-sidebar-section-gap: .625rem;--theme-carousel-track-radius: calc(var(--radius) * 1.1);--theme-carousel-control-size: 2.75rem;--theme-carousel-control-offset: 1.25rem;--theme-carousel-control-radius: 50%;--theme-carousel-control-border-width: var(--border-width)}.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{inset:0}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-full{bottom:100%}.bottom-t-gap{bottom:calc(1rem * var(--spacing-factor))}.left-0{left:0}.left-0\.5{left:.125rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-full{left:100%}.left-t-gap{left:calc(1rem * var(--spacing-factor))}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-full{right:100%}.right-t-gap{right:calc(1rem * var(--spacing-factor))}.right-t-gap-sm{right:calc(.5rem * var(--spacing-factor))}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-full{top:100%}.top-t-gap{top:calc(1rem * var(--spacing-factor))}.top-t-gap-sm{top:calc(.5rem * var(--spacing-factor))}.z-10{z-index:10}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[100\]{z-index:100}.z-\[9999\]{z-index:9999}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-0\.5{margin-left:.125rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-video{aspect-ratio:16 / 9}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[150px\]{height:150px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[50vh\]{max-height:50vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[300px\]{width:300px}.w-\[min\(85vw\,20rem\)\]{width:min(85vw,20rem)}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[8rem\]{min-width:8rem}.min-w-full{min-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.origin-bottom-left{transform-origin:bottom left}.origin-center{transform-origin:center}.origin-left{transform-origin:left}.origin-right{transform-origin:right}.origin-top-left{transform-origin:top left}.-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-full{--tw-translate-x: -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))}.-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-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))}.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))}.translate-x-full{--tw-translate-x: 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))}.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-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))}.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 pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) 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{resize:both}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-t-gap-sm{gap:calc(.5rem * var(--spacing-factor))}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-y-1\.5{row-gap:.375rem}.space-x-t-gap>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(calc(1rem * var(--spacing-factor)) * var(--tw-space-x-reverse));margin-left:calc(calc(1rem * var(--spacing-factor)) * calc(1 - var(--tw-space-x-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .75)}.rounded-sm{border-radius:calc(var(--radius) * .5)}.rounded-b-md{border-bottom-right-radius:calc(var(--radius) * .75);border-bottom-left-radius:calc(var(--radius) * .75)}.border{border-width:var(--border-width)}.border-2{border-width:2px}.border-b{border-bottom-width:var(--border-width)}.border-l{border-left-width:var(--border-width)}.border-r{border-right-width:var(--border-width)}.border-t{border-top-width:var(--border-width)}.border-t-0{border-top-width:0px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-current{border-color:currentColor}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-info{border-color:hsl(var(--info))}.border-info\/50{border-color:hsl(var(--info) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-success{border-color:hsl(var(--success))}.border-success\/50{border-color:hsl(var(--success) / .5)}.border-transparent{border-color:transparent}.border-warning{border-color:hsl(var(--warning))}.border-warning\/50{border-color:hsl(var(--warning) / .5)}.border-t-transparent{border-top-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-foreground\/60{background-color:hsl(var(--foreground) / .6)}.bg-foreground\/80{background-color:hsl(var(--foreground) / .8)}.bg-input{background-color:hsl(var(--input))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground) / .4)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-t-gap{padding:calc(1rem * var(--spacing-factor))}.px-0{padding-left:0;padding-right:0}.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-8{padding-left:2rem;padding-right:2rem}.px-t-gap{padding-left:calc(1rem * var(--spacing-factor));padding-right:calc(1rem * var(--spacing-factor))}.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-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-t-gap-sm{padding-top:calc(.5rem * var(--spacing-factor));padding-bottom:calc(.5rem * var(--spacing-factor))}.pb-4{padding-bottom:1rem}.pr-10{padding-right:2.5rem}.pt-0{padding-top:0}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-info{color:hsl(var(--info))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-success{color:hsl(var(--success))}.text-warning{color:hsl(var(--warning))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -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-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px 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), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;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), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.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-inset{--tw-ring-inset: inset }.ring-border{--tw-ring-color: hsl(var(--border)) }.ring-primary{--tw-ring-color: hsl(var(--primary)) }.ring-secondary{--tw-ring-color: hsl(var(--secondary)) }.ring-transparent{--tw-ring-color: transparent }.ring-offset-background{--tw-ring-offset-color: hsl(var(--background)) }.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)}.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{--tw-backdrop-blur: blur(8px);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-blur-xl{--tw-backdrop-blur: blur(24px);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:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.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:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-accent\/60:hover{background-color:hsl(var(--accent) / .6)}.hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive) / .1)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-foreground\/10:hover{background-color:hsl(var(--foreground) / .1)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-destructive\/10:focus{background-color:hsl(var(--destructive) / .1)}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-destructive:focus{color:hsl(var(--destructive))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.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-ring:focus{--tw-ring-color: hsl(var(--ring)) }.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px }.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--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-visible\:ring-destructive:focus-visible{--tw-ring-color: hsl(var(--destructive)) }.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring)) }.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px }.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px }.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:translate-x-5{--tw-translate-x: 1.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))}.peer:checked~.peer-checked\:bg-primary{background-color:hsl(var(--primary))}.peer:focus-visible~.peer-focus-visible\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus-visible~.peer-focus-visible\: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)}.peer:focus-visible~.peer-focus-visible\:ring-ring{--tw-ring-color: hsl(var(--ring)) }.peer:focus-visible~.peer-focus-visible\:ring-offset-2{--tw-ring-offset-width: 2px }.peer:focus-visible~.peer-focus-visible\:ring-offset-background{--tw-ring-offset-color: hsl(var(--background)) }.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-50{opacity:.5}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}.dark\:border-info:is(.dark *){border-color:hsl(var(--info))}.dark\:border-success:is(.dark *){border-color:hsl(var(--success))}.dark\:border-warning:is(.dark *){border-color:hsl(var(--warning))}@media(min-width:640px){.sm\:h-10{height:2.5rem}.sm\:h-11{height:2.75rem}.sm\:h-9{height:2.25rem}.sm\:w-10{width:2.5rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:p-6{padding:1.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;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))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-t-gap>svg{left:calc(1rem * var(--spacing-factor))}.\[\&\>svg\]\:top-t-gap>svg{top:calc(1rem * var(--spacing-factor))}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-info>svg{color:hsl(var(--info))}.\[\&\>svg\]\:text-success>svg{color:hsl(var(--success))}.\[\&\>svg\]\:text-warning>svg{color:hsl(var(--warning))}.\[\&\>svg\~\*\]\:pl-t-gap-lg>svg~*{padding-left:calc(1.5rem * var(--spacing-factor))}.\[\&_p\]\:leading-relaxed p{line-height:1.625}:root{--primary-50: 341 35% 95%;--primary-100: 341 35% 90%;--primary-200: 341 35% 80%;--primary-300: 341 37% 70%;--primary-400: 341 37% 60%;--primary-500: 341 37% 48%;--primary-600: 341 37% 40%;--primary-700: 341 37% 32%;--primary-800: 341 37% 24%;--primary-900: 341 37% 16%;--primary-950: 341 37% 8%;--secondary-50: 22 50% 96%;--secondary-100: 22 60% 90%;--secondary-200: 22 65% 82%;--secondary-300: 22 68% 75%;--secondary-400: 22 70% 75%;--secondary-500: 22 70% 60%;--secondary-600: 22 70% 50%;--secondary-700: 22 70% 40%;--secondary-800: 22 70% 30%;--secondary-900: 22 70% 20%;--secondary-950: 22 70% 10%;--primary: 341 37% 48%;--primary-foreground: 0 0% 100%;--secondary: 22 70% 70%;--secondary-foreground: 332 13% 26%;--background: 27 50% 96%;--foreground: 332 13% 26%;--card: 27 40% 98%;--card-foreground: 332 13% 26%;--popover: 27 40% 98%;--popover-foreground: 332 13% 26%;--muted: 27 30% 92%;--muted-foreground: 332 10% 45%;--accent: 22 70% 70%;--accent-foreground: 332 13% 26%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 98%;--border: 332 13% 26% / .12;--input: 332 13% 26% / .12;--ring: 341 37% 48%;--success: 142 76% 36%;--success-foreground: 0 0% 100%;--warning: 38 92% 50%;--warning-foreground: 0 0% 100%;--info: 217 91% 60%;--info-foreground: 0 0% 100%}@media(prefers-color-scheme:dark){:root:not([and-mode=light]){--primary: 343 59% 76%;--primary-foreground: 315 13% 13%;--secondary: 21 79% 76%;--secondary-foreground: 19 48% 92%;--background: 315 13% 13%;--foreground: 19 48% 92%;--card: 315 13% 11%;--card-foreground: 19 48% 92%;--popover: 315 13% 11%;--popover-foreground: 19 48% 92%;--muted: 315 13% 20%;--muted-foreground: 19 30% 70%;--accent: 21 79% 76%;--accent-foreground: 315 13% 13%;--destructive: 0 63% 31%;--destructive-foreground: 0 86% 97%;--border: 19 48% 92% / .16;--input: 19 48% 92% / .16;--ring: 343 59% 76%;--success: 142 70% 45%;--success-foreground: 0 0% 100%;--warning: 38 90% 56%;--warning-foreground: 0 0% 100%;--info: 217 85% 65%;--info-foreground: 0 0% 100%}}.dark,[and-mode=dark]{--primary: 343 59% 76%;--primary-foreground: 315 13% 13%;--secondary: 21 79% 76%;--secondary-foreground: 19 48% 92%;--background: 315 13% 13%;--foreground: 19 48% 92%;--card: 315 13% 11%;--card-foreground: 19 48% 92%;--popover: 315 13% 11%;--popover-foreground: 19 48% 92%;--muted: 315 13% 20%;--muted-foreground: 19 30% 70%;--accent: 21 79% 76%;--accent-foreground: 315 13% 13%;--destructive: 0 63% 31%;--destructive-foreground: 0 86% 97%;--border: 19 48% 92% / .16;--input: 19 48% 92% / .16;--ring: 343 59% 76%;--success: 142 70% 45%;--success-foreground: 0 0% 100%;--warning: 38 90% 56%;--warning-foreground: 0 0% 100%;--info: 217 85% 65%;--info-foreground: 0 0% 100%}@keyframes blob-one{0%,to{transform:translateY(0)}50%{transform:translateY(-600%)}}@keyframes blob-two{0%,to{transform:translateY(0)}50%{transform:translateY(-420%)}}@keyframes blob-three{0%,to{transform:translateY(0)}50%{transform:translateY(-305%)}}@keyframes blob-four{0%,to{transform:translateY(0)}50%{transform:translateY(-465%)}}@keyframes blob-five{0%,to{transform:translateY(0)}50%{transform:translateY(-700%)}}@keyframes blob-six{0%,to{transform:translateY(0)}50%{transform:translateY(-700%)}}@keyframes blob-seven{0%,to{transform:translateY(0)}50%{transform:translateY(-300%)}}@keyframes wobble{50%{border-radius:42% 58% 70% 30%/45% 45% 55% 55%}to{border-radius:38% 52% 75% 36%/50% 40% 50% 60%}}@keyframes bubble-rise{0%{transform:translate(-50%,100%) translateY(0) scale(1)}75%{transform:translate(-50%,100%) translateY(calc(var(--distance, 10rem) * -.75)) scale(1)}to{transform:translate(-50%,100%) translateY(calc(var(--distance, 10rem) * -1)) scale(0)}}@keyframes marquee-sm{0%{left:0}to{left:-340%}}@keyframes marquee-md{0%{left:0}to{left:-355%}}@keyframes marquee-lg{0%{left:0}to{left:-300%}}:root{color-scheme:light;--color-primary: oklch(54.5% .122 1.6);--color-secondary: oklch(77.3% .098 50.3);--color-background: oklch(97% .009 62.6);--color-foreground: oklch(37% .027 348.6);--color-surface: oklch(99.5% .003 67.8 / .82);--color-surface-strong: oklch(99.5% .003 67.8 / .94);--color-border: oklch(37% .027 348.6 / .12);--color-muted: oklch(37% .027 348.6 / .68);--color-glow-soft: oklch(54.5% .122 1.6 / .14);--color-glow-accent: oklch(77.3% .098 50.3 / .18);--lava-bg-start: oklch(92.3% .026 35.7);--lava-bg-end: oklch(95.7% .018 54);--lava-blob-start: oklch(82% .082 45.4);--lava-blob-end: oklch(90.7% .044 52.6);--lava-edge-start: oklch(84.7% .071 49.7);--lava-edge-end: oklch(96.5% .018 59.5);--fg-rgb: 75 58 66;--bg-rgb: 250 244 239;--primary-rgb: 168 78 107;--secondary-rgb: 232 163 124}html.dark{color-scheme:dark;--color-primary: oklch(77.9% .087 .6);--color-secondary: oklch(82.1% .085 50.3);--color-background: oklch(23.8% .017 335);--color-foreground: oklch(94% .016 46.6);--color-surface: oklch(28.4% .021 336.1 / .66);--color-surface-strong: oklch(31.5% .023 341.1 / .9);--color-border: oklch(94% .016 46.6 / .16);--color-muted: oklch(94% .016 46.6 / .74);--color-glow-soft: oklch(77.9% .087 .6 / .2);--color-glow-accent: oklch(82.1% .085 50.3 / .16);--lava-bg-start: oklch(29.3% .039 343.5);--lava-bg-end: oklch(34.8% .05 346.8);--lava-blob-start: oklch(77.9% .087 .6);--lava-blob-end: oklch(82.1% .085 50.3);--lava-edge-start: oklch(80.1% .079 1.8);--lava-edge-end: oklch(90.6% .041 51.4);--fg-rgb: 245 232 226;--bg-rgb: 36 28 34;--primary-rgb: 230 160 180;--secondary-rgb: 242 181 147}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:system-ui,sans-serif;background:var(--color-background);color:var(--color-foreground);scroll-behavior:smooth;overflow-x:hidden}body{font-family:system-ui,sans-serif;text-align:center;margin:0;min-height:100vh;overflow-x:hidden;background:var(--color-background);color:var(--color-foreground);transition:background-color .35s ease,color .35s ease}code{font-family:Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace}img{max-width:100%;height:auto}.lava-lamp{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:100vh;width:100vw;min-width:100vw;z-index:0;background:radial-gradient(60rem 34rem at 50% -18%,rgba(255,255,255,.16),transparent 64%),linear-gradient(155deg,var(--lava-bg-start),var(--lava-bg-end))}.lava-lamp__goo-layer{position:absolute;height:100%;width:100%;top:0;left:0;filter:url(#goo)}.lava-lamp__blob{position:absolute;border-radius:50%;background:linear-gradient(140deg,var(--lava-blob-start),var(--lava-blob-end));opacity:.94}.lava-lamp__blob--1{width:200px;height:200px;left:35%;bottom:-15%;animation:wobble 4s ease-in-out alternate infinite,blob-one 18s ease-in-out infinite}.lava-lamp__blob--2{width:330px;height:330px;right:24%;bottom:-65%;animation:wobble 5s ease-in-out alternate infinite,blob-two 22s ease-in-out infinite}.lava-lamp__blob--3{width:150px;height:150px;bottom:-15%;left:34%;animation:wobble 6s ease-in-out alternate infinite,blob-three 16s ease-in-out infinite}.lava-lamp__blob--4{width:235px;height:235px;bottom:-19%;left:30%;animation:wobble 8s ease-in-out alternate infinite,blob-four 16s ease-in-out infinite}.lava-lamp__blob--5{width:55px;height:55px;bottom:-25%;left:34%;animation:wobble 9s ease-in-out alternate infinite,blob-five 32s ease-in-out infinite}.lava-lamp__blob--6{width:35px;height:35px;bottom:-25%;right:34%;animation:wobble 10s ease-in-out alternate infinite,blob-six 12s ease-in-out infinite}.lava-lamp__blob--7{width:435px;height:435px;bottom:-85%;right:40%;animation:wobble 11s ease-in-out alternate infinite,blob-seven 32s ease-in-out infinite}.lava-lamp__edge{position:absolute;width:100%;left:0;border-radius:9999px;background:linear-gradient(to right,var(--lava-edge-start),var(--lava-edge-end));opacity:.95}.lava-lamp__edge--top{height:4%;top:-3%}.lava-lamp__surface{position:absolute;left:0;right:0;bottom:-3%;height:7%;background:linear-gradient(to right,var(--lava-edge-start),var(--lava-edge-end));filter:url(#goo-surface)}.lava-lamp__bubble{position:absolute;left:var(--position, 50%);bottom:100%;width:calc(var(--size, 4rem) * var(--bubble-scale, 1));height:calc(var(--size, 4rem) * var(--bubble-scale, 1));border-radius:50%;background:linear-gradient(to right,var(--lava-edge-start),var(--lava-edge-end));animation:bubble-rise var(--time, 4s) ease-in infinite var(--delay, 0s);will-change:transform}@media(max-width:640px){.lava-lamp__surface{--bubble-scale: .55}.lava-lamp__bubble:nth-child(2n){display:none}}.lava-lamp__svg{position:absolute;width:0;height:0}@media(prefers-reduced-motion:reduce){.lava-lamp__blob,.lava-lamp__bubble{animation:none}.lava-lamp__bubble{transform:translate(-50%,100%)}}.experience{position:relative;z-index:10;width:100%;padding:clamp(3rem,8vh,5rem) 1.25rem}.experience__container{width:min(72rem,100%);margin:0 auto;text-align:center}.experience__eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:700;color:var(--color-muted);margin-bottom:.55rem}.experience__title{font-size:clamp(1.7rem,4.5vw,2.4rem);font-weight:800;letter-spacing:-.02em;color:var(--color-foreground);margin-bottom:clamp(1.75rem,4vw,2.5rem)}.experience__grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;text-align:left}@media(min-width:768px){.experience__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}}.experience__card{display:flex;flex-direction:column;height:100%;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.experience__card:hover{transform:translateY(-3px)}.experience__meta{display:flex;align-items:center;gap:.55rem;margin:0 0 .85rem}.experience__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.9rem;height:1.9rem;border-radius:.7rem}.experience__icon--education{color:var(--color-primary);background:rgb(var(--primary-rgb)/.14)}.experience__icon--work{color:var(--color-foreground);background:rgb(var(--secondary-rgb)/.26)}.experience__period{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary)}.experience__role{font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:700;color:var(--color-foreground);margin:.35rem 0 0;line-height:1.3}.experience__org{font-size:.86rem;font-weight:600;color:var(--color-muted);margin:.15rem 0 .6rem}.experience__description{font-size:.94rem;line-height:1.55;color:var(--color-muted);margin:0}.projects{min-height:100dvh;width:100%;display:grid;align-items:center;padding:clamp(4rem,8vh,6rem) 1.25rem;background:radial-gradient(28rem 16rem at 86% 18%,rgb(var(--primary-rgb)/.14),transparent 75%),var(--color-background)}.projects__container{width:min(72rem,100%);margin:0 auto;text-align:left}.projects__eyebrow{color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.projects__title{margin-top:.55rem;color:var(--color-foreground);font-size:clamp(2rem,5.6vw,3.8rem);line-height:.98;letter-spacing:-.03em;text-wrap:balance}.projects__lead{margin-top:1rem;max-width:58ch;color:var(--color-muted);line-height:1.7;font-size:clamp(1rem,2.3vw,1.12rem)}.projects__grid{margin-top:clamp(1.5rem,4vw,2.4rem);display:grid;gap:1rem}@media(min-width:768px){.projects__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}}.projects__card{display:flex;flex-direction:column;height:100%;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.projects__card:hover{transform:translateY(-3px)}.projects__stack{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem}.contact{position:relative;width:100%;min-height:100dvh;display:grid;align-items:center;isolation:isolate}.contact__radial-bg{position:absolute;inset:10% 0 0;background:radial-gradient(30rem 20rem at 16% 34%,rgb(var(--primary-rgb)/.2),transparent 72%),radial-gradient(24rem 16rem at 84% 68%,rgb(var(--secondary-rgb)/.16),transparent 72%);filter:blur(26px);pointer-events:none;z-index:0}.contact__container{position:relative;z-index:10;width:min(72rem,100%);margin:0 auto;min-height:auto;display:grid;align-content:center;padding:clamp(2rem,4vw,3rem) 1.25rem}@media(min-width:768px){.contact__container{padding-inline:2rem}}.contact__layout{position:relative;display:grid;gap:1.4rem;text-align:left}@media(min-width:768px){.contact__layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:2rem;align-items:center}}.contact__intro{position:relative;z-index:10;max-width:38rem;margin-inline:auto}@media(min-width:768px){.contact__intro{margin-inline:0}}.contact__eyebrow{display:inline-flex;align-items:center;gap:.4rem;color:rgb(var(--fg-rgb)/.84);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700;margin-bottom:1rem}.contact__eyebrow:before{content:"";display:inline-block;width:1.5rem;height:.12rem;border-radius:9999px;background:rgb(var(--fg-rgb)/.52)}.contact__title{font-size:clamp(2.2rem,6vw,4.8rem);line-height:.97;font-weight:700;letter-spacing:-.025em;text-wrap:balance;color:var(--color-foreground);max-width:16ch}.contact__lead{margin-top:1.15rem;max-width:50ch;color:var(--color-muted);font-size:clamp(1rem,2.4vw,1.16rem);line-height:1.7;text-wrap:pretty}.contact__cta-row{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.75rem}.contact__socials{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:.75rem}.contact__social-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-muted);text-decoration:none;font-size:.95rem;padding:.35rem .65rem;border-radius:var(--radius);transition:background-color .3s ease}.contact__social-link:hover{background:var(--color-surface)}.contact__social-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.contact__panel{position:relative;z-index:10;border-radius:1.4rem;border:1px solid var(--color-border);padding:1.15rem;background:linear-gradient(170deg,rgb(var(--bg-rgb)/.58),rgb(var(--bg-rgb)/.26)) border-box;backdrop-filter:blur(14px);box-shadow:0 16px 44px rgb(var(--fg-rgb)/.18)}@media(min-width:768px){.contact__panel{padding:1.35rem;margin-top:.4rem}}.contact__panel-kicker{color:var(--color-muted);text-transform:uppercase;letter-spacing:.07em;font-size:.7rem;font-weight:700}.contact__panel-title{margin-top:.35rem;color:var(--color-foreground);font-size:clamp(1.12rem,2vw,1.3rem);line-height:1.3;letter-spacing:-.012em}.contact__actions{margin-top:1rem;display:grid;gap:.68rem}.contact__action{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;text-decoration:none;color:var(--color-foreground);padding:.8rem;border-radius:.95rem;border:1px solid var(--color-border);background:var(--color-surface);transition:transform .3s ease,background-color .3s ease,border-color .3s ease}.contact__action:hover{transform:translateY(-2px);border-color:rgb(var(--primary-rgb)/.38);background:var(--color-surface-strong)}.contact__action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.contact__action-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.62rem;background:rgb(var(--primary-rgb)/.2)}.contact__action-copy{display:flex;flex-direction:column;gap:.15rem}.contact__action-title{font-size:.96rem;font-weight:600;line-height:1.2}.contact__action-description{font-size:.79rem;color:var(--color-muted);line-height:1.36}.contact__action-arrow{opacity:.72;transition:transform .3s ease}.contact__action:hover .contact__action-arrow{transform:translate(1px,-1px)}.contact__draggable{position:absolute;z-index:20;width:clamp(5.5rem,10vw,8.5rem);touch-action:none;cursor:grab;user-select:none;display:none;filter:drop-shadow(0 18px 34px rgb(var(--fg-rgb)/.2))}.contact__draggable:active{cursor:grabbing}@media(min-width:768px){.contact__draggable{display:inline-block}}.contact__draggable--cursor{left:clamp(.25rem,1vw,1.25rem);top:clamp(1.5rem,5vh,3.5rem)}.contact__draggable--message{right:clamp(.25rem,1vw,1.25rem);bottom:clamp(1.5rem,5vh,3.5rem)}@media(min-width:1024px){.contact__draggable--cursor{left:clamp(1rem,3vw,3rem)}.contact__draggable--message{right:clamp(1rem,3vw,3rem)}}.contact__draggable-img{width:100%;height:auto;pointer-events:none;filter:hue-rotate(70deg) saturate(.9) brightness(1.04)}.contact__draggable-label{position:absolute;left:50%;bottom:-1.5rem;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:.68rem;color:var(--color-foreground);letter-spacing:.04em;text-transform:uppercase;padding:.2rem .45rem;border-radius:9999px;background:rgb(var(--bg-rgb)/.78);border:1px solid var(--color-border);pointer-events:none}@media(prefers-reduced-motion:reduce){.contact__action,.contact__social-link,.contact__action-arrow{transition:none}}.hero{min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate;overflow:hidden}.hero__content{position:relative;z-index:11;color:var(--color-foreground);padding-inline:1.25rem;max-width:48rem}.hero__content:before{content:"";position:absolute;z-index:-1;inset:clamp(-2.5rem,-6vw,-4.5rem) clamp(-1.5rem,-5vw,-4rem);background:radial-gradient(60% 62% at 50% 48%,rgb(var(--bg-rgb)/.72) 0%,rgb(var(--bg-rgb)/.45) 42%,transparent 74%);filter:blur(14px);pointer-events:none}.hero__title{font-size:clamp(2.8rem,8vw,5.8rem);font-weight:800;letter-spacing:0;line-height:.95;margin-bottom:.9rem;text-shadow:0 2px 18px rgb(var(--bg-rgb)/.55)}.hero__subtitle{width:fit-content;margin:0 auto;border:1px solid rgb(var(--primary-rgb)/.28);border-radius:999px;background:rgb(var(--bg-rgb)/.5);color:var(--color-primary);font-size:clamp(.9rem,2vw,1.04rem);font-weight:800;line-height:1.35;padding:.48rem .82rem;text-shadow:0 1px 12px rgb(var(--bg-rgb)/.5);backdrop-filter:blur(12px)}.hero__tagline{margin:1rem auto 0;max-width:38rem;font-size:clamp(1rem,2.4vw,1.22rem);line-height:1.7;color:var(--color-muted);text-wrap:balance}.home{width:100%}.home__hero{min-height:100dvh}.home__block{width:100%}.home__block--about .about,.home__block--skills .skills,.home__block--projects .projects,.home__block--contact .contact{min-height:100dvh}.home__block--about,.home__block--skills,.home__block--experience,.home__block--projects,.home__block--contact{position:relative}#home,#about,#skills,#experience,#projects,#contact{scroll-margin-top:6.2rem}
