academe-kit 0.9.4 → 0.9.6

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 (37) hide show
  1. package/dist/index.cjs +976 -4
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.ts +75 -12863
  4. package/dist/index.esm.js +974 -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/JourneyCrystalPin.d.ts +7 -0
  22. package/dist/types/components/JourneyStep/JourneyStep.d.ts +20 -0
  23. package/dist/types/components/JourneyStep/frames/circle-laurel.d.ts +2 -0
  24. package/dist/types/components/JourneyStep/frames/hexagon-ribbon.d.ts +2 -0
  25. package/dist/types/components/JourneyStep/frames/hexagon-wings.d.ts +2 -0
  26. package/dist/types/components/JourneyStep/frames/index.d.ts +4 -0
  27. package/dist/types/components/JourneyStep/frames/pentagon-crown.d.ts +2 -0
  28. package/dist/types/components/JourneyStep/frames/pentagon.d.ts +2 -0
  29. package/dist/types/components/JourneyStep/frames/shield-wings.d.ts +2 -0
  30. package/dist/types/components/JourneyStep/frames/sphere.d.ts +2 -0
  31. package/dist/types/components/JourneyStep/frames/types.d.ts +34 -0
  32. package/dist/types/components/JourneyStep/frames/utils.d.ts +23 -0
  33. package/dist/types/components/JourneyStep/index.d.ts +5 -0
  34. package/dist/types/index.d.ts +6 -0
  35. package/dist/types/services/CertificateService.d.ts +28 -12804
  36. package/dist/types/services/userService.d.ts +3 -56
  37. package/package.json +6 -2
package/dist/index.cjs CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React2 = require('react');
5
+ var framerMotion = require('framer-motion');
6
+ var web = require('@react-spring/web');
5
7
 
6
8
  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}
7
9
 
@@ -4560,8 +4562,9 @@ function createUserService(apiClient) {
4560
4562
  });
4561
4563
  },
4562
4564
  updateMe(body) {
4565
+ // openapi-fetch narrows deviceId to string (drops null) — cast to bypass
4563
4566
  return apiClient.PUT("/users/me", {
4564
- body,
4567
+ body: body,
4565
4568
  });
4566
4569
  },
4567
4570
  /**
@@ -5553,6 +5556,7 @@ function createCertificateService(apiClient) {
5553
5556
  * List all certificates
5554
5557
  */
