@rtstic.dev/pulse 0.0.54 → 0.0.56

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.
@@ -1 +1,401 @@
1
- "use strict";(()=>{var L=e=>!!e;function h(){if(typeof window>"u")return null;let e=window.gsap;if(!e)return console.warn("window.gsap not found. Make sure GSAP is loaded globally before this code runs."),null;let o=window.ScrollTrigger||e.ScrollTrigger;return o?(e.registerPlugin(o),e):(console.warn("ScrollTrigger not found on window (or gsap). Make sure the ScrollTrigger plugin script is loaded globally."),null)}function D(){let e=h();if(!e)return;let o=document.getElementById("home-scroll");if(!o)return;let T=o.querySelector("[pulse-animation-element='hero-title']"),S=o.querySelector("[pulse-animation-element='hero-description']"),R=o.querySelector("[pulse-animation-element='hero-button']"),l=Array.from(o.querySelectorAll("[pulse-animation-element='hero-blur']")),a=o.querySelector("[pulse-animation-element='hero-blur-overlay']"),m=o.querySelector("#canvas3d"),H=document.querySelector('[pulse-animation-element="col-1-row-1-item-1"]'),M=document.querySelector('[pulse-animation-element="col-1-row-1-item-2"]'),q=document.querySelector('[pulse-animation-element="col-1-row-2-item-1"]'),C=document.querySelector('[pulse-animation-element="col-1-row-2-item-2"]'),I=document.querySelector('[pulse-animation-element="col-1-row-3-item-1"]'),b=document.querySelector('[pulse-animation-element="col-2-row-1-item-1"]'),v=document.querySelector('[pulse-animation-element="col-2-row-1-item-2"]'),V=document.querySelector('[pulse-animation-element="col-2-row-2-item-1"]'),A=document.querySelector('[pulse-animation-element="col-2-row-3-item-1"]'),G=document.querySelector('[pulse-animation-element="col-3-row-1-item-1"]'),P=document.querySelector('[pulse-animation-element="col-3-row-2-col-1-item-1"]'),W=document.querySelector('[pulse-animation-element="col-3-row-2-col-1-item-2"]'),B=document.querySelector('[pulse-animation-element="col-3-row-2-col-2-item-1"]'),O=document.querySelector('[pulse-animation-element="col-3-row-2-col-2-item-2"]'),k=document.querySelector('[pulse-animation-element="col-3-row-3-item-1"]'),j=document.querySelector('[pulse-animation-element="canvas"]'),s=document.querySelector('[pulse-animation-element="radial-gradient-wrapper"]'),n=[H,M,q,C,I,b,v,A,G,P,W,B,O,k].filter(L),r=document.querySelector('[pulse-animation-element="player-inner-elements"]'),c=document.querySelector('[pulse-animation-element="player-radius-rect"]'),i=document.querySelector('[pulse-animation-element="line-art"]');if(!c){console.warn("Player radius rect not found");return}let z=c.getTotalLength(),u=document.querySelector('[pulse-animation-element="player-handle"]'),d=document.querySelector('[pulse-animation-element="player-handle-tail"]'),p=document.querySelector('[pulse-animation-element="handle-wrapper"]'),y=Array.from(document.querySelectorAll('[pulse-animation-element="vignette"]')),x=document.querySelector('[pulse-animation-element="torch-wrapper"]'),f=document.querySelector('[pulse-animation-element="torch"]'),w=document.querySelector('[pulse-animation-element="launch-button"]'),g=document.querySelector('[pulse-animation-element="launch-title"]'),t=e.timeline({defaults:{ease:"power2.out",duration:1},scrollTrigger:{trigger:o,start:"top bottom",end:"bottom top",scrub:!0,invalidateOnRefresh:!0}});l.length&&e.set(l,{yPercent:32,opacity:1}),a&&e.set(a,{y:0,opacity:1}),s&&e.set(s,{opacity:0}),t.addLabel("start",0),T&&t.fromTo(T,{y:1100},{y:-400,ease:"power2.out",duration:1.2,immediateRender:!1},"start+=0.1"),S&&t.fromTo(S,{y:680},{y:-400,ease:"power2.out",duration:1.2,immediateRender:!1},"start+=0.2"),R&&t.fromTo(R,{y:440},{y:-480,ease:"power2.out",duration:1.2,immediateRender:!1},"start+=0.3"),l.length&&t.to(l,{yPercent:-100,opacity:0,ease:"power2.out",duration:1.2,delay:.2,immediateRender:!1},"start+=0.2"),a&&t.to(a,{y:-1200,ease:"power2.out",duration:1,delay:.2,immediateRender:!1},"start+=0.2");let E=[T,S,R].filter(L);E.length&&(t.to(E,{scale:.95,duration:.8,ease:"power2.out",immediateRender:!1},"start+=0.4"),t.to(E,{opacity:0,duration:.2,delay:.2,ease:"power2.out",immediateRender:!1},"start+=0.35")),n.length&&e.set(n,{opacity:0,scale:()=>e.utils.random(.5,.95),y:()=>e.utils.random(40,60)}),r&&e.set(r,{scale:.8}),e.set(c,{opacity:0}),i&&e.set(i,{opacity:0,scale:.5}),m&&e.set(m,{height:"auto"}),u&&e.set(u,{rotation:-10}),d&&e.set(d,{rotation:-10}),p&&e.set(p,{scale:.8,opacity:0}),g&&e.set(g,{y:50,opacity:0,scale:.95}),w&&e.set(w,{y:0,opacity:0,scale:.95}),y.length&&e.set(y,{opacity:0}),f&&e.set(f,{opacity:0}),t.addLabel("grid-in","start+=0.5"),n.length&&(t.to(n,{scale:1,y:0,ease:"power2.out",duration:()=>e.utils.random(.4,.8),stagger:{amount:.1,from:"random"},immediateRender:!1},"grid-in"),t.to(n,{opacity:1,ease:"power2.out",duration:()=>e.utils.random(.2,.4),stagger:{amount:.1,from:"random"},immediateRender:!1},"grid-in")),m&&t.to(m,{height:"100%",ease:"power2.out",duration:.5,immediateRender:!1},"grid-in"),r&&(t.to(r,{scale:1,ease:"power2.out",duration:.3,immediateRender:!1},"grid-in"),t.to(r,{opacity:1,ease:"power2.out",duration:.1,immediateRender:!1},"grid-in+=0.1")),i&&(t.fromTo(i,{opacity:0},{opacity:1,ease:"power2.out",duration:.2,immediateRender:!1},"grid-in+=0.1"),t.fromTo(i,{scale:.5},{scale:1,ease:"power2.out",duration:.5,immediateRender:!1},"grid-in+=0.2")),t.to(c,{opacity:1,ease:"power2.out",duration:.3,immediateRender:!1},"grid-in+=0.3"),u&&d&&p&&(t.to(p,{opacity:1,scale:1,duration:.1,ease:"power2.out",immediateRender:!1},"grid-in+=0.4"),t.to(u,{rotation:30,duration:.5,ease:"power2.out",immediateRender:!1},"grid-in+=0.4"),t.to(d,{rotation:30,duration:.5,ease:"power2.out",immediateRender:!1},"grid-in+=0.4")),g&&t.to(g,{y:0,opacity:1,scale:1,duration:.2,ease:"power2.out",immediateRender:!1},"grid-in+=0.35"),w&&t.to(w,{y:0,opacity:1,scale:1,duration:.2,ease:"power2.out",immediateRender:!1},"grid-in+=0.45"),s&&t.to(s,{opacity:1,duration:.1,ease:"power2.out",immediateRender:!1},"grid-in+=0.4"),y.length&&t.to(y,{opacity:1,duration:.2,ease:"power2.out",immediateRender:!1},"grid-in+=0.4"),f&&t.to(f,{opacity:1,duration:.2,ease:"power2.out",immediateRender:!1},"grid-in+=0.4"),n.length&&t.to(n,{opacity:.8,ease:"power2.out",duration:.2,stagger:{amount:.1,from:"random"},immediateRender:!1},"grid-in+=0.30")}typeof window<"u"&&(window.addEventListener("DOMContentLoaded",()=>{D()}),window.addEventListener("load",()=>{let e=h();if(!e)return;let o=window.ScrollTrigger||e.ScrollTrigger;o&&o.refresh&&o.refresh()}));})();
1
+ "use strict";
2
+ (() => {
3
+ // src/home/hero-animation/scroll.ts
4
+ var isEl = (v) => Boolean(v);
5
+ function getGlobalGsap() {
6
+ if (typeof window === "undefined") return null;
7
+ const gsap = window.gsap;
8
+ if (!gsap) {
9
+ console.warn("window.gsap not found. Make sure GSAP is loaded globally before this code runs.");
10
+ return null;
11
+ }
12
+ const ScrollTrigger = window.ScrollTrigger || gsap.ScrollTrigger;
13
+ if (!ScrollTrigger) {
14
+ console.warn(
15
+ "ScrollTrigger not found on window (or gsap). Make sure the ScrollTrigger plugin script is loaded globally."
16
+ );
17
+ return null;
18
+ }
19
+ gsap.registerPlugin(ScrollTrigger);
20
+ return gsap;
21
+ }
22
+ function initHomeScrollAnimation() {
23
+ const gsap = getGlobalGsap();
24
+ if (!gsap) return;
25
+ const section = document.getElementById("home-scroll");
26
+ if (!section) return;
27
+ const title = section.querySelector(
28
+ "[pulse-animation-element='hero-title']"
29
+ );
30
+ const description = section.querySelector(
31
+ "[pulse-animation-element='hero-description']"
32
+ );
33
+ const button = section.querySelector(
34
+ "[pulse-animation-element='hero-button']"
35
+ );
36
+ const blurs = Array.from(
37
+ section.querySelectorAll("[pulse-animation-element='hero-blur']")
38
+ );
39
+ const blurOverlay = section.querySelector(
40
+ "[pulse-animation-element='hero-blur-overlay']"
41
+ );
42
+ const canvas3d = section.querySelector("#canvas3d");
43
+ const Col1Row1Item1 = document.querySelector(
44
+ '[pulse-animation-element="col-1-row-1-item-1"]'
45
+ );
46
+ const Col1Row1Item2 = document.querySelector(
47
+ '[pulse-animation-element="col-1-row-1-item-2"]'
48
+ );
49
+ const Col1Row2Item1 = document.querySelector(
50
+ '[pulse-animation-element="col-1-row-2-item-1"]'
51
+ );
52
+ const Col1Row2Item2 = document.querySelector(
53
+ '[pulse-animation-element="col-1-row-2-item-2"]'
54
+ );
55
+ const Col1Row3Item1 = document.querySelector(
56
+ '[pulse-animation-element="col-1-row-3-item-1"]'
57
+ );
58
+ const Col2Row1Item1 = document.querySelector(
59
+ '[pulse-animation-element="col-2-row-1-item-1"]'
60
+ );
61
+ const Col2Row1Item2 = document.querySelector(
62
+ '[pulse-animation-element="col-2-row-1-item-2"]'
63
+ );
64
+ const Col2Row2Item1 = document.querySelector(
65
+ '[pulse-animation-element="col-2-row-2-item-1"]'
66
+ );
67
+ const col2Row3Item1 = document.querySelector(
68
+ '[pulse-animation-element="col-2-row-3-item-1"]'
69
+ );
70
+ const Col3Row1Item1 = document.querySelector(
71
+ '[pulse-animation-element="col-3-row-1-item-1"]'
72
+ );
73
+ const Col3Row2Col1Item1 = document.querySelector(
74
+ '[pulse-animation-element="col-3-row-2-col-1-item-1"]'
75
+ );
76
+ const Col3Row2Col1Item2 = document.querySelector(
77
+ '[pulse-animation-element="col-3-row-2-col-1-item-2"]'
78
+ );
79
+ const Col3Row2Col2Item1 = document.querySelector(
80
+ '[pulse-animation-element="col-3-row-2-col-2-item-1"]'
81
+ );
82
+ const Col3Row2Col2Item2 = document.querySelector(
83
+ '[pulse-animation-element="col-3-row-2-col-2-item-2"]'
84
+ );
85
+ const Col3Row3Item1 = document.querySelector(
86
+ '[pulse-animation-element="col-3-row-3-item-1"]'
87
+ );
88
+ const canvasElement = document.querySelector(
89
+ '[pulse-animation-element="canvas"]'
90
+ );
91
+ const radialGradientWrapper = document.querySelector(
92
+ '[pulse-animation-element="radial-gradient-wrapper"]'
93
+ );
94
+ const gridItems = [
95
+ Col1Row1Item1,
96
+ Col1Row1Item2,
97
+ Col1Row2Item1,
98
+ Col1Row2Item2,
99
+ Col1Row3Item1,
100
+ Col2Row1Item1,
101
+ Col2Row1Item2,
102
+ // Col2Row2Item1, // intentionally not part of gridItems in your original code
103
+ col2Row3Item1,
104
+ Col3Row1Item1,
105
+ Col3Row2Col1Item1,
106
+ Col3Row2Col1Item2,
107
+ Col3Row2Col2Item1,
108
+ Col3Row2Col2Item2,
109
+ Col3Row3Item1
110
+ ].filter(isEl);
111
+ const playerInnerElements = document.querySelector(
112
+ '[pulse-animation-element="player-inner-elements"]'
113
+ );
114
+ const playerRadiusRect = document.querySelector(
115
+ '[pulse-animation-element="player-radius-rect"]'
116
+ );
117
+ const lineArt = document.querySelector(
118
+ '[pulse-animation-element="line-art"]'
119
+ );
120
+ if (!playerRadiusRect) {
121
+ console.warn("Player radius rect not found");
122
+ return;
123
+ }
124
+ const length = playerRadiusRect.getTotalLength();
125
+ const playerHandle = document.querySelector(
126
+ '[pulse-animation-element="player-handle"]'
127
+ );
128
+ const playerHandlerTail = document.querySelector(
129
+ '[pulse-animation-element="player-handle-tail"]'
130
+ );
131
+ const playerHandleWrapper = document.querySelector(
132
+ '[pulse-animation-element="handle-wrapper"]'
133
+ );
134
+ const vignette = Array.from(
135
+ document.querySelectorAll('[pulse-animation-element="vignette"]')
136
+ );
137
+ const torchWrapper = document.querySelector(
138
+ '[pulse-animation-element="torch-wrapper"]'
139
+ );
140
+ const torch = document.querySelector(
141
+ '[pulse-animation-element="torch"]'
142
+ );
143
+ const launchButton = document.querySelector(
144
+ '[pulse-animation-element="launch-button"]'
145
+ );
146
+ const launchTitle = document.querySelector(
147
+ '[pulse-animation-element="launch-title"]'
148
+ );
149
+ const tl = gsap.timeline({
150
+ defaults: { ease: "power2.out", duration: 1 },
151
+ scrollTrigger: {
152
+ trigger: section,
153
+ start: "top bottom",
154
+ end: "bottom top",
155
+ scrub: true,
156
+ invalidateOnRefresh: true
157
+ // markers: true,
158
+ }
159
+ });
160
+ if (blurs.length) gsap.set(blurs, { yPercent: 32, opacity: 1 });
161
+ if (blurOverlay) gsap.set(blurOverlay, { y: 0, opacity: 1 });
162
+ if (radialGradientWrapper) gsap.set(radialGradientWrapper, { opacity: 0 });
163
+ tl.addLabel("start", 0);
164
+ if (title) {
165
+ tl.fromTo(
166
+ title,
167
+ { y: 1100 },
168
+ { y: -400, ease: "power2.out", duration: 1.2, immediateRender: false },
169
+ "start+=0.1"
170
+ );
171
+ }
172
+ if (description) {
173
+ tl.fromTo(
174
+ description,
175
+ { y: 680 },
176
+ { y: -400, ease: "power2.out", duration: 1.2, immediateRender: false },
177
+ "start+=0.2"
178
+ );
179
+ }
180
+ if (button) {
181
+ tl.fromTo(
182
+ button,
183
+ { y: 440 },
184
+ { y: -480, ease: "power2.out", duration: 1.2, immediateRender: false },
185
+ "start+=0.3"
186
+ );
187
+ }
188
+ if (blurs.length) {
189
+ tl.to(
190
+ blurs,
191
+ {
192
+ yPercent: -100,
193
+ opacity: 0,
194
+ ease: "power2.out",
195
+ duration: 1.2,
196
+ delay: 0.2,
197
+ immediateRender: false
198
+ },
199
+ "start+=0.2"
200
+ );
201
+ }
202
+ if (blurOverlay) {
203
+ tl.to(
204
+ blurOverlay,
205
+ {
206
+ y: -1200,
207
+ ease: "power2.out",
208
+ duration: 1,
209
+ delay: 0.2,
210
+ immediateRender: false
211
+ },
212
+ "start+=0.2"
213
+ );
214
+ }
215
+ const heroTargets = [title, description, button].filter(isEl);
216
+ if (heroTargets.length) {
217
+ tl.to(
218
+ heroTargets,
219
+ {
220
+ scale: 0.95,
221
+ duration: 0.8,
222
+ ease: "power2.out",
223
+ immediateRender: false
224
+ },
225
+ "start+=0.4"
226
+ );
227
+ tl.to(
228
+ heroTargets,
229
+ {
230
+ opacity: 0,
231
+ duration: 0.2,
232
+ delay: 0.2,
233
+ ease: "power2.out",
234
+ immediateRender: false
235
+ },
236
+ "start+=0.35"
237
+ );
238
+ }
239
+ if (gridItems.length) {
240
+ gsap.set(gridItems, {
241
+ opacity: 0,
242
+ scale: () => gsap.utils.random(0.5, 0.95),
243
+ y: () => gsap.utils.random(40, 60)
244
+ });
245
+ }
246
+ if (playerInnerElements) gsap.set(playerInnerElements, { scale: 0.8 });
247
+ gsap.set(playerRadiusRect, { opacity: 0 });
248
+ if (lineArt) gsap.set(lineArt, { opacity: 0, scale: 0.5 });
249
+ if (canvas3d) gsap.set(canvas3d, { height: "auto" });
250
+ if (playerHandle) gsap.set(playerHandle, { rotation: -10 });
251
+ if (playerHandlerTail) gsap.set(playerHandlerTail, { rotation: -10 });
252
+ if (playerHandleWrapper) gsap.set(playerHandleWrapper, { scale: 0.8, opacity: 0 });
253
+ if (launchTitle) gsap.set(launchTitle, { y: 50, opacity: 0, scale: 0.95 });
254
+ if (launchButton) gsap.set(launchButton, { y: 0, opacity: 0, scale: 0.95 });
255
+ if (vignette.length) gsap.set(vignette, { opacity: 0 });
256
+ if (torch) gsap.set(torch, { opacity: 0 });
257
+ tl.addLabel("grid-in", "start+=0.5");
258
+ if (gridItems.length) {
259
+ tl.to(
260
+ gridItems,
261
+ {
262
+ scale: 1,
263
+ y: 0,
264
+ ease: "power2.out",
265
+ duration: () => gsap.utils.random(0.4, 0.8),
266
+ stagger: { amount: 0.1, from: "random" },
267
+ immediateRender: false
268
+ },
269
+ "grid-in"
270
+ );
271
+ tl.to(
272
+ gridItems,
273
+ {
274
+ opacity: 1,
275
+ ease: "power2.out",
276
+ duration: () => gsap.utils.random(0.2, 0.4),
277
+ stagger: { amount: 0.1, from: "random" },
278
+ immediateRender: false
279
+ },
280
+ "grid-in"
281
+ );
282
+ }
283
+ if (canvas3d) {
284
+ tl.to(
285
+ canvas3d,
286
+ { height: "100%", ease: "power2.out", duration: 0.5, immediateRender: false },
287
+ "grid-in"
288
+ );
289
+ }
290
+ if (playerInnerElements) {
291
+ tl.to(
292
+ playerInnerElements,
293
+ { scale: 1, ease: "power2.out", duration: 0.3, immediateRender: false },
294
+ "grid-in"
295
+ );
296
+ tl.to(
297
+ playerInnerElements,
298
+ { opacity: 1, ease: "power2.out", duration: 0.1, immediateRender: false },
299
+ "grid-in+=0.1"
300
+ );
301
+ }
302
+ if (lineArt) {
303
+ tl.fromTo(
304
+ lineArt,
305
+ { opacity: 0 },
306
+ { opacity: 1, ease: "power2.out", duration: 0.2, immediateRender: false },
307
+ "grid-in+=0.1"
308
+ );
309
+ tl.fromTo(
310
+ lineArt,
311
+ { scale: 0.5 },
312
+ { scale: 1, ease: "power2.out", duration: 0.5, immediateRender: false },
313
+ "grid-in+=0.2"
314
+ );
315
+ }
316
+ tl.to(
317
+ playerRadiusRect,
318
+ { opacity: 1, ease: "power2.out", duration: 0.3, immediateRender: false },
319
+ "grid-in+=0.3"
320
+ );
321
+ if (playerHandle && playerHandlerTail && playerHandleWrapper) {
322
+ tl.to(
323
+ playerHandleWrapper,
324
+ { opacity: 1, scale: 1, duration: 0.1, ease: "power2.out", immediateRender: false },
325
+ "grid-in+=0.4"
326
+ );
327
+ tl.to(
328
+ playerHandle,
329
+ { rotation: 30, duration: 0.5, ease: "power2.out", immediateRender: false },
330
+ "grid-in+=0.4"
331
+ );
332
+ tl.to(
333
+ playerHandlerTail,
334
+ { rotation: 30, duration: 0.5, ease: "power2.out", immediateRender: false },
335
+ "grid-in+=0.4"
336
+ );
337
+ }
338
+ if (launchTitle) {
339
+ tl.to(
340
+ launchTitle,
341
+ { y: 0, opacity: 1, scale: 1, duration: 0.2, ease: "power2.out", immediateRender: false },
342
+ "grid-in+=0.35"
343
+ );
344
+ }
345
+ if (launchButton) {
346
+ tl.to(
347
+ launchButton,
348
+ { y: 0, opacity: 1, scale: 1, duration: 0.2, ease: "power2.out", immediateRender: false },
349
+ "grid-in+=0.45"
350
+ );
351
+ }
352
+ if (radialGradientWrapper) {
353
+ tl.to(
354
+ radialGradientWrapper,
355
+ { opacity: 1, duration: 0.1, ease: "power2.out", immediateRender: false },
356
+ "grid-in+=0.4"
357
+ );
358
+ }
359
+ if (vignette.length) {
360
+ tl.to(
361
+ vignette,
362
+ { opacity: 1, duration: 0.2, ease: "power2.out", immediateRender: false },
363
+ "grid-in+=0.4"
364
+ );
365
+ }
366
+ if (torchWrapper) {
367
+ }
368
+ if (torch) {
369
+ tl.to(
370
+ torch,
371
+ { opacity: 1, duration: 0.2, ease: "power2.out", immediateRender: false },
372
+ "grid-in+=0.4"
373
+ );
374
+ }
375
+ if (gridItems.length) {
376
+ tl.to(
377
+ gridItems,
378
+ {
379
+ opacity: 0.8,
380
+ ease: "power2.out",
381
+ duration: 0.2,
382
+ stagger: { amount: 0.1, from: "random" },
383
+ immediateRender: false
384
+ },
385
+ "grid-in+=0.30"
386
+ );
387
+ }
388
+ }
389
+ if (typeof window !== "undefined") {
390
+ window.addEventListener("DOMContentLoaded", () => {
391
+ initHomeScrollAnimation();
392
+ });
393
+ window.addEventListener("load", () => {
394
+ const gsap = getGlobalGsap();
395
+ if (!gsap) return;
396
+ const ScrollTrigger = window.ScrollTrigger || gsap.ScrollTrigger;
397
+ if (ScrollTrigger && ScrollTrigger.refresh) ScrollTrigger.refresh();
398
+ });
399
+ }
400
+ })();
401
+ //# sourceMappingURL=scroll.js.map
@@ -1 +1,233 @@
1
- [pulse-animation-element=player-inner-elements]{z-index:105;pointer-events:auto}[pulse-animation-element=hero-wrapper]{z-index:100}[pulse-animation-element=hero-blur-overlay]{z-index:95}[pulse-animation-element=hero-blur]{z-index:90}[pulse-animation-element=radial-gradient-wrapper]{z-index:70;opacity:0}[pulse-animation-element=canvas-wrapper]{z-index:85}[pulse-animation-element=player-wrapper],[pulse-animation-element=player-wrapper-mobile]{z-index:80}#spline-container canvas{width:100vw!important}.spline-disc canvas{width:1920px!important;height:1080px!important}#canvas3d{width:100vw!important;height:100%;display:flex;justify-content:center;align-items:center}.block-canvas{display:flex;justify-content:center;align-items:flex-end;height:100vh;width:100vw;overflow:hidden;top:48px}.block_spline-3d{display:flex;position:sticky;top:0;height:100vh;pointer-events:none}.block_hero-text{position:absolute;inset:0%;overflow:hidden;height:100vh;pointer-events:auto}.block_music-player{position:absolute;bottom:0;left:0;width:100vw;height:100vh}.canvas-helper{display:none}.scroll-section{position:relative;height:350vh;pointer-events:none}.box{width:360px;height:449px;background:#0b0b0b;position:relative}.box svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;pointer-events:none}[pulse-animation-element=player-elements]{position:absolute;inset:0}[pulse-animation-element=line-art]{background:transparent}[pulse-animation-element=player-handle]{transform-origin:left center;transform:rotate(0);left:70px}[pulse-animation-element=player-handle-tail]{transform-origin:right center;transform:rotate(0)}.blur-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#000c,#0000);height:100%}.gradient-blur{position:absolute;inset:0;backdrop-filter:blur(8px) brightness(1);-webkit-backdrop-filter:blur(25px) brightness(1);mask-image:linear-gradient(to top,#0000,#000 60%);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,0) 0%,rgb(0 0 0) 60%);height:80%}[pulse-animation-element=disc-spacer]{height:80px}.vignette{background:radial-gradient(circle,transparent 60%,rgba(0,0,0,.8) 100%);position:absolute;inset:0;pointer-events:none;width:100%;height:100%;z-index:89}.vignite-bg{position:absolute;z-index:90;width:100%;height:100px}@media (max-width: 479px){.vignite-bg{height:380px}}#gallery:before{content:"";position:absolute;inset:0;background:#00000006;z-index:2}.torch{position:absolute;inset:0;pointer-events:none;z-index:4;background:rgba(0,0,0,var(--darkness));opacity:0;transition:opacity .16s ease-out;-webkit-mask:radial-gradient(var(--torch-size) var(--torch-size) at var(--x) var(--y),transparent 0 var(--clear),white var(--torch-size));mask:radial-gradient(var(--torch-size) var(--torch-size) at var(--x) var(--y),transparent 0 var(--clear),white var(--torch-size))}#gallery:hover .torch{opacity:1}@media (pointer: coarse){.torch{opacity:1}}@media (prefers-reduced-motion: reduce){.torch{transition:none}}@media (max-width: 500px){.spline-disc canvas{height:800px!important}#canvas3d{width:100vw!important}.box,.col-2-row-2-item-1{width:250px;height:320px}.block-canvas{top:30px}.column_absolute{justify-content:center;align-items:center}.player-progress{padding:12px 12px 18px}}
1
+ /* src/home/hero-animation/styles.css */
2
+ [pulse-animation-element=player-inner-elements] {
3
+ z-index: 105;
4
+ pointer-events: auto;
5
+ }
6
+ [pulse-animation-element=hero-wrapper] {
7
+ z-index: 100;
8
+ }
9
+ [pulse-animation-element=hero-blur-overlay] {
10
+ z-index: 95;
11
+ }
12
+ [pulse-animation-element=hero-blur] {
13
+ z-index: 90;
14
+ }
15
+ [pulse-animation-element=radial-gradient-wrapper] {
16
+ z-index: 70;
17
+ opacity: 0;
18
+ }
19
+ [pulse-animation-element=canvas-wrapper] {
20
+ z-index: 85;
21
+ }
22
+ [pulse-animation-element=player-wrapper] {
23
+ z-index: 80;
24
+ }
25
+ [pulse-animation-element=player-wrapper-mobile] {
26
+ z-index: 80;
27
+ }
28
+ #spline-container canvas {
29
+ width: 100vw !important;
30
+ }
31
+ .spline-disc canvas {
32
+ width: 1920px !important;
33
+ height: 1080px !important;
34
+ }
35
+ #canvas3d {
36
+ width: 100vw !important;
37
+ height: 100%;
38
+ display: flex;
39
+ justify-content: center;
40
+ align-items: center;
41
+ }
42
+ .block-canvas {
43
+ display: flex;
44
+ justify-content: center;
45
+ align-items: flex-end;
46
+ height: 100vh;
47
+ width: 100vw;
48
+ overflow: hidden;
49
+ top: 48px;
50
+ }
51
+ .block_spline-3d {
52
+ display: flex;
53
+ position: sticky;
54
+ top: 0px;
55
+ height: 100vh;
56
+ pointer-events: none;
57
+ }
58
+ .block_hero-text {
59
+ position: absolute;
60
+ inset: 0%;
61
+ overflow: hidden;
62
+ height: 100vh;
63
+ pointer-events: auto;
64
+ }
65
+ .block_music-player {
66
+ position: absolute;
67
+ bottom: 0;
68
+ left: 0;
69
+ width: 100vw;
70
+ height: 100vh;
71
+ }
72
+ .canvas-helper {
73
+ display: none;
74
+ }
75
+ .scroll-section {
76
+ position: relative;
77
+ height: 350vh;
78
+ pointer-events: none;
79
+ }
80
+ .box {
81
+ width: 360px;
82
+ height: 449px;
83
+ background: rgba(11, 11, 11, 1);
84
+ position: relative;
85
+ }
86
+ .box svg {
87
+ position: absolute;
88
+ inset: 0;
89
+ width: 100%;
90
+ height: 100%;
91
+ display: block;
92
+ overflow: visible;
93
+ pointer-events: none;
94
+ }
95
+ [pulse-animation-element=player-elements] {
96
+ position: absolute;
97
+ inset: 0;
98
+ }
99
+ [pulse-animation-element=line-art] {
100
+ background: transparent;
101
+ }
102
+ [pulse-animation-element=player-handle] {
103
+ transform-origin: left center;
104
+ transform: rotate(0deg);
105
+ left: 70px;
106
+ }
107
+ [pulse-animation-element=player-handle-tail] {
108
+ transform-origin: right center;
109
+ transform: rotate(0deg);
110
+ }
111
+ .blur-overlay {
112
+ position: absolute;
113
+ inset: 0;
114
+ background:
115
+ linear-gradient(
116
+ to bottom,
117
+ rgba(0, 0, 0, 0.8) 0%,
118
+ rgba(0, 0, 0, 0) 100%);
119
+ height: 100%;
120
+ }
121
+ .gradient-blur {
122
+ position: absolute;
123
+ inset: 0;
124
+ backdrop-filter: blur(8px) brightness(1);
125
+ -webkit-backdrop-filter: blur(25px) brightness(1);
126
+ mask-image:
127
+ linear-gradient(
128
+ to top,
129
+ #0000 0%,
130
+ #000 60%);
131
+ -webkit-mask-image:
132
+ linear-gradient(
133
+ to top,
134
+ rgba(0, 0, 0, 0) 0%,
135
+ rgb(0 0 0) 60%);
136
+ height: 80%;
137
+ }
138
+ [pulse-animation-element=disc-spacer] {
139
+ height: 80px;
140
+ }
141
+ .vignette {
142
+ background:
143
+ radial-gradient(
144
+ circle,
145
+ transparent 60%,
146
+ rgba(0, 0, 0, 0.8) 100%);
147
+ position: absolute;
148
+ inset: 0;
149
+ pointer-events: none;
150
+ width: 100%;
151
+ height: 100%;
152
+ z-index: 89;
153
+ }
154
+ .vignite-bg {
155
+ position: absolute;
156
+ z-index: 90;
157
+ width: 100%;
158
+ height: 100px;
159
+ }
160
+ @media (max-width: 479px) {
161
+ .vignite-bg {
162
+ height: 380px;
163
+ }
164
+ }
165
+ #gallery {
166
+ }
167
+ #gallery::before {
168
+ content: "";
169
+ position: absolute;
170
+ inset: 0;
171
+ background: rgba(0, 0, 0, .024);
172
+ z-index: 2;
173
+ }
174
+ .torch {
175
+ position: absolute;
176
+ inset: 0;
177
+ pointer-events: none;
178
+ z-index: 4;
179
+ background: rgba(0, 0, 0, var(--darkness));
180
+ opacity: 0;
181
+ transition: opacity 160ms ease-out;
182
+ -webkit-mask:
183
+ radial-gradient(
184
+ var(--torch-size) var(--torch-size) at var(--x) var(--y),
185
+ transparent 0 var(--clear),
186
+ white var(--torch-size));
187
+ mask:
188
+ radial-gradient(
189
+ var(--torch-size) var(--torch-size) at var(--x) var(--y),
190
+ transparent 0 var(--clear),
191
+ white var(--torch-size));
192
+ }
193
+ #gallery:hover .torch {
194
+ opacity: 1;
195
+ }
196
+ @media (pointer: coarse) {
197
+ .torch {
198
+ opacity: 1;
199
+ }
200
+ }
201
+ @media (prefers-reduced-motion: reduce) {
202
+ .torch {
203
+ transition: none;
204
+ }
205
+ }
206
+ @media (max-width: 500px) {
207
+ .spline-disc canvas {
208
+ height: 800px !important;
209
+ }
210
+ #canvas3d {
211
+ width: 100vw !important;
212
+ }
213
+ .box {
214
+ width: 250px;
215
+ height: 320px;
216
+ }
217
+ .col-2-row-2-item-1 {
218
+ width: 250px;
219
+ height: 320px;
220
+ }
221
+ .block-canvas {
222
+ top: 30px;
223
+ }
224
+ .column_absolute {
225
+ justify-content: center;
226
+ align-items: center;
227
+ }
228
+ .player-progress {
229
+ padding: 12px;
230
+ padding-bottom: 18px;
231
+ }
232
+ }
233
+ /*# sourceMappingURL=styles.css.map */