api-ix commited on
Commit
1069489
·
verified ·
1 Parent(s): 47e0e3e

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +73 -54
index.html CHANGED
@@ -34,7 +34,7 @@
34
  .container {
35
  max-width: 1200px;
36
  margin: 0 auto;
37
- padding: 0 1.5rem; /* Reduced padding for mobile */
38
  }
39
 
40
  .japanese-label {
@@ -83,7 +83,6 @@
83
  z-index: 101;
84
  }
85
 
86
- /* Desktop Menu */
87
  .nav-links { display: flex; gap: 2rem; }
88
  .nav-links a {
89
  color: var(--text-muted);
@@ -93,7 +92,6 @@
93
  }
94
  .nav-links a:hover { color: var(--accent-red); }
95
 
96
- /* Mobile Menu Toggle (Hidden on Desktop) */
97
  .menu-toggle {
98
  display: none;
99
  cursor: pointer;
@@ -112,9 +110,11 @@
112
 
113
  .hero-content {
114
  display: grid;
115
- grid-template-columns: auto 1fr;
116
- gap: 4rem;
 
117
  align-items: center;
 
118
  }
119
 
120
  .name-vertical {
@@ -130,6 +130,47 @@
130
  white-space: nowrap;
131
  }
132
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  .hero-text h2 {
134
  font-size: 2.5rem;
135
  font-weight: 100;
@@ -174,7 +215,7 @@
174
  font-weight: 100;
175
  }
176
 
177
- /* --- SKILLS GRID --- */
178
  .skills-grid {
179
  display: grid;
180
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
@@ -187,12 +228,9 @@
187
  padding: 1.5rem;
188
  transition: 0.3s;
189
  }
190
-
191
- .skill-card h3 { margin-bottom: 1rem; font-size: 1.1rem; color: #fff; }
192
  .skill-card li { margin-bottom: 0.5rem; font-size: 0.9rem; color: var(--text-muted); }
193
  .skill-card li::before { content: ':: '; color: var(--accent-red); }
194
 
195
- /* --- PROJECTS --- */
196
  .project-item {
197
  display: grid;
198
  grid-template-columns: 1fr 1fr;
@@ -211,58 +249,39 @@
211
  align-items: center;
212
  }
213
 
214
- /* --- FOOTER --- */
215
  footer {
216
- padding: 4rem 0 6rem 0; /* Extra bottom padding for mobile browsers */
217
  text-align: center;
218
  border-top: 1px solid var(--accent-red);
219
  margin-top: 2rem;
220
  }
221
-
222
  .stamp {
223
- width: 50px;
224
- height: 50px;
225
  border: 2px solid var(--accent-red);
226
  border-radius: 50%;
227
  color: var(--accent-red);
228
- display: flex;
229
- justify-content: center;
230
- align-items: center;
231
  margin: 0 auto 1.5rem auto;
232
  font-family: var(--font-serif);
233
  font-weight: 900;
234
  }
235
 
236
  /* --- MOBILE MEDIA QUERIES --- */
237
- @media (max-width: 768px) {
238
-
239
- /* Nav Mobile Overlay */
240
- .menu-toggle { display: block; }
241
-
242
- .nav-links {
243
- position: fixed;
244
- top: 0; right: -100%;
245
- width: 70%;
246
- height: 100vh;
247
- background: #111;
248
- flex-direction: column;
249
- justify-content: center;
250
- align-items: center;
251
- gap: 3rem;
252
- transition: 0.4s ease;
253
- border-left: 1px solid var(--accent-red);
254
- }
255
-
256
- .nav-links.active { right: 0; }
257
- .nav-links a { font-size: 1.2rem; }
258
-
259
- /* Hero Mobile */
260
  .hero-content {
261
  grid-template-columns: 1fr;
262
  text-align: center;
263
  gap: 2rem;
264
  }
265
 
 
 
 
 
 
 
 
 
266
  .name-vertical {
267
  writing-mode: horizontal-tb;
268
  border-right: none;
@@ -272,19 +291,17 @@
272
  font-size: 3rem;
273
  width: 100%;
274
  }
275
-
276
- .hero-text h2 { font-size: 1.8rem; }
277
 
278
- /* Projects Mobile */
279
- .project-item {
280
- grid-template-columns: 1fr;
281
- gap: 2rem;
282
- margin-bottom: 4rem;
 
283
  }
284
-
285
- /* Order: Diagram first on mobile? Optional. keeping text first is standard. */
286
 
287
- .container { padding: 0 1.2rem; }
288
  }
289
  </style>
290
  </head>
@@ -306,6 +323,11 @@
306
  <header class="hero container">
307
  <div class="hero-content">
308
  <h1 class="name-vertical">アーケイン</h1>
 
 
 
 
 
309
  <div class="hero-text">
310
  <span class="japanese-label">BACKEND ARCHITECT</span>
311
  <h2>Logic in the<br>Shadows.</h2>
@@ -391,13 +413,10 @@
391
  </footer>
392
 
393
  <script>
394
- // Toggle Mobile Menu
395
  function toggleMenu() {
396
- const nav = document.getElementById('navLinks');
397
- nav.classList.toggle('active');
398
  }
399
 
400
- // Scroll Animation
401
  const observer = new IntersectionObserver((entries) => {
402
  entries.forEach(entry => {
403
  if (entry.isIntersecting) {
 
34
  .container {
35
  max-width: 1200px;
36
  margin: 0 auto;
37
+ padding: 0 1.5rem;
38
  }
39
 
40
  .japanese-label {
 
83
  z-index: 101;
84
  }
85
 
 
86
  .nav-links { display: flex; gap: 2rem; }
87
  .nav-links a {
88
  color: var(--text-muted);
 
92
  }
93
  .nav-links a:hover { color: var(--accent-red); }
94
 
 
95
  .menu-toggle {
96
  display: none;
97
  cursor: pointer;
 
110
 
111
  .hero-content {
112
  display: grid;
113
+ /* Updated Grid: Name | Image | Text */
114
+ grid-template-columns: auto 300px 1fr;
115
+ gap: 3rem;
116
  align-items: center;
117
+ width: 100%;
118
  }
119
 
120
  .name-vertical {
 
130
  white-space: nowrap;
131
  }
132
 
133
+ /* --- PROFILE IMAGE STYLING --- */
134
+ .hero-img-container {
135
+ width: 100%;
136
+ height: 400px;
137
+ position: relative;
138
+ border: 1px solid #333;
139
+ overflow: hidden;
140
+ }
141
+
142
+ .hero-img {
143
+ width: 100%;
144
+ height: 100%;
145
+ object-fit: cover;
146
+ /* Manga Style Filter: Black & White + High Contrast */
147
+ filter: grayscale(100%) contrast(120%);
148
+ transition: filter 0.5s ease, transform 0.5s ease;
149
+ }
150
+
151
+ /* Color reveal on hover */
152
+ .hero-img-container:hover .hero-img {
153
+ filter: grayscale(0%) contrast(100%);
154
+ transform: scale(1.05);
155
+ }
156
+
157
+ /* Decorative "Corners" for the image */
158
+ .hero-img-container::after {
159
+ content: '';
160
+ position: absolute;
161
+ top: 0; left: 0; width: 100%; height: 100%;
162
+ border: 1px solid transparent;
163
+ /* Top Left and Bottom Right Red Accents */
164
+ background:
165
+ linear-gradient(to right, var(--accent-red) 2px, transparent 2px) 0 0,
166
+ linear-gradient(to bottom, var(--accent-red) 2px, transparent 2px) 0 0,
167
+ linear-gradient(to left, var(--accent-red) 2px, transparent 2px) 100% 100%,
168
+ linear-gradient(to top, var(--accent-red) 2px, transparent 2px) 100% 100%;
169
+ background-repeat: no-repeat;
170
+ background-size: 20px 20px;
171
+ pointer-events: none;
172
+ }
173
+
174
  .hero-text h2 {
175
  font-size: 2.5rem;
176
  font-weight: 100;
 
215
  font-weight: 100;
216
  }
217
 
218
+ /* --- SKILLS & PROJECTS --- */
219
  .skills-grid {
220
  display: grid;
221
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
 
228
  padding: 1.5rem;
229
  transition: 0.3s;
230
  }
 
 
231
  .skill-card li { margin-bottom: 0.5rem; font-size: 0.9rem; color: var(--text-muted); }
232
  .skill-card li::before { content: ':: '; color: var(--accent-red); }
233
 
 
234
  .project-item {
235
  display: grid;
236
  grid-template-columns: 1fr 1fr;
 
249
  align-items: center;
250
  }
251
 
 
252
  footer {
253
+ padding: 4rem 0 6rem 0;
254
  text-align: center;
255
  border-top: 1px solid var(--accent-red);
256
  margin-top: 2rem;
257
  }
 
258
  .stamp {
259
+ width: 50px; height: 50px;
 
260
  border: 2px solid var(--accent-red);
261
  border-radius: 50%;
262
  color: var(--accent-red);
263
+ display: flex; justify-content: center; align-items: center;
 
 
264
  margin: 0 auto 1.5rem auto;
265
  font-family: var(--font-serif);
266
  font-weight: 900;
267
  }
268
 
269
  /* --- MOBILE MEDIA QUERIES --- */
270
+ @media (max-width: 900px) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
271
  .hero-content {
272
  grid-template-columns: 1fr;
273
  text-align: center;
274
  gap: 2rem;
275
  }
276
 
277
+ /* Image styling for mobile */
278
+ .hero-img-container {
279
+ width: 200px;
280
+ height: 200px;
281
+ margin: 0 auto;
282
+ border-radius: 50%; /* Circle on mobile */
283
+ }
284
+
285
  .name-vertical {
286
  writing-mode: horizontal-tb;
287
  border-right: none;
 
291
  font-size: 3rem;
292
  width: 100%;
293
  }
 
 
294
 
295
+ .menu-toggle { display: block; }
296
+ .nav-links {
297
+ position: fixed; top: 0; right: -100%; width: 70%; height: 100vh;
298
+ background: #111; flex-direction: column; justify-content: center;
299
+ align-items: center; gap: 3rem; transition: 0.4s ease;
300
+ border-left: 1px solid var(--accent-red);
301
  }
302
+ .nav-links.active { right: 0; }
 
303
 
304
+ .project-item { grid-template-columns: 1fr; }
305
  }
306
  </style>
307
  </head>
 
323
  <header class="hero container">
324
  <div class="hero-content">
325
  <h1 class="name-vertical">アーケイン</h1>
326
+
327
+ <div class="hero-img-container">
328
+ <img src="./profile.jpg" alt="Arcane Profile" class="hero-img">
329
+ </div>
330
+
331
  <div class="hero-text">
332
  <span class="japanese-label">BACKEND ARCHITECT</span>
333
  <h2>Logic in the<br>Shadows.</h2>
 
413
  </footer>
414
 
415
  <script>
 
416
  function toggleMenu() {
417
+ document.getElementById('navLinks').classList.toggle('active');
 
418
  }
419
 
 
420
  const observer = new IntersectionObserver((entries) => {
421
  entries.forEach(entry => {
422
  if (entry.isIntersecting) {