5555
5558
  getAll(query) {
5559
+ // spec declares query?: never on this route — cast until spec is updated
5556
5560
  return apiClient.GET("/certificates", {
5557
5561
  params: { query },
5558
5562
  });
@@ -5569,6 +5573,7 @@ function createCertificateService(apiClient) {
5569
5573
  * Download all certificates of a given user as a single merged PDF
5570
5574
  */
5571
5575
  downloadAll(userId) {
5576
+ // path not yet in the API spec
5572
5577
  return apiClient.GET("/certificates/{userId}/download-all", {
5573
5578
  params: { path: { userId } },
5574
5579
  parseAs: 'blob',
@@ -5578,6 +5583,7 @@ function createCertificateService(apiClient) {
5578
5583
  * Download certificate PDF
5579
5584
  */
5580
5585
  download(id) {
5586
+ // path not yet in the API spec
5581
5587
  return apiClient.GET("/certificates/{id}/download", {
5582
5588
  params: { path: { id } },
5583
5589
  parseAs: 'blob',
@@ -5595,6 +5601,7 @@ function createCertificateService(apiClient) {
5595
5601
  * Generate a certificate PDF server-side
5596
5602
  */
5597
5603
  generate(data) {
5604
+ // path not yet in the API spec
5598
5605
  return apiClient.POST("/certificates/generate", {
5599
5606
  body: data,
5600
5607
  });
@@ -6334,7 +6341,6 @@ const SecurityProvider = ({ apiBaseUrl = "https://stg-api.academe.com.br", skipA
6334
6341
  const isAuthenticated = auth.isAuthenticated || !!accessToken;
6335
6342
  const isLoading = auth.isLoading;
6336
6343
  const activeNavigator = auth.activeNavigator;
6337
- auth.user?.profile;
6338
6344
  const currentTokenRef = React2.useRef(undefined);
6339
6345
  // Efeito para sincronizar o token do auth com o state
6340
6346
  // e também verificar cookies periodicamente
@@ -9668,10 +9674,972 @@ function styleInject(css, ref) {
9668
9674
  }
9669
9675
  }
9670
9676
 
9671
- 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}";
9677
+ 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}}";
9678
+ styleInject(css_248z$3,{"insertAt":"top"});
9679
+
9680
+ const SATURN_ORIGIN = {
9681
+ transformOrigin: '50% 50%',
9682
+ transformBox: 'fill-box',
9683
+ };
9684
+ function PlanetSaturn({ id }) {
9685
+ const reduceMotion = framerMotion.useReducedMotion();
9686
+ const saturnBodyId = `cosmic-saturn-body-${id}`;
9687
+ const saturnRingId = `cosmic-saturn-ring-${id}`;
9688
+ const ringAnimate = reduceMotion ? { rotate: 0 } : { rotate: 360 };
9689
+ const ringTransition = reduceMotion
9690
+ ? { duration: 0 }
9691
+ : { duration: 105, repeat: Infinity, ease: 'linear' };
9692
+ return (jsxRuntime.jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--saturn", viewBox: "0 0 120 80", children: [jsxRuntime.jsxs("defs", { children: [jsxRuntime.jsxs("radialGradient", { id: saturnBodyId, cx: "30%", cy: "30%", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#c4b5fd" }), jsxRuntime.jsx("stop", { offset: "55%", stopColor: "#7c3aed" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#1e1b4b" })] }), jsxRuntime.jsxs("linearGradient", { id: saturnRingId, x1: "0", y1: "0", x2: "1", y2: "0", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#c4b5fd", stopOpacity: "0" }), jsxRuntime.jsx("stop", { offset: "20%", stopColor: "#c4b5fd", stopOpacity: "0.7" }), jsxRuntime.jsx("stop", { offset: "80%", stopColor: "#c4b5fd", stopOpacity: "0.7" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#c4b5fd", stopOpacity: "0" })] })] }), jsxRuntime.jsx(framerMotion.motion.g, { style: SATURN_ORIGIN, animate: ringAnimate, transition: ringTransition, children: jsxRuntime.jsx("ellipse", { cx: "60", cy: "40", rx: "56", ry: "11", fill: "none", stroke: `url(#${saturnRingId})`, strokeWidth: "2.5" }) }), jsxRuntime.jsx("circle", { cx: "60", cy: "40", r: "24", fill: `url(#${saturnBodyId})` }), jsxRuntime.jsx(framerMotion.motion.g, { style: SATURN_ORIGIN, animate: ringAnimate, transition: ringTransition, children: jsxRuntime.jsx("path", { d: "M 4 42 Q 60 56 116 42", stroke: `url(#${saturnRingId})`, strokeWidth: "2.5", fill: "none" }) })] }));
9693
+ }
9694
+
9695
+ const AnimatedGroup = web.animated('g');
9696
+ function PlanetGiant({ id }) {
9697
+ const reduceMotion = framerMotion.useReducedMotion();
9698
+ const giantBodyId = `cosmic-giant-body-${id}`;
9699
+ const giantClipId = `cosmic-giant-clip-${id}`;
9700
+ const bandsSpring = web.useSpring(reduceMotion
9701
+ ? { from: { x: 0 }, to: { x: 0 }, immediate: true }
9702
+ : {
9703
+ from: { x: -5 },
9704
+ to: { x: 5 },
9705
+ loop: { reverse: true },
9706
+ config: { duration: 6500 },
9707
+ });
9708
+ return (jsxRuntime.jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--giant", viewBox: "0 0 120 120", children: [jsxRuntime.jsxs("defs", { children: [jsxRuntime.jsxs("radialGradient", { id: giantBodyId, cx: "32%", cy: "30%", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#bae6fd" }), jsxRuntime.jsx("stop", { offset: "55%", stopColor: "#3b82f6" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#1e3a8a" })] }), jsxRuntime.jsx("clipPath", { id: giantClipId, children: jsxRuntime.jsx("circle", { cx: "60", cy: "60", r: "55" }) })] }), jsxRuntime.jsx("circle", { cx: "60", cy: "60", r: "55", fill: `url(#${giantBodyId})` }), jsxRuntime.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: [jsxRuntime.jsx("path", { d: "M -5 35 Q 30 30 60 35 T 125 35" }), jsxRuntime.jsx("path", { d: "M -5 55 Q 30 60 60 55 T 125 55" }), jsxRuntime.jsx("path", { d: "M -5 75 Q 30 70 60 75 T 125 75" }), jsxRuntime.jsx("path", { d: "M -5 92 Q 30 96 60 92 T 125 92" })] })] }));
9709
+ }
9710
+
9711
+ function PlanetEarth({ id }) {
9712
+ const earthBodyId = `cosmic-earth-body-${id}`;
9713
+ const earthAtmosId = `cosmic-earth-atmos-${id}`;
9714
+ return (jsxRuntime.jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--earth", viewBox: "0 0 120 120", children: [jsxRuntime.jsxs("defs", { children: [jsxRuntime.jsxs("radialGradient", { id: earthBodyId, cx: "30%", cy: "30%", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#93c5fd" }), jsxRuntime.jsx("stop", { offset: "55%", stopColor: "#3b82f6" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#052e3a" })] }), jsxRuntime.jsxs("linearGradient", { id: earthAtmosId, x1: "0", y1: "0", x2: "1", y2: "1", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#60a5fa", stopOpacity: "0" }), jsxRuntime.jsx("stop", { offset: "25%", stopColor: "#60a5fa", stopOpacity: "0.6" }), jsxRuntime.jsx("stop", { offset: "70%", stopColor: "#a78bfa", stopOpacity: "0.45" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#a78bfa", stopOpacity: "0" })] })] }), jsxRuntime.jsx("circle", { cx: "60", cy: "60", r: "48", fill: `url(#${earthBodyId})` }), jsxRuntime.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" }), jsxRuntime.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" }), jsxRuntime.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" }), jsxRuntime.jsx("ellipse", { cx: "60", cy: "60", rx: "52", ry: "12", fill: "none", stroke: `url(#${earthAtmosId})`, strokeWidth: "2.2", opacity: "0.9" })] }));
9715
+ }
9716
+
9717
+ function PlanetNeptune({ id }) {
9718
+ const neptuneBodyId = `cosmic-neptune-body-${id}`;
9719
+ const neptuneBandId = `cosmic-neptune-band-${id}`;
9720
+ return (jsxRuntime.jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--neptune", viewBox: "0 0 120 120", children: [jsxRuntime.jsxs("defs", { children: [jsxRuntime.jsxs("radialGradient", { id: neptuneBodyId, cx: "32%", cy: "28%", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#93c5fd" }), jsxRuntime.jsx("stop", { offset: "50%", stopColor: "#2563eb" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#0b1226" })] }), jsxRuntime.jsxs("linearGradient", { id: neptuneBandId, x1: "0", y1: "0", x2: "1", y2: "0", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#60a5fa", stopOpacity: "0" }), jsxRuntime.jsx("stop", { offset: "20%", stopColor: "#60a5fa", stopOpacity: "0.7" }), jsxRuntime.jsx("stop", { offset: "70%", stopColor: "#a78bfa", stopOpacity: "0.55" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#a78bfa", stopOpacity: "0" })] })] }), jsxRuntime.jsx("circle", { cx: "60", cy: "60", r: "50", fill: `url(#${neptuneBodyId})` }), jsxRuntime.jsxs("g", { fill: "none", stroke: `url(#${neptuneBandId})`, strokeWidth: "2.2", opacity: "0.65", children: [jsxRuntime.jsx("path", { d: "M 22 54 Q 60 44 98 54" }), jsxRuntime.jsx("path", { d: "M 18 70 Q 60 60 102 70" }), jsxRuntime.jsx("path", { d: "M 26 86 Q 60 80 94 86" })] }), jsxRuntime.jsx("ellipse", { cx: "60", cy: "60", rx: "56", ry: "10", fill: "none", stroke: "#a5b4fc", strokeWidth: "1.6", opacity: "0.35" })] }));
9721
+ }
9722
+
9723
+ function PlanetBlackHole({ id }) {
9724
+ const blackHoleCoreId = `cosmic-black-hole-core-${id}`;
9725
+ const blackHoleRingId = `cosmic-black-hole-ring-${id}`;
9726
+ return (jsxRuntime.jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--black-hole", viewBox: "0 0 120 120", children: [jsxRuntime.jsxs("defs", { children: [jsxRuntime.jsxs("radialGradient", { id: blackHoleCoreId, cx: "50%", cy: "50%", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#05050a" }), jsxRuntime.jsx("stop", { offset: "35%", stopColor: "#000000" }), jsxRuntime.jsx("stop", { offset: "70%", stopColor: "#09091f" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#000000" })] }), jsxRuntime.jsxs("linearGradient", { id: blackHoleRingId, x1: "0", y1: "0", x2: "1", y2: "1", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#a78bfa", stopOpacity: "0.0" }), jsxRuntime.jsx("stop", { offset: "25%", stopColor: "#a78bfa", stopOpacity: "0.55" }), jsxRuntime.jsx("stop", { offset: "60%", stopColor: "#22d3ee", stopOpacity: "0.42" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#22d3ee", stopOpacity: "0.0" })] })] }), jsxRuntime.jsx("circle", { cx: "60", cy: "60", r: "38", fill: `url(#${blackHoleCoreId})` }), jsxRuntime.jsx("circle", { cx: "60", cy: "60", r: "52", fill: "none", stroke: `url(#${blackHoleRingId})`, strokeWidth: "3", opacity: "0.48" }), jsxRuntime.jsx("circle", { cx: "60", cy: "60", r: "60", fill: "none", stroke: "#22d3ee", strokeWidth: "1.6", opacity: "0.18" }), jsxRuntime.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" }), jsxRuntime.jsx("circle", { cx: "60", cy: "60", r: "6", fill: "#ffffff", opacity: "0.55" })] }));
9727
+ }
9728
+
9729
+ const ORIGIN$2 = {
9730
+ transformOrigin: '50% 50%',
9731
+ transformBox: 'fill-box',
9732
+ };
9733
+ function PlanetSun({ id }) {
9734
+ const reduceMotion = framerMotion.useReducedMotion();
9735
+ const sunBodyId = `cosmic-sun-body-${id}`;
9736
+ const sunCoronaId = `cosmic-sun-corona-${id}`;
9737
+ return (jsxRuntime.jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--sun", viewBox: "0 0 140 140", children: [jsxRuntime.jsxs("defs", { children: [jsxRuntime.jsxs("radialGradient", { id: sunBodyId, cx: "42%", cy: "38%", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#fffbeb" }), jsxRuntime.jsx("stop", { offset: "30%", stopColor: "#fde68a" }), jsxRuntime.jsx("stop", { offset: "60%", stopColor: "#f59e0b" }), jsxRuntime.jsx("stop", { offset: "90%", stopColor: "#ea580c" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#7c2d12" })] }), jsxRuntime.jsxs("radialGradient", { id: sunCoronaId, cx: "50%", cy: "50%", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#fde68a", stopOpacity: "0.55" }), jsxRuntime.jsx("stop", { offset: "55%", stopColor: "#fbbf24", stopOpacity: "0.18" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#fbbf24", stopOpacity: "0" })] })] }), jsxRuntime.jsx("circle", { cx: "70", cy: "70", r: "62", fill: `url(#${sunCoronaId})` }), jsxRuntime.jsx(framerMotion.motion.g, { style: ORIGIN$2, animate: reduceMotion ? { rotate: 0 } : { rotate: 360 }, transition: reduceMotion
9738
+ ? { duration: 0 }
9739
+ : { duration: 130, repeat: Infinity, ease: 'linear' }, stroke: "#fcd34d", strokeWidth: "2.4", strokeLinecap: "round", opacity: "0.7", children: Array.from({ length: 12 }).map((_, i) => {
9740
+ const angle = (i / 12) * Math.PI * 2;
9741
+ const x1 = 70 + Math.cos(angle) * 46;
9742
+ const y1 = 70 + Math.sin(angle) * 46;
9743
+ const x2 = 70 + Math.cos(angle) * 58;
9744
+ const y2 = 70 + Math.sin(angle) * 58;
9745
+ return jsxRuntime.jsx("line", { x1: x1, y1: y1, x2: x2, y2: y2 }, i);
9746
+ }) }), jsxRuntime.jsx("circle", { cx: "70", cy: "70", r: "36", fill: `url(#${sunBodyId})` }), jsxRuntime.jsx("ellipse", { cx: "58", cy: "58", rx: "13", ry: "8", fill: "#fef3c7", opacity: "0.5" })] }));
9747
+ }
9748
+
9749
+ function PlanetMoon({ id }) {
9750
+ const moonBodyId = `cosmic-moon-body-${id}`;
9751
+ const moonShadowId = `cosmic-moon-shadow-${id}`;
9752
+ return (jsxRuntime.jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--moon", viewBox: "0 0 120 120", children: [jsxRuntime.jsxs("defs", { children: [jsxRuntime.jsxs("radialGradient", { id: moonBodyId, cx: "34%", cy: "30%", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#f8fafc" }), jsxRuntime.jsx("stop", { offset: "35%", stopColor: "#e2e8f0" }), jsxRuntime.jsx("stop", { offset: "75%", stopColor: "#94a3b8" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#1e293b" })] }), jsxRuntime.jsxs("radialGradient", { id: moonShadowId, cx: "78%", cy: "58%", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#0f172a", stopOpacity: "0" }), jsxRuntime.jsx("stop", { offset: "60%", stopColor: "#0f172a", stopOpacity: "0.32" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#020617", stopOpacity: "0.55" })] })] }), jsxRuntime.jsx("circle", { cx: "60", cy: "60", r: "48", fill: `url(#${moonBodyId})` }), jsxRuntime.jsxs("g", { fill: "#475569", opacity: "0.55", children: [jsxRuntime.jsx("ellipse", { cx: "44", cy: "48", rx: "6", ry: "4.5" }), jsxRuntime.jsx("ellipse", { cx: "72", cy: "44", rx: "4", ry: "3" }), jsxRuntime.jsx("ellipse", { cx: "56", cy: "76", rx: "7.5", ry: "5" }), jsxRuntime.jsx("ellipse", { cx: "80", cy: "72", rx: "3.5", ry: "3" }), jsxRuntime.jsx("ellipse", { cx: "38", cy: "70", rx: "3", ry: "2.5" }), jsxRuntime.jsx("ellipse", { cx: "66", cy: "62", rx: "2.2", ry: "1.6" })] }), jsxRuntime.jsxs("g", { fill: "#cbd5e1", opacity: "0.32", children: [jsxRuntime.jsx("ellipse", { cx: "44", cy: "46", rx: "6", ry: "1.2" }), jsxRuntime.jsx("ellipse", { cx: "56", cy: "74", rx: "7.5", ry: "1.4" }), jsxRuntime.jsx("ellipse", { cx: "72", cy: "43", rx: "4", ry: "0.9" })] }), jsxRuntime.jsx("circle", { cx: "60", cy: "60", r: "48", fill: `url(#${moonShadowId})` }), jsxRuntime.jsx("ellipse", { cx: "44", cy: "42", rx: "14", ry: "8", fill: "#ffffff", opacity: "0.16" })] }));
9753
+ }
9754
+
9755
+ const ORIGIN$1 = {
9756
+ transformOrigin: '50% 50%',
9757
+ transformBox: 'fill-box',
9758
+ };
9759
+ function PlanetSatellite({ id }) {
9760
+ const reduceMotion = framerMotion.useReducedMotion();
9761
+ const satelliteBodyId = `cosmic-satellite-body-${id}`;
9762
+ const satellitePanelId = `cosmic-satellite-panel-${id}`;
9763
+ return (jsxRuntime.jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--satellite", viewBox: "0 0 160 100", children: [jsxRuntime.jsxs("defs", { children: [jsxRuntime.jsxs("linearGradient", { id: satelliteBodyId, x1: "0", y1: "0", x2: "1", y2: "1", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#e2e8f0" }), jsxRuntime.jsx("stop", { offset: "50%", stopColor: "#94a3b8" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#334155" })] }), jsxRuntime.jsxs("linearGradient", { id: satellitePanelId, x1: "0", y1: "0", x2: "0", y2: "1", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#1d4ed8" }), jsxRuntime.jsx("stop", { offset: "55%", stopColor: "#1e3a8a" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#0b1226" })] })] }), jsxRuntime.jsxs(framerMotion.motion.g, { style: ORIGIN$1, animate: reduceMotion ? { rotate: 0 } : { rotate: [-4, 4, -4] }, transition: reduceMotion
9764
+ ? { duration: 0 }
9765
+ : { duration: 9, repeat: Infinity, ease: 'easeInOut' }, children: [jsxRuntime.jsx("g", { fill: `url(#${satellitePanelId})`, stroke: "#0f172a", strokeWidth: "0.8", children: jsxRuntime.jsx("rect", { x: "6", y: "40", width: "46", height: "20", rx: "1.5" }) }), jsxRuntime.jsxs("g", { stroke: "#38bdf8", strokeWidth: "0.5", opacity: "0.55", children: [jsxRuntime.jsx("line", { x1: "18", y1: "40", x2: "18", y2: "60" }), jsxRuntime.jsx("line", { x1: "30", y1: "40", x2: "30", y2: "60" }), jsxRuntime.jsx("line", { x1: "42", y1: "40", x2: "42", y2: "60" }), jsxRuntime.jsx("line", { x1: "6", y1: "50", x2: "52", y2: "50" })] }), jsxRuntime.jsx("rect", { x: "52", y: "48", width: "10", height: "4", fill: "#475569" }), jsxRuntime.jsx("g", { fill: `url(#${satellitePanelId})`, stroke: "#0f172a", strokeWidth: "0.8", children: jsxRuntime.jsx("rect", { x: "108", y: "40", width: "46", height: "20", rx: "1.5" }) }), jsxRuntime.jsxs("g", { stroke: "#38bdf8", strokeWidth: "0.5", opacity: "0.55", children: [jsxRuntime.jsx("line", { x1: "120", y1: "40", x2: "120", y2: "60" }), jsxRuntime.jsx("line", { x1: "132", y1: "40", x2: "132", y2: "60" }), jsxRuntime.jsx("line", { x1: "144", y1: "40", x2: "144", y2: "60" }), jsxRuntime.jsx("line", { x1: "108", y1: "50", x2: "154", y2: "50" })] }), jsxRuntime.jsx("rect", { x: "98", y: "48", width: "10", height: "4", fill: "#475569" }), jsxRuntime.jsx("rect", { x: "62", y: "36", width: "36", height: "28", rx: "3", fill: `url(#${satelliteBodyId})`, stroke: "#1e293b", strokeWidth: "1" }), jsxRuntime.jsx("rect", { x: "68", y: "42", width: "10", height: "6", rx: "1", fill: "#22d3ee", opacity: "0.9" }), jsxRuntime.jsx("rect", { x: "82", y: "42", width: "10", height: "6", rx: "1", fill: "#0ea5e9", opacity: "0.65" }), jsxRuntime.jsx("line", { x1: "80", y1: "36", x2: "80", y2: "18", stroke: "#475569", strokeWidth: "1.5" }), jsxRuntime.jsx("path", { d: "M 70 22 Q 80 8 90 22 Z", fill: "#cbd5e1", stroke: "#1e293b", strokeWidth: "0.8" }), jsxRuntime.jsx("ellipse", { cx: "80", cy: "22", rx: "10", ry: "2.5", fill: "#475569" }), jsxRuntime.jsx("circle", { cx: "80", cy: "15", r: "1.6", fill: "#fb923c" }), jsxRuntime.jsx("line", { x1: "92", y1: "38", x2: "100", y2: "30", stroke: "#475569", strokeWidth: "1.2" }), jsxRuntime.jsx("circle", { cx: "100", cy: "30", r: "1.6", fill: "#22d3ee" }), jsxRuntime.jsx("circle", { cx: "92", cy: "56", r: "1.6", fill: "#22c55e" })] })] }));
9766
+ }
9767
+
9768
+ const ORIGIN = {
9769
+ transformOrigin: '50% 50%',
9770
+ transformBox: 'fill-box',
9771
+ };
9772
+ function PlanetAstronaut({ id }) {
9773
+ const reduceMotion = framerMotion.useReducedMotion();
9774
+ const astronautSuitId = `cosmic-astronaut-suit-${id}`;
9775
+ const astronautVisorId = `cosmic-astronaut-visor-${id}`;
9776
+ return (jsxRuntime.jsxs("svg", { className: "cosmic-decor__planet cosmic-decor__planet--astronaut", viewBox: "0 0 110 140", children: [jsxRuntime.jsxs("defs", { children: [jsxRuntime.jsxs("radialGradient", { id: astronautSuitId, cx: "40%", cy: "35%", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#ffffff" }), jsxRuntime.jsx("stop", { offset: "55%", stopColor: "#e2e8f0" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#475569" })] }), jsxRuntime.jsxs("radialGradient", { id: astronautVisorId, cx: "32%", cy: "28%", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#bae6fd" }), jsxRuntime.jsx("stop", { offset: "40%", stopColor: "#1e3a8a" }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#0b1226" })] })] }), jsxRuntime.jsxs(framerMotion.motion.g, { style: ORIGIN, animate: reduceMotion ? { rotate: 0 } : { rotate: [-5, 5, -5] }, transition: reduceMotion
9777
+ ? { duration: 0 }
9778
+ : { duration: 8, repeat: Infinity, ease: 'easeInOut' }, children: [jsxRuntime.jsx("rect", { x: "34", y: "56", width: "42", height: "42", rx: "6", fill: "#475569", stroke: "#0f172a", strokeWidth: "0.8" }), jsxRuntime.jsx("rect", { x: "40", y: "62", width: "30", height: "3", rx: "1", fill: "#1e293b" }), jsxRuntime.jsx("rect", { x: "40", y: "70", width: "30", height: "3", rx: "1", fill: "#1e293b" }), jsxRuntime.jsx("rect", { x: "40", y: "78", width: "30", height: "3", rx: "1", fill: "#1e293b" }), jsxRuntime.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" }), jsxRuntime.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" }), jsxRuntime.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" }), jsxRuntime.jsx("ellipse", { cx: "20", cy: "92", rx: "6", ry: "3", fill: "#1e293b" }), jsxRuntime.jsx("ellipse", { cx: "90", cy: "92", rx: "6", ry: "3", fill: "#1e293b" }), jsxRuntime.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" }), jsxRuntime.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" }), jsxRuntime.jsx("ellipse", { cx: "48", cy: "132", rx: "7", ry: "3", fill: "#1e293b" }), jsxRuntime.jsx("ellipse", { cx: "66", cy: "132", rx: "7", ry: "3", fill: "#1e293b" }), jsxRuntime.jsx("rect", { x: "44", y: "68", width: "22", height: "14", rx: "2", fill: "#cbd5e1", stroke: "#0f172a", strokeWidth: "0.6" }), jsxRuntime.jsx("circle", { cx: "50", cy: "75", r: "1.6", fill: "#22c55e" }), jsxRuntime.jsx("circle", { cx: "55", cy: "75", r: "1.6", fill: "#fb923c" }), jsxRuntime.jsx("circle", { cx: "60", cy: "75", r: "1.6", fill: "#22d3ee" }), jsxRuntime.jsx("circle", { cx: "55", cy: "36", r: "22", fill: "#f8fafc", stroke: "#1e293b", strokeWidth: "1" }), jsxRuntime.jsx("circle", { cx: "55", cy: "36", r: "17", fill: `url(#${astronautVisorId})` }), jsxRuntime.jsx("path", { d: "M 44 26 Q 50 22 60 24", stroke: "#ffffff", strokeWidth: "2", strokeLinecap: "round", opacity: "0.7", fill: "none" }), jsxRuntime.jsx("ellipse", { cx: "48", cy: "30", rx: "3", ry: "1.5", fill: "#ffffff", opacity: "0.55" })] })] }));
9779
+ }
9780
+
9781
+ const ALL_PLANETS = [
9782
+ 'saturn',
9783
+ 'giant',
9784
+ 'earth',
9785
+ 'neptune',
9786
+ 'black-hole',
9787
+ 'sun',
9788
+ 'moon',
9789
+ 'satellite',
9790
+ 'astronaut',
9791
+ ];
9792
+ 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';
9793
+ function CosmicDecor({ planets, showSparkles = true, decorVariant = 'page', }) {
9794
+ const rawId = React2.useId();
9795
+ const id = rawId.replace(/:/g, '');
9796
+ const effectivePlanets = planets ?? ALL_PLANETS;
9797
+ const planetSet = new Set(effectivePlanets);
9798
+ const rootClassName = decorVariant === 'page'
9799
+ ? 'cosmic-decor cosmic-decor--page'
9800
+ : 'cosmic-decor cosmic-decor--session';
9801
+ return (jsxRuntime.jsxs("div", { className: rootClassName, "aria-hidden": true, children: [planetSet.has('saturn') && jsxRuntime.jsx(PlanetSaturn, { id: id }), planetSet.has('giant') && jsxRuntime.jsx(PlanetGiant, { id: id }), planetSet.has('earth') && jsxRuntime.jsx(PlanetEarth, { id: id }), planetSet.has('neptune') && jsxRuntime.jsx(PlanetNeptune, { id: id }), planetSet.has('black-hole') && jsxRuntime.jsx(PlanetBlackHole, { id: id }), planetSet.has('sun') && jsxRuntime.jsx(PlanetSun, { id: id }), planetSet.has('moon') && jsxRuntime.jsx(PlanetMoon, { id: id }), planetSet.has('satellite') && jsxRuntime.jsx(PlanetSatellite, { id: id }), planetSet.has('astronaut') && jsxRuntime.jsx(PlanetAstronaut, { id: id }), showSparkles && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("svg", { className: "cosmic-decor__sparkle cosmic-decor__sparkle--1", viewBox: "0 0 12 12", children: jsxRuntime.jsx("path", { d: SPARKLE_PATH, fill: "#fcd34d" }) }), jsxRuntime.jsx("svg", { className: "cosmic-decor__sparkle cosmic-decor__sparkle--2", viewBox: "0 0 12 12", children: jsxRuntime.jsx("path", { d: SPARKLE_PATH, fill: "#ffffff" }) }), jsxRuntime.jsx("svg", { className: "cosmic-decor__sparkle cosmic-decor__sparkle--3", viewBox: "0 0 12 12", children: jsxRuntime.jsx("path", { d: SPARKLE_PATH, fill: "#fcd34d" }) }), jsxRuntime.jsx("svg", { className: "cosmic-decor__sparkle cosmic-decor__sparkle--4", viewBox: "0 0 12 12", children: jsxRuntime.jsx("path", { d: SPARKLE_PATH, fill: "#ffffff" }) })] }))] }));
9802
+ }
9803
+
9804
+ function randomStar(w, h) {
9805
+ const roll = Math.random();
9806
+ let hue;
9807
+ let sat;
9808
+ let light;
9809
+ if (roll > 0.85) {
9810
+ hue = Math.random() * 60 + 200;
9811
+ sat = 80;
9812
+ light = 80;
9813
+ }
9814
+ else if (Math.random() > 0.9) {
9815
+ hue = Math.random() * 40 + 10;
9816
+ sat = 70;
9817
+ light = 80;
9818
+ }
9819
+ else {
9820
+ hue = 0;
9821
+ sat = 0;
9822
+ light = 100;
9823
+ }
9824
+ return {
9825
+ x: Math.random() * w,
9826
+ y: Math.random() * h,
9827
+ r: Math.random() * 1.5 + 0.3,
9828
+ alpha: Math.random() * 0.7 + 0.1,
9829
+ twinkleSpeed: Math.random() * 0.02 + 0.005,
9830
+ twinklePhase: Math.random() * Math.PI * 2,
9831
+ hue,
9832
+ sat,
9833
+ light,
9834
+ };
9835
+ }
9836
+ function generateStars(w, h) {
9837
+ const count = Math.max(40, Math.floor((w * h) / 2500));
9838
+ return Array.from({ length: count }, () => randomStar(w, h));
9839
+ }
9840
+ const CANVAS_STYLE = {
9841
+ position: 'absolute',
9842
+ inset: 0,
9843
+ display: 'block',
9844
+ width: '100%',
9845
+ height: '100%',
9846
+ zIndex: 0,
9847
+ };
9848
+ function CosmicStarsCanvas({ containerRef }) {
9849
+ const canvasRef = React2.useRef(null);
9850
+ const starsRef = React2.useRef([]);
9851
+ const shootingRef = React2.useRef([]);
9852
+ const timeRef = React2.useRef(0);
9853
+ const rafRef = React2.useRef(0);
9854
+ React2.useEffect(() => {
9855
+ const canvas = canvasRef.current;
9856
+ const container = containerRef.current;
9857
+ if (!canvas || !container)
9858
+ return;
9859
+ const ctx = canvas.getContext('2d');
9860
+ if (!ctx)
9861
+ return;
9862
+ const reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
9863
+ const drawStars = (w, h, t, staticFlicker) => {
9864
+ ctx.clearRect(0, 0, w, h);
9865
+ const stars = starsRef.current;
9866
+ for (const s of stars) {
9867
+ const flicker = staticFlicker
9868
+ ? 0.85
9869
+ : Math.sin(t * s.twinkleSpeed * 60 + s.twinklePhase) * 0.3 + 0.7;
9870
+ const a = s.alpha * flicker;
9871
+ ctx.beginPath();
9872
+ ctx.arc(s.x, s.y, s.r, 0, Math.PI * 2);
9873
+ ctx.fillStyle = `hsla(${s.hue}, ${s.sat}%, ${s.light}%, ${a.toFixed(3)})`;
9874
+ ctx.fill();
9875
+ if (s.r > 1 && !staticFlicker) {
9876
+ ctx.beginPath();
9877
+ ctx.arc(s.x, s.y, s.r * 3, 0, Math.PI * 2);
9878
+ ctx.fillStyle = `hsla(${s.hue}, ${s.sat}%, ${s.light}%, ${(a * 0.1).toFixed(3)})`;
9879
+ ctx.fill();
9880
+ }
9881
+ }
9882
+ };
9883
+ const resize = () => {
9884
+ const w = container.clientWidth;
9885
+ const h = container.clientHeight;
9886
+ const dpr = Math.min(window.devicePixelRatio ?? 1, 2);
9887
+ canvas.width = Math.floor(w * dpr);
9888
+ canvas.height = Math.floor(h * dpr);
9889
+ canvas.style.width = `${w}px`;
9890
+ canvas.style.height = `${h}px`;
9891
+ ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
9892
+ starsRef.current = generateStars(w, h);
9893
+ if (reduced) {
9894
+ drawStars(w, h, 0, true);
9895
+ }
9896
+ };
9897
+ resize();
9898
+ const ro = new ResizeObserver(resize);
9899
+ ro.observe(container);
9900
+ if (reduced) {
9901
+ return () => {
9902
+ ro.disconnect();
9903
+ };
9904
+ }
9905
+ const spawnShooting = () => {
9906
+ if (shootingRef.current.length > 2)
9907
+ return;
9908
+ const w = container.clientWidth;
9909
+ const h = container.clientHeight;
9910
+ shootingRef.current.push({
9911
+ x: Math.random() * w,
9912
+ y: Math.random() * h * 0.5,
9913
+ vx: (Math.random() * 4 + 3) * (Math.random() > 0.5 ? 1 : -1),
9914
+ vy: Math.random() * 2 + 1.5,
9915
+ life: 1,
9916
+ decay: Math.random() * 0.015 + 0.008,
9917
+ len: Math.random() * 40 + 20,
9918
+ });
9919
+ };
9920
+ let last = performance.now();
9921
+ const tick = (now) => {
9922
+ const w = container.clientWidth;
9923
+ const h = container.clientHeight;
9924
+ const dt = Math.min(0.05, (now - last) / 1000);
9925
+ last = now;
9926
+ timeRef.current += dt;
9927
+ drawStars(w, h, timeRef.current, false);
9928
+ const ssList = shootingRef.current;
9929
+ for (let i = ssList.length - 1; i >= 0; i--) {
9930
+ const ss = ssList[i];
9931
+ ss.x += ss.vx;
9932
+ ss.y += ss.vy;
9933
+ ss.life -= ss.decay;
9934
+ if (ss.life <= 0) {
9935
+ ssList.splice(i, 1);
9936
+ continue;
9937
+ }
9938
+ const gradient = ctx.createLinearGradient(ss.x, ss.y, ss.x - (ss.vx * ss.len) / 4, ss.y - (ss.vy * ss.len) / 4);
9939
+ gradient.addColorStop(0, `rgba(255,255,255,${ss.life})`);
9940
+ gradient.addColorStop(1, 'rgba(255,255,255,0)');
9941
+ ctx.strokeStyle = gradient;
9942
+ ctx.lineWidth = 1.5;
9943
+ ctx.beginPath();
9944
+ ctx.moveTo(ss.x, ss.y);
9945
+ ctx.lineTo(ss.x - (ss.vx * ss.len) / 4, ss.y - (ss.vy * ss.len) / 4);
9946
+ ctx.stroke();
9947
+ ctx.beginPath();
9948
+ ctx.arc(ss.x, ss.y, 2, 0, Math.PI * 2);
9949
+ ctx.fillStyle = `rgba(255,255,255,${ss.life})`;
9950
+ ctx.fill();
9951
+ }
9952
+ if (Math.random() < 0.003)
9953
+ spawnShooting();
9954
+ rafRef.current = requestAnimationFrame(tick);
9955
+ };
9956
+ rafRef.current = requestAnimationFrame(tick);
9957
+ return () => {
9958
+ ro.disconnect();
9959
+ cancelAnimationFrame(rafRef.current);
9960
+ };
9961
+ }, [containerRef]);
9962
+ return jsxRuntime.jsx("canvas", { ref: canvasRef, style: CANVAS_STYLE, "aria-hidden": true });
9963
+ }
9964
+
9965
+ 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))}.journey-crystal-pin{animation:journey-float 2.5s ease-in-out infinite;display:inline-flex;justify-content:center;position:relative}.journey-crystal-pin__glow{animation:journey-pulse-glow 1.5s ease-in-out infinite;filter:blur(6px);inset:0;position:absolute}.journey-crystal-pin__svg{display:block;height:2.5rem;width:1.5rem}.journey-crystal-pin__crystal{filter:drop-shadow(0 2px 6px rgba(139,92,246,.6));position:relative}@keyframes journey-float{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-8px) rotate(2deg)}50%{transform:translateY(-4px) rotate(0deg)}75%{transform:translateY(-10px) rotate(-2deg)}}@keyframes journey-pulse-glow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}";
9966
+ styleInject(css_248z$2,{"insertAt":"top"});
9967
+
9968
+ function buildWavyCirclePath(cx, cy, radius, amplitude, waves) {
9969
+ const steps = waves * 8;
9970
+ let d = '';
9971
+ for (let i = 0; i <= steps; i += 1) {
9972
+ const t = (i / steps) * Math.PI * 2;
9973
+ const r = radius + Math.sin(t * waves) * amplitude;
9974
+ const x = cx + Math.cos(t) * r;
9975
+ const y = cy + Math.sin(t) * r;
9976
+ d += i === 0 ? `M ${x.toFixed(2)} ${y.toFixed(2)} ` : `L ${x.toFixed(2)} ${y.toFixed(2)} `;
9977
+ }
9978
+ return `${d}Z`;
9979
+ }
9980
+ const circleLaurelFrame = {
9981
+ kind: 'circleLaurel',
9982
+ layout(scale) {
9983
+ const bodyPx = 110 * scale;
9984
+ const ornamentPadX = 18 * scale;
9985
+ const ornamentPadY = 12 * scale;
9986
+ const width = bodyPx + ornamentPadX * 2;
9987
+ const height = bodyPx * 1.073 + ornamentPadY * 2;
9988
+ const cardW = bodyPx * 0.58;
9989
+ const cardH = bodyPx * 0.58;
9990
+ return {
9991
+ width,
9992
+ height,
9993
+ bodyCenterX: width / 2,
9994
+ bodyCenterY: height / 2,
9995
+ iconCenterX: width / 2,
9996
+ iconCenterY: height / 2,
9997
+ iconWidth: cardW * 0.7,
9998
+ iconHeight: cardH * 0.7,
9999
+ };
10000
+ },
10001
+ render({ theme, scale, layout, progress }) {
10002
+ const bodyPx = 110 * scale;
10003
+ const cx = layout.width / 2;
10004
+ const cy = layout.height / 2;
10005
+ const outerR = bodyPx * 0.44;
10006
+ const midR = outerR * 0.88;
10007
+ const innerR = outerR * 0.77;
10008
+ const cardR = outerR * 0.56;
10009
+ const shineR = cardR * 0.74;
10010
+ const outerWavyPath = buildWavyCirclePath(cx, cy, outerR, 1.8 * scale, 14);
10011
+ const midWavyPath = buildWavyCirclePath(cx, cy, midR, 1.4 * scale, 14);
10012
+ const innerWavyPath = buildWavyCirclePath(cx, cy, innerR, 1.0 * scale, 14);
10013
+ return (jsxRuntime.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: [jsxRuntime.jsx("ellipse", { cx: cx, cy: cy + 4 * scale, rx: outerR, ry: outerR, fill: theme.shadow, opacity: 0.5 }), jsxRuntime.jsx("path", { d: outerWavyPath, fill: theme.outer }), jsxRuntime.jsx("path", { d: outerWavyPath, fill: "none", stroke: theme.outerStroke, strokeWidth: 2.5 * scale, opacity: 0.65 }), jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: midR, fill: theme.mid }), jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: innerR, fill: theme.inner }), jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: innerR * 0.88, fill: "none", stroke: theme.innerStroke, strokeWidth: scale, opacity: 0.55 }), progress !== undefined && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: midWavyPath, fill: "none", stroke: theme.shadow, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", opacity: 0.55, pathLength: 1000 }), jsxRuntime.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) })] })), jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: cardR, fill: theme.card }), jsxRuntime.jsx("path", { d: [
10014
+ `M ${cx - shineR * 0.75} ${cy - shineR * 0.7}`,
10015
+ `A ${shineR} ${shineR * 0.8} 0 0 1 ${cx + shineR * 0.75} ${cy - shineR * 0.7}`,
10016
+ `L ${cx + shineR * 0.55} ${cy - shineR * 0.2}`,
10017
+ `A ${shineR * 0.72} ${shineR * 0.58} 0 0 0 ${cx - shineR * 0.55} ${cy - shineR * 0.2}`,
10018
+ 'Z',
10019
+ ].join(' '), fill: theme.cardShine, opacity: 0.55 })] }));
10020
+ },
10021
+ };
10022
+
10023
+ const THEMES = {
10024
+ blue: {
10025
+ shadow: '#0A1F4A',
10026
+ outer: '#1A3A8A',
10027
+ outerStroke: '#4A80D8',
10028
+ mid: '#1E3F94',
10029
+ inner: '#1A3680',
10030
+ innerStroke: '#3A6AC8',
10031
+ card: '#D63EA0',
10032
+ cardShine: '#F07EC0',
10033
+ bookmark: '#A02878',
10034
+ },
10035
+ green: {
10036
+ shadow: '#062810',
10037
+ outer: '#0B4A1E',
10038
+ outerStroke: '#2AAA50',
10039
+ mid: '#0E5422',
10040
+ inner: '#0C4A1C',
10041
+ innerStroke: '#40C868',
10042
+ card: '#1AC84A',
10043
+ cardShine: '#70EE90',
10044
+ bookmark: '#0A8830',
10045
+ },
10046
+ purple: {
10047
+ shadow: '#1A0840',
10048
+ outer: '#2E1060',
10049
+ outerStroke: '#7A40E0',
10050
+ mid: '#341268',
10051
+ inner: '#2C1060',
10052
+ innerStroke: '#9A60F0',
10053
+ card: '#8030D8',
10054
+ cardShine: '#C080FF',
10055
+ bookmark: '#5010A0',
10056
+ },
10057
+ orange: {
10058
+ shadow: '#3A1400',
10059
+ outer: '#6A2800',
10060
+ outerStroke: '#E86010',
10061
+ mid: '#7A3000',
10062
+ inner: '#6A2800',
10063
+ innerStroke: '#F09040',
10064
+ card: '#E86010',
10065
+ cardShine: '#FFAA60',
10066
+ bookmark: '#A03800',
10067
+ },
10068
+ red: {
10069
+ shadow: '#3A0A0A',
10070
+ outer: '#7A1010',
10071
+ outerStroke: '#E03030',
10072
+ mid: '#8A1818',
10073
+ inner: '#701010',
10074
+ innerStroke: '#F06060',
10075
+ card: '#CC2020',
10076
+ cardShine: '#FF8080',
10077
+ bookmark: '#901010',
10078
+ },
10079
+ gold: {
10080
+ shadow: '#3A2800',
10081
+ outer: '#7A5000',
10082
+ outerStroke: '#E8C020',
10083
+ mid: '#8A5C00',
10084
+ inner: '#704800',
10085
+ innerStroke: '#F0D840',
10086
+ card: '#C89000',
10087
+ cardShine: '#FFE060',
10088
+ bookmark: '#906800',
10089
+ },
10090
+ };
10091
+ const STEP_TYPE_TO_THEME = {
10092
+ challenge: 'green',
10093
+ course: 'purple',
10094
+ tutorial: 'blue',
10095
+ publication: 'orange',
10096
+ evaluation: 'gold',
10097
+ certificate: 'green',
10098
+ };
10099
+ const STEP_TYPE_TO_FRAME = {
10100
+ challenge: 'pentagon',
10101
+ course: 'hexagonWings',
10102
+ tutorial: 'circleLaurel',
10103
+ publication: 'hexagonRibbon',
10104
+ evaluation: 'shieldWings',
10105
+ certificate: 'pentagonCrown',
10106
+ };
10107
+ const INACTIVE_THEME = {
10108
+ shadow: '#0a0a0a',
10109
+ outer: '#2a2f3a',
10110
+ outerStroke: '#4a5160',
10111
+ mid: '#2f3441',
10112
+ inner: '#262b36',
10113
+ innerStroke: '#535a6c',
10114
+ card: '#3f4a5e',
10115
+ cardShine: '#5b6577',
10116
+ bookmark: '#2a3142',
10117
+ };
10118
+ function hexToRgb(hex) {
10119
+ if (!hex)
10120
+ return null;
10121
+ const normalized = hex.replace('#', '').trim();
10122
+ const expanded = normalized.length === 3
10123
+ ? normalized
10124
+ .split('')
10125
+ .map((c) => c + c)
10126
+ .join('')
10127
+ : normalized;
10128
+ if (!/^[0-9a-fA-F]{6}$/.test(expanded))
10129
+ return null;
10130
+ const int = Number.parseInt(expanded, 16);
10131
+ return { r: (int >> 16) & 255, g: (int >> 8) & 255, b: int & 255 };
10132
+ }
10133
+ function rgbToHsl(r, g, b) {
10134
+ const rn = r / 255;
10135
+ const gn = g / 255;
10136
+ const bn = b / 255;
10137
+ const max = Math.max(rn, gn, bn);
10138
+ const min = Math.min(rn, gn, bn);
10139
+ const l = (max + min) / 2;
10140
+ let h = 0;
10141
+ let s = 0;
10142
+ if (max !== min) {
10143
+ const d = max - min;
10144
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
10145
+ switch (max) {
10146
+ case rn:
10147
+ h = (gn - bn) / d + (gn < bn ? 6 : 0);
10148
+ break;
10149
+ case gn:
10150
+ h = (bn - rn) / d + 2;
10151
+ break;
10152
+ default:
10153
+ h = (rn - gn) / d + 4;
10154
+ break;
10155
+ }
10156
+ h /= 6;
10157
+ }
10158
+ return { h: h * 360, s: s * 100, l: l * 100 };
10159
+ }
10160
+ function hsl(h, s, l) {
10161
+ const clamp = (v) => Math.max(0, Math.min(100, v));
10162
+ return `hsl(${h.toFixed(2)} ${clamp(s).toFixed(2)}% ${clamp(l).toFixed(2)}%)`;
10163
+ }
10164
+ function buildThemeFromColor(color) {
10165
+ const rgb = hexToRgb(color);
10166
+ if (!rgb)
10167
+ return THEMES.blue;
10168
+ const { h, s, l } = rgbToHsl(rgb.r, rgb.g, rgb.b);
10169
+ return {
10170
+ shadow: hsl(h, s, Math.max(8, l - 40)),
10171
+ outer: hsl(h, s, Math.max(14, l - 28)),
10172
+ outerStroke: hsl(h, s, Math.min(72, l + 8)),
10173
+ mid: hsl(h, s, Math.max(18, l - 22)),
10174
+ inner: hsl(h, s, Math.max(14, l - 28)),
10175
+ innerStroke: hsl(h, s, Math.min(80, l + 18)),
10176
+ card: hsl(h, s, l),
10177
+ cardShine: hsl(h, s, Math.min(88, l + 24)),
10178
+ bookmark: hsl(h, s, Math.max(20, l - 16)),
10179
+ };
10180
+ }
10181
+ function polygonPoints(cx, cy, radius, sides, rotationDeg = 0) {
10182
+ const rotationRad = (rotationDeg * Math.PI) / 180;
10183
+ const points = [];
10184
+ for (let i = 0; i < sides; i += 1) {
10185
+ const angle = rotationRad + (Math.PI * 2 * i) / sides;
10186
+ points.push([cx + Math.cos(angle) * radius, cy + Math.sin(angle) * radius]);
10187
+ }
10188
+ return points;
10189
+ }
10190
+ function norm([x, y]) {
10191
+ const len = Math.sqrt(x * x + y * y) || 1;
10192
+ return [x / len, y / len];
10193
+ }
10194
+ function scalePts(pts, cx, cy, factor) {
10195
+ return pts.map(([x, y]) => [cx + (x - cx) * factor, cy + (y - cy) * factor]);
10196
+ }
10197
+ function roundedPolygonPath(pts, radius) {
10198
+ const n = pts.length;
10199
+ let d = '';
10200
+ for (let i = 0; i < n; i += 1) {
10201
+ const prev = pts[(i - 1 + n) % n];
10202
+ const curr = pts[i];
10203
+ const next = pts[(i + 1) % n];
10204
+ const v1 = norm([prev[0] - curr[0], prev[1] - curr[1]]);
10205
+ const v2 = norm([next[0] - curr[0], next[1] - curr[1]]);
10206
+ const p1 = [curr[0] + v1[0] * radius, curr[1] + v1[1] * radius];
10207
+ const p2 = [curr[0] + v2[0] * radius, curr[1] + v2[1] * radius];
10208
+ d +=
10209
+ i === 0
10210
+ ? `M ${p1[0].toFixed(2)},${p1[1].toFixed(2)} `
10211
+ : `L ${p1[0].toFixed(2)},${p1[1].toFixed(2)} `;
10212
+ d += `Q ${curr[0].toFixed(2)},${curr[1].toFixed(2)} ${p2[0].toFixed(2)},${p2[1].toFixed(2)} `;
10213
+ }
10214
+ return `${d}Z`;
10215
+ }
10216
+ function crownPath(cx, baseY, width, height) {
10217
+ const half = width / 2;
10218
+ const topY = baseY - height;
10219
+ return [
10220
+ `M ${cx - half} ${baseY}`,
10221
+ `L ${cx - half * 0.55} ${topY + height * 0.55}`,
10222
+ `L ${cx - half * 0.2} ${topY + height * 0.05}`,
10223
+ `L ${cx} ${topY + height * 0.48}`,
10224
+ `L ${cx + half * 0.2} ${topY}`,
10225
+ `L ${cx + half * 0.55} ${topY + height * 0.56}`,
10226
+ `L ${cx + half} ${baseY}`,
10227
+ 'Z',
10228
+ ].join(' ');
10229
+ }
10230
+
10231
+ const hexagonRibbonFrame = {
10232
+ kind: 'hexagonRibbon',
10233
+ layout(scale) {
10234
+ const bodyPx = 110 * scale;
10235
+ const ornamentPad = 14 * scale;
10236
+ const width = bodyPx;
10237
+ const height = bodyPx * 1.073 + ornamentPad * 2;
10238
+ const cardW = bodyPx * 0.6;
10239
+ const cardH = bodyPx * 0.46;
10240
+ return {
10241
+ width,
10242
+ height,
10243
+ bodyCenterX: width / 2,
10244
+ bodyCenterY: height / 2,
10245
+ iconCenterX: width / 2,
10246
+ iconCenterY: height / 2 - 3.8 * scale,
10247
+ iconWidth: cardW * 0.8,
10248
+ iconHeight: cardH * 0.8,
10249
+ };
10250
+ },
10251
+ render({ theme, scale, layout, progress }) {
10252
+ const bodyPx = 110 * scale;
10253
+ const cx = layout.width / 2;
10254
+ const cy = layout.height / 2 - 4 * scale;
10255
+ const radius = bodyPx * 0.44;
10256
+ const pts = polygonPoints(cx, cy, radius, 6, -90);
10257
+ const r = 7 * scale;
10258
+ const pathOuter = roundedPolygonPath(pts, r);
10259
+ const pathMid = roundedPolygonPath(scalePts(pts, cx, cy, 0.9), r * 0.9);
10260
+ const pathInner = roundedPolygonPath(scalePts(pts, cx, cy, 0.8), r * 0.8);
10261
+ const pathShadow = roundedPolygonPath(pts.map(([x, y]) => [x, y + 4 * scale]), r);
10262
+ const cardRadius = radius * 0.65;
10263
+ const cardCy = cy + scale * 0.2;
10264
+ const cardPts = polygonPoints(cx, cardCy, cardRadius, 6, -90);
10265
+ const cardPath = roundedPolygonPath(cardPts, 4 * scale);
10266
+ const [top, upperRight, , , , upperLeft] = cardPts;
10267
+ const lerp = (a, b, t) => a + (b - a) * t;
10268
+ const shineTopY = top[1] + scale * 1.4;
10269
+ const shineRightOuter = [
10270
+ lerp(top[0], upperRight[0], 0.9),
10271
+ lerp(top[1], upperRight[1], 0.9),
10272
+ ];
10273
+ const shineRightInner = [
10274
+ lerp(top[0], upperRight[0], 0.56),
10275
+ lerp(shineTopY, upperRight[1], 0.58),
10276
+ ];
10277
+ const shineLeftInner = [
10278
+ lerp(top[0], upperLeft[0], 0.56),
10279
+ lerp(shineTopY, upperLeft[1], 0.58),
10280
+ ];
10281
+ const shineLeftOuter = [
10282
+ lerp(top[0], upperLeft[0], 0.9),
10283
+ lerp(top[1], upperLeft[1], 0.9),
10284
+ ];
10285
+ const shinePath = [
10286
+ `M ${cx} ${shineTopY}`,
10287
+ `L ${shineRightOuter[0]} ${shineRightOuter[1]}`,
10288
+ `L ${shineRightInner[0]} ${shineRightInner[1]}`,
10289
+ `L ${shineLeftInner[0]} ${shineLeftInner[1]}`,
10290
+ `L ${shineLeftOuter[0]} ${shineLeftOuter[1]}`,
10291
+ 'Z',
10292
+ ].join(' ');
10293
+ return (jsxRuntime.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: [jsxRuntime.jsx("path", { d: pathShadow, fill: theme.shadow, opacity: 0.55 }), jsxRuntime.jsx("path", { d: pathOuter, fill: theme.outer }), jsxRuntime.jsx("path", { d: pathOuter, fill: "none", stroke: theme.outerStroke, strokeWidth: 2.5 * scale, opacity: 0.65 }), jsxRuntime.jsx("path", { d: pathMid, fill: theme.mid }), jsxRuntime.jsx("path", { d: pathInner, fill: theme.inner }), jsxRuntime.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 && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: pathMid, fill: "none", stroke: theme.shadow, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", opacity: 0.55, pathLength: 1000 }), jsxRuntime.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) })] })), jsxRuntime.jsx("path", { d: cardPath, fill: theme.card }), jsxRuntime.jsx("path", { d: shinePath, fill: theme.cardShine, opacity: 0.55 })] }));
10294
+ },
10295
+ };
10296
+
10297
+ const hexagonWingsFrame = {
10298
+ kind: 'hexagonWings',
10299
+ layout(scale) {
10300
+ const bodyPx = 110 * scale;
10301
+ const ornamentPad = 24 * scale;
10302
+ const width = bodyPx + ornamentPad * 2;
10303
+ const height = bodyPx * 1.073;
10304
+ const cardW = bodyPx * 0.6;
10305
+ const cardH = bodyPx * 0.46;
10306
+ return {
10307
+ width,
10308
+ height,
10309
+ bodyCenterX: width / 2,
10310
+ bodyCenterY: height / 2,
10311
+ iconCenterX: width / 2,
10312
+ iconCenterY: bodyPx * 0.55 + scale * 0.2,
10313
+ iconWidth: cardW * 0.7,
10314
+ iconHeight: cardH * 0.7,
10315
+ };
10316
+ },
10317
+ render({ theme, scale, layout, progress }) {
10318
+ const bodyPx = 110 * scale;
10319
+ const cx = layout.width / 2;
10320
+ const cy = bodyPx * 0.55;
10321
+ const radius = bodyPx * 0.45;
10322
+ const pts = polygonPoints(cx, cy, radius, 6, -30);
10323
+ const r = 7 * scale;
10324
+ const pathOuter = roundedPolygonPath(pts, r);
10325
+ const pathMid = roundedPolygonPath(scalePts(pts, cx, cy, 0.9), r * 0.9);
10326
+ const pathInner = roundedPolygonPath(scalePts(pts, cx, cy, 0.8), r * 0.8);
10327
+ const pathShadow = roundedPolygonPath(pts.map(([x, y]) => [x, y + 4 * scale]), r);
10328
+ const cardPts = polygonPoints(cx, cy + scale * 0.2, radius * 0.56, 6, -30);
10329
+ const cardPath = roundedPolygonPath(cardPts, 3.5 * scale);
10330
+ const top = cardPts[5];
10331
+ const upperRight = cardPts[0];
10332
+ const upperLeft = cardPts[4];
10333
+ const lerp = (a, b, t) => a + (b - a) * t;
10334
+ const shinePath = [
10335
+ `M ${top[0]} ${top[1] + 1.6 * scale}`,
10336
+ `L ${lerp(top[0], upperRight[0], 0.9)} ${lerp(top[1], upperRight[1], 0.9)}`,
10337
+ `L ${lerp(top[0], upperRight[0], 0.62)} ${lerp(top[1], upperRight[1], 0.62) + 1.4 * scale}`,
10338
+ `L ${lerp(top[0], upperLeft[0], 0.62)} ${lerp(top[1], upperLeft[1], 0.62) + 1.4 * scale}`,
10339
+ `L ${lerp(top[0], upperLeft[0], 0.9)} ${lerp(top[1], upperLeft[1], 0.9)}`,
10340
+ 'Z',
10341
+ ].join(' ');
10342
+ return (jsxRuntime.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: [jsxRuntime.jsx("path", { d: pathShadow, fill: theme.shadow, opacity: 0.55 }), jsxRuntime.jsx("path", { d: pathOuter, fill: theme.outer }), jsxRuntime.jsx("path", { d: pathOuter, fill: "none", stroke: theme.outerStroke, strokeWidth: 2.5 * scale, opacity: 0.65 }), jsxRuntime.jsx("path", { d: pathMid, fill: theme.mid }), jsxRuntime.jsx("path", { d: pathInner, fill: theme.inner }), jsxRuntime.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 && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: pathMid, fill: "none", stroke: theme.shadow, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", opacity: 0.55, pathLength: 1000 }), jsxRuntime.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) })] })), jsxRuntime.jsx("path", { d: cardPath, fill: theme.card }), jsxRuntime.jsx("path", { d: shinePath, fill: theme.cardShine, opacity: 0.55 })] }));
10343
+ },
10344
+ };
10345
+
10346
+ const pentagonCrownFrame = {
10347
+ kind: 'pentagonCrown',
10348
+ layout(scale) {
10349
+ const bodyPx = 110 * scale;
10350
+ const ornamentPad = 14 * scale;
10351
+ const width = bodyPx;
10352
+ const height = bodyPx * 1.073 + ornamentPad * 2;
10353
+ const cardW = bodyPx * 0.56;
10354
+ const cardH = bodyPx * 0.43;
10355
+ return {
10356
+ width,
10357
+ height,
10358
+ bodyCenterX: width / 2,
10359
+ bodyCenterY: height / 2,
10360
+ iconCenterX: width / 2,
10361
+ iconCenterY: height / 2 + 2 * scale,
10362
+ iconWidth: cardW * 0.7,
10363
+ iconHeight: cardH * 0.7,
10364
+ };
10365
+ },
10366
+ render({ theme, scale, layout, progress }) {
10367
+ const bodyPx = 110 * scale;
10368
+ const cx = layout.width / 2;
10369
+ const cy = layout.height / 2 + 4 * scale;
10370
+ const pts = polygonPoints(cx, cy, bodyPx * 0.44, 5, -90);
10371
+ const r = 7 * scale;
10372
+ const pathOuter = roundedPolygonPath(pts, r);
10373
+ const pathMid = roundedPolygonPath(scalePts(pts, cx, cy, 0.9), r * 0.9);
10374
+ const pathInner = roundedPolygonPath(scalePts(pts, cx, cy, 0.8), r * 0.8);
10375
+ const pathShadow = roundedPolygonPath(pts.map(([x, y]) => [x, y + 4 * scale]), r);
10376
+ const crown = crownPath(cx, cy - bodyPx * 0.38, 34 * scale, 18 * scale);
10377
+ const cardPts = polygonPoints(cx, cy + scale * 0.4, bodyPx * 0.23, 5, -90);
10378
+ const cardPath = roundedPolygonPath(cardPts, 4 * scale);
10379
+ const [top, rightTop, , , leftTop] = cardPts;
10380
+ const shinePath = [
10381
+ `M ${top[0]} ${top[1] + 1.3 * scale}`,
10382
+ `L ${rightTop[0] - 1.2 * scale} ${rightTop[1] + 2 * scale}`,
10383
+ `L ${cx} ${cy - 1 * scale}`,
10384
+ `L ${leftTop[0] + 1.2 * scale} ${leftTop[1] + 2 * scale}`,
10385
+ 'Z',
10386
+ ].join(' ');
10387
+ return (jsxRuntime.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: [jsxRuntime.jsx("path", { d: crown, fill: theme.outer }), jsxRuntime.jsx("path", { d: crown, fill: "none", stroke: theme.outerStroke, strokeWidth: 1.4 * scale }), jsxRuntime.jsx("circle", { cx: cx, cy: cy - bodyPx * 0.46, r: 3.8 * scale, fill: theme.cardShine }), jsxRuntime.jsx("path", { d: pathShadow, fill: theme.shadow, opacity: 0.55 }), jsxRuntime.jsx("path", { d: pathOuter, fill: theme.outer }), jsxRuntime.jsx("path", { d: pathOuter, fill: "none", stroke: theme.outerStroke, strokeWidth: 2.5 * scale, opacity: 0.65 }), jsxRuntime.jsx("path", { d: pathMid, fill: theme.mid }), jsxRuntime.jsx("path", { d: pathInner, fill: theme.inner }), jsxRuntime.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 && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: pathMid, fill: "none", stroke: theme.shadow, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", opacity: 0.55, pathLength: 1000 }), jsxRuntime.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) })] })), jsxRuntime.jsx("path", { d: cardPath, fill: theme.card }), jsxRuntime.jsx("path", { d: shinePath, fill: theme.cardShine, opacity: 0.55 })] }));
10388
+ },
10389
+ };
10390
+
10391
+ const BASE_PTS = [
10392
+ [27, 16],
10393
+ [83, 16],
10394
+ [101, 70],
10395
+ [55, 103],
10396
+ [9, 70],
10397
+ ];
10398
+ const CX = 55;
10399
+ const CY = 60;
10400
+ const CORNER_RADIUS = 8;
10401
+ const SVG_HEIGHT_RATIO = 1.073;
10402
+ const pentagonFrame = {
10403
+ kind: 'pentagon',
10404
+ layout(scale) {
10405
+ const bodyPx = 110 * scale;
10406
+ const height = bodyPx * SVG_HEIGHT_RATIO;
10407
+ const cardW = bodyPx * 0.58;
10408
+ const cardH = bodyPx * 0.45;
10409
+ return {
10410
+ width: bodyPx,
10411
+ height,
10412
+ bodyCenterX: bodyPx / 2,
10413
+ bodyCenterY: height / 2,
10414
+ iconCenterX: bodyPx / 2,
10415
+ iconCenterY: bodyPx * 0.5,
10416
+ iconWidth: cardW * 0.7,
10417
+ iconHeight: cardH * 0.7,
10418
+ };
10419
+ },
10420
+ render({ theme, scale, layout, progress }) {
10421
+ const pts = BASE_PTS.map(([x, y]) => [x * scale, y * scale]);
10422
+ const cx = CX * scale;
10423
+ const cy = CY * scale;
10424
+ const r = CORNER_RADIUS * scale;
10425
+ const shadowPts = pts.map(([x, y]) => [x, y + 4 * scale]);
10426
+ const pathShadow = roundedPolygonPath(shadowPts, r);
10427
+ const pathOuter = roundedPolygonPath(pts, r);
10428
+ const pathMid = roundedPolygonPath(scalePts(pts, cx, cy, 0.92), r * 0.92);
10429
+ const pathInner = roundedPolygonPath(scalePts(pts, cx, cy, 0.84), r * 0.84);
10430
+ const pathFace = roundedPolygonPath(scalePts(pts, cx, cy, 0.76), r * 0.76);
10431
+ const cardPts = scalePts(pts, cx, cy, 0.58);
10432
+ const cardPath = roundedPolygonPath(cardPts, r * 0.58);
10433
+ const shinePts = scalePts(cardPts, cx, cy - 3 * scale, 0.85)
10434
+ .map(([x, y]) => [x, y - 2 * scale])
10435
+ .slice(0, 3);
10436
+ const shinePath = [
10437
+ `M ${shinePts[0][0]} ${shinePts[0][1]}`,
10438
+ `L ${shinePts[1][0]} ${shinePts[1][1]}`,
10439
+ `L ${shinePts[2][0]} ${shinePts[2][1]}`,
10440
+ `L ${cx} ${cy - 2 * scale}`,
10441
+ 'Z',
10442
+ ].join(' ');
10443
+ return (jsxRuntime.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: [jsxRuntime.jsx("path", { d: pathShadow, fill: theme.shadow, opacity: 0.55 }), jsxRuntime.jsx("path", { d: pathOuter, fill: theme.outer }), jsxRuntime.jsx("path", { d: pathOuter, fill: "none", stroke: theme.outerStroke, strokeWidth: 2.5 * scale, opacity: 0.65 }), jsxRuntime.jsx("path", { d: pathMid, fill: theme.mid }), jsxRuntime.jsx("path", { d: pathInner, fill: theme.inner }), jsxRuntime.jsx("path", { d: pathFace, fill: "none", stroke: theme.innerStroke, strokeWidth: scale, opacity: 0.5 }), progress !== undefined && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: pathMid, fill: "none", stroke: theme.shadow, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", opacity: 0.55, pathLength: 1000 }), jsxRuntime.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) })] })), jsxRuntime.jsx("path", { d: cardPath, fill: theme.card }), jsxRuntime.jsx("path", { d: shinePath, fill: theme.cardShine, opacity: 0.55 })] }));
10444
+ },
10445
+ };
10446
+
10447
+ function classicShieldPath(cx, cy, w, h) {
10448
+ const l = cx - w / 2;
10449
+ const r = cx + w / 2;
10450
+ const t = cy - h * 0.48;
10451
+ const m = cy + h * 0.08;
10452
+ const b = cy + h * 0.52;
10453
+ return [
10454
+ `M ${(l + w * 0.06).toFixed(2)} ${t.toFixed(2)}`,
10455
+ `L ${(r - w * 0.06).toFixed(2)} ${t.toFixed(2)}`,
10456
+ `Q ${r.toFixed(2)} ${t.toFixed(2)} ${r.toFixed(2)} ${(t + h * 0.06).toFixed(2)}`,
10457
+ `L ${r.toFixed(2)} ${m.toFixed(2)}`,
10458
+ `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)}`,
10459
+ `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)}`,
10460
+ `L ${l.toFixed(2)} ${(t + h * 0.06).toFixed(2)}`,
10461
+ `Q ${l.toFixed(2)} ${t.toFixed(2)} ${(l + w * 0.06).toFixed(2)} ${t.toFixed(2)}`,
10462
+ 'Z',
10463
+ ].join(' ');
10464
+ }
10465
+ const shieldWingsFrame = {
10466
+ kind: 'shieldWings',
10467
+ layout(scale) {
10468
+ const bodyPx = 110 * scale;
10469
+ const width = bodyPx;
10470
+ const height = bodyPx * 1.15;
10471
+ const shieldW = bodyPx * 0.82;
10472
+ const shieldH = bodyPx * 0.9;
10473
+ const cardW = shieldW * 0.58;
10474
+ const cardH = shieldH * 0.58;
10475
+ return {
10476
+ width,
10477
+ height,
10478
+ bodyCenterX: width / 2,
10479
+ bodyCenterY: height * 0.46,
10480
+ iconCenterX: width / 2,
10481
+ iconCenterY: height * 0.44,
10482
+ iconWidth: cardW * 0.72,
10483
+ iconHeight: cardH * 0.72,
10484
+ };
10485
+ },
10486
+ render({ theme, scale, layout, progress }) {
10487
+ const bodyPx = 110 * scale;
10488
+ const cx = layout.width / 2;
10489
+ const cy = layout.height * 0.46;
10490
+ const sw = bodyPx * 0.82;
10491
+ const sh = bodyPx * 0.9;
10492
+ const pathShadow = classicShieldPath(cx, cy + 4 * scale, sw, sh);
10493
+ const pathOuter = classicShieldPath(cx, cy, sw, sh);
10494
+ const pathMid = classicShieldPath(cx, cy, sw * 0.9, sh * 0.9);
10495
+ const pathInner = classicShieldPath(cx, cy, sw * 0.8, sh * 0.8);
10496
+ const pathFace = classicShieldPath(cx, cy, sw * 0.72, sh * 0.72);
10497
+ const pathCard = classicShieldPath(cx, cy + 2 * scale, sw * 0.58, sh * 0.58);
10498
+ const cw = sw * 0.58;
10499
+ const ch = sh * 0.58;
10500
+ const cardTop = cy + 2 * scale - ch * 0.48;
10501
+ const shineW1 = cw * 0.78;
10502
+ const shineW2 = cw * 0.5;
10503
+ const shineH = ch * 0.18;
10504
+ const shinePath = [
10505
+ `M ${(cx - shineW1 / 2).toFixed(2)} ${(cardTop + scale).toFixed(2)}`,
10506
+ `L ${(cx + shineW1 / 2).toFixed(2)} ${(cardTop + scale).toFixed(2)}`,
10507
+ `L ${(cx + shineW2 / 2).toFixed(2)} ${(cardTop + shineH).toFixed(2)}`,
10508
+ `L ${(cx - shineW2 / 2).toFixed(2)} ${(cardTop + shineH).toFixed(2)}`,
10509
+ 'Z',
10510
+ ].join(' ');
10511
+ return (jsxRuntime.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: [jsxRuntime.jsx("path", { d: pathShadow, fill: theme.shadow, opacity: 0.55 }), jsxRuntime.jsx("path", { d: pathOuter, fill: theme.outer }), jsxRuntime.jsx("path", { d: pathOuter, fill: "none", stroke: theme.outerStroke, strokeWidth: 2.5 * scale, opacity: 0.65 }), jsxRuntime.jsx("path", { d: pathMid, fill: theme.mid }), jsxRuntime.jsx("path", { d: pathInner, fill: theme.inner }), jsxRuntime.jsx("path", { d: pathFace, fill: "none", stroke: theme.innerStroke, strokeWidth: scale, opacity: 0.55 }), progress !== undefined && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: pathMid, fill: "none", stroke: theme.shadow, strokeWidth: 4.5 * scale, strokeLinecap: "round", strokeLinejoin: "round", opacity: 0.55, pathLength: 1000 }), jsxRuntime.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) })] })), jsxRuntime.jsx("path", { d: pathCard, fill: theme.card }), jsxRuntime.jsx("path", { d: shinePath, fill: theme.cardShine, opacity: 0.55 })] }));
10512
+ },
10513
+ };
10514
+
10515
+ const SPHERE_R_RATIO = 0.418; // 46 / 110 — sphere radius / bodyPx (desktop original)
10516
+ const RING_R_RATIO = 1.174; // 54 / 46 — ring radius / sphere radius
10517
+ const STROKE_RATIO = 0.055; // 6 / 110 — ring stroke width / bodyPx
10518
+ const TRACK_COLOR = '#1f1f23'; // matches original ProgressRing inactiveColor
10519
+ function parseColorToHsl(color) {
10520
+ if (!color)
10521
+ return null;
10522
+ // hsl(h s% l%) or hsl(h, s%, l%) or hsla(...)
10523
+ const m = color.match(/hsl[a]?\(\s*([\d.]+)[\s,]+([\d.]+)%[\s,]+([\d.]+)%/i);
10524
+ if (m)
10525
+ return { h: +m[1], s: +m[2], l: +m[3] };
10526
+ const rgb = hexToRgb(color);
10527
+ if (rgb)
10528
+ return rgbToHsl(rgb.r, rgb.g, rgb.b);
10529
+ return null;
10530
+ }
10531
+ const sphereFrame = {
10532
+ kind: 'sphere',
10533
+ layout(scale) {
10534
+ const bodyPx = 110 * scale;
10535
+ const sphereR = bodyPx * SPHERE_R_RATIO;
10536
+ const iconSize = sphereR * 0.9;
10537
+ return {
10538
+ width: bodyPx,
10539
+ height: bodyPx,
10540
+ bodyCenterX: bodyPx / 2,
10541
+ bodyCenterY: bodyPx / 2,
10542
+ iconCenterX: bodyPx / 2,
10543
+ iconCenterY: bodyPx / 2,
10544
+ iconWidth: iconSize,
10545
+ iconHeight: iconSize,
10546
+ };
10547
+ },
10548
+ render({ theme, scale, layout, progress }) {
10549
+ const cx = layout.width / 2;
10550
+ const cy = layout.height / 2;
10551
+ const bodyPx = 110 * scale;
10552
+ const sphereR = bodyPx * SPHERE_R_RATIO;
10553
+ const ringR = sphereR * RING_R_RATIO;
10554
+ const ringStroke = bodyPx * STROKE_RATIO;
10555
+ const circumference = 2 * Math.PI * ringR;
10556
+ // Derive the gradient stops by tweaking the source color's lightness.
10557
+ // The original config.gradient (e.g. DESAFIO: #14b8a6 → #10b981 → #059669)
10558
+ // spans roughly l+1, l, l-17 from the mid color — a subtle slope, not the
10559
+ // dramatic light-to-dark range of cardShine→outer in the PentagonTheme.
10560
+ const baseHsl = parseColorToHsl(theme.card);
10561
+ const topStop = baseHsl
10562
+ ? hsl(baseHsl.h, baseHsl.s, Math.min(92, baseHsl.l + 4))
10563
+ : theme.cardShine;
10564
+ const midStop = theme.card;
10565
+ const bottomStop = baseHsl
10566
+ ? hsl(baseHsl.h, baseHsl.s, Math.max(10, baseHsl.l - 18))
10567
+ : theme.outer;
10568
+ // Unique IDs derived from theme colors to avoid clashes across the document.
10569
+ const uid = (theme.card + theme.outerStroke)
10570
+ .replace(/[^a-zA-Z0-9]/g, '')
10571
+ .slice(0, 16);
10572
+ const lgId = `slg-${uid}`; // sphere body linear gradient
10573
+ const rgId = `srg-${uid}`; // center radial glow
10574
+ const glowFilterId = `sgf-${uid}`; // gaussian blur for the colored halo
10575
+ return (jsxRuntime.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: [jsxRuntime.jsxs("defs", { children: [jsxRuntime.jsxs("linearGradient", { id: lgId, x1: "0", y1: "0", x2: "0", y2: "1", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: topStop }), jsxRuntime.jsx("stop", { offset: "50%", stopColor: midStop }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: bottomStop })] }), jsxRuntime.jsxs("radialGradient", { id: rgId, cx: "50%", cy: "50%", r: "50%", children: [jsxRuntime.jsx("stop", { offset: "0%", stopColor: theme.card, stopOpacity: 0.5 }), jsxRuntime.jsx("stop", { offset: "100%", stopColor: theme.card, stopOpacity: 0 })] }), jsxRuntime.jsx("filter", { id: glowFilterId, x: "-50%", y: "-50%", width: "200%", height: "200%", children: jsxRuntime.jsx("feGaussianBlur", { stdDeviation: 6 * scale }) })] }), jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: sphereR, fill: theme.card, opacity: 0.3, filter: `url(#${glowFilterId})` }), progress !== undefined && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: ringR, fill: "none", stroke: TRACK_COLOR, strokeWidth: ringStroke }), jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: ringR, fill: "none", stroke: theme.card, strokeWidth: ringStroke, strokeDasharray: circumference, strokeDashoffset: circumference * (1 - progress / 100), strokeLinecap: "round", transform: `rotate(-90 ${cx} ${cy})`, style: { transition: 'stroke-dashoffset 0.5s ease' } })] })), jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: sphereR, fill: `url(#${lgId})` }), jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: sphereR - 3 * scale, fill: `url(#${rgId})` })] }));
10576
+ },
10577
+ };
10578
+
10579
+ const FRAMES_BY_KIND = {
10580
+ sphere: sphereFrame,
10581
+ pentagon: pentagonFrame,
10582
+ hexagonWings: hexagonWingsFrame,
10583
+ circleLaurel: circleLaurelFrame,
10584
+ hexagonRibbon: hexagonRibbonFrame,
10585
+ shieldWings: shieldWingsFrame,
10586
+ pentagonCrown: pentagonCrownFrame,
10587
+ };
10588
+ const FRAME_BY_TYPE = {
10589
+ challenge: pentagonFrame};
10590
+
10591
+ const SIZE_PX = {
10592
+ md: 110,
10593
+ sm: 60,
10594
+ };
10595
+ function JourneyStep({ color, stepType = 'challenge', frame, icon, isActive = true, isLocked = false, progress, size = 'md', ariaLabel, className, onClick, }) {
10596
+ const inactive = !isActive || isLocked;
10597
+ const interactive = typeof onClick === 'function';
10598
+ const theme = React2.useMemo(() => {
10599
+ if (inactive)
10600
+ return INACTIVE_THEME;
10601
+ if (color)
10602
+ return buildThemeFromColor(color);
10603
+ return THEMES[STEP_TYPE_TO_THEME[stepType]] ?? THEMES.blue;
10604
+ }, [color, stepType, inactive]);
10605
+ const bodyPx = SIZE_PX[size];
10606
+ const scale = bodyPx / 110;
10607
+ const defaultFrame = STEP_TYPE_TO_FRAME[stepType] ?? 'pentagon';
10608
+ const selectedFrame = frame
10609
+ ? FRAMES_BY_KIND[frame]
10610
+ : (FRAMES_BY_KIND[defaultFrame] ?? FRAME_BY_TYPE.challenge);
10611
+ const layout = React2.useMemo(() => selectedFrame.layout(scale), [scale, selectedFrame]);
10612
+ const rootClassName = [
10613
+ 'journey-step',
10614
+ `is-size-${size}`,
10615
+ isActive ? 'is-active' : 'is-inactive-state',
10616
+ isLocked ? 'is-locked' : '',
10617
+ className ?? '',
10618
+ ]
10619
+ .filter(Boolean)
10620
+ .join(' ');
10621
+ const wrapperStyle = {
10622
+ width: layout.width,
10623
+ height: layout.height,
10624
+ };
10625
+ const iconStyle = {
10626
+ left: `${(layout.iconCenterX / layout.width) * 100}%`,
10627
+ top: `${(layout.iconCenterY / layout.height) * 100}%`,
10628
+ width: layout.iconWidth,
10629
+ height: layout.iconHeight,
10630
+ };
10631
+ const badge = (jsxRuntime.jsxs("div", { className: "journey-step__badge", style: wrapperStyle, children: [selectedFrame.render({ theme, scale, layout, progress }), jsxRuntime.jsx("div", { className: `journey-step__icon${isLocked ? ' is-locked' : ''}`, style: iconStyle, "aria-hidden": "true", children: icon })] }));
10632
+ return (jsxRuntime.jsx("div", { className: rootClassName, style: wrapperStyle, children: interactive ? (jsxRuntime.jsx("button", { type: "button", className: "journey-step__interactive", "aria-label": ariaLabel, "aria-disabled": isLocked, disabled: isLocked, onClick: onClick, children: badge })) : (badge) }));
10633
+ }
10634
+
10635
+ function JourneyCrystalPin({ className, style }) {
10636
+ return (jsxRuntime.jsxs("div", { className: ['journey-crystal-pin', className].filter(Boolean).join(' '), style: style, children: [jsxRuntime.jsx("div", { className: "journey-crystal-pin__glow", "aria-hidden": "true", children: jsxRuntime.jsx("svg", { viewBox: "0 0 40 60", className: "journey-crystal-pin__svg", children: jsxRuntime.jsx("polygon", { points: "20,0 40,20 20,60 0,20", fill: "#a78bfa" }) }) }), jsxRuntime.jsxs("svg", { viewBox: "0 0 40 60", className: "journey-crystal-pin__svg journey-crystal-pin__crystal", "aria-hidden": "true", focusable: "false", children: [jsxRuntime.jsx("polygon", { points: "20,0 0,20 20,60", fill: "#7c3aed" }), jsxRuntime.jsx("polygon", { points: "20,0 40,20 20,60", fill: "#a78bfa" }), jsxRuntime.jsx("polygon", { points: "20,0 0,20 10,15", fill: "#c4b5fd" }), jsxRuntime.jsx("polygon", { points: "20,0 40,20 30,15", fill: "#ddd6fe" }), jsxRuntime.jsx("line", { x1: "20", y1: "0", x2: "20", y2: "60", stroke: "#8b5cf6", strokeWidth: "1", opacity: "0.5" })] })] }));
10637
+ }
10638
+
10639
+ 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}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.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}";
9672
10640
  styleInject(css_248z$1,{"insertAt":"top"});
9673
10641
 
9674
- 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}";
10642
+ 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}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.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}";
9675
10643
  styleInject(css_248z,{"insertAt":"top"});
9676
10644
 
9677
10645
  exports.BACKOFFICE_ROLES = void 0;
@@ -9724,6 +10692,10 @@ var academeApi = /*#__PURE__*/Object.freeze({
9724
10692
 
9725
10693
  exports.AcademeAuthProvider = AcademeAuthProvider;
9726
10694
  exports.Button = Button;
10695
+ exports.CosmicDecor = CosmicDecor;
10696
+ exports.CosmicStarsCanvas = CosmicStarsCanvas;
10697
+ exports.JourneyCrystalPin = JourneyCrystalPin;
10698
+ exports.JourneyStep = JourneyStep;
9727
10699
  exports.ProtectedApp = ProtectedApp;
9728
10700
  exports.ProtectedComponent = ProtectedComponent;
9729
10701
  exports.ProtectedRouter = ProtectedRouter;