VortexHunter23 commited on
Commit
9a0d0e6
Β·
verified Β·
1 Parent(s): e4b76ba

Redesign my website

Browse files
Files changed (6) hide show
  1. README.md +8 -5
  2. components/footer.js +126 -0
  3. components/navbar.js +88 -0
  4. index.html +198 -19
  5. script.js +25 -0
  6. style.css +66 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Opencoder Terminal Ai Wizard
3
- emoji: πŸ“‰
4
- colorFrom: blue
5
- colorTo: pink
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: OpenCoder Terminal AI Wizard πŸ§™β€β™‚οΈ
3
+ colorFrom: green
4
+ colorTo: blue
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://deepsite.hf.co).
components/footer.js ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomFooter extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ footer {
7
+ background: rgba(17, 24, 39, 0.8);
8
+ color: white;
9
+ padding: 3rem 2rem;
10
+ text-align: center;
11
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
12
+ }
13
+ .footer-content {
14
+ max-width: 1200px;
15
+ margin: 0 auto;
16
+ display: grid;
17
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
18
+ gap: 2rem;
19
+ text-align: left;
20
+ }
21
+ .footer-logo {
22
+ display: flex;
23
+ align-items: center;
24
+ gap: 0.5rem;
25
+ font-size: 1.25rem;
26
+ font-weight: bold;
27
+ margin-bottom: 1rem;
28
+ }
29
+ .footer-links h3 {
30
+ font-size: 1rem;
31
+ font-weight: 600;
32
+ margin-bottom: 1rem;
33
+ color: rgba(255, 255, 255, 0.9);
34
+ }
35
+ .footer-links ul {
36
+ list-style: none;
37
+ padding: 0;
38
+ margin: 0;
39
+ }
40
+ .footer-links li {
41
+ margin-bottom: 0.5rem;
42
+ }
43
+ .footer-links a {
44
+ color: rgba(255, 255, 255, 0.6);
45
+ text-decoration: none;
46
+ transition: color 0.2s;
47
+ }
48
+ .footer-links a:hover {
49
+ color: #8b5cf6;
50
+ }
51
+ .social-links {
52
+ display: flex;
53
+ gap: 1rem;
54
+ margin-top: 1rem;
55
+ }
56
+ .social-links a {
57
+ color: rgba(255, 255, 255, 0.6);
58
+ transition: color 0.2s;
59
+ }
60
+ .social-links a:hover {
61
+ color: #8b5cf6;
62
+ }
63
+ .copyright {
64
+ margin-top: 3rem;
65
+ padding-top: 1.5rem;
66
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
67
+ color: rgba(255, 255, 255, 0.5);
68
+ font-size: 0.875rem;
69
+ }
70
+ @media (max-width: 768px) {
71
+ .footer-content {
72
+ grid-template-columns: 1fr;
73
+ text-align: center;
74
+ }
75
+ .social-links {
76
+ justify-content: center;
77
+ }
78
+ }
79
+ </style>
80
+ <footer>
81
+ <div class="footer-content">
82
+ <div>
83
+ <div class="footer-logo">
84
+ <i data-feather="terminal"></i>
85
+ OpenCoder
86
+ </div>
87
+ <p class="text-gray-400">The open source AI coding agent for your terminal.</p>
88
+ <div class="social-links">
89
+ <a href="#"><i data-feather="twitter"></i></a>
90
+ <a href="#"><i data-feather="github"></i></a>
91
+ <a href="#"><i data-feather="discord"></i></a>
92
+ </div>
93
+ </div>
94
+ <div class="footer-links">
95
+ <h3>Product</h3>
96
+ <ul>
97
+ <li><a href="#features">Features</a></li>
98
+ <li><a href="https://opencode.ai/docs">Documentation</a></li>
99
+ <li><a href="https://github.com/sst/opencode/releases">Releases</a></li>
100
+ </ul>
101
+ </div>
102
+ <div class="footer-links">
103
+ <h3>Community</h3>
104
+ <ul>
105
+ <li><a href="https://github.com/sst/opencode">GitHub</a></li>
106
+ <li><a href="#">Discord</a></li>
107
+ <li><a href="#">Twitter</a></li>
108
+ </ul>
109
+ </div>
110
+ <div class="footer-links">
111
+ <h3>Legal</h3>
112
+ <ul>
113
+ <li><a href="#">Privacy</a></li>
114
+ <li><a href="#">Terms</a></li>
115
+ <li><a href="#">License</a></li>
116
+ </ul>
117
+ </div>
118
+ </div>
119
+ <div class="copyright">
120
+ &copy; ${new Date().getFullYear()} OpenCode. All rights reserved.
121
+ </div>
122
+ </footer>
123
+ `;
124
+ }
125
+ }
126
+ customElements.define('custom-footer', CustomFooter);
components/navbar.js ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomNavbar extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ nav {
7
+ background: rgba(17, 24, 39, 0.8);
8
+ backdrop-filter: blur(10px);
9
+ padding: 1rem 2rem;
10
+ display: flex;
11
+ justify-content: space-between;
12
+ align-items: center;
13
+ position: fixed;
14
+ top: 0;
15
+ left: 0;
16
+ right: 0;
17
+ z-index: 1000;
18
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
19
+ }
20
+ .logo {
21
+ color: white;
22
+ font-weight: bold;
23
+ font-size: 1.25rem;
24
+ display: flex;
25
+ align-items: center;
26
+ gap: 0.5rem;
27
+ }
28
+ .logo-icon {
29
+ color: #8b5cf6;
30
+ }
31
+ ul {
32
+ display: flex;
33
+ gap: 1.5rem;
34
+ list-style: none;
35
+ margin: 0;
36
+ padding: 0;
37
+ }
38
+ a {
39
+ color: rgba(255, 255, 255, 0.8);
40
+ text-decoration: none;
41
+ transition: color 0.2s;
42
+ font-weight: 500;
43
+ }
44
+ a:hover {
45
+ color: #8b5cf6;
46
+ }
47
+ .github-btn {
48
+ display: flex;
49
+ align-items: center;
50
+ gap: 0.5rem;
51
+ padding: 0.5rem 1rem;
52
+ background: rgba(255, 255, 255, 0.1);
53
+ border-radius: 6px;
54
+ transition: background 0.2s;
55
+ }
56
+ .github-btn:hover {
57
+ background: rgba(255, 255, 255, 0.2);
58
+ }
59
+ @media (max-width: 768px) {
60
+ nav {
61
+ padding: 1rem;
62
+ }
63
+ ul {
64
+ display: none;
65
+ }
66
+ }
67
+ </style>
68
+ <nav>
69
+ <a href="/" class="logo">
70
+ <i data-feather="terminal" class="logo-icon"></i>
71
+ OpenCoder
72
+ </a>
73
+ <ul>
74
+ <li><a href="#features">Features</a></li>
75
+ <li><a href="#about">About</a></li>
76
+ <li><a href="https://opencode.ai/docs">Documentation</a></li>
77
+ <li>
78
+ <a href="https://github.com/sst/opencode" class="github-btn">
79
+ <i data-feather="github"></i>
80
+ GitHub
81
+ </a>
82
+ </li>
83
+ </ul>
84
+ </nav>
85
+ `;
86
+ }
87
+ }
88
+ customElements.define('custom-navbar', CustomNavbar);
index.html CHANGED
@@ -1,19 +1,198 @@
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>OpenCoder - The AI Coding Agent for Terminal</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
12
+ </head>
13
+ <body class="bg-gray-900 text-gray-100">
14
+ <custom-navbar></custom-navbar>
15
+
16
+ <main class="container mx-auto px-4 py-12">
17
+ <!-- Hero Section -->
18
+ <section class="mb-20 text-center">
19
+ <div class="max-w-4xl mx-auto">
20
+ <span class="inline-block px-3 py-1 bg-purple-800 bg-opacity-30 text-purple-400 rounded-full text-sm font-medium mb-4">What's new in v0.15.12</span>
21
+ <h1 class="text-5xl font-bold mb-6 bg-gradient-to-r from-purple-400 to-blue-500 bg-clip-text text-transparent">The AI coding agent built for the terminal</h1>
22
+ <p class="text-xl text-gray-300 mb-8 max-w-2xl mx-auto">OpenCode is fully open source, giving you control and freedom to use any provider, any model, and any editor.</p>
23
+ <div class="flex gap-4 justify-center">
24
+ <a href="https://opencode.ai/docs" class="px-6 py-3 bg-purple-600 hover:bg-purple-700 rounded-lg font-medium transition-colors">Read Docs</a>
25
+ <a href="#features" class="px-6 py-3 border border-gray-700 hover:border-gray-600 rounded-lg font-medium transition-colors">Explore Features</a>
26
+ </div>
27
+ </div>
28
+
29
+ <div class="mt-16 rounded-xl overflow-hidden shadow-2xl max-w-6xl mx-auto border border-gray-800">
30
+ <div class="bg-gray-800 p-4">
31
+ <div class="flex gap-2">
32
+ <div class="w-3 h-3 rounded-full bg-red-500"></div>
33
+ <div class="w-3 h-3 rounded-full bg-yellow-500"></div>
34
+ <div class="w-3 h-3 rounded-full bg-green-500"></div>
35
+ </div>
36
+ </div>
37
+ <video autoplay loop muted class="w-full">
38
+ <source src="https://opencode.ai/_build/assets/demo.mp4" type="video/mp4">
39
+ Your browser does not support the video tag.
40
+ </video>
41
+ </div>
42
+ </section>
43
+
44
+ <!-- What is OpenCode? -->
45
+ <section id="about" class="mb-20">
46
+ <h2 class="text-3xl font-bold mb-12 text-center">What is OpenCode?</h2>
47
+ <p class="text-xl text-gray-300 mb-12 max-w-3xl mx-auto text-center">OpenCode is an open source agent that helps you write and run code directly from the terminal.</p>
48
+
49
+ <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
50
+ <!-- Feature Cards -->
51
+ <div class="bg-gray-800 rounded-xl p-6 hover:bg-gray-750 transition-colors">
52
+ <div class="w-12 h-12 bg-purple-900 rounded-lg flex items-center justify-center mb-4">
53
+ <i data-feather="terminal" class="text-purple-400"></i>
54
+ </div>
55
+ <h3 class="text-xl font-semibold mb-2">Native TUI</h3>
56
+ <p class="text-gray-400">A responsive, native, themeable terminal UI</p>
57
+ </div>
58
+
59
+ <div class="bg-gray-800 rounded-xl p-6 hover:bg-gray-750 transition-colors">
60
+ <div class="w-12 h-12 bg-purple-900 rounded-lg flex items-center justify-center mb-4">
61
+ <i data-feather="code" class="text-purple-400"></i>
62
+ </div>
63
+ <h3 class="text-xl font-semibold mb-2">LSP enabled</h3>
64
+ <p class="text-gray-400">Automatically loads the right LSPs for the LLM</p>
65
+ </div>
66
+
67
+ <div class="bg-gray-800 rounded-xl p-6 hover:bg-gray-750 transition-colors">
68
+ <div class="w-12 h-12 bg-purple-900 rounded-lg flex items-center justify-center mb-4">
69
+ <i data-feather="layers" class="text-purple-400"></i>
70
+ </div>
71
+ <h3 class="text-xl font-semibold mb-2">Multi-session</h3>
72
+ <p class="text-gray-400">Start multiple agents in parallel on the same project</p>
73
+ </div>
74
+
75
+ <div class="bg-gray-800 rounded-xl p-6 hover:bg-gray-750 transition-colors">
76
+ <div class="w-12 h-12 bg-purple-900 rounded-lg flex items-center justify-center mb-4">
77
+ <i data-feather="share-2" class="text-purple-400"></i>
78
+ </div>
79
+ <h3 class="text-xl font-semibold mb-2">Share links</h3>
80
+ <p class="text-gray-400">Share a link to any session for reference or to debug</p>
81
+ </div>
82
+
83
+ <div class="bg-gray-800 rounded-xl p-6 hover:bg-gray-750 transition-colors">
84
+ <div class="w-12 h-12 bg-purple-900 rounded-lg flex items-center justify-center mb-4">
85
+ <i data-feather="key" class="text-purple-400"></i>
86
+ </div>
87
+ <h3 class="text-xl font-semibold mb-2">Claude Pro</h3>
88
+ <p class="text-gray-400">Log in with Anthropic to use your Claude Pro or Max account</p>
89
+ </div>
90
+
91
+ <div class="bg-gray-800 rounded-xl p-6 hover:bg-gray-750 transition-colors">
92
+ <div class="w-12 h-12 bg-purple-900 rounded-lg flex items-center justify-center mb-4">
93
+ <i data-feather="cpu" class="text-purple-400"></i>
94
+ </div>
95
+ <h3 class="text-xl font-semibold mb-2">Any model</h3>
96
+ <p class="text-gray-400">75+ LLM providers through Models.dev, including local models</p>
97
+ </div>
98
+ </div>
99
+ </section>
100
+
101
+ <!-- Stats Section -->
102
+ <section class="mb-20 py-16 bg-gradient-to-br from-gray-800 to-gray-900 rounded-2xl">
103
+ <div class="max-w-6xl mx-auto px-4">
104
+ <h2 class="text-3xl font-bold mb-12 text-center">The open source AI coding agent</h2>
105
+
106
+ <div class="grid md:grid-cols-3 gap-8">
107
+ <div class="text-center">
108
+ <div class="text-5xl font-bold text-purple-400 mb-2">26K</div>
109
+ <p class="text-gray-400">GitHub Stars</p>
110
+ </div>
111
+ <div class="text-center">
112
+ <div class="text-5xl font-bold text-purple-400 mb-2">188</div>
113
+ <p class="text-gray-400">Contributors</p>
114
+ </div>
115
+ <div class="text-center">
116
+ <div class="text-5xl font-bold text-purple-400 mb-2">200K</div>
117
+ <p class="text-gray-400">Monthly Devs</p>
118
+ </div>
119
+ </div>
120
+ </div>
121
+ </section>
122
+
123
+ <!-- Privacy Section -->
124
+ <section class="mb-20">
125
+ <div class="flex flex-col md:flex-row items-center gap-12">
126
+ <div class="md:w-1/2">
127
+ <h2 class="text-3xl font-bold mb-6">Built for privacy first</h2>
128
+ <p class="text-xl text-gray-300 mb-6">OpenCode does not store any of your code or context data, so that it can operate in privacy sensitive environments.</p>
129
+ <a href="https://opencode.ai/docs/enterprise/" class="inline-block px-6 py-3 border border-gray-700 hover:border-gray-600 rounded-lg font-medium transition-colors">Learn about privacy</a>
130
+ </div>
131
+ <div class="md:w-1/2">
132
+ <img src="https://opencode.ai/_build/assets/dock-DjAVB4vb.png" alt="Privacy focused" class="rounded-xl shadow-2xl">
133
+ </div>
134
+ </div>
135
+ </section>
136
+
137
+ <!-- FAQ Section -->
138
+ <section class="mb-20">
139
+ <div class="bg-gray-800 rounded-2xl p-8 md:p-12">
140
+ <div class="flex flex-col md:flex-row gap-12">
141
+ <div class="md:w-1/2">
142
+ <h2 class="text-3xl font-bold mb-6">FAQ</h2>
143
+ <h3 class="text-xl font-semibold mb-4">Access reliable optimized models for coding agents</h3>
144
+ <p class="text-gray-300 mb-6">Zen gives you access to a handpicked set of AI models that OpenCode has tested and benchmarked specifically for coding agents. No need to worry about inconsistent performance and quality across providers, use validated models that work.</p>
145
+ <a href="https://opencode.ai/zen" class="inline-block px-6 py-3 bg-purple-600 hover:bg-purple-700 rounded-lg font-medium transition-colors">Learn about Zen</a>
146
+ </div>
147
+ <div class="md:w-1/2 flex items-center justify-center">
148
+ <div class="terminal-mockup">
149
+ <div class="terminal-header">
150
+ <div class="terminal-buttons">
151
+ <span></span>
152
+ <span></span>
153
+ <span></span>
154
+ </div>
155
+ <div class="terminal-title">opencode --model=zen</div>
156
+ </div>
157
+ <div class="terminal-body">
158
+ <span class="text-green-400">$</span> <span class="text-gray-300">How can I implement a binary search in Python?</span>
159
+ <div class="terminal-output">
160
+ <div class="text-gray-400"># Here's an implementation of binary search in Python:</div>
161
+ <div class="text-blue-400">def</div> <div class="text-yellow-300">binary_search</div>(arr, target):
162
+ <div class="ml-4">...</div>
163
+ </div>
164
+ </div>
165
+ </div>
166
+ </div>
167
+ </div>
168
+ </div>
169
+ </section>
170
+
171
+ <!-- CTA Section -->
172
+ <section class="text-center py-16 bg-gradient-to-r from-purple-900 to-blue-900 rounded-2xl">
173
+ <h2 class="text-3xl font-bold mb-6">OpenCode will be available on desktop soon</h2>
174
+ <p class="text-xl text-gray-300 mb-8 max-w-2xl mx-auto">Join the waitlist for early access.</p>
175
+ <button class="px-8 py-4 bg-white text-gray-900 hover:bg-gray-200 rounded-lg font-bold text-lg transition-colors">Join Waitlist</button>
176
+ </section>
177
+ </main>
178
+
179
+ <custom-footer></custom-footer>
180
+
181
+ <!-- Scripts -->
182
+ <script src="components/navbar.js"></script>
183
+ <script src="components/footer.js"></script>
184
+ <script src="script.js"></script>
185
+ <script>
186
+ feather.replace();
187
+ VANTA.NET({
188
+ el: "body",
189
+ color: 0x4c1d95,
190
+ backgroundColor: 0x111827,
191
+ points: 12,
192
+ maxDistance: 20,
193
+ spacing: 15
194
+ });
195
+ </script>
196
+ <script src="https://deepsite.hf.co/deepsite-badge.js"></script>
197
+ </body>
198
+ </html>
script.js ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Shared JavaScript code
2
+ document.addEventListener('DOMContentLoaded', () => {
3
+ // Animate feature cards on scroll
4
+ const observer = new IntersectionObserver((entries) => {
5
+ entries.forEach(entry => {
6
+ if (entry.isIntersecting) {
7
+ entry.target.classList.add('animate-fadeInUp');
8
+ }
9
+ });
10
+ }, {
11
+ threshold: 0.1
12
+ });
13
+
14
+ document.querySelectorAll('.bg-gray-800').forEach((card) => {
15
+ observer.observe(card);
16
+ });
17
+
18
+ // Handle waitlist form
19
+ const waitlistForm = document.querySelector('button');
20
+ if (waitlistForm) {
21
+ waitlistForm.addEventListener('click', () => {
22
+ alert('Thanks for your interest! We\'ll notify you when the desktop version is ready.');
23
+ });
24
+ }
25
+ });
style.css CHANGED
@@ -1,28 +1,76 @@
 
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
+ /* Base styles */
2
  body {
3
+ font-family: 'Inter', -apple-system, BlurMacSystemFont, sans-serif;
4
+ line-height: 1.6;
5
  }
