@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --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); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-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}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}@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;}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-slide-up{animation:slide-up .5s ease-out forwards}.animate-fade-in{animation:fade-in .3s ease-out forwards}@custom-variant dark (&:is(.dark *));@theme{ --color-primary: #002D62; --color-secondary: #D4AF37; --color-background: #ffffff; --color-foreground: #1A1A1A; --color-muted: #f3f4f6; --color-muted-foreground: #6b7280; --color-accent: #f3f4f6; --color-accent-foreground: #111827; --color-border: #e2e8f0; --color-input: #e2e8f0; --color-ring: #002D62; --color-destructive: #ef4444; --color-destructive-foreground: #ffffff; --radius-lg: .75rem; --radius-md: .5rem; --radius-sm: .25rem; }:root{--color-primary: #002D62;--color-secondary: #D4AF37;--color-bg: #F5F1E8;--color-card-bg: #FFFAF0;--color-text-dark: #1A1A1A;--color-text-light: #666666;--font-heading: "Playfair Display", serif;--font-body: "Nunito", sans-serif;--radius: .625rem;--background: hsl(0 0% 100%);--foreground: hsl(222.2 84% 4.9%);--card: hsl(0 0% 100%);--card-foreground: hsl(222.2 84% 4.9%);--popover: hsl(0 0% 100%);--popover-foreground: hsl(222.2 84% 4.9%);--primary: hsl(212 100% 19%);--primary-foreground: hsl(210 40% 98%);--secondary: hsl(46 65% 52%);--secondary-foreground: hsl(222.2 47.4% 11.2%);--muted: hsl(210 40% 96.1%);--muted-foreground: hsl(215.4 16.3% 46.9%);--accent: hsl(210 40% 96.1%);--accent-foreground: hsl(222.2 47.4% 11.2%);--destructive: hsl(0 84.2% 60.2%);--destructive-foreground: hsl(210 40% 98%);--border: hsl(214.3 31.8% 91.4%);--input: hsl(214.3 31.8% 91.4%);--ring: hsl(212 100% 19%);--chart-1: hsl(12 76% 61%);--chart-2: hsl(173 58% 39%);--chart-3: hsl(197 37% 24%);--chart-4: hsl(43 74% 66%);--chart-5: hsl(27 87% 67%);--sidebar: hsl(0 0% 98%);--sidebar-foreground: hsl(240 5.3% 26.1%);--sidebar-primary: hsl(240 5.9% 10%);--sidebar-primary-foreground: hsl(0 0% 98%);--sidebar-accent: hsl(240 4.8% 95.9%);--sidebar-accent-foreground: hsl(240 5.9% 10%);--sidebar-border: hsl(220 13% 91%);--sidebar-ring: hsl(217.2 91.2% 59.8%)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text-dark);min-height:100vh;padding-bottom:80px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary)}.primary-text{color:var(--color-primary)}.gold-text{color:var(--color-secondary)}.flex-center{display:flex;align-items:center;justify-content:center}.rounded-card{background-color:var(--color-card-bg);border-radius:24px;box-shadow:0 10px 30px #002d621a}@theme inline{ --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --radius-2xl: calc(var(--radius) + 8px); --radius-3xl: calc(var(--radius) + 12px); --radius-4xl: calc(var(--radius) + 16px); --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); }.dark{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.205 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.205 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(.922 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.704 .191 22.216);--border: oklch(1 0 0 / 10%);--input: oklch(1 0 0 / 15%);--ring: oklch(.556 0 0);--chart-1: oklch(.488 .243 264.376);--chart-2: oklch(.696 .17 162.48);--chart-3: oklch(.769 .188 70.08);--chart-4: oklch(.627 .265 303.9);--chart-5: oklch(.645 .246 16.439);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.488 .243 264.376);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(1 0 0 / 10%);--sidebar-ring: oklch(.556 0 0)}@layer base{*{@apply border-border outline-ring/50;}body{@apply bg-background text-foreground;}}.app-container{min-height:100vh;position:relative;padding-bottom:6rem;overflow-x:hidden}.background-overlay{position:fixed;inset:0;opacity:.045;pointer-events:none;background-size:256px 256px;background-repeat:repeat;z-index:0;will-change:auto}.header{padding:1.5rem 1.5rem 1rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;position:sticky;top:0;background:linear-gradient(#f5f1e8eb,#f5f1e8eb),url(/assets/tapa_bg_tile-DQ8IpvGT.png);background-size:auto,256px 256px;background-repeat:no-repeat,repeat;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:100;border-bottom:1px solid rgba(0,45,98,.03)}.header-content{display:flex;flex-direction:column;gap:.125rem}.greeting{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;color:var(--color-primary);letter-spacing:-.01em}.subtitle{font-size:.875rem;color:var(--color-primary);opacity:.6;font-weight:600;letter-spacing:.01em}.notification-btn{width:2.75rem;height:2.75rem;background-color:#fff;border:1px solid rgba(0,45,98,.05);border-radius:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px -1px #0000000d}.notification-btn:hover{background-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 10px 15px -3px #002d621a}.notification-btn:hover .icon-bell{color:#fff}.icon-bell{width:1.25rem;height:1.25rem;color:var(--color-primary);transition:color .3s ease}.modern-card{background-color:#fff;border-radius:1.5rem;padding:1.5rem;border:1px solid rgba(0,45,98,.03);box-shadow:0 4px 20px -5px #002d620d;transition:all .4s cubic-bezier(.4,0,.2,1)}.modern-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px -10px #002d6226;border-color:#002d6214}.glass-card{background-color:#ffffffb3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:1.5rem;border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 32px #002d620d}.main-content{padding:0 1.25rem;padding-bottom:calc(7rem + env(safe-area-inset-bottom,0px));position:relative;z-index:10}.main-content.no-nav{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}.main-content.has-sticky-footer{padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px))}.profile-card{background-color:var(--color-card-bg);border-radius:1.5rem;padding:2rem;display:flex;flex-direction:column;align-items:center;box-shadow:0 10px 30px #002d621a;position:relative;overflow:hidden;margin-bottom:2rem}.card-title{font-family:var(--font-heading);font-size:2.25rem;font-weight:800;color:var(--color-primary);margin-bottom:1.5rem}.profile-image-container{position:relative;margin-bottom:1.5rem;width:8rem;height:8rem;border-radius:9999px;overflow:hidden;border:4px solid var(--color-secondary);padding:.25rem}.profile-image{width:100%;height:100%;object-fit:cover;border-radius:9999px}.profile-details{text-align:center;margin-bottom:2rem}.role-title{font-size:1.5rem;font-weight:700;color:#8b5a2b;opacity:.8;margin-bottom:.5rem}.status-text{color:var(--color-primary);font-weight:600;font-size:1rem}.rank-badge{width:2.5rem;height:2.5rem;background-color:#000c;display:flex;align-items:center;justify-content:center;border-radius:.25rem;color:var(--color-secondary);margin-bottom:1rem}.icon-rank{width:1.5rem;height:1.5rem;color:#eab308}.memories-section{margin-top:2rem}.section-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--color-primary);margin-bottom:1rem;padding-left:.5rem}.memories-scroll{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem;padding-left:.5rem;padding-right:.5rem;scrollbar-width:none}.memories-scroll::-webkit-scrollbar{display:none}.memory-card{flex-shrink:0;width:10rem;height:10rem;border-radius:1rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a;border:2px solid rgba(255,255,255,.5);transition:transform .5s}.memory-card:hover{transform:scale(1.05)}.memory-card img{width:100%;height:100%;object-fit:cover}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.border-gold{border-color:#d4af37}.shrink-0{flex-shrink:0}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.w-8{width:2rem}.h-8{height:2rem}.w-16{width:4rem}.h-16{height:4rem}.ml-auto{margin-left:auto}.text-gray-800{color:#1f2937}.my-3{margin-top:.75rem;margin-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-20{padding-bottom:5rem}.h-px{height:1px}.h-48{height:12rem}.object-cover{object-fit:cover}.bg-gray-100{background-color:#f3f4f6}.bg-card{background-color:var(--color-card-bg)}.border-2{border-width:2px;border-style:solid}.hover-text-primary:hover{color:var(--color-primary)}.border-primary{border-color:var(--color-primary)}.bottom-nav{position:fixed;bottom:2rem;left:1.5rem;right:1.5rem;background-color:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:2rem;box-shadow:0 10px 30px -10px #002d6233,0 4px 6px -2px #0000000d;height:4.5rem;display:flex;justify-content:space-around;align-items:center;padding:0 .75rem;z-index:100;border:1px solid rgba(255,255,255,.4)}body[data-story-active=true] .bottom-nav{display:none}.nav-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;cursor:pointer;color:var(--color-text-light);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;flex:1;height:100%}.nav-item:hover{color:var(--color-primary);transform:translateY(-2px)}.nav-item.active{color:var(--color-primary)}.icon-container{padding:.625rem;border-radius:1.25rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.nav-item.active .icon-container{background-color:#002d6214;transform:scale(1.1)}.nav-icon{width:1.5rem;height:1.5rem;transition:all .3s ease}.nav-item.active .nav-icon{transform:translateY(-2px)}.nav-label{font-size:.65rem;font-weight:700;letter-spacing:.025em;opacity:.8;transition:all .3s ease}.nav-item.active .nav-label{opacity:1;transform:translateY(-1px)}.active-dot{position:absolute;bottom:.5rem;width:1.5rem;height:2px;background-color:var(--color-primary);border-radius:9999px;box-shadow:0 2px 4px #002d624d}.auth-container{height:100vh;padding:2rem;display:flex;flex-direction:column;justify-content:center;background-color:var(--color-bg)}.auth-header{margin-bottom:3rem}.auth-title{font-family:var(--font-heading);font-size:2.5rem;color:var(--color-primary);margin-bottom:1rem}.auth-subtitle{color:var(--color-text-light);font-size:1.125rem;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.input-field{position:relative;border-bottom:2px solid rgba(0,45,98,.2)}.input-icon{position:absolute;top:50%;left:0;transform:translateY(-50%);color:var(--color-primary);width:1.5rem;height:1.5rem}.styled-input{width:100%;padding:1rem 1rem 1rem 2.5rem;border:none;background:transparent;font-size:1.25rem;color:var(--color-text-dark);font-weight:600;outline:none}.styled-input:focus+.input-field{border-color:var(--color-primary)}.primary-btn{background-color:var(--color-primary);color:#fff;border:none;padding:1rem;border-radius:9999px;font-size:1.125rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem}.btn-icon-right{width:1.25rem;height:1.25rem}.otp-container{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem}.otp-input{width:2.75rem;height:3.5rem;border:2px solid rgba(0,45,98,.2);border-radius:.75rem;text-align:center;font-size:1.5rem;font-weight:700;color:var(--color-primary);background-color:#fff;outline:none}.otp-input:focus{border-color:var(--color-secondary);box-shadow:0 0 0 4px #d4af3733}.text-link{background:none;border:none;color:var(--color-text-light);font-weight:600;cursor:pointer;text-decoration:underline;margin-top:1rem}.invite-section{margin-top:auto;text-align:center}.invite-text{color:var(--color-text-light);font-size:.875rem}.phone-input-group{display:flex;align-items:center;padding-left:.5rem}.country-select{appearance:none;-webkit-appearance:none;background:transparent;border:none;font-size:1.25rem;font-weight:600;color:var(--color-primary);padding:1rem .5rem 1rem 2rem;cursor:pointer;outline:none;margin-right:.5rem;border-right:1px solid rgba(0,45,98,.2)}.input-icon{pointer-events:none}.styled-input.phone-number-input{padding-left:.5rem;flex:1}.profile-header-btn{width:2.5rem;height:2.5rem;border-radius:50%;overflow:hidden;border:2px solid var(--color-secondary);padding:0;cursor:pointer;background:none;transition:transform .2s}.profile-header-btn:hover{transform:scale(1.05)}.profile-header-btn img{width:100%;height:100%;object-fit:cover;display:block}.profile-menu-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background-color:var(--color-card-bg);border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:.5rem;min-width:150px;z-index:9999;border:1px solid rgba(0,0,0,.05)}.menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;text-align:left;background:none;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s;font-weight:600;font-size:.875rem;color:var(--color-text-dark)}.logout-item{color:#dc2626}.logout-item:hover{background-color:#fef2f2}.w-4{width:1rem}.h-4{height:1rem}.text-xs{font-size:.75rem}.text-gold{color:var(--color-secondary)}.uppercase{text-transform:uppercase}.tracking-widest{letter-spacing:.1em}.mb-1{margin-bottom:.25rem}.notification-dot{position:absolute;top:.5rem;right:.5rem;width:.5rem;height:.5rem;background-color:#ef4444;border-radius:50%;border:1px solid white}.vaka-card{background:linear-gradient(135deg,#fffaf0,#f5f1e8);border:1px solid rgba(212,175,55,.2);box-shadow:0 20px 40px -5px #002d6226,0 0 0 1px #ffffff80 inset;padding:1.5rem}.card-texture{position:absolute;inset:0;background-image:var(--tapa-pattern);opacity:.03;pointer-events:none;background-size:200px}.card-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;z-index:2;position:relative}.vaka-card .card-title{margin-bottom:0;font-size:1.75rem}.card-badge{background:linear-gradient(90deg,#d4af37,#fcd34d);color:#002d62;font-size:.7rem;font-weight:800;text-transform:uppercase;padding:.25rem .75rem;border-radius:9999px;letter-spacing:.05em;box-shadow:0 2px 5px #d4af3766}.glow-ring{position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(212,175,55,.3);animation:pulse 3s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.5}50%{transform:scale(1.05);opacity:.2}to{transform:scale(1);opacity:.5}}.status-pill{display:inline-flex;align-items:center;gap:.5rem;background-color:#002d620d;padding:.5rem 1rem;border-radius:9999px;color:var(--color-primary);font-weight:700;font-size:.9rem;border:1px solid rgba(0,45,98,.1)}.status-dot{width:.5rem;height:.5rem;background-color:#10b981;border-radius:50%;box-shadow:0 0 0 2px #10b98133}.card-id{font-family:monospace;color:var(--color-text-light);font-size:.75rem;margin-top:.5rem;opacity:.6}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-right:1rem}.section-title{margin-bottom:0}.see-all-btn{background:none;border:none;color:var(--color-secondary);font-weight:700;font-size:.875rem;cursor:pointer}.memory-card{position:relative;border:none;box-shadow:0 10px 15px -3px #0000001a}.memory-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 50%);z-index:10}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-8{margin-top:2rem}.w-full{width:100%}.h-full{height:100%}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-10{width:2.5rem}.h-10{height:2.5rem}.text-2xl{font-size:1.5rem}.text-xl{font-size:1.25rem}.text-sm{font-size:.875rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-primary{color:var(--color-primary)}.text-white{color:#fff}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.bg-white{background-color:#fff}.bg-white-50{background-color:#ffffff80}.bg-white-60{background-color:#fff9}.bg-primary{background-color:var(--color-primary)}.bg-gray-200{background-color:#e5e7eb}.bg-blue-100{background-color:#dbeafe}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a}.backdrop-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.border{border-width:1px;border-style:solid;border-color:#e5e7eb}.border-b{border-bottom-width:1px;border-style:solid;border-color:#e5e7eb}.border-gray-100{border-color:#f3f4f6}.border-white-50{border-color:#ffffff80}.hover-bg-black-80:hover{background-color:#000c}.transition-colors{transition:all .2s}.overflow-hidden{overflow:hidden}.border-none{border:none}.bg-transparent{background-color:transparent}.cursor-pointer{cursor:pointer}.gap-4{gap:1rem}.w-6{width:1.5rem}.h-6{height:1.5rem}.w-14{width:3.5rem}.h-14{height:3.5rem}.top-0{top:0}.right-0{right:0}.w-3{width:.75rem}.h-3{height:.75rem}.notification-indicator{position:absolute;top:-2px;right:-2px}.ping-ring{position:absolute;top:0;right:0;display:inline-flex;height:.75rem;width:.75rem;border-radius:9999px;background-color:#ef4444;opacity:.75;animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.notification-indicator .dot{position:relative;display:inline-flex;height:.75rem;width:.75rem;border-radius:9999px;background-color:#ef4444;border:1px solid white}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.border-gray-300{border-color:#d1d5db}.overflow-x-auto{overflow-x:auto;-webkit-overflow-scrolling:touch}.px-1{padding-left:.25rem;padding-right:.25rem}.p-0-5{padding:.125rem}.p-1{padding:.25rem}.bg-orange-100{background-color:#ffedd5}.text-orange-500{color:#f97316}.text-orange-600{color:#ea580c}.border-orange-100{border-color:#ffedd5}.bg-orange-50-50{background-color:#fff7ed80}.border-orange-200{border-color:#fed7aa}.bg-blue-50-50{background-color:#eff6ff80}.border-blue-100{border-color:#dbeafe}.text-gray-700{color:#374151}.flex-1{flex:1 1 0%}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.rounded-lg{border-radius:.5rem}.border-gray-50{border-color:#f9fafb}.pt-3{padding-top:.75rem}.border-t{border-top-width:1px;border-style:solid;border-color:#e5e7eb}.inline-block{display:inline-block}.absolute{position:absolute}.relative{position:relative}.z-10{z-index:10}.bg-gray-50{background-color:#f9fafb}.border-gray-200{border-color:#e5e7eb}.text-gray-400{color:#9ca3af}.mr-2{margin-right:.5rem}.outline-none{outline:2px solid transparent;outline-offset:2px}.border-4{border-width:4px}.border-white{border-color:#fff}.-bottom-2{bottom:-.5rem}.-right-2{right:-.5rem}.p-1-5{padding:.375rem}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.py-1{padding-top:.25rem;padding-bottom:.25rem}.top-1-2{top:50%}.left-1-2{left:50%}.w-40{width:10rem}.h-0-5{height:.125rem}.bg-gray-300{background-color:#d1d5db}.translate-middle{transform:translate(-50%,-50%)}.rotate-45{transform:translate(-50%,-50%) rotate(45deg)}.-rotate-45{transform:translate(-50%,-50%) rotate(-45deg)}.bottom-6{bottom:1.5rem}.bg-white-80{background-color:#fffc}.w-20{width:5rem}.h-20{height:5rem}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.inset-0{inset:0}.opacity-10{opacity:.1}.h-calc-tree{height:calc(100vh - 180px)}.border-gray-400{border-color:#9ca3af}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.translate-x-center{transform:translate(-50%)}.bg-black-50{background-color:#00000080}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.animate-slide-up{animation:slideUp .3s ease-out}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.focus-border-primary:focus{border-color:var(--color-primary)}.text-green-400{color:#4ade80}.top-24{top:6rem}.bg-gray-800{background-color:#1f2937}.h-12{height:3rem}.w-12{width:3rem}.z-50{z-index:50}.bg-secondary{background-color:var(--color-secondary)}.bg-blue-50{background-color:#eff6ff}.text-blue-500{color:#3b82f6}.bg-gold,.hover-bg-gold:hover{background-color:#d4af37}.hover-bg-gray-50:hover{background-color:#f9fafb}.hover-text-white:hover{color:#fff}.hover-border-primary:hover{border-color:var(--color-primary)}.hover-shadow-xl:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.hover-opacity-100:hover{opacity:1}.hover-underline:hover{text-decoration:underline}.active-scale-95:active{transform:scale(.95)}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.pointer-events-none{pointer-events:none}.input-premium,.select-premium{width:100%;height:3.5rem;padding-left:3.5rem;padding-right:1rem;background-color:#fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:1rem;border:1px solid rgba(212,175,55,.3);outline:none;font-family:inherit;font-size:1.125rem;font-weight:700;color:var(--color-primary);box-shadow:0 1px 2px #0000000d;transition:all .2s}.select-premium{padding-left:1.5rem;padding-right:3rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}.input-premium:focus,.select-premium:focus{border-color:#d4af37;box-shadow:0 0 0 4px #d4af371a;background-color:#fffffff2}.label-premium{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#d4af37;margin-left:.25rem;display:block}.icon-absolute-left{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1.25rem;height:1.25rem;color:#d4af37;pointer-events:none;opacity:.6;transition:opacity .2s}.icon-absolute-right{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:1.5rem;height:1.5rem;color:#d4af37;pointer-events:none;opacity:.8}.input-premium:focus+.icon-absolute-left,.input-premium:not(:placeholder-shown)+.icon-absolute-left,.group:focus-within .icon-absolute-left{opacity:1}.hover-translate-y-n2:hover{transform:translateY(-2px)}.bg-opacity-80{background-color:#eff6ffcc}.submit-btn-premium{width:100%;background-color:var(--color-primary);color:#fff;height:3.5rem;border-radius:1rem;font-weight:700;font-size:1.125rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .2s;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:.75rem}.submit-btn-premium:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-2px)}.submit-btn-premium:active{transform:scale(.95)}.group:hover .group-hover\:scale-110{transform:scale(1.1)}.transition-transform{transition:transform .2s}.w-24{width:6rem!important}.h-24{height:6rem!important}.shrink-0{flex-shrink:0!important}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-32{padding-bottom:8rem!important}.pb-40{padding-bottom:10rem!important}.min-w-0{min-width:0!important}.gap-5{gap:1.25rem!important}.aspect-video{aspect-ratio:16 / 9}.aspect-4-3{aspect-ratio:4 / 3}.accept-invite-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;position:relative;background-color:var(--color-bg);overflow:hidden}.accept-invite-success-bg{background:linear-gradient(135deg,#f0fff4,#f5f1e8,#fffaf0)}.accept-invite-bg{position:fixed;inset:0;opacity:.08;pointer-events:none;background-size:400px;background-repeat:repeat}.accept-invite-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:420px;width:100%;z-index:10;gap:1.25rem}.invite-badge{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#002d6214,#d4af3714);border:1px solid rgba(0,45,98,.12);color:var(--color-primary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.5rem 1.25rem;border-radius:9999px}.invite-icon-wrapper{width:6rem;height:6rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:.5rem 0}.invite-icon-primary{background:linear-gradient(135deg,#002d621a,#d4af3726);color:var(--color-primary);border:2px solid rgba(212,175,55,.2)}.invite-icon-success{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a;border:2px solid rgba(22,163,74,.2)}.invite-icon-error{background:linear-gradient(135deg,#fef2f2,#fecaca);color:#dc2626;border:2px solid rgba(220,38,38,.2)}.invite-icon-muted{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#6b7280;border:2px solid rgba(107,114,128,.2)}.invite-icon-pulse{animation:invite-pulse 2s ease-in-out infinite}@keyframes invite-pulse{0%,to{transform:scale(1);box-shadow:0 0 #16a34a4d}50%{transform:scale(1.05);box-shadow:0 0 0 12px #16a34a00}}.invite-heading{font-family:var(--font-heading);font-size:1.75rem;font-weight:800;color:var(--color-primary);line-height:1.3}.invite-subtext{font-size:.95rem;color:#6b7280;line-height:1.6;font-weight:500;max-width:340px}.invite-subtext-large{font-size:1.1rem;color:#4b5563;line-height:1.7;font-weight:500}.invite-details-card{width:100%;background:#ffffffe6;border-radius:1.25rem;padding:1.25rem;border:1px solid rgba(212,175,55,.2);box-shadow:0 4px 20px #002d620f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.invite-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem .25rem}.invite-detail-label{font-size:.8rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.invite-detail-value{font-size:.95rem;font-weight:700;color:var(--color-primary)}.invite-detail-divider{height:1px;background:linear-gradient(to right,transparent,rgba(212,175,55,.2),transparent)}.invite-welcome-msg{display:flex;align-items:flex-start;gap:.75rem;background:#ffffffb3;border:1px solid rgba(212,175,55,.15);border-radius:1rem;padding:1rem 1.25rem;width:100%;text-align:left}.invite-welcome-msg p{font-size:.85rem;color:#6b7280;line-height:1.5;font-weight:500}.invite-actions{width:100%;display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.invite-primary-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 1.5rem;background:var(--color-primary);color:#fff;font-size:1rem;font-weight:700;border:none;border-radius:9999px;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px #002d6233}.invite-primary-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px #002d624d}.invite-primary-btn:active{transform:scale(.98)}.invite-decline-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1.5rem;background:transparent;color:#9ca3af;font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:color .2s}.invite-decline-btn:hover{color:#ef4444}.invite-link-btn{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary);font-weight:700;font-size:.95rem;text-decoration:none;margin-top:.5rem;transition:gap .2s}.invite-link-btn:hover{gap:.75rem}.invite-success-card{display:flex;align-items:center;gap:1rem;background:#ffffffe6;border:1px solid rgba(22,163,74,.15);border-radius:1rem;padding:1rem 1.5rem;width:100%}.invite-success-label{font-size:.7rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.invite-success-value{font-size:1.1rem;font-weight:800;color:var(--color-primary)}.invite-celebration{position:fixed;inset:0;pointer-events:none;z-index:5}.invite-sparkle{position:absolute;color:#d4af37;opacity:0;animation:sparkle-float 3s ease-in-out infinite}.invite-sparkle-1{top:15%;left:10%;width:2rem;height:2rem;animation-delay:0s}.invite-sparkle-2{top:20%;right:15%;width:1.5rem;height:1.5rem;animation-delay:.8s}.invite-sparkle-3{bottom:30%;left:20%;width:1.25rem;height:1.25rem;animation-delay:1.5s}.invite-sparkle-4{bottom:25%;right:10%;width:1.5rem;height:1.5rem;color:#ef4444;animation-delay:2s}@keyframes sparkle-float{0%{opacity:0;transform:translateY(10px) scale(.8) rotate(0)}30%{opacity:.8}70%{opacity:.6}to{opacity:0;transform:translateY(-30px) scale(1.1) rotate(180deg)}}.invite-count-badge{position:absolute;top:-4px;right:-4px;min-width:1.25rem;height:1.25rem;background:#ef4444;color:#fff;font-size:.65rem;font-weight:800;border-radius:9999px;display:flex;align-items:center;justify-content:center;padding:0 .25rem;border:2px solid white;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.invite-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#ffffffe6;border:1px solid rgba(0,0,0,.05);border-radius:1rem;box-shadow:0 2px 8px #0000000a;transition:all .2s;gap:.75rem}.invite-item:hover{border-color:#d4af374d;box-shadow:0 4px 12px #0000000f}.invite-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),rgba(0,45,98,.8));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;flex-shrink:0}.invite-relationship-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;background:#d4af371a;border:1px solid rgba(212,175,55,.2);border-radius:9999px;font-size:.6rem;font-weight:700;color:#92700c;text-transform:uppercase;letter-spacing:.05em}.invite-status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .6rem;border-radius:9999px;font-size:.65rem;font-weight:700;text-transform:capitalize}.invite-status-pending{background:#fffbeb;color:#d97706;border:1px solid rgba(217,119,6,.15)}.invite-status-accepted{background:#f0fdf4;color:#16a34a;border:1px solid rgba(22,163,74,.15)}.invite-status-declined{background:#fef2f2;color:#dc2626;border:1px solid rgba(220,38,38,.15)}.invite-cancel-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:1px solid rgba(0,0,0,.08);background:#fff;color:#9ca3af;cursor:pointer;transition:all .2s}.invite-cancel-btn:hover{color:#ef4444;border-color:#fecaca;background:#fef2f2}.invite-cancel-btn:active{transform:scale(.95)}.settings-back-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.08);color:var(--color-primary);cursor:pointer;transition:all .2s;text-decoration:none;box-shadow:0 2px 8px #0000000f}.settings-back-btn:hover{background:#002d620d;border-color:var(--color-primary)}.settings-section{margin-bottom:2rem}.settings-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.settings-section-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--color-primary)}.settings-section-desc{font-size:.8rem;color:#9ca3af;font-weight:500;margin-bottom:.75rem;padding-left:1.75rem}.settings-card{background:#ffffffe6;border:1px solid rgba(0,0,0,.05);border-radius:1.25rem;padding:.5rem 1rem;box-shadow:0 2px 12px #0000000a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.settings-divider{height:1px;background:linear-gradient(to right,transparent,rgba(0,0,0,.06),transparent);margin:0}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.875rem .25rem;gap:1rem}.settings-toggle-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.settings-toggle-label{font-size:.9rem;font-weight:700;color:#374151}.settings-toggle-desc{font-size:.72rem;color:#9ca3af;font-weight:500;line-height:1.3;margin-top:.125rem}.settings-switch{position:relative;width:2.75rem;height:1.5rem;border-radius:9999px;border:none;cursor:pointer;transition:background-color .3s ease;flex-shrink:0;padding:0;outline:none}.settings-switch-on{background-color:var(--color-primary)}.settings-switch-off{background-color:#d1d5db}.settings-switch-thumb{position:absolute;top:50%;width:1.125rem;height:1.125rem;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:left .3s cubic-bezier(.4,0,.2,1);transform:translateY(-50%);pointer-events:none}.settings-switch-thumb-on{left:calc(100% - 1.125rem - 3px)}.settings-switch-thumb-off{left:3px}.settings-visibility-row{display:flex;flex-direction:column;gap:.625rem;padding:.875rem .25rem}.settings-visibility-options{display:flex;gap:.5rem;padding-left:1.75rem}.settings-vis-btn{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:9999px;font-size:.7rem;font-weight:700;border:1.5px solid rgba(0,0,0,.1);background:#fff;color:#6b7280;cursor:pointer;transition:all .2s}.settings-vis-btn:hover{border-color:#002d6233;color:var(--color-primary)}.settings-vis-btn-active{background:linear-gradient(135deg,#002d6214,#d4af3714);border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 0 0 1px #002d6214}.settings-info-note{display:flex;align-items:flex-start;gap:.75rem;background:#dbeafe80;border:1px solid rgba(59,130,246,.15);border-radius:1rem;padding:1rem 1.25rem;margin-bottom:2rem}.settings-info-note p{font-size:.8rem;color:#3b82f6;line-height:1.5;font-weight:500}.notif-group{margin-bottom:1.5rem}.notif-group-title{font-family:var(--font-heading);font-size:.85rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;padding:0 .25rem;margin-bottom:.75rem}.notif-group-list{display:flex;flex-direction:column;gap:.5rem}.notif-item{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;background:#fff;border:1px solid rgba(0,0,0,.04);border-radius:1rem;cursor:pointer;transition:all .2s;gap:.5rem}.notif-item:hover{border-color:#00000014;box-shadow:0 2px 8px #0000000a}.notif-item-unread{background:linear-gradient(135deg,#002d6205,#d4af3705);border-color:#002d6214}.notif-item-left{display:flex;gap:.75rem;flex:1;min-width:0}.notif-type-icon{width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.125rem}.notif-item-content{flex:1;min-width:0}.notif-item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.notif-item-title{font-size:.8rem;font-weight:700;color:var(--color-primary)}.notif-unread-dot{width:.5rem;height:.5rem;border-radius:50%;background:#3b82f6;flex-shrink:0}.notif-item-message{font-size:.8rem;color:#4b5563;line-height:1.5;font-weight:500;margin-bottom:.25rem}.notif-item-time{font-size:.65rem;color:#9ca3af;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.notif-actions{display:flex;gap:.5rem;margin-top:.625rem}.notif-action-accept{display:flex;align-items:center;gap:.25rem;padding:.375rem .875rem;background:#002d62;color:#fff;border:none;border-radius:9999px;font-size:.7rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #002d6233}.notif-action-accept:hover{background:#001f44;transform:translateY(-1px);box-shadow:0 4px 6px #002d624d}.notif-action-decline{display:flex;align-items:center;gap:.25rem;padding:.375rem .875rem;background:#ef4444;color:#fff;border:none;border-radius:9999px;font-size:.7rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #ef444433}.notif-action-decline:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 6px #ef44444d}.notif-image-preview{width:100%;height:4rem;border-radius:.625rem;overflow:hidden;margin-top:.5rem;border:1px solid rgba(0,0,0,.05)}.notif-image-preview img{width:100%;height:100%;object-fit:cover}.notif-dismiss-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;border:none;background:transparent;color:#d1d5db;cursor:pointer;transition:all .2s;flex-shrink:0;margin-top:.25rem}.notif-dismiss-btn:hover{color:#ef4444;background:#fef2f2}.notif-mark-all-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem 1rem;background:#002d620d;color:var(--color-primary);border:1px solid rgba(0,45,98,.1);border-radius:9999px;font-size:.7rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.notif-mark-all-btn:hover{background:#002d621a}.notif-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem}.notif-empty-icon{width:5rem;height:5rem;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.notif-empty-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--color-primary);margin-bottom:.5rem}.notif-empty-desc{font-size:.85rem;color:#9ca3af;font-weight:500}.tree-node-card{display:flex;flex-direction:column;align-items:center;position:relative;transition:transform .25s cubic-bezier(.4,0,.2,1);cursor:pointer}.tree-node-card:hover{transform:scale(1.06)}.tree-node-avatar{width:4.5rem;height:4.5rem;border-radius:50%;border:3px solid white;box-shadow:0 4px 14px #0000001a,0 0 0 2px #d4af3726;overflow:hidden;background:#fff;position:relative;z-index:2;transition:box-shadow .25s ease,border-color .25s ease}.tree-node-card:hover .tree-node-avatar{box-shadow:0 6px 20px #00000026,0 0 0 3px #d4af374d}.tree-node-avatar img{width:100%;height:100%;object-fit:cover}.tree-node-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%}.tree-node-avatar-me{border-color:var(--color-primary);box-shadow:0 4px 14px #002d6226,0 0 0 3px #002d621f}.tree-node-label{display:flex;flex-direction:column;align-items:center;margin-top:.4rem;background:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:.2rem .6rem;border-radius:.5rem;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(255,255,255,.6);min-width:3.5rem;z-index:2}.tree-node-name{font-size:.65rem;font-weight:700;color:#1e293b;line-height:1.2;white-space:nowrap}.tree-node-relation{font-size:.5rem;font-weight:800;color:var(--color-primary);opacity:.8;text-transform:uppercase;letter-spacing:.08em;line-height:1;margin-top:1px}@media(max-width:768px){.tree-node-avatar{width:3.25rem;height:3.25rem;border-width:2px}.tree-node-label{min-width:3rem;padding:.15rem .4rem;margin-top:.25rem}.tree-node-name{font-size:.55rem}.tree-node-relation{font-size:.4rem}.tree-add-btn{width:1.25rem;height:1.25rem;bottom:-.25rem;right:-.25rem}.tree-node-avatar-placeholder svg{width:1.25rem;height:1.25rem}}.tree-node-pending .tree-node-avatar{border:3px dashed #b0b8c4;box-shadow:0 4px 14px #0000000d,0 0 0 2px #94a3b81a;filter:grayscale(.6);opacity:.75}.tree-node-pending .tree-node-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);color:#94a3b8;font-size:1.5rem}.tree-node-pending .tree-node-label{background:#f1f5f9e6;border-color:#cbd5e180}.tree-node-pending .tree-node-name{color:#94a3b8}.tree-node-pending .tree-node-relation{color:#94a3b8;opacity:.6}.tree-node-pending:hover{transform:scale(1.04)}.tree-node-pending:hover .tree-node-avatar{box-shadow:0 6px 20px #00000014,0 0 0 3px #94a3b833}.tree-pending-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.12rem .45rem;border-radius:9999px;font-size:.45rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:#fef3c7;color:#b45309;border:1px solid rgba(180,83,9,.15);margin-top:.2rem;animation:pending-pulse 2.5s ease-in-out infinite}@keyframes pending-pulse{0%,to{opacity:1}50%{opacity:.6}}.tree-connector-v{width:2px;height:28px;background:#002d622e;margin:0 auto;flex-shrink:0}.tree-connector-v-pending{width:2px;height:28px;background:repeating-linear-gradient(to bottom,#b0b8c4 0px,#b0b8c4 4px,transparent 4px,transparent 8px);margin:0 auto;flex-shrink:0}.tree-connector-spouse{width:28px;height:2px;background:#d4af3766;align-self:center;flex-shrink:0;position:relative}.tree-connector-spouse:after{content:"♥";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.5rem;color:#d4af3799;background:#f8fafc;padding:0 2px;line-height:1}.tree-children-wrapper{display:flex;justify-content:center;align-items:flex-start;position:relative}.tree-sibling-bar{position:absolute;top:0;height:2px;background:#002d622e}.tree-sibling-bar-pending{position:absolute;top:0;height:2px;background:repeating-linear-gradient(to right,#b0b8c4 0px,#b0b8c4 4px,transparent 4px,transparent 8px)}.tree-child-col{display:flex;flex-direction:column;align-items:center;position:relative;min-width:5.5rem}.tree-add-btn{position:absolute;top:-6px;right:-6px;width:1.4rem;height:1.4rem;background:#22c55e;border:2px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;z-index:10;opacity:0;transform:scale(.85);transition:all .2s ease;box-shadow:0 2px 6px #22c55e4d}.tree-node-card:hover .tree-add-btn{opacity:1;transform:scale(1)}.tree-add-btn:hover{transform:scale(1.15)!important;background:#16a34a}.tree-couple-wrapper{display:flex;align-items:flex-start;gap:0;position:relative;z-index:2}.tree-level{display:flex;flex-direction:column;align-items:center}.ft-two-sided{position:relative;display:flex;flex-direction:column;align-items:center;gap:2rem;padding:1.5rem 2rem 3rem;min-width:600px}.ft-svg-connectors{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}.ft-parents-row{display:flex;align-items:flex-start;justify-content:center;gap:3rem;position:relative;z-index:2}.ft-ancestor-col{display:flex;flex-direction:column;align-items:center;gap:0;min-width:120px}.ft-ancestor-node{display:flex;flex-direction:column;align-items:center}.ft-side-headers{display:flex;justify-content:center;gap:6rem;width:100%;position:relative;z-index:2}.ft-side-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;align-self:center;min-width:80px}.ft-side-tag{font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:.2rem .6rem;border-radius:9999px;white-space:nowrap}.ft-side-tag-left{background:#002d6214;color:var(--color-primary);border:1px solid rgba(0,45,98,.12)}.ft-side-tag-right{background:#d4af371a;color:#92700c;border:1px solid rgba(212,175,55,.2)}.ft-parent-siblings{display:flex;flex-direction:column;align-items:center;margin-top:.25rem}.ft-sibling-branch{display:flex;flex-direction:column;align-items:center}.ft-sibling-row{display:flex;gap:.75rem}.ft-you-row{display:flex;align-items:flex-start;justify-content:center;gap:0;position:relative;z-index:2}.ft-anchor{width:0;height:0;position:relative}.ft-anchor-left{margin-right:2rem}.ft-anchor-right{margin-left:2rem}.tree-node-card-lg .tree-node-avatar,.tree-node-avatar-lg{width:5.5rem!important;height:5.5rem!important}.tree-node-card-lg .tree-node-label{padding:.25rem .75rem}.tree-node-card-lg .tree-node-name{font-size:.75rem}.tree-node-card-lg .tree-node-relation{font-size:.55rem}.ft-siblings-row{display:flex;justify-content:center;gap:1.5rem;position:relative;z-index:2}.ft-sibling-item{display:flex;flex-direction:column;align-items:center}.ft-pending-row{display:flex;justify-content:center;gap:1.5rem;position:relative;z-index:2;margin-top:.5rem}.ft-pending-item{display:flex;flex-direction:column;align-items:center}.tree-node-clickable{transition:transform .15s ease,box-shadow .15s ease}.tree-node-clickable:hover{transform:translateY(-2px);box-shadow:0 6px 20px #002d621f}.tree-node-clickable:active{transform:scale(.97)}.ft-reset-view-btn{position:absolute;top:1rem;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:24px;border:1px solid rgba(212,175,55,.3);background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--color-primary, #002D62);font-weight:700;font-size:.78rem;font-family:var(--font-heading);cursor:pointer;box-shadow:0 4px 16px #00000014;transition:all .2s ease;animation:fadeSlideDown .3s ease}.ft-reset-view-btn:hover{background:#fff;box-shadow:0 6px 24px #0000001f;transform:translate(-50%) translateY(-1px)}.ft-reset-view-btn:active{transform:translate(-50%) scale(.97)}@keyframes fadeSlideDown{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.share-req-person-card{display:flex;align-items:center;gap:1rem;background:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(212,175,55,.2);border-radius:16px;padding:1rem 1.25rem;margin-bottom:1rem}.share-req-avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;border:2px solid rgba(212,175,55,.4);flex-shrink:0}.share-req-avatar img{width:100%;height:100%;object-fit:cover}.share-req-info{display:flex;flex-direction:column;gap:.15rem}.share-req-name{font-weight:700;font-size:1.05rem;color:var(--color-primary, #002D62);font-family:var(--font-heading)}.share-req-relation{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#8b7b5e}.share-req-description{display:flex;gap:.75rem;align-items:flex-start;background:#002d620a;border-radius:12px;padding:.9rem 1rem;margin-bottom:1.25rem}.share-req-description p{font-size:.82rem;color:#475569;line-height:1.5;margin:0}.share-req-send-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.9rem;border:none;border-radius:14px;background:var(--color-primary, #002D62);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s ease;font-family:var(--font-heading)}.share-req-send-btn:hover{background:#003a7a;transform:translateY(-1px);box-shadow:0 4px 16px #002d6240}.share-req-send-btn:active{transform:scale(.98)}.share-req-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.share-req-message-section{margin-bottom:1rem;position:relative;z-index:10}.share-req-message-input{width:100%;padding:.75rem 1rem;border:1.5px solid rgba(212,175,55,.25);border-radius:12px;background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.85rem;font-family:inherit;color:#334155;resize:none;outline:none;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;margin-top:.35rem}.share-req-message-input:focus{border-color:#d4af3780;box-shadow:0 0 0 3px #d4af371a}.share-req-message-input::placeholder{color:#94a3b8;font-style:italic}.share-req-pending-badge{padding:.25rem .6rem;border-radius:9999px;background:#f973161a;color:#f97316;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;flex-shrink:0}.shared-tree-member-card{display:flex;align-items:center;gap:.75rem;background:#fff;border-radius:1rem;padding:.875rem 1rem;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 4px #0000000a;transition:transform .15s ease,box-shadow .15s ease}.shared-tree-member-card:hover{transform:translateY(-1px);box-shadow:0 3px 12px #00000014}.share-access-controls{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.share-access-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:.25rem}.share-access-pills{display:flex;flex-wrap:wrap;gap:.4rem}.share-pill{padding:.35rem .75rem;border-radius:20px;border:1.5px solid #e2e8f0;background:#fff;font-size:.72rem;font-weight:600;color:#475569;cursor:pointer;transition:all .15s ease}.share-pill:hover{border-color:var(--color-primary, #002D62);color:var(--color-primary, #002D62)}.share-pill.share-pill-active{background:var(--color-primary, #002D62);border-color:var(--color-primary, #002D62);color:#fff}.share-access-actions{display:flex;gap:.5rem;margin-top:.35rem}.share-action-allow{display:flex;align-items:center;gap:.3rem;padding:.4rem .9rem;border-radius:8px;border:none;background:var(--color-primary, #002D62);color:#fff;font-weight:700;font-size:.75rem;cursor:pointer;transition:all .15s ease}.share-action-allow:hover{background:#003a7a}.share-action-decline{display:flex;align-items:center;gap:.3rem;padding:.4rem .9rem;border-radius:8px;border:1.5px solid #e2e8f0;background:#fff;color:#64748b;font-weight:700;font-size:.75rem;cursor:pointer;transition:all .15s ease}.share-action-decline:hover{border-color:#ef4444;color:#ef4444}.referral-premium-banner{background:linear-gradient(135deg,#d4af37,#f0c75e,#d4af37);border-radius:1rem;padding:1rem 1.25rem;box-shadow:0 4px 15px #d4af374d}.referral-progress-card{background:#fff;border-radius:1.5rem;padding:2rem 1.5rem;box-shadow:0 4px 20px #0000000a;border:1px solid #F3F4F6}.referral-progress-ring-circle{transition:stroke-dashoffset .6s ease-out}.referral-code-card{background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:0 2px 10px #0000000a;border:1px solid #F3F4F6}.referral-code-display{background:linear-gradient(135deg,#d4af370f,#d4af371f);border:2px dashed rgba(212,175,55,.35);border-radius:1rem;padding:1.25rem;text-align:center}.referral-code-text{font-family:SF Mono,Fira Code,Courier New,monospace;font-size:2rem;font-weight:800;letter-spacing:.5em;color:var(--color-primary);text-indent:.5em}.referral-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:.75rem;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s ease;border:none}.referral-copy-btn{background:#002d620f;color:var(--color-primary)}.referral-copy-btn:hover{background:#002d621f}.referral-share-btn{background:var(--color-primary);color:#fff}.referral-share-btn:hover{background:#003a7a}.referral-history-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-radius:.75rem;background:#00000005;transition:background .15s}.referral-history-item:hover{background:#0000000a}.referral-redeem-card{background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:0 2px 10px #0000000a;border:1px solid #F3F4F6}.referral-redeem-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border-radius:.75rem;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s ease;border:none;margin-top:.5rem}.referral-redeem-btn.active{background:linear-gradient(135deg,#d4af37,#f0c75e);color:var(--color-primary);box-shadow:0 4px 15px #d4af374d}.referral-redeem-btn.active:hover{transform:translateY(-1px);box-shadow:0 6px 20px #d4af3766}.referral-redeem-btn.disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.referral-promo-card{background:#fff;border-radius:1rem;padding:1rem 1.25rem;border:1px solid rgba(212,175,55,.2);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #d4af3714}.referral-promo-card:hover{border-color:#d4af3766;box-shadow:0 4px 12px #d4af3726;transform:translateY(-1px)}.referral-invite-card{display:block;background:#fff;border-radius:1rem;padding:1.25rem;border:1px solid rgba(212,175,55,.2);text-decoration:none;margin-top:1.5rem;margin-bottom:1.5rem;max-width:360px;margin-left:auto;margin-right:auto;transition:all .2s ease}.referral-invite-card:hover{border-color:#d4af3766;box-shadow:0 4px 12px #d4af3726}.invite-code-section{margin-top:.25rem;margin-bottom:.5rem}.invite-code-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 0;background:none;border:none;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--color-text-light);transition:color .2s}.invite-code-toggle:hover{color:var(--color-primary)}.invite-code-input-wrapper{position:relative;margin-top:.25rem;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.invite-code-input{width:100%;padding:1rem 3rem 1rem 1rem;border:2px solid rgba(212,175,55,.3);border-radius:.75rem;font-size:1.25rem;font-weight:700;font-family:SF Mono,Fira Code,Courier New,monospace;letter-spacing:.3em;text-align:center;text-transform:uppercase;color:var(--color-primary);background:#d4af370a;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.invite-code-input:focus{border-color:var(--color-secondary);box-shadow:0 0 0 4px #d4af3726}.invite-code-input::placeholder{letter-spacing:.1em;font-weight:500;color:#9ca3af;font-size:.9rem}.invite-code-valid{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#10b981;font-size:1.25rem;font-weight:700}.invite-code-applied{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#d4af3714;border:1px solid rgba(212,175,55,.2);border-radius:.75rem;font-size:.85rem;font-weight:600;color:var(--color-text-dark)}.font-mono{font-family:SF Mono,Fira Code,Courier New,monospace}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}
