3d-effect-cinema 0.7.0 → 0.7.2
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 +8 -1
- package/dist/index.d.mts +35 -4
- package/dist/index.d.ts +35 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# 🎬 3D Effect Cinema (v0.7.
|
|
1
|
+
# 🎬 3D Effect Cinema (v0.7.2)
|
|
2
2
|
|
|
3
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.**
|
|
@@ -104,9 +104,16 @@ export default function SplashIntro() {
|
|
|
104
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). |
|
|
105
105
|
| `fontUrl` | `string` | `undefined` | URL personalizada de un archivo Typeface JSON 3D. |
|
|
106
106
|
| `letterSpacing` | `number` | `0.85` | Multiplicador del espaciado proporcional entre letras 3D. |
|
|
107
|
+
| `dpr` | `number` \| `[min, max]` | `[1, 2]` en escritorio, `[1, 1.5]` en pantallas táctiles | Límite de pixel ratio del Canvas. |
|
|
108
|
+
| `postprocessing` | `{ enabled?: boolean; multisampling?: number; bloom?: boolean }` | `{ enabled: true, bloom: true, multisampling: 8 }` en escritorio; `multisampling: 0` en táctiles | Post-procesado (Bloom, Vignette, Noise). En pantallas táctiles (`(pointer: coarse)`) además se desactiva el `antialias` del Canvas y el composer usa buffer de 8 bits. `enabled: false` renderiza la escena directo, sin composer. |
|
|
107
109
|
| `containerToDisplay` | `"lhome"` \| `"home"` \| `ReactNode` | `undefined` | Plantilla de vista superpuesta ("lhome" para la landing de cine, o cualquier componente React). |
|
|
108
110
|
| `theme` | `'emerald'` \| `'crimson'` \| `'gold'` \| `'neon'` \| `'obsidian'` \| `'glass'` | `'crimson'` | Tema de luces y material 3D por defecto del texto. |
|
|
109
111
|
|
|
112
|
+
> `dpr` y `postprocessing` también están disponibles (opcionales) en `<CinemaBackground />` y `<CinemaLoader />`.
|
|
113
|
+
> Si en un dispositivo ves solo el fondo CSS, prueba `postprocessing={{ enabled: false }}` para aislar el composer.
|
|
114
|
+
|
|
115
|
+
**Robustez WebGL (automática, sin props):** el entorno de reflejos usa un estudio procedural local (`Lightformer`) y el HDR remoto se carga aparte; si falla o tarda, las letras metálicas no quedan negras. Si el navegador pierde el contexto WebGL (`webglcontextlost`) se previene el comportamiento por defecto y, al restaurarse, el Canvas se remonta.
|
|
116
|
+
|
|
110
117
|
---
|
|
111
118
|
|
|
112
119
|
## 🛠️ Solución de Errores e Integración en Next.js
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import react__default from 'react';
|
|
3
3
|
|
|
4
|
+
/** Post-processing options shared by every canvas-based component. */
|
|
5
|
+
interface PostprocessingOptions {
|
|
6
|
+
/** Master switch. `false` renders the scene directly with no EffectComposer. Default `true`. */
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
/** MSAA samples of the composer buffer. Default: 8 on desktop, 0 on touch screens. */
|
|
9
|
+
multisampling?: number;
|
|
10
|
+
/** Enable the Bloom pass. Default `true`. */
|
|
11
|
+
bloom?: boolean;
|
|
12
|
+
}
|
|
13
|
+
type CinemaDpr = number | [number, number];
|
|
14
|
+
|
|
4
15
|
type MaterialTheme = "gold" | "neon" | "emerald" | "crimson" | "obsidian" | "glass";
|
|
5
16
|
interface AnimatedLetterProps {
|
|
6
17
|
char: string;
|
|
@@ -55,6 +66,10 @@ interface AnimatedBackgroundProps {
|
|
|
55
66
|
className?: string;
|
|
56
67
|
/** Inline CSS styles */
|
|
57
68
|
style?: react__default.CSSProperties;
|
|
69
|
+
/** Pixel ratio cap. Default `[1, 2]` on desktop, `[1, 1.5]` on touch screens. */
|
|
70
|
+
dpr?: CinemaDpr;
|
|
71
|
+
/** Post-processing options (bloom/vignette/noise). Safe defaults are applied on touch screens. */
|
|
72
|
+
postprocessing?: PostprocessingOptions;
|
|
58
73
|
/** Custom children overlay */
|
|
59
74
|
children?: react__default.ReactNode;
|
|
60
75
|
}
|
|
@@ -63,7 +78,7 @@ interface AnimatedBackgroundProps {
|
|
|
63
78
|
* Supports permanent 3D background mode OR cinematic Splash Screen / Loader mode (with loaderDuration & redirectUrl).
|
|
64
79
|
* Can be targeted to a DOM container via `containerSelector` (e.g. containerSelector="home").
|
|
65
80
|
*/
|
|
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;
|
|
81
|
+
declare function AnimatedBackground({ containerToDisplay, containerSelector, effect, title, backgroundColor, effectColor, textColor, effectSpeed, effectDensity, autoFitText, loaderDuration, redirectUrl, onComplete, fontFamily, fontUrl, theme, letterSpacing, className, style, dpr, postprocessing, children, }: AnimatedBackgroundProps): react__default.JSX.Element;
|
|
67
82
|
|
|
68
83
|
interface CinemaBackgroundProps {
|
|
69
84
|
/** 3D Text rendered in world space */
|
|
@@ -82,6 +97,10 @@ interface CinemaBackgroundProps {
|
|
|
82
97
|
showParticles?: boolean;
|
|
83
98
|
/** Enable bloom glow effect */
|
|
84
99
|
enableBloom?: boolean;
|
|
100
|
+
/** Pixel ratio cap. Default `[1, 2]` on desktop, `[1, 1.5]` on touch screens. */
|
|
101
|
+
dpr?: CinemaDpr;
|
|
102
|
+
/** Post-processing options. Safe defaults are applied on touch screens. */
|
|
103
|
+
postprocessing?: PostprocessingOptions;
|
|
85
104
|
/** Optional container CSS class name */
|
|
86
105
|
className?: string;
|
|
87
106
|
/** Optional inline container styles */
|
|
@@ -93,7 +112,7 @@ interface CinemaBackgroundProps {
|
|
|
93
112
|
* Highly customizable 3D Cinema WebGL Background Component.
|
|
94
113
|
* Fits dynamically into any HTML parent container (div, header, section, card).
|
|
95
114
|
*/
|
|
96
|
-
declare function CinemaBackground({ text, theme, customBackground, interactiveSparks, interactiveShockwave, interactivePlasma, showParticles, enableBloom, className, style, children, }: CinemaBackgroundProps): react.JSX.Element;
|
|
115
|
+
declare function CinemaBackground({ text, theme, customBackground, interactiveSparks, interactiveShockwave, interactivePlasma, showParticles, enableBloom, className, style, dpr, postprocessing, children, }: CinemaBackgroundProps): react.JSX.Element;
|
|
97
116
|
|
|
98
117
|
type WithCinema3DOptions = Omit<CinemaBackgroundProps, "children">;
|
|
99
118
|
/**
|
|
@@ -117,8 +136,12 @@ interface CinemaLoaderProps {
|
|
|
117
136
|
defaultTheme?: MaterialTheme;
|
|
118
137
|
customBackground?: string;
|
|
119
138
|
onEnterCinema?: () => void;
|
|
139
|
+
/** Pixel ratio cap. Default `[1, 2]` on desktop, `[1, 1.5]` on touch screens. */
|
|
140
|
+
dpr?: CinemaDpr;
|
|
141
|
+
/** Post-processing options. Safe defaults are applied on touch screens. */
|
|
142
|
+
postprocessing?: PostprocessingOptions;
|
|
120
143
|
}
|
|
121
|
-
declare function CinemaLoader({ cinemaName, defaultTheme, customBackground, onEnterCinema, }: CinemaLoaderProps): react.JSX.Element;
|
|
144
|
+
declare function CinemaLoader({ cinemaName, defaultTheme, customBackground, onEnterCinema, dpr, postprocessing, }: CinemaLoaderProps): react.JSX.Element;
|
|
122
145
|
|
|
123
146
|
interface FireFlamesProps {
|
|
124
147
|
theme?: MaterialTheme;
|
|
@@ -204,4 +227,12 @@ declare function CinemaHome({ cinemaName, webTheme }: {
|
|
|
204
227
|
webTheme?: string;
|
|
205
228
|
}): react.JSX.Element;
|
|
206
229
|
|
|
207
|
-
|
|
230
|
+
/**
|
|
231
|
+
* Reflection environment that never leaves metallic letters black.
|
|
232
|
+
* 1. A procedural Lightformer studio is created synchronously (no network).
|
|
233
|
+
* 2. The remote HDR "studio" preset loads in its OWN Suspense + error boundary, so a slow or
|
|
234
|
+
* failed download neither hides the scene nor crashes it; when it arrives it replaces the fallback.
|
|
235
|
+
*/
|
|
236
|
+
declare function SafeEnvironment(): react__default.JSX.Element;
|
|
237
|
+
|
|
238
|
+
export { AnimatedBackground, type AnimatedBackgroundProps, AnimatedLetter, CameraRig, CinemaBackground, type CinemaBackgroundProps, type CinemaDpr, CinemaHome, CinemaLoader, ClickFireSparks, ClickShockwave, type EffectState, type EffectType, ElectricPlasma, FireFlames, LoaderOverlay, type MaterialTheme, PlasmaBlobs, type PostprocessingOptions, SafeEnvironment, SceneParticles, type WithCinema3DOptions, AnimatedBackground as default, withCinema3D };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import react__default from 'react';
|
|
3
3
|
|
|
4
|
+
/** Post-processing options shared by every canvas-based component. */
|
|
5
|
+
interface PostprocessingOptions {
|
|
6
|
+
/** Master switch. `false` renders the scene directly with no EffectComposer. Default `true`. */
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
/** MSAA samples of the composer buffer. Default: 8 on desktop, 0 on touch screens. */
|
|
9
|
+
multisampling?: number;
|
|
10
|
+
/** Enable the Bloom pass. Default `true`. */
|
|
11
|
+
bloom?: boolean;
|
|
12
|
+
}
|
|
13
|
+
type CinemaDpr = number | [number, number];
|
|
14
|
+
|
|
4
15
|
type MaterialTheme = "gold" | "neon" | "emerald" | "crimson" | "obsidian" | "glass";
|
|
5
16
|
interface AnimatedLetterProps {
|
|
6
17
|
char: string;
|
|
@@ -55,6 +66,10 @@ interface AnimatedBackgroundProps {
|
|
|
55
66
|
className?: string;
|
|
56
67
|
/** Inline CSS styles */
|
|
57
68
|
style?: react__default.CSSProperties;
|
|
69
|
+
/** Pixel ratio cap. Default `[1, 2]` on desktop, `[1, 1.5]` on touch screens. */
|
|
70
|
+
dpr?: CinemaDpr;
|
|
71
|
+
/** Post-processing options (bloom/vignette/noise). Safe defaults are applied on touch screens. */
|
|
72
|
+
postprocessing?: PostprocessingOptions;
|
|
58
73
|
/** Custom children overlay */
|
|
59
74
|
children?: react__default.ReactNode;
|
|
60
75
|
}
|
|
@@ -63,7 +78,7 @@ interface AnimatedBackgroundProps {
|
|
|
63
78
|
* Supports permanent 3D background mode OR cinematic Splash Screen / Loader mode (with loaderDuration & redirectUrl).
|
|
64
79
|
* Can be targeted to a DOM container via `containerSelector` (e.g. containerSelector="home").
|
|
65
80
|
*/
|
|
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;
|
|
81
|
+
declare function AnimatedBackground({ containerToDisplay, containerSelector, effect, title, backgroundColor, effectColor, textColor, effectSpeed, effectDensity, autoFitText, loaderDuration, redirectUrl, onComplete, fontFamily, fontUrl, theme, letterSpacing, className, style, dpr, postprocessing, children, }: AnimatedBackgroundProps): react__default.JSX.Element;
|
|
67
82
|
|
|
68
83
|
interface CinemaBackgroundProps {
|
|
69
84
|
/** 3D Text rendered in world space */
|
|
@@ -82,6 +97,10 @@ interface CinemaBackgroundProps {
|
|
|
82
97
|
showParticles?: boolean;
|
|
83
98
|
/** Enable bloom glow effect */
|
|
84
99
|
enableBloom?: boolean;
|
|
100
|
+
/** Pixel ratio cap. Default `[1, 2]` on desktop, `[1, 1.5]` on touch screens. */
|
|
101
|
+
dpr?: CinemaDpr;
|
|
102
|
+
/** Post-processing options. Safe defaults are applied on touch screens. */
|
|
103
|
+
postprocessing?: PostprocessingOptions;
|
|
85
104
|
/** Optional container CSS class name */
|
|
86
105
|
className?: string;
|
|
87
106
|
/** Optional inline container styles */
|
|
@@ -93,7 +112,7 @@ interface CinemaBackgroundProps {
|
|
|
93
112
|
* Highly customizable 3D Cinema WebGL Background Component.
|
|
94
113
|
* Fits dynamically into any HTML parent container (div, header, section, card).
|
|
95
114
|
*/
|
|
96
|
-
declare function CinemaBackground({ text, theme, customBackground, interactiveSparks, interactiveShockwave, interactivePlasma, showParticles, enableBloom, className, style, children, }: CinemaBackgroundProps): react.JSX.Element;
|
|
115
|
+
declare function CinemaBackground({ text, theme, customBackground, interactiveSparks, interactiveShockwave, interactivePlasma, showParticles, enableBloom, className, style, dpr, postprocessing, children, }: CinemaBackgroundProps): react.JSX.Element;
|
|
97
116
|
|
|
98
117
|
type WithCinema3DOptions = Omit<CinemaBackgroundProps, "children">;
|
|
99
118
|
/**
|
|
@@ -117,8 +136,12 @@ interface CinemaLoaderProps {
|
|
|
117
136
|
defaultTheme?: MaterialTheme;
|
|
118
137
|
customBackground?: string;
|
|
119
138
|
onEnterCinema?: () => void;
|
|
139
|
+
/** Pixel ratio cap. Default `[1, 2]` on desktop, `[1, 1.5]` on touch screens. */
|
|
140
|
+
dpr?: CinemaDpr;
|
|
141
|
+
/** Post-processing options. Safe defaults are applied on touch screens. */
|
|
142
|
+
postprocessing?: PostprocessingOptions;
|
|
120
143
|
}
|
|
121
|
-
declare function CinemaLoader({ cinemaName, defaultTheme, customBackground, onEnterCinema, }: CinemaLoaderProps): react.JSX.Element;
|
|
144
|
+
declare function CinemaLoader({ cinemaName, defaultTheme, customBackground, onEnterCinema, dpr, postprocessing, }: CinemaLoaderProps): react.JSX.Element;
|
|
122
145
|
|
|
123
146
|
interface FireFlamesProps {
|
|
124
147
|
theme?: MaterialTheme;
|
|
@@ -204,4 +227,12 @@ declare function CinemaHome({ cinemaName, webTheme }: {
|
|
|
204
227
|
webTheme?: string;
|
|
205
228
|
}): react.JSX.Element;
|
|
206
229
|
|
|
207
|
-
|
|
230
|
+
/**
|
|
231
|
+
* Reflection environment that never leaves metallic letters black.
|
|
232
|
+
* 1. A procedural Lightformer studio is created synchronously (no network).
|
|
233
|
+
* 2. The remote HDR "studio" preset loads in its OWN Suspense + error boundary, so a slow or
|
|
234
|
+
* failed download neither hides the scene nor crashes it; when it arrives it replaces the fallback.
|
|
235
|
+
*/
|
|
236
|
+
declare function SafeEnvironment(): react__default.JSX.Element;
|
|
237
|
+
|
|
238
|
+
export { AnimatedBackground, type AnimatedBackgroundProps, AnimatedLetter, CameraRig, CinemaBackground, type CinemaBackgroundProps, type CinemaDpr, CinemaHome, CinemaLoader, ClickFireSparks, ClickShockwave, type EffectState, type EffectType, ElectricPlasma, FireFlames, LoaderOverlay, type MaterialTheme, PlasmaBlobs, type PostprocessingOptions, SafeEnvironment, SceneParticles, type WithCinema3DOptions, AnimatedBackground as default, withCinema3D };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import React from "react";
|
|
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});
|
|
3
|
+
"use strict";var or=Object.create;var Ee=Object.defineProperty,ar=Object.defineProperties,sr=Object.getOwnPropertyDescriptor,ir=Object.getOwnPropertyDescriptors,lr=Object.getOwnPropertyNames,He=Object.getOwnPropertySymbols,cr=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable;var rt=(t,e,r)=>e in t?Ee(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,H=(t,e)=>{for(var r in e||(e={}))je.call(e,r)&&rt(t,r,e[r]);if(He)for(var r of He(e))nt.call(e,r)&&rt(t,r,e[r]);return t},U=(t,e)=>ar(t,ir(e));var ot=(t,e)=>{var r={};for(var n in t)je.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&He)for(var n of He(t))e.indexOf(n)<0&&nt.call(t,n)&&(r[n]=t[n]);return r};var mr=(t,e)=>{for(var r in e)Ee(t,r,{get:e[r],enumerable:!0})},at=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of lr(e))!je.call(t,a)&&a!==r&&Ee(t,a,{get:()=>e[a],enumerable:!(n=sr(e,a))||n.enumerable});return t};var V=(t,e,r)=>(r=t!=null?or(cr(t)):{},at(e||!t||!t.__esModule?Ee(r,"default",{value:t,enumerable:!0}):r,t)),dr=t=>at(Ee({},"__esModule",{value:!0}),t);var Nr={};mr(Nr,{AnimatedBackground:()=>Xe,AnimatedLetter:()=>ee,CameraRig:()=>ne,CinemaBackground:()=>Pe,CinemaHome:()=>Se,CinemaLoader:()=>Qe,ClickFireSparks:()=>oe,ClickShockwave:()=>ae,ElectricPlasma:()=>se,FireFlames:()=>Ce,LoaderOverlay:()=>Le,PlasmaBlobs:()=>Re,SafeEnvironment:()=>J,SceneParticles:()=>re,default:()=>Xe,withCinema3D:()=>Ut});module.exports=dr(Nr);var O=require("react"),Ot=require("@react-three/fiber");var Ae=V(require("react")),le=require("@react-three/drei"),X=require("react/jsx-runtime"),Ve=class extends Ae.default.Component{constructor(){super(...arguments);this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(){}render(){return this.state.failed?null:this.props.children}};function J(){return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(le.Environment,{resolution:256,children:[(0,X.jsx)("color",{attach:"background",args:["#05050a"]}),(0,X.jsx)(le.Lightformer,{form:"rect",intensity:4,position:[0,6,4],scale:[14,4,1],color:"#ffffff"}),(0,X.jsx)(le.Lightformer,{form:"rect",intensity:2.5,position:[-7,1,2],"rotation-y":Math.PI/2,scale:[8,5,1],color:"#dfe8ff"}),(0,X.jsx)(le.Lightformer,{form:"rect",intensity:2.5,position:[7,1,2],"rotation-y":-Math.PI/2,scale:[8,5,1],color:"#fff0df"}),(0,X.jsx)(le.Lightformer,{form:"circle",intensity:1.5,position:[0,-4,-6],scale:6,color:"#ffffff"})]}),(0,X.jsx)(Ve,{children:(0,X.jsx)(Ae.Suspense,{fallback:null,children:(0,X.jsx)(le.Environment,{preset:"studio"})})})]})}var ce=require("@react-three/postprocessing"),st=require("three");var be=require("react/jsx-runtime");function fe({config:t,coarse:e,bloomIntensity:r}){return t.enabled?(0,be.jsxs)(ce.EffectComposer,U(H({multisampling:t.multisampling},e?{frameBufferType:st.UnsignedByteType}:{}),{children:[(0,be.jsx)(ce.Bloom,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:t.bloom?r:0,mipmapBlur:!0}),(0,be.jsx)(ce.Vignette,{offset:.3,darkness:.85}),(0,be.jsx)(ce.Noise,{opacity:.025})]})):null}var G=require("react"),fr=[1,2],ur=[1,1.5];function it(){if(typeof window=="undefined"||typeof window.matchMedia!="function")return!1;try{return window.matchMedia("(pointer: coarse)").matches}catch(t){return!1}}function pr(){let[t,e]=(0,G.useState)(it);return(0,G.useEffect)(()=>{e(it())},[]),t}function hr(t,e,r){var n,a,l;return{dpr:e!=null?e:t?ur:fr,antialias:!t,post:{enabled:(n=r==null?void 0:r.enabled)!=null?n:!0,multisampling:(a=r==null?void 0:r.multisampling)!=null?a:t?0:8,bloom:(l=r==null?void 0:r.bloom)!=null?l:!0}}}function ve(t,e){let r=pr(),[n,a]=(0,G.useState)(0),l=(0,G.useMemo)(()=>hr(r,t,e),[r,t,e==null?void 0:e.enabled,e==null?void 0:e.multisampling,e==null?void 0:e.bloom]),m=(0,G.useCallback)(f=>{let c=f.gl.domElement,i=s=>s.preventDefault(),o=()=>a(s=>s+1);c.addEventListener("webglcontextlost",i,!1),c.addEventListener("webglcontextrestored",o,!1)},[]),d=(0,G.useMemo)(()=>({antialias:l.antialias,toneMapping:4,toneMappingExposure:1.2,powerPreference:"high-performance"}),[l.antialias]);return{canvasKey:n,dpr:l.dpr,gl:d,onCreated:m,post:l.post,coarse:r}}var zt=require("@react-three/drei");var ue=require("react"),lt=require("@react-three/fiber"),ct=require("@react-three/drei"),xe=V(require("three")),Te=require("react/jsx-runtime"),gr={gold:{color:"#FFD700",metalness:1,roughness:.15,clearcoat:1,emissive:"#8a6a00",emissiveIntensity:.25,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:"#4a4a8a",emissiveIntensity:.3,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}},br={blanco:"#ffffff",dorado:"#FFD700",rojo:"#ff1744",azul:"#00ffff",verde:"#10b981",magenta:"#ff007f",morado:"#a855f7",plata:"#e2e8f0",negro:"#111827"};function ee({char:t,index:e,totalLetters:r,position:n,phase:a,theme:l,textColor:m,fontUrl:d}){let f=(0,ue.useRef)(null),c=(0,ue.useRef)(null),i=(0,ue.useMemo)(()=>{let h=e/r*Math.PI*2;return{x:Math.cos(h)*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=gr[l],s=(0,ue.useMemo)(()=>{if(!m)return o.color;let h=m.toLowerCase().trim();return br[h]||m},[m,o.color]),w=(0,ue.useMemo)(()=>m?s:o.emissive,[m,s,o.emissive]);return(0,lt.useFrame)(h=>{if(!f.current)return;let g=h.clock.getElapsedTime();c.current===null&&(c.current=g);let p=g-c.current,C=e*.12;if(a==="loading"){f.current.position.set(n[0]+i.x,n[1]+i.y,n[2]+i.z),f.current.rotation.set(i.rotX,i.rotY,0),f.current.scale.setScalar(0);return}if(a==="entering"){let v=Math.max(0,p-C),E=1-Math.exp(-v*3),b=1+Math.sin(v*8)*Math.max(0,.15-v*.1);f.current.position.set(xe.MathUtils.lerp(n[0]+i.x,n[0],E),xe.MathUtils.lerp(n[1]+i.y,n[1],E),xe.MathUtils.lerp(n[2]+i.z,n[2],E)),f.current.rotation.set(xe.MathUtils.lerp(i.rotX,0,E),xe.MathUtils.lerp(i.rotY,0,E),0),f.current.scale.setScalar(Math.min(E*b,1.05));return}if(a==="idle"){let v=Math.sin(g*1.2+e*.5)*.015,E=Math.sin(g*.8+e*.3)*.008;f.current.position.set(n[0]+E,n[1]+v,n[2]),f.current.rotation.set(Math.sin(g*.5+e)*.01,Math.sin(g*.3+e*.7)*.01,0),f.current.scale.setScalar(1);return}if(a==="exiting"){let v=Math.max(0,p-C*.5),E=Math.min(v*2,1),b=E*E;f.current.position.set(n[0]+i.x*b*.5,n[1],n[2]-b*8),f.current.scale.setScalar(Math.max(1-b,0)),f.current.rotation.y+=.05}}),t===" "?null:(0,Te.jsx)("group",{ref:f,position:n,children:(0,Te.jsxs)(ct.Text3D,{font:d,size:.8,height:.35,bevelEnabled:!0,bevelSize:.02,bevelThickness:.01,bevelSegments:3,curveSegments:12,children:[t,(0,Te.jsx)("meshPhysicalMaterial",{color:s,metalness:o.metalness,roughness:o.roughness,clearcoat:o.clearcoat,emissive:w,emissiveIntensity:m?Math.max(.6,o.emissiveIntensity):o.emissiveIntensity,envMapIntensity:o.envMapIntensity,transmission:o.transmission,ior:o.ior,thickness:o.thickness,transparent:o.transparent,toneMapped:l!=="neon"})]})})}var pe=require("react"),ft=require("@react-three/fiber"),Ge=require("@react-three/drei"),ut=V(require("three")),te=require("react/jsx-runtime"),mt={gold:"#FFD700",neon:"#00ffff",emerald:"#10b981",crimson:"#ff1744",obsidian:"#a855f7",glass:"#ffffff"},dt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function vr({color:t,speedMultiplier:e=.5,count:r=60}){let n=(0,pe.useRef)(null),a=(0,pe.useRef)(new ut.Object3D),l=(0,pe.useRef)(null),m=(0,pe.useRef)(null);if(!l.current){l.current=new Float32Array(r),m.current=new Float32Array(r*3);for(let d=0;d<r;d++)l.current[d]=.1+Math.random()*.3,m.current[d*3]=(Math.random()-.5)*16,m.current[d*3+1]=(Math.random()-.5)*10,m.current[d*3+2]=(Math.random()-.5)*12}return(0,ft.useFrame)(d=>{if(!n.current||!l.current||!m.current)return;let f=d.clock.getElapsedTime()*e;for(let c=0;c<r;c++){let i=l.current[c],o=m.current[c*3],s=m.current[c*3+1],w=m.current[c*3+2];a.current.position.set(o+Math.sin(f*i+c)*2,s+Math.cos(f*i*.7+c*.5)*1.5,w+Math.sin(f*i*.5+c*.3)*2),a.current.scale.setScalar(.015+Math.sin(f+c)*.005),a.current.updateMatrix(),n.current.setMatrixAt(c,a.current.matrix)}n.current.instanceMatrix.needsUpdate=!0}),(0,te.jsxs)("instancedMesh",{ref:n,args:[void 0,void 0,r],children:[(0,te.jsx)("sphereGeometry",{args:[1,6,6]}),(0,te.jsx)("meshBasicMaterial",{color:t,transparent:!0,opacity:.3,toneMapped:!1})]})}function re({theme:t,effectColor:e,effectSpeed:r=.5,visible:n}){let a=(0,pe.useMemo)(()=>{if(!e)return mt[t]||mt.gold;let l=e.toLowerCase().trim();return dt[l]?dt[l]:e},[e,t]);return n?(0,te.jsxs)("group",{children:[(0,te.jsx)(Ge.Sparkles,{count:150,scale:10,size:4,speed:.3*r,opacity:.8,color:a,noise:.6}),(0,te.jsx)(Ge.Sparkles,{count:80,scale:16,size:2,speed:.15*r,opacity:.4,color:"#ffffff",noise:.8}),(0,te.jsx)(vr,{color:a,speedMultiplier:r,count:50})]}):null}var $e=require("react"),Fe=require("@react-three/fiber"),he=V(require("three"));function ne({phase:t,effectSpeed:e=.5}){let{camera:r,pointer:n}=(0,Fe.useThree)(),a=(0,$e.useRef)(null),l=(0,$e.useRef)(t);return l.current!==t&&(l.current=t,a.current=null),(0,Fe.useFrame)(m=>{let d=m.clock.getElapsedTime()*e;a.current===null&&(a.current=d);let f=d-a.current;if(t==="loading"){r.position.set(0,0,14),r.lookAt(0,0,0);return}if(t==="entering"){let o=Math.min(f/3,1),s=1-Math.pow(1-o,3),w=he.MathUtils.lerp(14,6,s),h=he.MathUtils.lerp(1,.2,s);r.position.set(0,h,w),r.lookAt(0,0,0);return}let c=m.viewport.width/(m.viewport.height||1),i=c<1?Math.max(6,6/Math.max(.45,c*.85)):6;if(t==="idle"){let o=Math.sin(d*.1)*.2,s=Math.cos(d*.08)*.1+.2,w=n.x*.2,h=n.y*.1;r.position.x=he.MathUtils.damp(r.position.x,o+w,3,.016),r.position.y=he.MathUtils.damp(r.position.y,s+h,3,.016),r.position.z=he.MathUtils.damp(r.position.z,i,3,.016),r.lookAt(0,0,0);return}if(t==="exiting"){let o=Math.min(f/1.5,1),s=o*o*o,w=he.MathUtils.lerp(6,-8,s);r.position.set(0,0,w),r.lookAt(0,0,0)}}),null}var K=require("react"),Ie=require("@react-three/fiber"),$=V(require("three"));var me=require("react/jsx-runtime"),pt={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"]},xr={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function oe({theme:t="gold",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{camera:a,raycaster:l}=(0,Ie.useThree)(),[m,d]=(0,K.useState)([]),f=(0,K.useRef)(0),c=(0,K.useMemo)(()=>{if(!e)return pt[t]||pt.gold;let o=e.toLowerCase().trim(),s=xr[o]||e;return[s,"#ffffff",s]},[e,t]),i=(0,K.useCallback)(o=>{if(!n)return;let s=0,w=0;if("touches"in o&&o.touches.length>0)s=o.touches[0].clientX,w=o.touches[0].clientY;else if("clientX"in o)s=o.clientX,w=o.clientY;else return;let h=new $.Vector2(s/window.innerWidth*2-1,-(w/window.innerHeight)*2+1);l.setFromCamera(h,a);let g=new $.Plane(new $.Vector3(0,0,1),0),p=new $.Vector3;if(l.ray.intersectPlane(g,p),!p)return;let C=35,v=[];for(let b=0;b<C;b++){let x=Math.random()*Math.PI*2,M=(1.5+Math.random()*4.5)*r,u=(Math.random()-.3)*3*r,k=new $.Vector3(Math.cos(x)*M,Math.sin(x)*M+u,(Math.random()-.5)*M*.8),A=c[Math.floor(Math.random()*c.length)];v.push({id:b,position:p.clone(),velocity:k,color:new $.Color(A),size:.08+Math.random()*.12,life:1,maxLife:(.6+Math.random()*.8)/Math.max(.2,r)})}let E={id:f.current++,origin:p.clone(),sparks:v,color:c[0],lightIntensity:4,time:0};d(b=>[...b.slice(-4),E])},[a,l,c,r,n]);return(0,K.useEffect)(()=>(window.addEventListener("pointerdown",i),()=>{window.removeEventListener("pointerdown",i)}),[i]),(0,Ie.useFrame)((o,s)=>{m.length!==0&&d(w=>w.map(h=>{let g=h.time+s*r,p=Math.max(0,h.lightIntensity-s*8*r),C=h.sparks.map(v=>{let E=v.life-s*r/v.maxLife;if(E<=0)return null;let b=v.position.clone().addScaledVector(v.velocity,s*r);return v.velocity.y-=s*3.5*r,v.velocity.multiplyScalar(.96),U(H({},v),{position:b,life:E})}).filter(Boolean);return C.length===0&&p<=0?null:U(H({},h),{time:g,lightIntensity:p,sparks:C})}).filter(Boolean))}),(0,me.jsx)("group",{children:m.map(o=>(0,me.jsxs)("group",{children:[o.lightIntensity>.05&&(0,me.jsx)("pointLight",{position:o.origin,intensity:o.lightIntensity*3,distance:6,color:o.color}),o.sparks.map(s=>(0,me.jsxs)("mesh",{position:s.position,children:[(0,me.jsx)("sphereGeometry",{args:[s.size*s.life,6,6]}),(0,me.jsx)("meshBasicMaterial",{color:s.color,transparent:!0,opacity:s.life,toneMapped:!1})]},s.id))]},o.id))})}var Z=require("react"),Be=require("@react-three/fiber"),Y=V(require("three"));var ye=require("react/jsx-runtime"),ht={gold:"#FFD700",neon:"#00ffff",emerald:"#10b981",crimson:"#ff1744",obsidian:"#a855f7",glass:"#ffffff"},gt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function ae({theme:t="gold",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{camera:a,raycaster:l}=(0,Be.useThree)(),[m,d]=(0,Z.useState)([]),f=(0,Z.useRef)(0),c=(0,Z.useMemo)(()=>{if(!e)return ht[t]||ht.gold;let o=e.toLowerCase().trim();return gt[o]?gt[o]:e},[e,t]),i=(0,Z.useCallback)(o=>{if(!n)return;let s=0,w=0;if("touches"in o&&o.touches.length>0)s=o.touches[0].clientX,w=o.touches[0].clientY;else if("clientX"in o)s=o.clientX,w=o.clientY;else return;let h=new Y.Vector2(s/window.innerWidth*2-1,-(w/window.innerHeight)*2+1);l.setFromCamera(h,a);let g=new Y.Plane(new Y.Vector3(0,0,1),0),p=new Y.Vector3;if(l.ray.intersectPlane(g,p),!p)return;let C={id:f.current++,origin:p.clone(),radius:.1,maxRadius:3.5,life:1,color:new Y.Color(c)};d(v=>[...v.slice(-4),C])},[a,l,c,n]);return(0,Z.useEffect)(()=>(window.addEventListener("pointerdown",i),()=>{window.removeEventListener("pointerdown",i)}),[i]),(0,Be.useFrame)((o,s)=>{m.length!==0&&d(w=>w.map(h=>{let g=h.life-s*1.8*r;if(g<=0)return null;let p=h.radius+s*5*r;return U(H({},h),{life:g,radius:p})}).filter(Boolean))}),n?(0,ye.jsx)("group",{children:m.map(o=>(0,ye.jsxs)("mesh",{position:o.origin,rotation:[0,0,0],children:[(0,ye.jsx)("ringGeometry",{args:[o.radius*.9,o.radius,48]}),(0,ye.jsx)("meshBasicMaterial",{color:o.color,transparent:!0,opacity:o.life*.75,side:Y.DoubleSide,toneMapped:!1})]},o.id))}):null}var ke=require("react"),_e=require("@react-three/fiber"),Oe=V(require("three")),Ke=require("react/jsx-runtime"),bt={gold:"#ffaa00",neon:"#00ffff",emerald:"#00ffaa",crimson:"#ff0055",obsidian:"#9900ff",glass:"#88ccff"},vt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function se({theme:t="neon",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{pointer:a}=(0,_e.useThree)(),l=(0,ke.useRef)(null),m=(0,ke.useMemo)(()=>{if(!e)return bt[t]||bt.neon;let c=e.toLowerCase().trim();return vt[c]?vt[c]:e},[e,t]),d=30,f=(0,ke.useMemo)(()=>{let c=new Oe.BufferGeometry,i=new Float32Array(d*2*3);return c.setAttribute("position",new Oe.BufferAttribute(i,3)),c},[d]);return(0,_e.useFrame)(c=>{if(!l.current||!n)return;let i=c.clock.getElapsedTime()*r,o=l.current.geometry.attributes.position,s=o.array,w=a.x*6,h=a.y*3;for(let g=0;g<d;g++){let p=g*6,C=g/d*Math.PI*2+i*1.5,v=2.5+Math.sin(i*3+g)*.5,E=Math.cos(C)*v,b=Math.sin(C)*v,x=(Math.random()-.5)*1.5,M=E+(w-E)*.3+(Math.random()-.5)*.8,u=b+(h-b)*.3+(Math.random()-.5)*.8,k=x+(Math.random()-.5)*.8;s[p]=E,s[p+1]=b,s[p+2]=x,s[p+3]=M,s[p+4]=u,s[p+5]=k}o.needsUpdate=!0}),n?(0,Ke.jsx)("lineSegments",{ref:l,geometry:f,children:(0,Ke.jsx)("lineBasicMaterial",{color:m,transparent:!0,opacity:.75,linewidth:2,toneMapped:!1})}):null}var _=require("react"),ze=require("@react-three/fiber"),ie=V(require("three")),q=require("react/jsx-runtime"),xt={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"}},yt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function yr(){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 ie.CanvasTexture(t);return r.needsUpdate=!0,r}function Ce({theme:t="crimson",effectColor:e,effectSpeed:r=.5,effectDensity:n=.3,mode:a="fluid",enabled:l=!0}){let{pointer:m}=(0,ze.useThree)(),d=(0,_.useRef)(null),f=(0,_.useRef)(null),c=(0,_.useRef)(null),i=(0,_.useRef)(new ie.Object3D),o=(0,_.useRef)(!1),s=(0,_.useRef)([]),w=Math.max(.1,Math.min(1,n)),h=Math.round(110*w),g=(0,_.useMemo)(()=>yr(),[]),p=(0,_.useMemo)(()=>{if(!e)return(xt[t]||xt.crimson).color1;let b=e.toLowerCase().trim();return yt[b]?yt[b]:e},[e,t]),C=(0,_.useMemo)(()=>{let b=[],x=.4+Math.sqrt(w)*.55;for(let M=0;M<h;M++)b.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 b},[h,w]),v=(0,_.useCallback)(()=>{o.current=!0},[]),E=(0,_.useCallback)(()=>{o.current=!1},[]);return(0,_.useEffect)(()=>(window.addEventListener("pointerdown",v),window.addEventListener("pointerup",E),()=>{window.removeEventListener("pointerdown",v),window.removeEventListener("pointerup",E)}),[v,E]),(0,ze.useFrame)((b,x)=>{if(!l)return;let M=b.clock.getElapsedTime()*r;if(o.current){let u=m.x*7,k=m.y*4;s.current.length<25&&s.current.push({x:u+(Math.random()-.5)*.8,y:k+(Math.random()-.5)*.8,z:(Math.random()-.5)*1.5,life:1,size:(.5+Math.random()*.6)*Math.sqrt(w)})}s.current=s.current.map(u=>(u.life-=x*1.8*r,u.y+=x*1.2*r,u)).filter(u=>u.life>0),c.current&&(c.current.intensity=2.2+Math.sin(M*10)*.6+Math.cos(M*15)*.3,c.current.position.y=-1+Math.sin(M*3)*.2),(a==="fluid"||a==="all")&&d.current&&(C.forEach((u,k)=>{u.life+=x*u.speedY*.35*r,u.life>1&&(u.life=0,u.x=(Math.random()-.5)*10,u.y=-2+Math.random()*.4);let A=u.life,R=u.y+A*3.8,B=u.x+Math.sin(M*2.5+u.phase)*.5+u.speedX*A,N=u.z+Math.cos(M*1.8+u.phase)*.2,F=Math.sin(A*Math.PI)*u.size*(1.2-A*.3);i.current.position.set(B,R,N),i.current.rotation.set(0,0,Math.sin(M*1.5+k)*.2),i.current.scale.set(F,F*1.3,F),i.current.updateMatrix(),d.current.setMatrixAt(k,i.current.matrix)}),s.current.forEach((u,k)=>{let A=(h-1-k+h)%h,R=Math.sin(u.life*Math.PI)*u.size;i.current.position.set(u.x,u.y,u.z),i.current.rotation.set(0,0,Math.sin(M*3+k)*.3),i.current.scale.set(R,R*1.4,R),i.current.updateMatrix(),d.current.setMatrixAt(A,i.current.matrix)}),d.current.instanceMatrix.needsUpdate=!0),(a==="crystal"||a==="all")&&f.current&&(C.forEach((u,k)=>{let A=u.life,R=u.y+A*3.8,B=u.x+Math.sin(M*2.8+u.phase)*.5+u.speedX*A,N=u.z+Math.cos(M*2+u.phase)*.3,F=Math.sin(A*Math.PI)*u.size*.6;i.current.position.set(B,R,N),i.current.rotation.set(M*1.5+k,M*2,k),i.current.scale.set(F,F*2,F),i.current.updateMatrix(),f.current.setMatrixAt(k,i.current.matrix)}),f.current.instanceMatrix.needsUpdate=!0)}),l?(0,q.jsxs)("group",{children:[(0,q.jsx)("pointLight",{ref:c,position:[0,-1,1.5],color:p,intensity:2.5,distance:10}),(a==="fluid"||a==="all")&&(0,q.jsxs)("instancedMesh",{ref:d,args:[void 0,void 0,h],children:[(0,q.jsx)("planeGeometry",{args:[1.2,1.2]}),(0,q.jsx)("meshBasicMaterial",{map:g,color:p,transparent:!0,blending:ie.AdditiveBlending,depthWrite:!1,side:ie.DoubleSide})]}),(a==="crystal"||a==="all")&&(0,q.jsxs)("instancedMesh",{ref:f,args:[void 0,void 0,h],children:[(0,q.jsx)("coneGeometry",{args:[.3,1.2,5]}),(0,q.jsx)("meshBasicMaterial",{color:p,transparent:!0,opacity:.65,blending:ie.AdditiveBlending,depthWrite:!1})]})]}):null}var D=require("react"),De=require("@react-three/fiber"),de=V(require("three")),ge=require("react/jsx-runtime"),wt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function wr(){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 de.CanvasTexture(t);return r.needsUpdate=!0,r}function Re({theme:t="emerald",effectColor:e="#00e676",effectSpeed:r=.5,effectDensity:n=.5,enabled:a=!0}){let{pointer:l}=(0,De.useThree)(),m=(0,D.useRef)(null),d=(0,D.useRef)(null),f=(0,D.useRef)(new de.Object3D),c=(0,D.useRef)(!1),i=(0,D.useRef)([]),o=Math.max(.1,Math.min(1,n)),s=Math.round(60*o),w=(0,D.useMemo)(()=>wr(),[]),h=(0,D.useMemo)(()=>{if(!e)return"#00e676";let v=e.toLowerCase().trim();return wt[v]?wt[v]:e},[e]),g=(0,D.useMemo)(()=>{let v=[],E=1+Math.sqrt(o)*.8;for(let b=0;b<s;b++)v.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 v},[s,o]),p=(0,D.useCallback)(()=>{c.current=!0},[]),C=(0,D.useCallback)(()=>{c.current=!1},[]);return(0,D.useEffect)(()=>(window.addEventListener("pointerdown",p),window.addEventListener("pointerup",C),()=>{window.removeEventListener("pointerdown",p),window.removeEventListener("pointerup",C)}),[p,C]),(0,De.useFrame)((v,E)=>{if(!m.current||!a)return;let b=v.clock.getElapsedTime()*r;if(c.current){let x=l.x*7,M=l.y*4;i.current.length<15&&i.current.push({x:x+(Math.random()-.5)*.5,y:M+(Math.random()-.5)*.5,z:(Math.random()-.5)*1,life:1,size:(1.2+Math.random()*.8)*Math.sqrt(o)})}i.current=i.current.map(x=>(x.life-=E*1.2*r,x)).filter(x=>x.life>0),d.current&&(d.current.intensity=2.5+Math.sin(b*6)*.5),g.forEach((x,M)=>{let u=x.x+Math.sin(b*1.2+x.phase)*1.5,k=x.y+Math.cos(b*.9+x.phase*1.3)*1.2,A=x.z+Math.sin(b*.7+x.phase*.8)*.8,R=x.size*(1+Math.sin(b*2+M)*.25);f.current.position.set(u,k,A),f.current.scale.set(R,R,R),f.current.updateMatrix(),m.current.setMatrixAt(M,f.current.matrix)}),i.current.forEach((x,M)=>{let u=(s-1-M+s)%s,k=Math.sin(x.life*Math.PI)*x.size;f.current.position.set(x.x,x.y,x.z),f.current.scale.set(k,k,k),f.current.updateMatrix(),m.current.setMatrixAt(u,f.current.matrix)}),m.current.instanceMatrix.needsUpdate=!0}),a?(0,ge.jsxs)("group",{children:[(0,ge.jsx)("pointLight",{ref:d,position:[0,0,2],color:h,intensity:3,distance:12}),(0,ge.jsxs)("instancedMesh",{ref:m,args:[void 0,void 0,s],children:[(0,ge.jsx)("planeGeometry",{args:[1.8,1.8]}),(0,ge.jsx)("meshBasicMaterial",{map:w,color:h,transparent:!0,opacity:.85,blending:de.NormalBlending,depthWrite:!1,side:de.DoubleSide})]})]}):null}var Ht=require("react");var Mr={"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 Mt(){return t=>Mr[t]||t}var Et=require("react"),Tt=require("lucide-react"),We=require("react/jsx-runtime");function Ze(){let[t,e]=(0,Et.useState)("en");return(0,We.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,We.jsx)(Tt.Globe,{className:"w-4 h-4"}),t==="en"?"ES":"EN"]})}var St=V(require("react")),Pt=require("@radix-ui/react-slot"),Lt=require("class-variance-authority");var kt=require("clsx"),Ct=require("tailwind-merge");function Rt(...t){return(0,Ct.twMerge)((0,kt.clsx)(t))}var Nt=require("react/jsx-runtime"),Er=(0,Lt.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"}}),we=St.forwardRef((m,l)=>{var d=m,{className:t,variant:e,size:r,asChild:n=!1}=d,a=ot(d,["className","variant","size","asChild"]);return(0,Nt.jsx)(n?Pt.Slot:"button",H({className:Rt(Er({variant:e,size:r,className:t})),ref:l},a))});we.displayName="Button";var y=require("react/jsx-runtime");function Se({cinemaName:t="NOVA",webTheme:e="neon"}){let r=Mt(),[n,a]=(0,Ht.useState)(!1),l=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,y.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,y.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,y.jsxs)("div",{className:"flex items-center gap-6 lg:gap-12",children:[(0,y.jsxs)("a",{href:"#",className:"text-2xl sm:text-3xl font-bold tracking-tighter uppercase font-display text-white",children:[t,"."]}),(0,y.jsxs)("div",{className:"hidden md:flex items-center gap-6 lg:gap-8 text-sm font-semibold tracking-widest text-white/70",children:[(0,y.jsx)("a",{href:"#schedule",className:"hover:text-white transition-colors",children:r("nav.schedule")}),(0,y.jsx)("a",{href:"#experiences",className:"hover:text-white transition-colors",children:r("nav.experiences")}),(0,y.jsx)("a",{href:"#membership",className:"hover:text-white transition-colors",children:r("nav.membership")})]})]}),(0,y.jsxs)("div",{className:"flex items-center gap-3 sm:gap-6",children:[(0,y.jsx)(Ze,{}),(0,y.jsxs)("div",{className:"hidden sm:flex items-center gap-4",children:[(0,y.jsx)("a",{href:"#login",className:"text-sm font-semibold tracking-widest text-white/70 hover:text-white transition-colors",children:r("nav.login")}),(0,y.jsx)(we,{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,y.jsx)("button",{onClick:()=>a(!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,y.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,y.jsxs)("div",{className:"flex flex-col gap-6 text-xl font-bold tracking-wider uppercase font-display",children:[(0,y.jsx)("a",{href:"#schedule",onClick:()=>a(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.schedule")}),(0,y.jsx)("a",{href:"#experiences",onClick:()=>a(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.experiences")}),(0,y.jsx)("a",{href:"#membership",onClick:()=>a(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.membership")}),(0,y.jsx)("a",{href:"#login",onClick:()=>a(!1),className:"py-2 border-b border-white/10 text-white/70 hover:text-white transition-colors",children:r("nav.login")})]}),(0,y.jsx)("div",{className:"flex flex-col gap-3 pt-6 border-t border-white/10",children:(0,y.jsx)(we,{onClick:()=>a(!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,y.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,y.jsxs)("div",{className:"absolute inset-0 z-0",children:[(0,y.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,y.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black via-black/50 to-transparent z-10"}),(0,y.jsx)("div",{className:`absolute inset-0 ${l} z-10`})]}),(0,y.jsxs)("div",{className:"relative z-20 max-w-5xl",children:[(0,y.jsxs)("div",{className:"flex items-center gap-2 sm:gap-3 mb-4 sm:mb-6 flex-wrap",children:[(0,y.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,y.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,y.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,y.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,y.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,y.jsx)(we,{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,y.jsx)(we,{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 T=require("react/jsx-runtime"),At="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json",Ft={cinema:At,helvetiker:At,"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"},It={rojo:"#3b0712",azul:"#021a38",verde:"#032117",esmeralda:"#032117",dorado:"#1c1503",negro:"#07080c",purpura:"#21032a"},Bt={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%)"},_t={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 Tr(t,e=.85){if(!t)return[];let n=t.split("").map(m=>(_t[m]!==void 0?_t[m]:.75)*e),l=-n.reduce((m,d)=>m+d,0)/2;return n.map(m=>{let d=l+m/2;return l+=m,[d,0,0]})}function kr(t){let e=[];t?Array.isArray(t)?e=t.map(i=>String(i).toLowerCase().trim()):typeof t=="string"&&(e=t.toLowerCase().split(",").map(i=>i.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"),a=r||e.includes("fire")||e.includes("crystal-flames")||e.includes("cristales")||e.includes("fuego"),l=r||e.includes("blobs")||e.includes("energy-blobs")||e.includes("plasma-blobs")||e.includes("nubes"),m=r||e.includes("sparks")||e.includes("chispas"),d=r||e.includes("shockwave")||e.includes("wave")||e.includes("onda")||e.includes("onda-3d"),f=r||e.includes("plasma")||e.includes("electric"),c=r||e.includes("embers")||e.includes("ascuas")||n||a||l;return{enableFluidFlames:n,enableCrystalFlames:a,enableBlobs:l,enableSparks:m,enableShockwave:d,enablePlasma:f,enableEmbers:c}}function Xe({containerToDisplay:t,containerSelector:e,effect:r="flames",title:n,backgroundColor:a,effectColor:l,textColor:m,effectSpeed:d=.5,effectDensity:f=.3,autoFitText:c=!0,loaderDuration:i,redirectUrl:o,onComplete:s,fontFamily:w="cinema",fontUrl:h,theme:g="crimson",letterSpacing:p=.85,className:C="",style:v,dpr:E,postprocessing:b,children:x}){let{canvasKey:M,dpr:u,gl:k,onCreated:A,post:R,coarse:B}=ve(E,b),N=n!=null?n.trim().toUpperCase():"",F=N?N.split(""):[],Gt=(0,O.useMemo)(()=>Tr(N,p),[N,p]),[$t,Kt]=(0,O.useState)(!1);(0,O.useEffect)(()=>{Kt(!0)},[]);let Me=!!(i&&i>0&&(o||s)),[Zt,qt]=(0,O.useState)(0);(0,O.useEffect)(()=>{if(!Me||!i)return;let I=i*1e3,z=50,Ye=0,tt=setInterval(()=>{Ye+=z;let nr=Math.min(100,Ye/I*100);qt(nr),Ye>=I&&(clearInterval(tt),s==null||s(),o&&(window.location.href=o))},z);return()=>clearInterval(tt)},[Me,i,o,s]);let Qt=(0,O.useMemo)(()=>{if(h)return h;let I=String(w).toLowerCase().trim();return Ft[I]||Ft.cinema},[w,h]),[Ue,Jt]=(0,O.useState)(typeof window!="undefined"?window.innerWidth:1200);(0,O.useEffect)(()=>{let I=()=>Jt(window.innerWidth);return window.addEventListener("resize",I),()=>window.removeEventListener("resize",I)},[]);let er=(0,O.useMemo)(()=>{if(!c||!F.length)return 1;let I=F.length,z=1;return I<=4?z=1:I<=7?z=.85:I<=10?z=.7:I<=14?z=.55:z=.45,Ue<480?z*.55:Ue<768?z*.75:z},[c,F.length,Ue]),Je=(0,O.useMemo)(()=>{if(!a)return Bt[g]||Bt.gold;let I=a.toLowerCase().trim();return It[I]?It[I]:(a.startsWith("#")||a.startsWith("rgb")||a.includes("gradient"),a)},[a,g]),j=(0,O.useMemo)(()=>kr(r),[r]),tr=j.enableFluidFlames&&j.enableCrystalFlames?"all":j.enableCrystalFlames?"crystal":"fluid",rr=j.enableFluidFlames||j.enableCrystalFlames,et=e||(typeof t=="string"?t:void 0),Ne=()=>et==="lhome"||et==="home"||t==="lhome"||t==="home"?(0,T.jsx)(Se,{cinemaName:N||"NOVA",webTheme:g}):typeof t=="string"&&t!=="lhome"&&t!=="home"?(0,T.jsxs)("div",{className:"text-center text-white p-8 bg-black/40 backdrop-blur-md rounded-2xl border border-white/10",children:[(0,T.jsx)("h2",{className:"text-3xl font-bold tracking-widest uppercase mb-2",children:t}),(0,T.jsx)("p",{className:"text-sm text-white/60",children:"3D Interactive WebGL Background"})]}):t&&typeof t!="string"?t:x;return $t?(0,T.jsxs)("div",{id:e,"data-container-selector":e,className:`relative w-full h-full overflow-hidden select-none ${C}`,style:H({background:Je},v),children:[Me&&(0,T.jsx)("div",{className:"absolute top-0 left-0 right-0 z-30 h-1 bg-white/10 pointer-events-none",children:(0,T.jsx)("div",{className:"h-full bg-gradient-to-r from-amber-400 via-rose-500 to-cyan-400 transition-all duration-75",style:{width:`${Zt}%`}})}),(0,T.jsx)("div",{className:"absolute inset-0 z-0 pointer-events-auto",children:(0,T.jsx)(Ot.Canvas,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:u,gl:k,onCreated:A,children:(0,T.jsxs)(O.Suspense,{fallback:null,children:[(0,T.jsx)(J,{}),(0,T.jsx)("ambientLight",{intensity:.3}),(0,T.jsx)("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),(0,T.jsx)("pointLight",{position:[-5,-3,-5],intensity:.6,color:g==="emerald"?"#10b981":g==="crimson"?"#ff1744":g==="neon"?"#00ffff":"#FFD700"}),(0,T.jsx)(ne,{phase:Me?"entering":"idle",effectSpeed:d}),(0,T.jsx)(Ce,{enabled:rr,theme:g,effectColor:l,effectSpeed:d,effectDensity:f,mode:tr}),(0,T.jsx)(Re,{enabled:j.enableBlobs,theme:g,effectColor:l,effectSpeed:d,effectDensity:f}),(0,T.jsx)(oe,{enabled:j.enableSparks,theme:g,effectColor:l,effectSpeed:d}),(0,T.jsx)(ae,{enabled:j.enableShockwave,theme:g,effectColor:l,effectSpeed:d}),(0,T.jsx)(se,{enabled:j.enablePlasma,theme:g,effectColor:l,effectSpeed:d}),F.length>0&&(0,T.jsx)(zt.Center,{disableY:!0,disableZ:!0,children:(0,T.jsx)("group",{scale:er,children:F.map((I,z)=>(0,T.jsx)(ee,{char:I,index:z,totalLetters:F.length,position:Gt[z],phase:Me?"entering":"idle",theme:g,textColor:m,fontUrl:Qt},`${I}-${z}`))})}),(0,T.jsx)(re,{theme:g,effectColor:l,effectSpeed:d,visible:j.enableEmbers}),(0,T.jsx)(fe,{config:R,coarse:B,bloomIntensity:g==="neon"||g==="crimson"?1.4:.9})]})},M)}),Ne()&&(0,T.jsx)("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:(0,T.jsx)("div",{className:"pointer-events-auto w-full h-full",children:Ne()})})]}):(0,T.jsx)("div",{id:e,"data-container-selector":e,className:`relative w-full h-full overflow-hidden select-none bg-black ${C}`,style:H({background:Je},v),children:Ne()&&(0,T.jsx)("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:(0,T.jsx)("div",{className:"pointer-events-auto w-full h-full",children:Ne()})})})}var Q=require("react"),Wt=require("@react-three/fiber");var Xt=require("@react-three/drei");var L=require("react/jsx-runtime"),Dt={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%)"},Cr="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json";function Rr(t){let n=-(t.length*.65)/2;return t.split("").map((a,l)=>[n+l*.65,0,0])}function Pe({text:t="CINEMA",theme:e="emerald",customBackground:r,interactiveSparks:n=!0,interactiveShockwave:a=!0,interactivePlasma:l=!0,showParticles:m=!0,enableBloom:d=!0,className:f="",style:c,dpr:i,postprocessing:o,children:s}){let{canvasKey:w,dpr:h,gl:g,onCreated:p,post:C,coarse:v}=ve(i,d===!1?H({bloom:!1},o):o),[E,b]=(0,Q.useState)(!1),[x]=(0,Q.useState)(t),[M]=(0,Q.useState)(e);(0,Q.useEffect)(()=>{b(!0)},[]);let u=(x||t||"CINEMA").toUpperCase(),k=u.split(""),A=(0,Q.useMemo)(()=>Rr(u),[u]),R=M||e||"emerald",B=r||Dt[R]||Dt.emerald;return E?(0,L.jsxs)("div",{className:`relative w-full h-full min-h-[350px] overflow-hidden select-none ${f}`,style:H({background:B},c),children:[(0,L.jsx)("div",{className:"absolute inset-0 z-0 pointer-events-auto",children:(0,L.jsx)(Wt.Canvas,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:h,gl:g,onCreated:p,children:(0,L.jsxs)(Q.Suspense,{fallback:null,children:[(0,L.jsx)(J,{}),(0,L.jsx)("ambientLight",{intensity:.3}),(0,L.jsx)("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),(0,L.jsx)("pointLight",{position:[-5,-3,-5],intensity:.6,color:R==="emerald"?"#10b981":R==="crimson"?"#ff1744":R==="neon"?"#00ffff":"#FFD700"}),(0,L.jsx)(ne,{phase:"idle"}),(0,L.jsx)(oe,{enabled:n,theme:R}),(0,L.jsx)(ae,{enabled:a,theme:R}),(0,L.jsx)(se,{enabled:l,theme:R}),(0,L.jsx)(Xt.Center,{disableY:!0,disableZ:!0,children:(0,L.jsx)("group",{children:k.map((N,F)=>(0,L.jsx)(ee,{char:N,index:F,totalLetters:k.length,position:A[F],phase:"idle",theme:R,fontUrl:Cr},`${N}-${F}`))})}),m&&(0,L.jsx)(re,{theme:R,visible:!0}),(0,L.jsx)(fe,{config:C,coarse:v,bloomIntensity:.9})]})},w)}),s&&(0,L.jsx)("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:s})]}):(0,L.jsx)("div",{className:`relative w-full h-full min-h-[350px] overflow-hidden select-none bg-black ${f}`,style:H({background:B},c),children:s&&(0,L.jsx)("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:s})})}var qe=require("react/jsx-runtime");function Ut(t,e={}){let r=n=>(0,qe.jsx)(Pe,U(H({},e),{children:(0,qe.jsx)(t,H({},n))}));return r.displayName=`WithCinema3D(${t.displayName||t.name||"Component"})`,r}var W=require("react"),jt=require("@react-three/fiber");var Vt=require("@react-three/drei");var S=require("react/jsx-runtime"),Sr=[{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 Le({phase:t,cinemaName:e,theme:r,effects:n,onTitleChange:a,onThemeChange:l,onToggleEffect:m}){return(0,S.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,S.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,S.jsx)("label",{className:"text-[10px] tracking-[0.3em] uppercase text-white/50 font-bold",children:"Live 3D Title Control"}),(0,S.jsx)("div",{className:"relative w-full",children:(0,S.jsx)("input",{type:"text",value:e,onChange:c=>a(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,S.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,S.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,S.jsxs)("div",{className:"w-full max-w-3xl flex flex-col items-center gap-5",children:[(0,S.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,S.jsx)("span",{className:"text-[9px] uppercase tracking-[0.25em] text-white/40 mr-2 font-bold",children:"Effects"}),(0,S.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,S.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,S.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,S.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,S.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,S.jsx)("span",{className:"text-[10px] uppercase tracking-[0.3em] text-white/40 mr-2 font-bold",children:"Theme"}),(0,S.jsx)("div",{className:"flex items-center gap-2 md:gap-3",children:Sr.map(c=>{let i=r===c.key;return(0,S.jsxs)("button",{onClick:()=>l(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,S.jsx)("div",{className:"relative w-11 h-7 md:w-14 md:h-9 rounded-md overflow-hidden transition-all duration-300",style:{border:i?`2px solid ${c.color}`:"1px solid rgba(255, 255, 255, 0.15)",transform:i?"scale(1.1) translateY(-2px)":"scale(1) translateY(0)",boxShadow:i?`0 4px 20px ${c.color}60`:"0 2px 10px rgba(0,0,0,0.5)"},children:(0,S.jsx)("div",{className:"absolute inset-0 opacity-80",style:{backgroundColor:c.color}})}),(0,S.jsx)("span",{className:"text-[9px] uppercase tracking-widest font-semibold transition-colors duration-300",style:{color:i?"#ffffff":"rgba(255, 255, 255, 0.4)"},children:c.label})]},c.key)})})]})]})]})}var P=require("react/jsx-runtime"),Pr="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json",Yt={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 Lr(t){let n=-(t.length*.65)/2;return t.split("").map((a,l)=>[n+l*.65,0,0])}function Qe({cinemaName:t="CINEMULTIPLEX",defaultTheme:e="emerald",customBackground:r,onEnterCinema:n,dpr:a,postprocessing:l}){let{canvasKey:m,dpr:d,gl:f,onCreated:c,post:i,coarse:o}=ve(a,l),[s,w]=(0,W.useState)(!1),[h,g]=(0,W.useState)("loading"),[p,C]=(0,W.useState)(e),[v,E]=(0,W.useState)(t),[b,x]=(0,W.useState)({sparks:!0,shockwave:!0,plasma:!0,embers:!0});(0,W.useEffect)(()=>{w(!0)},[]);let M=(v||"CINEMA").toUpperCase(),u=M.split(""),k=(0,W.useMemo)(()=>Lr(M),[M]);(0,W.useEffect)(()=>{let B=setTimeout(()=>g("entering"),800),N=u.length*120+1500,F=setTimeout(()=>g("idle"),800+N);return()=>{clearTimeout(B),clearTimeout(F)}},[u.length]);let A=(0,W.useCallback)(B=>{x(N=>U(H({},N),{[B]:!N[B]}))},[]),R=r||Yt[p]||Yt.emerald;return s?(0,P.jsxs)("div",{className:"fixed inset-0 w-screen h-screen transition-all duration-1000 select-none overflow-hidden",style:{background:R},children:[(0,P.jsx)(jt.Canvas,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:d,gl:f,onCreated:c,children:(0,P.jsxs)(W.Suspense,{fallback:null,children:[(0,P.jsx)(J,{}),(0,P.jsx)("ambientLight",{intensity:.3}),(0,P.jsx)("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),(0,P.jsx)("pointLight",{position:[-5,-3,-5],intensity:.6,color:p==="emerald"?"#10b981":p==="crimson"?"#ff1744":p==="neon"?"#00ffff":"#FFD700"}),(0,P.jsx)("spotLight",{position:[0,10,0],angle:.4,penumbra:.8,intensity:.9,color:"#ffffff"}),(0,P.jsx)("pointLight",{position:[0,0,-5],intensity:.4,color:"#ffffff"}),(0,P.jsx)(ne,{phase:h}),b.sparks&&(0,P.jsx)(oe,{theme:p}),(0,P.jsx)(ae,{theme:p,enabled:b.shockwave}),(0,P.jsx)(se,{theme:p,enabled:b.plasma}),(0,P.jsx)(Vt.Center,{disableY:!0,disableZ:!0,children:(0,P.jsx)("group",{children:u.map((B,N)=>(0,P.jsx)(ee,{char:B,index:N,totalLetters:u.length,position:k[N],phase:h,theme:p,fontUrl:Pr},`${B}-${N}`))})}),(0,P.jsx)(re,{theme:p,visible:h!=="loading"&&b.embers}),(0,P.jsx)(fe,{config:i,coarse:o,bloomIntensity:p==="neon"||p==="emerald"||p==="crimson"?1.4:.7})]})},m),(0,P.jsx)(Le,{phase:h,cinemaName:v,theme:p,effects:b,onTitleChange:E,onThemeChange:C,onToggleEffect:A})]}):(0,P.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:R},children:(0,P.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,SafeEnvironment,SceneParticles,withCinema3D});
|
|
4
4
|
//# sourceMappingURL=index.js.map
|