alexdatamed commited on
Commit
b7d30d9
·
verified ·
1 Parent(s): af4037d

Upload 3 files

Browse files
Files changed (3) hide show
  1. app.js +266 -0
  2. index.html +423 -19
  3. style.css +1318 -15
app.js ADDED
@@ -0,0 +1,266 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class PresentationController {
2
+ constructor() {
3
+ this.currentSlide = 1;
4
+ this.totalSlides = 12;
5
+ this.slides = document.querySelectorAll('.slide');
6
+ this.prevBtn = document.getElementById('prevBtn');
7
+ this.nextBtn = document.getElementById('nextBtn');
8
+ this.currentSlideSpan = document.getElementById('currentSlide');
9
+ this.totalSlidesSpan = document.getElementById('totalSlides');
10
+ this.isTransitioning = false;
11
+
12
+ this.init();
13
+ }
14
+
15
+ init() {
16
+ // Set total slides
17
+ this.totalSlidesSpan.textContent = this.totalSlides;
18
+
19
+ // Add event listeners
20
+ this.prevBtn.addEventListener('click', () => this.previousSlide());
21
+ this.nextBtn.addEventListener('click', () => this.nextSlide());
22
+
23
+ // Keyboard navigation
24
+ document.addEventListener('keydown', (e) => this.handleKeyboard(e));
25
+
26
+ // Initialize first slide
27
+ this.showSlide(1);
28
+
29
+ // Initialize progress bar
30
+ this.initProgressBar();
31
+
32
+ console.log('Presentation initialized with', this.totalSlides, 'slides');
33
+ }
34
+
35
+ initProgressBar() {
36
+ // Create and add progress bar
37
+ const progressBar = document.createElement('div');
38
+ progressBar.className = 'progress-bar';
39
+ progressBar.innerHTML = '<div class="progress-fill"></div>';
40
+ document.body.insertBefore(progressBar, document.body.firstChild);
41
+
42
+ this.progressBar = progressBar;
43
+ this.updateProgress();
44
+ }
45
+
46
+ showSlide(slideNumber) {
47
+ if (slideNumber < 1 || slideNumber > this.totalSlides || this.isTransitioning) {
48
+ return;
49
+ }
50
+
51
+ this.isTransitioning = true;
52
+
53
+ // Hide all slides
54
+ this.slides.forEach(slide => {
55
+ slide.classList.remove('active', 'exiting');
56
+ slide.style.opacity = '0';
57
+ slide.style.visibility = 'hidden';
58
+ slide.style.transform = 'translateX(50px)';
59
+ });
60
+
61
+ // Update current slide
62
+ this.currentSlide = slideNumber;
63
+
64
+ // Show target slide with a small delay to ensure clean transition
65
+ setTimeout(() => {
66
+ const targetSlide = document.querySelector(`[data-slide="${slideNumber}"]`);
67
+ if (targetSlide) {
68
+ targetSlide.style.visibility = 'visible';
69
+ targetSlide.classList.add('active');
70
+
71
+ // Force a repaint
72
+ targetSlide.offsetHeight;
73
+
74
+ targetSlide.style.opacity = '1';
75
+ targetSlide.style.transform = 'translateX(0)';
76
+ }
77
+
78
+ // Update UI elements
79
+ this.updateButtonStates();
80
+ this.updateSlideCounter();
81
+ this.updateProgress();
82
+
83
+ // Allow next transition after animation completes
84
+ setTimeout(() => {
85
+ this.isTransitioning = false;
86
+ }, 450);
87
+ }, 50);
88
+ }
89
+
90
+ nextSlide() {
91
+ if (this.currentSlide < this.totalSlides && !this.isTransitioning) {
92
+ this.showSlide(this.currentSlide + 1);
93
+ }
94
+ }
95
+
96
+ previousSlide() {
97
+ if (this.currentSlide > 1 && !this.isTransitioning) {
98
+ this.showSlide(this.currentSlide - 1);
99
+ }
100
+ }
101
+
102
+ updateButtonStates() {
103
+ // Update previous button
104
+ this.prevBtn.disabled = (this.currentSlide === 1);
105
+
106
+ // Update next button
107
+ this.nextBtn.disabled = (this.currentSlide === this.totalSlides);
108
+ }
109
+
110
+ updateSlideCounter() {
111
+ this.currentSlideSpan.textContent = this.currentSlide;
112
+ }
113
+
114
+ updateProgress() {
115
+ if (this.progressBar) {
116
+ const progressFill = this.progressBar.querySelector('.progress-fill');
117
+ const percentage = (this.currentSlide / this.totalSlides) * 100;
118
+ progressFill.style.width = `${percentage}%`;
119
+ }
120
+ }
121
+
122
+ handleKeyboard(e) {
123
+ // Prevent default behavior for navigation keys
124
+ if (['ArrowLeft', 'ArrowRight', 'Home', 'End'].includes(e.key)) {
125
+ e.preventDefault();
126
+ }
127
+
128
+ switch(e.key) {
129
+ case 'ArrowLeft':
130
+ this.previousSlide();
131
+ break;
132
+ case 'ArrowRight':
133
+ this.nextSlide();
134
+ break;
135
+ case 'Home':
136
+ this.showSlide(1);
137
+ break;
138
+ case 'End':
139
+ this.showSlide(this.totalSlides);
140
+ break;
141
+ case 'f':
142
+ case 'F':
143
+ this.toggleFullscreen();
144
+ break;
145
+ case 'Escape':
146
+ this.exitFullscreen();
147
+ break;
148
+ }
149
+ }
150
+
151
+ toggleFullscreen() {
152
+ if (!document.fullscreenElement) {
153
+ document.documentElement.requestFullscreen().catch(err => {
154
+ console.log(`Error attempting to enable fullscreen: ${err.message}`);
155
+ });
156
+ } else {
157
+ document.exitFullscreen();
158
+ }
159
+ }
160
+
161
+ exitFullscreen() {
162
+ if (document.fullscreenElement) {
163
+ document.exitFullscreen();
164
+ }
165
+ }
166
+ }
167
+
168
+ // Touch/swipe support for mobile
169
+ class TouchHandler {
170
+ constructor(controller) {
171
+ this.controller = controller;
172
+ this.touchStartX = 0;
173
+ this.touchEndX = 0;
174
+ this.minSwipeDistance = 50;
175
+
176
+ this.init();
177
+ }
178
+
179
+ init() {
180
+ const slidesContainer = document.getElementById('slidesContainer');
181
+
182
+ slidesContainer.addEventListener('touchstart', (e) => {
183
+ this.touchStartX = e.changedTouches[0].screenX;
184
+ }, { passive: true });
185
+
186
+ slidesContainer.addEventListener('touchend', (e) => {
187
+ this.touchEndX = e.changedTouches[0].screenX;
188
+ this.handleSwipe();
189
+ }, { passive: true });
190
+ }
191
+
192
+ handleSwipe() {
193
+ const diffX = this.touchStartX - this.touchEndX;
194
+
195
+ if (Math.abs(diffX) > this.minSwipeDistance) {
196
+ if (diffX > 0) {
197
+ // Swipe left - next slide
198
+ this.controller.nextSlide();
199
+ } else {
200
+ // Swipe right - previous slide
201
+ this.controller.previousSlide();
202
+ }
203
+ }
204
+ }
205
+ }
206
+
207
+ // Simple hover effects without problematic animations
208
+ function addHoverEffects() {
209
+ const style = document.createElement('style');
210
+ style.textContent = `
211
+ .tech-card:hover,
212
+ .company-card:hover,
213
+ .use-case-card:hover,
214
+ .challenge-card:hover,
215
+ .trend-item:hover,
216
+ .takeaway-card:hover {
217
+ background: rgba(255, 255, 255, 0.15) !important;
218
+ cursor: pointer;
219
+ }
220
+ `;
221
+ document.head.appendChild(style);
222
+ }
223
+
224
+ // Initialize presentation when DOM is loaded
225
+ document.addEventListener('DOMContentLoaded', function() {
226
+ // Prevent scrolling and ensure proper viewport
227
+ document.body.style.overflow = 'hidden';
228
+ document.body.style.margin = '0';
229
+ document.body.style.padding = '0';
230
+ document.documentElement.style.overflow = 'hidden';
231
+
232
+ // Initialize the presentation controller
233
+ const presentation = new PresentationController();
234
+
235
+ // Add touch support
236
+ new TouchHandler(presentation);
237
+
238
+ // Add simple hover effects
239
+ addHoverEffects();
240
+
241
+ // Prevent default scrolling behavior
242
+ document.addEventListener('wheel', (e) => {
243
+ e.preventDefault();
244
+ }, { passive: false });
245
+
246
+ // Prevent arrow key scrolling
247
+ document.addEventListener('keydown', (e) => {
248
+ if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Space'].includes(e.key)) {
249
+ e.preventDefault();
250
+ }
251
+ });
252
+
253
+ // Handle window resize
254
+ window.addEventListener('resize', () => {
255
+ // Force a repaint to handle responsive changes
256
+ const activeSlide = document.querySelector('.slide.active');
257
+ if (activeSlide) {
258
+ activeSlide.style.height = '100%';
259
+ }
260
+ });
261
+
262
+ console.log('Presentation ready');
263
+ });
264
+
265
+ // Export controller for debugging
266
+ window.PresentationController = PresentationController;
index.html CHANGED
@@ -1,19 +1,423 @@
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>Generative AI: The Future of Technology</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ </head>
9
+ <body>
10
+ <div class="presentation-container">
11
+ <!-- Navigation -->
12
+ <div class="navigation">
13
+ <button class="nav-btn" id="prevBtn" disabled>← Previous</button>
14
+ <div class="slide-counter">
15
+ <span id="currentSlide">1</span> / <span id="totalSlides">12</span>
16
+ </div>
17
+ <button class="nav-btn" id="nextBtn">Next →</button>
18
+ </div>
19
+
20
+ <!-- Slides Container -->
21
+ <div class="slides-container" id="slidesContainer">
22
+
23
+ <!-- Slide 1: Title -->
24
+ <div class="slide active" data-slide="1">
25
+ <div class="slide-content title-slide">
26
+ <h1 class="main-title">Generative AI</h1>
27
+ <h2 class="subtitle">The Future of Technology</h2>
28
+ <div class="title-stats">
29
+ <div class="stat-item">
30
+ <div class="stat-value">$669.5B</div>
31
+ <div class="stat-label">Market by 2032</div>
32
+ </div>
33
+ <div class="stat-item">
34
+ <div class="stat-value">33%</div>
35
+ <div class="stat-label">Annual Growth</div>
36
+ </div>
37
+ <div class="stat-item">
38
+ <div class="stat-value">71%</div>
39
+ <div class="stat-label">Business Adoption</div>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+
45
+ <!-- Slide 2: What is GenAI -->
46
+ <div class="slide" data-slide="2">
47
+ <div class="slide-content">
48
+ <h1>What is Generative AI?</h1>
49
+ <div class="content-grid">
50
+ <div class="definition-box">
51
+ <h3>Definition</h3>
52
+ <p>Generative AI is a type of artificial intelligence that can create new content including text, images, audio, video, and code by learning patterns from existing data.</p>
53
+ </div>
54
+ <div class="key-features">
55
+ <h3>Key Characteristics</h3>
56
+ <ul>
57
+ <li>Creates original content from prompts</li>
58
+ <li>Learns from vast datasets</li>
59
+ <li>Uses neural networks and deep learning</li>
60
+ <li>Produces human-like outputs</li>
61
+ <li>Continuously improves with more data</li>
62
+ </ul>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ </div>
67
+
68
+ <!-- Slide 3: Market Growth -->
69
+ <div class="slide" data-slide="3">
70
+ <div class="slide-content">
71
+ <h1>Explosive Market Growth</h1>
72
+ <div class="market-stats">
73
+ <div class="timeline">
74
+ <div class="timeline-item">
75
+ <div class="year">2024</div>
76
+ <div class="value">$25.86B</div>
77
+ <div class="growth">Current Market</div>
78
+ </div>
79
+ <div class="timeline-arrow">→</div>
80
+ <div class="timeline-item">
81
+ <div class="year">2025</div>
82
+ <div class="value">$90.90B</div>
83
+ <div class="growth">+251% Growth</div>
84
+ </div>
85
+ <div class="timeline-arrow">→</div>
86
+ <div class="timeline-item">
87
+ <div class="year">2032</div>
88
+ <div class="value">$669.50B</div>
89
+ <div class="growth">33% CAGR</div>
90
+ </div>
91
+ </div>
92
+ <div class="additional-stats">
93
+ <div class="stat-card">
94
+ <h3>AI Spending 2025</h3>
95
+ <div class="big-number">$644B</div>
96
+ </div>
97
+ <div class="stat-card">
98
+ <h3>Funding Growth</h3>
99
+ <div class="big-number">76.4%</div>
100
+ <p>Increase 2024-2025</p>
101
+ </div>
102
+ </div>
103
+ </div>
104
+ </div>
105
+ </div>
106
+
107
+ <!-- Slide 4: Key Technologies -->
108
+ <div class="slide" data-slide="4">
109
+ <div class="slide-content">
110
+ <h1>Core Technologies</h1>
111
+ <div class="tech-grid">
112
+ <div class="tech-card">
113
+ <h3>Transformers</h3>
114
+ <p>Core architecture enabling attention mechanisms for language understanding and generation</p>
115
+ </div>
116
+ <div class="tech-card">
117
+ <h3>GANs</h3>
118
+ <p>Generative Adversarial Networks for high-quality image and video generation</p>
119
+ </div>
120
+ <div class="tech-card">
121
+ <h3>VAEs</h3>
122
+ <p>Variational Autoencoders for data compression and generation tasks</p>
123
+ </div>
124
+ <div class="tech-card">
125
+ <h3>Diffusion Models</h3>
126
+ <p>Advanced models for creating high-quality images and videos from noise</p>
127
+ </div>
128
+ <div class="tech-card">
129
+ <h3>Multimodal Models</h3>
130
+ <p>Processing and generating text, image, audio, and video simultaneously</p>
131
+ </div>
132
+ </div>
133
+ </div>
134
+ </div>
135
+
136
+ <!-- Slide 5: Major Players -->
137
+ <div class="slide" data-slide="5">
138
+ <div class="slide-content">
139
+ <h1>Industry Leaders</h1>
140
+ <div class="companies-grid">
141
+ <div class="company-card">
142
+ <h3>OpenAI</h3>
143
+ <div class="products">ChatGPT • GPT-4 • DALL-E</div>
144
+ <p>Leading language models and multimodal AI</p>
145
+ </div>
146
+ <div class="company-card">
147
+ <h3>Google</h3>
148
+ <div class="products">Gemini • Bard • PaLM</div>
149
+ <p>Search integration and multimodal capabilities</p>
150
+ </div>
151
+ <div class="company-card">
152
+ <h3>Microsoft</h3>
153
+ <div class="products">Copilot • Azure AI</div>
154
+ <p>Enterprise integration and productivity tools</p>
155
+ </div>
156
+ <div class="company-card">
157
+ <h3>Anthropic</h3>
158
+ <div class="products">Claude</div>
159
+ <p>AI safety and advanced reasoning capabilities</p>
160
+ </div>
161
+ <div class="company-card">
162
+ <h3>Meta</h3>
163
+ <div class="products">Llama • ImageBind</div>
164
+ <p>Open source models and research</p>
165
+ </div>
166
+ </div>
167
+ </div>
168
+ </div>
169
+
170
+ <!-- Slide 6: Applications by Industry -->
171
+ <div class="slide" data-slide="6">
172
+ <div class="slide-content">
173
+ <h1>Applications Across Industries</h1>
174
+ <div class="applications-grid">
175
+ <div class="app-category">
176
+ <h3>📝 Text</h3>
177
+ <ul>
178
+ <li>Content creation</li>
179
+ <li>Translation</li>
180
+ <li>Chatbots</li>
181
+ <li>SEO optimization</li>
182
+ </ul>
183
+ </div>
184
+ <div class="app-category">
185
+ <h3>🎨 Visual</h3>
186
+ <ul>
187
+ <li>Art generation</li>
188
+ <li>Design automation</li>
189
+ <li>Product visualization</li>
190
+ <li>Marketing materials</li>
191
+ </ul>
192
+ </div>
193
+ <div class="app-category">
194
+ <h3>🎵 Audio</h3>
195
+ <ul>
196
+ <li>Music composition</li>
197
+ <li>Speech synthesis</li>
198
+ <li>Podcast generation</li>
199
+ <li>Voice assistants</li>
200
+ </ul>
201
+ </div>
202
+ <div class="app-category">
203
+ <h3>🎬 Video</h3>
204
+ <ul>
205
+ <li>Content creation</li>
206
+ <li>Marketing videos</li>
207
+ <li>Training materials</li>
208
+ <li>Animation</li>
209
+ </ul>
210
+ </div>
211
+ <div class="app-category">
212
+ <h3>💻 Code</h3>
213
+ <ul>
214
+ <li>Software development</li>
215
+ <li>Debugging assistance</li>
216
+ <li>Code completion</li>
217
+ <li>Documentation</li>
218
+ </ul>
219
+ </div>
220
+ <div class="app-category">
221
+ <h3>💼 Business</h3>
222
+ <ul>
223
+ <li>Fraud detection</li>
224
+ <li>Supply chain optimization</li>
225
+ <li>Customer service</li>
226
+ <li>Analytics</li>
227
+ </ul>
228
+ </div>
229
+ </div>
230
+ </div>
231
+ </div>
232
+
233
+ <!-- Slide 7: Real-World Use Cases -->
234
+ <div class="slide" data-slide="7">
235
+ <div class="slide-content">
236
+ <h1>Real-World Success Stories</h1>
237
+ <div class="use-cases">
238
+ <div class="use-case-card">
239
+ <h3>Content Marketing</h3>
240
+ <p>Companies using AI to generate blog posts, social media content, and marketing copy, reducing content creation time by 70%</p>
241
+ </div>
242
+ <div class="use-case-card">
243
+ <h3>Software Development</h3>
244
+ <p>Developers using AI coding assistants increase productivity by 35-50%, with faster debugging and code completion</p>
245
+ </div>
246
+ <div class="use-case-card">
247
+ <h3>Customer Support</h3>
248
+ <p>AI chatbots handling 80% of routine inquiries, reducing response times and improving customer satisfaction</p>
249
+ </div>
250
+ <div class="use-case-card">
251
+ <h3>Creative Industries</h3>
252
+ <p>Artists and designers using AI for concept art, prototyping, and creative exploration, accelerating the creative process</p>
253
+ </div>
254
+ </div>
255
+ </div>
256
+ </div>
257
+
258
+ <!-- Slide 8: Technical Architecture -->
259
+ <div class="slide" data-slide="8">
260
+ <div class="slide-content">
261
+ <h1>How GenAI Works</h1>
262
+ <div class="architecture-flow">
263
+ <div class="flow-step">
264
+ <div class="step-number">1</div>
265
+ <h3>Data Collection</h3>
266
+ <p>Massive datasets from internet, books, images, code repositories</p>
267
+ </div>
268
+ <div class="flow-arrow">↓</div>
269
+ <div class="flow-step">
270
+ <div class="step-number">2</div>
271
+ <h3>Training</h3>
272
+ <p>Neural networks learn patterns using transformers, GPUs, and advanced algorithms</p>
273
+ </div>
274
+ <div class="flow-arrow">↓</div>
275
+ <div class="flow-step">
276
+ <div class="step-number">3</div>
277
+ <h3>Fine-tuning</h3>
278
+ <p>Models refined for specific tasks through reinforcement learning and human feedback</p>
279
+ </div>
280
+ <div class="flow-arrow">↓</div>
281
+ <div class="flow-step">
282
+ <div class="step-number">4</div>
283
+ <h3>Generation</h3>
284
+ <p>AI produces new content based on learned patterns and user prompts</p>
285
+ </div>
286
+ </div>
287
+ </div>
288
+ </div>
289
+
290
+ <!-- Slide 9: Challenges & Limitations -->
291
+ <div class="slide" data-slide="9">
292
+ <div class="slide-content">
293
+ <h1>Challenges & Limitations</h1>
294
+ <div class="challenges-grid">
295
+ <div class="challenge-card">
296
+ <h3>⚡ Energy Consumption</h3>
297
+ <p>33x more energy than traditional software, raising sustainability concerns</p>
298
+ </div>
299
+ <div class="challenge-card">
300
+ <h3>⚖️ Algorithmic Bias</h3>
301
+ <p>Models can perpetuate biases from training data, affecting fairness</p>
302
+ </div>
303
+ <div class="challenge-card">
304
+ <h3>🎭 Hallucinations</h3>
305
+ <p>AI can generate convincing but false information, affecting reliability</p>
306
+ </div>
307
+ <div class="challenge-card">
308
+ <h3>📋 Regulatory Compliance</h3>
309
+ <p>Evolving regulations and ethical considerations around AI deployment</p>
310
+ </div>
311
+ <div class="challenge-card">
312
+ <h3>👥 Job Impact</h3>
313
+ <p>Concerns about automation displacing jobs while creating new opportunities</p>
314
+ </div>
315
+ <div class="challenge-card">
316
+ <h3>💰 Infrastructure Costs</h3>
317
+ <p>High computational requirements and infrastructure investments needed</p>
318
+ </div>
319
+ </div>
320
+ </div>
321
+ </div>
322
+
323
+ <!-- Slide 10: Future Trends -->
324
+ <div class="slide" data-slide="10">
325
+ <div class="slide-content">
326
+ <h1>Future Trends & Predictions</h1>
327
+ <div class="trends-container">
328
+ <div class="trend-item">
329
+ <h3>🧠 AGI Development</h3>
330
+ <p>Artificial General Intelligence potentially achievable by 2025-2030 according to industry experts</p>
331
+ </div>
332
+ <div class="trend-item">
333
+ <h3>🔄 Multimodal Standard</h3>
334
+ <p>AI systems processing text, image, audio, and video simultaneously becoming the norm</p>
335
+ </div>
336
+ <div class="trend-item">
337
+ <h3>📈 Enterprise Scaling</h3>
338
+ <p>Rapid adoption across enterprises with 20-50 million new jobs expected by 2030</p>
339
+ </div>
340
+ <div class="trend-item">
341
+ <h3>🌱 Energy Efficiency</h3>
342
+ <p>Focus on developing more energy-efficient AI models and sustainable computing</p>
343
+ </div>
344
+ <div class="trend-item">
345
+ <h3>🏛️ Increased Regulation</h3>
346
+ <p>EU AI Act and US regulations shaping responsible AI development and deployment</p>
347
+ </div>
348
+ </div>
349
+ </div>
350
+ </div>
351
+
352
+ <!-- Slide 11: Regulation & Ethics -->
353
+ <div class="slide" data-slide="11">
354
+ <div class="slide-content">
355
+ <h1>Regulation & Ethics</h1>
356
+ <div class="regulation-content">
357
+ <div class="policy-landscape">
358
+ <h3>Current Policy Landscape</h3>
359
+ <div class="policy-items">
360
+ <div class="policy-item">
361
+ <strong>EU AI Act</strong>
362
+ <p>Comprehensive regulation categorizing AI systems by risk levels</p>
363
+ </div>
364
+ <div class="policy-item">
365
+ <strong>US Executive Orders</strong>
366
+ <p>Federal guidelines for AI development and deployment standards</p>
367
+ </div>
368
+ <div class="policy-item">
369
+ <strong>Industry Standards</strong>
370
+ <p>Self-regulation initiatives and ethical AI principles</p>
371
+ </div>
372
+ </div>
373
+ </div>
374
+ <div class="ethical-considerations">
375
+ <h3>Key Ethical Considerations</h3>
376
+ <ul>
377
+ <li>Transparency and explainability</li>
378
+ <li>Privacy and data protection</li>
379
+ <li>Fairness and non-discrimination</li>
380
+ <li>Human oversight and control</li>
381
+ <li>Environmental impact</li>
382
+ <li>Intellectual property rights</li>
383
+ </ul>
384
+ </div>
385
+ </div>
386
+ </div>
387
+ </div>
388
+
389
+ <!-- Slide 12: Conclusion -->
390
+ <div class="slide" data-slide="12">
391
+ <div class="slide-content conclusion-slide">
392
+ <h1>Key Takeaways</h1>
393
+ <div class="takeaways-grid">
394
+ <div class="takeaway-card">
395
+ <h3>🚀 Unprecedented Growth</h3>
396
+ <p>GenAI market expanding from $25.86B to $669.5B by 2032 with 33% annual growth</p>
397
+ </div>
398
+ <div class="takeaway-card">
399
+ <h3>🏢 Business Transformation</h3>
400
+ <p>71% of organizations already adopting GenAI for competitive advantage</p>
401
+ </div>
402
+ <div class="takeaway-card">
403
+ <h3>🌐 Universal Impact</h3>
404
+ <p>Applications spanning every industry from content creation to scientific research</p>
405
+ </div>
406
+ <div class="takeaway-card">
407
+ <h3>⚡ Responsible Innovation</h3>
408
+ <p>Balancing rapid advancement with ethical considerations and regulatory compliance</p>
409
+ </div>
410
+ </div>
411
+ <div class="conclusion-message">
412
+ <h2>The Future is Now</h2>
413
+ <p>Generative AI is not just a technological trend—it's a fundamental shift in how we create, work, and innovate. Organizations that embrace GenAI responsibly today will lead tomorrow's digital economy.</p>
414
+ </div>
415
+ </div>
416
+ </div>
417
+
418
+ </div>
419
+ </div>
420
+
421
+ <script src="app.js"></script>
422
+ </body>
423
+ </html>
style.css CHANGED
@@ -1,28 +1,1331 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  }
5
 
