academe-kit 0.9.3 → 0.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/index.cjs +1119 -4
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.ts +9147 -5349
  4. package/dist/index.esm.js +1118 -6
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/types/components/CosmicDecor/CosmicDecor.d.ts +10 -0
  7. package/dist/types/components/CosmicDecor/index.d.ts +2 -0
  8. package/dist/types/components/CosmicDecor/planets/astronaut.d.ts +2 -0
  9. package/dist/types/components/CosmicDecor/planets/black-hole.d.ts +2 -0
  10. package/dist/types/components/CosmicDecor/planets/earth.d.ts +2 -0
  11. package/dist/types/components/CosmicDecor/planets/giant.d.ts +2 -0
  12. package/dist/types/components/CosmicDecor/planets/index.d.ts +10 -0
  13. package/dist/types/components/CosmicDecor/planets/moon.d.ts +2 -0
  14. package/dist/types/components/CosmicDecor/planets/neptune.d.ts +2 -0
  15. package/dist/types/components/CosmicDecor/planets/satellite.d.ts +2 -0
  16. package/dist/types/components/CosmicDecor/planets/saturn.d.ts +2 -0
  17. package/dist/types/components/CosmicDecor/planets/sun.d.ts +2 -0
  18. package/dist/types/components/CosmicDecor/planets/types.d.ts +4 -0
  19. package/dist/types/components/CosmicStarsCanvas/CosmicStarsCanvas.d.ts +5 -0
  20. package/dist/types/components/CosmicStarsCanvas/index.d.ts +2 -0
  21. package/dist/types/components/JourneyStep/JourneyStep.d.ts +20 -0
  22. package/dist/types/components/JourneyStep/frames/circle-laurel.d.ts +2 -0
  23. package/dist/types/components/JourneyStep/frames/hexagon-ribbon.d.ts +2 -0
  24. package/dist/types/components/JourneyStep/frames/hexagon-wings.d.ts +2 -0
  25. package/dist/types/components/JourneyStep/frames/index.d.ts +4 -0
  26. package/dist/types/components/JourneyStep/frames/pentagon-crown.d.ts +2 -0
  27. package/dist/types/components/JourneyStep/frames/pentagon.d.ts +2 -0
  28. package/dist/types/components/JourneyStep/frames/shield-wings.d.ts +2 -0
  29. package/dist/types/components/JourneyStep/frames/types.d.ts +34 -0
  30. package/dist/types/components/JourneyStep/frames/utils.d.ts +23 -0
  31. package/dist/types/components/JourneyStep/index.d.ts +3 -0
  32. package/dist/types/index.d.ts +6 -0
  33. package/dist/types/services/CertificateService.d.ts +14 -166
  34. package/dist/types/services/ChallengeService.d.ts +748 -0
  35. package/dist/types/services/StepService.d.ts +215 -0
  36. package/dist/types/services/index.d.ts +6 -0
  37. package/dist/types/services/userService.d.ts +3 -56
  38. package/dist/types/types/academe-api.d.ts +4186 -1179
  39. package/package.json +6 -2
package/dist/index.esm.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
- import React2, { forwardRef, createElement, createContext, useContext, useState, useRef, useMemo, useEffect, useCallback } from 'react';
2
+ import React2, { forwardRef, createElement, createContext, useContext, useState, useRef, useMemo, useEffect, useCallback, useId } from 'react';
3
+ import { useReducedMotion, motion } from 'framer-motion';
4
+ import { animated, useSpring } from '@react-spring/web';
3
5
 
4
6
  function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
5
7
 
@@ -4558,8 +4560,9 @@ function createUserService(apiClient) {
4558
4560
  });
4559
4561
  },
4560
4562
  updateMe(body) {
4563
+ // openapi-fetch narrows deviceId to string (drops null) — cast to bypass
4561
4564
  return apiClient.PUT("/users/me", {
4562
- body,
4565
+ body: body,
4563
4566
  });
4564
4567
  },
4565
4568
  /**
@@ -5551,6 +5554,7 @@ function createCertificateService(apiClient) {
5551
5554
  * List all certificates
5552
5555
  */