6
 
7
+ /* Terminal mockup for FAQ section */
8
+ .terminal-mockup {
9
+ background: #1e1e1e;
10
+ border-radius: 8px;
11
+ overflow: hidden;
12
+ width: 100%;
13
+ max-width: 600px;
14
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
15
  }
16
 
17
+ .terminal-header {
18
+ background: #333;
19
+ padding: 8px 12px;
20
+ display: flex;
21
+ align-items: center;
22
  }
23
 
24
+ .terminal-buttons {
25
+ display: flex;
26
+ gap: 6px;
27
+ margin-right: 12px;
 
 
28
  }
29
 
30
+ .terminal-buttons span {
31
+ display: block;
32
+ width: 12px;
33
+ height: 12px;
34
+ border-radius: 50%;
35
+ background: #555;
36
  }
37
+
38
+ .terminal-title {
39
+ color: #aaa;
40
+ font-size: 0.85rem;
41
+ flex-grow: 1;
42
+ text-align: center;
43
+ }
44
+
45
+ .terminal-body {
46
+ padding: 16px;
47
+ font-family: 'Courier New', monospace;
48
+ min-height: 200px;
49
+ display: flex;
50
+ flex-direction: column;
51
+ gap: 8px;
52
+ }
53
+
54
+ .terminal-output {
55
+ margin-top: 8px;
56
+ opacity: 0;
57
+ animation: fadeIn 0.5s 0.3s forwards;
58
+ }
59
+
60
+ @keyframes fadeIn {
61
+ to {
62
+ opacity: 1;
63
+ }
64
+ }
65
+
66
+ /* Responsive adjustments */
67
+ @media (max-width: 768px) {
68
+ .terminal-mockup {
69
+ margin-top: 2rem;
70
+ }
71
+ }
72
+
73
+ /* Smooth scrolling */
74
+ html {
75
+ scroll-behavior: smooth;
76
+ }