6
  h1 {
7
- font-size: 16px;
8
- margin-top: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  }
10
 
11
  p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  }
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
 
 
 
 
 
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ :root {
3
+ /* Colors */
4
+ --color-background: rgba(252, 252, 249, 1);
5
+ --color-surface: rgba(255, 255, 253, 1);
6
+ --color-text: rgba(19, 52, 59, 1);
7
+ --color-text-secondary: rgba(98, 108, 113, 1);
8
+ --color-primary: rgba(33, 128, 141, 1);
9
+ --color-primary-hover: rgba(29, 116, 128, 1);
10
+ --color-primary-active: rgba(26, 104, 115, 1);
11
+ --color-secondary: rgba(94, 82, 64, 0.12);
12
+ --color-secondary-hover: rgba(94, 82, 64, 0.2);
13
+ --color-secondary-active: rgba(94, 82, 64, 0.25);
14
+ --color-border: rgba(94, 82, 64, 0.2);
15
+ --color-btn-primary-text: rgba(252, 252, 249, 1);
16
+ --color-card-border: rgba(94, 82, 64, 0.12);
17
+ --color-card-border-inner: rgba(94, 82, 64, 0.12);
18
+ --color-error: rgba(192, 21, 47, 1);
19
+ --color-success: rgba(33, 128, 141, 1);
20
+ --color-warning: rgba(168, 75, 47, 1);
21
+ --color-info: rgba(98, 108, 113, 1);
22
+ --color-focus-ring: rgba(33, 128, 141, 0.4);
23
+ --color-select-caret: rgba(19, 52, 59, 0.8);
24
+
25
+ /* Common style patterns */
26
+ --focus-ring: 0 0 0 3px var(--color-focus-ring);
27
+ --focus-outline: 2px solid var(--color-primary);
28
+ --status-bg-opacity: 0.15;
29
+ --status-border-opacity: 0.25;
30
+ --select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
31
+ --select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
32
+
33
+ /* RGB versions for opacity control */
34
+ --color-success-rgb: 33, 128, 141;
35
+ --color-error-rgb: 192, 21, 47;
36
+ --color-warning-rgb: 168, 75, 47;
37
+ --color-info-rgb: 98, 108, 113;
38
+
39
+ /* Typography */
40
+ --font-family-base: "FKGroteskNeue", "Geist", "Inter", -apple-system,
41
+ BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
42
+ --font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo,
43
+ Monaco, Consolas, monospace;
44
+ --font-size-xs: 11px;
45
+ --font-size-sm: 12px;
46
+ --font-size-base: 14px;
47
+ --font-size-md: 14px;
48
+ --font-size-lg: 16px;
49
+ --font-size-xl: 18px;
50
+ --font-size-2xl: 20px;
51
+ --font-size-3xl: 24px;
52
+ --font-size-4xl: 30px;
53
+ --font-weight-normal: 400;
54
+ --font-weight-medium: 500;
55
+ --font-weight-semibold: 550;
56
+ --font-weight-bold: 600;
57
+ --line-height-tight: 1.2;
58
+ --line-height-normal: 1.5;
59
+ --letter-spacing-tight: -0.01em;
60
+
61
+ /* Spacing */
62
+ --space-0: 0;
63
+ --space-1: 1px;
64
+ --space-2: 2px;
65
+ --space-4: 4px;
66
+ --space-6: 6px;
67
+ --space-8: 8px;
68
+ --space-10: 10px;
69
+ --space-12: 12px;
70
+ --space-16: 16px;
71
+ --space-20: 20px;
72
+ --space-24: 24px;
73
+ --space-32: 32px;
74
+
75
+ /* Border Radius */
76
+ --radius-sm: 6px;
77
+ --radius-base: 8px;
78
+ --radius-md: 10px;
79
+ --radius-lg: 12px;
80
+ --radius-full: 9999px;
81
+
82
+ /* Shadows */
83
+ --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.02);
84
+ --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
85
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.04),
86
+ 0 2px 4px -1px rgba(0, 0, 0, 0.02);
87
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.04),
88
+ 0 4px 6px -2px rgba(0, 0, 0, 0.02);
89
+ --shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, 0.15),
90
+ inset 0 -1px 0 rgba(0, 0, 0, 0.03);
91
+
92
+ /* Animation */
93
+ --duration-fast: 150ms;
94
+ --duration-normal: 250ms;
95
+ --ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
96
+
97
+ /* Layout */
98
+ --container-sm: 640px;
99
+ --container-md: 768px;
100
+ --container-lg: 1024px;
101
+ --container-xl: 1280px;
102
+ }
103
+
104
+ /* Dark mode colors */
105
+ @media (prefers-color-scheme: dark) {
106
+ :root {
107
+ --color-background: rgba(31, 33, 33, 1);
108
+ --color-surface: rgba(38, 40, 40, 1);
109
+ --color-text: rgba(245, 245, 245, 1);
110
+ --color-text-secondary: rgba(167, 169, 169, 0.7);
111
+ --color-primary: rgba(50, 184, 198, 1);
112
+ --color-primary-hover: rgba(45, 166, 178, 1);
113
+ --color-primary-active: rgba(41, 150, 161, 1);
114
+ --color-secondary: rgba(119, 124, 124, 0.15);
115
+ --color-secondary-hover: rgba(119, 124, 124, 0.25);
116
+ --color-secondary-active: rgba(119, 124, 124, 0.3);
117
+ --color-border: rgba(119, 124, 124, 0.3);
118
+ --color-error: rgba(255, 84, 89, 1);
119
+ --color-success: rgba(50, 184, 198, 1);
120
+ --color-warning: rgba(230, 129, 97, 1);
121
+ --color-info: rgba(167, 169, 169, 1);
122
+ --color-focus-ring: rgba(50, 184, 198, 0.4);
123
+ --color-btn-primary-text: rgba(19, 52, 59, 1);
124
+ --color-card-border: rgba(119, 124, 124, 0.2);
125
+ --color-card-border-inner: rgba(119, 124, 124, 0.15);
126
+ --shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, 0.1),
127
+ inset 0 -1px 0 rgba(0, 0, 0, 0.15);
128
+ --button-border-secondary: rgba(119, 124, 124, 0.2);
129
+ --color-border-secondary: rgba(119, 124, 124, 0.2);
130
+ --color-select-caret: rgba(245, 245, 245, 0.8);
131
+
132
+ /* Common style patterns - updated for dark mode */
133
+ --focus-ring: 0 0 0 3px var(--color-focus-ring);
134
+ --focus-outline: 2px solid var(--color-primary);
135
+ --status-bg-opacity: 0.15;
136
+ --status-border-opacity: 0.25;
137
+ --select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
138
+ --select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
139
+
140
+ /* RGB versions for dark mode */
141
+ --color-success-rgb: 50, 184, 198;
142
+ --color-error-rgb: 255, 84, 89;
143
+ --color-warning-rgb: 230, 129, 97;
144
+ --color-info-rgb: 167, 169, 169;
145
+ }
146
+ }
147
+
148
+ /* Data attribute for manual theme switching */
149
+ [data-color-scheme="dark"] {
150
+ --color-background: rgba(31, 33, 33, 1);
151
+ --color-surface: rgba(38, 40, 40, 1);
152
+ --color-text: rgba(245, 245, 245, 1);
153
+ --color-text-secondary: rgba(167, 169, 169, 0.7);
154
+ --color-primary: rgba(50, 184, 198, 1);
155
+ --color-primary-hover: rgba(45, 166, 178, 1);
156
+ --color-primary-active: rgba(41, 150, 161, 1);
157
+ --color-secondary: rgba(119, 124, 124, 0.15);
158
+ --color-secondary-hover: rgba(119, 124, 124, 0.25);
159
+ --color-secondary-active: rgba(119, 124, 124, 0.3);
160
+ --color-border: rgba(119, 124, 124, 0.3);
161
+ --color-error: rgba(255, 84, 89, 1);
162
+ --color-success: rgba(50, 184, 198, 1);
163
+ --color-warning: rgba(230, 129, 97, 1);
164
+ --color-info: rgba(167, 169, 169, 1);
165
+ --color-focus-ring: rgba(50, 184, 198, 0.4);
166
+ --color-btn-primary-text: rgba(19, 52, 59, 1);
167
+ --color-card-border: rgba(119, 124, 124, 0.15);
168
+ --color-card-border-inner: rgba(119, 124, 124, 0.15);
169
+ --shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, 0.1),
170
+ inset 0 -1px 0 rgba(0, 0, 0, 0.15);
171
+ --color-border-secondary: rgba(119, 124, 124, 0.2);
172
+ --color-select-caret: rgba(245, 245, 245, 0.8);
173
+
174
+ /* Common style patterns - updated for dark mode */
175
+ --focus-ring: 0 0 0 3px var(--color-focus-ring);
176
+ --focus-outline: 2px solid var(--color-primary);
177
+ --status-bg-opacity: 0.15;
178
+ --status-border-opacity: 0.25;
179
+ --select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
180
+ --select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
181
+
182
+ /* RGB versions for dark mode */
183
+ --color-success-rgb: 50, 184, 198;
184
+ --color-error-rgb: 255, 84, 89;
185
+ --color-warning-rgb: 230, 129, 97;
186
+ --color-info-rgb: 167, 169, 169;
187
+ }
188
+
189
+ [data-color-scheme="light"] {
190
+ --color-background: rgba(252, 252, 249, 1);
191
+ --color-surface: rgba(255, 255, 253, 1);
192
+ --color-text: rgba(19, 52, 59, 1);
193
+ --color-text-secondary: rgba(98, 108, 113, 1);
194
+ --color-primary: rgba(33, 128, 141, 1);
195
+ --color-primary-hover: rgba(29, 116, 128, 1);
196
+ --color-primary-active: rgba(26, 104, 115, 1);
197
+ --color-secondary: rgba(94, 82, 64, 0.12);
198
+ --color-secondary-hover: rgba(94, 82, 64, 0.2);
199
+ --color-secondary-active: rgba(94, 82, 64, 0.25);
200
+ --color-border: rgba(94, 82, 64, 0.2);
201
+ --color-btn-primary-text: rgba(252, 252, 249, 1);
202
+ --color-card-border: rgba(94, 82, 64, 0.12);
203
+ --color-card-border-inner: rgba(94, 82, 64, 0.12);
204
+ --color-error: rgba(192, 21, 47, 1);
205
+ --color-success: rgba(33, 128, 141, 1);
206
+ --color-warning: rgba(168, 75, 47, 1);
207
+ --color-info: rgba(98, 108, 113, 1);
208
+ --color-focus-ring: rgba(33, 128, 141, 0.4);
209
+
210
+ /* RGB versions for light mode */
211
+ --color-success-rgb: 33, 128, 141;
212
+ --color-error-rgb: 192, 21, 47;
213
+ --color-warning-rgb: 168, 75, 47;
214
+ --color-info-rgb: 98, 108, 113;
215
+ }
216
+
217
+ /* Base styles */
218
+ html {
219
+ font-size: var(--font-size-base);
220
+ font-family: var(--font-family-base);
221
+ line-height: var(--line-height-normal);
222
+ color: var(--color-text);
223
+ background-color: var(--color-background);
224
+ -webkit-font-smoothing: antialiased;
225
+ box-sizing: border-box;
226
+ }
227
+
228
  body {
229
+ margin: 0;
230
+ padding: 0;
231
+ }
232
+
233
+ *,
234
+ *::before,
235
+ *::after {
236
+ box-sizing: inherit;
237
+ }
238
+
239
+ /* Typography */
240
+ h1,
241
+ h2,
242
+ h3,
243
+ h4,
244
+ h5,
245
+ h6 {
246
+ margin: 0;
247
+ font-weight: var(--font-weight-semibold);
248
+ line-height: var(--line-height-tight);
249
+ color: var(--color-text);
250
+ letter-spacing: var(--letter-spacing-tight);
251
  }
