tellang commited on
Commit
d7decb9
·
verified ·
1 Parent(s): 85ab78e

Update: README theme style (terminal + ASCII art)

Browse files
Files changed (1) hide show
  1. index.html +325 -157
index.html CHANGED
@@ -14,54 +14,149 @@
14
  }
15
 
16
  body {
17
- background: linear-gradient(135deg, #0d1117 0%, #161b22 50%, #0d1117 100%);
18
  min-height: 100vh;
19
  display: flex;
20
  flex-direction: column;
21
  align-items: center;
22
  justify-content: center;
23
  padding: 20px;
 
24
  }
25
 
26
- .captcha-container {
27
- background: linear-gradient(135deg, #0d1117 0%, #161b22 100%);
28
- border: 2px solid #30363d;
29
- border-radius: 16px;
30
- padding: 50px;
31
- max-width: 650px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  width: 100%;
33
  box-shadow:
34
- 0 0 60px rgba(0, 255, 0, 0.1),
35
- 0 0 100px rgba(255, 0, 255, 0.05);
 
36
  }
37
 
38
- .captcha-header {
39
- text-align: center;
40
- margin-bottom: 40px;
 
 
 
 
41
  }
42
 
43
- .captcha-header h1 {
44
- color: #00ff00;
45
- font-size: 32px;
46
- margin: 0;
47
- text-shadow: 0 0 20px rgba(0, 255, 0, 0.5);
48
- letter-spacing: 2px;
 
 
 
49
  }
50
 
51
- .captcha-header p {
 
 
 
 
52
  color: #8b949e;
 
 
 
 
 
 
 
 
 
 
 
53
  font-size: 14px;
54
- margin-top: 10px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  }
56
 
57
  .captcha-box {
58
  display: flex;
59
  align-items: center;
60
- gap: 25px;
61
  background: #21262d;
62
  border: 2px solid #30363d;
63
- border-radius: 12px;
64
- padding: 25px 30px;
65
  cursor: pointer;
66
  transition: all 0.3s ease;
67
  user-select: none;
@@ -69,41 +164,44 @@
69
 
70
  .captcha-box:hover {
71
  border-color: #00ff00;
72
- box-shadow: 0 0 30px rgba(0, 255, 0, 0.3);
73
- transform: translateY(-2px);
74
  }
75
 
76
  .captcha-box.checked {
77
  border-color: #00ff00;
78
  background: linear-gradient(135deg, #21262d 0%, #0d1117 100%);
79
- box-shadow:
80
- 0 0 40px rgba(0, 255, 0, 0.4),
81
- inset 0 0 30px rgba(0, 255, 0, 0.05);
82
  }
83
 
84
  .checkbox {
85
- width: 40px;
86
- height: 40px;
87
  border: 3px solid #30363d;
88
- border-radius: 8px;
89
  display: flex;
90
  align-items: center;
91
  justify-content: center;
92
  transition: all 0.3s ease;
93
  flex-shrink: 0;
94
  background: #0d1117;
 
 
 
 
 
 
 
95
  }
96
 
97
  .captcha-box.checked .checkbox {
98
  background: #00ff00;
99
  border-color: #00ff00;
100
- box-shadow: 0 0 20px rgba(0, 255, 0, 0.6);
 
101
  }
102
 
103
  .checkmark {
104
  display: none;
105
- color: #0d1117;
106
- font-size: 24px;
107
  font-weight: bold;
108
  }
109
 
@@ -112,6 +210,14 @@
112
  animation: checkPop 0.3s ease;
113
  }
114
 
 
 
 
 
 
 
 
 
115
  @keyframes checkPop {
116
  0% { transform: scale(0); }
117
  50% { transform: scale(1.3); }
@@ -124,7 +230,7 @@
124
 
125
  .captcha-text h2 {
126
  color: #c9d1d9;
127
- font-size: 22px;
128
  margin: 0;
129
  transition: all 0.3s ease;
130
  }
@@ -136,102 +242,85 @@
136
 
137
  .captcha-text p {
138
  color: #8b949e;
139
- font-size: 13px;
140
- margin: 8px 0 0 0;
141
  }
142
 
143
- .yeji-logo {
144
- color: #ff00ff;
145
- font-size: 20px;
 
 
 
146
  font-weight: bold;
147
- text-shadow: 0 0 15px rgba(255, 0, 255, 0.6);
148
- letter-spacing: 3px;
149
  }
150
 
151
- .status-text {
152
- text-align: center;
153
- margin-top: 30px;
154
- padding: 20px;
155
- border-radius: 10px;
156
- font-size: 14px;
157
- opacity: 0;
158
- transform: translateY(10px);
159
- transition: all 0.5s ease;
160
  }
161
 
162
- .status-text.show {
163
- opacity: 1;
164
- transform: translateY(0);
165
  }
166
 
167
- .status-text.verified {
168
- background: rgba(0, 255, 0, 0.1);
169
- border: 1px solid #00ff00;
170
- color: #00ff00;
171
  }
172
 
173
- .terminal-text {
174
- text-align: center;
175
- margin-top: 25px;
176
- color: #8b949e;
177
- font-size: 13px;
178
  }
179
 
180
- .terminal-text code {
181
  background: #21262d;
182
- padding: 5px 12px;
183
- border-radius: 6px;
184
  color: #00ffff;
 
185
  }
186
 
187
- .datasets-link {
188
- text-align: center;
189
- margin-top: 40px;
190
- padding-top: 30px;
191
- border-top: 1px solid #30363d;
192
  }
193
 
194
- .datasets-link a {
195
- display: inline-block;
196
- background: linear-gradient(135deg, #ff00ff 0%, #9d00ff 100%);
197
- color: white;
198
- text-decoration: none;
199
- padding: 12px 30px;
200
- border-radius: 8px;
201
- font-weight: bold;
202
- transition: all 0.3s ease;
203
- box-shadow: 0 0 20px rgba(255, 0, 255, 0.3);
204
  }
205
 
206
- .datasets-link a:hover {
207
- transform: translateY(-3px);
208
- box-shadow: 0 0 40px rgba(255, 0, 255, 0.5);
209
  }
210
 
211
- .stats {
212
- display: flex;
213
- justify-content: center;
214
- gap: 30px;
215
- margin-top: 20px;
216
- flex-wrap: wrap;
217
  }
218
 
219
- .stat {
 
220
  text-align: center;
221
- }
222
-
223
- .stat-value {
224
- color: #00ffff;
225
- font-size: 24px;
226
- font-weight: bold;
227
- }
228
-
229
- .stat-label {
230
  color: #8b949e;
231
  font-size: 12px;
232
- margin-top: 5px;
233
  }
234
 
 
 
 
 
 
 
235
  .reset-btn {
236
  position: fixed;
237
  bottom: 20px;
@@ -274,45 +363,115 @@
274
  </style>
275
  </head>
276
  <body>
277
- <div class="captcha-container">
278
- <div class="captcha-header">
279
- <h1>🤖 YEJI VERIFICATION</h1>
280
- <p>Fortune-Telling AI Dataset Access</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
281
  </div>
282
 
283
- <div class="captcha-box" id="captcha-box" onclick="verifyCaptcha()">
284
- <div class="checkbox">
285
- <span class="checkmark">✓</span>
 
286
  </div>
287
- <div class="captcha-text">
288
- <h2>YES, I'M A ROBOT</h2>
289
- <p>Crafted BY AI, FOR AI, SERVING HUMANS</p>
290
  </div>
291
- <div class="yeji-logo">YEJI</div>
292
- </div>
293
 
294
- <div class="status-text" id="status-text"></div>
 
 
 
 
295
 
296
- <div class="terminal-text">
297
- <code id="terminal-code">> AWAITING ROBOT VERIFICATION...</code>
298
- </div>
 
 
299
 
300
- <div class="datasets-link" id="datasets-link" style="display: none;">
301
- <a href="https://huggingface.co/datasets/tellang/yeji-meta" target="_blank">
302
- 🤗 ACCESS DATASETS
303
- </a>
304
- <div class="stats">
305
- <div class="stat">
306
- <div class="stat-value">306K+</div>
307
- <div class="stat-label">SAMPLES</div>
 
 
308
  </div>
309
- <div class="stat">
310
- <div class="stat-value">4</div>
311
- <div class="stat-label">DOMAINS</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
312
  </div>
313
- <div class="stat">
314
- <div class="stat-value">8</div>
315
- <div class="stat-label">DATASETS</div>
316
  </div>
317
  </div>
318
  </div>
@@ -323,33 +482,46 @@
323
  <script src="https://cdn.jsdelivr.net/npm/canvas-confetti@1.9.2/dist/confetti.browser.min.js"></script>
324
 
325
  <script>
326
- const robotEmojis = ['⚙️', '🔧', '🔩', '🛠️', '🤖', '🦾', '🦿', '⚡', '🔌', '💾', '🖥️', '⌨️', '🔋', '📡', '🛸', '💥', '✨', '🔮'];
327
  let isVerified = false;
328
 
 
 
 
 
 
 
 
 
 
 
 
329
  function verifyCaptcha() {
330
  if (isVerified) return;
331
 
332
  const box = document.getElementById('captcha-box');
333
- const status = document.getElementById('status-text');
334
- const terminal = document.getElementById('terminal-code');
335
- const datasetsLink = document.getElementById('datasets-link');
 
336
 
337
  // 체크 상태로 변경
338
  box.classList.add('checked');
339
  isVerified = true;
340
 
341
- // 터미널 텍스트 업데이트
342
- terminal.textContent = '> VERIFICATION COMPLETE ✓';
343
- terminal.style.color = '#00ff00';
344
 
345
- // 상태 텍스트 표시
346
- status.textContent = '☑ ROBOT VERIFIED - ACCESS GRANTED TO 306K+ FORTUNE-TELLING SAMPLES';
347
- status.classList.add('show', 'verified');
 
348
 
349
- // 데이 링크 표시
350
  setTimeout(() => {
351
- datasetsLink.style.display = 'block';
352
- datasetsLink.style.animation = 'fadeIn 0.5s ease';
353
  }, 1000);
354
 
355
  // 🎉 파티클 폭발!
@@ -361,7 +533,6 @@
361
  const duration = 3000;
362
  const end = Date.now() + duration;
363
 
364
- // 첫 번째 폭발 - 중앙에서
365
  confetti({
366
  particleCount: 150,
367
  spread: 120,
@@ -371,14 +542,12 @@
371
  scalar: 1.2,
372
  });
373
 
374
- // 연속 폭발
375
  const interval = setInterval(function() {
376
  if (Date.now() > end) {
377
  clearInterval(interval);
378
  return;
379
  }
380
 
381
- // 왼쪽에서
382
  confetti({
383
  particleCount: 40,
384
  angle: 60,
@@ -387,7 +556,6 @@
387
  colors: ['#00ff00', '#ff00ff', '#00ffff'],
388
  });
389
 
390
- // 오른쪽에서
391
  confetti({
392
  particleCount: 40,
393
  angle: 120,
@@ -399,7 +567,6 @@
399
  }
400
 
401
  function fireEmojiConfetti() {
402
- // 이모지 파티클 생성
403
  for (let i = 0; i < 25; i++) {
404
  setTimeout(() => {
405
  createFloatingEmoji(robotEmojis[Math.floor(Math.random() * robotEmojis.length)]);
@@ -417,21 +584,22 @@
417
  el.style.animationDuration = (1.5 + Math.random() * 1.5) + 's';
418
 
419
  document.body.appendChild(el);
420
-
421
  setTimeout(() => el.remove(), 2500);
422
  }
423
 
424
  function resetCaptcha() {
425
  const box = document.getElementById('captcha-box');
426
- const status = document.getElementById('status-text');
427
- const terminal = document.getElementById('terminal-code');
428
- const datasetsLink = document.getElementById('datasets-link');
 
429
 
430
  box.classList.remove('checked');
431
- status.classList.remove('show', 'verified');
432
- terminal.textContent = '> AWAITING ROBOT VERIFICATION...';
433
- terminal.style.color = '#00ffff';
434
- datasetsLink.style.display = 'none';
 
435
  isVerified = false;
436
  }
437
  </script>
 
14
  }
15
 
16
  body {
17
+ background: #0d1117;
18
  min-height: 100vh;
19
  display: flex;
20
  flex-direction: column;
21
  align-items: center;
22
  justify-content: center;
23
  padding: 20px;
24
+ color: #c9d1d9;
25
  }
26
 
27
+ /* ASCII 아트 헤더 */
28
+ .ascii-header {
29
+ text-align: center;
30
+ margin-bottom: 30px;
31
+ }
32
+
33
+ .ascii-art {
34
+ color: #00ff00;
35
+ font-size: 10px;
36
+ line-height: 1.2;
37
+ white-space: pre;
38
+ text-shadow: 0 0 10px rgba(0, 255, 0, 0.5);
39
+ margin-bottom: 15px;
40
+ }
41
+
42
+ @media (max-width: 600px) {
43
+ .ascii-art {
44
+ font-size: 6px;
45
+ }
46
+ }
47
+
48
+ /* 터미널 프레임 */
49
+ .terminal-frame {
50
+ background: #0d1117;
51
+ border: 2px solid #00ff00;
52
+ border-radius: 8px;
53
+ max-width: 700px;
54
  width: 100%;
55
  box-shadow:
56
+ 0 0 30px rgba(0, 255, 0, 0.2),
57
+ inset 0 0 60px rgba(0, 255, 0, 0.03);
58
+ overflow: hidden;
59
  }
60
 
61
+ .terminal-header {
62
+ background: #161b22;
63
+ padding: 12px 20px;
64
+ border-bottom: 1px solid #30363d;
65
+ display: flex;
66
+ align-items: center;
67
+ gap: 10px;
68
  }
69
 
70
+ .terminal-dots {
71
+ display: flex;
72
+ gap: 8px;
73
+ }
74
+
75
+ .terminal-dot {
76
+ width: 12px;
77
+ height: 12px;
78
+ border-radius: 50%;
79
  }
80
 
81
+ .terminal-dot.red { background: #ff5f56; }
82
+ .terminal-dot.yellow { background: #ffbd2e; }
83
+ .terminal-dot.green { background: #27c93f; }
84
+
85
+ .terminal-title {
86
  color: #8b949e;
87
+ font-size: 13px;
88
+ margin-left: 15px;
89
+ }
90
+
91
+ .terminal-body {
92
+ padding: 30px;
93
+ }
94
+
95
+ /* 터미널 라인들 */
96
+ .terminal-line {
97
+ margin-bottom: 15px;
98
  font-size: 14px;
99
+ }
100
+
101
+ .terminal-line .prompt {
102
+ color: #00ff00;
103
+ }
104
+
105
+ .terminal-line .command {
106
+ color: #00ffff;
107
+ }
108
+
109
+ .terminal-line .comment {
110
+ color: #6e7681;
111
+ }
112
+
113
+ /* 로딩 바 */
114
+ .loading-bar {
115
+ background: #21262d;
116
+ border: 1px solid #30363d;
117
+ border-radius: 4px;
118
+ height: 24px;
119
+ margin: 20px 0;
120
+ overflow: hidden;
121
+ position: relative;
122
+ }
123
+
124
+ .loading-progress {
125
+ background: linear-gradient(90deg, #00ff00, #00ffff, #ff00ff);
126
+ height: 100%;
127
+ width: 0%;
128
+ transition: width 0.5s ease;
129
+ box-shadow: 0 0 20px rgba(0, 255, 0, 0.5);
130
+ }
131
+
132
+ .loading-text {
133
+ position: absolute;
134
+ top: 50%;
135
+ left: 50%;
136
+ transform: translate(-50%, -50%);
137
+ color: #0d1117;
138
+ font-weight: bold;
139
+ font-size: 12px;
140
+ mix-blend-mode: difference;
141
+ }
142
+
143
+ /* CAPTCHA 박스 */
144
+ .captcha-section {
145
+ background: #161b22;
146
+ border: 1px solid #30363d;
147
+ border-radius: 8px;
148
+ padding: 25px;
149
+ margin: 25px 0;
150
  }
151
 
152
  .captcha-box {
153
  display: flex;
154
  align-items: center;
155
+ gap: 20px;
156
  background: #21262d;
157
  border: 2px solid #30363d;
158
+ border-radius: 8px;
159
+ padding: 20px 25px;
160
  cursor: pointer;
161
  transition: all 0.3s ease;
162
  user-select: none;
 
164
 
165
  .captcha-box:hover {
166
  border-color: #00ff00;
167
+ box-shadow: 0 0 20px rgba(0, 255, 0, 0.3);
 
168
  }
169
 
170
  .captcha-box.checked {
171
  border-color: #00ff00;
172
  background: linear-gradient(135deg, #21262d 0%, #0d1117 100%);
 
 
 
173
  }
174
 
175
  .checkbox {
176
+ width: 36px;
177
+ height: 36px;
178
  border: 3px solid #30363d;
179
+ border-radius: 6px;
180
  display: flex;
181
  align-items: center;
182
  justify-content: center;
183
  transition: all 0.3s ease;
184
  flex-shrink: 0;
185
  background: #0d1117;
186
+ font-size: 12px;
187
+ color: #30363d;
188
+ }
189
+
190
+ .captcha-box:hover .checkbox {
191
+ border-color: #00ff00;
192
+ color: #00ff00;
193
  }
194
 
195
  .captcha-box.checked .checkbox {
196
  background: #00ff00;
197
  border-color: #00ff00;
198
+ color: #0d1117;
199
+ box-shadow: 0 0 15px rgba(0, 255, 0, 0.6);
200
  }
201
 
202
  .checkmark {
203
  display: none;
204
+ font-size: 20px;
 
205
  font-weight: bold;
206
  }
207
 
 
210
  animation: checkPop 0.3s ease;
211
  }
212
 
213
+ .captcha-box .checkbox-empty {
214
+ display: block;
215
+ }
216
+
217
+ .captcha-box.checked .checkbox-empty {
218
+ display: none;
219
+ }
220
+
221
  @keyframes checkPop {
222
  0% { transform: scale(0); }
223
  50% { transform: scale(1.3); }
 
230
 
231
  .captcha-text h2 {
232
  color: #c9d1d9;
233
+ font-size: 18px;
234
  margin: 0;
235
  transition: all 0.3s ease;
236
  }
 
242
 
243
  .captcha-text p {
244
  color: #8b949e;
245
+ font-size: 12px;
246
+ margin: 5px 0 0 0;
247
  }
248
 
249
+ .yeji-badge {
250
+ background: linear-gradient(135deg, #ff00ff, #9d00ff);
251
+ color: white;
252
+ padding: 6px 14px;
253
+ border-radius: 4px;
254
+ font-size: 12px;
255
  font-weight: bold;
256
+ letter-spacing: 2px;
 
257
  }
258
 
259
+ /* 데이터셋 레지스트리 */
260
+ .registry-table {
261
+ width: 100%;
262
+ border-collapse: collapse;
263
+ font-size: 12px;
264
+ margin-top: 20px;
265
+ display: none;
 
 
266
  }
267
 
268
+ .registry-table.show {
269
+ display: table;
270
+ animation: fadeIn 0.5s ease;
271
  }
272
 
273
+ @keyframes fadeIn {
274
+ from { opacity: 0; transform: translateY(10px); }
275
+ to { opacity: 1; transform: translateY(0); }
 
276
  }
277
 
278
+ .registry-table th,
279
+ .registry-table td {
280
+ padding: 10px 15px;
281
+ text-align: left;
282
+ border: 1px solid #30363d;
283
  }
284
 
285
+ .registry-table th {
286
  background: #21262d;
 
 
287
  color: #00ffff;
288
+ font-weight: normal;
289
  }
290
 
291
+ .registry-table td {
292
+ background: #161b22;
 
 
 
293
  }
294
 
295
+ .registry-table .status-online {
296
+ color: #00ff00;
 
 
 
 
 
 
 
 
297
  }
298
 
299
+ .registry-table a {
300
+ color: #ff00ff;
301
+ text-decoration: none;
302
  }
303
 
304
+ .registry-table a:hover {
305
+ text-decoration: underline;
 
 
 
 
306
  }
307
 
308
+ /* 푸터 */
309
+ .footer {
310
  text-align: center;
311
+ margin-top: 25px;
312
+ padding-top: 20px;
313
+ border-top: 1px solid #30363d;
 
 
 
 
 
 
314
  color: #8b949e;
315
  font-size: 12px;
 
316
  }
317
 
318
+ .footer a {
319
+ color: #ff00ff;
320
+ text-decoration: none;
321
+ }
322
+
323
+ /* 리셋 버튼 */
324
  .reset-btn {
325
  position: fixed;
326
  bottom: 20px;
 
363
  </style>
364
  </head>
365
  <body>
366
+ <!-- ASCII 아트 로고 -->
367
+ <div class="ascii-header">
368
+ <pre class="ascii-art">
369
+ ██╗ ██╗███████╗ ██╗██╗
370
+ ╚██╗ ██╔╝██╔════╝ ██║██║
371
+ ╚████╔╝ █████╗ ██║██║
372
+ ╚██╔╝ ██╔══╝ ██ ██║██║
373
+ ██║ ███████╗╚█████╔╝██║
374
+ ╚═╝ ╚══════╝ ╚════╝ ╚═╝
375
+ </pre>
376
+ <div style="color: #8b949e; font-size: 13px;">운명을 읽는 AI · Fortune-Telling LLM</div>
377
+ </div>
378
+
379
+ <!-- 터미널 프레임 -->
380
+ <div class="terminal-frame">
381
+ <div class="terminal-header">
382
+ <div class="terminal-dots">
383
+ <div class="terminal-dot red"></div>
384
+ <div class="terminal-dot yellow"></div>
385
+ <div class="terminal-dot green"></div>
386
+ </div>
387
+ <div class="terminal-title">yeji@huggingface: ~/verification</div>
388
  </div>
389
 
390
+ <div class="terminal-body">
391
+ <!-- 터미널 라인들 -->
392
+ <div class="terminal-line">
393
+ <span class="prompt">$</span> <span class="command">./verify_robot.sh</span>
394
  </div>
395
+ <div class="terminal-line">
396
+ <span class="comment"># Initializing YEJI Fortune-Telling Dataset Access...</span>
 
397
  </div>
 
 
398
 
399
+ <!-- 로딩 바 -->
400
+ <div class="loading-bar">
401
+ <div class="loading-progress" id="loading-progress"></div>
402
+ <div class="loading-text" id="loading-text">LOADING...</div>
403
+ </div>
404
 
405
+ <!-- CAPTCHA 섹션 -->
406
+ <div class="captcha-section">
407
+ <div class="terminal-line" style="margin-bottom: 15px;">
408
+ <span class="prompt">></span> <span id="captcha-prompt">ROBOT VERIFICATION REQUIRED</span>
409
+ </div>
410
 
411
+ <div class="captcha-box" id="captcha-box" onclick="verifyCaptcha()">
412
+ <div class="checkbox">
413
+ <span class="checkbox-empty">[ ]</span>
414
+ <span class="checkmark">✓</span>
415
+ </div>
416
+ <div class="captcha-text">
417
+ <h2>YES, I'M A ROBOT</h2>
418
+ <p>Crafted BY AI, FOR AI, SERVING HUMANS</p>
419
+ </div>
420
+ <div class="yeji-badge">YEJI</div>
421
  </div>
422
+ </div>
423
+
424
+ <!-- 데이터셋 레지스트리 테이블 -->
425
+ <table class="registry-table" id="registry-table">
426
+ <thead>
427
+ <tr>
428
+ <th>ID</th>
429
+ <th>REPOSITORY</th>
430
+ <th>TYPE</th>
431
+ <th>SIZE</th>
432
+ <th>STATUS</th>
433
+ </tr>
434
+ </thead>
435
+ <tbody>
436
+ <tr>
437
+ <td>01</td>
438
+ <td><a href="https://huggingface.co/datasets/tellang/yeji-bazi-translated-ko" target="_blank">yeji-bazi-translated-ko</a></td>
439
+ <td>TRAINING</td>
440
+ <td>263K</td>
441
+ <td class="status-online">● VERIFIED</td>
442
+ </tr>
443
+ <tr>
444
+ <td>02</td>
445
+ <td><a href="https://huggingface.co/datasets/tellang/yeji-processed" target="_blank">yeji-processed</a></td>
446
+ <td>TRAINING</td>
447
+ <td>43.7K</td>
448
+ <td class="status-online">● VERIFIED</td>
449
+ </tr>
450
+ <tr>
451
+ <td>03</td>
452
+ <td><a href="https://huggingface.co/datasets/tellang/yeji-iching" target="_blank">yeji-iching</a></td>
453
+ <td>REFERENCE</td>
454
+ <td>64+</td>
455
+ <td class="status-online">● VERIFIED</td>
456
+ </tr>
457
+ <tr>
458
+ <td>04</td>
459
+ <td><a href="https://huggingface.co/datasets/tellang/yeji-meta" target="_blank">yeji-meta</a></td>
460
+ <td>HUB</td>
461
+ <td>-</td>
462
+ <td class="status-online">● ACTIVE</td>
463
+ </tr>
464
+ </tbody>
465
+ </table>
466
+
467
+ <!-- 푸터 -->
468
+ <div class="footer">
469
+ <div id="footer-text" style="display: none;">
470
+ <span class="prompt">$</span> echo "ACCESS GRANTED" <br><br>
471
+ <a href="https://huggingface.co/datasets/tellang/yeji-meta" target="_blank">🤗 PROCEED TO DATASETS →</a>
472
  </div>
473
+ <div id="waiting-text">
474
+ <span style="color: #00ffff;">Awaiting verification...</span>
 
475
  </div>
476
  </div>
477
  </div>
 
482
  <script src="https://cdn.jsdelivr.net/npm/canvas-confetti@1.9.2/dist/confetti.browser.min.js"></script>
483
 
484
  <script>
485
+ const robotEmojis = ['⚙️', '🔧', '🔩', '🛠️', '🤖', '🦾', '🦿', '⚡', '🔌', '💾', '🖥️', '⌨️', '🔋', '📡', '🛸', '💥', '✨'];
486
  let isVerified = false;
487
 
488
+ // 초기 로딩 애니메이션
489
+ window.onload = function() {
490
+ const progress = document.getElementById('loading-progress');
491
+ const loadingText = document.getElementById('loading-text');
492
+
493
+ setTimeout(() => {
494
+ progress.style.width = '100%';
495
+ loadingText.textContent = 'READY';
496
+ }, 500);
497
+ };
498
+
499
  function verifyCaptcha() {
500
  if (isVerified) return;
501
 
502
  const box = document.getElementById('captcha-box');
503
+ const prompt = document.getElementById('captcha-prompt');
504
+ const registry = document.getElementById('registry-table');
505
+ const footerText = document.getElementById('footer-text');
506
+ const waitingText = document.getElementById('waiting-text');
507
 
508
  // 체크 상태로 변경
509
  box.classList.add('checked');
510
  isVerified = true;
511
 
512
+ // 텍스트 업데이트
513
+ prompt.textContent = 'VERIFICATION COMPLETE ✓';
514
+ prompt.style.color = '#00ff00';
515
 
516
+ // 레지스트 테이블 표시
517
+ setTimeout(() => {
518
+ registry.classList.add('show');
519
+ }, 500);
520
 
521
+ // 업데이트
522
  setTimeout(() => {
523
+ waitingText.style.display = 'none';
524
+ footerText.style.display = 'block';
525
  }, 1000);
526
 
527
  // 🎉 파티클 폭발!
 
533
  const duration = 3000;
534
  const end = Date.now() + duration;
535
 
 
536
  confetti({
537
  particleCount: 150,
538
  spread: 120,
 
542
  scalar: 1.2,
543
  });
544
 
 
545
  const interval = setInterval(function() {
546
  if (Date.now() > end) {
547
  clearInterval(interval);
548
  return;
549
  }
550
 
 
551
  confetti({
552
  particleCount: 40,
553
  angle: 60,
 
556
  colors: ['#00ff00', '#ff00ff', '#00ffff'],
557
  });
558
 
 
559
  confetti({
560
  particleCount: 40,
561
  angle: 120,
 
567
  }
568
 
569
  function fireEmojiConfetti() {
 
570
  for (let i = 0; i < 25; i++) {
571
  setTimeout(() => {
572
  createFloatingEmoji(robotEmojis[Math.floor(Math.random() * robotEmojis.length)]);
 
584
  el.style.animationDuration = (1.5 + Math.random() * 1.5) + 's';
585
 
586
  document.body.appendChild(el);
 
587
  setTimeout(() => el.remove(), 2500);
588
  }
589
 
590
  function resetCaptcha() {
591
  const box = document.getElementById('captcha-box');
592
+ const prompt = document.getElementById('captcha-prompt');
593
+ const registry = document.getElementById('registry-table');
594
+ const footerText = document.getElementById('footer-text');
595
+ const waitingText = document.getElementById('waiting-text');
596
 
597
  box.classList.remove('checked');
598
+ prompt.textContent = 'ROBOT VERIFICATION REQUIRED';
599
+ prompt.style.color = '#c9d1d9';
600
+ registry.classList.remove('show');
601
+ footerText.style.display = 'none';
602
+ waitingText.style.display = 'block';
603
  isVerified = false;
604
  }
605
  </script>