@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800&display=swap";@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@theme inline{--animation-delay-0: 0s; --animation-delay-75: 75ms; --animation-delay-100: .1s; --animation-delay-150: .15s; --animation-delay-200: .2s; --animation-delay-300: .3s; --animation-delay-500: .5s; --animation-delay-700: .7s; --animation-delay-1000: 1s; --animation-repeat-0: 0; --animation-repeat-1: 1; --animation-repeat-infinite: infinite; --animation-direction-normal: normal; --animation-direction-reverse: reverse; --animation-direction-alternate: alternate; --animation-direction-alternate-reverse: alternate-reverse; --animation-fill-mode-none: none; --animation-fill-mode-forwards: forwards; --animation-fill-mode-backwards: backwards; --animation-fill-mode-both: both; --percentage-0: 0; --percentage-5: .05; --percentage-10: .1; --percentage-15: .15; --percentage-20: .2; --percentage-25: .25; --percentage-30: .3; --percentage-35: .35; --percentage-40: .4; --percentage-45: .45; --percentage-50: .5; --percentage-55: .55; --percentage-60: .6; --percentage-65: .65; --percentage-70: .7; --percentage-75: .75; --percentage-80: .8; --percentage-85: .85; --percentage-90: .9; --percentage-95: .95; --percentage-100: 1; --percentage-translate-full: 1; --animate-in: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-out: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes enter { from { 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)); filter: blur(var(--tw-enter-blur,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)); filter: blur(var(--tw-exit-blur,0)); }}--animate-accordion-down: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-accordion-up: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-down: collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-up: collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }to { height: 0; }}@keyframes collapsible-down { from { height: 0; }to { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }}@keyframes collapsible-up { from { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }to { height: 0; }}--animate-caret-blink: caret-blink 1.25s ease-out infinite; @keyframes caret-blink { 0%,70%,100% { opacity: 1; }20%,50% { opacity: 0; }}}@utility animation-duration-*{--tw-animation-duration: calc(--value(number)*1ms); --tw-animation-duration: --value(--animation-duration-*,[duration],"initial",[*]); animation-duration: calc(--value(number)*1ms); animation-duration: --value(--animation-duration-*,[duration],"initial",[*]);}@utility delay-*{animation-delay: calc(--value(number)*1ms); animation-delay: --value(--animation-delay-*,[duration],"initial",[*]); --tw-animation-delay: calc(--value(number)*1ms); --tw-animation-delay: --value(--animation-delay-*,[duration],"initial",[*]);}@utility repeat-*{animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]); --tw-animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]);}@utility direction-*{animation-direction: --value(--animation-direction-*,"initial",[*]); --tw-animation-direction: --value(--animation-direction-*,"initial",[*]);}@utility fill-mode-*{animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]); --tw-animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]);}@utility running{animation-play-state: running;}@utility paused{animation-play-state: paused;}@utility play-state-*{animation-play-state: --value("initial",[*]);}@utility blur-in{--tw-enter-blur: 20px;}@utility blur-in-*{--tw-enter-blur: calc(--value(number)*1px); --tw-enter-blur: --value(--blur-*,[*]);}@utility blur-out{--tw-exit-blur: 20px;}@utility blur-out-*{--tw-exit-blur: calc(--value(number)*1px); --tw-exit-blur: --value(--blur-*,[*]);}@utility fade-in{--tw-enter-opacity: 0;}@utility fade-in-*{--tw-enter-opacity: calc(--value(number)/100); --tw-enter-opacity: --value(--percentage-*,[*]);}@utility fade-out{--tw-exit-opacity: 0;}@utility fade-out-*{--tw-exit-opacity: calc(--value(number)/100); --tw-exit-opacity: --value(--percentage-*,[*]);}@utility zoom-in{--tw-enter-scale: 0;}@utility zoom-in-*{--tw-enter-scale: calc(--value(number)*1%); --tw-enter-scale: calc(--value(ratio)); --tw-enter-scale: --value(--percentage-*,[*]);}@utility -zoom-in-*{--tw-enter-scale: calc(--value(number)*-1%); --tw-enter-scale: calc(--value(ratio)*-1); --tw-enter-scale: --value(--percentage-*,[*]);}@utility zoom-out{--tw-exit-scale: 0;}@utility zoom-out-*{--tw-exit-scale: calc(--value(number)*1%); --tw-exit-scale: calc(--value(ratio)); --tw-exit-scale: --value(--percentage-*,[*]);}@utility -zoom-out-*{--tw-exit-scale: calc(--value(number)*-1%); --tw-exit-scale: calc(--value(ratio)*-1); --tw-exit-scale: --value(--percentage-*,[*]);}@utility spin-in{--tw-enter-rotate: 30deg;}@utility spin-in-*{--tw-enter-rotate: calc(--value(number)*1deg); --tw-enter-rotate: calc(--value(ratio)*360deg); --tw-enter-rotate: --value(--rotate-*,[*]);}@utility -spin-in{--tw-enter-rotate: -30deg;}@utility -spin-in-*{--tw-enter-rotate: calc(--value(number)*-1deg); --tw-enter-rotate: calc(--value(ratio)*-360deg); --tw-enter-rotate: --value(--rotate-*,[*]);}@utility spin-out{--tw-exit-rotate: 30deg;}@utility spin-out-*{--tw-exit-rotate: calc(--value(number)*1deg); --tw-exit-rotate: calc(--value(ratio)*360deg); --tw-exit-rotate: --value(--rotate-*,[*]);}@utility -spin-out{--tw-exit-rotate: -30deg;}@utility -spin-out-*{--tw-exit-rotate: calc(--value(number)*-1deg); --tw-exit-rotate: calc(--value(ratio)*-360deg); --tw-exit-rotate: --value(--rotate-*,[*]);}@utility slide-in-from-top{--tw-enter-translate-y: -100%;}@utility slide-in-from-top-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-y: calc(--value(ratio)*-100%); --tw-enter-translate-y: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-in-from-bottom{--tw-enter-translate-y: 100%;}@utility slide-in-from-bottom-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-y: calc(--value(ratio)*100%); --tw-enter-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-left{--tw-enter-translate-x: -100%;}@utility slide-in-from-left-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-in-from-right{--tw-enter-translate-x: 100%;}@utility slide-in-from-right-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-start{&:dir(ltr){ --tw-enter-translate-x: -100%; }&:dir(rtl){ --tw-enter-translate-x: 100%; }}@utility slide-in-from-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-in-from-end{&:dir(ltr){ --tw-enter-translate-x: 100%; }&:dir(rtl){ --tw-enter-translate-x: -100%; }}@utility slide-in-from-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }}@utility slide-out-to-top{--tw-exit-translate-y: -100%;}@utility slide-out-to-top-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-y: calc(--value(ratio)*-100%); --tw-exit-translate-y: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-out-to-bottom{--tw-exit-translate-y: 100%;}@utility slide-out-to-bottom-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-y: calc(--value(ratio)*100%); --tw-exit-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-left{--tw-exit-translate-x: -100%;}@utility slide-out-to-left-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-out-to-right{--tw-exit-translate-x: 100%;}@utility slide-out-to-right-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-start{&:dir(ltr){ --tw-exit-translate-x: -100%; }&:dir(rtl){ --tw-exit-translate-x: 100%; }}@utility slide-out-to-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-out-to-end{&:dir(ltr){ --tw-exit-translate-x: 100%; }&:dir(rtl){ --tw-exit-translate-x: -100%; }}@utility slide-out-to-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }}@theme inline{@keyframes accordion-down { from { height: 0; } to { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } } @keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } to { height: 0; } }}@custom-variant data-open{&:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) { @slot; }}@custom-variant data-closed{&:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) { @slot; }}@custom-variant data-checked{&:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) { @slot; }}@custom-variant data-unchecked{&:where([data-state="unchecked"]), &:where([data-unchecked]:not([data-unchecked="false"])) { @slot; }}@custom-variant data-selected{&:where([data-selected="true"]) { @slot; }}@custom-variant data-disabled{&:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) { @slot; }}@custom-variant data-active{&:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) { @slot; }}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]) { @slot; }}@custom-variant data-vertical{&:where([data-orientation="vertical"]) { @slot; }}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar { display: none; }}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-Dm3htQBi.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@tailwind base;@custom-variant dark (&:is(.dark *));@tailwind components;@tailwind utilities;:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@theme inline{--font-heading: var(--font-sans); --font-sans: "Geist Variable", sans-serif; --color-sidebar-ring: var(--sidebar-ring); --color-sidebar-border: var(--sidebar-border); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar: var(--sidebar); --color-chart-5: var(--chart-5); --color-chart-4: var(--chart-4); --color-chart-3: var(--chart-3); --color-chart-2: var(--chart-2); --color-chart-1: var(--chart-1); --color-ring: var(--ring); --color-input: var(--input); --color-border: var(--border); --color-destructive: var(--destructive); --color-accent-foreground: var(--accent-foreground); --color-accent: var(--accent); --color-muted-foreground: var(--muted-foreground); --color-muted: var(--muted); --color-secondary-foreground: var(--secondary-foreground); --color-secondary: var(--secondary); --color-primary-foreground: var(--primary-foreground); --color-primary: var(--primary); --color-popover-foreground: var(--popover-foreground); --color-popover: var(--popover); --color-card-foreground: var(--card-foreground); --color-card: var(--card); --color-foreground: var(--foreground); --color-background: var(--background); --radius-sm: calc(var(--radius) * .6); --radius-md: calc(var(--radius) * .8); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) * 1.4); --radius-2xl: calc(var(--radius) * 1.8); --radius-3xl: calc(var(--radius) * 2.2); --radius-4xl: calc(var(--radius) * 2.6);}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@layer base{@apply border-border outline-ring/50;@apply bg-background text-foreground;@apply font-sans;}:root{--bg-page:#07091a;--bg-surface:#0f1117;--bg-surface2:#13151f;--bg-card:#0f172a;--bg-card2:#1e293b;--border:#ffffff12;--border-md:#ffffff21;--border-strong:#fff3;--border-blue:#3b82f64d;--border-green:#4ade8038;--border-amber:#f59e0b4d;--border-purple:#a78bfa40;--border-violet:#6c47ff59;--text:#f1f3f9;--text-muted:#8892a8;--text-dim:#475569;--text-faint:#334155;--blue:#3b82f6;--blue-dim:#3b82f621;--violet:#6c47ff;--violet-dim:#6c47ff26;--green:#4ade80;--green-dim:#22c55e1a;--amber:#f59e0b;--amber-dim:#f59e0b21;--purple:#a78bfa;--purple-dim:#8b5cf61f;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-full:99px;--shadow:none;--shadow-hover:0 0 0 2px #3b82f62e;--font:"DM Sans","Segoe UI",system-ui,sans-serif;--ease:cubic-bezier(.4,0,.2,1);--t:.22s}body.light{--bg-page:#f1f5f9;--bg-surface:#fff;--bg-surface2:#f8fafc;--bg-card:#fff;--bg-card2:#f1f5f9;--border:#0f172a12;--border-md:#0f172a21;--border-strong:#0f172a38;--border-blue:#2563eb4d;--border-green:#16a34a47;--border-amber:#d977064d;--border-purple:#7c3aed38;--border-violet:#5b21b64d;--text:#0f172a;--text-muted:#475569;--text-dim:#64748b;--text-faint:#94a3b8;--blue:#2563eb;--blue-dim:#2563eb17;--violet:#5b21b6;--violet-dim:#5b21b617;--green:#16a34a;--green-dim:#16a34a17;--amber:#d97706;--amber-dim:#d9770617;--purple:#7c3aed;--purple-dim:#7c3aed17;--shadow:0 1px 3px #00000012,0 1px 2px #0000000a;--shadow-hover:0 4px 16px #2563eb1f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background-color:var(--bg-page);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background-color .35s var(--ease), color .35s var(--ease);line-height:1.6}img,svg{max-width:100%;display:block}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg-page)}::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:99px}a{color:var(--text-muted);transition:color var(--t) var(--ease);text-decoration:none}a:hover{color:var(--blue)}.container{align-items:center;max-width:1100px;margin:0 auto;padding:0 1.5rem;display:flex}.page-wrap{max-width:960px;margin:0 auto;padding:2rem 1rem}header{z-index:100;-webkit-backdrop-filter:blur(18px);border-bottom:.5px solid var(--border);transition:background .35s var(--ease), border-color .35s var(--ease);background:#07091acc;position:sticky;top:0}body.light header{background:#ffffffe6}.nav{justify-content:flex-end;align-items:center;gap:20px;height:60px;display:flex}.logo{font-size:22px;font-weight:800;position:absolute;left:160px}.nav-right{align-items:center;gap:18px;display:flex}.links a{padding:8px 12px;font-size:16px;font-weight:500}.theme-btn{border:.5px solid var(--border-md);color:var(--text-muted);border-radius:var(--r-sm);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);white-space:nowrap;transition:border-color var(--t), color var(--t), background var(--t), transform .15s;background:0 0;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.theme-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-dim);transform:scale(1.04)}.theme-btn:active{transform:scale(.96)}.home-hero{max-width:1100px;margin:0 auto;padding:5rem 2rem 3rem}.home-hero__grid{grid-template-columns:1fr 380px;align-items:center;gap:4rem;display:grid}@media (width<=900px){.home-hero__grid{grid-template-columns:1fr;gap:2.5rem}}.hero-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--violet);animation:fadeUp .55s var(--ease) both;margin-bottom:1.1rem;font-size:11px;font-weight:700}.hero-title{color:var(--text);letter-spacing:-.03em;animation:fadeUp .55s 80ms var(--ease) both;margin-bottom:1.4rem;font-size:clamp(2.8rem,6vw,4.2rem);font-weight:800;line-height:1.08}.hero-desc{color:var(--text-muted);max-width:480px;animation:fadeUp .55s .16s var(--ease) both;margin-bottom:2rem;font-size:15.5px;line-height:1.75}.hero-actions{animation:fadeUp .55s .24s var(--ease) both;flex-wrap:wrap;gap:10px;display:flex}.tech-card{background:var(--bg-surface2);border:.5px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow);animation:fadeUp .55s .12s var(--ease) both;transition:border-color var(--t), box-shadow var(--t), background .35s;padding:1.75rem}.tech-card:hover{border-color:var(--border-blue);box-shadow:0 0 40px #3b82f61a}.tech-card__title{color:var(--text);text-align:center;margin-bottom:1.25rem;font-size:15px;font-weight:700}.tech-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tech-item{background:var(--bg-card);border:.5px solid var(--border);border-radius:var(--r-sm);text-align:center;color:var(--text-muted);cursor:default;transition:border-color var(--t), color var(--t), background var(--t), transform .18s var(--ease);padding:10px 6px;font-size:12px;font-weight:600}.tech-item:hover{border-color:var(--border-blue);color:var(--blue);background:var(--blue-dim);transform:translateY(-2px)}.info-grid{animation:fadeUp .55s .32s var(--ease) both;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem;display:grid}@media (width<=700px){.info-grid{grid-template-columns:1fr}}.info-card{background:var(--bg-surface);border:.5px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);transition:border-color var(--t), box-shadow var(--t), transform .2s var(--ease), background .35s;padding:1.25rem 1.5rem}.info-card:hover{border-color:var(--border-md);box-shadow:var(--shadow-hover);transform:translateY(-3px)}.info-card__label{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.4rem;font-size:11px;font-weight:600}.info-card__value{color:var(--text);font-size:15px;font-weight:700;line-height:1.4}.featured-section{max-width:1100px;margin:0 auto;padding:3rem 2rem}.featured-section__header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.featured-section__label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:700}.featured-section__link{color:var(--violet);transition:gap var(--t), opacity var(--t);align-items:center;gap:6px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.featured-section__link:after{display:none}.featured-section__link:hover{color:var(--violet);opacity:.8;gap:10px}.featured-card{background:var(--bg-surface);border:.5px solid var(--border-blue);border-radius:var(--r-xl);box-shadow:var(--shadow);transition:border-color var(--t), box-shadow var(--t), transform .2s var(--ease), background .35s;grid-template-columns:1fr 1fr;gap:2rem;padding:1.75rem 2rem;display:grid}.featured-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 0 40px #3b82f61f}@media (width<=700px){.featured-card{grid-template-columns:1fr}}.cert-highlight-section{max-width:1100px;margin:0 auto;padding:0 2rem 3rem}.cert-highlight{background:var(--bg-surface);border:.5px solid var(--border-amber);border-radius:var(--r-lg);box-shadow:var(--shadow);transition:border-color var(--t), box-shadow var(--t), transform .2s var(--ease), background .35s;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.4rem 1.75rem;display:flex}.cert-highlight:hover{border-color:var(--amber);transform:translateY(-2px);box-shadow:0 0 32px #f59e0b1f}.contact-cta-section{max-width:1100px;margin:0 auto;padding:0 2rem 5rem}.contact-cta{background:var(--bg-surface2);border:.5px solid var(--border-violet);border-radius:var(--r-xl);text-align:center;box-shadow:var(--shadow);transition:border-color var(--t), box-shadow var(--t), background .35s;padding:2.5rem 2rem}.contact-cta:hover{box-shadow:0 0 40px #6c47ff1f}.page-hero{background:linear-gradient(135deg, var(--bg-card) 0%, var(--bg-card2) 100%);border:.5px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);transition:border-color var(--t), background .35s;margin-bottom:2rem;padding:2rem 2.5rem}.page-hero h1{color:var(--text);margin-bottom:.5rem;font-size:2rem;font-weight:700}.page-hero p{color:var(--text-muted);max-width:620px;font-size:15px;line-height:1.7}.page-hero--center{text-align:center}.page-hero--center p{margin:0 auto}.card{background:var(--bg-card);border:.5px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);transition:border-color var(--t), box-shadow var(--t), transform .2s var(--ease), background .35s;padding:1.5rem 1.75rem}.card:hover{border-color:var(--border-md);box-shadow:var(--shadow-hover);transform:translateY(-3px)}.card--blue{border-color:var(--border-blue)!important}.card--green{border-color:var(--border-green)!important}.card--purple{border-color:var(--border-purple)!important}.card--amber{border-color:var(--border-amber)!important}.card--blue:hover{box-shadow:0 4px 24px #3b82f624}.card--purple:hover{box-shadow:0 4px 24px #8b5cf624}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.card-type{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem;font-size:10px;font-weight:700}.card-title{color:var(--text);font-size:15px;font-weight:600;line-height:1.4}.card-subtitle{color:var(--text-dim);margin-top:3px;font-size:13px}.card-desc{color:var(--text-dim);font-size:13px;line-height:1.6}.icon-box{border-radius:var(--r-md);background:var(--blue-dim);border:.5px solid var(--border-blue);width:44px;height:44px;transition:transform .2s var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-box:hover{transform:rotate(-6deg)scale(1.1)}.icon-box--amber{background:var(--amber-dim);border-color:var(--border-amber)}.icon-box--purple{background:var(--purple-dim);border-color:var(--border-purple)}.icon-circle{background:var(--blue-dim);border:1px solid var(--border-blue);width:56px;height:56px;color:var(--blue);transition:transform .2s var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.icon-circle:hover{transform:scale(1.08)}.avatar{background:var(--blue-dim);border:1px solid var(--border-blue);width:52px;height:52px;color:var(--blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.btn{border-radius:var(--r-md);font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;white-space:nowrap;transition:opacity var(--t), transform .15s var(--ease), box-shadow var(--t);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;text-decoration:none;display:inline-flex}.btn:hover{opacity:.88;transform:translateY(-1px)}.btn:active{opacity:1;transform:scale(.96)}.btn--primary{background:var(--violet);color:#fff}.btn--primary:hover{box-shadow:0 6px 20px #6c47ff52}.btn--blue{background:var(--blue);color:#fff}.btn--blue:hover{box-shadow:0 6px 20px #3b82f652}.btn--purple{color:#fff;background:#5b21b6}.btn--outline{color:var(--text);border:.5px solid var(--border-strong);background:0 0}.btn--ghost{background:var(--border);color:var(--text-muted);border:.5px solid var(--border)}.btn--ghost:hover{color:var(--text);border-color:var(--border-md);opacity:1}.btn--amber{color:var(--amber);border:.5px solid var(--border-amber);background:0 0}.btn--amber:hover{background:var(--amber-dim);opacity:1}.btn--full{width:100%}.btn--sm{padding:7px 14px;font-size:13px}.badge{border-radius:var(--r-full);border:.5px solid;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge--green{background:var(--green-dim);color:var(--green);border-color:var(--border-green)}.badge--blue{background:var(--blue-dim);color:var(--blue);border-color:var(--border-blue)}.badge--amber{background:var(--amber-dim);color:var(--amber);border-color:var(--border-amber)}.badge--purple{background:var(--purple-dim);color:var(--purple);border-color:var(--border-purple)}.badge--gray{color:var(--text-muted);border-color:var(--border);background:#64748b1f}.badge-blink:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.5s infinite blink;display:inline-block}.date-pill{background:var(--border);border:.5px solid var(--border-md);border-radius:var(--r-full);color:var(--text-muted);white-space:nowrap;flex-shrink:0;padding:4px 14px;font-size:12px}.date-pill--blue{background:var(--blue-dim);border-color:var(--border-blue);color:var(--blue)}.date-pill--amber{background:var(--amber-dim);border-color:var(--border-amber);color:var(--amber)}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{color:var(--text-muted);border:.5px solid var(--border);transition:border-color var(--t), color var(--t), background var(--t), transform .15s;background:#ffffff0d;border-radius:6px;padding:2px 9px;font-size:11px;display:inline-block}body.light .tag{background:#0f172a0d}.tag:hover{border-color:var(--border-blue);color:var(--blue);transform:translateY(-1px)}.tag--blue{background:var(--blue-dim);color:var(--blue);border-color:var(--border-blue)}.tag--purple{background:var(--purple-dim);color:var(--purple);border-color:var(--border-purple)}.tag--amber{background:var(--amber-dim);color:var(--amber);border-color:var(--border-amber)}.section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.55rem;font-size:10px;font-weight:700}.divider{background:var(--border);height:.5px;margin:.85rem 0}.points{flex-direction:column;gap:.4rem;display:flex}.point{color:var(--text-muted);align-items:flex-start;gap:8px;font-size:13px;line-height:1.5;display:flex}.point:before{content:"";background:var(--text-faint);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:6px;display:inline-block}.point--active:before{background:var(--blue)}.grid-2{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}@media (width<=700px){.grid-2{grid-template-columns:1fr}}@media (width<=900px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.grid-3{grid-template-columns:1fr}}.timeline{padding-left:2.5rem;position:relative}.timeline:before{content:"";background:var(--border);width:1px;position:absolute;top:8px;bottom:8px;left:7px}.timeline-entry{margin-bottom:1.5rem;position:relative}.timeline-entry:last-child{margin-bottom:0}.timeline-dot{background:var(--bg-card);border:2px solid var(--text-faint);width:14px;height:14px;transition:border-color var(--t), box-shadow var(--t);border-radius:50%;position:absolute;top:1.5rem;left:-2.5rem}.timeline-dot--active{border-color:var(--blue);background:#1e40af;animation:2s infinite pulse-dot}.year-bar{gap:4px;margin:.75rem 0 .5rem;display:flex}.year-bar__seg{border-radius:var(--r-full);background:var(--border);flex:1;height:5px}.year-bar__seg--done{background:#1d4ed8}.year-bar__seg--active{background:var(--blue)}.social-row{border-bottom:.5px solid var(--border);transition:padding-left var(--t);align-items:center;gap:12px;padding:10px 0;display:flex}.social-row:last-child{border-bottom:none}.social-row:hover{padding-left:4px}.social-name{color:var(--text-dim);margin-bottom:2px;font-size:11px}.social-url{color:var(--blue);word-break:break-all;transition:color var(--t);font-size:13px;text-decoration:none;display:block}.social-url:hover{text-decoration:underline}.cert-card{background:var(--bg-card);border:.5px solid var(--border);border-radius:var(--r-lg);text-align:center;box-shadow:var(--shadow);transition:border-color var(--t), box-shadow var(--t), transform .2s var(--ease), background .35s;flex-direction:column;align-items:center;gap:.75rem;padding:1.75rem 1.5rem;display:flex}.cert-card:hover{border-color:var(--border-blue);transform:translateY(-4px);box-shadow:0 8px 24px #3b82f61f}.field{margin-bottom:1rem}.field:last-child{margin-bottom:0}.field__label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:11px}.field__value{color:var(--text);font-size:14px;font-weight:500}.field__value a{color:var(--blue);transition:opacity var(--t)}.field__value a:hover{opacity:.72}.info-item{border:.5px solid var(--border);border-radius:var(--r-sm);transition:border-color var(--t), background var(--t);background:#ffffff08;padding:.75rem 1rem}body.light .info-item{background:#0f172a08}.info-item:hover{border-color:var(--border-blue)}.info-item__label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:10px}.info-item__value{color:var(--text);font-size:13px;font-weight:500}.input{border:.5px solid var(--border-md);border-radius:var(--r-md);color:var(--text);font-size:14px;font-family:var(--font);transition:border-color var(--t), box-shadow var(--t);background:#ffffff0d;outline:none;padding:9px 14px}body.light .input{background:var(--bg-surface)}.input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-dim)}.input::placeholder{color:var(--text-dim)}footer{text-align:center;border-top:.5px solid var(--border);color:var(--text-dim);margin-top:4rem;padding:1.5rem;font-size:12px;transition:border-color .35s,color .35s}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes pulse-dot{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 6px #3b82f600}}