252
 
253
  h1 {
254
+ font-size: var(--font-size-4xl);
255
+ }
256
+ h2 {
257
+ font-size: var(--font-size-3xl);
258
+ }
259
+ h3 {
260
+ font-size: var(--font-size-2xl);
261
+ }
262
+ h4 {
263
+ font-size: var(--font-size-xl);
264
+ }
265
+ h5 {
266
+ font-size: var(--font-size-lg);
267
+ }
268
+ h6 {
269
+ font-size: var(--font-size-md);
270
  }
271
 
272
  p {
273
+ margin: 0 0 var(--space-16) 0;
274
+ }
275
+
276
+ a {
277
+ color: var(--color-primary);
278
+ text-decoration: none;
279
+ transition: color var(--duration-fast) var(--ease-standard);
280
+ }
281
+
282
+ a:hover {
283
+ color: var(--color-primary-hover);
284
+ }
285
+
286
+ code,
287
+ pre {
288
+ font-family: var(--font-family-mono);
289
+ font-size: calc(var(--font-size-base) * 0.95);
290
+ background-color: var(--color-secondary);
291
+ border-radius: var(--radius-sm);
292
  }
293
 
294
+ code {
295
+ padding: var(--space-1) var(--space-4);
296
+ }
297
+
298
+ pre {
299
+ padding: var(--space-16);
300
+ margin: var(--space-16) 0;
301
+ overflow: auto;
302
+ border: 1px solid var(--color-border);
303
+ }
304
+
305
+ pre code {
306
+ background: none;
307
+ padding: 0;
308
+ }
309
+
310
+ /* Buttons */
311
+ .btn {
312
+ display: inline-flex;
313
+ align-items: center;
314
+ justify-content: center;
315
+ padding: var(--space-8) var(--space-16);
316
+ border-radius: var(--radius-base);
317
+ font-size: var(--font-size-base);
318
+ font-weight: 500;
319
+ line-height: 1.5;
320
+ cursor: pointer;
321
+ transition: all var(--duration-normal) var(--ease-standard);
322
+ border: none;
323
+ text-decoration: none;
324
+ position: relative;
325
+ }
326
+
327
+ .btn:focus-visible {
328
+ outline: none;
329
+ box-shadow: var(--focus-ring);
330
+ }
331
+
332
+ .btn--primary {
333
+ background: var(--color-primary);
334
+ color: var(--color-btn-primary-text);
335
+ }
336
+
337
+ .btn--primary:hover {
338
+ background: var(--color-primary-hover);
339
+ }
340
+
341
+ .btn--primary:active {
342
+ background: var(--color-primary-active);
343
+ }
344
+
345
+ .btn--secondary {
346
+ background: var(--color-secondary);
347
+ color: var(--color-text);
348
+ }
349
+
350
+ .btn--secondary:hover {
351
+ background: var(--color-secondary-hover);
352
+ }
353
+
354
+ .btn--secondary:active {
355
+ background: var(--color-secondary-active);
356
+ }
357
+
358
+ .btn--outline {
359
+ background: transparent;
360
+ border: 1px solid var(--color-border);
361
+ color: var(--color-text);
362
+ }
363
+
364
+ .btn--outline:hover {
365
+ background: var(--color-secondary);
366
+ }
367
+
368
+ .btn--sm {
369
+ padding: var(--space-4) var(--space-12);
370
+ font-size: var(--font-size-sm);
371
+ border-radius: var(--radius-sm);
372
+ }
373
+
374
+ .btn--lg {
375
+ padding: var(--space-10) var(--space-20);
376
+ font-size: var(--font-size-lg);
377
+ border-radius: var(--radius-md);
378
+ }
379
+
380
+ .btn--full-width {
381
+ width: 100%;
382
+ }
383
+
384
+ .btn:disabled {
385
+ opacity: 0.5;
386
+ cursor: not-allowed;
387
+ }
388
+
389
+ /* Form elements */
390
+ .form-control {
391
+ display: block;
392
+ width: 100%;
393
+ padding: var(--space-8) var(--space-12);
394
+ font-size: var(--font-size-md);
395
+ line-height: 1.5;
396
+ color: var(--color-text);
397
+ background-color: var(--color-surface);
398
+ border: 1px solid var(--color-border);
399
+ border-radius: var(--radius-base);
400
+ transition: border-color var(--duration-fast) var(--ease-standard),
401
+ box-shadow var(--duration-fast) var(--ease-standard);
402
+ }
403
+
404
+ textarea.form-control {
405
+ font-family: var(--font-family-base);
406
+ font-size: var(--font-size-base);
407
+ }
408
+
409
+ select.form-control {
410
+ padding: var(--space-8) var(--space-12);
411
+ -webkit-appearance: none;
412
+ -moz-appearance: none;
413
+ appearance: none;
414
+ background-image: var(--select-caret-light);
415
+ background-repeat: no-repeat;
416
+ background-position: right var(--space-12) center;
417
+ background-size: 16px;
418
+ padding-right: var(--space-32);
419
+ }
420
+
421
+ /* Add a dark mode specific caret */
422
+ @media (prefers-color-scheme: dark) {
423
+ select.form-control {
424
+ background-image: var(--select-caret-dark);
425
+ }
426
+ }
427
+
428
+ /* Also handle data-color-scheme */
429
+ [data-color-scheme="dark"] select.form-control {
430
+ background-image: var(--select-caret-dark);
431
+ }
432
+
433
+ [data-color-scheme="light"] select.form-control {
434
+ background-image: var(--select-caret-light);
435
+ }
436
+
437
+ .form-control:focus {
438
+ border-color: var(--color-primary);
439
+ outline: var(--focus-outline);
440
+ }
441
+
442
+ .form-label {
443
+ display: block;
444
+ margin-bottom: var(--space-8);
445
+ font-weight: var(--font-weight-medium);
446
+ font-size: var(--font-size-sm);
447
+ }
448
+
449
+ .form-group {
450
+ margin-bottom: var(--space-16);
451
+ }
452
+
453
+ /* Card component */
454
  .card {
455
+ background-color: var(--color-surface);
456
+ border-radius: var(--radius-lg);
457
+ border: 1px solid var(--color-card-border);
458
+ box-shadow: var(--shadow-sm);
459
+ overflow: hidden;
460
+ transition: box-shadow var(--duration-normal) var(--ease-standard);
461
+ }
462
+
463
+ .card:hover {
464
+ box-shadow: var(--shadow-md);
465
  }