5553
5556
  getAll(query) {
5557
+ // spec declares query?: never on this route — cast until spec is updated
5554
5558
  return apiClient.GET("/certificates", {
5555
5559
  params: { query },
5556
5560
  });
@@ -5567,6 +5571,7 @@ function createCertificateService(apiClient) {
5567
5571
  * Download all certificates of a given user as a single merged PDF
5568
5572
  */
5569
5573
  downloadAll(userId) {
5574
+ // path not yet in the API spec
5570
5575
  return apiClient.GET("/certificates/{userId}/download-all", {
5571
5576
  params: { path: { userId } },
5572
5577
  parseAs: 'blob',
@@ -5576,6 +5581,7 @@ function createCertificateService(apiClient) {
5576
5581
  * Download certificate PDF
5577
5582
  */
5578
5583
  download(id) {
5584
+ // path not yet in the API spec
5579
5585
  return apiClient.GET("/certificates/{id}/download", {
5580
5586
  params: { path: { id } },
5581
5587
  parseAs: 'blob',
@@ -5593,6 +5599,7 @@ function createCertificateService(apiClient) {
5593
5599
  * Generate a certificate PDF server-side
5594
5600
  */
5595
5601
  generate(data) {
5602
+ // path not yet in the API spec
5596
5603
  return apiClient.POST("/certificates/generate", {
5597
5604
  body: data,
5598
5605
  });
@@ -5999,6 +6006,217 @@ function createStorageFileService(apiClient) {
5999
6006
  };
6000
6007
  }
6001
6008
 
6009
+ function createChallengeService(apiClient) {
6010
+ return {
6011
+ // ============================================================================
6012
+ // Challenges (Jornadas)
6013
+ // ============================================================================
6014
+ /**
6015
+ * List challenges with filters and pagination
6016
+ */
6017
+ getAll(params) {
6018
+ return apiClient.GET("/challenges", {
6019
+ params: { query: params },
6020
+ });
6021
+ },
6022
+ /**
6023
+ * Get challenge by ID with full details (steps, media, deliverySteps, evaluationCriteria)
6024
+ */
6025
+ getById(id) {
6026
+ return apiClient.GET("/challenges/{id}", {
6027
+ params: { path: { id } },
6028
+ });
6029
+ },
6030
+ /**
6031
+ * Create a new challenge
6032
+ */
6033
+ create(data) {
6034
+ return apiClient.POST("/challenges", {
6035
+ body: data,
6036
+ });
6037
+ },
6038
+ /**
6039
+ * Update a challenge
6040
+ */
6041
+ update(id, data) {
6042
+ return apiClient.PATCH("/challenges/{id}", {
6043
+ params: { path: { id } },
6044
+ body: data,
6045
+ });
6046
+ },
6047
+ /**
6048
+ * Soft-delete a challenge (sets is_active=false)
6049
+ */
6050
+ delete(id) {
6051
+ return apiClient.DELETE("/challenges/{id}", {
6052
+ params: { path: { id } },
6053
+ });
6054
+ },
6055
+ /**
6056
+ * Clone a global template into an institution
6057
+ */
6058
+ clone(id, data) {
6059
+ return apiClient.POST("/challenges/{id}/clone", {
6060
+ params: { path: { id } },
6061
+ body: data,
6062
+ });
6063
+ },
6064
+ // ============================================================================
6065
+ // Steps
6066
+ // ============================================================================
6067
+ /**
6068
+ * Add a step to the challenge
6069
+ */
6070
+ addStep(challengeId, data) {
6071
+ return apiClient.POST("/challenges/{id}/steps", {
6072
+ params: { path: { id: challengeId } },
6073
+ body: data,
6074
+ });
6075
+ },
6076
+ /**
6077
+ * Update a challenge step
6078
+ */
6079
+ updateStep(challengeId, stepId, data) {
6080
+ return apiClient.PATCH("/challenges/{id}/steps/{subId}", {
6081
+ params: { path: { id: challengeId, subId: stepId } },
6082
+ body: data,
6083
+ });
6084
+ },
6085
+ /**
6086
+ * Remove a challenge step
6087
+ */
6088
+ removeStep(challengeId, stepId) {
6089
+ return apiClient.DELETE("/challenges/{id}/steps/{subId}", {
6090
+ params: { path: { id: challengeId, subId: stepId } },
6091
+ });
6092
+ },
6093
+ // ============================================================================
6094
+ // Media
6095
+ // ============================================================================
6096
+ /**
6097
+ * Attach a media file to the challenge
6098
+ */
6099
+ addMedia(challengeId, data) {
6100
+ return apiClient.POST("/challenges/{id}/media", {
6101
+ params: { path: { id: challengeId } },
6102
+ body: data,
6103
+ });
6104
+ },
6105
+ /**
6106
+ * Remove a media item
6107
+ */
6108
+ removeMedia(challengeId, mediaId) {
6109
+ return apiClient.DELETE("/challenges/{id}/media/{subId}", {
6110
+ params: { path: { id: challengeId, subId: mediaId } },
6111
+ });
6112
+ },
6113
+ // ============================================================================
6114
+ // Delivery Steps (checklist)
6115
+ // ============================================================================
6116
+ /**
6117
+ * Add a delivery checklist item
6118
+ */
6119
+ addDeliveryStep(challengeId, data) {
6120
+ return apiClient.POST("/challenges/{id}/delivery-steps", {
6121
+ params: { path: { id: challengeId } },
6122
+ body: data,
6123
+ });
6124
+ },
6125
+ /**
6126
+ * Update a delivery checklist item
6127
+ */
6128
+ updateDeliveryStep(challengeId, deliveryStepId, data) {
6129
+ return apiClient.PATCH("/challenges/{id}/delivery-steps/{subId}", {
6130
+ params: { path: { id: challengeId, subId: deliveryStepId } },
6131
+ body: data,
6132
+ });
6133
+ },
6134
+ /**
6135
+ * Remove a delivery checklist item
6136
+ */
6137
+ removeDeliveryStep(challengeId, deliveryStepId) {
6138
+ return apiClient.DELETE("/challenges/{id}/delivery-steps/{subId}", {
6139
+ params: { path: { id: challengeId, subId: deliveryStepId } },
6140
+ });
6141
+ },
6142
+ // ============================================================================
6143
+ // Evaluation Criteria (rubric)
6144
+ // ============================================================================
6145
+ /**
6146
+ * Add an evaluation criterion
6147
+ */
6148
+ addCriterion(challengeId, data) {
6149
+ return apiClient.POST("/challenges/{id}/evaluation-criteria", {
6150
+ params: { path: { id: challengeId } },
6151
+ body: data,
6152
+ });
6153
+ },
6154
+ /**
6155
+ * Update an evaluation criterion
6156
+ */
6157
+ updateCriterion(challengeId, criterionId, data) {
6158
+ return apiClient.PATCH("/challenges/{id}/evaluation-criteria/{subId}", {
6159
+ params: { path: { id: challengeId, subId: criterionId } },
6160
+ body: data,
6161
+ });
6162
+ },
6163
+ /**
6164
+ * Remove an evaluation criterion
6165
+ */
6166
+ removeCriterion(challengeId, criterionId) {
6167
+ return apiClient.DELETE("/challenges/{id}/evaluation-criteria/{subId}", {
6168
+ params: { path: { id: challengeId, subId: criterionId } },
6169
+ });
6170
+ },
6171
+ };
6172
+ }
6173
+
6174
+ function createStepService(apiClient) {
6175
+ return {
6176
+ /**
6177
+ * List the step catalog (filterable by type / isActive)
6178
+ */
6179
+ getAll(params) {
6180
+ return apiClient.GET("/steps", {
6181
+ params: { query: params },
6182
+ });
6183
+ },
6184
+ /**
6185
+ * Get a step by ID
6186
+ */
6187
+ getById(id) {
6188
+ return apiClient.GET("/steps/{id}", {
6189
+ params: { path: { id } },
6190
+ });
6191
+ },
6192
+ /**
6193
+ * Create a new step in the catalog
6194
+ */
6195
+ create(data) {
6196
+ return apiClient.POST("/steps", {
6197
+ body: data,
6198
+ });
6199
+ },
6200
+ /**
6201
+ * Update a step
6202
+ */
6203
+ update(id, data) {
6204
+ return apiClient.PATCH("/steps/{id}", {
6205
+ params: { path: { id } },
6206
+ body: data,
6207
+ });
6208
+ },
6209
+ /**
6210
+ * Delete a step
6211
+ */
6212
+ delete(id) {
6213
+ return apiClient.DELETE("/steps/{id}", {
6214
+ params: { path: { id } },
6215
+ });
6216
+ },
6217
+ };
6218
+ }
6219
+
6002
6220
  function createAcademeApiClient(baseUrl) {
6003
6221
  return createClient({ baseUrl });
6004
6222
  }
@@ -6022,6 +6240,8 @@ function createAcademeServices(apiClient) {
6022
6240
  seatCode: createSeatCodeService(apiClient),
6023
6241
  product: createProductService(apiClient),
6024
6242
  storageFile: createStorageFileService(apiClient),
6243
+ challenge: createChallengeService(apiClient),
6244
+ step: createStepService(apiClient),
6025
6245
  };
6026
6246
  }
6027
6247
 
@@ -6119,7 +6339,6 @@ const SecurityProvider = ({ apiBaseUrl = "https://stg-api.academe.com.br", skipA
6119
6339
  const isAuthenticated = auth.isAuthenticated || !!accessToken;
6120
6340
  const isLoading = auth.isLoading;
6121
6341
  const activeNavigator = auth.activeNavigator;
6122
- auth.user?.profile;
6123
6342
  const currentTokenRef = useRef(undefined);
6124
6343
  // Efeito para sincronizar o token do auth com o state
6125
6344
  // e também verificar cookies periodicamente
@@ -9453,10 +9672,903 @@ function styleInject(css, ref) {
9453
9672
  }
9454
9673
  }
9455
9674
 
9456
- var css_248z$1 = "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:\"\"}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:0.5rem}.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:212.7 26.8% 83.9%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.mt-4{margin-top:1rem}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.size-10{height:2.5rem;width:2.5rem}.h-screen{height:100vh}.w-screen{width:100vw}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:.75rem}.rounded-lg{border-radius:var(--radius)}.border-2{border-width:2px}.border-\\[\\#892CDD\\]{--tw-border-opacity:1;border-color:rgb(137 44 221/var(--tw-border-opacity,1))}.bg-\\[\\#111111\\]{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity,1))}.bg-\\[\\#892CDD\\]{--tw-bg-opacity:1;background-color:rgb(137 44 221/var(--tw-bg-opacity,1))}.bg-\\[\\#ffffff\\]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-\\[\\#892CDD\\]{--tw-text-opacity:1;color:rgb(137 44 221/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.hover\\:bg-\\[\\#892CDD\\]\\/10:hover{background-color:rgba(137,44,221,.1)}.hover\\:bg-\\[\\#892CDD\\]\\/80:hover{background-color:rgba(137,44,221,.8)}.hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-\\[\\#892CDD\\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(137 44 221/var(--tw-ring-opacity,1))}.focus\\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}";
9675
+ var css_248z$3 = ".cosmic-decor{inset:0;-webkit-mask-image:radial-gradient(ellipse 82% 78% at 50% 46%,transparent 0,transparent 34%,rgba(0,0,0,.55) 58%,#000 100%);mask-image:radial-gradient(ellipse 82% 78% at 50% 46%,transparent 0,transparent 34%,rgba(0,0,0,.55) 58%,#000 100%);pointer-events:none;position:absolute;z-index:2}.cosmic-decor--session{inset:0 auto 0 50%;-webkit-mask-image:none;mask-image:none;right:auto;transform:translateX(-50%);width:100vw;z-index:0}.cosmic-decor__planet{display:block;height:auto;position:absolute;will-change:transform}.cosmic-decor__planet--saturn{animation:cosmicFloat 7s ease-in-out infinite;aspect-ratio:120/80;filter:drop-shadow(0 0 14px rgba(139,92,246,.28));left:max(-18px,2vw);opacity:.94;overflow:visible;right:auto;top:44px;width:180px}.cosmic-decor__planet--giant{animation:cosmicFloat 8.5s ease-in-out infinite;animation-delay:-2s;aspect-ratio:1;filter:drop-shadow(0 0 22px rgba(59,130,246,.3));left:auto;opacity:.9;right:max(-20px,2vw);top:72px;width:148px}.cosmic-decor__planet--earth{animation:cosmicFloat 9.8s ease-in-out infinite;animation-delay:-1.2s;aspect-ratio:1;filter:drop-shadow(0 0 18px rgba(147,197,253,.28));left:max(10px,8vw);opacity:.88;right:auto;top:208px;width:116px}.cosmic-decor__planet--neptune{animation:cosmicFloat 11.2s ease-in-out infinite;animation-delay:-3.1s;aspect-ratio:1;filter:drop-shadow(0 0 28px rgba(37,99,235,.26));left:auto;opacity:.82;right:100px;top:132px;width:180px}.cosmic-decor__planet--black-hole{animation:cosmicBlackHolePulse 5.4s ease-in-out infinite;aspect-ratio:1;bottom:72px;filter:drop-shadow(0 0 34px rgba(167,139,250,.22));left:max(22px,10vw);opacity:.88;right:auto;width:124px}.cosmic-decor__planet--sun{animation:cosmicFloat 8s ease-in-out infinite;animation-delay:-.8s;aspect-ratio:1;filter:drop-shadow(0 0 32px rgba(250,204,21,.4)) drop-shadow(0 0 18px rgba(249,115,22,.25));left:auto;opacity:.95;overflow:visible;right:max(-12px,2vw);top:28px;width:160px}.cosmic-decor__planet--moon{animation:cosmicFloat 12s ease-in-out infinite;animation-delay:-4.4s;aspect-ratio:1;filter:drop-shadow(0 0 14px rgba(226,232,240,.32));left:auto;opacity:.9;right:max(20px,6vw);top:268px;width:92px}.cosmic-decor__planet--satellite{animation:cosmicFloat 7.6s ease-in-out infinite;animation-delay:-1.6s;aspect-ratio:160/100;filter:drop-shadow(0 0 16px rgba(56,189,248,.28));left:max(40px,14vw);opacity:.9;overflow:visible;right:auto;top:152px;width:150px}.cosmic-decor__planet--astronaut{animation:cosmicAstronautDrift 10s ease-in-out infinite;aspect-ratio:110/140;bottom:96px;filter:drop-shadow(0 0 18px rgba(167,139,250,.32)) drop-shadow(0 0 8px rgba(56,189,248,.2));left:auto;opacity:.92;overflow:visible;right:max(8px,4vw);width:100px}.cosmic-decor__sparkle{animation:cosmicSparkle 2.6s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(253,224,71,.65));height:12px;opacity:.88;position:absolute;width:12px}.cosmic-decor__sparkle--1{left:4%;top:5%}.cosmic-decor__sparkle--2{animation-delay:.5s;height:10px;right:5%;top:22%;width:10px}.cosmic-decor__sparkle--3{animation-delay:1.1s;left:5%;top:48%}.cosmic-decor__sparkle--4{animation-delay:1.6s;height:10px;right:5%;top:78%;width:10px}@keyframes cosmicFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes cosmicBlackHolePulse{0%,to{opacity:.82;transform:scale(1)}50%{opacity:.98;transform:scale(1.06)}}@keyframes cosmicAstronautDrift{0%,to{transform:translate(0)}25%{transform:translate(4px,-8px)}50%{transform:translate(-2px,-14px)}75%{transform:translate(-5px,-4px)}}@keyframes cosmicSparkle{0%,to{opacity:.92;transform:scale(1)}50%{opacity:.55;transform:scale(1.2)}}@media (min-width:1024px){.cosmic-decor.cosmic-decor--page{-webkit-mask-image:radial-gradient(ellipse min(96%,1400px) min(88%,900px) at 50% 42%,transparent 0,transparent 38%,rgba(0,0,0,.5) 62%,#000 100%);mask-image:radial-gradient(ellipse min(96%,1400px) min(88%,900px) at 50% 42%,transparent 0,transparent 38%,rgba(0,0,0,.5) 62%,#000 100%)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--saturn{filter:drop-shadow(0 0 28px rgba(139,92,246,.35));left:clamp(12px,3vw,40px);right:auto;top:clamp(48px,10vh,140px);width:clamp(190px,14vw,270px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--giant{filter:drop-shadow(0 0 36px rgba(59,130,246,.38));left:auto;right:clamp(-100px,-4vw,-24px);top:clamp(80px,14vh,200px);width:clamp(200px,17vw,300px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--earth{filter:drop-shadow(0 0 30px rgba(147,197,253,.28));left:clamp(40px,7vw,140px);right:auto;top:clamp(170px,24vh,320px);width:clamp(170px,12vw,260px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--neptune{filter:drop-shadow(0 0 42px rgba(37,99,235,.26));left:auto;right:clamp(-110px,-5.5vw,-45px);top:clamp(52px,12vh,160px);width:clamp(200px,14vw,310px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--black-hole{bottom:clamp(34px,9vh,160px);left:clamp(50px,9vw,170px);right:auto;width:clamp(210px,17vw,360px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--sun{filter:drop-shadow(0 0 44px rgba(250,204,21,.42)) drop-shadow(0 0 22px rgba(249,115,22,.3));left:auto;right:clamp(40px,7vw,160px);top:clamp(36px,8vh,120px);width:clamp(180px,13vw,260px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--moon{filter:drop-shadow(0 0 22px rgba(226,232,240,.36));left:auto;right:clamp(140px,14vw,280px);top:clamp(220px,28vh,360px);width:clamp(110px,8vw,170px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--satellite{filter:drop-shadow(0 0 24px rgba(56,189,248,.32));left:clamp(160px,18vw,320px);right:auto;top:clamp(140px,18vh,240px);width:clamp(170px,12vw,250px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--astronaut{bottom:clamp(60px,12vh,200px);filter:drop-shadow(0 0 28px rgba(167,139,250,.36)) drop-shadow(0 0 12px rgba(56,189,248,.22));left:auto;right:clamp(120px,13vw,260px);width:clamp(120px,9vw,180px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__sparkle{opacity:.92}.cosmic-decor.cosmic-decor--page .cosmic-decor__sparkle--1{height:14px;left:max(16px,3vw);top:10%;width:14px}.cosmic-decor.cosmic-decor--page .cosmic-decor__sparkle--2{height:12px;right:max(20px,4vw);top:18%;width:12px}.cosmic-decor.cosmic-decor--page .cosmic-decor__sparkle--3{height:13px;left:max(12px,2.5vw);top:46%;width:13px}.cosmic-decor.cosmic-decor--page .cosmic-decor__sparkle--4{height:12px;right:max(18px,3.5vw);top:72%;width:12px}}@media (min-width:1440px){.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--saturn{width:clamp(220px,12vw,290px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--giant{left:auto;right:clamp(-120px,-5vw,-32px);width:clamp(240px,14vw,320px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--earth{width:clamp(240px,13vw,300px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--neptune{width:clamp(260px,15vw,340px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--black-hole{width:clamp(280px,18vw,420px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--sun{width:clamp(210px,12vw,290px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--moon{width:clamp(130px,7vw,200px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--satellite{width:clamp(200px,11vw,290px)}.cosmic-decor.cosmic-decor--page .cosmic-decor__planet--astronaut{width:clamp(140px,8vw,210px)}}@media (prefers-reduced-motion:reduce){.cosmic-decor__planet--astronaut,.cosmic-decor__planet--black-hole,.cosmic-decor__planet--earth,.cosmic-decor__planet--giant,.cosmic-decor__planet--moon,.cosmic-decor__planet--neptune,.cosmic-decor__planet--satellite,.cosmic-decor__planet--saturn,.cosmic-decor__planet--sun{animation:none}.cosmic-decor__sparkle{animation:none;opacity:.9;transform:none}}";
9676
+ styleInject(css_248z$3,{"insertAt":"top"});
9677
+
9678
+ const SATURN_ORIGIN = {
9679
+ transformOrigin: '50% 50%',
9680
+ transformBox: 'fill-box',
9681
+ };
9682
+ function PlanetSaturn({ id }) {
9683
+ const reduceMotion = useReducedMotion();
9684
+ const saturnBodyId = `cosmic-saturn-body-${id}`;
9685
+ const saturnRingId = `cosmic-saturn-ring-${id}`;
9686
+ const ringAnimate = reduceMotion ? { rotate: 0 } : { rotate: 360 };
9687
+ const ringTransition = reduceMotion
9688
+ ? { duration: 0 }
9689
+ : { duration: 105, repeat: Infinity, ease: 'linear' };
9690
+ return (jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--saturn", viewBox: "0 0 120 80", children: [jsxs("defs", { children: [jsxs("radialGradient", { id: saturnBodyId, cx: "30%", cy: "30%", children: [jsx("stop", { offset: "0%", stopColor: "#c4b5fd" }), jsx("stop", { offset: "55%", stopColor: "#7c3aed" }), jsx("stop", { offset: "100%", stopColor: "#1e1b4b" })] }), jsxs("linearGradient", { id: saturnRingId, x1: "0", y1: "0", x2: "1", y2: "0", children: [jsx("stop", { offset: "0%", stopColor: "#c4b5fd", stopOpacity: "0" }), jsx("stop", { offset: "20%", stopColor: "#c4b5fd", stopOpacity: "0.7" }), jsx("stop", { offset: "80%", stopColor: "#c4b5fd", stopOpacity: "0.7" }), jsx("stop", { offset: "100%", stopColor: "#c4b5fd", stopOpacity: "0" })] })] }), jsx(motion.g, { style: SATURN_ORIGIN, animate: ringAnimate, transition: ringTransition, children: jsx("ellipse", { cx: "60", cy: "40", rx: "56", ry: "11", fill: "none", stroke: `url(#${saturnRingId})`, strokeWidth: "2.5" }) }), jsx("circle", { cx: "60", cy: "40", r: "24", fill: `url(#${saturnBodyId})` }), jsx(motion.g, { style: SATURN_ORIGIN, animate: ringAnimate, transition: ringTransition, children: jsx("path", { d: "M 4 42 Q 60 56 116 42", stroke: `url(#${saturnRingId})`, strokeWidth: "2.5", fill: "none" }) })] }));
9691
+ }
9692
+
9693
+ const AnimatedGroup = animated('g');
9694
+ function PlanetGiant({ id }) {
9695
+ const reduceMotion = useReducedMotion();
9696
+ const giantBodyId = `cosmic-giant-body-${id}`;
9697
+ const giantClipId = `cosmic-giant-clip-${id}`;
9698
+ const bandsSpring = useSpring(reduceMotion
9699
+ ? { from: { x: 0 }, to: { x: 0 }, immediate: true }
9700
+ : {
9701
+ from: { x: -5 },
9702
+ to: { x: 5 },
9703
+ loop: { reverse: true },
9704
+ config: { duration: 6500 },
9705
+ });
9706
+ return (jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--giant", viewBox: "0 0 120 120", children: [jsxs("defs", { children: [jsxs("radialGradient", { id: giantBodyId, cx: "32%", cy: "30%", children: [jsx("stop", { offset: "0%", stopColor: "#bae6fd" }), jsx("stop", { offset: "55%", stopColor: "#3b82f6" }), jsx("stop", { offset: "100%", stopColor: "#1e3a8a" })] }), jsx("clipPath", { id: giantClipId, children: jsx("circle", { cx: "60", cy: "60", r: "55" }) })] }), jsx("circle", { cx: "60", cy: "60", r: "55", fill: `url(#${giantBodyId})` }), jsxs(AnimatedGroup, { clipPath: `url(#${giantClipId})`, fill: "none", stroke: "#1e3a8a", strokeWidth: "1.4", strokeOpacity: "0.55", style: { transform: bandsSpring.x.to((x) => `translate(${x}px, 0px)`) }, children: [jsx("path", { d: "M -5 35 Q 30 30 60 35 T 125 35" }), jsx("path", { d: "M -5 55 Q 30 60 60 55 T 125 55" }), jsx("path", { d: "M -5 75 Q 30 70 60 75 T 125 75" }), jsx("path", { d: "M -5 92 Q 30 96 60 92 T 125 92" })] })] }));
9707
+ }
9708
+
9709
+ function PlanetEarth({ id }) {
9710
+ const earthBodyId = `cosmic-earth-body-${id}`;
9711
+ const earthAtmosId = `cosmic-earth-atmos-${id}`;
9712
+ return (jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--earth", viewBox: "0 0 120 120", children: [jsxs("defs", { children: [jsxs("radialGradient", { id: earthBodyId, cx: "30%", cy: "30%", children: [jsx("stop", { offset: "0%", stopColor: "#93c5fd" }), jsx("stop", { offset: "55%", stopColor: "#3b82f6" }), jsx("stop", { offset: "100%", stopColor: "#052e3a" })] }), jsxs("linearGradient", { id: earthAtmosId, x1: "0", y1: "0", x2: "1", y2: "1", children: [jsx("stop", { offset: "0%", stopColor: "#60a5fa", stopOpacity: "0" }), jsx("stop", { offset: "25%", stopColor: "#60a5fa", stopOpacity: "0.6" }), jsx("stop", { offset: "70%", stopColor: "#a78bfa", stopOpacity: "0.45" }), jsx("stop", { offset: "100%", stopColor: "#a78bfa", stopOpacity: "0" })] })] }), jsx("circle", { cx: "60", cy: "60", r: "48", fill: `url(#${earthBodyId})` }), jsx("path", { d: "M 38 63 C 40 54 54 50 60 56 C 63 59 65 66 61 70 C 56 75 45 74 41 68 C 39 66 37 65 38 63 Z", fill: "#22c55e", opacity: "0.82" }), jsx("path", { d: "M 56 44 C 60 42 68 43 71 49 C 73 53 69 57 64 58 C 58 59 53 55 52 51 C 51 48 53 45 56 44 Z", fill: "#16a34a", opacity: "0.6" }), jsx("path", { d: "M 28 52 C 33 46 44 44 49 47 C 53 49 53 55 49 58 C 43 63 30 59 27 55 C 26 54 26 53 28 52 Z", fill: "#15803d", opacity: "0.45" }), jsx("ellipse", { cx: "60", cy: "60", rx: "52", ry: "12", fill: "none", stroke: `url(#${earthAtmosId})`, strokeWidth: "2.2", opacity: "0.9" })] }));
9713
+ }
9714
+
9715
+ function PlanetNeptune({ id }) {
9716
+ const neptuneBodyId = `cosmic-neptune-body-${id}`;
9717
+ const neptuneBandId = `cosmic-neptune-band-${id}`;
9718
+ return (jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--neptune", viewBox: "0 0 120 120", children: [jsxs("defs", { children: [jsxs("radialGradient", { id: neptuneBodyId, cx: "32%", cy: "28%", children: [jsx("stop", { offset: "0%", stopColor: "#93c5fd" }), jsx("stop", { offset: "50%", stopColor: "#2563eb" }), jsx("stop", { offset: "100%", stopColor: "#0b1226" })] }), jsxs("linearGradient", { id: neptuneBandId, x1: "0", y1: "0", x2: "1", y2: "0", children: [jsx("stop", { offset: "0%", stopColor: "#60a5fa", stopOpacity: "0" }), jsx("stop", { offset: "20%", stopColor: "#60a5fa", stopOpacity: "0.7" }), jsx("stop", { offset: "70%", stopColor: "#a78bfa", stopOpacity: "0.55" }), jsx("stop", { offset: "100%", stopColor: "#a78bfa", stopOpacity: "0" })] })] }), jsx("circle", { cx: "60", cy: "60", r: "50", fill: `url(#${neptuneBodyId})` }), jsxs("g", { fill: "none", stroke: `url(#${neptuneBandId})`, strokeWidth: "2.2", opacity: "0.65", children: [jsx("path", { d: "M 22 54 Q 60 44 98 54" }), jsx("path", { d: "M 18 70 Q 60 60 102 70" }), jsx("path", { d: "M 26 86 Q 60 80 94 86" })] }), jsx("ellipse", { cx: "60", cy: "60", rx: "56", ry: "10", fill: "none", stroke: "#a5b4fc", strokeWidth: "1.6", opacity: "0.35" })] }));
9719
+ }
9720
+
9721
+ function PlanetBlackHole({ id }) {
9722
+ const blackHoleCoreId = `cosmic-black-hole-core-${id}`;
9723
+ const blackHoleRingId = `cosmic-black-hole-ring-${id}`;
9724
+ return (jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--black-hole", viewBox: "0 0 120 120", children: [jsxs("defs", { children: [jsxs("radialGradient", { id: blackHoleCoreId, cx: "50%", cy: "50%", children: [jsx("stop", { offset: "0%", stopColor: "#05050a" }), jsx("stop", { offset: "35%", stopColor: "#000000" }), jsx("stop", { offset: "70%", stopColor: "#09091f" }), jsx("stop", { offset: "100%", stopColor: "#000000" })] }), jsxs("linearGradient", { id: blackHoleRingId, x1: "0", y1: "0", x2: "1", y2: "1", children: [jsx("stop", { offset: "0%", stopColor: "#a78bfa", stopOpacity: "0.0" }), jsx("stop", { offset: "25%", stopColor: "#a78bfa", stopOpacity: "0.55" }), jsx("stop", { offset: "60%", stopColor: "#22d3ee", stopOpacity: "0.42" }), jsx("stop", { offset: "100%", stopColor: "#22d3ee", stopOpacity: "0.0" })] })] }), jsx("circle", { cx: "60", cy: "60", r: "38", fill: `url(#${blackHoleCoreId})` }), jsx("circle", { cx: "60", cy: "60", r: "52", fill: "none", stroke: `url(#${blackHoleRingId})`, strokeWidth: "3", opacity: "0.48" }), jsx("circle", { cx: "60", cy: "60", r: "60", fill: "none", stroke: "#22d3ee", strokeWidth: "1.6", opacity: "0.18" }), jsx("path", { d: "M 30 62 Q 60 40 90 62 Q 60 84 30 62 Z", fill: "none", stroke: "#a78bfa", strokeWidth: "2", opacity: "0.22" }), jsx("circle", { cx: "60", cy: "60", r: "6", fill: "#ffffff", opacity: "0.55" })] }));
9725
+ }
9726
+
9727
+ const ORIGIN$2 = {
9728
+ transformOrigin: '50% 50%',
9729
+ transformBox: 'fill-box',
9730
+ };
9731
+ function PlanetSun({ id }) {
9732
+ const reduceMotion = useReducedMotion();
9733
+ const sunBodyId = `cosmic-sun-body-${id}`;
9734
+ const sunCoronaId = `cosmic-sun-corona-${id}`;
9735
+ return (jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--sun", viewBox: "0 0 140 140", children: [jsxs("defs", { children: [jsxs("radialGradient", { id: sunBodyId, cx: "42%", cy: "38%", children: [jsx("stop", { offset: "0%", stopColor: "#fffbeb" }), jsx("stop", { offset: "30%", stopColor: "#fde68a" }), jsx("stop", { offset: "60%", stopColor: "#f59e0b" }), jsx("stop", { offset: "90%", stopColor: "#ea580c" }), jsx("stop", { offset: "100%", stopColor: "#7c2d12" })] }), jsxs("radialGradient", { id: sunCoronaId, cx: "50%", cy: "50%", children: [jsx("stop", { offset: "0%", stopColor: "#fde68a", stopOpacity: "0.55" }), jsx("stop", { offset: "55%", stopColor: "#fbbf24", stopOpacity: "0.18" }), jsx("stop", { offset: "100%", stopColor: "#fbbf24", stopOpacity: "0" })] })] }), jsx("circle", { cx: "70", cy: "70", r: "62", fill: `url(#${sunCoronaId})` }), jsx(motion.g, { style: ORIGIN$2, animate: reduceMotion ? { rotate: 0 } : { rotate: 360 }, transition: reduceMotion
9736
+ ? { duration: 0 }
9737
+ : { duration: 130, repeat: Infinity, ease: 'linear' }, stroke: "#fcd34d", strokeWidth: "2.4", strokeLinecap: "round", opacity: "0.7", children: Array.from({ length: 12 }).map((_, i) => {
9738
+ const angle = (i / 12) * Math.PI * 2;
9739
+ const x1 = 70 + Math.cos(angle) * 46;
9740
+ const y1 = 70 + Math.sin(angle) * 46;
9741
+ const x2 = 70 + Math.cos(angle) * 58;
9742
+ const y2 = 70 + Math.sin(angle) * 58;
9743
+ return jsx("line", { x1: x1, y1: y1, x2: x2, y2: y2 }, i);
9744
+ }) }), jsx("circle", { cx: "70", cy: "70", r: "36", fill: `url(#${sunBodyId})` }), jsx("ellipse", { cx: "58", cy: "58", rx: "13", ry: "8", fill: "#fef3c7", opacity: "0.5" })] }));
9745
+ }
9746
+
9747
+ function PlanetMoon({ id }) {
9748
+ const moonBodyId = `cosmic-moon-body-${id}`;
9749
+ const moonShadowId = `cosmic-moon-shadow-${id}`;
9750
+ return (jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--moon", viewBox: "0 0 120 120", children: [jsxs("defs", { children: [jsxs("radialGradient", { id: moonBodyId, cx: "34%", cy: "30%", children: [jsx("stop", { offset: "0%", stopColor: "#f8fafc" }), jsx("stop", { offset: "35%", stopColor: "#e2e8f0" }), jsx("stop", { offset: "75%", stopColor: "#94a3b8" }), jsx("stop", { offset: "100%", stopColor: "#1e293b" })] }), jsxs("radialGradient", { id: moonShadowId, cx: "78%", cy: "58%", children: [jsx("stop", { offset: "0%", stopColor: "#0f172a", stopOpacity: "0" }), jsx("stop", { offset: "60%", stopColor: "#0f172a", stopOpacity: "0.32" }), jsx("stop", { offset: "100%", stopColor: "#020617", stopOpacity: "0.55" })] })] }), jsx("circle", { cx: "60", cy: "60", r: "48", fill: `url(#${moonBodyId})` }), jsxs("g", { fill: "#475569", opacity: "0.55", children: [jsx("ellipse", { cx: "44", cy: "48", rx: "6", ry: "4.5" }), jsx("ellipse", { cx: "72", cy: "44", rx: "4", ry: "3" }), jsx("ellipse", { cx: "56", cy: "76", rx: "7.5", ry: "5" }), jsx("ellipse", { cx: "80", cy: "72", rx: "3.5", ry: "3" }), jsx("ellipse", { cx: "38", cy: "70", rx: "3", ry: "2.5" }), jsx("ellipse", { cx: "66", cy: "62", rx: "2.2", ry: "1.6" })] }), jsxs("g", { fill: "#cbd5e1", opacity: "0.32", children: [jsx("ellipse", { cx: "44", cy: "46", rx: "6", ry: "1.2" }), jsx("ellipse", { cx: "56", cy: "74", rx: "7.5", ry: "1.4" }), jsx("ellipse", { cx: "72", cy: "43", rx: "4", ry: "0.9" })] }), jsx("circle", { cx: "60", cy: "60", r: "48", fill: `url(#${moonShadowId})` }), jsx("ellipse", { cx: "44", cy: "42", rx: "14", ry: "8", fill: "#ffffff", opacity: "0.16" })] }));
9751
+ }
9752
+
9753
+ const ORIGIN$1 = {
9754
+ transformOrigin: '50% 50%',
9755
+ transformBox: 'fill-box',
9756
+ };
9757
+ function PlanetSatellite({ id }) {
9758
+ const reduceMotion = useReducedMotion();
9759
+ const satelliteBodyId = `cosmic-satellite-body-${id}`;
9760
+ const satellitePanelId = `cosmic-satellite-panel-${id}`;
9761
+ return (jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--satellite", viewBox: "0 0 160 100", children: [jsxs("defs", { children: [jsxs("linearGradient", { id: satelliteBodyId, x1: "0", y1: "0", x2: "1", y2: "1", children: [jsx("stop", { offset: "0%", stopColor: "#e2e8f0" }), jsx("stop", { offset: "50%", stopColor: "#94a3b8" }), jsx("stop", { offset: "100%", stopColor: "#334155" })] }), jsxs("linearGradient", { id: satellitePanelId, x1: "0", y1: "0", x2: "0", y2: "1", children: [jsx("stop", { offset: "0%", stopColor: "#1d4ed8" }), jsx("stop", { offset: "55%", stopColor: "#1e3a8a" }), jsx("stop", { offset: "100%", stopColor: "#0b1226" })] })] }), jsxs(motion.g, { style: ORIGIN$1, animate: reduceMotion ? { rotate: 0 } : { rotate: [-4, 4, -4] }, transition: reduceMotion
9762
+ ? { duration: 0 }
9763
+ : { duration: 9, repeat: Infinity, ease: 'easeInOut' }, children: [jsx("g", { fill: `url(#${satellitePanelId})`, stroke: "#0f172a", strokeWidth: "0.8", children: jsx("rect", { x: "6", y: "40", width: "46", height: "20", rx: "1.5" }) }), jsxs("g", { stroke: "#38bdf8", strokeWidth: "0.5", opacity: "0.55", children: [jsx("line", { x1: "18", y1: "40", x2: "18", y2: "60" }), jsx("line", { x1: "30", y1: "40", x2: "30", y2: "60" }), jsx("line", { x1: "42", y1: "40", x2: "42", y2: "60" }), jsx("line", { x1: "6", y1: "50", x2: "52", y2: "50" })] }), jsx("rect", { x: "52", y: "48", width: "10", height: "4", fill: "#475569" }), jsx("g", { fill: `url(#${satellitePanelId})`, stroke: "#0f172a", strokeWidth: "0.8", children: jsx("rect", { x: "108", y: "40", width: "46", height: "20", rx: "1.5" }) }), jsxs("g", { stroke: "#38bdf8", strokeWidth: "0.5", opacity: "0.55", children: [jsx("line", { x1: "120", y1: "40", x2: "120", y2: "60" }), jsx("line", { x1: "132", y1: "40", x2: "132", y2: "60" }), jsx("line", { x1: "144", y1: "40", x2: "144", y2: "60" }), jsx("line", { x1: "108", y1: "50", x2: "154", y2: "50" })] }), jsx("rect", { x: "98", y: "48", width: "10", height: "4", fill: "#475569" }), jsx("rect", { x: "62", y: "36", width: "36", height: "28", rx: "3", fill: `url(#${satelliteBodyId})`, stroke: "#1e293b", strokeWidth: "1" }), jsx("rect", { x: "68", y: "42", width: "10", height: "6", rx: "1", fill: "#22d3ee", opacity: "0.9" }), jsx("rect", { x: "82", y: "42", width: "10", height: "6", rx: "1", fill: "#0ea5e9", opacity: "0.65" }), jsx("line", { x1: "80", y1: "36", x2: "80", y2: "18", stroke: "#475569", strokeWidth: "1.5" }), jsx("path", { d: "M 70 22 Q 80 8 90 22 Z", fill: "#cbd5e1", stroke: "#1e293b", strokeWidth: "0.8" }), jsx("ellipse", { cx: "80", cy: "22", rx: "10", ry: "2.5", fill: "#475569" }), jsx("circle", { cx: "80", cy: "15", r: "1.6", fill: "#fb923c" }), jsx("line", { x1: "92", y1: "38", x2: "100", y2: "30", stroke: "#475569", strokeWidth: "1.2" }), jsx("circle", { cx: "100", cy: "30", r: "1.6", fill: "#22d3ee" }), jsx("circle", { cx: "92", cy: "56", r: "1.6", fill: "#22c55e" })] })] }));
9764
+ }
9765
+
9766
+ const ORIGIN = {
9767
+ transformOrigin: '50% 50%',
9768
+ transformBox: 'fill-box',
9769
+ };
9770
+ function PlanetAstronaut({ id }) {
9771
+ const reduceMotion = useReducedMotion();
9772
+ const astronautSuitId = `cosmic-astronaut-suit-${id}`;
9773
+ const astronautVisorId = `cosmic-astronaut-visor-${id}`;
9774
+ return (jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--astronaut", viewBox: "0 0 110 140", children: [jsxs("defs", { children: [jsxs("radialGradient", { id: astronautSuitId, cx: "40%", cy: "35%", children: [jsx("stop", { offset: "0%", stopColor: "#ffffff" }), jsx("stop", { offset: "55%", stopColor: "#e2e8f0" }), jsx("stop", { offset: "100%", stopColor: "#475569" })] }), jsxs("radialGradient", { id: astronautVisorId, cx: "32%", cy: "28%", children: [jsx("stop", { offset: "0%", stopColor: "#bae6fd" }), jsx("stop", { offset: "40%", stopColor: "#1e3a8a" }), jsx("stop", { offset: "100%", stopColor: "#0b1226" })] })] }), jsxs(motion.g, { style: ORIGIN, animate: reduceMotion ? { rotate: 0 } : { rotate: [-5, 5, -5] }, transition: reduceMotion
9775
+ ? { duration: 0 }
9776
+ : { duration: 8, repeat: Infinity, ease: 'easeInOut' }, children: [jsx("rect", { x: "34", y: "56", width: "42", height: "42", rx: "6", fill: "#475569", stroke: "#0f172a", strokeWidth: "0.8" }), jsx("rect", { x: "40", y: "62", width: "30", height: "3", rx: "1", fill: "#1e293b" }), jsx("rect", { x: "40", y: "70", width: "30", height: "3", rx: "1", fill: "#1e293b" }), jsx("rect", { x: "40", y: "78", width: "30", height: "3", rx: "1", fill: "#1e293b" }), jsx("path", { d: "M 32 56 Q 32 50 40 48 H 70 Q 78 50 78 56 V 100 Q 78 108 72 108 H 38 Q 32 108 32 100 Z", fill: `url(#${astronautSuitId})`, stroke: "#0f172a", strokeWidth: "0.8" }), jsx("path", { d: "M 32 60 Q 18 64 14 82 Q 14 90 22 92 L 30 86 V 70 Z", fill: `url(#${astronautSuitId})`, stroke: "#0f172a", strokeWidth: "0.8" }), jsx("path", { d: "M 78 60 Q 92 64 96 82 Q 96 90 88 92 L 80 86 V 70 Z", fill: `url(#${astronautSuitId})`, stroke: "#0f172a", strokeWidth: "0.8" }), jsx("ellipse", { cx: "20", cy: "92", rx: "6", ry: "3", fill: "#1e293b" }), jsx("ellipse", { cx: "90", cy: "92", rx: "6", ry: "3", fill: "#1e293b" }), jsx("path", { d: "M 38 106 Q 36 124 44 132 Q 52 132 52 124 V 106 Z", fill: `url(#${astronautSuitId})`, stroke: "#0f172a", strokeWidth: "0.8" }), jsx("path", { d: "M 58 106 V 124 Q 58 132 66 132 Q 74 124 72 106 Z", fill: `url(#${astronautSuitId})`, stroke: "#0f172a", strokeWidth: "0.8" }), jsx("ellipse", { cx: "48", cy: "132", rx: "7", ry: "3", fill: "#1e293b" }), jsx("ellipse", { cx: "66", cy: "132", rx: "7", ry: "3", fill: "#1e293b" }), jsx("rect", { x: "44", y: "68", width: "22", height: "14", rx: "2", fill: "#cbd5e1", stroke: "#0f172a", strokeWidth: "0.6" }), jsx("circle", { cx: "50", cy: "75", r: "1.6", fill: "#22c55e" }), jsx("circle", { cx: "55", cy: "75", r: "1.6", fill: "#fb923c" }), jsx("circle", { cx: "60", cy: "75", r: "1.6", fill: "#22d3ee" }), jsx("circle", { cx: "55", cy: "36", r: "22", fill: "#f8fafc", stroke: "#1e293b", strokeWidth: "1" }), jsx("circle", { cx: "55", cy: "36", r: "17", fill: `url(#${astronautVisorId})` }), jsx("path", { d: "M 44 26 Q 50 22 60 24", stroke: "#ffffff", strokeWidth: "2", strokeLinecap: "round", opacity: "0.7", fill: "none" }), jsx("ellipse", { cx: "48", cy: "30", rx: "3", ry: "1.5", fill: "#ffffff", opacity: "0.55" })] })] }));
9777
+ }
9778
+
9779
+ const ALL_PLANETS = [
9780
+ 'saturn',
9781
+ 'giant',
9782
+ 'earth',
9783
+ 'neptune',
9784
+ 'black-hole',
9785
+ 'sun',
9786
+ 'moon',
9787
+ 'satellite',
9788
+ 'astronaut',
9789
+ ];
9790
+ const SPARKLE_PATH = 'M 6 0 L 7 5 L 12 6 L 7 7 L 6 12 L 5 7 L 0 6 L 5 5 Z';
9791
+ function CosmicDecor({ planets, showSparkles = true, decorVariant = 'page', }) {
9792
+ const rawId = useId();
9793
+ const id = rawId.replace(/:/g, '');
9794
+ const effectivePlanets = planets ?? ALL_PLANETS;
9795
+ const planetSet = new Set(effectivePlanets);
9796
+ const rootClassName = decorVariant === 'page'
9797
+ ? 'cosmic-decor cosmic-decor--page'
9798
+ : 'cosmic-decor cosmic-decor--session';
9799
+ return (jsxs("div", { className: rootClassName, "aria-hidden": true, children: [planetSet.has('saturn') && jsx(PlanetSaturn, { id: id }), planetSet.has('giant') && jsx(PlanetGiant, { id: id }), planetSet.has('earth') && jsx(PlanetEarth, { id: id }), planetSet.has('neptune') && jsx(PlanetNeptune, { id: id }), planetSet.has('black-hole') && jsx(PlanetBlackHole, { id: id }), planetSet.has('sun') && jsx(PlanetSun, { id: id }), planetSet.has('moon') && jsx(PlanetMoon, { id: id }), planetSet.has('satellite') && jsx(PlanetSatellite, { id: id }), planetSet.has('astronaut') && jsx(PlanetAstronaut, { id: id }), showSparkles && (jsxs(Fragment, { children: [jsx("svg", { className: "cosmic-decor__sparkle cosmic-decor__sparkle--1", viewBox: "0 0 12 12", children: jsx("path", { d: SPARKLE_PATH, fill: "#fcd34d" }) }), jsx("svg", { className: "cosmic-decor__sparkle cosmic-decor__sparkle--2", viewBox: "0 0 12 12", children: jsx("path", { d: SPARKLE_PATH, fill: "#ffffff" }) }), jsx("svg", { className: "cosmic-decor__sparkle cosmic-decor__sparkle--3", viewBox: "0 0 12 12", children: jsx("path", { d: SPARKLE_PATH, fill: "#fcd34d" }) }), jsx("svg", { className: "cosmic-decor__sparkle cosmic-decor__sparkle--4", viewBox: "0 0 12 12", children: jsx("path", { d: SPARKLE_PATH, fill: "#ffffff" }) })] }))] }));
9800
+ }
9801
+
9802
+ function randomStar(w, h) {
9803
+ const roll = Math.random();
9804
+ let hue;
9805
+ let sat;
9806
+ let light;
9807
+ if (roll > 0.85) {
9808
+ hue = Math.random() * 60 + 200;
9809
+ sat = 80;
9810
+ light = 80;
9811
+ }
9812
+ else if (Math.random() > 0.9) {
9813
+ hue = Math.random() * 40 + 10;
9814
+ sat = 70;
9815
+ light = 80;
9816
+ }
9817
+ else {
9818
+ hue = 0;
9819
+ sat = 0;
9820
+ light = 100;
9821
+ }
9822
+ return {
9823
+ x: Math.random() * w,
9824
+ y: Math.random() * h,
9825
+ r: Math.random() * 1.5 + 0.3,
9826
+ alpha: Math.random() * 0.7 + 0.1,
9827
+ twinkleSpeed: Math.random() * 0.02 + 0.005,
9828
+ twinklePhase: Math.random() * Math.PI * 2,
9829
+ hue,
9830
+ sat,
9831
+ light,
9832
+ };
9833
+ }
9834
+ function generateStars(w, h) {
9835
+ const count = Math.max(40, Math.floor((w * h) / 2500));
9836
+ return Array.from({ length: count }, () => randomStar(w, h));
9837
+ }
9838
+ const CANVAS_STYLE = {
9839
+ position: 'absolute',
9840
+ inset: 0,
9841
+ display: 'block',
9842
+ width: '100%',
9843
+ height: '100%',
9844
+ zIndex: 0,
9845
+ };
9846
+ function CosmicStarsCanvas({ containerRef }) {
9847
+ const canvasRef = useRef(null);
9848
+ const starsRef = useRef([]);
9849
+ const shootingRef = useRef([]);
9850
+ const timeRef = useRef(0);
9851
+ const rafRef = useRef(0);
9852
+ useEffect(() => {
9853
+ const canvas = canvasRef.current;
9854
+ const container = containerRef.current;
9855
+ if (!canvas || !container)
9856
+ return;
9857
+ const ctx = canvas.getContext('2d');
9858
+ if (!ctx)
9859
+ return;
9860
+ const reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
9861
+ const drawStars = (w, h, t, staticFlicker) => {
9862
+ ctx.clearRect(0, 0, w, h);
9863
+ const stars = starsRef.current;
9864
+ for (const s of stars) {
9865
+ const flicker = staticFlicker
9866
+ ? 0.85
9867
+ : Math.sin(t * s.twinkleSpeed * 60 + s.twinklePhase) * 0.3 + 0.7;
9868
+ const a = s.alpha * flicker;
9869
+ ctx.beginPath();
9870
+ ctx.arc(s.x, s.y, s.r, 0, Math.PI * 2);
9871
+ ctx.fillStyle = `hsla(${s.hue}, ${s.sat}%, ${s.light}%, ${a.toFixed(3)})`;
9872
+ ctx.fill();
9873
+ if (s.r > 1 && !staticFlicker) {
9874
+ ctx.beginPath();
9875
+ ctx.arc(s.x, s.y, s.r * 3, 0, Math.PI * 2);
9876
+ ctx.fillStyle = `hsla(${s.hue}, ${s.sat}%, ${s.light}%, ${(a * 0.1).toFixed(3)})`;
9877
+ ctx.fill();
9878
+ }
9879
+ }
9880
+ };
9881
+ const resize = () => {
9882
+ const w = container.clientWidth;
9883
+ const h = container.clientHeight;
9884
+ const dpr = Math.min(window.devicePixelRatio ?? 1, 2);
9885
+ canvas.width = Math.floor(w * dpr);
9886
+ canvas.height = Math.floor(h * dpr);
9887
+ canvas.style.width = `${w}px`;
9888
+ canvas.style.height = `${h}px`;
9889
+ ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
9890
+ starsRef.current = generateStars(w, h);
9891
+ if (reduced) {
9892
+ drawStars(w, h, 0, true);
9893
+ }
9894
+ };
9895
+ resize();
9896
+ const ro = new ResizeObserver(resize);
9897
+ ro.observe(container);
9898
+ if (reduced) {
9899
+ return () => {
9900
+ ro.disconnect();
9901
+ };
9902
+ }
9903
+ const spawnShooting = () => {
9904
+ if (shootingRef.current.length > 2)
9905
+ return;
9906
+ const w = container.clientWidth;
9907
+ const h = container.clientHeight;
9908
+ shootingRef.current.push({
9909
+ x: Math.random() * w,
9910
+ y: Math.random() * h * 0.5,
9911
+ vx: (Math.random() * 4 + 3) * (Math.random() > 0.5 ? 1 : -1),
9912
+ vy: Math.random() * 2 + 1.5,
9913
+ life: 1,
9914
+ decay: Math.random() * 0.015 + 0.008,
9915
+ len: Math.random() * 40 + 20,
9916
+ });
9917
+ };
9918
+ let last = performance.now();
9919
+ const tick = (now) => {
9920
+ const w = container.clientWidth;
9921
+ const h = container.clientHeight;
9922
+ const dt = Math.min(0.05, (now - last) / 1000);
9923
+ last = now;
9924
+ timeRef.current += dt;
9925
+ drawStars(w, h, timeRef.current, false);
9926
+ const ssList = shootingRef.current;
9927
+ for (let i = ssList.length - 1; i >= 0; i--) {
9928
+ const ss = ssList[i];
9929
+ ss.x += ss.vx;
9930
+ ss.y += ss.vy;
9931
+ ss.life -= ss.decay;
9932
+ if (ss.life <= 0) {
9933
+ ssList.splice(i, 1);
9934
+ continue;
9935
+ }
9936
+ const gradient = ctx.createLinearGradient(ss.x, ss.y, ss.x - (ss.vx * ss.len) / 4, ss.y - (ss.vy * ss.len) / 4);
9937
+ gradient.addColorStop(0, `rgba(255,255,255,${ss.life})`);
9938
+ gradient.addColorStop(1, 'rgba(255,255,255,0)');
9939
+ ctx.strokeStyle = gradient;
9940
+ ctx.lineWidth = 1.5;
9941
+ ctx.beginPath();
9942
+ ctx.moveTo(ss.x, ss.y);
9943
+ ctx.lineTo(ss.x - (ss.vx * ss.len) / 4, ss.y - (ss.vy * ss.len) / 4);
9944
+ ctx.stroke();
9945
+ ctx.beginPath();
9946
+ ctx.arc(ss.x, ss.y, 2, 0, Math.PI * 2);
9947
+ ctx.fillStyle = `rgba(255,255,255,${ss.life})`;
9948
+ ctx.fill();
9949
+ }
9950
+ if (Math.random() < 0.003)
9951
+ spawnShooting();
9952
+ rafRef.current = requestAnimationFrame(tick);
9953
+ };
9954
+ rafRef.current = requestAnimationFrame(tick);
9955
+ return () => {
9956
+ ro.disconnect();
9957
+ cancelAnimationFrame(rafRef.current);
9958
+ };
9959
+ }, [containerRef]);
9960
+ return jsx("canvas", { ref: canvasRef, style: CANVAS_STYLE, "aria-hidden": true });
9961
+ }
9962
+
9963
+ var css_248z$2 = ".journey-step,.journey-step__badge{align-items:center;display:inline-flex;justify-content:center;position:relative}.journey-step__svg{display:block;overflow:visible}.journey-step__interactive{align-items:center;background:transparent;border:0;cursor:pointer;display:inline-flex;height:100%;justify-content:center;padding:0;position:relative;transition:transform .18s ease;width:100%}.journey-step__interactive:hover:not([aria-disabled=true]):not(:disabled){transform:translateY(-2px)}.journey-step__interactive:disabled,.journey-step__interactive[aria-disabled=true]{cursor:not-allowed;pointer-events:none}.journey-step__icon{align-items:center;color:#fff;display:inline-flex;filter:drop-shadow(0 2px 4px rgba(0,0,0,.55)) drop-shadow(0 1px 2px rgba(0,0,0,.3));justify-content:center;left:50%;pointer-events:none;position:absolute;transform:translate(-50%,-50%);z-index:2}.journey-step__icon>.anticon,.journey-step__icon>.anticon>svg,.journey-step__icon>svg{font-size:inherit;height:100%;width:100%}.journey-step__icon.is-locked{color:#cbd5e1;filter:none}.journey-step.is-locked{opacity:.65}.journey-step.is-inactive-state .journey-step__svg{filter:saturate(.35) brightness(.85)}.journey-step.is-active .journey-step__interactive:hover:not(:disabled) .journey-step__svg{filter:brightness(1.06) drop-shadow(0 0 8px rgba(255,255,255,.18))}";
9964
+ styleInject(css_248z$2,{"insertAt":"top"});
9965
+
9966
+ function buildWavyCirclePath(cx, cy, radius, amplitude, waves) {
9967
+ const steps = waves * 8;
9968
+ let d = '';
9969
+ for (let i = 0; i <= steps; i += 1) {
9970
+ const t = (i / steps) * Math.PI * 2;
9971
+ const r = radius + Math.sin(t * waves) * amplitude;
9972
+ const x = cx + Math.cos(t) * r;
9973
+ const y = cy + Math.sin(t) * r;
9974
+ d += i === 0 ? `M ${x.toFixed(2)} ${y.toFixed(2)} ` : `L ${x.toFixed(2)} ${y.toFixed(2)} `;
9975
+ }
9976
+ return `${d}Z`;
9977
+ }
9978
+ const circleLaurelFrame = {
9979
+ kind: 'circleLaurel',
9980
+ layout(scale) {
9981
+ const bodyPx = 110 * scale;
9982
+ const ornamentPadX = 18 * scale;
9983
+ const ornamentPadY = 12 * scale;
9984
+ const width = bodyPx + ornamentPadX * 2;
9985
+ const height = bodyPx * 1.073 + ornamentPadY * 2;
9986
+ const cardW = bodyPx * 0.58;
9987
+ const cardH = bodyPx * 0.58;
9988
+ return {
9989
+ width,
9990
+ height,
9991
+ bodyCenterX: width / 2,
9992
+ bodyCenterY: height / 2,
9993
+ iconCenterX: width / 2,
9994
+ iconCenterY: height / 2,
9995
+ iconWidth: cardW * 0.7,
9996
+ iconHeight: cardH * 0.7,
9997
+ };
9998
+ },
9999
+ render({ theme, scale, layout, progress }) {
10000
+ const bodyPx = 110 * scale;
10001
+ const cx = layout.width / 2;
10002
+ const cy = layout.height / 2;
10003
+ const outerR = bodyPx * 0.44;
10004
+ const midR = outerR * 0.88;
10005
+ const innerR = outerR * 0.77;
10006
+ const cardR = outerR * 0.56;
10007
+ const shineR = cardR * 0.74;
10008
+ const outerWavyPath = buildWavyCirclePath(cx, cy, outerR, 1.8 * scale, 14);
10009
+ const midWavyPath = buildWavyCirclePath(cx, cy, midR, 1.4 * scale, 14);
10010
+ const innerWavyPath = buildWavyCirclePath(cx, cy, innerR, 1.0 * scale, 14);
10011
+ return (jsxs("svg", { className: "journey-step__svg", width: layout.width, height: layout.height, viewBox: `0 0 ${layout.width} ${layout.height}`, xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", focusable: "false", overflow: "visible", children: [jsx("ellipse", { cx: cx, cy: cy + 4 * scale, rx: outerR, ry: outerR, fill: theme.shadow, opacity: 0.5 }), jsx("path", { d: outerWavyPath, fill: theme.outer }), jsx("path", { d: outerWavyPath, fill: "none", stroke: theme.outerStroke, strokeWidth: 2.5 * scale, opacity: 0.65 }), jsx("circle", { cx: cx, cy: cy, r: midR, fill: theme.mid }), jsx("circle", { cx: cx, cy: cy, r: innerR, fill: theme.inner }), jsx("circle", { cx: cx, cy: cy, r: innerR * 0.88, fill: "none", stroke: theme.innerStroke, strokeWidth: scale, opacity: 0.55 }), progress !== undefined && (jsxs(Fragment, { children: [jsx("path", { d: midWavyPath, fill: "none", stroke: theme.shadow, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", opacity: 0.55, pathLength: 1000 }), jsx("path", { d: innerWavyPath, fill: "none", stroke: theme.outerStroke, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", pathLength: 1000, strokeDasharray: 1000, strokeDashoffset: 1000 * (1 - progress / 100) })] })), jsx("circle", { cx: cx, cy: cy, r: cardR, fill: theme.card }), jsx("path", { d: [
10012
+ `M ${cx - shineR * 0.75} ${cy - shineR * 0.7}`,
10013
+ `A ${shineR} ${shineR * 0.8} 0 0 1 ${cx + shineR * 0.75} ${cy - shineR * 0.7}`,
10014
+ `L ${cx + shineR * 0.55} ${cy - shineR * 0.2}`,
10015
+ `A ${shineR * 0.72} ${shineR * 0.58} 0 0 0 ${cx - shineR * 0.55} ${cy - shineR * 0.2}`,
10016
+ 'Z',
10017
+ ].join(' '), fill: theme.cardShine, opacity: 0.55 })] }));
10018
+ },
10019
+ };
10020
+
10021
+ const THEMES = {
10022
+ blue: {
10023
+ shadow: '#0A1F4A',
10024
+ outer: '#1A3A8A',
10025
+ outerStroke: '#4A80D8',
10026
+ mid: '#1E3F94',
10027
+ inner: '#1A3680',
10028
+ innerStroke: '#3A6AC8',
10029
+ card: '#D63EA0',
10030
+ cardShine: '#F07EC0',
10031
+ bookmark: '#A02878',
10032
+ },
10033
+ green: {
10034
+ shadow: '#062810',
10035
+ outer: '#0B4A1E',
10036
+ outerStroke: '#2AAA50',
10037
+ mid: '#0E5422',
10038
+ inner: '#0C4A1C',
10039
+ innerStroke: '#40C868',
10040
+ card: '#1AC84A',
10041
+ cardShine: '#70EE90',
10042
+ bookmark: '#0A8830',
10043
+ },
10044
+ purple: {
10045
+ shadow: '#1A0840',
10046
+ outer: '#2E1060',
10047
+ outerStroke: '#7A40E0',
10048
+ mid: '#341268',
10049
+ inner: '#2C1060',
10050
+ innerStroke: '#9A60F0',
10051
+ card: '#8030D8',
10052
+ cardShine: '#C080FF',
10053
+ bookmark: '#5010A0',
10054
+ },
10055
+ orange: {
10056
+ shadow: '#3A1400',
10057
+ outer: '#6A2800',
10058
+ outerStroke: '#E86010',
10059
+ mid: '#7A3000',
10060
+ inner: '#6A2800',
10061
+ innerStroke: '#F09040',
10062
+ card: '#E86010',
10063
+ cardShine: '#FFAA60',
10064
+ bookmark: '#A03800',
10065
+ },
10066
+ red: {
10067
+ shadow: '#3A0A0A',
10068
+ outer: '#7A1010',
10069
+ outerStroke: '#E03030',
10070
+ mid: '#8A1818',
10071
+ inner: '#701010',
10072
+ innerStroke: '#F06060',
10073
+ card: '#CC2020',
10074
+ cardShine: '#FF8080',
10075
+ bookmark: '#901010',
10076
+ },
10077
+ gold: {
10078
+ shadow: '#3A2800',
10079
+ outer: '#7A5000',
10080
+ outerStroke: '#E8C020',
10081
+ mid: '#8A5C00',
10082
+ inner: '#704800',
10083
+ innerStroke: '#F0D840',
10084
+ card: '#C89000',
10085
+ cardShine: '#FFE060',
10086
+ bookmark: '#906800',
10087
+ },
10088
+ };
10089
+ const STEP_TYPE_TO_THEME = {
10090
+ challenge: 'green',
10091
+ course: 'purple',
10092
+ tutorial: 'blue',
10093
+ publication: 'orange',
10094
+ evaluation: 'gold',
10095
+ certificate: 'green',
10096
+ };
10097
+ const STEP_TYPE_TO_FRAME = {
10098
+ challenge: 'pentagon',
10099
+ course: 'hexagonWings',
10100
+ tutorial: 'circleLaurel',
10101
+ publication: 'hexagonRibbon',
10102
+ evaluation: 'shieldWings',
10103
+ certificate: 'pentagonCrown',
10104
+ };
10105
+ const INACTIVE_THEME = {
10106
+ shadow: '#0a0a0a',
10107
+ outer: '#2a2f3a',
10108
+ outerStroke: '#4a5160',
10109
+ mid: '#2f3441',
10110
+ inner: '#262b36',
10111
+ innerStroke: '#535a6c',
10112
+ card: '#3f4a5e',
10113
+ cardShine: '#5b6577',
10114
+ bookmark: '#2a3142',
10115
+ };
10116
+ function hexToRgb(hex) {
10117
+ if (!hex)
10118
+ return null;
10119
+ const normalized = hex.replace('#', '').trim();
10120
+ const expanded = normalized.length === 3
10121
+ ? normalized
10122
+ .split('')
10123
+ .map((c) => c + c)
10124
+ .join('')
10125
+ : normalized;
10126
+ if (!/^[0-9a-fA-F]{6}$/.test(expanded))
10127
+ return null;
10128
+ const int = Number.parseInt(expanded, 16);
10129
+ return { r: (int >> 16) & 255, g: (int >> 8) & 255, b: int & 255 };
10130
+ }
10131
+ function rgbToHsl(r, g, b) {
10132
+ const rn = r / 255;
10133
+ const gn = g / 255;
10134
+ const bn = b / 255;
10135
+ const max = Math.max(rn, gn, bn);
10136
+ const min = Math.min(rn, gn, bn);
10137
+ const l = (max + min) / 2;
10138
+ let h = 0;
10139
+ let s = 0;
10140
+ if (max !== min) {
10141
+ const d = max - min;
10142
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
10143
+ switch (max) {
10144
+ case rn:
10145
+ h = (gn - bn) / d + (gn < bn ? 6 : 0);
10146
+ break;
10147
+ case gn:
10148
+ h = (bn - rn) / d + 2;
10149
+ break;
10150
+ default:
10151
+ h = (rn - gn) / d + 4;
10152
+ break;
10153
+ }
10154
+ h /= 6;
10155
+ }
10156
+ return { h: h * 360, s: s * 100, l: l * 100 };
10157
+ }
10158
+ function hsl(h, s, l) {
10159
+ const clamp = (v) => Math.max(0, Math.min(100, v));
10160
+ return `hsl(${h.toFixed(2)} ${clamp(s).toFixed(2)}% ${clamp(l).toFixed(2)}%)`;
10161
+ }
10162
+ function buildThemeFromColor(color) {
10163
+ const rgb = hexToRgb(color);
10164
+ if (!rgb)
10165
+ return THEMES.blue;
10166
+ const { h, s, l } = rgbToHsl(rgb.r, rgb.g, rgb.b);
10167
+ return {
10168
+ shadow: hsl(h, s, Math.max(8, l - 40)),
10169
+ outer: hsl(h, s, Math.max(14, l - 28)),
10170
+ outerStroke: hsl(h, s, Math.min(72, l + 8)),
10171
+ mid: hsl(h, s, Math.max(18, l - 22)),
10172
+ inner: hsl(h, s, Math.max(14, l - 28)),
10173
+ innerStroke: hsl(h, s, Math.min(80, l + 18)),
10174
+ card: hsl(h, s, l),
10175
+ cardShine: hsl(h, s, Math.min(88, l + 24)),
10176
+ bookmark: hsl(h, s, Math.max(20, l - 16)),
10177
+ };
10178
+ }
10179
+ function polygonPoints(cx, cy, radius, sides, rotationDeg = 0) {
10180
+ const rotationRad = (rotationDeg * Math.PI) / 180;
10181
+ const points = [];
10182
+ for (let i = 0; i < sides; i += 1) {
10183
+ const angle = rotationRad + (Math.PI * 2 * i) / sides;
10184
+ points.push([cx + Math.cos(angle) * radius, cy + Math.sin(angle) * radius]);
10185
+ }
10186
+ return points;
10187
+ }
10188
+ function norm([x, y]) {
10189
+ const len = Math.sqrt(x * x + y * y) || 1;
10190
+ return [x / len, y / len];
10191
+ }
10192
+ function scalePts(pts, cx, cy, factor) {
10193
+ return pts.map(([x, y]) => [cx + (x - cx) * factor, cy + (y - cy) * factor]);
10194
+ }
10195
+ function roundedPolygonPath(pts, radius) {
10196
+ const n = pts.length;
10197
+ let d = '';
10198
+ for (let i = 0; i < n; i += 1) {
10199
+ const prev = pts[(i - 1 + n) % n];
10200
+ const curr = pts[i];
10201
+ const next = pts[(i + 1) % n];
10202
+ const v1 = norm([prev[0] - curr[0], prev[1] - curr[1]]);
10203
+ const v2 = norm([next[0] - curr[0], next[1] - curr[1]]);
10204
+ const p1 = [curr[0] + v1[0] * radius, curr[1] + v1[1] * radius];
10205
+ const p2 = [curr[0] + v2[0] * radius, curr[1] + v2[1] * radius];
10206
+ d +=
10207
+ i === 0
10208
+ ? `M ${p1[0].toFixed(2)},${p1[1].toFixed(2)} `
10209
+ : `L ${p1[0].toFixed(2)},${p1[1].toFixed(2)} `;
10210
+ d += `Q ${curr[0].toFixed(2)},${curr[1].toFixed(2)} ${p2[0].toFixed(2)},${p2[1].toFixed(2)} `;
10211
+ }
10212
+ return `${d}Z`;
10213
+ }
10214
+ function crownPath(cx, baseY, width, height) {
10215
+ const half = width / 2;
10216
+ const topY = baseY - height;
10217
+ return [
10218
+ `M ${cx - half} ${baseY}`,
10219
+ `L ${cx - half * 0.55} ${topY + height * 0.55}`,
10220
+ `L ${cx - half * 0.2} ${topY + height * 0.05}`,
10221
+ `L ${cx} ${topY + height * 0.48}`,
10222
+ `L ${cx + half * 0.2} ${topY}`,
10223
+ `L ${cx + half * 0.55} ${topY + height * 0.56}`,
10224
+ `L ${cx + half} ${baseY}`,
10225
+ 'Z',
10226
+ ].join(' ');
10227
+ }
10228
+
10229
+ const hexagonRibbonFrame = {
10230
+ kind: 'hexagonRibbon',
10231
+ layout(scale) {
10232
+ const bodyPx = 110 * scale;
10233
+ const ornamentPad = 14 * scale;
10234
+ const width = bodyPx;
10235
+ const height = bodyPx * 1.073 + ornamentPad * 2;
10236
+ const cardW = bodyPx * 0.6;
10237
+ const cardH = bodyPx * 0.46;
10238
+ return {
10239
+ width,
10240
+ height,
10241
+ bodyCenterX: width / 2,
10242
+ bodyCenterY: height / 2,
10243
+ iconCenterX: width / 2,
10244
+ iconCenterY: height / 2 - 3.8 * scale,
10245
+ iconWidth: cardW * 0.8,
10246
+ iconHeight: cardH * 0.8,
10247
+ };
10248
+ },
10249
+ render({ theme, scale, layout, progress }) {
10250
+ const bodyPx = 110 * scale;
10251
+ const cx = layout.width / 2;
10252
+ const cy = layout.height / 2 - 4 * scale;
10253
+ const radius = bodyPx * 0.44;
10254
+ const pts = polygonPoints(cx, cy, radius, 6, -90);
10255
+ const r = 7 * scale;
10256
+ const pathOuter = roundedPolygonPath(pts, r);
10257
+ const pathMid = roundedPolygonPath(scalePts(pts, cx, cy, 0.9), r * 0.9);
10258
+ const pathInner = roundedPolygonPath(scalePts(pts, cx, cy, 0.8), r * 0.8);
10259
+ const pathShadow = roundedPolygonPath(pts.map(([x, y]) => [x, y + 4 * scale]), r);
10260
+ const cardRadius = radius * 0.65;
10261
+ const cardCy = cy + scale * 0.2;
10262
+ const cardPts = polygonPoints(cx, cardCy, cardRadius, 6, -90);
10263
+ const cardPath = roundedPolygonPath(cardPts, 4 * scale);
10264
+ const [top, upperRight, , , , upperLeft] = cardPts;
10265
+ const lerp = (a, b, t) => a + (b - a) * t;
10266
+ const shineTopY = top[1] + scale * 1.4;
10267
+ const shineRightOuter = [
10268
+ lerp(top[0], upperRight[0], 0.9),
10269
+ lerp(top[1], upperRight[1], 0.9),
10270
+ ];
10271
+ const shineRightInner = [
10272
+ lerp(top[0], upperRight[0], 0.56),
10273
+ lerp(shineTopY, upperRight[1], 0.58),
10274
+ ];
10275
+ const shineLeftInner = [
10276
+ lerp(top[0], upperLeft[0], 0.56),
10277
+ lerp(shineTopY, upperLeft[1], 0.58),
10278
+ ];
10279
+ const shineLeftOuter = [
10280
+ lerp(top[0], upperLeft[0], 0.9),
10281
+ lerp(top[1], upperLeft[1], 0.9),
10282
+ ];
10283
+ const shinePath = [
10284
+ `M ${cx} ${shineTopY}`,
10285
+ `L ${shineRightOuter[0]} ${shineRightOuter[1]}`,
10286
+ `L ${shineRightInner[0]} ${shineRightInner[1]}`,
10287
+ `L ${shineLeftInner[0]} ${shineLeftInner[1]}`,
10288
+ `L ${shineLeftOuter[0]} ${shineLeftOuter[1]}`,
10289
+ 'Z',
10290
+ ].join(' ');
10291
+ return (jsxs("svg", { className: "journey-step__svg", width: layout.width, height: layout.height, viewBox: `0 0 ${layout.width} ${layout.height}`, xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", focusable: "false", overflow: "visible", children: [jsx("path", { d: pathShadow, fill: theme.shadow, opacity: 0.55 }), jsx("path", { d: pathOuter, fill: theme.outer }), jsx("path", { d: pathOuter, fill: "none", stroke: theme.outerStroke, strokeWidth: 2.5 * scale, opacity: 0.65 }), jsx("path", { d: pathMid, fill: theme.mid }), jsx("path", { d: pathInner, fill: theme.inner }), jsx("path", { d: roundedPolygonPath(scalePts(pts, cx, cy, 0.72), r * 0.72), fill: "none", stroke: theme.innerStroke, strokeWidth: scale, opacity: 0.55 }), progress !== undefined && (jsxs(Fragment, { children: [jsx("path", { d: pathMid, fill: "none", stroke: theme.shadow, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", opacity: 0.55, pathLength: 1000 }), jsx("path", { d: pathInner, fill: "none", stroke: theme.outerStroke, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", pathLength: 1000, strokeDasharray: 1000, strokeDashoffset: 1000 * (1 - progress / 100) })] })), jsx("path", { d: cardPath, fill: theme.card }), jsx("path", { d: shinePath, fill: theme.cardShine, opacity: 0.55 })] }));
10292
+ },
10293
+ };
10294
+
10295
+ const hexagonWingsFrame = {
10296
+ kind: 'hexagonWings',
10297
+ layout(scale) {
10298
+ const bodyPx = 110 * scale;
10299
+ const ornamentPad = 24 * scale;
10300
+ const width = bodyPx + ornamentPad * 2;
10301
+ const height = bodyPx * 1.073;
10302
+ const cardW = bodyPx * 0.6;
10303
+ const cardH = bodyPx * 0.46;
10304
+ return {
10305
+ width,
10306
+ height,
10307
+ bodyCenterX: width / 2,
10308
+ bodyCenterY: height / 2,
10309
+ iconCenterX: width / 2,
10310
+ iconCenterY: bodyPx * 0.55 + scale * 0.2,
10311
+ iconWidth: cardW * 0.7,
10312
+ iconHeight: cardH * 0.7,
10313
+ };
10314
+ },
10315
+ render({ theme, scale, layout, progress }) {
10316
+ const bodyPx = 110 * scale;
10317
+ const cx = layout.width / 2;
10318
+ const cy = bodyPx * 0.55;
10319
+ const radius = bodyPx * 0.45;
10320
+ const pts = polygonPoints(cx, cy, radius, 6, -30);
10321
+ const r = 7 * scale;
10322
+ const pathOuter = roundedPolygonPath(pts, r);
10323
+ const pathMid = roundedPolygonPath(scalePts(pts, cx, cy, 0.9), r * 0.9);
10324
+ const pathInner = roundedPolygonPath(scalePts(pts, cx, cy, 0.8), r * 0.8);
10325
+ const pathShadow = roundedPolygonPath(pts.map(([x, y]) => [x, y + 4 * scale]), r);
10326
+ const cardPts = polygonPoints(cx, cy + scale * 0.2, radius * 0.56, 6, -30);
10327
+ const cardPath = roundedPolygonPath(cardPts, 3.5 * scale);
10328
+ const top = cardPts[5];
10329
+ const upperRight = cardPts[0];
10330
+ const upperLeft = cardPts[4];
10331
+ const lerp = (a, b, t) => a + (b - a) * t;
10332
+ const shinePath = [
10333
+ `M ${top[0]} ${top[1] + 1.6 * scale}`,
10334
+ `L ${lerp(top[0], upperRight[0], 0.9)} ${lerp(top[1], upperRight[1], 0.9)}`,
10335
+ `L ${lerp(top[0], upperRight[0], 0.62)} ${lerp(top[1], upperRight[1], 0.62) + 1.4 * scale}`,
10336
+ `L ${lerp(top[0], upperLeft[0], 0.62)} ${lerp(top[1], upperLeft[1], 0.62) + 1.4 * scale}`,
10337
+ `L ${lerp(top[0], upperLeft[0], 0.9)} ${lerp(top[1], upperLeft[1], 0.9)}`,
10338
+ 'Z',
10339
+ ].join(' ');
10340
+ return (jsxs("svg", { className: "journey-step__svg", width: layout.width, height: layout.height, viewBox: `0 0 ${layout.width} ${layout.height}`, xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", focusable: "false", overflow: "visible", children: [jsx("path", { d: pathShadow, fill: theme.shadow, opacity: 0.55 }), jsx("path", { d: pathOuter, fill: theme.outer }), jsx("path", { d: pathOuter, fill: "none", stroke: theme.outerStroke, strokeWidth: 2.5 * scale, opacity: 0.65 }), jsx("path", { d: pathMid, fill: theme.mid }), jsx("path", { d: pathInner, fill: theme.inner }), jsx("path", { d: roundedPolygonPath(scalePts(pts, cx, cy, 0.72), r * 0.72), fill: "none", stroke: theme.innerStroke, strokeWidth: scale, opacity: 0.55 }), progress !== undefined && (jsxs(Fragment, { children: [jsx("path", { d: pathMid, fill: "none", stroke: theme.shadow, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", opacity: 0.55, pathLength: 1000 }), jsx("path", { d: pathInner, fill: "none", stroke: theme.outerStroke, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", pathLength: 1000, strokeDasharray: 1000, strokeDashoffset: 1000 * (1 - progress / 100) })] })), jsx("path", { d: cardPath, fill: theme.card }), jsx("path", { d: shinePath, fill: theme.cardShine, opacity: 0.55 })] }));
10341
+ },
10342
+ };
10343
+
10344
+ const pentagonCrownFrame = {
10345
+ kind: 'pentagonCrown',
10346
+ layout(scale) {
10347
+ const bodyPx = 110 * scale;
10348
+ const ornamentPad = 14 * scale;
10349
+ const width = bodyPx;
10350
+ const height = bodyPx * 1.073 + ornamentPad * 2;
10351
+ const cardW = bodyPx * 0.56;
10352
+ const cardH = bodyPx * 0.43;
10353
+ return {
10354
+ width,
10355
+ height,
10356
+ bodyCenterX: width / 2,
10357
+ bodyCenterY: height / 2,
10358
+ iconCenterX: width / 2,
10359
+ iconCenterY: height / 2 + 2 * scale,
10360
+ iconWidth: cardW * 0.7,
10361
+ iconHeight: cardH * 0.7,
10362
+ };
10363
+ },
10364
+ render({ theme, scale, layout, progress }) {
10365
+ const bodyPx = 110 * scale;
10366
+ const cx = layout.width / 2;
10367
+ const cy = layout.height / 2 + 4 * scale;
10368
+ const pts = polygonPoints(cx, cy, bodyPx * 0.44, 5, -90);
10369
+ const r = 7 * scale;
10370
+ const pathOuter = roundedPolygonPath(pts, r);
10371
+ const pathMid = roundedPolygonPath(scalePts(pts, cx, cy, 0.9), r * 0.9);
10372
+ const pathInner = roundedPolygonPath(scalePts(pts, cx, cy, 0.8), r * 0.8);
10373
+ const pathShadow = roundedPolygonPath(pts.map(([x, y]) => [x, y + 4 * scale]), r);
10374
+ const crown = crownPath(cx, cy - bodyPx * 0.38, 34 * scale, 18 * scale);
10375
+ const cardPts = polygonPoints(cx, cy + scale * 0.4, bodyPx * 0.23, 5, -90);
10376
+ const cardPath = roundedPolygonPath(cardPts, 4 * scale);
10377
+ const [top, rightTop, , , leftTop] = cardPts;
10378
+ const shinePath = [
10379
+ `M ${top[0]} ${top[1] + 1.3 * scale}`,
10380
+ `L ${rightTop[0] - 1.2 * scale} ${rightTop[1] + 2 * scale}`,
10381
+ `L ${cx} ${cy - 1 * scale}`,
10382
+ `L ${leftTop[0] + 1.2 * scale} ${leftTop[1] + 2 * scale}`,
10383
+ 'Z',
10384
+ ].join(' ');
10385
+ return (jsxs("svg", { className: "journey-step__svg", width: layout.width, height: layout.height, viewBox: `0 0 ${layout.width} ${layout.height}`, xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", focusable: "false", overflow: "visible", children: [jsx("path", { d: crown, fill: theme.outer }), jsx("path", { d: crown, fill: "none", stroke: theme.outerStroke, strokeWidth: 1.4 * scale }), jsx("circle", { cx: cx, cy: cy - bodyPx * 0.46, r: 3.8 * scale, fill: theme.cardShine }), jsx("path", { d: pathShadow, fill: theme.shadow, opacity: 0.55 }), jsx("path", { d: pathOuter, fill: theme.outer }), jsx("path", { d: pathOuter, fill: "none", stroke: theme.outerStroke, strokeWidth: 2.5 * scale, opacity: 0.65 }), jsx("path", { d: pathMid, fill: theme.mid }), jsx("path", { d: pathInner, fill: theme.inner }), jsx("path", { d: roundedPolygonPath(scalePts(pts, cx, cy, 0.72), r * 0.72), fill: "none", stroke: theme.innerStroke, strokeWidth: scale, opacity: 0.55 }), progress !== undefined && (jsxs(Fragment, { children: [jsx("path", { d: pathMid, fill: "none", stroke: theme.shadow, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", opacity: 0.55, pathLength: 1000 }), jsx("path", { d: pathInner, fill: "none", stroke: theme.outerStroke, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", pathLength: 1000, strokeDasharray: 1000, strokeDashoffset: 1000 * (1 - progress / 100) })] })), jsx("path", { d: cardPath, fill: theme.card }), jsx("path", { d: shinePath, fill: theme.cardShine, opacity: 0.55 })] }));
10386
+ },
10387
+ };
10388
+
10389
+ const BASE_PTS = [
10390
+ [27, 16],
10391
+ [83, 16],
10392
+ [101, 70],
10393
+ [55, 103],
10394
+ [9, 70],
10395
+ ];
10396
+ const CX = 55;
10397
+ const CY = 60;
10398
+ const CORNER_RADIUS = 8;
10399
+ const SVG_HEIGHT_RATIO = 1.073;
10400
+ const pentagonFrame = {
10401
+ kind: 'pentagon',
10402
+ layout(scale) {
10403
+ const bodyPx = 110 * scale;
10404
+ const height = bodyPx * SVG_HEIGHT_RATIO;
10405
+ const cardW = bodyPx * 0.58;
10406
+ const cardH = bodyPx * 0.45;
10407
+ return {
10408
+ width: bodyPx,
10409
+ height,
10410
+ bodyCenterX: bodyPx / 2,
10411
+ bodyCenterY: height / 2,
10412
+ iconCenterX: bodyPx / 2,
10413
+ iconCenterY: bodyPx * 0.5,
10414
+ iconWidth: cardW * 0.7,
10415
+ iconHeight: cardH * 0.7,
10416
+ };
10417
+ },
10418
+ render({ theme, scale, layout, progress }) {
10419
+ const pts = BASE_PTS.map(([x, y]) => [x * scale, y * scale]);
10420
+ const cx = CX * scale;
10421
+ const cy = CY * scale;
10422
+ const r = CORNER_RADIUS * scale;
10423
+ const shadowPts = pts.map(([x, y]) => [x, y + 4 * scale]);
10424
+ const pathShadow = roundedPolygonPath(shadowPts, r);
10425
+ const pathOuter = roundedPolygonPath(pts, r);
10426
+ const pathMid = roundedPolygonPath(scalePts(pts, cx, cy, 0.92), r * 0.92);
10427
+ const pathInner = roundedPolygonPath(scalePts(pts, cx, cy, 0.84), r * 0.84);
10428
+ const pathFace = roundedPolygonPath(scalePts(pts, cx, cy, 0.76), r * 0.76);
10429
+ const cardPts = scalePts(pts, cx, cy, 0.58);
10430
+ const cardPath = roundedPolygonPath(cardPts, r * 0.58);
10431
+ const shinePts = scalePts(cardPts, cx, cy - 3 * scale, 0.85)
10432
+ .map(([x, y]) => [x, y - 2 * scale])
10433
+ .slice(0, 3);
10434
+ const shinePath = [
10435
+ `M ${shinePts[0][0]} ${shinePts[0][1]}`,
10436
+ `L ${shinePts[1][0]} ${shinePts[1][1]}`,
10437
+ `L ${shinePts[2][0]} ${shinePts[2][1]}`,
10438
+ `L ${cx} ${cy - 2 * scale}`,
10439
+ 'Z',
10440
+ ].join(' ');
10441
+ return (jsxs("svg", { className: "journey-step__svg", width: layout.width, height: layout.height, viewBox: `0 0 ${layout.width} ${layout.height}`, xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", focusable: "false", overflow: "visible", children: [jsx("path", { d: pathShadow, fill: theme.shadow, opacity: 0.55 }), jsx("path", { d: pathOuter, fill: theme.outer }), jsx("path", { d: pathOuter, fill: "none", stroke: theme.outerStroke, strokeWidth: 2.5 * scale, opacity: 0.65 }), jsx("path", { d: pathMid, fill: theme.mid }), jsx("path", { d: pathInner, fill: theme.inner }), jsx("path", { d: pathFace, fill: "none", stroke: theme.innerStroke, strokeWidth: scale, opacity: 0.5 }), progress !== undefined && (jsxs(Fragment, { children: [jsx("path", { d: pathMid, fill: "none", stroke: theme.shadow, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", opacity: 0.55, pathLength: 1000 }), jsx("path", { d: pathInner, fill: "none", stroke: theme.outerStroke, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", pathLength: 1000, strokeDasharray: 1000, strokeDashoffset: 1000 * (1 - progress / 100) })] })), jsx("path", { d: cardPath, fill: theme.card }), jsx("path", { d: shinePath, fill: theme.cardShine, opacity: 0.55 })] }));
10442
+ },
10443
+ };
10444
+
10445
+ function classicShieldPath(cx, cy, w, h) {
10446
+ const l = cx - w / 2;
10447
+ const r = cx + w / 2;
10448
+ const t = cy - h * 0.48;
10449
+ const m = cy + h * 0.08;
10450
+ const b = cy + h * 0.52;
10451
+ return [
10452
+ `M ${(l + w * 0.06).toFixed(2)} ${t.toFixed(2)}`,
10453
+ `L ${(r - w * 0.06).toFixed(2)} ${t.toFixed(2)}`,
10454
+ `Q ${r.toFixed(2)} ${t.toFixed(2)} ${r.toFixed(2)} ${(t + h * 0.06).toFixed(2)}`,
10455
+ `L ${r.toFixed(2)} ${m.toFixed(2)}`,
10456
+ `C ${r.toFixed(2)} ${(b - h * 0.08).toFixed(2)} ${(cx + w * 0.18).toFixed(2)} ${b.toFixed(2)} ${cx.toFixed(2)} ${b.toFixed(2)}`,
10457
+ `C ${(cx - w * 0.18).toFixed(2)} ${b.toFixed(2)} ${l.toFixed(2)} ${(b - h * 0.08).toFixed(2)} ${l.toFixed(2)} ${m.toFixed(2)}`,
10458
+ `L ${l.toFixed(2)} ${(t + h * 0.06).toFixed(2)}`,
10459
+ `Q ${l.toFixed(2)} ${t.toFixed(2)} ${(l + w * 0.06).toFixed(2)} ${t.toFixed(2)}`,
10460
+ 'Z',
10461
+ ].join(' ');
10462
+ }
10463
+ const shieldWingsFrame = {
10464
+ kind: 'shieldWings',
10465
+ layout(scale) {
10466
+ const bodyPx = 110 * scale;
10467
+ const width = bodyPx;
10468
+ const height = bodyPx * 1.15;
10469
+ const shieldW = bodyPx * 0.82;
10470
+ const shieldH = bodyPx * 0.9;
10471
+ const cardW = shieldW * 0.58;
10472
+ const cardH = shieldH * 0.58;
10473
+ return {
10474
+ width,
10475
+ height,
10476
+ bodyCenterX: width / 2,
10477
+ bodyCenterY: height * 0.46,
10478
+ iconCenterX: width / 2,
10479
+ iconCenterY: height * 0.44,
10480
+ iconWidth: cardW * 0.72,
10481
+ iconHeight: cardH * 0.72,
10482
+ };
10483
+ },
10484
+ render({ theme, scale, layout, progress }) {
10485
+ const bodyPx = 110 * scale;
10486
+ const cx = layout.width / 2;
10487
+ const cy = layout.height * 0.46;
10488
+ const sw = bodyPx * 0.82;
10489
+ const sh = bodyPx * 0.9;
10490
+ const pathShadow = classicShieldPath(cx, cy + 4 * scale, sw, sh);
10491
+ const pathOuter = classicShieldPath(cx, cy, sw, sh);
10492
+ const pathMid = classicShieldPath(cx, cy, sw * 0.9, sh * 0.9);
10493
+ const pathInner = classicShieldPath(cx, cy, sw * 0.8, sh * 0.8);
10494
+ const pathFace = classicShieldPath(cx, cy, sw * 0.72, sh * 0.72);
10495
+ const pathCard = classicShieldPath(cx, cy + 2 * scale, sw * 0.58, sh * 0.58);
10496
+ const cw = sw * 0.58;
10497
+ const ch = sh * 0.58;
10498
+ const cardTop = cy + 2 * scale - ch * 0.48;
10499
+ const shineW1 = cw * 0.78;
10500
+ const shineW2 = cw * 0.5;
10501
+ const shineH = ch * 0.18;
10502
+ const shinePath = [
10503
+ `M ${(cx - shineW1 / 2).toFixed(2)} ${(cardTop + scale).toFixed(2)}`,
10504
+ `L ${(cx + shineW1 / 2).toFixed(2)} ${(cardTop + scale).toFixed(2)}`,
10505
+ `L ${(cx + shineW2 / 2).toFixed(2)} ${(cardTop + shineH).toFixed(2)}`,
10506
+ `L ${(cx - shineW2 / 2).toFixed(2)} ${(cardTop + shineH).toFixed(2)}`,
10507
+ 'Z',
10508
+ ].join(' ');
10509
+ return (jsxs("svg", { className: "journey-step__svg", width: layout.width, height: layout.height, viewBox: `0 0 ${layout.width} ${layout.height}`, xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", focusable: "false", overflow: "visible", children: [jsx("path", { d: pathShadow, fill: theme.shadow, opacity: 0.55 }), jsx("path", { d: pathOuter, fill: theme.outer }), jsx("path", { d: pathOuter, fill: "none", stroke: theme.outerStroke, strokeWidth: 2.5 * scale, opacity: 0.65 }), jsx("path", { d: pathMid, fill: theme.mid }), jsx("path", { d: pathInner, fill: theme.inner }), jsx("path", { d: pathFace, fill: "none", stroke: theme.innerStroke, strokeWidth: scale, opacity: 0.55 }), progress !== undefined && (jsxs(Fragment, { children: [jsx("path", { d: pathMid, fill: "none", stroke: theme.shadow, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", opacity: 0.55, pathLength: 1000 }), jsx("path", { d: pathInner, fill: "none", stroke: theme.outerStroke, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", pathLength: 1000, strokeDasharray: 1000, strokeDashoffset: 1000 * (1 - progress / 100) })] })), jsx("path", { d: pathCard, fill: theme.card }), jsx("path", { d: shinePath, fill: theme.cardShine, opacity: 0.55 })] }));
10510
+ },
10511
+ };
10512
+
10513
+ const FRAMES_BY_KIND = {
10514
+ pentagon: pentagonFrame,
10515
+ hexagonWings: hexagonWingsFrame,
10516
+ circleLaurel: circleLaurelFrame,
10517
+ hexagonRibbon: hexagonRibbonFrame,
10518
+ shieldWings: shieldWingsFrame,
10519
+ pentagonCrown: pentagonCrownFrame,
10520
+ };
10521
+ const FRAME_BY_TYPE = {
10522
+ challenge: pentagonFrame};
10523
+
10524
+ const SIZE_PX = {
10525
+ md: 110,
10526
+ sm: 60,
10527
+ };
10528
+ function JourneyStep({ color, stepType = 'challenge', frame, icon, isActive = true, isLocked = false, progress, size = 'md', ariaLabel, className, onClick, }) {
10529
+ const inactive = !isActive || isLocked;
10530
+ const interactive = typeof onClick === 'function';
10531
+ const theme = useMemo(() => {
10532
+ if (inactive)
10533
+ return INACTIVE_THEME;
10534
+ if (color)
10535
+ return buildThemeFromColor(color);
10536
+ return THEMES[STEP_TYPE_TO_THEME[stepType]] ?? THEMES.blue;
10537
+ }, [color, stepType, inactive]);
10538
+ const bodyPx = SIZE_PX[size];
10539
+ const scale = bodyPx / 110;
10540
+ const defaultFrame = STEP_TYPE_TO_FRAME[stepType] ?? 'pentagon';
10541
+ const selectedFrame = frame
10542
+ ? FRAMES_BY_KIND[frame]
10543
+ : (FRAMES_BY_KIND[defaultFrame] ?? FRAME_BY_TYPE.challenge);
10544
+ const layout = useMemo(() => selectedFrame.layout(scale), [scale, selectedFrame]);
10545
+ const rootClassName = [
10546
+ 'journey-step',
10547
+ `is-size-${size}`,
10548
+ isActive ? 'is-active' : 'is-inactive-state',
10549
+ isLocked ? 'is-locked' : '',
10550
+ className ?? '',
10551
+ ]
10552
+ .filter(Boolean)
10553
+ .join(' ');
10554
+ const wrapperStyle = {
10555
+ width: layout.width,
10556
+ height: layout.height,
10557
+ };
10558
+ const iconStyle = {
10559
+ left: `${(layout.iconCenterX / layout.width) * 100}%`,
10560
+ top: `${(layout.iconCenterY / layout.height) * 100}%`,
10561
+ width: layout.iconWidth,
10562
+ height: layout.iconHeight,
10563
+ };
10564
+ const badge = (jsxs("div", { className: "journey-step__badge", style: wrapperStyle, children: [selectedFrame.render({ theme, scale, layout, progress }), jsx("div", { className: `journey-step__icon${isLocked ? ' is-locked' : ''}`, style: iconStyle, "aria-hidden": "true", children: icon })] }));
10565
+ return (jsx("div", { className: rootClassName, style: wrapperStyle, children: interactive ? (jsx("button", { type: "button", className: "journey-step__interactive", "aria-label": ariaLabel, "aria-disabled": isLocked, disabled: isLocked, onClick: onClick, children: badge })) : (badge) }));
10566
+ }
10567
+
10568
+ var css_248z$1 = "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:\"\"}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:0.5rem}.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:212.7 26.8% 83.9%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.\\!container{margin-left:auto!important;margin-right:auto!important;padding-left:2rem!important;padding-right:2rem!important;width:100%!important}.container{margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;width:100%}@media (min-width:1400px){.\\!container{max-width:1400px!important}.container{max-width:1400px}}.visible{visibility:visible}.absolute{position:absolute}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.size-10{height:2.5rem;width:2.5rem}.h-screen{height:100vh}.w-screen{width:100vw}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:.75rem}.rounded-lg{border-radius:var(--radius)}.border-2{border-width:2px}.border-\\[\\#892CDD\\]{--tw-border-opacity:1;border-color:rgb(137 44 221/var(--tw-border-opacity,1))}.bg-\\[\\#111111\\]{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity,1))}.bg-\\[\\#892CDD\\]{--tw-bg-opacity:1;background-color:rgb(137 44 221/var(--tw-bg-opacity,1))}.bg-\\[\\#ffffff\\]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-\\[\\#892CDD\\]{--tw-text-opacity:1;color:rgb(137 44 221/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.hover\\:bg-\\[\\#892CDD\\]\\/10:hover{background-color:rgba(137,44,221,.1)}.hover\\:bg-\\[\\#892CDD\\]\\/80:hover{background-color:rgba(137,44,221,.8)}.hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-\\[\\#892CDD\\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(137 44 221/var(--tw-ring-opacity,1))}.focus\\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}";
9457
10569
  styleInject(css_248z$1,{"insertAt":"top"});
9458
10570
 
9459
- var css_248z = "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:\"\"}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.mt-4{margin-top:1rem}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.size-10{height:2.5rem;width:2.5rem}.h-screen{height:100vh}.w-screen{width:100vw}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:.75rem}.rounded-lg{border-radius:var(--radius)}.border-2{border-width:2px}.border-\\[\\#892CDD\\]{--tw-border-opacity:1;border-color:rgb(137 44 221/var(--tw-border-opacity,1))}.bg-\\[\\#111111\\]{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity,1))}.bg-\\[\\#892CDD\\]{--tw-bg-opacity:1;background-color:rgb(137 44 221/var(--tw-bg-opacity,1))}.bg-\\[\\#ffffff\\]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-\\[\\#892CDD\\]{--tw-text-opacity:1;color:rgb(137 44 221/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.hover\\:bg-\\[\\#892CDD\\]\\/10:hover{background-color:rgba(137,44,221,.1)}.hover\\:bg-\\[\\#892CDD\\]\\/80:hover{background-color:rgba(137,44,221,.8)}.hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-\\[\\#892CDD\\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(137 44 221/var(--tw-ring-opacity,1))}.focus\\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}";
10571
+ var css_248z = "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:\"\"}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\\!container{margin-left:auto!important;margin-right:auto!important;padding-left:2rem!important;padding-right:2rem!important;width:100%!important}.container{margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;width:100%}@media (min-width:1400px){.\\!container{max-width:1400px!important}.container{max-width:1400px}}.visible{visibility:visible}.absolute{position:absolute}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.size-10{height:2.5rem;width:2.5rem}.h-screen{height:100vh}.w-screen{width:100vw}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:.75rem}.rounded-lg{border-radius:var(--radius)}.border-2{border-width:2px}.border-\\[\\#892CDD\\]{--tw-border-opacity:1;border-color:rgb(137 44 221/var(--tw-border-opacity,1))}.bg-\\[\\#111111\\]{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity,1))}.bg-\\[\\#892CDD\\]{--tw-bg-opacity:1;background-color:rgb(137 44 221/var(--tw-bg-opacity,1))}.bg-\\[\\#ffffff\\]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-\\[\\#892CDD\\]{--tw-text-opacity:1;color:rgb(137 44 221/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.hover\\:bg-\\[\\#892CDD\\]\\/10:hover{background-color:rgba(137,44,221,.1)}.hover\\:bg-\\[\\#892CDD\\]\\/80:hover{background-color:rgba(137,44,221,.8)}.hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-\\[\\#892CDD\\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(137 44 221/var(--tw-ring-opacity,1))}.focus\\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}";
9460
10572
  styleInject(css_248z,{"insertAt":"top"});
9461
10573
 
9462
10574
  var BACKOFFICE_ROLES;
@@ -9507,5 +10619,5 @@ var academeApi = /*#__PURE__*/Object.freeze({
9507
10619
  __proto__: null
9508
10620
  });
9509
10621
 
9510
- export { AcademeAuthProvider, BACKOFFICE_ROLES, Button, DASHBOARD_ROLES, GLOBAL_ROLES, MIKE_ROLES, NINA_ROLES, ProtectedApp, ProtectedComponent, ProtectedRouter, STREAMING_ROLES, Spinner, WIDGET_ROLES, academeApi as apiTypes, cn, createAcademeApiClient, index as types, useAcademeAuth, useProtectedAppColors };
10622
+ export { AcademeAuthProvider, BACKOFFICE_ROLES, Button, CosmicDecor, CosmicStarsCanvas, DASHBOARD_ROLES, GLOBAL_ROLES, JourneyStep, MIKE_ROLES, NINA_ROLES, ProtectedApp, ProtectedComponent, ProtectedRouter, STREAMING_ROLES, Spinner, WIDGET_ROLES, academeApi as apiTypes, cn, createAcademeApiClient, index as types, useAcademeAuth, useProtectedAppColors };
9511
10623
  //# sourceMappingURL=index.esm.js.map