3d-effect-cinema 0.5.4 → 0.7.1

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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # 🎬 3D Effect Cinema (v0.5.0)
1
+ # 🎬 3D Effect Cinema (v0.7.0)
2
2
 
3
- > Componente de Fondo WebGL 3D de Alto Rendimiento, Motor de Efectos Bioluminiscentes y Pantalla de Carga / Intro Cinematográfica para React y Next.js impulsado por `@react-three/fiber` & `three`.
3
+ > Componente de Fondo WebGL 3D de Alto Rendimiento, Motor de Efectos Bioluminiscentes, Tipografía 3D Personalizable y Pantalla de Carga / Intro Cinematográfica para React y Next.js impulsado por `@react-three/fiber` & `three`.
4
4
  > **100% Compatible con Next.js 14, 15 y 16 (App Router & Pages Router con Turbopack o Webpack) sin necesidad de configuraciones adicionales.**
5
5
 
6
6
  [![npm version](https://img.shields.io/npm/v/3d-effect-cinema.svg?style=flat-square&color=blue)](https://www.npmjs.com/package/3d-effect-cinema)
@@ -10,6 +10,15 @@
10
10
 
11
11
  ---
12
12
 
13
+ ## 🚀 Novedades en v0.7.0
14
+
15
+ - 📋 **Exportación directa a Código JSX**: Botón inteligente en el modal de estudio de control para copiar de 1-clic el componente exacto con todos los parámetros configurados.
16
+ - 🔤 **Espaciado Proporcional de Letras**: Cálculo de interlineado/kerning proporcional dinámico para prevenir huecos gigantes entre espacios o caracteres.
17
+ - 🎨 **Color Personalizado para Letras 3D (`textColor`)**: Selector de colores para el material 3D de la tipografía (soporta `#HEX` e independización del tema).
18
+ - 🔀 **8 Tipografías 3D Integradas**: Selección ampliada con fuentes Bold, Light, Clean, Sci-Fi y Serif.
19
+
20
+ ---
21
+
13
22
  ## 🚀 Demo Interactivo en Vivo
14
23
 
15
24
  👉 **[Probar la Galería Interactiva en Vivo (Vercel)](https://cinema-animation-sample.vercel.app)**
@@ -36,7 +45,8 @@ export default function App() {
36
45
  <div className="w-full h-screen">
37
46
  <AnimatedBackground
38
47
  title="CINEMULTIPLEX"
39
- fontFamily="helvetiker"
48
+ fontFamily="cinema"
49
+ textColor="#FFD700"
40
50
  effect="blobs,flames"
41
51
  effectColor="#00e5ff"
42
52
  backgroundColor="#07080c"
@@ -59,7 +69,7 @@ export default function SplashIntro() {
59
69
  <div className="w-full h-screen">
60
70
  <AnimatedBackground
61
71
  title="CINEMULTIPLEX"
62
- fontFamily="helvetiker"
72
+ fontFamily="cinema"
63
73
  effect="blobs,flames"
64
74
  effectColor="#00e5ff"
65
75
  loaderDuration={5}
@@ -83,6 +93,7 @@ export default function SplashIntro() {
83
93
  | `containerSelector` | `string` | `undefined` | ID o selector del contenedor objetivo en el DOM (ej: `containerSelector="home"` o `containerSelector="#main-hero"`) para montarse como fondo allí. |
84
94
  | `effect` | `SingleEffectType \| SingleEffectType[] \| string` | `"flames"` | Efecto WebGL o **combinación múltiple de efectos** (ej: `effect="blobs,onda"` o `effect={["flames", "plasma"]}`). |
85
95
  | `effectColor` | `string` | `undefined` | Color personalizado para **TODOS** los efectos 3D activos (soporta códigos `#HEX` como `#00e676`, `#ff0055` o nombres en español como `"azul"`, `"verde"`, `"magenta"`). |
96
+ | `textColor` | `string` | `undefined` | Color personalizado para las **letras del texto 3D** (soporta códigos `#HEX` como `#FFD700`, `#ffffff` o nombres en español `"blanco"`, `"dorado"`, `"rojo"`, `"azul"`). |
86
97
  | `effectDensity` | `number` | `0.3` | Densidad/cantidad de partículas y llamas (`0.1` a `1.0`, por defecto `0.3` para un aspecto limpio y equilibrado). |
87
98
  | `effectSpeed` | `number` | `0.5` | Multiplicador de velocidad de movimiento 3D (`0.1` a `2.0`, por defecto `0.5` para un movimiento suave sin mareos). |
88
99
  | `backgroundColor` | `string` | `undefined` | Color o gradiente de fondo (soporta códigos `#HEX` como `#ffffff`, `#3b0712`, gradientes CSS o nombres en español `"rojo"`, `"azul"`, `"verde"`). |
@@ -90,11 +101,11 @@ export default function SplashIntro() {
90
101
  | `loaderDuration` | `number` | `undefined` | *(Opcional)* Duración en **segundos** para usar el componente como pantalla de carga / intro splash screen. Si no se define, se mantiene como un fondo permanente. |
91
102
  | `redirectUrl` | `string` | `undefined` | *(Opcional)* URL o ruta a la cual redireccionar automáticamente cuando finaliza la cuenta regresiva de `loaderDuration`. |
92
103
  | `onComplete` | `() => void` | `undefined` | *(Opcional)* Callback ejecutado al finalizar el temporizador de `loaderDuration`. |
93
- | `fontFamily` | `"cinema"` \| `"helvetiker"` \| `"gentilis"` \| `"optimer"` \| `string` | `"cinema"` | Tipografía 3D elegible (`"cinema"`, `"helvetiker"`, `"gentilis"`, `"optimer"` o URL personalizada). |
104
+ | `fontFamily` | `"cinema"` \| `"helvetiker-regular"` \| `"gentilis"` \| `"gentilis-light"` \| `"optimer"` \| `"optimer-clean"` \| `"droid-sans"` \| `"droid-serif"` \| `string` | `"cinema"` | Tipografía 3D elegible (8 tipografías integradas o URL personalizada). |
94
105
  | `fontUrl` | `string` | `undefined` | URL personalizada de un archivo Typeface JSON 3D. |
95
- | `letterSpacing` | `number` | `0.85` | Multiplicador del espaciado entre letras 3D. |
106
+ | `letterSpacing` | `number` | `0.85` | Multiplicador del espaciado proporcional entre letras 3D. |
96
107
  | `containerToDisplay` | `"lhome"` \| `"home"` \| `ReactNode` | `undefined` | Plantilla de vista superpuesta ("lhome" para la landing de cine, o cualquier componente React). |
97
- | `theme` | `'emerald'` \| `'crimson'` \| `'gold'` \| `'neon'` \| `'obsidian'` \| `'glass'` | `'crimson'` | Tema de luces y material 3D del texto. |
108
+ | `theme` | `'emerald'` \| `'crimson'` \| `'gold'` \| `'neon'` \| `'obsidian'` \| `'glass'` | `'crimson'` | Tema de luces y material 3D por defecto del texto. |
98
109
 
99
110
  ---
100
111
 
package/dist/index.d.mts CHANGED
@@ -9,9 +9,10 @@ interface AnimatedLetterProps {
9
9
  position: [number, number, number];
10
10
  phase: "loading" | "entering" | "idle" | "exiting";
11
11
  theme: MaterialTheme;
12
+ textColor?: string;
12
13
  fontUrl: string;
13
14
  }
14
- declare function AnimatedLetter({ char, index, totalLetters, position, phase, theme, fontUrl, }: AnimatedLetterProps): react.JSX.Element | null;
15
+ declare function AnimatedLetter({ char, index, totalLetters, position, phase, theme, textColor, fontUrl, }: AnimatedLetterProps): react.JSX.Element | null;
15
16
 
16
17
  type SingleEffectType = "fire" | "flames" | "crystal-flames" | "fluid-flames" | "blobs" | "energy-blobs" | "plasma-blobs" | "inferno" | "sparks" | "shockwave" | "wave" | "plasma" | "electric" | "embers" | "supernova" | "all";
17
18
  type EffectType = SingleEffectType | SingleEffectType[] | string;
@@ -38,10 +39,12 @@ interface AnimatedBackgroundProps {
38
39
  loaderDuration?: number;
39
40
  /** Optional URL to redirect to automatically when loaderDuration timer reaches 0 */
40
41
  redirectUrl?: string;
42
+ /** Custom 3D Text / Letter color (e.g. "#ffffff", "#FFD700", "#00ffff", "#ff1744", "dorado", "rojo", etc.) */
43
+ textColor?: string;
41
44
  /** Optional callback triggered when loaderDuration timer finishes */
42
45
  onComplete?: () => void;
43
- /** 3D Font Family ("cinema", "helvetiker", "gentilis", "optimer" or custom font URL) */
44
- fontFamily?: "cinema" | "helvetiker" | "gentilis" | "optimer" | string;
46
+ /** 3D Font Family ("cinema", "helvetiker", "gentilis", "optimer", "droid-sans", "droid-serif" or custom font URL) */
47
+ fontFamily?: "cinema" | "helvetiker" | "gentilis" | "optimer" | "droid-sans" | "droid-serif" | string;
45
48
  /** Custom 3D Typeface JSON URL */
46
49
  fontUrl?: string;
47
50
  /** 3D Material theme */
@@ -60,7 +63,7 @@ interface AnimatedBackgroundProps {
60
63
  * Supports permanent 3D background mode OR cinematic Splash Screen / Loader mode (with loaderDuration & redirectUrl).
61
64
  * Can be targeted to a DOM container via `containerSelector` (e.g. containerSelector="home").
62
65
  */
63
- declare function AnimatedBackground({ containerToDisplay, containerSelector, effect, title, backgroundColor, effectColor, effectSpeed, effectDensity, autoFitText, loaderDuration, redirectUrl, onComplete, fontFamily, fontUrl, theme, letterSpacing, className, style, children, }: AnimatedBackgroundProps): react__default.JSX.Element;
66
+ declare function AnimatedBackground({ containerToDisplay, containerSelector, effect, title, backgroundColor, effectColor, textColor, effectSpeed, effectDensity, autoFitText, loaderDuration, redirectUrl, onComplete, fontFamily, fontUrl, theme, letterSpacing, className, style, children, }: AnimatedBackgroundProps): react__default.JSX.Element;
64
67
 
65
68
  interface CinemaBackgroundProps {
66
69
  /** 3D Text rendered in world space */
package/dist/index.d.ts CHANGED
@@ -9,9 +9,10 @@ interface AnimatedLetterProps {
9
9
  position: [number, number, number];
10
10
  phase: "loading" | "entering" | "idle" | "exiting";
11
11
  theme: MaterialTheme;
12
+ textColor?: string;
12
13
  fontUrl: string;
13
14
  }
14
- declare function AnimatedLetter({ char, index, totalLetters, position, phase, theme, fontUrl, }: AnimatedLetterProps): react.JSX.Element | null;
15
+ declare function AnimatedLetter({ char, index, totalLetters, position, phase, theme, textColor, fontUrl, }: AnimatedLetterProps): react.JSX.Element | null;
15
16
 
16
17
  type SingleEffectType = "fire" | "flames" | "crystal-flames" | "fluid-flames" | "blobs" | "energy-blobs" | "plasma-blobs" | "inferno" | "sparks" | "shockwave" | "wave" | "plasma" | "electric" | "embers" | "supernova" | "all";
17
18
  type EffectType = SingleEffectType | SingleEffectType[] | string;
@@ -38,10 +39,12 @@ interface AnimatedBackgroundProps {
38
39
  loaderDuration?: number;
39
40
  /** Optional URL to redirect to automatically when loaderDuration timer reaches 0 */
40
41
  redirectUrl?: string;
42
+ /** Custom 3D Text / Letter color (e.g. "#ffffff", "#FFD700", "#00ffff", "#ff1744", "dorado", "rojo", etc.) */
43
+ textColor?: string;
41
44
  /** Optional callback triggered when loaderDuration timer finishes */
42
45
  onComplete?: () => void;
43
- /** 3D Font Family ("cinema", "helvetiker", "gentilis", "optimer" or custom font URL) */
44
- fontFamily?: "cinema" | "helvetiker" | "gentilis" | "optimer" | string;
46
+ /** 3D Font Family ("cinema", "helvetiker", "gentilis", "optimer", "droid-sans", "droid-serif" or custom font URL) */
47
+ fontFamily?: "cinema" | "helvetiker" | "gentilis" | "optimer" | "droid-sans" | "droid-serif" | string;
45
48
  /** Custom 3D Typeface JSON URL */
46
49
  fontUrl?: string;
47
50
  /** 3D Material theme */
@@ -60,7 +63,7 @@ interface AnimatedBackgroundProps {
60
63
  * Supports permanent 3D background mode OR cinematic Splash Screen / Loader mode (with loaderDuration & redirectUrl).
61
64
  * Can be targeted to a DOM container via `containerSelector` (e.g. containerSelector="home").
62
65
  */
63
- declare function AnimatedBackground({ containerToDisplay, containerSelector, effect, title, backgroundColor, effectColor, effectSpeed, effectDensity, autoFitText, loaderDuration, redirectUrl, onComplete, fontFamily, fontUrl, theme, letterSpacing, className, style, children, }: AnimatedBackgroundProps): react__default.JSX.Element;
66
+ declare function AnimatedBackground({ containerToDisplay, containerSelector, effect, title, backgroundColor, effectColor, textColor, effectSpeed, effectDensity, autoFitText, loaderDuration, redirectUrl, onComplete, fontFamily, fontUrl, theme, letterSpacing, className, style, children, }: AnimatedBackgroundProps): react__default.JSX.Element;
64
67
 
65
68
  interface CinemaBackgroundProps {
66
69
  /** 3D Text rendered in world space */
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  "use client";
2
2
  import React from "react";
3
- "use strict";var Dt=Object.create;var ge=Object.defineProperty,Wt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptor,Ut=Object.getOwnPropertyDescriptors,Yt=Object.getOwnPropertyNames,Re=Object.getOwnPropertySymbols,Vt=Object.getPrototypeOf,De=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;var qe=(t,e,r)=>e in t?ge(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,P=(t,e)=>{for(var r in e||(e={}))De.call(e,r)&&qe(t,r,e[r]);if(Re)for(var r of Re(e))Ke.call(e,r)&&qe(t,r,e[r]);return t},G=(t,e)=>Wt(t,Ut(e));var Je=(t,e)=>{var r={};for(var n in t)De.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&Re)for(var n of Re(t))e.indexOf(n)<0&&Ke.call(t,n)&&(r[n]=t[n]);return r};var $t=(t,e)=>{for(var r in e)ge(t,r,{get:e[r],enumerable:!0})},Qe=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Yt(e))!De.call(t,o)&&o!==r&&ge(t,o,{get:()=>e[o],enumerable:!(n=Xt(e,o))||n.enumerable});return t};var j=(t,e,r)=>(r=t!=null?Dt(Vt(t)):{},Qe(e||!t||!t.__esModule?ge(r,"default",{value:t,enumerable:!0}):r,t)),Gt=t=>Qe(ge({},"__esModule",{value:!0}),t);var lr={};$t(lr,{AnimatedBackground:()=>Ie,AnimatedLetter:()=>Z,CameraRig:()=>J,CinemaBackground:()=>Ee,CinemaHome:()=>Me,CinemaLoader:()=>$e,ClickFireSparks:()=>Q,ClickShockwave:()=>ee,ElectricPlasma:()=>te,FireFlames:()=>ye,LoaderOverlay:()=>Te,PlasmaBlobs:()=>we,SceneParticles:()=>K,default:()=>Ie,withCinema3D:()=>At});module.exports=Gt(lr);var F=require("react"),Nt=require("@react-three/fiber"),Be=require("@react-three/drei"),ae=require("@react-three/postprocessing");var be=require("react"),et=require("@react-three/fiber"),tt=require("@react-three/drei"),fe=j(require("three")),xe=require("react/jsx-runtime"),jt={gold:{color:"#FFD700",metalness:1,roughness:.15,clearcoat:1,emissive:"#1a0f00",emissiveIntensity:.3,envMapIntensity:2},neon:{color:"#00ffff",metalness:0,roughness:1,clearcoat:0,emissive:"#00ffff",emissiveIntensity:2.5,envMapIntensity:.5},emerald:{color:"#10b981",metalness:.9,roughness:.1,clearcoat:1,emissive:"#065f46",emissiveIntensity:1.2,envMapIntensity:2.5},crimson:{color:"#ff1744",metalness:.8,roughness:.15,clearcoat:1,emissive:"#880e4f",emissiveIntensity:1.8,envMapIntensity:2},obsidian:{color:"#1a1a2e",metalness:1,roughness:.05,clearcoat:1,emissive:"#0a0a1a",emissiveIntensity:.1,envMapIntensity:3},glass:{color:"#ffffff",metalness:0,roughness:0,clearcoat:0,emissive:"#000000",emissiveIntensity:0,envMapIntensity:1.5,transmission:.95,ior:1.5,thickness:.5,transparent:!0}};function Z({char:t,index:e,totalLetters:r,position:n,phase:o,theme:m,fontUrl:f}){let c=(0,be.useRef)(null),d=(0,be.useRef)(null),a=(0,be.useMemo)(()=>{let l=e/r*Math.PI*2;return{x:Math.cos(l)*4+(Math.random()-.5)*2,y:-3+Math.random()*-3,z:-5+Math.random()*-3,rotX:(Math.random()-.5)*Math.PI*2,rotY:(Math.random()-.5)*Math.PI*2}},[e,r]),s=jt[m];return(0,et.useFrame)(l=>{if(!c.current)return;let i=l.clock.getElapsedTime();d.current===null&&(d.current=i);let v=i-d.current,u=e*.12;if(o==="loading"){c.current.position.set(n[0]+a.x,n[1]+a.y,n[2]+a.z),c.current.rotation.set(a.rotX,a.rotY,0),c.current.scale.setScalar(0);return}if(o==="entering"){let y=Math.max(0,v-u),p=1-Math.exp(-y*3),T=1+Math.sin(y*8)*Math.max(0,.15-y*.1);c.current.position.set(fe.MathUtils.lerp(n[0]+a.x,n[0],p),fe.MathUtils.lerp(n[1]+a.y,n[1],p),fe.MathUtils.lerp(n[2]+a.z,n[2],p)),c.current.rotation.set(fe.MathUtils.lerp(a.rotX,0,p),fe.MathUtils.lerp(a.rotY,0,p),0),c.current.scale.setScalar(Math.min(p*T,1.05));return}if(o==="idle"){let y=Math.sin(i*1.2+e*.5)*.015,p=Math.sin(i*.8+e*.3)*.008;c.current.position.set(n[0]+p,n[1]+y,n[2]),c.current.rotation.set(Math.sin(i*.5+e)*.01,Math.sin(i*.3+e*.7)*.01,0),c.current.scale.setScalar(1);return}if(o==="exiting"){let y=Math.max(0,v-u*.5),p=Math.min(y*2,1),T=p*p;c.current.position.set(n[0]+a.x*T*.5,n[1],n[2]-T*8),c.current.scale.setScalar(Math.max(1-T,0)),c.current.rotation.y+=.05}}),t===" "?null:(0,xe.jsx)("group",{ref:c,position:n,children:(0,xe.jsxs)(tt.Text3D,{font:f,size:.8,height:.35,bevelEnabled:!0,bevelSize:.02,bevelThickness:.01,bevelSegments:3,curveSegments:12,children:[t,(0,xe.jsx)("meshPhysicalMaterial",{color:s.color,metalness:s.metalness,roughness:s.roughness,clearcoat:s.clearcoat,emissive:s.emissive,emissiveIntensity:s.emissiveIntensity,envMapIntensity:s.envMapIntensity,transmission:s.transmission,ior:s.ior,thickness:s.thickness,transparent:s.transparent,toneMapped:m!=="neon"})]})})}var ce=require("react"),ot=require("@react-three/fiber"),We=require("@react-three/drei"),at=j(require("three")),q=require("react/jsx-runtime"),rt={gold:"#FFD700",neon:"#00ffff",emerald:"#10b981",crimson:"#ff1744",obsidian:"#a855f7",glass:"#ffffff"},nt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function Zt({color:t,speedMultiplier:e=.5,count:r=60}){let n=(0,ce.useRef)(null),o=(0,ce.useRef)(new at.Object3D),m=(0,ce.useRef)(null),f=(0,ce.useRef)(null);if(!m.current){m.current=new Float32Array(r),f.current=new Float32Array(r*3);for(let c=0;c<r;c++)m.current[c]=.1+Math.random()*.3,f.current[c*3]=(Math.random()-.5)*16,f.current[c*3+1]=(Math.random()-.5)*10,f.current[c*3+2]=(Math.random()-.5)*12}return(0,ot.useFrame)(c=>{if(!n.current||!m.current||!f.current)return;let d=c.clock.getElapsedTime()*e;for(let a=0;a<r;a++){let s=m.current[a],l=f.current[a*3],i=f.current[a*3+1],v=f.current[a*3+2];o.current.position.set(l+Math.sin(d*s+a)*2,i+Math.cos(d*s*.7+a*.5)*1.5,v+Math.sin(d*s*.5+a*.3)*2),o.current.scale.setScalar(.015+Math.sin(d+a)*.005),o.current.updateMatrix(),n.current.setMatrixAt(a,o.current.matrix)}n.current.instanceMatrix.needsUpdate=!0}),(0,q.jsxs)("instancedMesh",{ref:n,args:[void 0,void 0,r],children:[(0,q.jsx)("sphereGeometry",{args:[1,6,6]}),(0,q.jsx)("meshBasicMaterial",{color:t,transparent:!0,opacity:.3,toneMapped:!1})]})}function K({theme:t,effectColor:e,effectSpeed:r=.5,visible:n}){let o=(0,ce.useMemo)(()=>{if(!e)return rt[t]||rt.gold;let m=e.toLowerCase().trim();return nt[m]?nt[m]:e},[e,t]);return n?(0,q.jsxs)("group",{children:[(0,q.jsx)(We.Sparkles,{count:150,scale:10,size:4,speed:.3*r,opacity:.8,color:o,noise:.6}),(0,q.jsx)(We.Sparkles,{count:80,scale:16,size:2,speed:.15*r,opacity:.4,color:"#ffffff",noise:.8}),(0,q.jsx)(Zt,{color:o,speedMultiplier:r,count:50})]}):null}var Xe=require("react"),Ce=require("@react-three/fiber"),me=j(require("three"));function J({phase:t,effectSpeed:e=.5}){let{camera:r,pointer:n}=(0,Ce.useThree)(),o=(0,Xe.useRef)(null),m=(0,Xe.useRef)(t);return m.current!==t&&(m.current=t,o.current=null),(0,Ce.useFrame)(f=>{let c=f.clock.getElapsedTime()*e;o.current===null&&(o.current=c);let d=c-o.current;if(t==="loading"){r.position.set(0,0,14),r.lookAt(0,0,0);return}if(t==="entering"){let l=Math.min(d/3,1),i=1-Math.pow(1-l,3),v=me.MathUtils.lerp(14,6,i),u=me.MathUtils.lerp(1,.2,i);r.position.set(0,u,v),r.lookAt(0,0,0);return}let a=f.viewport.width/(f.viewport.height||1),s=a<1?Math.max(6,6/Math.max(.45,a*.85)):6;if(t==="idle"){let l=Math.sin(c*.1)*.2,i=Math.cos(c*.08)*.1+.2,v=n.x*.2,u=n.y*.1;r.position.x=me.MathUtils.damp(r.position.x,l+v,3,.016),r.position.y=me.MathUtils.damp(r.position.y,i+u,3,.016),r.position.z=me.MathUtils.damp(r.position.z,s,3,.016),r.lookAt(0,0,0);return}if(t==="exiting"){let l=Math.min(d/1.5,1),i=l*l*l,v=me.MathUtils.lerp(6,-8,i);r.position.set(0,0,v),r.lookAt(0,0,0)}}),null}var X=require("react"),Se=require("@react-three/fiber"),W=j(require("three"));var ne=require("react/jsx-runtime"),st={gold:["#FFD700","#FF8C00","#FF4500","#FFF8DC"],neon:["#00ffff","#0088ff","#ff00ff","#ffffff"],emerald:["#00ff88","#10b981","#059669","#a7f3d0"],crimson:["#ff1744","#d50000","#ff5252","#ffb74d"],obsidian:["#a855f7","#6366f1","#3b82f6","#ffffff"],glass:["#ffffff","#e0e7ff","#93c5fd","#60a5fa"]},qt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function Q({theme:t="gold",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{camera:o,raycaster:m}=(0,Se.useThree)(),[f,c]=(0,X.useState)([]),d=(0,X.useRef)(0),a=(0,X.useMemo)(()=>{if(!e)return st[t]||st.gold;let l=e.toLowerCase().trim(),i=qt[l]||e;return[i,"#ffffff",i]},[e,t]),s=(0,X.useCallback)(l=>{if(!n)return;let i=0,v=0;if("touches"in l&&l.touches.length>0)i=l.touches[0].clientX,v=l.touches[0].clientY;else if("clientX"in l)i=l.clientX,v=l.clientY;else return;let u=new W.Vector2(i/window.innerWidth*2-1,-(v/window.innerHeight)*2+1);m.setFromCamera(u,o);let y=new W.Plane(new W.Vector3(0,0,1),0),p=new W.Vector3;if(m.ray.intersectPlane(y,p),!p)return;let T=35,b=[];for(let h=0;h<T;h++){let x=Math.random()*Math.PI*2,k=(1.5+Math.random()*4.5)*r,g=(Math.random()-.3)*3*r,R=new W.Vector3(Math.cos(x)*k,Math.sin(x)*k+g,(Math.random()-.5)*k*.8),H=a[Math.floor(Math.random()*a.length)];b.push({id:h,position:p.clone(),velocity:R,color:new W.Color(H),size:.08+Math.random()*.12,life:1,maxLife:(.6+Math.random()*.8)/Math.max(.2,r)})}let E={id:d.current++,origin:p.clone(),sparks:b,color:a[0],lightIntensity:4,time:0};c(h=>[...h.slice(-4),E])},[o,m,a,r,n]);return(0,X.useEffect)(()=>(window.addEventListener("pointerdown",s),()=>{window.removeEventListener("pointerdown",s)}),[s]),(0,Se.useFrame)((l,i)=>{f.length!==0&&c(v=>v.map(u=>{let y=u.time+i*r,p=Math.max(0,u.lightIntensity-i*8*r),T=u.sparks.map(b=>{let E=b.life-i*r/b.maxLife;if(E<=0)return null;let h=b.position.clone().addScaledVector(b.velocity,i*r);return b.velocity.y-=i*3.5*r,b.velocity.multiplyScalar(.96),G(P({},b),{position:h,life:E})}).filter(Boolean);return T.length===0&&p<=0?null:G(P({},u),{time:y,lightIntensity:p,sparks:T})}).filter(Boolean))}),(0,ne.jsx)("group",{children:f.map(l=>(0,ne.jsxs)("group",{children:[l.lightIntensity>.05&&(0,ne.jsx)("pointLight",{position:l.origin,intensity:l.lightIntensity*3,distance:6,color:l.color}),l.sparks.map(i=>(0,ne.jsxs)("mesh",{position:i.position,children:[(0,ne.jsx)("sphereGeometry",{args:[i.size*i.life,6,6]}),(0,ne.jsx)("meshBasicMaterial",{color:i.color,transparent:!0,opacity:i.life,toneMapped:!1})]},i.id))]},l.id))})}var U=require("react"),Le=require("@react-three/fiber"),O=j(require("three"));var ue=require("react/jsx-runtime"),it={gold:"#FFD700",neon:"#00ffff",emerald:"#10b981",crimson:"#ff1744",obsidian:"#a855f7",glass:"#ffffff"},lt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function ee({theme:t="gold",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{camera:o,raycaster:m}=(0,Le.useThree)(),[f,c]=(0,U.useState)([]),d=(0,U.useRef)(0),a=(0,U.useMemo)(()=>{if(!e)return it[t]||it.gold;let l=e.toLowerCase().trim();return lt[l]?lt[l]:e},[e,t]),s=(0,U.useCallback)(l=>{if(!n)return;let i=0,v=0;if("touches"in l&&l.touches.length>0)i=l.touches[0].clientX,v=l.touches[0].clientY;else if("clientX"in l)i=l.clientX,v=l.clientY;else return;let u=new O.Vector2(i/window.innerWidth*2-1,-(v/window.innerHeight)*2+1);m.setFromCamera(u,o);let y=new O.Plane(new O.Vector3(0,0,1),0),p=new O.Vector3;if(m.ray.intersectPlane(y,p),!p)return;let T={id:d.current++,origin:p.clone(),radius:.1,maxRadius:3.5,life:1,color:new O.Color(a)};c(b=>[...b.slice(-4),T])},[o,m,a,n]);return(0,U.useEffect)(()=>(window.addEventListener("pointerdown",s),()=>{window.removeEventListener("pointerdown",s)}),[s]),(0,Le.useFrame)((l,i)=>{f.length!==0&&c(v=>v.map(u=>{let y=u.life-i*1.8*r;if(y<=0)return null;let p=u.radius+i*5*r;return G(P({},u),{life:y,radius:p})}).filter(Boolean))}),n?(0,ue.jsx)("group",{children:f.map(l=>(0,ue.jsxs)("mesh",{position:l.origin,rotation:[0,0,0],children:[(0,ue.jsx)("ringGeometry",{args:[l.radius*.9,l.radius,48]}),(0,ue.jsx)("meshBasicMaterial",{color:l.color,transparent:!0,opacity:l.life*.75,side:O.DoubleSide,toneMapped:!1})]},l.id))}):null}var ve=require("react"),Ne=require("@react-three/fiber"),Pe=j(require("three")),Ue=require("react/jsx-runtime"),ct={gold:"#ffaa00",neon:"#00ffff",emerald:"#00ffaa",crimson:"#ff0055",obsidian:"#9900ff",glass:"#88ccff"},mt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function te({theme:t="neon",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{pointer:o}=(0,Ne.useThree)(),m=(0,ve.useRef)(null),f=(0,ve.useMemo)(()=>{if(!e)return ct[t]||ct.neon;let a=e.toLowerCase().trim();return mt[a]?mt[a]:e},[e,t]),c=30,d=(0,ve.useMemo)(()=>{let a=new Pe.BufferGeometry,s=new Float32Array(c*2*3);return a.setAttribute("position",new Pe.BufferAttribute(s,3)),a},[c]);return(0,Ne.useFrame)(a=>{if(!m.current||!n)return;let s=a.clock.getElapsedTime()*r,l=m.current.geometry.attributes.position,i=l.array,v=o.x*6,u=o.y*3;for(let y=0;y<c;y++){let p=y*6,T=y/c*Math.PI*2+s*1.5,b=2.5+Math.sin(s*3+y)*.5,E=Math.cos(T)*b,h=Math.sin(T)*b,x=(Math.random()-.5)*1.5,k=E+(v-E)*.3+(Math.random()-.5)*.8,g=h+(u-h)*.3+(Math.random()-.5)*.8,R=x+(Math.random()-.5)*.8;i[p]=E,i[p+1]=h,i[p+2]=x,i[p+3]=k,i[p+4]=g,i[p+5]=R}l.needsUpdate=!0}),n?(0,Ue.jsx)("lineSegments",{ref:m,geometry:d,children:(0,Ue.jsx)("lineBasicMaterial",{color:f,transparent:!0,opacity:.75,linewidth:2,toneMapped:!1})}):null}var A=require("react"),He=require("@react-three/fiber"),re=j(require("three")),Y=require("react/jsx-runtime"),dt={crimson:{color1:"#ff3d00",color2:"#ff9100",light:"#ff1744"},gold:{color1:"#ffb300",color2:"#ffe082",light:"#FFD700"},emerald:{color1:"#00e676",color2:"#a7f3d0",light:"#10b981"},neon:{color1:"#00e5ff",color2:"#80d8ff",light:"#00ffff"},obsidian:{color1:"#d500f9",color2:"#ea80fc",light:"#a855f7"},glass:{color1:"#80d8ff",color2:"#ffffff",light:"#60a5fa"}},ft={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function Kt(){let t=document.createElement("canvas");t.width=128,t.height=128;let e=t.getContext("2d");if(e){let n=e.createRadialGradient(64,64,0,64,64,64);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.3,"rgba(255, 255, 255, 0.9)"),n.addColorStop(.65,"rgba(255, 255, 255, 0.35)"),n.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=n,e.fillRect(0,0,128,128)}let r=new re.CanvasTexture(t);return r.needsUpdate=!0,r}function ye({theme:t="crimson",effectColor:e,effectSpeed:r=.5,effectDensity:n=.3,mode:o="fluid",enabled:m=!0}){let{pointer:f}=(0,He.useThree)(),c=(0,A.useRef)(null),d=(0,A.useRef)(null),a=(0,A.useRef)(null),s=(0,A.useRef)(new re.Object3D),l=(0,A.useRef)(!1),i=(0,A.useRef)([]),v=Math.max(.1,Math.min(1,n)),u=Math.round(110*v),y=(0,A.useMemo)(()=>Kt(),[]),p=(0,A.useMemo)(()=>{if(!e)return(dt[t]||dt.crimson).color1;let h=e.toLowerCase().trim();return ft[h]?ft[h]:e},[e,t]),T=(0,A.useMemo)(()=>{let h=[],x=.4+Math.sqrt(v)*.55;for(let k=0;k<u;k++)h.push({x:(Math.random()-.5)*10,y:-2+Math.random()*.4,z:(Math.random()-.5)*2-.5,speedY:.8+Math.random()*1.8,speedX:(Math.random()-.5)*.5,size:(.4+Math.random()*.6)*x,phase:Math.random()*Math.PI*2,life:Math.random()});return h},[u,v]),b=(0,A.useCallback)(()=>{l.current=!0},[]),E=(0,A.useCallback)(()=>{l.current=!1},[]);return(0,A.useEffect)(()=>(window.addEventListener("pointerdown",b),window.addEventListener("pointerup",E),()=>{window.removeEventListener("pointerdown",b),window.removeEventListener("pointerup",E)}),[b,E]),(0,He.useFrame)((h,x)=>{if(!m)return;let k=h.clock.getElapsedTime()*r;if(l.current){let g=f.x*7,R=f.y*4;i.current.length<25&&i.current.push({x:g+(Math.random()-.5)*.8,y:R+(Math.random()-.5)*.8,z:(Math.random()-.5)*1.5,life:1,size:(.5+Math.random()*.6)*Math.sqrt(v)})}i.current=i.current.map(g=>(g.life-=x*1.8*r,g.y+=x*1.2*r,g)).filter(g=>g.life>0),a.current&&(a.current.intensity=2.2+Math.sin(k*10)*.6+Math.cos(k*15)*.3,a.current.position.y=-1+Math.sin(k*3)*.2),(o==="fluid"||o==="all")&&c.current&&(T.forEach((g,R)=>{g.life+=x*g.speedY*.35*r,g.life>1&&(g.life=0,g.x=(Math.random()-.5)*10,g.y=-2+Math.random()*.4);let H=g.life,_=g.y+H*3.8,he=g.x+Math.sin(k*2.5+g.phase)*.5+g.speedX*H,le=g.z+Math.cos(k*1.8+g.phase)*.2,$=Math.sin(H*Math.PI)*g.size*(1.2-H*.3);s.current.position.set(he,_,le),s.current.rotation.set(0,0,Math.sin(k*1.5+R)*.2),s.current.scale.set($,$*1.3,$),s.current.updateMatrix(),c.current.setMatrixAt(R,s.current.matrix)}),i.current.forEach((g,R)=>{let H=(u-1-R+u)%u,_=Math.sin(g.life*Math.PI)*g.size;s.current.position.set(g.x,g.y,g.z),s.current.rotation.set(0,0,Math.sin(k*3+R)*.3),s.current.scale.set(_,_*1.4,_),s.current.updateMatrix(),c.current.setMatrixAt(H,s.current.matrix)}),c.current.instanceMatrix.needsUpdate=!0),(o==="crystal"||o==="all")&&d.current&&(T.forEach((g,R)=>{let H=g.life,_=g.y+H*3.8,he=g.x+Math.sin(k*2.8+g.phase)*.5+g.speedX*H,le=g.z+Math.cos(k*2+g.phase)*.3,$=Math.sin(H*Math.PI)*g.size*.6;s.current.position.set(he,_,le),s.current.rotation.set(k*1.5+R,k*2,R),s.current.scale.set($,$*2,$),s.current.updateMatrix(),d.current.setMatrixAt(R,s.current.matrix)}),d.current.instanceMatrix.needsUpdate=!0)}),m?(0,Y.jsxs)("group",{children:[(0,Y.jsx)("pointLight",{ref:a,position:[0,-1,1.5],color:p,intensity:2.5,distance:10}),(o==="fluid"||o==="all")&&(0,Y.jsxs)("instancedMesh",{ref:c,args:[void 0,void 0,u],children:[(0,Y.jsx)("planeGeometry",{args:[1.2,1.2]}),(0,Y.jsx)("meshBasicMaterial",{map:y,color:p,transparent:!0,blending:re.AdditiveBlending,depthWrite:!1,side:re.DoubleSide})]}),(o==="crystal"||o==="all")&&(0,Y.jsxs)("instancedMesh",{ref:d,args:[void 0,void 0,u],children:[(0,Y.jsx)("coneGeometry",{args:[.3,1.2,5]}),(0,Y.jsx)("meshBasicMaterial",{color:p,transparent:!0,opacity:.65,blending:re.AdditiveBlending,depthWrite:!1})]})]}):null}var I=require("react"),Ae=require("@react-three/fiber"),oe=j(require("three")),de=require("react/jsx-runtime"),ut={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function Jt(){let t=document.createElement("canvas");t.width=256,t.height=256;let e=t.getContext("2d");if(e){let n=e.createRadialGradient(128,128,0,128,128,128);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.2,"rgba(0, 240, 200, 0.95)"),n.addColorStop(.5,"rgba(0, 200, 140, 0.6)"),n.addColorStop(.8,"rgba(0, 150, 100, 0.2)"),n.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=n,e.fillRect(0,0,256,256)}let r=new oe.CanvasTexture(t);return r.needsUpdate=!0,r}function we({theme:t="emerald",effectColor:e="#00e676",effectSpeed:r=.5,effectDensity:n=.5,enabled:o=!0}){let{pointer:m}=(0,Ae.useThree)(),f=(0,I.useRef)(null),c=(0,I.useRef)(null),d=(0,I.useRef)(new oe.Object3D),a=(0,I.useRef)(!1),s=(0,I.useRef)([]),l=Math.max(.1,Math.min(1,n)),i=Math.round(60*l),v=(0,I.useMemo)(()=>Jt(),[]),u=(0,I.useMemo)(()=>{if(!e)return"#00e676";let b=e.toLowerCase().trim();return ut[b]?ut[b]:e},[e]),y=(0,I.useMemo)(()=>{let b=[],E=1+Math.sqrt(l)*.8;for(let h=0;h<i;h++)b.push({x:(Math.random()-.5)*12,y:(Math.random()-.5)*6,z:(Math.random()-.5)*3,speedY:(Math.random()-.5)*.8,speedX:(Math.random()-.5)*.8,size:(.8+Math.random()*1.2)*E,phase:Math.random()*Math.PI*2,life:Math.random()});return b},[i,l]),p=(0,I.useCallback)(()=>{a.current=!0},[]),T=(0,I.useCallback)(()=>{a.current=!1},[]);return(0,I.useEffect)(()=>(window.addEventListener("pointerdown",p),window.addEventListener("pointerup",T),()=>{window.removeEventListener("pointerdown",p),window.removeEventListener("pointerup",T)}),[p,T]),(0,Ae.useFrame)((b,E)=>{if(!f.current||!o)return;let h=b.clock.getElapsedTime()*r;if(a.current){let x=m.x*7,k=m.y*4;s.current.length<15&&s.current.push({x:x+(Math.random()-.5)*.5,y:k+(Math.random()-.5)*.5,z:(Math.random()-.5)*1,life:1,size:(1.2+Math.random()*.8)*Math.sqrt(l)})}s.current=s.current.map(x=>(x.life-=E*1.2*r,x)).filter(x=>x.life>0),c.current&&(c.current.intensity=2.5+Math.sin(h*6)*.5),y.forEach((x,k)=>{let g=x.x+Math.sin(h*1.2+x.phase)*1.5,R=x.y+Math.cos(h*.9+x.phase*1.3)*1.2,H=x.z+Math.sin(h*.7+x.phase*.8)*.8,_=x.size*(1+Math.sin(h*2+k)*.25);d.current.position.set(g,R,H),d.current.scale.set(_,_,_),d.current.updateMatrix(),f.current.setMatrixAt(k,d.current.matrix)}),s.current.forEach((x,k)=>{let g=(i-1-k+i)%i,R=Math.sin(x.life*Math.PI)*x.size;d.current.position.set(x.x,x.y,x.z),d.current.scale.set(R,R,R),d.current.updateMatrix(),f.current.setMatrixAt(g,d.current.matrix)}),f.current.instanceMatrix.needsUpdate=!0}),o?(0,de.jsxs)("group",{children:[(0,de.jsx)("pointLight",{ref:c,position:[0,0,2],color:u,intensity:3,distance:12}),(0,de.jsxs)("instancedMesh",{ref:f,args:[void 0,void 0,i],children:[(0,de.jsx)("planeGeometry",{args:[1.8,1.8]}),(0,de.jsx)("meshBasicMaterial",{map:v,color:u,transparent:!0,opacity:.85,blending:oe.NormalBlending,depthWrite:!1,side:oe.DoubleSide})]})]}):null}var kt=require("react");var Qt={"nav.schedule":"Schedule","nav.experiences":"Experiences","nav.membership":"Membership","nav.login":"Log In","nav.bookTickets":"Book Tickets","hero.genreImax":"IMAX 3D","hero.genreAction":"ACTION / SCI-FI","hero.title":"AVATAR: THE WAY OF WATER","hero.synopsis":"Set more than a decade after the events of the first film, learn the story of the Sully family, the trouble that follows them, the lengths they go to keep each other safe, the battles they fight to stay alive, and the tragedies they endure.","hero.getTickets":"GET TICKETS","hero.watchTrailer":"WATCH TRAILER"};function pt(){return t=>Qt[t]||t}var ht=require("react"),gt=require("next-intl"),bt=require("lucide-react"),Fe=require("react/jsx-runtime");function Ye(){let t="en";try{let o=(0,gt.useLocale)();o&&(t=o)}catch(o){}let[e,r]=(0,ht.useState)(t);return(0,Fe.jsxs)("button",{onClick:()=>{r(e==="en"?"es":"en")},className:"flex items-center gap-2 text-sm font-medium text-white/70 hover:text-white transition-colors uppercase tracking-wider cursor-pointer",children:[(0,Fe.jsx)(bt.Globe,{className:"w-4 h-4"}),e==="en"?"ES":"EN"]})}var wt=j(require("react")),Mt=require("@radix-ui/react-slot"),Et=require("class-variance-authority");var xt=require("clsx"),vt=require("tailwind-merge");function yt(...t){return(0,vt.twMerge)((0,xt.clsx)(t))}var Tt=require("react/jsx-runtime"),er=(0,Et.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),pe=wt.forwardRef((f,m)=>{var c=f,{className:t,variant:e,size:r,asChild:n=!1}=c,o=Je(c,["className","variant","size","asChild"]);return(0,Tt.jsx)(n?Mt.Slot:"button",P({className:yt(er({variant:e,size:r,className:t})),ref:m},o))});pe.displayName="Button";var w=require("react/jsx-runtime");function Me({cinemaName:t="NOVA",webTheme:e="neon"}){let r=pt(),[n,o]=(0,kt.useState)(!1),m=e==="noir"?"bg-slate-900/40 mix-blend-color":e==="crimson"?"bg-red-900/30 mix-blend-color":"bg-blue-900/20 mix-blend-color";return(0,w.jsxs)("div",{className:`min-h-screen bg-black text-white selection:bg-white/30 font-sans transition-colors duration-1000 group theme-${e}`,children:[(0,w.jsxs)("nav",{className:"absolute top-0 left-0 right-0 z-50 flex items-center justify-between px-4 sm:px-8 py-4 sm:py-6 bg-black/40 sm:bg-transparent backdrop-blur-md sm:backdrop-blur-none border-b border-white/10 sm:border-none",children:[(0,w.jsxs)("div",{className:"flex items-center gap-6 lg:gap-12",children:[(0,w.jsxs)("a",{href:"#",className:"text-2xl sm:text-3xl font-bold tracking-tighter uppercase font-display text-white",children:[t,"."]}),(0,w.jsxs)("div",{className:"hidden md:flex items-center gap-6 lg:gap-8 text-sm font-semibold tracking-widest text-white/70",children:[(0,w.jsx)("a",{href:"#schedule",className:"hover:text-white transition-colors",children:r("nav.schedule")}),(0,w.jsx)("a",{href:"#experiences",className:"hover:text-white transition-colors",children:r("nav.experiences")}),(0,w.jsx)("a",{href:"#membership",className:"hover:text-white transition-colors",children:r("nav.membership")})]})]}),(0,w.jsxs)("div",{className:"flex items-center gap-3 sm:gap-6",children:[(0,w.jsx)(Ye,{}),(0,w.jsxs)("div",{className:"hidden sm:flex items-center gap-4",children:[(0,w.jsx)("a",{href:"#login",className:"text-sm font-semibold tracking-widest text-white/70 hover:text-white transition-colors",children:r("nav.login")}),(0,w.jsx)(pe,{variant:"outline",className:"rounded-none border-white/40 text-white bg-transparent hover:bg-white hover:text-black transition-colors font-semibold tracking-widest text-xs px-6 py-5 uppercase",children:r("nav.bookTickets")})]}),(0,w.jsx)("button",{onClick:()=>o(!n),className:"md:hidden p-2 rounded-lg bg-white/10 hover:bg-white/20 text-white text-lg focus:outline-none transition-colors cursor-pointer","aria-label":"Toggle Navigation Menu",children:n?"\u2715":"\u2630"})]})]}),n&&(0,w.jsxs)("div",{className:"fixed inset-0 z-40 bg-black/95 backdrop-blur-2xl md:hidden flex flex-col justify-between p-8 pt-24 animate-fade-in",children:[(0,w.jsxs)("div",{className:"flex flex-col gap-6 text-xl font-bold tracking-wider uppercase font-display",children:[(0,w.jsx)("a",{href:"#schedule",onClick:()=>o(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.schedule")}),(0,w.jsx)("a",{href:"#experiences",onClick:()=>o(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.experiences")}),(0,w.jsx)("a",{href:"#membership",onClick:()=>o(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.membership")}),(0,w.jsx)("a",{href:"#login",onClick:()=>o(!1),className:"py-2 border-b border-white/10 text-white/70 hover:text-white transition-colors",children:r("nav.login")})]}),(0,w.jsx)("div",{className:"flex flex-col gap-3 pt-6 border-t border-white/10",children:(0,w.jsx)(pe,{onClick:()=>o(!1),className:"w-full rounded-none bg-amber-400 text-black hover:bg-amber-300 font-extrabold tracking-widest text-sm py-4 uppercase",children:r("nav.bookTickets")})})]}),(0,w.jsxs)("div",{className:"relative h-screen w-full flex flex-col justify-end pb-28 sm:pb-24 px-4 sm:px-8 md:px-16 overflow-hidden",children:[(0,w.jsxs)("div",{className:"absolute inset-0 z-0",children:[(0,w.jsx)("div",{className:"absolute inset-0 bg-[url('https://images.unsplash.com/photo-1605810230434-7631ac76ec81?q=80&w=2560&auto=format&fit=crop')] bg-cover bg-center"}),(0,w.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black via-black/50 to-transparent z-10"}),(0,w.jsx)("div",{className:`absolute inset-0 ${m} z-10`})]}),(0,w.jsxs)("div",{className:"relative z-20 max-w-5xl",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2 sm:gap-3 mb-4 sm:mb-6 flex-wrap",children:[(0,w.jsx)("span",{className:"bg-blue-600 text-white text-[9px] sm:text-[10px] font-bold px-2.5 sm:px-3 py-1 tracking-widest",children:r("hero.genreImax")}),(0,w.jsx)("span",{className:"border border-white/20 text-white/80 text-[9px] sm:text-[10px] font-bold px-2.5 sm:px-3 py-1 tracking-widest",children:r("hero.genreAction")})]}),(0,w.jsx)("h1",{className:"text-4xl sm:text-6xl md:text-7xl lg:text-[8rem] leading-[0.9] sm:leading-[0.85] font-display font-black tracking-tighter mb-4 sm:mb-6 uppercase drop-shadow-2xl",children:r("hero.title")}),(0,w.jsx)("p",{className:"max-w-2xl text-sm sm:text-lg md:text-xl text-white/70 font-medium mb-6 sm:mb-10 leading-relaxed drop-shadow-md line-clamp-3 sm:line-clamp-none",children:r("hero.synopsis")}),(0,w.jsxs)("div",{className:"flex flex-col sm:flex-row items-stretch sm:items-center gap-3 sm:gap-4 w-full sm:w-auto",children:[(0,w.jsx)(pe,{className:"rounded-none bg-white text-black hover:bg-white/90 font-bold tracking-widest text-xs px-6 sm:px-8 py-5 sm:py-6 uppercase transition-transform hover:scale-105 active:scale-95 w-full sm:w-auto",children:r("hero.getTickets")}),(0,w.jsx)(pe,{variant:"outline",className:"rounded-none border-white/30 text-white bg-black/20 backdrop-blur-md hover:bg-white/10 transition-colors font-bold tracking-widest text-xs px-6 sm:px-8 py-5 sm:py-6 uppercase w-full sm:w-auto",children:r("hero.watchTrailer")})]})]})]})]})}var M=require("react/jsx-runtime"),Rt="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json",Ct={cinema:Rt,helvetiker:Rt,gentilis:"https://threejs.org/examples/fonts/gentilis_bold.typeface.json",optimer:"https://threejs.org/examples/fonts/optimer_bold.typeface.json"},St={rojo:"#3b0712",azul:"#021a38",verde:"#032117",esmeralda:"#032117",dorado:"#1c1503",negro:"#07080c",purpura:"#21032a"},Lt={gold:"radial-gradient(circle at center, #1c1503 0%, #080601 60%, #020201 100%)",neon:"radial-gradient(circle at center, #021a1e 0%, #030d14 60%, #010408 100%)",emerald:"radial-gradient(circle at center, #032117 0%, #02120d 60%, #010705 100%)",crimson:"radial-gradient(circle at center, #240409 0%, #120205 60%, #060102 100%)",obsidian:"radial-gradient(circle at center, #120d24 0%, #080512 60%, #030206 100%)",glass:"radial-gradient(circle at center, #0f172a 0%, #070b14 60%, #020205 100%)"};function tr(t,e=.85){let n=-(t.length*e)/2+e/2;return t.split("").map((o,m)=>[n+m*e,0,0])}function rr(t){let e=[];t?Array.isArray(t)?e=t.map(s=>String(s).toLowerCase().trim()):typeof t=="string"&&(e=t.toLowerCase().split(",").map(s=>s.trim())):e=["flames"];let r=e.includes("all")||e.includes("todos")||e.includes("supernova")||e.includes("inferno"),n=r||e.includes("flames")||e.includes("fluid-flames")||e.includes("llamas")||e.includes("llamas-organicas"),o=r||e.includes("fire")||e.includes("crystal-flames")||e.includes("cristales")||e.includes("fuego"),m=r||e.includes("blobs")||e.includes("energy-blobs")||e.includes("plasma-blobs")||e.includes("nubes"),f=r||e.includes("sparks")||e.includes("chispas"),c=r||e.includes("shockwave")||e.includes("wave")||e.includes("onda")||e.includes("onda-3d"),d=r||e.includes("plasma")||e.includes("electric"),a=r||e.includes("embers")||e.includes("ascuas")||n||o||m;return{enableFluidFlames:n,enableCrystalFlames:o,enableBlobs:m,enableSparks:f,enableShockwave:c,enablePlasma:d,enableEmbers:a}}function Ie({containerToDisplay:t,containerSelector:e,effect:r="flames",title:n,backgroundColor:o,effectColor:m,effectSpeed:f=.5,effectDensity:c=.3,autoFitText:d=!0,loaderDuration:a,redirectUrl:s,onComplete:l,fontFamily:i="cinema",fontUrl:v,theme:u="crimson",letterSpacing:y=.85,className:p="",style:T,children:b}){let E=n!=null?n.trim().toUpperCase():"",h=E?E.split(""):[],x=(0,F.useMemo)(()=>tr(E,y),[E,y]),[k,g]=(0,F.useState)(!1);(0,F.useEffect)(()=>{g(!0)},[]);let R=!!(a&&a>0&&(s||l)),[H,_]=(0,F.useState)(0);(0,F.useEffect)(()=>{if(!R||!a)return;let N=a*1e3,B=50,Oe=0,Ze=setInterval(()=>{Oe+=B;let Ot=Math.min(100,Oe/N*100);_(Ot),Oe>=N&&(clearInterval(Ze),l==null||l(),s&&(window.location.href=s))},B);return()=>clearInterval(Ze)},[R,a,s,l]);let he=(0,F.useMemo)(()=>{if(v)return v;let N=String(i).toLowerCase().trim();return Ct[N]||Ct.cinema},[i,v]),[le,$]=(0,F.useState)(typeof window!="undefined"?window.innerWidth:1200);(0,F.useEffect)(()=>{let N=()=>$(window.innerWidth);return window.addEventListener("resize",N),()=>window.removeEventListener("resize",N)},[]);let It=(0,F.useMemo)(()=>{if(!d||!h.length)return 1;let N=h.length,B=1;return N<=4?B=1:N<=7?B=.85:N<=10?B=.7:N<=14?B=.55:B=.45,le<480?B*.55:le<768?B*.75:B},[d,h.length,le]),Ge=(0,F.useMemo)(()=>{if(!o)return Lt[u]||Lt.gold;let N=o.toLowerCase().trim();return St[N]?St[N]:(o.startsWith("#")||o.startsWith("rgb")||o.includes("gradient"),o)},[o,u]),D=(0,F.useMemo)(()=>rr(r),[r]),zt=D.enableFluidFlames&&D.enableCrystalFlames?"all":D.enableCrystalFlames?"crystal":"fluid",_t=D.enableFluidFlames||D.enableCrystalFlames,je=e||(typeof t=="string"?t:void 0),ke=()=>je==="lhome"||je==="home"||t==="lhome"||t==="home"?(0,M.jsx)(Me,{cinemaName:E||"NOVA",webTheme:u}):typeof t=="string"&&t!=="lhome"&&t!=="home"?(0,M.jsxs)("div",{className:"text-center text-white p-8 bg-black/40 backdrop-blur-md rounded-2xl border border-white/10",children:[(0,M.jsx)("h2",{className:"text-3xl font-bold tracking-widest uppercase mb-2",children:t}),(0,M.jsx)("p",{className:"text-sm text-white/60",children:"3D Interactive WebGL Background"})]}):t&&typeof t!="string"?t:b;return k?(0,M.jsxs)("div",{id:e,"data-container-selector":e,className:`relative w-full h-full overflow-hidden select-none ${p}`,style:P({background:Ge},T),children:[R&&(0,M.jsx)("div",{className:"absolute top-0 left-0 right-0 z-30 h-1 bg-white/10 pointer-events-none",children:(0,M.jsx)("div",{className:"h-full bg-gradient-to-r from-amber-400 via-rose-500 to-cyan-400 transition-all duration-75",style:{width:`${H}%`}})}),(0,M.jsx)("div",{className:"absolute inset-0 z-0 pointer-events-auto",children:(0,M.jsx)(Nt.Canvas,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:[1,2],gl:{antialias:!0,toneMapping:4,toneMappingExposure:1.2},children:(0,M.jsxs)(F.Suspense,{fallback:null,children:[(0,M.jsx)(Be.Environment,{preset:"studio"}),(0,M.jsx)("ambientLight",{intensity:.3}),(0,M.jsx)("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),(0,M.jsx)("pointLight",{position:[-5,-3,-5],intensity:.6,color:u==="emerald"?"#10b981":u==="crimson"?"#ff1744":u==="neon"?"#00ffff":"#FFD700"}),(0,M.jsx)(J,{phase:R?"entering":"idle",effectSpeed:f}),(0,M.jsx)(ye,{enabled:_t,theme:u,effectColor:m,effectSpeed:f,effectDensity:c,mode:zt}),(0,M.jsx)(we,{enabled:D.enableBlobs,theme:u,effectColor:m,effectSpeed:f,effectDensity:c}),(0,M.jsx)(Q,{enabled:D.enableSparks,theme:u,effectColor:m,effectSpeed:f}),(0,M.jsx)(ee,{enabled:D.enableShockwave,theme:u,effectColor:m,effectSpeed:f}),(0,M.jsx)(te,{enabled:D.enablePlasma,theme:u,effectColor:m,effectSpeed:f}),h.length>0&&(0,M.jsx)(Be.Center,{disableY:!0,disableZ:!0,children:(0,M.jsx)("group",{scale:It,children:h.map((N,B)=>(0,M.jsx)(Z,{char:N,index:B,totalLetters:h.length,position:x[B],phase:R?"entering":"idle",theme:u,fontUrl:he},`${N}-${B}`))})}),(0,M.jsx)(K,{theme:u,effectColor:m,effectSpeed:f,visible:D.enableEmbers}),(0,M.jsxs)(ae.EffectComposer,{children:[(0,M.jsx)(ae.Bloom,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:u==="neon"||u==="crimson"?1.4:.9,mipmapBlur:!0}),(0,M.jsx)(ae.Vignette,{offset:.3,darkness:.85}),(0,M.jsx)(ae.Noise,{opacity:.025})]})]})})}),ke()&&(0,M.jsx)("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:(0,M.jsx)("div",{className:"pointer-events-auto w-full h-full",children:ke()})})]}):(0,M.jsx)("div",{id:e,"data-container-selector":e,className:`relative w-full h-full overflow-hidden select-none bg-black ${p}`,style:P({background:Ge},T),children:ke()&&(0,M.jsx)("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:(0,M.jsx)("div",{className:"pointer-events-auto w-full h-full",children:ke()})})})}var V=require("react"),Ht=require("@react-three/fiber"),ze=require("@react-three/drei"),se=require("@react-three/postprocessing");var S=require("react/jsx-runtime"),Pt={gold:"radial-gradient(circle at center, #1c1503 0%, #080601 60%, #020201 100%)",neon:"radial-gradient(circle at center, #021a1e 0%, #030d14 60%, #010408 100%)",emerald:"radial-gradient(circle at center, #032117 0%, #02120d 60%, #010705 100%)",crimson:"radial-gradient(circle at center, #240409 0%, #120205 60%, #060102 100%)",obsidian:"radial-gradient(circle at center, #120d24 0%, #080512 60%, #030206 100%)",glass:"radial-gradient(circle at center, #0f172a 0%, #070b14 60%, #020205 100%)"},nr="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json";function or(t){let n=-(t.length*.65)/2;return t.split("").map((o,m)=>[n+m*.65,0,0])}function Ee({text:t="CINEMA",theme:e="emerald",customBackground:r,interactiveSparks:n=!0,interactiveShockwave:o=!0,interactivePlasma:m=!0,showParticles:f=!0,enableBloom:c=!0,className:d="",style:a,children:s}){let[l,i]=(0,V.useState)(!1),[v]=(0,V.useState)(t),[u]=(0,V.useState)(e);(0,V.useEffect)(()=>{i(!0)},[]);let y=(v||t||"CINEMA").toUpperCase(),p=y.split(""),T=(0,V.useMemo)(()=>or(y),[y]),b=u||e||"emerald",E=r||Pt[b]||Pt.emerald;return l?(0,S.jsxs)("div",{className:`relative w-full h-full min-h-[350px] overflow-hidden select-none ${d}`,style:P({background:E},a),children:[(0,S.jsx)("div",{className:"absolute inset-0 z-0 pointer-events-auto",children:(0,S.jsx)(Ht.Canvas,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:[1,2],gl:{antialias:!0,toneMapping:4,toneMappingExposure:1.2},children:(0,S.jsxs)(V.Suspense,{fallback:null,children:[(0,S.jsx)(ze.Environment,{preset:"studio"}),(0,S.jsx)("ambientLight",{intensity:.3}),(0,S.jsx)("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),(0,S.jsx)("pointLight",{position:[-5,-3,-5],intensity:.6,color:b==="emerald"?"#10b981":b==="crimson"?"#ff1744":b==="neon"?"#00ffff":"#FFD700"}),(0,S.jsx)(J,{phase:"idle"}),(0,S.jsx)(Q,{enabled:n,theme:b}),(0,S.jsx)(ee,{enabled:o,theme:b}),(0,S.jsx)(te,{enabled:m,theme:b}),(0,S.jsx)(ze.Center,{disableY:!0,disableZ:!0,children:(0,S.jsx)("group",{children:p.map((h,x)=>(0,S.jsx)(Z,{char:h,index:x,totalLetters:p.length,position:T[x],phase:"idle",theme:b,fontUrl:nr},`${h}-${x}`))})}),f&&(0,S.jsx)(K,{theme:b,visible:!0}),(0,S.jsxs)(se.EffectComposer,{children:[(0,S.jsx)(se.Bloom,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:c?.9:0,mipmapBlur:!0}),(0,S.jsx)(se.Vignette,{offset:.3,darkness:.85}),(0,S.jsx)(se.Noise,{opacity:.025})]})]})})}),s&&(0,S.jsx)("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:s})]}):(0,S.jsx)("div",{className:`relative w-full h-full min-h-[350px] overflow-hidden select-none bg-black ${d}`,style:P({background:E},a),children:s&&(0,S.jsx)("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:s})})}var Ve=require("react/jsx-runtime");function At(t,e={}){let r=n=>(0,Ve.jsx)(Ee,G(P({},e),{children:(0,Ve.jsx)(t,P({},n))}));return r.displayName=`WithCinema3D(${t.displayName||t.name||"Component"})`,r}var z=require("react"),Bt=require("@react-three/fiber"),_e=require("@react-three/drei"),ie=require("@react-three/postprocessing");var L=require("react/jsx-runtime"),ar=[{key:"gold",label:"Gold",color:"#FFD700"},{key:"neon",label:"Neon",color:"#00ffff"},{key:"emerald",label:"Emerald",color:"#10b981"},{key:"crimson",label:"Crimson",color:"#ff1744"},{key:"obsidian",label:"Obsidian",color:"#a855f7"},{key:"glass",label:"Glass",color:"#ffffff"}];function Te({phase:t,cinemaName:e,theme:r,effects:n,onTitleChange:o,onThemeChange:m,onToggleEffect:f}){return(0,L.jsxs)("div",{className:"absolute inset-0 pointer-events-none z-10 flex flex-col items-center justify-between p-6 md:p-10",style:{opacity:t==="exiting"?0:1,transition:"opacity 0.8s ease-out"},children:[(0,L.jsxs)("div",{className:"w-full max-w-xl flex flex-col items-center gap-2 pointer-events-auto",style:{opacity:t==="idle"||t==="entering"?1:0,transform:t==="idle"||t==="entering"?"translateY(0)":"translateY(-20px)",transition:"all 1s ease-out 0.3s"},children:[(0,L.jsx)("label",{className:"text-[10px] tracking-[0.3em] uppercase text-white/50 font-bold",children:"Live 3D Title Control"}),(0,L.jsx)("div",{className:"relative w-full",children:(0,L.jsx)("input",{type:"text",value:e,onChange:a=>o(a.target.value),maxLength:18,placeholder:"Type any title...",className:"w-full px-6 py-3 rounded-full text-center text-sm md:text-base font-bold tracking-widest uppercase outline-none transition-all duration-300",style:{background:"rgba(255, 255, 255, 0.08)",backdropFilter:"blur(16px)",border:"1px solid rgba(255, 255, 255, 0.2)",color:"#ffffff",boxShadow:"0 8px 32px rgba(0, 0, 0, 0.37)"}})})]}),t==="loading"&&(0,L.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,L.jsx)("div",{className:"w-16 h-16 rounded-full border-2 animate-spin",style:{borderColor:"transparent",borderTopColor:"rgba(255, 215, 0, 0.8)",borderRightColor:"rgba(255, 215, 0, 0.3)"}})}),(0,L.jsxs)("div",{className:"w-full max-w-3xl flex flex-col items-center gap-5",children:[(0,L.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-2 pointer-events-auto",style:{opacity:t==="idle"||t==="entering"?1:0,transition:"opacity 1s ease-out 0.8s"},children:[(0,L.jsx)("span",{className:"text-[9px] uppercase tracking-[0.25em] text-white/40 mr-2 font-bold",children:"Effects"}),(0,L.jsx)("button",{onClick:()=>f("sparks"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.sparks?"bg-amber-500/30 text-amber-200 border-amber-400/60 shadow-[0_0_15px_rgba(245,158,11,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u{1F525} Sparks"}),(0,L.jsx)("button",{onClick:()=>f("shockwave"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.shockwave?"bg-cyan-500/30 text-cyan-200 border-cyan-400/60 shadow-[0_0_15px_rgba(6,182,212,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u{1F30A} Wave"}),(0,L.jsx)("button",{onClick:()=>f("plasma"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.plasma?"bg-purple-500/30 text-purple-200 border-purple-400/60 shadow-[0_0_15px_rgba(168,85,247,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u26A1 Plasma"}),(0,L.jsx)("button",{onClick:()=>f("embers"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.embers?"bg-emerald-500/30 text-emerald-200 border-emerald-400/60 shadow-[0_0_15px_rgba(16,185,129,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u2728 Embers"})]}),(0,L.jsxs)("div",{className:"flex items-center gap-3 pointer-events-auto",style:{opacity:t==="idle"||t==="entering"?1:0,transition:"opacity 1s ease-out 1.2s"},children:[(0,L.jsx)("span",{className:"text-[10px] uppercase tracking-[0.3em] text-white/40 mr-2 font-bold",children:"Theme"}),(0,L.jsx)("div",{className:"flex items-center gap-2 md:gap-3",children:ar.map(a=>{let s=r===a.key;return(0,L.jsxs)("button",{onClick:()=>m(a.key),className:"group relative flex flex-col items-center gap-1.5 cursor-pointer outline-none","aria-label":`Switch to ${a.label} theme`,children:[(0,L.jsx)("div",{className:"relative w-11 h-7 md:w-14 md:h-9 rounded-md overflow-hidden transition-all duration-300",style:{border:s?`2px solid ${a.color}`:"1px solid rgba(255, 255, 255, 0.15)",transform:s?"scale(1.1) translateY(-2px)":"scale(1) translateY(0)",boxShadow:s?`0 4px 20px ${a.color}60`:"0 2px 10px rgba(0,0,0,0.5)"},children:(0,L.jsx)("div",{className:"absolute inset-0 opacity-80",style:{backgroundColor:a.color}})}),(0,L.jsx)("span",{className:"text-[9px] uppercase tracking-widest font-semibold transition-colors duration-300",style:{color:s?"#ffffff":"rgba(255, 255, 255, 0.4)"},children:a.label})]},a.key)})})]})]})]})}var C=require("react/jsx-runtime"),sr="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json",Ft={gold:"radial-gradient(circle at center, #1c1503 0%, #080601 60%, #020201 100%)",neon:"radial-gradient(circle at center, #021a1e 0%, #030d14 60%, #010408 100%)",emerald:"radial-gradient(circle at center, #032117 0%, #02120d 60%, #010705 100%)",crimson:"radial-gradient(circle at center, #240409 0%, #120205 60%, #060102 100%)",obsidian:"radial-gradient(circle at center, #120d24 0%, #080512 60%, #030206 100%)",glass:"radial-gradient(circle at center, #0f172a 0%, #070b14 60%, #020205 100%)"};function ir(t){let n=-(t.length*.65)/2;return t.split("").map((o,m)=>[n+m*.65,0,0])}function $e({cinemaName:t="CINEMULTIPLEX",defaultTheme:e="emerald",customBackground:r,onEnterCinema:n}){let[o,m]=(0,z.useState)(!1),[f,c]=(0,z.useState)("loading"),[d,a]=(0,z.useState)(e),[s,l]=(0,z.useState)(t),[i,v]=(0,z.useState)({sparks:!0,shockwave:!0,plasma:!0,embers:!0});(0,z.useEffect)(()=>{m(!0)},[]);let u=(s||"CINEMA").toUpperCase(),y=u.split(""),p=(0,z.useMemo)(()=>ir(u),[u]);(0,z.useEffect)(()=>{let E=setTimeout(()=>c("entering"),800),h=y.length*120+1500,x=setTimeout(()=>c("idle"),800+h);return()=>{clearTimeout(E),clearTimeout(x)}},[y.length]);let T=(0,z.useCallback)(E=>{v(h=>G(P({},h),{[E]:!h[E]}))},[]),b=r||Ft[d]||Ft.emerald;return o?(0,C.jsxs)("div",{className:"fixed inset-0 w-screen h-screen transition-all duration-1000 select-none overflow-hidden",style:{background:b},children:[(0,C.jsx)(Bt.Canvas,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:[1,2],gl:{antialias:!0,toneMapping:4,toneMappingExposure:1.2},children:(0,C.jsxs)(z.Suspense,{fallback:null,children:[(0,C.jsx)(_e.Environment,{preset:"studio"}),(0,C.jsx)("ambientLight",{intensity:.3}),(0,C.jsx)("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),(0,C.jsx)("pointLight",{position:[-5,-3,-5],intensity:.6,color:d==="emerald"?"#10b981":d==="crimson"?"#ff1744":d==="neon"?"#00ffff":"#FFD700"}),(0,C.jsx)("spotLight",{position:[0,10,0],angle:.4,penumbra:.8,intensity:.9,color:"#ffffff"}),(0,C.jsx)("pointLight",{position:[0,0,-5],intensity:.4,color:"#ffffff"}),(0,C.jsx)(J,{phase:f}),i.sparks&&(0,C.jsx)(Q,{theme:d}),(0,C.jsx)(ee,{theme:d,enabled:i.shockwave}),(0,C.jsx)(te,{theme:d,enabled:i.plasma}),(0,C.jsx)(_e.Center,{disableY:!0,disableZ:!0,children:(0,C.jsx)("group",{children:y.map((E,h)=>(0,C.jsx)(Z,{char:E,index:h,totalLetters:y.length,position:p[h],phase:f,theme:d,fontUrl:sr},`${E}-${h}`))})}),(0,C.jsx)(K,{theme:d,visible:f!=="loading"&&i.embers}),(0,C.jsxs)(ie.EffectComposer,{children:[(0,C.jsx)(ie.Bloom,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:d==="neon"||d==="emerald"||d==="crimson"?1.4:.7,mipmapBlur:!0}),(0,C.jsx)(ie.Vignette,{offset:.3,darkness:.85}),(0,C.jsx)(ie.Noise,{opacity:.025})]})]})}),(0,C.jsx)(Te,{phase:f,cinemaName:s,theme:d,effects:i,onTitleChange:l,onThemeChange:a,onToggleEffect:T})]}):(0,C.jsx)("div",{className:"fixed inset-0 w-screen h-screen transition-all duration-1000 select-none overflow-hidden bg-black flex items-center justify-center",style:{background:b},children:(0,C.jsx)("div",{className:"w-16 h-16 rounded-full border-2 animate-spin border-t-amber-400 border-r-amber-400/30 border-b-transparent border-l-transparent"})})}0&&(module.exports={AnimatedBackground,AnimatedLetter,CameraRig,CinemaBackground,CinemaHome,CinemaLoader,ClickFireSparks,ClickShockwave,ElectricPlasma,FireFlames,LoaderOverlay,PlasmaBlobs,SceneParticles,withCinema3D});
3
+ "use strict";var Wt=Object.create;var be=Object.defineProperty,Xt=Object.defineProperties,Ut=Object.getOwnPropertyDescriptor,jt=Object.getOwnPropertyDescriptors,Yt=Object.getOwnPropertyNames,Re=Object.getOwnPropertySymbols,Vt=Object.getPrototypeOf,De=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;var qe=(t,e,r)=>e in t?be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,H=(t,e)=>{for(var r in e||(e={}))De.call(e,r)&&qe(t,r,e[r]);if(Re)for(var r of Re(e))Ke.call(e,r)&&qe(t,r,e[r]);return t},G=(t,e)=>Xt(t,jt(e));var Qe=(t,e)=>{var r={};for(var n in t)De.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&Re)for(var n of Re(t))e.indexOf(n)<0&&Ke.call(t,n)&&(r[n]=t[n]);return r};var Gt=(t,e)=>{for(var r in e)be(t,r,{get:e[r],enumerable:!0})},Je=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Yt(e))!De.call(t,s)&&s!==r&&be(t,s,{get:()=>e[s],enumerable:!(n=Ut(e,s))||n.enumerable});return t};var $=(t,e,r)=>(r=t!=null?Wt(Vt(t)):{},Je(e||!t||!t.__esModule?be(r,"default",{value:t,enumerable:!0}):r,t)),$t=t=>Je(be({},"__esModule",{value:!0}),t);var mr={};Gt(mr,{AnimatedBackground:()=>Ie,AnimatedLetter:()=>Z,CameraRig:()=>Q,CinemaBackground:()=>Ee,CinemaHome:()=>Me,CinemaLoader:()=>Ve,ClickFireSparks:()=>J,ClickShockwave:()=>ee,ElectricPlasma:()=>te,FireFlames:()=>ye,LoaderOverlay:()=>Te,PlasmaBlobs:()=>we,SceneParticles:()=>K,default:()=>Ie,withCinema3D:()=>At});module.exports=$t(mr);var F=require("react"),Lt=require("@react-three/fiber"),Be=require("@react-three/drei"),ae=require("@react-three/postprocessing");var le=require("react"),et=require("@react-three/fiber"),tt=require("@react-three/drei"),fe=$(require("three")),xe=require("react/jsx-runtime"),Zt={gold:{color:"#FFD700",metalness:1,roughness:.15,clearcoat:1,emissive:"#1a0f00",emissiveIntensity:.3,envMapIntensity:2},neon:{color:"#00ffff",metalness:0,roughness:1,clearcoat:0,emissive:"#00ffff",emissiveIntensity:2.5,envMapIntensity:.5},emerald:{color:"#10b981",metalness:.9,roughness:.1,clearcoat:1,emissive:"#065f46",emissiveIntensity:1.2,envMapIntensity:2.5},crimson:{color:"#ff1744",metalness:.8,roughness:.15,clearcoat:1,emissive:"#880e4f",emissiveIntensity:1.8,envMapIntensity:2},obsidian:{color:"#1a1a2e",metalness:1,roughness:.05,clearcoat:1,emissive:"#0a0a1a",emissiveIntensity:.1,envMapIntensity:3},glass:{color:"#ffffff",metalness:0,roughness:0,clearcoat:0,emissive:"#000000",emissiveIntensity:0,envMapIntensity:1.5,transmission:.95,ior:1.5,thickness:.5,transparent:!0}},qt={blanco:"#ffffff",dorado:"#FFD700",rojo:"#ff1744",azul:"#00ffff",verde:"#10b981",magenta:"#ff007f",morado:"#a855f7",plata:"#e2e8f0",negro:"#111827"};function Z({char:t,index:e,totalLetters:r,position:n,phase:s,theme:d,textColor:m,fontUrl:f}){let l=(0,le.useRef)(null),c=(0,le.useRef)(null),a=(0,le.useMemo)(()=>{let x=e/r*Math.PI*2;return{x:Math.cos(x)*4+(Math.random()-.5)*2,y:-3+Math.random()*-3,z:-5+Math.random()*-3,rotX:(Math.random()-.5)*Math.PI*2,rotY:(Math.random()-.5)*Math.PI*2}},[e,r]),o=Zt[d],i=(0,le.useMemo)(()=>{if(!m)return o.color;let x=m.toLowerCase().trim();return qt[x]||m},[m,o.color]),M=(0,le.useMemo)(()=>m?i:o.emissive,[m,i,o.emissive]);return(0,et.useFrame)(x=>{if(!l.current)return;let h=x.clock.getElapsedTime();c.current===null&&(c.current=h);let y=h-c.current,k=e*.12;if(s==="loading"){l.current.position.set(n[0]+a.x,n[1]+a.y,n[2]+a.z),l.current.rotation.set(a.rotX,a.rotY,0),l.current.scale.setScalar(0);return}if(s==="entering"){let p=Math.max(0,y-k),v=1-Math.exp(-p*3),u=1+Math.sin(p*8)*Math.max(0,.15-p*.1);l.current.position.set(fe.MathUtils.lerp(n[0]+a.x,n[0],v),fe.MathUtils.lerp(n[1]+a.y,n[1],v),fe.MathUtils.lerp(n[2]+a.z,n[2],v)),l.current.rotation.set(fe.MathUtils.lerp(a.rotX,0,v),fe.MathUtils.lerp(a.rotY,0,v),0),l.current.scale.setScalar(Math.min(v*u,1.05));return}if(s==="idle"){let p=Math.sin(h*1.2+e*.5)*.015,v=Math.sin(h*.8+e*.3)*.008;l.current.position.set(n[0]+v,n[1]+p,n[2]),l.current.rotation.set(Math.sin(h*.5+e)*.01,Math.sin(h*.3+e*.7)*.01,0),l.current.scale.setScalar(1);return}if(s==="exiting"){let p=Math.max(0,y-k*.5),v=Math.min(p*2,1),u=v*v;l.current.position.set(n[0]+a.x*u*.5,n[1],n[2]-u*8),l.current.scale.setScalar(Math.max(1-u,0)),l.current.rotation.y+=.05}}),t===" "?null:(0,xe.jsx)("group",{ref:l,position:n,children:(0,xe.jsxs)(tt.Text3D,{font:f,size:.8,height:.35,bevelEnabled:!0,bevelSize:.02,bevelThickness:.01,bevelSegments:3,curveSegments:12,children:[t,(0,xe.jsx)("meshPhysicalMaterial",{color:i,metalness:o.metalness,roughness:o.roughness,clearcoat:o.clearcoat,emissive:M,emissiveIntensity:m?.6:o.emissiveIntensity,envMapIntensity:o.envMapIntensity,transmission:o.transmission,ior:o.ior,thickness:o.thickness,transparent:o.transparent,toneMapped:d!=="neon"})]})})}var ce=require("react"),ot=require("@react-three/fiber"),We=require("@react-three/drei"),at=$(require("three")),q=require("react/jsx-runtime"),rt={gold:"#FFD700",neon:"#00ffff",emerald:"#10b981",crimson:"#ff1744",obsidian:"#a855f7",glass:"#ffffff"},nt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function Kt({color:t,speedMultiplier:e=.5,count:r=60}){let n=(0,ce.useRef)(null),s=(0,ce.useRef)(new at.Object3D),d=(0,ce.useRef)(null),m=(0,ce.useRef)(null);if(!d.current){d.current=new Float32Array(r),m.current=new Float32Array(r*3);for(let f=0;f<r;f++)d.current[f]=.1+Math.random()*.3,m.current[f*3]=(Math.random()-.5)*16,m.current[f*3+1]=(Math.random()-.5)*10,m.current[f*3+2]=(Math.random()-.5)*12}return(0,ot.useFrame)(f=>{if(!n.current||!d.current||!m.current)return;let l=f.clock.getElapsedTime()*e;for(let c=0;c<r;c++){let a=d.current[c],o=m.current[c*3],i=m.current[c*3+1],M=m.current[c*3+2];s.current.position.set(o+Math.sin(l*a+c)*2,i+Math.cos(l*a*.7+c*.5)*1.5,M+Math.sin(l*a*.5+c*.3)*2),s.current.scale.setScalar(.015+Math.sin(l+c)*.005),s.current.updateMatrix(),n.current.setMatrixAt(c,s.current.matrix)}n.current.instanceMatrix.needsUpdate=!0}),(0,q.jsxs)("instancedMesh",{ref:n,args:[void 0,void 0,r],children:[(0,q.jsx)("sphereGeometry",{args:[1,6,6]}),(0,q.jsx)("meshBasicMaterial",{color:t,transparent:!0,opacity:.3,toneMapped:!1})]})}function K({theme:t,effectColor:e,effectSpeed:r=.5,visible:n}){let s=(0,ce.useMemo)(()=>{if(!e)return rt[t]||rt.gold;let d=e.toLowerCase().trim();return nt[d]?nt[d]:e},[e,t]);return n?(0,q.jsxs)("group",{children:[(0,q.jsx)(We.Sparkles,{count:150,scale:10,size:4,speed:.3*r,opacity:.8,color:s,noise:.6}),(0,q.jsx)(We.Sparkles,{count:80,scale:16,size:2,speed:.15*r,opacity:.4,color:"#ffffff",noise:.8}),(0,q.jsx)(Kt,{color:s,speedMultiplier:r,count:50})]}):null}var Xe=require("react"),Ce=require("@react-three/fiber"),me=$(require("three"));function Q({phase:t,effectSpeed:e=.5}){let{camera:r,pointer:n}=(0,Ce.useThree)(),s=(0,Xe.useRef)(null),d=(0,Xe.useRef)(t);return d.current!==t&&(d.current=t,s.current=null),(0,Ce.useFrame)(m=>{let f=m.clock.getElapsedTime()*e;s.current===null&&(s.current=f);let l=f-s.current;if(t==="loading"){r.position.set(0,0,14),r.lookAt(0,0,0);return}if(t==="entering"){let o=Math.min(l/3,1),i=1-Math.pow(1-o,3),M=me.MathUtils.lerp(14,6,i),x=me.MathUtils.lerp(1,.2,i);r.position.set(0,x,M),r.lookAt(0,0,0);return}let c=m.viewport.width/(m.viewport.height||1),a=c<1?Math.max(6,6/Math.max(.45,c*.85)):6;if(t==="idle"){let o=Math.sin(f*.1)*.2,i=Math.cos(f*.08)*.1+.2,M=n.x*.2,x=n.y*.1;r.position.x=me.MathUtils.damp(r.position.x,o+M,3,.016),r.position.y=me.MathUtils.damp(r.position.y,i+x,3,.016),r.position.z=me.MathUtils.damp(r.position.z,a,3,.016),r.lookAt(0,0,0);return}if(t==="exiting"){let o=Math.min(l/1.5,1),i=o*o*o,M=me.MathUtils.lerp(6,-8,i);r.position.set(0,0,M),r.lookAt(0,0,0)}}),null}var U=require("react"),Se=require("@react-three/fiber"),X=$(require("three"));var ne=require("react/jsx-runtime"),st={gold:["#FFD700","#FF8C00","#FF4500","#FFF8DC"],neon:["#00ffff","#0088ff","#ff00ff","#ffffff"],emerald:["#00ff88","#10b981","#059669","#a7f3d0"],crimson:["#ff1744","#d50000","#ff5252","#ffb74d"],obsidian:["#a855f7","#6366f1","#3b82f6","#ffffff"],glass:["#ffffff","#e0e7ff","#93c5fd","#60a5fa"]},Qt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function J({theme:t="gold",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{camera:s,raycaster:d}=(0,Se.useThree)(),[m,f]=(0,U.useState)([]),l=(0,U.useRef)(0),c=(0,U.useMemo)(()=>{if(!e)return st[t]||st.gold;let o=e.toLowerCase().trim(),i=Qt[o]||e;return[i,"#ffffff",i]},[e,t]),a=(0,U.useCallback)(o=>{if(!n)return;let i=0,M=0;if("touches"in o&&o.touches.length>0)i=o.touches[0].clientX,M=o.touches[0].clientY;else if("clientX"in o)i=o.clientX,M=o.clientY;else return;let x=new X.Vector2(i/window.innerWidth*2-1,-(M/window.innerHeight)*2+1);d.setFromCamera(x,s);let h=new X.Plane(new X.Vector3(0,0,1),0),y=new X.Vector3;if(d.ray.intersectPlane(h,y),!y)return;let k=35,p=[];for(let u=0;u<k;u++){let b=Math.random()*Math.PI*2,T=(1.5+Math.random()*4.5)*r,g=(Math.random()-.3)*3*r,S=new X.Vector3(Math.cos(b)*T,Math.sin(b)*T+g,(Math.random()-.5)*T*.8),L=c[Math.floor(Math.random()*c.length)];p.push({id:u,position:y.clone(),velocity:S,color:new X.Color(L),size:.08+Math.random()*.12,life:1,maxLife:(.6+Math.random()*.8)/Math.max(.2,r)})}let v={id:l.current++,origin:y.clone(),sparks:p,color:c[0],lightIntensity:4,time:0};f(u=>[...u.slice(-4),v])},[s,d,c,r,n]);return(0,U.useEffect)(()=>(window.addEventListener("pointerdown",a),()=>{window.removeEventListener("pointerdown",a)}),[a]),(0,Se.useFrame)((o,i)=>{m.length!==0&&f(M=>M.map(x=>{let h=x.time+i*r,y=Math.max(0,x.lightIntensity-i*8*r),k=x.sparks.map(p=>{let v=p.life-i*r/p.maxLife;if(v<=0)return null;let u=p.position.clone().addScaledVector(p.velocity,i*r);return p.velocity.y-=i*3.5*r,p.velocity.multiplyScalar(.96),G(H({},p),{position:u,life:v})}).filter(Boolean);return k.length===0&&y<=0?null:G(H({},x),{time:h,lightIntensity:y,sparks:k})}).filter(Boolean))}),(0,ne.jsx)("group",{children:m.map(o=>(0,ne.jsxs)("group",{children:[o.lightIntensity>.05&&(0,ne.jsx)("pointLight",{position:o.origin,intensity:o.lightIntensity*3,distance:6,color:o.color}),o.sparks.map(i=>(0,ne.jsxs)("mesh",{position:i.position,children:[(0,ne.jsx)("sphereGeometry",{args:[i.size*i.life,6,6]}),(0,ne.jsx)("meshBasicMaterial",{color:i.color,transparent:!0,opacity:i.life,toneMapped:!1})]},i.id))]},o.id))})}var j=require("react"),Ne=require("@react-three/fiber"),D=$(require("three"));var ue=require("react/jsx-runtime"),it={gold:"#FFD700",neon:"#00ffff",emerald:"#10b981",crimson:"#ff1744",obsidian:"#a855f7",glass:"#ffffff"},lt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function ee({theme:t="gold",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{camera:s,raycaster:d}=(0,Ne.useThree)(),[m,f]=(0,j.useState)([]),l=(0,j.useRef)(0),c=(0,j.useMemo)(()=>{if(!e)return it[t]||it.gold;let o=e.toLowerCase().trim();return lt[o]?lt[o]:e},[e,t]),a=(0,j.useCallback)(o=>{if(!n)return;let i=0,M=0;if("touches"in o&&o.touches.length>0)i=o.touches[0].clientX,M=o.touches[0].clientY;else if("clientX"in o)i=o.clientX,M=o.clientY;else return;let x=new D.Vector2(i/window.innerWidth*2-1,-(M/window.innerHeight)*2+1);d.setFromCamera(x,s);let h=new D.Plane(new D.Vector3(0,0,1),0),y=new D.Vector3;if(d.ray.intersectPlane(h,y),!y)return;let k={id:l.current++,origin:y.clone(),radius:.1,maxRadius:3.5,life:1,color:new D.Color(c)};f(p=>[...p.slice(-4),k])},[s,d,c,n]);return(0,j.useEffect)(()=>(window.addEventListener("pointerdown",a),()=>{window.removeEventListener("pointerdown",a)}),[a]),(0,Ne.useFrame)((o,i)=>{m.length!==0&&f(M=>M.map(x=>{let h=x.life-i*1.8*r;if(h<=0)return null;let y=x.radius+i*5*r;return G(H({},x),{life:h,radius:y})}).filter(Boolean))}),n?(0,ue.jsx)("group",{children:m.map(o=>(0,ue.jsxs)("mesh",{position:o.origin,rotation:[0,0,0],children:[(0,ue.jsx)("ringGeometry",{args:[o.radius*.9,o.radius,48]}),(0,ue.jsx)("meshBasicMaterial",{color:o.color,transparent:!0,opacity:o.life*.75,side:D.DoubleSide,toneMapped:!1})]},o.id))}):null}var ve=require("react"),Le=require("@react-three/fiber"),Pe=$(require("three")),Ue=require("react/jsx-runtime"),ct={gold:"#ffaa00",neon:"#00ffff",emerald:"#00ffaa",crimson:"#ff0055",obsidian:"#9900ff",glass:"#88ccff"},mt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function te({theme:t="neon",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{pointer:s}=(0,Le.useThree)(),d=(0,ve.useRef)(null),m=(0,ve.useMemo)(()=>{if(!e)return ct[t]||ct.neon;let c=e.toLowerCase().trim();return mt[c]?mt[c]:e},[e,t]),f=30,l=(0,ve.useMemo)(()=>{let c=new Pe.BufferGeometry,a=new Float32Array(f*2*3);return c.setAttribute("position",new Pe.BufferAttribute(a,3)),c},[f]);return(0,Le.useFrame)(c=>{if(!d.current||!n)return;let a=c.clock.getElapsedTime()*r,o=d.current.geometry.attributes.position,i=o.array,M=s.x*6,x=s.y*3;for(let h=0;h<f;h++){let y=h*6,k=h/f*Math.PI*2+a*1.5,p=2.5+Math.sin(a*3+h)*.5,v=Math.cos(k)*p,u=Math.sin(k)*p,b=(Math.random()-.5)*1.5,T=v+(M-v)*.3+(Math.random()-.5)*.8,g=u+(x-u)*.3+(Math.random()-.5)*.8,S=b+(Math.random()-.5)*.8;i[y]=v,i[y+1]=u,i[y+2]=b,i[y+3]=T,i[y+4]=g,i[y+5]=S}o.needsUpdate=!0}),n?(0,Ue.jsx)("lineSegments",{ref:d,geometry:l,children:(0,Ue.jsx)("lineBasicMaterial",{color:m,transparent:!0,opacity:.75,linewidth:2,toneMapped:!1})}):null}var A=require("react"),He=require("@react-three/fiber"),re=$(require("three")),Y=require("react/jsx-runtime"),dt={crimson:{color1:"#ff3d00",color2:"#ff9100",light:"#ff1744"},gold:{color1:"#ffb300",color2:"#ffe082",light:"#FFD700"},emerald:{color1:"#00e676",color2:"#a7f3d0",light:"#10b981"},neon:{color1:"#00e5ff",color2:"#80d8ff",light:"#00ffff"},obsidian:{color1:"#d500f9",color2:"#ea80fc",light:"#a855f7"},glass:{color1:"#80d8ff",color2:"#ffffff",light:"#60a5fa"}},ft={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function Jt(){let t=document.createElement("canvas");t.width=128,t.height=128;let e=t.getContext("2d");if(e){let n=e.createRadialGradient(64,64,0,64,64,64);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.3,"rgba(255, 255, 255, 0.9)"),n.addColorStop(.65,"rgba(255, 255, 255, 0.35)"),n.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=n,e.fillRect(0,0,128,128)}let r=new re.CanvasTexture(t);return r.needsUpdate=!0,r}function ye({theme:t="crimson",effectColor:e,effectSpeed:r=.5,effectDensity:n=.3,mode:s="fluid",enabled:d=!0}){let{pointer:m}=(0,He.useThree)(),f=(0,A.useRef)(null),l=(0,A.useRef)(null),c=(0,A.useRef)(null),a=(0,A.useRef)(new re.Object3D),o=(0,A.useRef)(!1),i=(0,A.useRef)([]),M=Math.max(.1,Math.min(1,n)),x=Math.round(110*M),h=(0,A.useMemo)(()=>Jt(),[]),y=(0,A.useMemo)(()=>{if(!e)return(dt[t]||dt.crimson).color1;let u=e.toLowerCase().trim();return ft[u]?ft[u]:e},[e,t]),k=(0,A.useMemo)(()=>{let u=[],b=.4+Math.sqrt(M)*.55;for(let T=0;T<x;T++)u.push({x:(Math.random()-.5)*10,y:-2+Math.random()*.4,z:(Math.random()-.5)*2-.5,speedY:.8+Math.random()*1.8,speedX:(Math.random()-.5)*.5,size:(.4+Math.random()*.6)*b,phase:Math.random()*Math.PI*2,life:Math.random()});return u},[x,M]),p=(0,A.useCallback)(()=>{o.current=!0},[]),v=(0,A.useCallback)(()=>{o.current=!1},[]);return(0,A.useEffect)(()=>(window.addEventListener("pointerdown",p),window.addEventListener("pointerup",v),()=>{window.removeEventListener("pointerdown",p),window.removeEventListener("pointerup",v)}),[p,v]),(0,He.useFrame)((u,b)=>{if(!d)return;let T=u.clock.getElapsedTime()*r;if(o.current){let g=m.x*7,S=m.y*4;i.current.length<25&&i.current.push({x:g+(Math.random()-.5)*.8,y:S+(Math.random()-.5)*.8,z:(Math.random()-.5)*1.5,life:1,size:(.5+Math.random()*.6)*Math.sqrt(M)})}i.current=i.current.map(g=>(g.life-=b*1.8*r,g.y+=b*1.2*r,g)).filter(g=>g.life>0),c.current&&(c.current.intensity=2.2+Math.sin(T*10)*.6+Math.cos(T*15)*.3,c.current.position.y=-1+Math.sin(T*3)*.2),(s==="fluid"||s==="all")&&f.current&&(k.forEach((g,S)=>{g.life+=b*g.speedY*.35*r,g.life>1&&(g.life=0,g.x=(Math.random()-.5)*10,g.y=-2+Math.random()*.4);let L=g.life,_=g.y+L*3.8,he=g.x+Math.sin(T*2.5+g.phase)*.5+g.speedX*L,ge=g.z+Math.cos(T*1.8+g.phase)*.2,O=Math.sin(L*Math.PI)*g.size*(1.2-L*.3);a.current.position.set(he,_,ge),a.current.rotation.set(0,0,Math.sin(T*1.5+S)*.2),a.current.scale.set(O,O*1.3,O),a.current.updateMatrix(),f.current.setMatrixAt(S,a.current.matrix)}),i.current.forEach((g,S)=>{let L=(x-1-S+x)%x,_=Math.sin(g.life*Math.PI)*g.size;a.current.position.set(g.x,g.y,g.z),a.current.rotation.set(0,0,Math.sin(T*3+S)*.3),a.current.scale.set(_,_*1.4,_),a.current.updateMatrix(),f.current.setMatrixAt(L,a.current.matrix)}),f.current.instanceMatrix.needsUpdate=!0),(s==="crystal"||s==="all")&&l.current&&(k.forEach((g,S)=>{let L=g.life,_=g.y+L*3.8,he=g.x+Math.sin(T*2.8+g.phase)*.5+g.speedX*L,ge=g.z+Math.cos(T*2+g.phase)*.3,O=Math.sin(L*Math.PI)*g.size*.6;a.current.position.set(he,_,ge),a.current.rotation.set(T*1.5+S,T*2,S),a.current.scale.set(O,O*2,O),a.current.updateMatrix(),l.current.setMatrixAt(S,a.current.matrix)}),l.current.instanceMatrix.needsUpdate=!0)}),d?(0,Y.jsxs)("group",{children:[(0,Y.jsx)("pointLight",{ref:c,position:[0,-1,1.5],color:y,intensity:2.5,distance:10}),(s==="fluid"||s==="all")&&(0,Y.jsxs)("instancedMesh",{ref:f,args:[void 0,void 0,x],children:[(0,Y.jsx)("planeGeometry",{args:[1.2,1.2]}),(0,Y.jsx)("meshBasicMaterial",{map:h,color:y,transparent:!0,blending:re.AdditiveBlending,depthWrite:!1,side:re.DoubleSide})]}),(s==="crystal"||s==="all")&&(0,Y.jsxs)("instancedMesh",{ref:l,args:[void 0,void 0,x],children:[(0,Y.jsx)("coneGeometry",{args:[.3,1.2,5]}),(0,Y.jsx)("meshBasicMaterial",{color:y,transparent:!0,opacity:.65,blending:re.AdditiveBlending,depthWrite:!1})]})]}):null}var I=require("react"),Ae=require("@react-three/fiber"),oe=$(require("three")),de=require("react/jsx-runtime"),ut={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function er(){let t=document.createElement("canvas");t.width=256,t.height=256;let e=t.getContext("2d");if(e){let n=e.createRadialGradient(128,128,0,128,128,128);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.2,"rgba(0, 240, 200, 0.95)"),n.addColorStop(.5,"rgba(0, 200, 140, 0.6)"),n.addColorStop(.8,"rgba(0, 150, 100, 0.2)"),n.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=n,e.fillRect(0,0,256,256)}let r=new oe.CanvasTexture(t);return r.needsUpdate=!0,r}function we({theme:t="emerald",effectColor:e="#00e676",effectSpeed:r=.5,effectDensity:n=.5,enabled:s=!0}){let{pointer:d}=(0,Ae.useThree)(),m=(0,I.useRef)(null),f=(0,I.useRef)(null),l=(0,I.useRef)(new oe.Object3D),c=(0,I.useRef)(!1),a=(0,I.useRef)([]),o=Math.max(.1,Math.min(1,n)),i=Math.round(60*o),M=(0,I.useMemo)(()=>er(),[]),x=(0,I.useMemo)(()=>{if(!e)return"#00e676";let p=e.toLowerCase().trim();return ut[p]?ut[p]:e},[e]),h=(0,I.useMemo)(()=>{let p=[],v=1+Math.sqrt(o)*.8;for(let u=0;u<i;u++)p.push({x:(Math.random()-.5)*12,y:(Math.random()-.5)*6,z:(Math.random()-.5)*3,speedY:(Math.random()-.5)*.8,speedX:(Math.random()-.5)*.8,size:(.8+Math.random()*1.2)*v,phase:Math.random()*Math.PI*2,life:Math.random()});return p},[i,o]),y=(0,I.useCallback)(()=>{c.current=!0},[]),k=(0,I.useCallback)(()=>{c.current=!1},[]);return(0,I.useEffect)(()=>(window.addEventListener("pointerdown",y),window.addEventListener("pointerup",k),()=>{window.removeEventListener("pointerdown",y),window.removeEventListener("pointerup",k)}),[y,k]),(0,Ae.useFrame)((p,v)=>{if(!m.current||!s)return;let u=p.clock.getElapsedTime()*r;if(c.current){let b=d.x*7,T=d.y*4;a.current.length<15&&a.current.push({x:b+(Math.random()-.5)*.5,y:T+(Math.random()-.5)*.5,z:(Math.random()-.5)*1,life:1,size:(1.2+Math.random()*.8)*Math.sqrt(o)})}a.current=a.current.map(b=>(b.life-=v*1.2*r,b)).filter(b=>b.life>0),f.current&&(f.current.intensity=2.5+Math.sin(u*6)*.5),h.forEach((b,T)=>{let g=b.x+Math.sin(u*1.2+b.phase)*1.5,S=b.y+Math.cos(u*.9+b.phase*1.3)*1.2,L=b.z+Math.sin(u*.7+b.phase*.8)*.8,_=b.size*(1+Math.sin(u*2+T)*.25);l.current.position.set(g,S,L),l.current.scale.set(_,_,_),l.current.updateMatrix(),m.current.setMatrixAt(T,l.current.matrix)}),a.current.forEach((b,T)=>{let g=(i-1-T+i)%i,S=Math.sin(b.life*Math.PI)*b.size;l.current.position.set(b.x,b.y,b.z),l.current.scale.set(S,S,S),l.current.updateMatrix(),m.current.setMatrixAt(g,l.current.matrix)}),m.current.instanceMatrix.needsUpdate=!0}),s?(0,de.jsxs)("group",{children:[(0,de.jsx)("pointLight",{ref:f,position:[0,0,2],color:x,intensity:3,distance:12}),(0,de.jsxs)("instancedMesh",{ref:m,args:[void 0,void 0,i],children:[(0,de.jsx)("planeGeometry",{args:[1.8,1.8]}),(0,de.jsx)("meshBasicMaterial",{map:M,color:x,transparent:!0,opacity:.85,blending:oe.NormalBlending,depthWrite:!1,side:oe.DoubleSide})]})]}):null}var Tt=require("react");var tr={"nav.schedule":"Schedule","nav.experiences":"Experiences","nav.membership":"Membership","nav.login":"Log In","nav.bookTickets":"Book Tickets","hero.genreImax":"IMAX 3D","hero.genreAction":"ACTION / SCI-FI","hero.title":"AVATAR: THE WAY OF WATER","hero.synopsis":"Set more than a decade after the events of the first film, learn the story of the Sully family, the trouble that follows them, the lengths they go to keep each other safe, the battles they fight to stay alive, and the tragedies they endure.","hero.getTickets":"GET TICKETS","hero.watchTrailer":"WATCH TRAILER"};function pt(){return t=>tr[t]||t}var ht=require("react"),gt=require("lucide-react"),Fe=require("react/jsx-runtime");function je(){let[t,e]=(0,ht.useState)("en");return(0,Fe.jsxs)("button",{onClick:()=>{e(t==="en"?"es":"en")},className:"flex items-center gap-2 text-sm font-medium text-white/70 hover:text-white transition-colors uppercase tracking-wider cursor-pointer",children:[(0,Fe.jsx)(gt.Globe,{className:"w-4 h-4"}),t==="en"?"ES":"EN"]})}var yt=$(require("react")),wt=require("@radix-ui/react-slot"),Mt=require("class-variance-authority");var bt=require("clsx"),xt=require("tailwind-merge");function vt(...t){return(0,xt.twMerge)((0,bt.clsx)(t))}var Et=require("react/jsx-runtime"),rr=(0,Mt.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),pe=yt.forwardRef((m,d)=>{var f=m,{className:t,variant:e,size:r,asChild:n=!1}=f,s=Qe(f,["className","variant","size","asChild"]);return(0,Et.jsx)(n?wt.Slot:"button",H({className:vt(rr({variant:e,size:r,className:t})),ref:d},s))});pe.displayName="Button";var w=require("react/jsx-runtime");function Me({cinemaName:t="NOVA",webTheme:e="neon"}){let r=pt(),[n,s]=(0,Tt.useState)(!1),d=e==="noir"?"bg-slate-900/40 mix-blend-color":e==="crimson"?"bg-red-900/30 mix-blend-color":"bg-blue-900/20 mix-blend-color";return(0,w.jsxs)("div",{className:`min-h-screen bg-black text-white selection:bg-white/30 font-sans transition-colors duration-1000 group theme-${e}`,children:[(0,w.jsxs)("nav",{className:"absolute top-0 left-0 right-0 z-50 flex items-center justify-between px-4 sm:px-8 py-4 sm:py-6 bg-black/40 sm:bg-transparent backdrop-blur-md sm:backdrop-blur-none border-b border-white/10 sm:border-none",children:[(0,w.jsxs)("div",{className:"flex items-center gap-6 lg:gap-12",children:[(0,w.jsxs)("a",{href:"#",className:"text-2xl sm:text-3xl font-bold tracking-tighter uppercase font-display text-white",children:[t,"."]}),(0,w.jsxs)("div",{className:"hidden md:flex items-center gap-6 lg:gap-8 text-sm font-semibold tracking-widest text-white/70",children:[(0,w.jsx)("a",{href:"#schedule",className:"hover:text-white transition-colors",children:r("nav.schedule")}),(0,w.jsx)("a",{href:"#experiences",className:"hover:text-white transition-colors",children:r("nav.experiences")}),(0,w.jsx)("a",{href:"#membership",className:"hover:text-white transition-colors",children:r("nav.membership")})]})]}),(0,w.jsxs)("div",{className:"flex items-center gap-3 sm:gap-6",children:[(0,w.jsx)(je,{}),(0,w.jsxs)("div",{className:"hidden sm:flex items-center gap-4",children:[(0,w.jsx)("a",{href:"#login",className:"text-sm font-semibold tracking-widest text-white/70 hover:text-white transition-colors",children:r("nav.login")}),(0,w.jsx)(pe,{variant:"outline",className:"rounded-none border-white/40 text-white bg-transparent hover:bg-white hover:text-black transition-colors font-semibold tracking-widest text-xs px-6 py-5 uppercase",children:r("nav.bookTickets")})]}),(0,w.jsx)("button",{onClick:()=>s(!n),className:"md:hidden p-2 rounded-lg bg-white/10 hover:bg-white/20 text-white text-lg focus:outline-none transition-colors cursor-pointer","aria-label":"Toggle Navigation Menu",children:n?"\u2715":"\u2630"})]})]}),n&&(0,w.jsxs)("div",{className:"fixed inset-0 z-40 bg-black/95 backdrop-blur-2xl md:hidden flex flex-col justify-between p-8 pt-24 animate-fade-in",children:[(0,w.jsxs)("div",{className:"flex flex-col gap-6 text-xl font-bold tracking-wider uppercase font-display",children:[(0,w.jsx)("a",{href:"#schedule",onClick:()=>s(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.schedule")}),(0,w.jsx)("a",{href:"#experiences",onClick:()=>s(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.experiences")}),(0,w.jsx)("a",{href:"#membership",onClick:()=>s(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.membership")}),(0,w.jsx)("a",{href:"#login",onClick:()=>s(!1),className:"py-2 border-b border-white/10 text-white/70 hover:text-white transition-colors",children:r("nav.login")})]}),(0,w.jsx)("div",{className:"flex flex-col gap-3 pt-6 border-t border-white/10",children:(0,w.jsx)(pe,{onClick:()=>s(!1),className:"w-full rounded-none bg-amber-400 text-black hover:bg-amber-300 font-extrabold tracking-widest text-sm py-4 uppercase",children:r("nav.bookTickets")})})]}),(0,w.jsxs)("div",{className:"relative h-screen w-full flex flex-col justify-end pb-28 sm:pb-24 px-4 sm:px-8 md:px-16 overflow-hidden",children:[(0,w.jsxs)("div",{className:"absolute inset-0 z-0",children:[(0,w.jsx)("div",{className:"absolute inset-0 bg-[url('https://images.unsplash.com/photo-1605810230434-7631ac76ec81?q=80&w=2560&auto=format&fit=crop')] bg-cover bg-center"}),(0,w.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black via-black/50 to-transparent z-10"}),(0,w.jsx)("div",{className:`absolute inset-0 ${d} z-10`})]}),(0,w.jsxs)("div",{className:"relative z-20 max-w-5xl",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2 sm:gap-3 mb-4 sm:mb-6 flex-wrap",children:[(0,w.jsx)("span",{className:"bg-blue-600 text-white text-[9px] sm:text-[10px] font-bold px-2.5 sm:px-3 py-1 tracking-widest",children:r("hero.genreImax")}),(0,w.jsx)("span",{className:"border border-white/20 text-white/80 text-[9px] sm:text-[10px] font-bold px-2.5 sm:px-3 py-1 tracking-widest",children:r("hero.genreAction")})]}),(0,w.jsx)("h1",{className:"text-4xl sm:text-6xl md:text-7xl lg:text-[8rem] leading-[0.9] sm:leading-[0.85] font-display font-black tracking-tighter mb-4 sm:mb-6 uppercase drop-shadow-2xl",children:r("hero.title")}),(0,w.jsx)("p",{className:"max-w-2xl text-sm sm:text-lg md:text-xl text-white/70 font-medium mb-6 sm:mb-10 leading-relaxed drop-shadow-md line-clamp-3 sm:line-clamp-none",children:r("hero.synopsis")}),(0,w.jsxs)("div",{className:"flex flex-col sm:flex-row items-stretch sm:items-center gap-3 sm:gap-4 w-full sm:w-auto",children:[(0,w.jsx)(pe,{className:"rounded-none bg-white text-black hover:bg-white/90 font-bold tracking-widest text-xs px-6 sm:px-8 py-5 sm:py-6 uppercase transition-transform hover:scale-105 active:scale-95 w-full sm:w-auto",children:r("hero.getTickets")}),(0,w.jsx)(pe,{variant:"outline",className:"rounded-none border-white/30 text-white bg-black/20 backdrop-blur-md hover:bg-white/10 transition-colors font-bold tracking-widest text-xs px-6 sm:px-8 py-5 sm:py-6 uppercase w-full sm:w-auto",children:r("hero.watchTrailer")})]})]})]})]})}var E=require("react/jsx-runtime"),kt="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json",Rt={cinema:kt,helvetiker:kt,"helvetiker-regular":"https://threejs.org/examples/fonts/helvetiker_regular.typeface.json",gentilis:"https://threejs.org/examples/fonts/gentilis_bold.typeface.json","gentilis-light":"https://threejs.org/examples/fonts/gentilis_regular.typeface.json",optimer:"https://threejs.org/examples/fonts/optimer_bold.typeface.json","optimer-clean":"https://threejs.org/examples/fonts/optimer_regular.typeface.json","droid-sans":"https://threejs.org/examples/fonts/droid/droid_sans_bold.typeface.json","droid-serif":"https://threejs.org/examples/fonts/droid/droid_serif_bold.typeface.json"},Ct={rojo:"#3b0712",azul:"#021a38",verde:"#032117",esmeralda:"#032117",dorado:"#1c1503",negro:"#07080c",purpura:"#21032a"},St={gold:"radial-gradient(circle at center, #1c1503 0%, #080601 60%, #020201 100%)",neon:"radial-gradient(circle at center, #021a1e 0%, #030d14 60%, #010408 100%)",emerald:"radial-gradient(circle at center, #032117 0%, #02120d 60%, #010705 100%)",crimson:"radial-gradient(circle at center, #240409 0%, #120205 60%, #060102 100%)",obsidian:"radial-gradient(circle at center, #120d24 0%, #080512 60%, #030206 100%)",glass:"radial-gradient(circle at center, #0f172a 0%, #070b14 60%, #020205 100%)"},Nt={i:.35,I:.4,l:.35,1:.4,t:.45,f:.45,j:.4,r:.5,w:1.15,W:1.25,m:1.15,M:1.2,O:.95,Q:.95,G:.95,C:.9,D:.9,B:.85,P:.85,R:.85,A:.85,V:.85,Y:.85,X:.85," ":.45};function nr(t,e=.85){if(!t)return[];let n=t.split("").map(m=>(Nt[m]!==void 0?Nt[m]:.75)*e),d=-n.reduce((m,f)=>m+f,0)/2;return n.map(m=>{let f=d+m/2;return d+=m,[f,0,0]})}function or(t){let e=[];t?Array.isArray(t)?e=t.map(a=>String(a).toLowerCase().trim()):typeof t=="string"&&(e=t.toLowerCase().split(",").map(a=>a.trim())):e=["flames"];let r=e.includes("all")||e.includes("todos")||e.includes("supernova")||e.includes("inferno"),n=r||e.includes("flames")||e.includes("fluid-flames")||e.includes("llamas")||e.includes("llamas-organicas"),s=r||e.includes("fire")||e.includes("crystal-flames")||e.includes("cristales")||e.includes("fuego"),d=r||e.includes("blobs")||e.includes("energy-blobs")||e.includes("plasma-blobs")||e.includes("nubes"),m=r||e.includes("sparks")||e.includes("chispas"),f=r||e.includes("shockwave")||e.includes("wave")||e.includes("onda")||e.includes("onda-3d"),l=r||e.includes("plasma")||e.includes("electric"),c=r||e.includes("embers")||e.includes("ascuas")||n||s||d;return{enableFluidFlames:n,enableCrystalFlames:s,enableBlobs:d,enableSparks:m,enableShockwave:f,enablePlasma:l,enableEmbers:c}}function Ie({containerToDisplay:t,containerSelector:e,effect:r="flames",title:n,backgroundColor:s,effectColor:d,textColor:m,effectSpeed:f=.5,effectDensity:l=.3,autoFitText:c=!0,loaderDuration:a,redirectUrl:o,onComplete:i,fontFamily:M="cinema",fontUrl:x,theme:h="crimson",letterSpacing:y=.85,className:k="",style:p,children:v}){let u=n!=null?n.trim().toUpperCase():"",b=u?u.split(""):[],T=(0,F.useMemo)(()=>nr(u,y),[u,y]),[g,S]=(0,F.useState)(!1);(0,F.useEffect)(()=>{S(!0)},[]);let L=!!(a&&a>0&&(o||i)),[_,he]=(0,F.useState)(0);(0,F.useEffect)(()=>{if(!L||!a)return;let P=a*1e3,B=50,Oe=0,Ze=setInterval(()=>{Oe+=B;let Dt=Math.min(100,Oe/P*100);he(Dt),Oe>=P&&(clearInterval(Ze),i==null||i(),o&&(window.location.href=o))},B);return()=>clearInterval(Ze)},[L,a,o,i]);let ge=(0,F.useMemo)(()=>{if(x)return x;let P=String(M).toLowerCase().trim();return Rt[P]||Rt.cinema},[M,x]),[O,It]=(0,F.useState)(typeof window!="undefined"?window.innerWidth:1200);(0,F.useEffect)(()=>{let P=()=>It(window.innerWidth);return window.addEventListener("resize",P),()=>window.removeEventListener("resize",P)},[]);let zt=(0,F.useMemo)(()=>{if(!c||!b.length)return 1;let P=b.length,B=1;return P<=4?B=1:P<=7?B=.85:P<=10?B=.7:P<=14?B=.55:B=.45,O<480?B*.55:O<768?B*.75:B},[c,b.length,O]),Ge=(0,F.useMemo)(()=>{if(!s)return St[h]||St.gold;let P=s.toLowerCase().trim();return Ct[P]?Ct[P]:(s.startsWith("#")||s.startsWith("rgb")||s.includes("gradient"),s)},[s,h]),W=(0,F.useMemo)(()=>or(r),[r]),_t=W.enableFluidFlames&&W.enableCrystalFlames?"all":W.enableCrystalFlames?"crystal":"fluid",Ot=W.enableFluidFlames||W.enableCrystalFlames,$e=e||(typeof t=="string"?t:void 0),ke=()=>$e==="lhome"||$e==="home"||t==="lhome"||t==="home"?(0,E.jsx)(Me,{cinemaName:u||"NOVA",webTheme:h}):typeof t=="string"&&t!=="lhome"&&t!=="home"?(0,E.jsxs)("div",{className:"text-center text-white p-8 bg-black/40 backdrop-blur-md rounded-2xl border border-white/10",children:[(0,E.jsx)("h2",{className:"text-3xl font-bold tracking-widest uppercase mb-2",children:t}),(0,E.jsx)("p",{className:"text-sm text-white/60",children:"3D Interactive WebGL Background"})]}):t&&typeof t!="string"?t:v;return g?(0,E.jsxs)("div",{id:e,"data-container-selector":e,className:`relative w-full h-full overflow-hidden select-none ${k}`,style:H({background:Ge},p),children:[L&&(0,E.jsx)("div",{className:"absolute top-0 left-0 right-0 z-30 h-1 bg-white/10 pointer-events-none",children:(0,E.jsx)("div",{className:"h-full bg-gradient-to-r from-amber-400 via-rose-500 to-cyan-400 transition-all duration-75",style:{width:`${_}%`}})}),(0,E.jsx)("div",{className:"absolute inset-0 z-0 pointer-events-auto",children:(0,E.jsx)(Lt.Canvas,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:[1,2],gl:{antialias:!0,toneMapping:4,toneMappingExposure:1.2},children:(0,E.jsxs)(F.Suspense,{fallback:null,children:[(0,E.jsx)(Be.Environment,{preset:"studio"}),(0,E.jsx)("ambientLight",{intensity:.3}),(0,E.jsx)("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),(0,E.jsx)("pointLight",{position:[-5,-3,-5],intensity:.6,color:h==="emerald"?"#10b981":h==="crimson"?"#ff1744":h==="neon"?"#00ffff":"#FFD700"}),(0,E.jsx)(Q,{phase:L?"entering":"idle",effectSpeed:f}),(0,E.jsx)(ye,{enabled:Ot,theme:h,effectColor:d,effectSpeed:f,effectDensity:l,mode:_t}),(0,E.jsx)(we,{enabled:W.enableBlobs,theme:h,effectColor:d,effectSpeed:f,effectDensity:l}),(0,E.jsx)(J,{enabled:W.enableSparks,theme:h,effectColor:d,effectSpeed:f}),(0,E.jsx)(ee,{enabled:W.enableShockwave,theme:h,effectColor:d,effectSpeed:f}),(0,E.jsx)(te,{enabled:W.enablePlasma,theme:h,effectColor:d,effectSpeed:f}),b.length>0&&(0,E.jsx)(Be.Center,{disableY:!0,disableZ:!0,children:(0,E.jsx)("group",{scale:zt,children:b.map((P,B)=>(0,E.jsx)(Z,{char:P,index:B,totalLetters:b.length,position:T[B],phase:L?"entering":"idle",theme:h,textColor:m,fontUrl:ge},`${P}-${B}`))})}),(0,E.jsx)(K,{theme:h,effectColor:d,effectSpeed:f,visible:W.enableEmbers}),(0,E.jsxs)(ae.EffectComposer,{children:[(0,E.jsx)(ae.Bloom,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:h==="neon"||h==="crimson"?1.4:.9,mipmapBlur:!0}),(0,E.jsx)(ae.Vignette,{offset:.3,darkness:.85}),(0,E.jsx)(ae.Noise,{opacity:.025})]})]})})}),ke()&&(0,E.jsx)("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:(0,E.jsx)("div",{className:"pointer-events-auto w-full h-full",children:ke()})})]}):(0,E.jsx)("div",{id:e,"data-container-selector":e,className:`relative w-full h-full overflow-hidden select-none bg-black ${k}`,style:H({background:Ge},p),children:ke()&&(0,E.jsx)("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:(0,E.jsx)("div",{className:"pointer-events-auto w-full h-full",children:ke()})})})}var V=require("react"),Ht=require("@react-three/fiber"),ze=require("@react-three/drei"),se=require("@react-three/postprocessing");var C=require("react/jsx-runtime"),Pt={gold:"radial-gradient(circle at center, #1c1503 0%, #080601 60%, #020201 100%)",neon:"radial-gradient(circle at center, #021a1e 0%, #030d14 60%, #010408 100%)",emerald:"radial-gradient(circle at center, #032117 0%, #02120d 60%, #010705 100%)",crimson:"radial-gradient(circle at center, #240409 0%, #120205 60%, #060102 100%)",obsidian:"radial-gradient(circle at center, #120d24 0%, #080512 60%, #030206 100%)",glass:"radial-gradient(circle at center, #0f172a 0%, #070b14 60%, #020205 100%)"},ar="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json";function sr(t){let n=-(t.length*.65)/2;return t.split("").map((s,d)=>[n+d*.65,0,0])}function Ee({text:t="CINEMA",theme:e="emerald",customBackground:r,interactiveSparks:n=!0,interactiveShockwave:s=!0,interactivePlasma:d=!0,showParticles:m=!0,enableBloom:f=!0,className:l="",style:c,children:a}){let[o,i]=(0,V.useState)(!1),[M]=(0,V.useState)(t),[x]=(0,V.useState)(e);(0,V.useEffect)(()=>{i(!0)},[]);let h=(M||t||"CINEMA").toUpperCase(),y=h.split(""),k=(0,V.useMemo)(()=>sr(h),[h]),p=x||e||"emerald",v=r||Pt[p]||Pt.emerald;return o?(0,C.jsxs)("div",{className:`relative w-full h-full min-h-[350px] overflow-hidden select-none ${l}`,style:H({background:v},c),children:[(0,C.jsx)("div",{className:"absolute inset-0 z-0 pointer-events-auto",children:(0,C.jsx)(Ht.Canvas,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:[1,2],gl:{antialias:!0,toneMapping:4,toneMappingExposure:1.2},children:(0,C.jsxs)(V.Suspense,{fallback:null,children:[(0,C.jsx)(ze.Environment,{preset:"studio"}),(0,C.jsx)("ambientLight",{intensity:.3}),(0,C.jsx)("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),(0,C.jsx)("pointLight",{position:[-5,-3,-5],intensity:.6,color:p==="emerald"?"#10b981":p==="crimson"?"#ff1744":p==="neon"?"#00ffff":"#FFD700"}),(0,C.jsx)(Q,{phase:"idle"}),(0,C.jsx)(J,{enabled:n,theme:p}),(0,C.jsx)(ee,{enabled:s,theme:p}),(0,C.jsx)(te,{enabled:d,theme:p}),(0,C.jsx)(ze.Center,{disableY:!0,disableZ:!0,children:(0,C.jsx)("group",{children:y.map((u,b)=>(0,C.jsx)(Z,{char:u,index:b,totalLetters:y.length,position:k[b],phase:"idle",theme:p,fontUrl:ar},`${u}-${b}`))})}),m&&(0,C.jsx)(K,{theme:p,visible:!0}),(0,C.jsxs)(se.EffectComposer,{children:[(0,C.jsx)(se.Bloom,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:f?.9:0,mipmapBlur:!0}),(0,C.jsx)(se.Vignette,{offset:.3,darkness:.85}),(0,C.jsx)(se.Noise,{opacity:.025})]})]})})}),a&&(0,C.jsx)("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:a})]}):(0,C.jsx)("div",{className:`relative w-full h-full min-h-[350px] overflow-hidden select-none bg-black ${l}`,style:H({background:v},c),children:a&&(0,C.jsx)("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:a})})}var Ye=require("react/jsx-runtime");function At(t,e={}){let r=n=>(0,Ye.jsx)(Ee,G(H({},e),{children:(0,Ye.jsx)(t,H({},n))}));return r.displayName=`WithCinema3D(${t.displayName||t.name||"Component"})`,r}var z=require("react"),Bt=require("@react-three/fiber"),_e=require("@react-three/drei"),ie=require("@react-three/postprocessing");var N=require("react/jsx-runtime"),ir=[{key:"gold",label:"Gold",color:"#FFD700"},{key:"neon",label:"Neon",color:"#00ffff"},{key:"emerald",label:"Emerald",color:"#10b981"},{key:"crimson",label:"Crimson",color:"#ff1744"},{key:"obsidian",label:"Obsidian",color:"#a855f7"},{key:"glass",label:"Glass",color:"#ffffff"}];function Te({phase:t,cinemaName:e,theme:r,effects:n,onTitleChange:s,onThemeChange:d,onToggleEffect:m}){return(0,N.jsxs)("div",{className:"absolute inset-0 pointer-events-none z-10 flex flex-col items-center justify-between p-6 md:p-10",style:{opacity:t==="exiting"?0:1,transition:"opacity 0.8s ease-out"},children:[(0,N.jsxs)("div",{className:"w-full max-w-xl flex flex-col items-center gap-2 pointer-events-auto",style:{opacity:t==="idle"||t==="entering"?1:0,transform:t==="idle"||t==="entering"?"translateY(0)":"translateY(-20px)",transition:"all 1s ease-out 0.3s"},children:[(0,N.jsx)("label",{className:"text-[10px] tracking-[0.3em] uppercase text-white/50 font-bold",children:"Live 3D Title Control"}),(0,N.jsx)("div",{className:"relative w-full",children:(0,N.jsx)("input",{type:"text",value:e,onChange:c=>s(c.target.value),maxLength:18,placeholder:"Type any title...",className:"w-full px-6 py-3 rounded-full text-center text-sm md:text-base font-bold tracking-widest uppercase outline-none transition-all duration-300",style:{background:"rgba(255, 255, 255, 0.08)",backdropFilter:"blur(16px)",border:"1px solid rgba(255, 255, 255, 0.2)",color:"#ffffff",boxShadow:"0 8px 32px rgba(0, 0, 0, 0.37)"}})})]}),t==="loading"&&(0,N.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,N.jsx)("div",{className:"w-16 h-16 rounded-full border-2 animate-spin",style:{borderColor:"transparent",borderTopColor:"rgba(255, 215, 0, 0.8)",borderRightColor:"rgba(255, 215, 0, 0.3)"}})}),(0,N.jsxs)("div",{className:"w-full max-w-3xl flex flex-col items-center gap-5",children:[(0,N.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-2 pointer-events-auto",style:{opacity:t==="idle"||t==="entering"?1:0,transition:"opacity 1s ease-out 0.8s"},children:[(0,N.jsx)("span",{className:"text-[9px] uppercase tracking-[0.25em] text-white/40 mr-2 font-bold",children:"Effects"}),(0,N.jsx)("button",{onClick:()=>m("sparks"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.sparks?"bg-amber-500/30 text-amber-200 border-amber-400/60 shadow-[0_0_15px_rgba(245,158,11,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u{1F525} Sparks"}),(0,N.jsx)("button",{onClick:()=>m("shockwave"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.shockwave?"bg-cyan-500/30 text-cyan-200 border-cyan-400/60 shadow-[0_0_15px_rgba(6,182,212,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u{1F30A} Wave"}),(0,N.jsx)("button",{onClick:()=>m("plasma"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.plasma?"bg-purple-500/30 text-purple-200 border-purple-400/60 shadow-[0_0_15px_rgba(168,85,247,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u26A1 Plasma"}),(0,N.jsx)("button",{onClick:()=>m("embers"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.embers?"bg-emerald-500/30 text-emerald-200 border-emerald-400/60 shadow-[0_0_15px_rgba(16,185,129,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u2728 Embers"})]}),(0,N.jsxs)("div",{className:"flex items-center gap-3 pointer-events-auto",style:{opacity:t==="idle"||t==="entering"?1:0,transition:"opacity 1s ease-out 1.2s"},children:[(0,N.jsx)("span",{className:"text-[10px] uppercase tracking-[0.3em] text-white/40 mr-2 font-bold",children:"Theme"}),(0,N.jsx)("div",{className:"flex items-center gap-2 md:gap-3",children:ir.map(c=>{let a=r===c.key;return(0,N.jsxs)("button",{onClick:()=>d(c.key),className:"group relative flex flex-col items-center gap-1.5 cursor-pointer outline-none","aria-label":`Switch to ${c.label} theme`,children:[(0,N.jsx)("div",{className:"relative w-11 h-7 md:w-14 md:h-9 rounded-md overflow-hidden transition-all duration-300",style:{border:a?`2px solid ${c.color}`:"1px solid rgba(255, 255, 255, 0.15)",transform:a?"scale(1.1) translateY(-2px)":"scale(1) translateY(0)",boxShadow:a?`0 4px 20px ${c.color}60`:"0 2px 10px rgba(0,0,0,0.5)"},children:(0,N.jsx)("div",{className:"absolute inset-0 opacity-80",style:{backgroundColor:c.color}})}),(0,N.jsx)("span",{className:"text-[9px] uppercase tracking-widest font-semibold transition-colors duration-300",style:{color:a?"#ffffff":"rgba(255, 255, 255, 0.4)"},children:c.label})]},c.key)})})]})]})]})}var R=require("react/jsx-runtime"),lr="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json",Ft={gold:"radial-gradient(circle at center, #1c1503 0%, #080601 60%, #020201 100%)",neon:"radial-gradient(circle at center, #021a1e 0%, #030d14 60%, #010408 100%)",emerald:"radial-gradient(circle at center, #032117 0%, #02120d 60%, #010705 100%)",crimson:"radial-gradient(circle at center, #240409 0%, #120205 60%, #060102 100%)",obsidian:"radial-gradient(circle at center, #120d24 0%, #080512 60%, #030206 100%)",glass:"radial-gradient(circle at center, #0f172a 0%, #070b14 60%, #020205 100%)"};function cr(t){let n=-(t.length*.65)/2;return t.split("").map((s,d)=>[n+d*.65,0,0])}function Ve({cinemaName:t="CINEMULTIPLEX",defaultTheme:e="emerald",customBackground:r,onEnterCinema:n}){let[s,d]=(0,z.useState)(!1),[m,f]=(0,z.useState)("loading"),[l,c]=(0,z.useState)(e),[a,o]=(0,z.useState)(t),[i,M]=(0,z.useState)({sparks:!0,shockwave:!0,plasma:!0,embers:!0});(0,z.useEffect)(()=>{d(!0)},[]);let x=(a||"CINEMA").toUpperCase(),h=x.split(""),y=(0,z.useMemo)(()=>cr(x),[x]);(0,z.useEffect)(()=>{let v=setTimeout(()=>f("entering"),800),u=h.length*120+1500,b=setTimeout(()=>f("idle"),800+u);return()=>{clearTimeout(v),clearTimeout(b)}},[h.length]);let k=(0,z.useCallback)(v=>{M(u=>G(H({},u),{[v]:!u[v]}))},[]),p=r||Ft[l]||Ft.emerald;return s?(0,R.jsxs)("div",{className:"fixed inset-0 w-screen h-screen transition-all duration-1000 select-none overflow-hidden",style:{background:p},children:[(0,R.jsx)(Bt.Canvas,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:[1,2],gl:{antialias:!0,toneMapping:4,toneMappingExposure:1.2},children:(0,R.jsxs)(z.Suspense,{fallback:null,children:[(0,R.jsx)(_e.Environment,{preset:"studio"}),(0,R.jsx)("ambientLight",{intensity:.3}),(0,R.jsx)("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),(0,R.jsx)("pointLight",{position:[-5,-3,-5],intensity:.6,color:l==="emerald"?"#10b981":l==="crimson"?"#ff1744":l==="neon"?"#00ffff":"#FFD700"}),(0,R.jsx)("spotLight",{position:[0,10,0],angle:.4,penumbra:.8,intensity:.9,color:"#ffffff"}),(0,R.jsx)("pointLight",{position:[0,0,-5],intensity:.4,color:"#ffffff"}),(0,R.jsx)(Q,{phase:m}),i.sparks&&(0,R.jsx)(J,{theme:l}),(0,R.jsx)(ee,{theme:l,enabled:i.shockwave}),(0,R.jsx)(te,{theme:l,enabled:i.plasma}),(0,R.jsx)(_e.Center,{disableY:!0,disableZ:!0,children:(0,R.jsx)("group",{children:h.map((v,u)=>(0,R.jsx)(Z,{char:v,index:u,totalLetters:h.length,position:y[u],phase:m,theme:l,fontUrl:lr},`${v}-${u}`))})}),(0,R.jsx)(K,{theme:l,visible:m!=="loading"&&i.embers}),(0,R.jsxs)(ie.EffectComposer,{children:[(0,R.jsx)(ie.Bloom,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:l==="neon"||l==="emerald"||l==="crimson"?1.4:.7,mipmapBlur:!0}),(0,R.jsx)(ie.Vignette,{offset:.3,darkness:.85}),(0,R.jsx)(ie.Noise,{opacity:.025})]})]})}),(0,R.jsx)(Te,{phase:m,cinemaName:a,theme:l,effects:i,onTitleChange:o,onThemeChange:c,onToggleEffect:k})]}):(0,R.jsx)("div",{className:"fixed inset-0 w-screen h-screen transition-all duration-1000 select-none overflow-hidden bg-black flex items-center justify-center",style:{background:p},children:(0,R.jsx)("div",{className:"w-16 h-16 rounded-full border-2 animate-spin border-t-amber-400 border-r-amber-400/30 border-b-transparent border-l-transparent"})})}0&&(module.exports={AnimatedBackground,AnimatedLetter,CameraRig,CinemaBackground,CinemaHome,CinemaLoader,ClickFireSparks,ClickShockwave,ElectricPlasma,FireFlames,LoaderOverlay,PlasmaBlobs,SceneParticles,withCinema3D});
4
4
  //# sourceMappingURL=index.js.map