466
 
467
+ .card__body {
468
+ padding: var(--space-16);
469
+ }
470
+
471
+ .card__header,
472
+ .card__footer {
473
+ padding: var(--space-16);
474
+ border-bottom: 1px solid var(--color-card-border-inner);
475
+ }
476
+
477
+ /* Status indicators - simplified with CSS variables */
478
+ .status {
479
+ display: inline-flex;
480
+ align-items: center;
481
+ padding: var(--space-6) var(--space-12);
482
+ border-radius: var(--radius-full);
483
+ font-weight: var(--font-weight-medium);
484
+ font-size: var(--font-size-sm);
485
+ }
486
+
487
+ .status--success {
488
+ background-color: rgba(
489
+ var(--color-success-rgb, 33, 128, 141),
490
+ var(--status-bg-opacity)
491
+ );
492
+ color: var(--color-success);
493
+ border: 1px solid
494
+ rgba(var(--color-success-rgb, 33, 128, 141), var(--status-border-opacity));
495
+ }
496
+
497
+ .status--error {
498
+ background-color: rgba(
499
+ var(--color-error-rgb, 192, 21, 47),
500
+ var(--status-bg-opacity)
501
+ );
502
+ color: var(--color-error);
503
+ border: 1px solid
504
+ rgba(var(--color-error-rgb, 192, 21, 47), var(--status-border-opacity));
505
+ }
506
+
507
+ .status--warning {
508
+ background-color: rgba(
509
+ var(--color-warning-rgb, 168, 75, 47),
510
+ var(--status-bg-opacity)
511
+ );
512
+ color: var(--color-warning);
513
+ border: 1px solid
514
+ rgba(var(--color-warning-rgb, 168, 75, 47), var(--status-border-opacity));
515
+ }
516
+
517
+ .status--info {
518
+ background-color: rgba(
519
+ var(--color-info-rgb, 98, 108, 113),
520
+ var(--status-bg-opacity)
521
+ );
522
+ color: var(--color-info);
523
+ border: 1px solid
524
+ rgba(var(--color-info-rgb, 98, 108, 113), var(--status-border-opacity));
525
+ }
526
+
527
+ /* Container layout */
528
+ .container {
529
+ width: 100%;
530
+ margin-right: auto;
531
+ margin-left: auto;
532
+ padding-right: var(--space-16);
533
+ padding-left: var(--space-16);
534
+ }
535
+
536
+ @media (min-width: 640px) {
537
+ .container {
538
+ max-width: var(--container-sm);
539
+ }
540
+ }
541
+ @media (min-width: 768px) {
542
+ .container {
543
+ max-width: var(--container-md);
544
+ }
545
+ }
546
+ @media (min-width: 1024px) {
547
+ .container {
548
+ max-width: var(--container-lg);
549
+ }
550
+ }
551
+ @media (min-width: 1280px) {
552
+ .container {
553
+ max-width: var(--container-xl);
554
+ }
555
+ }
556
+
557
+ /* Utility classes */
558
+ .flex {
559
+ display: flex;
560
+ }
561
+ .flex-col {
562
+ flex-direction: column;
563
+ }
564
+ .items-center {
565
+ align-items: center;
566
+ }
567
+ .justify-center {
568
+ justify-content: center;
569
  }
