cloudflare
tcp/443 tcp/80 tcp/8443
Open service 104.21.70.130:8443 · saeta.ai
2026-01-25 09:05
HTTP/1.1 522 <none> Date: Sun, 25 Jan 2026 09:05:23 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19673,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c369b4f8c80c326-EWR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:3034::6815:4682:443 · saeta.ai
2026-01-25 09:05
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 09:05:03 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Last-Modified: Fri, 01 Aug 2025 14:45:02 GMT
Accept-Ranges: bytes
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=R6QEMC2PLUce1nBoIUyQK9h9KtxPZFrDqrY41kL6RGolubJSoTuWLkVR2AFkkqe1nYfxVEYroZkOUmCskdooh0hhbKrYMFQP1Se7HO4ILHhIj5VI"}]}
cf-cache-status: DYNAMIC
CF-RAY: 9c369b4c8a02d3b1-FRA
alt-svc: h3=":443"; ma=86400
Page title: Saeta.ai - Selección de idioma
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Saeta.ai - Selección de idioma</title>
<style>
:root {
--green: #2EFFAF;
--bg: #000;
--text: #00ffcc;
--font: 'Courier New', monospace;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--green);
font-family: var(--font);
min-height: 100vh;
display: flex;
flex-direction: column;
}
.hero {
position: relative;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 20px;
text-align: center;
overflow: hidden;
background: url('assets/dark.png') no-repeat center center;
background-size: cover;
}
/* mobile background override: WebP first, luego JPEG fallback */
@media (max-width: 320px) {
.hero {
background: url('assets/hero_dark_mobile.webp') no-repeat center top;
background-size: cover;
}
@supports not (background: url('image.webp')) {
.hero {
background: url('assets/hero_dark_mobile.jpg') no-repeat center top;
background-size: cover;
}
}
}
.overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,0.5);
z-index: 1;
}
.content {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
gap: 30px;
max-width: 900px;
width: 100%;
align-items: center;
}
.prompt-line {
display: flex;
gap: 8px;
align-items: center;
flex-wrap: wrap;
font-size: 1.5rem;
justify-content: center;
}
.typing-wrapper {
display: inline-flex;
align-items: center;
min-width: 140px;
font-weight: bold;
}
.typed {
white-space: pre;
font-size: 1.5rem;
color: var(--text);
}
.cursor {
display: inline-block;
width: 2px;
height: 1.2em;
background: var(--text);
margin-left: 4px;
animation: blink 1s step-end infinite;
}
@keyframes blink {
0%,50%,100% { opacity: 1; }
25%,75% { opacity: 0; }
}
.languages {
display: flex;
gap: 60px;
flex-wrap: wrap;
justify-content: center;
margin-top: 10px;
}
.lang-btn {
background: none;
border: none;
cursor: pointer;
color: var(--green);
font-size: 1rem;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
position: relative;
font-family: var(--font);
transition: transform .2s;
}
.lang-btn img {
width: 36px;
height: auto;
display: block;
border-radius: 4px;
filter: drop-shadow(0 0 8px var(--green));
}
.lang-btn:hover {
transform: scale(1.1);
}
.lang-btn .tooltip {
position: absolute;
bottom: -32px;
left: 50%;
transform: translateX(-50%);
background: rgba(10, 36, 99, 0.9);
padding: 6px 10px;
border-radius: 6px;
font-size: 0.75rem;
white-space: nowrap;
color: #fff;
opacity: 0;
pointer-events: none;
transition: opacity .2s;
}
.lang-btn:hover .tooltip {
opacity: 1;
}
@media (max-width: 768px) {
.prompt-line { flex-direction: column; gap: 12px; }
.languages { gap: 30px; }
}
</style>
</head>
<body>
<section class="hero">
<div class="overlay"></div>
<div class="content">
<div class="prompt-line">
<div class="prompt-label">Prompt:</div>
<div class="typing-wrapper">
<div class="typed" id="typed-text"></div>
<div class="cursor"></div>
</div>
</div>
<div class="languages">
<button class="lang-btn" data-lang="Español" data-target="/es/" aria-label="Español">
<img src="assets/flags/es.svg" alt="Españ
Open service 2606:4700:3034::6815:4682:8443 · saeta.ai
2026-01-25 09:05
HTTP/1.1 522 <none> Date: Sun, 25 Jan 2026 09:05:23 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c369b4fd998dbd0-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.21.70.130:80 · saeta.ai
2026-01-25 09:05
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 09:05:03 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Last-Modified: Fri, 01 Aug 2025 14:45:02 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=16,cfOrigin;dur=405
Accept-Ranges: bytes
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=TdPTXs%2B3DGsMw%2Fc1AqrLMA%2FXxngCoaKRHb7tkf46kwf1gicw9Ic7irEczrgESVvSokh9K3P%2FwLfdPoHZZhDIWlWGyCUBhgOO"}]}
cf-cache-status: DYNAMIC
CF-RAY: 9c369b4b0f1033ed-SJC
alt-svc: h3=":443"; ma=86400
Page title: Saeta.ai - Selección de idioma
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Saeta.ai - Selección de idioma</title>
<style>
:root {
--green: #2EFFAF;
--bg: #000;
--text: #00ffcc;
--font: 'Courier New', monospace;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--green);
font-family: var(--font);
min-height: 100vh;
display: flex;
flex-direction: column;
}
.hero {
position: relative;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 20px;
text-align: center;
overflow: hidden;
background: url('assets/dark.png') no-repeat center center;
background-size: cover;
}
/* mobile background override: WebP first, luego JPEG fallback */
@media (max-width: 320px) {
.hero {
background: url('assets/hero_dark_mobile.webp') no-repeat center top;
background-size: cover;
}
@supports not (background: url('image.webp')) {
.hero {
background: url('assets/hero_dark_mobile.jpg') no-repeat center top;
background-size: cover;
}
}
}
.overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,0.5);
z-index: 1;
}
.content {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
gap: 30px;
max-width: 900px;
width: 100%;
align-items: center;
}
.prompt-line {
display: flex;
gap: 8px;
align-items: center;
flex-wrap: wrap;
font-size: 1.5rem;
justify-content: center;
}
.typing-wrapper {
display: inline-flex;
align-items: center;
min-width: 140px;
font-weight: bold;
}
.typed {
white-space: pre;
font-size: 1.5rem;
color: var(--text);
}
.cursor {
display: inline-block;
width: 2px;
height: 1.2em;
background: var(--text);
margin-left: 4px;
animation: blink 1s step-end infinite;
}
@keyframes blink {
0%,50%,100% { opacity: 1; }
25%,75% { opacity: 0; }
}
.languages {
display: flex;
gap: 60px;
flex-wrap: wrap;
justify-content: center;
margin-top: 10px;
}
.lang-btn {
background: none;
border: none;
cursor: pointer;
color: var(--green);
font-size: 1rem;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
position: relative;
font-family: var(--font);
transition: transform .2s;
}
.lang-btn img {
width: 36px;
height: auto;
display: block;
border-radius: 4px;
filter: drop-shadow(0 0 8px var(--green));
}
.lang-btn:hover {
transform: scale(1.1);
}
.lang-btn .tooltip {
position: absolute;
bottom: -32px;
left: 50%;
transform: translateX(-50%);
background: rgba(10, 36, 99, 0.9);
padding: 6px 10px;
border-radius: 6px;
font-size: 0.75rem;
white-space: nowrap;
color: #fff;
opacity: 0;
pointer-events: none;
transition: opacity .2s;
}
.lang-btn:hover .tooltip {
opacity: 1;
}
@media (max-width: 768px) {
.prompt-line { flex-direction: column; gap: 12px; }
.languages { gap: 30px; }
}
</style>
</head>
<body>
<section class="hero">
<div class="overlay"></div>
<div class="content">
<div class="prompt-line">
<div class="prompt-label">Prompt:</div>
<div class="typing-wrapper">
<div class="typed" id="typed-text"></div>
<div class="cursor"></div>
</div>
</div>
<div class="languages">
<button class="lang-btn" data-lang="Español" data-target="/es/" aria-label="Español">
<img src="assets/flags/es.svg" alt="Españ
Open service 172.67.223.145:443 · saeta.ai
2026-01-25 09:05
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 09:05:04 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Last-Modified: Fri, 01 Aug 2025 14:45:02 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=607
Accept-Ranges: bytes
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ucDxWcm%2Bt0MlD0xM2Mw%2FvxbtsknHvLJ7pJ6eEV9TWp469BolzlAqDyZSzZwZbCqzK9yEI1YDUW0j2A6mYbSH8o37%2Fxau0LG9"}]}
cf-cache-status: DYNAMIC
CF-RAY: 9c369b4d4ddff9d4-SJC
alt-svc: h3=":443"; ma=86400
Page title: Saeta.ai - Selección de idioma
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Saeta.ai - Selección de idioma</title>
<style>
:root {
--green: #2EFFAF;
--bg: #000;
--text: #00ffcc;
--font: 'Courier New', monospace;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--green);
font-family: var(--font);
min-height: 100vh;
display: flex;
flex-direction: column;
}
.hero {
position: relative;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 20px;
text-align: center;
overflow: hidden;
background: url('assets/dark.png') no-repeat center center;
background-size: cover;
}
/* mobile background override: WebP first, luego JPEG fallback */
@media (max-width: 320px) {
.hero {
background: url('assets/hero_dark_mobile.webp') no-repeat center top;
background-size: cover;
}
@supports not (background: url('image.webp')) {
.hero {
background: url('assets/hero_dark_mobile.jpg') no-repeat center top;
background-size: cover;
}
}
}
.overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,0.5);
z-index: 1;
}
.content {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
gap: 30px;
max-width: 900px;
width: 100%;
align-items: center;
}
.prompt-line {
display: flex;
gap: 8px;
align-items: center;
flex-wrap: wrap;
font-size: 1.5rem;
justify-content: center;
}
.typing-wrapper {
display: inline-flex;
align-items: center;
min-width: 140px;
font-weight: bold;
}
.typed {
white-space: pre;
font-size: 1.5rem;
color: var(--text);
}
.cursor {
display: inline-block;
width: 2px;
height: 1.2em;
background: var(--text);
margin-left: 4px;
animation: blink 1s step-end infinite;
}
@keyframes blink {
0%,50%,100% { opacity: 1; }
25%,75% { opacity: 0; }
}
.languages {
display: flex;
gap: 60px;
flex-wrap: wrap;
justify-content: center;
margin-top: 10px;
}
.lang-btn {
background: none;
border: none;
cursor: pointer;
color: var(--green);
font-size: 1rem;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
position: relative;
font-family: var(--font);
transition: transform .2s;
}
.lang-btn img {
width: 36px;
height: auto;
display: block;
border-radius: 4px;
filter: drop-shadow(0 0 8px var(--green));
}
.lang-btn:hover {
transform: scale(1.1);
}
.lang-btn .tooltip {
position: absolute;
bottom: -32px;
left: 50%;
transform: translateX(-50%);
background: rgba(10, 36, 99, 0.9);
padding: 6px 10px;
border-radius: 6px;
font-size: 0.75rem;
white-space: nowrap;
color: #fff;
opacity: 0;
pointer-events: none;
transition: opacity .2s;
}
.lang-btn:hover .tooltip {
opacity: 1;
}
@media (max-width: 768px) {
.prompt-line { flex-direction: column; gap: 12px; }
.languages { gap: 30px; }
}
</style>
</head>
<body>
<section class="hero">
<div class="overlay"></div>
<div class="content">
<div class="prompt-line">
<div class="prompt-label">Prompt:</div>
<div class="typing-wrapper">
<div class="typed" id="typed-text"></div>
<div class="cursor"></div>
</div>
</div>
<div class="languages">
<button class="lang-btn" data-lang="Español" data-target="/es/" aria-label="Español">
<img src="assets/flags/es.svg" alt="Españ
Open service 2606:4700:3034::6815:4682:80 · saeta.ai
2026-01-25 09:05
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 09:05:03 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Last-Modified: Fri, 01 Aug 2025 14:45:02 GMT
Accept-Ranges: bytes
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=U7DSKS8J%2BrBhP9bcaoWceLzN%2Fo171DcWWmPSJQnaNwp3QITa8eDFnidPExdMxRoAs6%2BM0lUX8fnFyB91tCo3U52K1CzsKFal2UcSak5%2FFSuia8%2Bn"}]}
cf-cache-status: DYNAMIC
CF-RAY: 9c369b4b48a07a3e-LHR
alt-svc: h3=":443"; ma=86400
Page title: Saeta.ai - Selección de idioma
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Saeta.ai - Selección de idioma</title>
<style>
:root {
--green: #2EFFAF;
--bg: #000;
--text: #00ffcc;
--font: 'Courier New', monospace;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--green);
font-family: var(--font);
min-height: 100vh;
display: flex;
flex-direction: column;
}
.hero {
position: relative;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 20px;
text-align: center;
overflow: hidden;
background: url('assets/dark.png') no-repeat center center;
background-size: cover;
}
/* mobile background override: WebP first, luego JPEG fallback */
@media (max-width: 320px) {
.hero {
background: url('assets/hero_dark_mobile.webp') no-repeat center top;
background-size: cover;
}
@supports not (background: url('image.webp')) {
.hero {
background: url('assets/hero_dark_mobile.jpg') no-repeat center top;
background-size: cover;
}
}
}
.overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,0.5);
z-index: 1;
}
.content {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
gap: 30px;
max-width: 900px;
width: 100%;
align-items: center;
}
.prompt-line {
display: flex;
gap: 8px;
align-items: center;
flex-wrap: wrap;
font-size: 1.5rem;
justify-content: center;
}
.typing-wrapper {
display: inline-flex;
align-items: center;
min-width: 140px;
font-weight: bold;
}
.typed {
white-space: pre;
font-size: 1.5rem;
color: var(--text);
}
.cursor {
display: inline-block;
width: 2px;
height: 1.2em;
background: var(--text);
margin-left: 4px;
animation: blink 1s step-end infinite;
}
@keyframes blink {
0%,50%,100% { opacity: 1; }
25%,75% { opacity: 0; }
}
.languages {
display: flex;
gap: 60px;
flex-wrap: wrap;
justify-content: center;
margin-top: 10px;
}
.lang-btn {
background: none;
border: none;
cursor: pointer;
color: var(--green);
font-size: 1rem;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
position: relative;
font-family: var(--font);
transition: transform .2s;
}
.lang-btn img {
width: 36px;
height: auto;
display: block;
border-radius: 4px;
filter: drop-shadow(0 0 8px var(--green));
}
.lang-btn:hover {
transform: scale(1.1);
}
.lang-btn .tooltip {
position: absolute;
bottom: -32px;
left: 50%;
transform: translateX(-50%);
background: rgba(10, 36, 99, 0.9);
padding: 6px 10px;
border-radius: 6px;
font-size: 0.75rem;
white-space: nowrap;
color: #fff;
opacity: 0;
pointer-events: none;
transition: opacity .2s;
}
.lang-btn:hover .tooltip {
opacity: 1;
}
@media (max-width: 768px) {
.prompt-line { flex-direction: column; gap: 12px; }
.languages { gap: 30px; }
}
</style>
</head>
<body>
<section class="hero">
<div class="overlay"></div>
<div class="content">
<div class="prompt-line">
<div class="prompt-label">Prompt:</div>
<div class="typing-wrapper">
<div class="typed" id="typed-text"></div>
<div class="cursor"></div>
</div>
</div>
<div class="languages">
<button class="lang-btn" data-lang="Español" data-target="/es/" aria-label="Español">
<img src="assets/flags/es.svg" alt="Españ
Open service 104.21.70.130:443 · saeta.ai
2026-01-25 09:05
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 09:05:03 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Last-Modified: Fri, 01 Aug 2025 14:45:02 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=11,cfOrigin;dur=526
Accept-Ranges: bytes
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=erfzi4JItVsv2NYMN%2BjXd%2B%2FR6HT6fAkkOM%2BDlnxKENm%2FbmZ1I85BU8CzuaIXB1YQ8iFJeihl3aUceemS6Enwo%2BiO8bejsS3F"}]}
cf-cache-status: DYNAMIC
CF-RAY: 9c369b4bdd48cf23-SJC
alt-svc: h3=":443"; ma=86400
Page title: Saeta.ai - Selección de idioma
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Saeta.ai - Selección de idioma</title>
<style>
:root {
--green: #2EFFAF;
--bg: #000;
--text: #00ffcc;
--font: 'Courier New', monospace;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--green);
font-family: var(--font);
min-height: 100vh;
display: flex;
flex-direction: column;
}
.hero {
position: relative;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 20px;
text-align: center;
overflow: hidden;
background: url('assets/dark.png') no-repeat center center;
background-size: cover;
}
/* mobile background override: WebP first, luego JPEG fallback */
@media (max-width: 320px) {
.hero {
background: url('assets/hero_dark_mobile.webp') no-repeat center top;
background-size: cover;
}
@supports not (background: url('image.webp')) {
.hero {
background: url('assets/hero_dark_mobile.jpg') no-repeat center top;
background-size: cover;
}
}
}
.overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,0.5);
z-index: 1;
}
.content {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
gap: 30px;
max-width: 900px;
width: 100%;
align-items: center;
}
.prompt-line {
display: flex;
gap: 8px;
align-items: center;
flex-wrap: wrap;
font-size: 1.5rem;
justify-content: center;
}
.typing-wrapper {
display: inline-flex;
align-items: center;
min-width: 140px;
font-weight: bold;
}
.typed {
white-space: pre;
font-size: 1.5rem;
color: var(--text);
}
.cursor {
display: inline-block;
width: 2px;
height: 1.2em;
background: var(--text);
margin-left: 4px;
animation: blink 1s step-end infinite;
}
@keyframes blink {
0%,50%,100% { opacity: 1; }
25%,75% { opacity: 0; }
}
.languages {
display: flex;
gap: 60px;
flex-wrap: wrap;
justify-content: center;
margin-top: 10px;
}
.lang-btn {
background: none;
border: none;
cursor: pointer;
color: var(--green);
font-size: 1rem;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
position: relative;
font-family: var(--font);
transition: transform .2s;
}
.lang-btn img {
width: 36px;
height: auto;
display: block;
border-radius: 4px;
filter: drop-shadow(0 0 8px var(--green));
}
.lang-btn:hover {
transform: scale(1.1);
}
.lang-btn .tooltip {
position: absolute;
bottom: -32px;
left: 50%;
transform: translateX(-50%);
background: rgba(10, 36, 99, 0.9);
padding: 6px 10px;
border-radius: 6px;
font-size: 0.75rem;
white-space: nowrap;
color: #fff;
opacity: 0;
pointer-events: none;
transition: opacity .2s;
}
.lang-btn:hover .tooltip {
opacity: 1;
}
@media (max-width: 768px) {
.prompt-line { flex-direction: column; gap: 12px; }
.languages { gap: 30px; }
}
</style>
</head>
<body>
<section class="hero">
<div class="overlay"></div>
<div class="content">
<div class="prompt-line">
<div class="prompt-label">Prompt:</div>
<div class="typing-wrapper">
<div class="typed" id="typed-text"></div>
<div class="cursor"></div>
</div>
</div>
<div class="languages">
<button class="lang-btn" data-lang="Español" data-target="/es/" aria-label="Español">
<img src="assets/flags/es.svg" alt="Españ
Open service 2606:4700:3032::ac43:df91:80 · saeta.ai
2026-01-25 09:05
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 09:05:04 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Last-Modified: Fri, 01 Aug 2025 14:45:02 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=35,cfOrigin;dur=727
Accept-Ranges: bytes
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=0bjt9uTQCfw0B3zA7jofCsUSynC72HAPbQXUVP9C1V2sNwyD6B9psMGSC2ILgbjBlhVy%2FFjzjvc%2FscaCzzX5Kd4jabNdIZ5%2FZoJ6vZPCKbcGQg%3D%3D"}]}
cf-cache-status: DYNAMIC
CF-RAY: 9c369b4cb809ab4f-SIN
alt-svc: h3=":443"; ma=86400
Page title: Saeta.ai - Selección de idioma
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Saeta.ai - Selección de idioma</title>
<style>
:root {
--green: #2EFFAF;
--bg: #000;
--text: #00ffcc;
--font: 'Courier New', monospace;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--green);
font-family: var(--font);
min-height: 100vh;
display: flex;
flex-direction: column;
}
.hero {
position: relative;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 20px;
text-align: center;
overflow: hidden;
background: url('assets/dark.png') no-repeat center center;
background-size: cover;
}
/* mobile background override: WebP first, luego JPEG fallback */
@media (max-width: 320px) {
.hero {
background: url('assets/hero_dark_mobile.webp') no-repeat center top;
background-size: cover;
}
@supports not (background: url('image.webp')) {
.hero {
background: url('assets/hero_dark_mobile.jpg') no-repeat center top;
background-size: cover;
}
}
}
.overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,0.5);
z-index: 1;
}
.content {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
gap: 30px;
max-width: 900px;
width: 100%;
align-items: center;
}
.prompt-line {
display: flex;
gap: 8px;
align-items: center;
flex-wrap: wrap;
font-size: 1.5rem;
justify-content: center;
}
.typing-wrapper {
display: inline-flex;
align-items: center;
min-width: 140px;
font-weight: bold;
}
.typed {
white-space: pre;
font-size: 1.5rem;
color: var(--text);
}
.cursor {
display: inline-block;
width: 2px;
height: 1.2em;
background: var(--text);
margin-left: 4px;
animation: blink 1s step-end infinite;
}
@keyframes blink {
0%,50%,100% { opacity: 1; }
25%,75% { opacity: 0; }
}
.languages {
display: flex;
gap: 60px;
flex-wrap: wrap;
justify-content: center;
margin-top: 10px;
}
.lang-btn {
background: none;
border: none;
cursor: pointer;
color: var(--green);
font-size: 1rem;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
position: relative;
font-family: var(--font);
transition: transform .2s;
}
.lang-btn img {
width: 36px;
height: auto;
display: block;
border-radius: 4px;
filter: drop-shadow(0 0 8px var(--green));
}
.lang-btn:hover {
transform: scale(1.1);
}
.lang-btn .tooltip {
position: absolute;
bottom: -32px;
left: 50%;
transform: translateX(-50%);
background: rgba(10, 36, 99, 0.9);
padding: 6px 10px;
border-radius: 6px;
font-size: 0.75rem;
white-space: nowrap;
color: #fff;
opacity: 0;
pointer-events: none;
transition: opacity .2s;
}
.lang-btn:hover .tooltip {
opacity: 1;
}
@media (max-width: 768px) {
.prompt-line { flex-direction: column; gap: 12px; }
.languages { gap: 30px; }
}
</style>
</head>
<body>
<section class="hero">
<div class="overlay"></div>
<div class="content">
<div class="prompt-line">
<div class="prompt-label">Prompt:</div>
<div class="typing-wrapper">
<div class="typed" id="typed-text"></div>
<div class="cursor"></div>
</div>
</div>
<div class="languages">
<button class="lang-btn" data-lang="Español" data-target="/es/" aria-label="Español">
<img src="assets/flags/es.svg" alt="Españ
Open service 172.67.223.145:80 · saeta.ai
2026-01-25 09:05
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 09:05:03 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Last-Modified: Fri, 01 Aug 2025 14:45:02 GMT
Accept-Ranges: bytes
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=NoGrBZVg0CIQjJsksBn9j5LfP6XgUQ3WYHvWELU8W9Zx6Y9UOHZHqVNx7headJRnjHMGdMyklwv4jJ1D1mWDkJypF1bX6CkU"}]}
cf-cache-status: DYNAMIC
CF-RAY: 9c369b4a1b6d9710-AMS
alt-svc: h3=":443"; ma=86400
Page title: Saeta.ai - Selección de idioma
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Saeta.ai - Selección de idioma</title>
<style>
:root {
--green: #2EFFAF;
--bg: #000;
--text: #00ffcc;
--font: 'Courier New', monospace;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--green);
font-family: var(--font);
min-height: 100vh;
display: flex;
flex-direction: column;
}
.hero {
position: relative;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 20px;
text-align: center;
overflow: hidden;
background: url('assets/dark.png') no-repeat center center;
background-size: cover;
}
/* mobile background override: WebP first, luego JPEG fallback */
@media (max-width: 320px) {
.hero {
background: url('assets/hero_dark_mobile.webp') no-repeat center top;
background-size: cover;
}
@supports not (background: url('image.webp')) {
.hero {
background: url('assets/hero_dark_mobile.jpg') no-repeat center top;
background-size: cover;
}
}
}
.overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,0.5);
z-index: 1;
}
.content {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
gap: 30px;
max-width: 900px;
width: 100%;
align-items: center;
}
.prompt-line {
display: flex;
gap: 8px;
align-items: center;
flex-wrap: wrap;
font-size: 1.5rem;
justify-content: center;
}
.typing-wrapper {
display: inline-flex;
align-items: center;
min-width: 140px;
font-weight: bold;
}
.typed {
white-space: pre;
font-size: 1.5rem;
color: var(--text);
}
.cursor {
display: inline-block;
width: 2px;
height: 1.2em;
background: var(--text);
margin-left: 4px;
animation: blink 1s step-end infinite;
}
@keyframes blink {
0%,50%,100% { opacity: 1; }
25%,75% { opacity: 0; }
}
.languages {
display: flex;
gap: 60px;
flex-wrap: wrap;
justify-content: center;
margin-top: 10px;
}
.lang-btn {
background: none;
border: none;
cursor: pointer;
color: var(--green);
font-size: 1rem;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
position: relative;
font-family: var(--font);
transition: transform .2s;
}
.lang-btn img {
width: 36px;
height: auto;
display: block;
border-radius: 4px;
filter: drop-shadow(0 0 8px var(--green));
}
.lang-btn:hover {
transform: scale(1.1);
}
.lang-btn .tooltip {
position: absolute;
bottom: -32px;
left: 50%;
transform: translateX(-50%);
background: rgba(10, 36, 99, 0.9);
padding: 6px 10px;
border-radius: 6px;
font-size: 0.75rem;
white-space: nowrap;
color: #fff;
opacity: 0;
pointer-events: none;
transition: opacity .2s;
}
.lang-btn:hover .tooltip {
opacity: 1;
}
@media (max-width: 768px) {
.prompt-line { flex-direction: column; gap: 12px; }
.languages { gap: 30px; }
}
</style>
</head>
<body>
<section class="hero">
<div class="overlay"></div>
<div class="content">
<div class="prompt-line">
<div class="prompt-label">Prompt:</div>
<div class="typing-wrapper">
<div class="typed" id="typed-text"></div>
<div class="cursor"></div>
</div>
</div>
<div class="languages">
<button class="lang-btn" data-lang="Español" data-target="/es/" aria-label="Español">
<img src="assets/flags/es.svg" alt="Españ
Open service 2606:4700:3032::ac43:df91:443 · saeta.ai
2026-01-25 09:05
HTTP/1.1 200 OK
Date: Sun, 25 Jan 2026 09:05:03 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Last-Modified: Fri, 01 Aug 2025 14:45:02 GMT
Accept-Ranges: bytes
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=QotUCdRMbS%2BVJpe1rPRZw72eaW8zTH7IsO4w8dGkoly6yENU%2B7%2FJV1K%2FndT7Ufkx1bWMVHYpfdVwNoRl5ylXS2a%2Bea001Z6xjC62iX14Kk4K%2FA%3D%3D"}]}
cf-cache-status: DYNAMIC
CF-RAY: 9c369b4b9f25ef0b-LHR
alt-svc: h3=":443"; ma=86400
Page title: Saeta.ai - Selección de idioma
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Saeta.ai - Selección de idioma</title>
<style>
:root {
--green: #2EFFAF;
--bg: #000;
--text: #00ffcc;
--font: 'Courier New', monospace;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--green);
font-family: var(--font);
min-height: 100vh;
display: flex;
flex-direction: column;
}
.hero {
position: relative;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 20px;
text-align: center;
overflow: hidden;
background: url('assets/dark.png') no-repeat center center;
background-size: cover;
}
/* mobile background override: WebP first, luego JPEG fallback */
@media (max-width: 320px) {
.hero {
background: url('assets/hero_dark_mobile.webp') no-repeat center top;
background-size: cover;
}
@supports not (background: url('image.webp')) {
.hero {
background: url('assets/hero_dark_mobile.jpg') no-repeat center top;
background-size: cover;
}
}
}
.overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,0.5);
z-index: 1;
}
.content {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
gap: 30px;
max-width: 900px;
width: 100%;
align-items: center;
}
.prompt-line {
display: flex;
gap: 8px;
align-items: center;
flex-wrap: wrap;
font-size: 1.5rem;
justify-content: center;
}
.typing-wrapper {
display: inline-flex;
align-items: center;
min-width: 140px;
font-weight: bold;
}
.typed {
white-space: pre;
font-size: 1.5rem;
color: var(--text);
}
.cursor {
display: inline-block;
width: 2px;
height: 1.2em;
background: var(--text);
margin-left: 4px;
animation: blink 1s step-end infinite;
}
@keyframes blink {
0%,50%,100% { opacity: 1; }
25%,75% { opacity: 0; }
}
.languages {
display: flex;
gap: 60px;
flex-wrap: wrap;
justify-content: center;
margin-top: 10px;
}
.lang-btn {
background: none;
border: none;
cursor: pointer;
color: var(--green);
font-size: 1rem;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
position: relative;
font-family: var(--font);
transition: transform .2s;
}
.lang-btn img {
width: 36px;
height: auto;
display: block;
border-radius: 4px;
filter: drop-shadow(0 0 8px var(--green));
}
.lang-btn:hover {
transform: scale(1.1);
}
.lang-btn .tooltip {
position: absolute;
bottom: -32px;
left: 50%;
transform: translateX(-50%);
background: rgba(10, 36, 99, 0.9);
padding: 6px 10px;
border-radius: 6px;
font-size: 0.75rem;
white-space: nowrap;
color: #fff;
opacity: 0;
pointer-events: none;
transition: opacity .2s;
}
.lang-btn:hover .tooltip {
opacity: 1;
}
@media (max-width: 768px) {
.prompt-line { flex-direction: column; gap: 12px; }
.languages { gap: 30px; }
}
</style>
</head>
<body>
<section class="hero">
<div class="overlay"></div>
<div class="content">
<div class="prompt-line">
<div class="prompt-label">Prompt:</div>
<div class="typing-wrapper">
<div class="typed" id="typed-text"></div>
<div class="cursor"></div>
</div>
</div>
<div class="languages">
<button class="lang-btn" data-lang="Español" data-target="/es/" aria-label="Español">
<img src="assets/flags/es.svg" alt="Españ
Open service 2606:4700:3032::ac43:df91:8443 · saeta.ai
2026-01-25 09:05
HTTP/1.1 522 <none> Date: Sun, 25 Jan 2026 09:05:23 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c369b4e589d208b-LHR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 172.67.223.145:8443 · saeta.ai
2026-01-25 09:05
HTTP/1.1 522 <none> Date: Sun, 25 Jan 2026 09:05:23 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c369b4e5bd1dd10-LHR alt-svc: h3=":8443"; ma=86400 error code: 522