RobinsAIWorld commited on
Commit
34736ef
Β·
verified Β·
1 Parent(s): 2979357

Button still not responding to clicks - Initial Deployment

Browse files
Files changed (2) hide show
  1. README.md +7 -5
  2. index.html +577 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Astrosyn
3
- emoji: 🌍
4
- colorFrom: indigo
5
- colorTo: blue
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: astrosyn
3
+ emoji: 🐳
4
+ colorFrom: yellow
5
+ colorTo: purple
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,577 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>AstroSyn - Advanced Synastry Analyzer</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://unpkg.com/lucide@latest"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
10
+ <style>
11
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
12
+
13
+ * {
14
+ font-family: 'Inter', sans-serif;
15
+ }
16
+
17
+ .glass {
18
+ background: rgba(255, 255, 255, 0.05);
19
+ backdrop-filter: blur(20px);
20
+ border: 1px solid rgba(255, 255, 255, 0.1);
21
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
22
+ }
23
+
24
+ .glass-hover {
25
+ transition: all 0.3s ease;
26
+ }
27
+
28
+ .glass-hover:hover {
29
+ background: rgba(255, 255, 255, 0.08);
30
+ transform: translateY(-2px);
31
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
32
+ }
33
+
34
+ .gradient-text {
35
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
36
+ -webkit-background-clip: text;
37
+ -webkit-text-fill-color: transparent;
38
+ background-clip: text;
39
+ }
40
+
41
+ .liquid-bg {
42
+ background: linear-gradient(-45deg, #1a1a2e, #16213e, #0f3460, #533483);
43
+ background-size: 400% 400%;
44
+ animation: liquid 15s ease infinite;
45
+ }
46
+
47
+ @keyframes liquid {
48
+ 0% { background-position: 0% 50%; }
49
+ 50% { background-position: 100% 50%; }
50
+ 100% { background-position: 0% 50%; }
51
+ }
52
+
53
+ .glow {
54
+ box-shadow: 0 0 20px rgba(102, 126, 234, 0.5);
55
+ }
56
+
57
+ .input-glow:focus {
58
+ box-shadow: 0 0 20px rgba(102, 126, 234, 0.5);
59
+ border-color: rgba(102, 126, 234, 0.5);
60
+ }
61
+
62
+ .tab-active {
63
+ background: rgba(102, 126, 234, 0.2);
64
+ border-color: rgba(102, 126, 234, 0.5);
65
+ }
66
+
67
+ .chart-container {
68
+ position: relative;
69
+ height: 300px;
70
+ width: 100%;
71
+ }
72
+
73
+ .fade-in {
74
+ animation: fadeIn 0.5s ease-in;
75
+ }
76
+
77
+ @keyframes fadeIn {
78
+ from { opacity: 0; transform: translateY(20px); }
79
+ to { opacity: 1; transform: translateY(0); }
80
+ }
81
+
82
+ .pulse-glow {
83
+ animation: pulseGlow 2s ease-in-out infinite;
84
+ }
85
+
86
+ @keyframes pulseGlow {
87
+ 0%, 100% { box-shadow: 0 0 20px rgba(102, 126, 234, 0.5); }
88
+ 50% { box-shadow: 0 0 40px rgba(102, 126, 234, 0.8); }
89
+ }
90
+
91
+ .zodiac-wheel {
92
+ width: 200px;
93
+ height: 200px;
94
+ border-radius: 50%;
95
+ position: relative;
96
+ background: conic-gradient(
97
+ from 0deg,
98
+ #ff6b6b 0deg 30deg,
99
+ #4ecdc4 30deg 60deg,
100
+ #45b7d1 60deg 90deg,
101
+ #96ceb4 90deg 120deg,
102
+ #feca57 120deg 150deg,
103
+ #ff9ff3 150deg 180deg,
104
+ #54a0ff 180deg 210deg,
105
+ #5f27cd 210deg 240deg,
106
+ #00d2d3 240deg 270deg,
107
+ #ff9f43 270deg 300deg,
108
+ #10ac84 300deg 330deg,
109
+ #ee5a24 330deg 360deg
110
+ );
111
+ }
112
+ </style>
113
+ </head>
114
+ <body class="liquid-bg min-h-screen text-white">
115
+ <div class="container mx-auto px-4 py-8">
116
+ <!-- Header -->
117
+ <header class="text-center mb-12">
118
+ <h1 class="text-6xl font-bold mb-4">
119
+ <span class="gradient-text">AstroSyn</span>
120
+ </h1>
121
+ <p class="text-xl text-gray-300">Advanced Synastry & Individual Analysis</p>
122
+ </header>
123
+
124
+ <!-- Input Section -->
125
+ <section id="input-section" class="glass rounded-2xl p-8 mb-8">
126
+ <h2 class="text-3xl font-semibold mb-6 text-center">Enter Birth Details</h2>
127
+ <div class="grid md:grid-cols-2 gap-8">
128
+ <div>
129
+ <h3 class="text-xl font-medium mb-4 text-purple-300">Person A</h3>
130
+ <input type="text" id="nameA" placeholder="Full Name" class="w-full mb-3 p-3 rounded-lg glass glass-hover input-glow text-white placeholder-gray-400">
131
+ <input type="date" id="dobA" class="w-full mb-3 p-3 rounded-lg glass glass-hover input-glow text-white">
132
+ <input type="time" id="timeA" class="w-full mb-3 p-3 rounded-lg glass glass-hover input-glow text-white">
133
+ <input type="text" id="locationA" placeholder="Birth Location" class="w-full p-3 rounded-lg glass glass-hover input-glow text-white placeholder-gray-400">
134
+ </div>
135
+ <div>
136
+ <h3 class="text-xl font-medium mb-4 text-purple-300">Person B</h3>
137
+ <input type="text" id="nameB" placeholder="Full Name" class="w-full mb-3 p-3 rounded-lg glass glass-hover input-glow text-white placeholder-gray-400">
138
+ <input type="date" id="dobB" class="w-full mb-3 p-3 rounded-lg glass glass-hover input-glow text-white">
139
+ <input type="time" id="timeB" class="w-full mb-3 p-3 rounded-lg glass glass-hover input-glow text-white">
140
+ <input type="text" id="locationB" placeholder="Birth Location" class="w-full p-3 rounded-lg glass glass-hover input-glow text-white placeholder-gray-400">
141
+ </div>
142
+ </div>
143
+ <div class="text-center mt-6">
144
+ <button onclick="analyzeSynastry()" class="px-8 py-3 bg-gradient-to-r from-purple-600 to-blue-600 rounded-full font-semibold glow pulse-glow hover:scale-105 transition-transform">
145
+ Analyze Compatibility
146
+ </button>
147
+ </div>
148
+ </section>
149
+
150
+ <!-- Results Section -->
151
+ <section id="results-section" class="hidden">
152
+ <!-- Export / Share Bar -->
153
+ <div class="glass rounded-2xl p-4 mb-6 flex flex-wrap justify-center gap-3">
154
+ <button onclick="window.print()" class="px-4 py-2 rounded-lg glass glass-hover flex items-center gap-2">
155
+ <span>Print</span>
156
+ </button>
157
+ <button onclick="downloadPDF()" class="px-4 py-2 rounded-lg glass glass-hover flex items-center gap-2">
158
+ <span>Export PDF</span>
159
+ </button>
160
+ <button onclick="shareLink()" class="px-4 py-2 rounded-lg glass glass-hover flex items-center gap-2">
161
+ <span>Share Link</span>
162
+ </button>
163
+ </div>
164
+
165
+ <!-- Navigation Tabs -->
166
+ <div class="glass rounded-2xl p-4 mb-6">
167
+ <div class="flex flex-wrap justify-center gap-2">
168
+ <button onclick="switchTab('synastry')" id="tab-synastry" class="px-4 py-2 rounded-lg glass glass-hover tab-active">Synastry Report</button>
169
+ <button onclick="switchTab('personA')" id="tab-personA" class="px-4 py-2 rounded-lg glass glass-hover">Person A Analysis</button>
170
+ <button onclick="switchTab('personB')" id="tab-personB" class="px-4 py-2 rounded-lg glass glass-hover">Person B Analysis</button>
171
+ <button onclick="switchTab('composite')" id="tab-composite" class="px-4 py-2 rounded-lg glass glass-hover">Composite Chart</button>
172
+ </div>
173
+ </div>
174
+
175
+ <!-- Content -->
176
+ <div id="content-synastry" class="fade-in">
177
+ <div class="grid lg:grid-cols-2 gap-8">
178
+ <!-- Compatibility Score -->
179
+ <div class="glass rounded-2xl p-6">
180
+ <h3 class="text-2xl font-semibold mb-4">Overall Compatibility</h3>
181
+ <div class="text-center">
182
+ <div class="relative w-48 h-48 mx-auto mb-4">
183
+ <canvas id="compatibilityChart"></canvas>
184
+ <div class="absolute inset-0 flex items-center justify-center">
185
+ <span class="text-4xl font-bold gradient-text" id="compatibilityScore">85%</span>
186
+ </div>
187
+ </div>
188
+ <p class="text-gray-300">Based on Western, Vedic & Chinese astrology</p>
189
+ </div>
190
+ </div>
191
+
192
+ <!-- Key Aspects -->
193
+ <div class="glass rounded-2xl p-6">
194
+ <h3 class="text-2xl font-semibold mb-4">Key Aspects</h3>
195
+ <div class="space-y-3">
196
+ <div class="flex justify-between items-center">
197
+ <span>Emotional Connection</span>
198
+ <div class="w-32 bg-gray-700 rounded-full h-2">
199
+ <div class="bg-gradient-to-r from-purple-600 to-blue-600 h-2 rounded-full" style="width: 90%"></div>
200
+ </div>
201
+ </div>
202
+ <div class="flex justify-between items-center">
203
+ <span>Communication</span>
204
+ <div class="w-32 bg-gray-700 rounded-full h-2">
205
+ <div class="bg-gradient-to-r from-purple-600 to-blue-600 h-2 rounded-full" style="width: 75%"></div>
206
+ </div>
207
+ </div>
208
+ <div class="flex justify-between items-center">
209
+ <span>Physical Chemistry</span>
210
+ <div class="w-32 bg-gray-700 rounded-full h-2">
211
+ <div class="bg-gradient-to-r from-purple-600 to-blue-600 h-2 rounded-full" style="width: 95%"></div>
212
+ </div>
213
+ </div>
214
+ <div class="flex justify-between items-center">
215
+ <span>Long-term Potential</span>
216
+ <div class="w-32 bg-gray-700 rounded-full h-2">
217
+ <div class="bg-gradient-to-r from-purple-600 to-blue-600 h-2 rounded-full" style="width: 82%"></div>
218
+ </div>
219
+ </div>
220
+ </div>
221
+ </div>
222
+
223
+ <!-- Planetary Aspects -->
224
+ <div class="glass rounded-2xl p-6 lg:col-span-2">
225
+ <h3 class="text-2xl font-semibold mb-4">Planetary Aspects</h3>
226
+ <div class="grid md:grid-cols-2 gap-6">
227
+ <div>
228
+ <h4 class="text-lg font-medium mb-2 text-purple-300">Sun-Sun Aspects</h4>
229
+ <p class="text-sm text-gray-300 mb-3">Harmonious trine creates mutual understanding and shared values</p>
230
+ <h4 class="text-lg font-medium mb-2 text-purple-300">Moon-Venus Aspects</h4>
231
+ <p class="text-sm text-gray-300 mb-3">Strong emotional support and nurturing energy</p>
232
+ </div>
233
+ <div>
234
+ <h4 class="text-lg font-medium mb-2 text-purple-300">Mars-Venus Aspects</h4>
235
+ <p class="text-sm text-gray-300 mb-3">Passionate attraction with balanced energy exchange</p>
236
+ <h4 class="text-lg font-medium mb-2 text-purple-300">Saturn Connections</h4>
237
+ <p class="text-sm text-gray-300 mb-3">Karmic bonds and long-term commitment potential</p>
238
+ </div>
239
+ </div>
240
+ </div>
241
+
242
+ <!-- Chinese Zodiac -->
243
+ <div class="glass rounded-2xl p-6 context-menu-container">
244
+ <div class="flex justify-between items-center mb-4">
245
+ <h3 class="text-2xl font-semibold">Chinese Zodiac Compatibility</h3>
246
+ <label class="relative inline-flex items-center cursor-pointer">
247
+ <input type="checkbox" id="lunarToggle" class="sr-only peer" onchange="toggleLunar(this.checked)">
248
+ <div class="w-11 h-6 bg-gray-600 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-purple-600"></div>
249
+ <span class="ml-3 text-sm text-gray-300">Lunar mode</span>
250
+ </label>
251
+ </div>
252
+
253
+ <div class="text-center">
254
+ <div class="flex justify-around items-center mb-4">
255
+ <div>
256
+ <div id="czA" class="text-4xl mb-2 cursor-pointer hover:scale-110 transition-transform">🐰</div>
257
+ <p class="text-sm">Person A: <span id="czATxt">Rabbit</span></p>
258
+ </div>
259
+ <div class="text-2xl">❀️</div>
260
+ <div>
261
+ <div id="czB" class="text-4xl mb-2 cursor-pointer hover:scale-110 transition-transform">πŸ‰</div>
262
+ <p class="text-sm">Person B: <span id="czBTxt">Dragon</span></p>
263
+ </div>
264
+ </div>
265
+ <p id="czDesc" class="text-gray-300 text-sm">
266
+ Wood Rabbit and Fire Dragon: an unusual but complementary pair. The Rabbit’s diplomacy softens the Dragon’s bold moves.
267
+ </p>
268
+ </div>
269
+ <div id="czNotes" class="hidden mt-3 text-xs text-purple-300"></div>
270
+ </div>
271
+
272
+ <!-- Vedic Analysis -->
273
+ <div class="glass rounded-2xl p-6">
274
+ <h3 class="text-2xl font-semibold mb-4">Vedic Astrology</h3>
275
+ <div>
276
+ <h4 class="text-lg font-medium mb-2 text-purple-300">Nakshatra Compatibility</h4>
277
+ <p class="text-sm text-gray-300 mb-3">Rohini and Shravana - Excellent match for marriage</p>
278
+ <h4 class="text-lg font-medium mb-2 text-purple-300">Dosha Analysis</h4>
279
+ <p class="text-sm text-gray-300 mb-3">No major doshas found. Minor Mangal dosha neutralized</p>
280
+ </div>
281
+ </div>
282
+ </div>
283
+ </div>
284
+
285
+ <div id="content-personA" class="hidden fade-in">
286
+ <div class="glass rounded-2xl p-6 mb-6">
287
+ <div class="flex items-center mb-4">
288
+ <div class="w-20 h-20 rounded-full bg-gradient-to-r from-purple-600 to-blue-600 flex items-center justify-center text-2xl font-bold">
289
+ A
290
+ </div>
291
+ <div class="ml-4">
292
+ <h3 class="text-2xl font-semibold" id="personAName">Person A</h3>
293
+ <p class="text-gray-300">Western: Leo Sun, Cancer Moon | Chinese: Wood Dragon</p>
294
+ </div>
295
+ </div>
296
+ </div>
297
+
298
+ <div class="grid lg:grid-cols-3 gap-6">
299
+ <div class="glass rounded-2xl p-6">
300
+ <h4 class="text-xl font-semibold mb-4">Western Chart</h4>
301
+ <div class="zodiac-wheel mx-auto mb-4"></div>
302
+ <div class="space-y-2 text-sm">
303
+ <p><strong>Sun:</strong> Leo 15Β° - Creative, confident</p>
304
+ <p><strong>Moon:</strong> Cancer 8Β° - Emotional, nurturing</p>
305
+ <p><strong>Rising:</strong> Scorpio - Intense, mysterious</p>
306
+ </div>
307
+ </div>
308
+ <div class="glass rounded-2xl p-6">
309
+ <h4 class="text-xl font-semibold mb-4">Vedic Chart</h4>
310
+ <div class="space-y-3 text-sm">
311
+ <p><strong>Lagna:</strong> Libra</p>
312
+ <p><strong>Moon Sign:</strong> Gemini</p>
313
+ <p><strong>Nakshatra:</strong> Rohini</p>
314
+ <p><strong>Dosha:</strong> Pitta</p>
315
+ </div>
316
+ </div>
317
+ <div class="glass rounded-2xl p-6">
318
+ <h4 class="text-xl font-semibold mb-4">Chinese Astrology</h4>
319
+ <div class="text-center">
320
+ <div class="text-6xl mb-2">πŸ‰</div>
321
+ <p class="font-semibold">Wood Dragon</p>
322
+ <p class="text-sm text-gray-300 mt-2">Ambitious, charismatic, natural leader</p>
323
+ </div>
324
+ </div>
325
+ </div>
326
+ </div>
327
+
328
+ <div id="content-personB" class="hidden fade-in">
329
+ <div class="glass rounded-2xl p-6 mb-6">
330
+ <div class="flex items-center mb-4">
331
+ <div class="w-20 h-20 rounded-full bg-gradient-to-r from-purple-600 to-blue-600 flex items-center justify-center text-2xl font-bold">
332
+ B
333
+ </div>
334
+ <div class="ml-4">
335
+ <h3 class="text-2xl font-semibold" id="personBName">Person B</h3>
336
+ <p class="text-gray-300">Western: Scorpio Sun, Pisces Moon | Chinese: Fire Snake</p>
337
+ </div>
338
+ </div>
339
+ </div>
340
+
341
+ <div class="grid lg:grid-cols-3 gap-6">
342
+ <div class="glass rounded-2xl p-6">
343
+ <h4 class="text-xl font-semibold mb-4">Western Chart</h4>
344
+ <div class="zodiac-wheel mx-auto mb-4"></div>
345
+ <div class="space-y-2 text-sm">
346
+ <p><strong>Sun:</strong> Scorpio 22Β° - Intense, transformative</p>
347
+ <p><strong>Moon:</strong> Pisces 12Β° - Intuitive, compassionate</p>
348
+ <p><strong>Rising:</strong> Leo - Dramatic, charismatic</p>
349
+ </div>
350
+ </div>
351
+ <div class="glass rounded-2xl p-6">
352
+ <h4 class="text-xl font-semibold mb-4">Vedic Chart</h4>
353
+ <div class="space-y-3 text-sm">
354
+ <p><strong>Lagna:</strong> Cancer</p>
355
+ <p><strong>Moon Sign:</strong> Aquarius</p>
356
+ <p><strong>Nakshatra:</strong> Shravana</p>
357
+ <p><strong>Dosha:</strong> Vata</p>
358
+ </div>
359
+ </div>
360
+ <div class="glass rounded-2xl p-6">
361
+ <h4 class="text-xl font-semibold mb-4">Chinese Astrology</h4>
362
+ <div class="text-center">
363
+ <div class="text-6xl mb-2">🐍</div>
364
+ <p class="font-semibold">Fire Snake</p>
365
+ <p class="text-sm text-gray-300 mt-2">Wise, mysterious, deeply intuitive</p>
366
+ </div>
367
+ </div>
368
+ </div>
369
+ </div>
370
+
371
+ <div id="content-composite" class="hidden fade-in">
372
+ <div class="glass rounded-2xl p-6">
373
+ <h3 class="text-2xl font-semibold mb-6">Composite Chart</h3>
374
+ <div class="grid lg:grid-cols-2 gap-8">
375
+ <div>
376
+ <canvas id="compositeChart" class="w-full"></canvas>
377
+ </div>
378
+ <div>
379
+ <h4 class="text-xl font-semibold mb-4">Relationship Themes</h4>
380
+ <div class="space-y-4">
381
+ <div class="glass rounded-lg p-4">
382
+ <h5 class="font-semibold text-purple-300">Sun in 7th House</h5>
383
+ <p class="text-sm text-gray-300">Partnership is central to this relationship's identity</p>
384
+ </div>
385
+ <div class="glass rounded-lg p-4">
386
+ <h5 class="font-semibold text-purple-300">Moon Trine Venus</h5>
387
+ <p class="text-sm text-gray-300">Deep emotional connection and mutual appreciation</p>
388
+ </div>
389
+ <div class="glass rounded-lg p-4">
390
+ <h5 class="font-semibold text-purple-300">Mars Square Saturn</h5>
391
+ <p class="text-sm text-gray-300">Need to balance passion with responsibility</p>
392
+ </div>
393
+ </div>
394
+ </div>
395
+ </div>
396
+ </div>
397
+ </div>
398
+ </section>
399
+ </div>
400
+
401
+ <script>
402
+ let lunarMode = false; // false = Gregorian, true = strict lunar
403
+
404
+ // helper: very simple Chinese zodiac lookup (1900 ≑ Rat)
405
+ function getChineseZodiac(year) {
406
+ const animals = ["πŸ€","πŸ‚","πŸ…","πŸ‡","πŸ‰","🐍","🐎","🐐","πŸ’","πŸ“","πŸ•","πŸ–"];
407
+ return animals[(year-1900) % 12];
408
+ }
409
+ function getAnimalName(year) {
410
+ const names = ["Rat","Ox","Tiger","Rabbit","Dragon","Snake","Horse","Goat","Monkey","Rooster","Dog","Pig"];
411
+ return names[(year-1900) % 12];
412
+ }
413
+
414
+ function updateChineseZodiac() {
415
+ const dobA = document.getElementById("dobA").value;
416
+ const dobB = document.getElementById("dobB").value;
417
+ if (!dobA || !dobB) return; // wait until dates are entered
418
+
419
+ const yearA = new Date(dobA).getFullYear();
420
+ const yearB = new Date(dobB).getFullYear();
421
+
422
+ // Person A toggles between Rabbit and Dragon for demo purposes
423
+ // In real code you’d use a proper lunar-calendar library
424
+ const aAnimal = lunarMode ? "πŸ‡" : "πŸ‰";
425
+ const aName = lunarMode ? "Rabbit" : "Dragon";
426
+ const bAnimal = getChineseZodiac(yearB);
427
+ const bName = getAnimalName(yearB);
428
+
429
+ document.getElementById("czA").textContent = aAnimal;
430
+ document.getElementById("czATxt").textContent = aName;
431
+ document.getElementById("czB").textContent = bAnimal;
432
+ document.getElementById("czBTxt").textContent = bName;
433
+
434
+ document.getElementById("czDesc").textContent =
435
+ `${aName} and ${bName}: ` +
436
+ (aName === "Rabbit" && bName === "Dragon"
437
+ ? "an unusual but complementary pair. The Rabbit’s diplomacy softens the Dragon’s bold moves."
438
+ : "Dragon and Snake form a powerful alliance. Both are intelligent and ambitious, creating a dynamic partnership.");
439
+ }
440
+
441
+ function toggleLunar(on) {
442
+ lunarMode = on;
443
+ updateChineseZodiac();
444
+ }
445
+
446
+ function analyzeSynastry() {
447
+ // Get input values
448
+ const nameA = document.getElementById('nameA').value || 'Person A';
449
+ const nameB = document.getElementById('nameB').value || 'Person B';
450
+
451
+ // Update names
452
+ document.getElementById('personAName').textContent = nameA;
453
+ document.getElementById('personBName').textContent = nameB;
454
+
455
+ // Show results
456
+ document.getElementById('input-section').classList.add('hidden');
457
+ document.getElementById('results-section').classList.remove('hidden');
458
+
459
+ updateChineseZodiac();
460
+ initCharts();
461
+ }
462
+
463
+ function initCharts() {
464
+ // Compatibility Chart
465
+ const ctx1 = document.getElementById('compatibilityChart').getContext('2d');
466
+ new Chart(ctx1, {
467
+ type: 'doughnut',
468
+ data: {
469
+ datasets: [{
470
+ data: [85, 15],
471
+ backgroundColor: [
472
+ 'rgba(102, 126, 234, 0.8)',
473
+ 'rgba(255, 255, 255, 0.1)'
474
+ ],
475
+ borderWidth: 0
476
+ }]
477
+ },
478
+ options: {
479
+ responsive: true,
480
+ maintainAspectRatio: false,
481
+ plugins: {
482
+ legend: { display: false }
483
+ },
484
+ cutout: '80%'
485
+ }
486
+ });
487
+
488
+ // Composite Chart
489
+ const ctx2 = document.getElementById('compositeChart').getContext('2d');
490
+ new Chart(ctx2, {
491
+ type: 'radar',
492
+ data: {
493
+ labels: ['Emotional', 'Physical', 'Intellectual', 'Spiritual', 'Communication', 'Values'],
494
+ datasets: [{
495
+ label: 'Relationship Strength',
496
+ data: [90, 85, 75, 80, 70, 95],
497
+ borderColor: 'rgba(102, 126, 234, 1)',
498
+ backgroundColor: 'rgba(102, 126, 234, 0.2)',
499
+ pointBackgroundColor: 'rgba(102, 126, 234, 1)'
500
+ }]
501
+ },
502
+ options: {
503
+ responsive: true,
504
+ maintainAspectRatio: false,
505
+ plugins: {
506
+ legend: { display: false }
507
+ },
508
+ scales: {
509
+ r: {
510
+ angleLines: { color: 'rgba(255, 255, 255, 0.2)' },
511
+ grid: { color: 'rgba(255, 255, 255, 0.2)' },
512
+ pointLabels: { color: 'white' },
513
+ ticks: { color: 'white', backdropColor: 'transparent' }
514
+ }
515
+ }
516
+ }
517
+ });
518
+ }
519
+
520
+ function switchTab(tabName) {
521
+ // Hide all content
522
+ document.querySelectorAll('[id^="content-"]').forEach(el => el.classList.add('hidden'));
523
+ document.querySelectorAll('[id^="tab-"]').forEach(el => el.classList.remove('tab-active'));
524
+
525
+ // Show selected content
526
+ document.getElementById('content-' + tabName).classList.remove('hidden');
527
+ document.getElementById('tab-' + tabName).classList.add('tab-active');
528
+ }
529
+
530
+ // Add some interactive elements
531
+ // Context-menu (right-click) & hover tool-tips
532
+ document.addEventListener('DOMContentLoaded', () => {
533
+ document.addEventListener('contextmenu', e => {
534
+ const container = e.target.closest('.context-menu-container');
535
+ if (!container) return;
536
+ e.preventDefault();
537
+ const note = prompt('Add a note / interpretation:');
538
+ if (note) {
539
+ const noteBox = container.querySelector('[id$="Notes"]') || container;
540
+ noteBox.classList.remove('hidden');
541
+ noteBox.textContent = `Note: ${note}`;
542
+ }
543
+ });
544
+
545
+ // Simple hover tool-tip
546
+ document.querySelectorAll('[class*="zodiac-wheel"], .zodiac-wheel, #czA, #czB').forEach(el => {
547
+ el.title = 'Right-click to annotate or learn more';
548
+ });
549
+ function downloadPDF() {
550
+ const { jsPDF } = window.jspdf;
551
+ const doc = new jsPDF('p', 'mm', 'a4');
552
+ html2canvas(document.getElementById('results-section'), {
553
+ backgroundColor: '#1e1e2f',
554
+ scale: 1
555
+ }).then(canvas => {
556
+ const imgData = canvas.toDataURL('image/png');
557
+ const imgProps = doc.getImageProperties(imgData);
558
+ const pdfWidth = doc.internal.pageSize.getWidth();
559
+ const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width;
560
+ doc.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight);
561
+ doc.save('AstroSyn_Report.pdf');
562
+ });
563
+ }
564
+
565
+ function shareLink() {
566
+ const url = window.location.href;
567
+ navigator.clipboard.writeText(url).then(() => {
568
+ alert('Sharable link copied to clipboard!');
569
+ });
570
+ }
571
+ </script>
572
+
573
+ <!-- PDF generation -->
574
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
575
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>
576
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=RobinsAIWorld/astrosyn" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
577
+ </html>