570
+ .justify-between {
571
+ justify-content: space-between;
572
+ }
573
+ .gap-4 {
574
+ gap: var(--space-4);
575
+ }
576
+ .gap-8 {
577
+ gap: var(--space-8);
578
+ }
579
+ .gap-16 {
580
+ gap: var(--space-16);
581
+ }
582
+
583
+ .m-0 {
584
+ margin: 0;
585
+ }
586
+ .mt-8 {
587
+ margin-top: var(--space-8);
588
+ }
589
+ .mb-8 {
590
+ margin-bottom: var(--space-8);
591
+ }
592
+ .mx-8 {
593
+ margin-left: var(--space-8);
594
+ margin-right: var(--space-8);
595
+ }
596
+ .my-8 {
597
+ margin-top: var(--space-8);
598
+ margin-bottom: var(--space-8);
599
+ }
600
+
601
+ .p-0 {
602
+ padding: 0;
603
+ }
604
+ .py-8 {
605
+ padding-top: var(--space-8);
606
+ padding-bottom: var(--space-8);
607
+ }
608
+ .px-8 {
609
+ padding-left: var(--space-8);
610
+ padding-right: var(--space-8);
611
+ }
612
+ .py-16 {
613
+ padding-top: var(--space-16);
614
+ padding-bottom: var(--space-16);
615
+ }
616
+ .px-16 {
617
+ padding-left: var(--space-16);
618
+ padding-right: var(--space-16);
619
+ }
620
+
621
+ .block {
622
+ display: block;
623
+ }
624
+ .hidden {
625
+ display: none;
626
+ }
627
+
628
+ /* Accessibility */
629
+ .sr-only {
630
+ position: absolute;
631
+ width: 1px;
632
+ height: 1px;
633
+ padding: 0;
634
+ margin: -1px;
635
+ overflow: hidden;
636
+ clip: rect(0, 0, 0, 0);
637
+ white-space: nowrap;
638
+ border-width: 0;
639
+ }
640
+
641
+ :focus-visible {
642
+ outline: var(--focus-outline);
643
+ outline-offset: 2px;
644
+ }
645
+
646
+ /* Dark mode specifics */
647
+ [data-color-scheme="dark"] .btn--outline {
648
+ border: 1px solid var(--color-border-secondary);
649
+ }
650
+
651
+ @font-face {
652
+ font-family: 'FKGroteskNeue';
653
+ src: url('https://www.perplexity.ai/fonts/FKGroteskNeue.woff2')
654
+ format('woff2');
655
+ }
656
+
657
+ /* Presentation-specific styles */
658
+ .presentation-container {
659
+ width: 100vw;
660
+ height: 100vh;
661
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
662
+ display: flex;
663
+ flex-direction: column;
664
+ overflow: hidden;
665
+ position: fixed;
666
+ top: 0;
667
+ left: 0;
668
+ }
669
+
670
+ .navigation {
671
+ display: flex;
672
+ justify-content: space-between;
673
+ align-items: center;
674
+ padding: var(--space-16) var(--space-24);
675
+ background: rgba(255, 255, 255, 0.1);
676
+ backdrop-filter: blur(10px);
677
+ border-bottom: 1px solid rgba(255, 255, 255, 0.2);
678
+ z-index: 100;
679
+ position: relative;
680
+ height: 70px;
681
+ flex-shrink: 0;
682
+ }
683
+
684
+ .nav-btn {
685
+ background: var(--color-primary);
686
+ color: var(--color-btn-primary-text);
687
+ border: none;
688
+ padding: var(--space-10) var(--space-20);
689
+ border-radius: var(--radius-base);
690
+ font-weight: var(--font-weight-medium);
691
+ cursor: pointer;
692
+ transition: all var(--duration-normal) var(--ease-standard);
693
+ font-size: var(--font-size-base);
694
+ min-width: 100px;
695
+ }
696
+
697
+ .nav-btn:hover:not(:disabled) {
698
+ background: var(--color-primary-hover);
699
+ transform: translateY(-1px);
700
+ }
701
+
702
+ .nav-btn:disabled {
703
+ background: rgba(255, 255, 255, 0.3);
704
+ cursor: not-allowed;
705
+ transform: none;
706
+ }
707
+
708
+ .slide-counter {
709
+ background: rgba(255, 255, 255, 0.2);
710
+ padding: var(--space-8) var(--space-16);
711
+ border-radius: var(--radius-full);
712
+ color: white;
713
+ font-weight: var(--font-weight-medium);
714
+ font-size: var(--font-size-sm);
715
+ min-width: 80px;
716
+ text-align: center;
717
+ }
718
+
719
+ .slides-container {
720
+ flex: 1;
721
+ position: relative;
722
+ overflow: hidden;
723
+ height: calc(100vh - 70px);
724
+ }
725
+
726
+ .slide {
727
+ position: absolute;
728
+ top: 0;
729
+ left: 0;
730
+ width: 100%;
731
+ height: 100%;
732
+ opacity: 0;
733
+ visibility: hidden;
734
+ transform: translateX(50px);
735
+ transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out, visibility 0.4s ease-in-out;
736
+ padding: var(--space-32);
737
+ display: flex;
738
+ align-items: center;
739
+ justify-content: center;
740
+ z-index: 1;
741
+ box-sizing: border-box;
742
+ }
743
+
744
+ .slide.active {
745
+ opacity: 1;
746
+ visibility: visible;
747
+ transform: translateX(0);
748
+ z-index: 10;
749
+ }
750
+
751
+ .slide.exiting {
752
+ opacity: 0;
753
+ transform: translateX(-50px);
754
+ z-index: 1;
755
+ }
756
+
757
+ .slide-content {
758
+ max-width: 1200px;
759
+ width: 100%;
760
+ color: white;
761
+ text-align: center;
762
+ position: relative;
763
+ z-index: 1;
764
+ }
765
+
766
+ .slide-content h1 {
767
+ font-size: var(--font-size-4xl);
768
+ margin-bottom: var(--space-32);
769
+ color: white;
770
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
771
+ }
772
+
773
+ .slide-content h2 {
774
+ font-size: var(--font-size-3xl);
775
+ color: white;
776
+ margin-bottom: var(--space-24);
777
+ }
778
+
779
+ .slide-content h3 {
780
+ font-size: var(--font-size-xl);
781
+ color: white;
782
+ margin-bottom: var(--space-16);
783
+ }
784
+
785
+ .slide-content p {
786
+ font-size: var(--font-size-lg);
787
+ line-height: var(--line-height-normal);
788
+ color: rgba(255, 255, 255, 0.9);
789
+ margin-bottom: var(--space-16);
790
+ }
791
+
792
+ /* Progress bar */
793
+ .progress-bar {
794
+ position: fixed;
795
+ top: 0;
796
+ left: 0;
797
+ width: 100%;
798
+ height: 3px;
799
+ background: rgba(255, 255, 255, 0.2);
800
+ z-index: 1000;
801
+ }
802
+
803
+ .progress-fill {
804
+ height: 100%;
805
+ background: linear-gradient(90deg, #32b8c6, #667eea);
806
+ transition: width 0.4s ease-in-out;
807
+ width: 8.33%;
808
+ }
809
+
810
+ /* Title Slide Styles */
811
+ .title-slide {
812
+ text-align: center;
813
+ }
814
+
815
+ .main-title {
816
+ font-size: 4rem;
817
+ font-weight: var(--font-weight-bold);
818
+ margin-bottom: var(--space-16);
819
+ background: linear-gradient(45deg, #fff, #32b8c6);
820
+ -webkit-background-clip: text;
821
+ -webkit-text-fill-color: transparent;
822
+ background-clip: text;
823
+ }
824
+
825
+ .subtitle {
826
+ font-size: var(--font-size-3xl);
827
+ font-weight: var(--font-weight-normal);
828
+ color: rgba(255, 255, 255, 0.8);
829
+ margin-bottom: var(--space-32);
830
+ }
831
+
832
+ .title-stats {
833
+ display: flex;
834
+ justify-content: center;
835
+ gap: var(--space-32);
836
+ margin-top: var(--space-32);
837
+ }
838
+
839
+ .stat-item {
840
+ text-align: center;
841
+ background: rgba(255, 255, 255, 0.1);
842
+ padding: var(--space-24);
843
+ border-radius: var(--radius-lg);
844
+ backdrop-filter: blur(10px);
845
+ border: 1px solid rgba(255, 255, 255, 0.2);
846
+ min-width: 150px;
847
+ }
848
+
849
+ .stat-value {
850
+ font-size: var(--font-size-3xl);
851
+ font-weight: var(--font-weight-bold);
852
+ color: #32b8c6;
853
+ margin-bottom: var(--space-8);
854
+ }
855
+
856
+ .stat-label {
857
+ font-size: var(--font-size-sm);
858
+ color: rgba(255, 255, 255, 0.8);
859
+ text-transform: uppercase;
860
+ letter-spacing: 0.05em;
861
+ }
862
+
863
+ /* Content Grid Layouts */
864
+ .content-grid {
865
+ display: grid;
866
+ grid-template-columns: 1fr 1fr;
867
+ gap: var(--space-32);
868
+ margin-top: var(--space-24);
869
+ }
870
+
871
+ .definition-box,
872
+ .key-features {
873
+ background: rgba(255, 255, 255, 0.1);
874
+ padding: var(--space-24);
875
+ border-radius: var(--radius-lg);
876
+ backdrop-filter: blur(10px);
877
+ border: 1px solid rgba(255, 255, 255, 0.2);
878
+ text-align: left;
879
+ }
880
+
881
+ .key-features ul {
882
+ list-style: none;
883
+ padding: 0;
884
+ margin: 0;
885
+ }
886
+
887
+ .key-features li {
888
+ padding: var(--space-8) 0;
889
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
890
+ }
891
+
892
+ .key-features li:last-child {
893
+ border-bottom: none;
894
+ }
895
+
896
+ .key-features li:before {
897
+ content: "✓ ";
898
+ color: #32b8c6;
899
+ font-weight: bold;
900
+ margin-right: var(--space-8);
901
+ }
902
+
903
+ /* Market Growth Styles */
904
+ .market-stats {
905
+ margin-top: var(--space-24);
906
+ }
907
+
908
+ .timeline {
909
+ display: flex;
910
+ justify-content: center;
911
+ align-items: center;
912
+ gap: var(--space-24);
913
+ margin-bottom: var(--space-32);
914
+ }
915
+
916
+ .timeline-item {
917
+ background: rgba(255, 255, 255, 0.1);
918
+ padding: var(--space-24);
919
+ border-radius: var(--radius-lg);
920
+ backdrop-filter: blur(10px);
921
+ border: 1px solid rgba(255, 255, 255, 0.2);
922
+ text-align: center;
923
+ min-width: 200px;
924
+ flex-shrink: 0;
925
+ }
926
+
927
+ .timeline-item .year {
928
+ font-size: var(--font-size-lg);
929
+ color: #32b8c6;
930
+ font-weight: var(--font-weight-bold);
931
+ }
932
+
933
+ .timeline-item .value {
934
+ font-size: var(--font-size-3xl);
935
+ font-weight: var(--font-weight-bold);
936
+ margin: var(--space-8) 0;
937
+ }
938
+
939
+ .timeline-item .growth {
940
+ font-size: var(--font-size-sm);
941
+ color: rgba(255, 255, 255, 0.8);
942
+ }
943
+
944
+ .timeline-arrow {
945
+ font-size: var(--font-size-3xl);
946
+ color: #32b8c6;
947
+ font-weight: bold;
948
+ flex-shrink: 0;
949
+ }
950
+
951
+ .additional-stats {
952
+ display: flex;
953
+ justify-content: center;
954
+ gap: var(--space-32);
955
+ }
956
+
957
+ .stat-card {
958
+ background: rgba(255, 255, 255, 0.1);
959
+ padding: var(--space-24);
960
+ border-radius: var(--radius-lg);
961
+ backdrop-filter: blur(10px);
962
+ border: 1px solid rgba(255, 255, 255, 0.2);
963
+ text-align: center;
964
+ min-width: 200px;
965
+ }
966
+
967
+ .big-number {
968
+ font-size: var(--font-size-4xl);
969
+ font-weight: var(--font-weight-bold);
970
+ color: #32b8c6;
971
+ margin: var(--space-8) 0;
972
+ }
973
+
974
+ /* Tech Grid */
975
+ .tech-grid {
976
+ display: grid;
977
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
978
+ gap: var(--space-20);
979
+ margin-top: var(--space-24);
980
+ }
981
+
982
+ .tech-card {
983
+ background: rgba(255, 255, 255, 0.1);
984
+ padding: var(--space-20);
985
+ border-radius: var(--radius-lg);
986
+ backdrop-filter: blur(10px);
987
+ border: 1px solid rgba(255, 255, 255, 0.2);
988
+ text-align: left;
989
+ transition: transform 0.2s ease;
990
+ }
991
+
992
+ .tech-card:hover {
993
+ transform: translateY(-2px);
994
+ background: rgba(255, 255, 255, 0.15);
995
+ }
996
+
997
+ /* Companies Grid */
998
+ .companies-grid {
999
+ display: grid;
1000
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
1001
+ gap: var(--space-20);
1002
+ margin-top: var(--space-24);
1003
+ }
1004
+
1005
+ .company-card {
1006
+ background: rgba(255, 255, 255, 0.1);
1007
+ padding: var(--space-20);
1008
+ border-radius: var(--radius-lg);
1009
+ backdrop-filter: blur(10px);
1010
+ border: 1px solid rgba(255, 255, 255, 0.2);
1011
+ text-align: left;
1012
+ transition: transform 0.2s ease;
1013
+ }
1014
+
1015
+ .company-card:hover {
1016
+ transform: translateY(-2px);
1017
+ background: rgba(255, 255, 255, 0.15);
1018
+ }
1019
+
1020
+ .products {
1021
+ color: #32b8c6;
1022
+ font-weight: var(--font-weight-medium);
1023
+ margin-bottom: var(--space-8);
1024
+ font-size: var(--font-size-sm);
1025
+ }
1026
+
1027
+ /* Applications Grid */
1028
+ .applications-grid {
1029
+ display: grid;
1030
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
1031
+ gap: var(--space-20);
1032
+ margin-top: var(--space-24);
1033
+ }
1034
+
1035
+ .app-category {
1036
+ background: rgba(255, 255, 255, 0.1);
1037
+ padding: var(--space-20);
1038
+ border-radius: var(--radius-lg);
1039
+ backdrop-filter: blur(10px);
1040
+ border: 1px solid rgba(255, 255, 255, 0.2);
1041
+ text-align: left;
1042
+ }
1043
+
1044
+ .app-category h3 {
1045
+ font-size: var(--font-size-lg);
1046
+ margin-bottom: var(--space-16);
1047
+ color: #32b8c6;
1048
+ }
1049
+
1050
+ .app-category ul {
1051
+ list-style: none;
1052
+ padding: 0;
1053
+ margin: 0;
1054
+ }
1055
+
1056
+ .app-category li {
1057
+ padding: var(--space-4) 0;
1058
+ font-size: var(--font-size-sm);
1059
+ color: rgba(255, 255, 255, 0.9);
1060
+ }
1061
+
1062
+ /* Use Cases */
1063
+ .use-cases {
1064
+ display: grid;
1065
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
1066
+ gap: var(--space-20);
1067
+ margin-top: var(--space-24);
1068
+ }
1069
+
1070
+ .use-case-card {
1071
+ background: rgba(255, 255, 255, 0.1);
1072
+ padding: var(--space-24);
1073
+ border-radius: var(--radius-lg);
1074
+ backdrop-filter: blur(10px);
1075
+ border: 1px solid rgba(255, 255, 255, 0.2);
1076
+ text-align: left;
1077
+ }
1078
+
1079
+ /* Architecture Flow */
1080
+ .architecture-flow {
1081
+ display: flex;
1082
+ flex-direction: column;
1083
+ align-items: center;
1084
+ gap: var(--space-16);
1085
+ margin-top: var(--space-24);
1086
+ max-width: 600px;
1087
+ margin-left: auto;
1088
+ margin-right: auto;
1089
+ }
1090
+
1091
+ .flow-step {
1092
+ background: rgba(255, 255, 255, 0.1);
1093
+ padding: var(--space-24);
1094
+ border-radius: var(--radius-lg);
1095
+ backdrop-filter: blur(10px);
1096
+ border: 1px solid rgba(255, 255, 255, 0.2);
1097
+ width: 100%;
1098
+ display: flex;
1099
+ align-items: center;
1100
+ gap: var(--space-20);
1101
+ }
1102
+
1103
+ .step-number {
1104
+ background: #32b8c6;
1105
+ color: white;
1106
+ width: 40px;
1107
+ height: 40px;
1108
+ border-radius: 50%;
1109
+ display: flex;
1110
+ align-items: center;
1111
+ justify-content: center;
1112
+ font-weight: var(--font-weight-bold);
1113
+ flex-shrink: 0;
1114
+ }
1115
+
1116
+ .flow-step div:not(.step-number) {
1117
+ text-align: left;
1118
+ }
1119
+
1120
+ .flow-arrow {
1121
+ font-size: var(--font-size-2xl);
1122
+ color: #32b8c6;
1123
+ font-weight: bold;
1124
+ }
1125
+
1126
+ /* Challenges Grid */
1127
+ .challenges-grid {
1128
+ display: grid;
1129
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
1130
+ gap: var(--space-20);
1131
+ margin-top: var(--space-24);
1132
+ }
1133
+
1134
+ .challenge-card {
1135
+ background: rgba(255, 255, 255, 0.1);
1136
+ padding: var(--space-20);
1137
+ border-radius: var(--radius-lg);
1138
+ backdrop-filter: blur(10px);
1139
+ border: 1px solid rgba(255, 255, 255, 0.2);
1140
+ text-align: left;
1141
+ }
1142
+
1143
+ .challenge-card h3 {
1144
+ color: #ff6b6b;
1145
+ margin-bottom: var(--space-12);
1146
+ }
1147
+
1148
+ /* Trends */
1149
+ .trends-container {
1150
+ display: grid;
1151
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
1152
+ gap: var(--space-20);
1153
+ margin-top: var(--space-24);
1154
+ }
1155
+
1156
+ .trend-item {
1157
+ background: rgba(255, 255, 255, 0.1);
1158
+ padding: var(--space-24);
1159
+ border-radius: var(--radius-lg);
1160
+ backdrop-filter: blur(10px);
1161
+ border: 1px solid rgba(255, 255, 255, 0.2);
1162
+ text-align: left;
1163
+ }
1164
+
1165
+ .trend-item h3 {
1166
+ color: #32b8c6;
1167
+ margin-bottom: var(--space-12);
1168
+ }
1169
+
1170
+ /* Regulation */
1171
+ .regulation-content {
1172
+ display: grid;
1173
+ grid-template-columns: 1fr 1fr;
1174
+ gap: var(--space-32);
1175
+ margin-top: var(--space-24);
1176
+ }
1177
+
1178
+ .policy-landscape,
1179
+ .ethical-considerations {
1180
+ background: rgba(255, 255, 255, 0.1);
1181
+ padding: var(--space-24);
1182
+ border-radius: var(--radius-lg);
1183
+ backdrop-filter: blur(10px);
1184
+ border: 1px solid rgba(255, 255, 255, 0.2);
1185
+ text-align: left;
1186
+ }
1187
+
1188
+ .policy-items {
1189
+ display: flex;
1190
+ flex-direction: column;
1191
+ gap: var(--space-16);
1192
+ }
1193
+
1194
+ .policy-item {
1195
+ padding-bottom: var(--space-16);
1196
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
1197
+ }
1198
+
1199
+ .policy-item:last-child {
1200
+ border-bottom: none;
1201
+ }
1202
+
1203
+ .policy-item strong {
1204
+ color: #32b8c6;
1205
+ display: block;
1206
+ margin-bottom: var(--space-4);
1207
+ }
1208
+
1209
+ .ethical-considerations ul {
1210
+ list-style: none;
1211
+ padding: 0;
1212
+ margin: 0;
1213
+ }
1214
+
1215
+ .ethical-considerations li {
1216
+ padding: var(--space-8) 0;
1217
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
1218
+ }
1219
+
1220
+ .ethical-considerations li:last-child {
1221
+ border-bottom: none;
1222
+ }
1223
+
1224
+ .ethical-considerations li:before {
1225
+ content: "• ";
1226
+ color: #32b8c6;
1227
+ font-weight: bold;
1228
+ margin-right: var(--space-8);
1229
+ }
1230
+
1231
+ /* Conclusion */
1232
+ .conclusion-slide {
1233
+ text-align: center;
1234
+ }
1235
+
1236
+ .takeaways-grid {
1237
+ display: grid;
1238
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
1239
+ gap: var(--space-20);
1240
+ margin: var(--space-32) 0;
1241
+ }
1242
+
1243
+ .takeaway-card {
1244
+ background: rgba(255, 255, 255, 0.1);
1245
+ padding: var(--space-24);
1246
+ border-radius: var(--radius-lg);
1247
+ backdrop-filter: blur(10px);
1248
+ border: 1px solid rgba(255, 255, 255, 0.2);
1249
+ text-align: left;
1250
+ }
1251
+
1252
+ .takeaway-card h3 {
1253
+ color: #32b8c6;
1254
+ margin-bottom: var(--space-12);
1255
+ }
1256
+
1257
+ .conclusion-message {
1258
+ background: rgba(255, 255, 255, 0.1);
1259
+ padding: var(--space-32);
1260
+ border-radius: var(--radius-lg);
1261
+ backdrop-filter: blur(10px);
1262
+ border: 1px solid rgba(255, 255, 255, 0.2);
1263
+ margin-top: var(--space-32);
1264
+ }
1265
+
1266
+ .conclusion-message h2 {
1267
+ color: #32b8c6;
1268
+ margin-bottom: var(--space-16);
1269
+ }
1270
+
1271
+ /* Responsive Design */
1272
+ @media (max-width: 768px) {
1273
+ .slide {
1274
+ padding: var(--space-16);
1275
+ }
1276
+
1277
+ .main-title {
1278
+ font-size: 2.5rem;
1279
+ }
1280
+
1281
+ .title-stats {
1282
+ flex-direction: column;
1283
+ gap: var(--space-16);
1284
+ }
1285
+
1286
+ .timeline {
1287
+ flex-direction: column;
1288
+ }
1289
+
1290
+ .timeline-arrow {
1291
+ transform: rotate(90deg);
1292
+ }
1293
+
1294
+ .content-grid,
1295
+ .regulation-content {
1296
+ grid-template-columns: 1fr;
1297
+ }
1298
+
1299
+ .additional-stats {
1300
+ flex-direction: column;
1301
+ }
1302
+
1303
+ .navigation {
1304
+ padding: var(--space-12) var(--space-16);
1305
+ }
1306
+
1307
+ .nav-btn {
1308
+ padding: var(--space-8) var(--space-16);
1309
+ font-size: var(--font-size-sm);
1310
+ min-width: 80px;
1311
+ }
1312
+ }
1313
+
1314
+ @media (max-width: 480px) {
1315
+ .slide-content h1 {
1316
+ font-size: var(--font-size-3xl);
1317
+ }
1318
+
1319
+ .main-title {
1320
+ font-size: 2rem;
1321
+ }
1322
+
1323
+ .tech-grid,
1324
+ .companies-grid,
1325
+ .applications-grid,
1326
+ .challenges-grid,
1327
+ .trends-container,
1328
+ .takeaways-grid {
1329
+ grid-template-columns: 1fr;
1330
+ }
1331
+ }