cloudflare
tcp/443 tcp/80 tcp/8443
gunicorn
tcp/443
Open service 62.171.183.165:80 · 3.ctf.al
2026-01-07 15:05
HTTP/1.1 404 Not Found Content-Type: text/plain; charset=utf-8 X-Content-Type-Options: nosniff Date: Wed, 07 Jan 2026 15:06:06 GMT Content-Length: 19 Connection: close 404 page not found
Open service 62.171.183.165:443 · 3.ctf.al
2026-01-07 15:05
HTTP/1.1 200 OK
Content-Length: 13536
Content-Type: text/html; charset=utf-8
Cross-Origin-Opener-Policy: same-origin-allow-popups
Date: Wed, 07 Jan 2026 15:06:06 GMT
Server: gunicorn
Set-Cookie: session=1da65753-489f-473e-8c51-d54952611b58.EkBVxzHsSxESha6pxzWy43WWG6U; HttpOnly; Path=/; SameSite=Lax
Connection: close
Page title: TO DO Operacioni Sunflower – CTF ICS/OT
<!DOCTYPE html>
<html>
<head>
<title>TO DO </title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="/themes/core/static/img/favicon.ico?d=3d05b508" type="image/x-icon">
<link rel="stylesheet" href="/themes/core/static/assets/main.e9ec7884.css">
<script src="/themes/core/static/assets/color_mode_switcher.52334129.js"></script>
<script type="text/javascript">
window.init = {
'urlRoot': "",
'csrfNonce': "8ff516051016d61ea82dfd1fb35d2e38347f32b8120f1a24d5755680fd49a617",
'userMode': "users",
'userId': 0,
'userName': null,
'userEmail': null,
'userVerified': null,
'teamId': null,
'teamName': null,
'start': null,
'end': null,
'themeSettings': null,
'eventSounds': [
"/themes/core/static/sounds/notification.webm",
"/themes/core/static/sounds/notification.mp3",
],
}
</script>
</head>
<body>
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
<div class="container">
<a href="/" class="navbar-brand">
<img
class="img-responsive ctf_logo"
src="/files/776e3ab22fa3e7aea300c49922c19672/logo1.png"
alt="TO DO "
height="25"
>
</a>
<button
class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#base-navbars"
aria-controls="base-navbars" aria-expanded="false" aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="base-navbars">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link" href="/users">
Users
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/scoreboard">
Scoreboard
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/challenges">
Challenges
</a>
</li>
</ul>
<hr class="d-sm-flex d-md-flex d-lg-none">
<ul class="navbar-nav ms-md-auto d-block d-sm-flex d-md-flex">
<li class="nav-item">
<a class="nav-link" href="/register">
<span data-bs-toggle="tooltip" data-bs-placement="bottom" title="Register">
<i class="fas fa-user-plus d-none d-md-inline d-lg-none"></i>
</span>
<span class="d-sm-inline d-md-none d-lg-inline">
<i class="fas fa-user-plus pe-1"></i>
Register
</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/login">
<span data-bs-toggle="tooltip" data-bs-placement="bottom" title="Login">
<i class="fas fa-sign-in-alt d-none d-md-inline d-lg-none"></i>
</span>
<span class="d-sm-inline d-md-none d-lg-inline">
<i class="fas fa-sign-in-alt pe-1"></i>
Login
</span>
</a>
</li>
<li class="nav-item dropdown">
<button class="nav-link dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="fas fa-language d-none d-md-inline"></i>
<span class="d-sm-inline d-md-none">
<i class="fas fa-language pe-1"></i>
Change language
</span>
</button>
<form x-data="LanguageForm">
<ul class="dropdown-menu dropdown-menu-end">
<li>
<span class="dropdown-item " @click="set" value="en">
English
</span>
</li>
<li>
<sp
Open service 62.171.183.165:80 · 2.ctf.al
2026-01-07 15:04
HTTP/1.1 404 Not Found Content-Type: text/plain; charset=utf-8 X-Content-Type-Options: nosniff Date: Wed, 07 Jan 2026 15:05:43 GMT Content-Length: 19 Connection: close 404 page not found
Open service 62.171.183.165:443 · 2.ctf.al
2026-01-07 15:04
HTTP/1.1 200 OK
Content-Length: 18277
Content-Type: text/html; charset=utf-8
Cross-Origin-Opener-Policy: same-origin-allow-popups
Date: Wed, 07 Jan 2026 15:05:43 GMT
Server: gunicorn
Set-Cookie: session=dc8d2d0c-2174-4e29-91bf-7c4f232aae93.zN1NNZuCaI6USKqhZSN6zWiZLr0; HttpOnly; Path=/; SameSite=Lax
Connection: close
Page title: Operacioni LazuzuOperacioni: LAZUZU — Hyrje
<!DOCTYPE html>
<html>
<head>
<title>Operacioni Lazuzu</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="/themes/core/static/img/favicon.ico?d=e4448e8e" type="image/x-icon">
<link rel="stylesheet" href="/themes/core/static/assets/main.e9ec7884.css">
<script src="/themes/core/static/assets/color_mode_switcher.52334129.js"></script>
<script type="text/javascript">
window.init = {
'urlRoot': "",
'csrfNonce': "ed1d5919a9534d699c108fcb1f98ad293ede46a4826d64e9cf442ed7762d8ed5",
'userMode': "users",
'userId': 0,
'userName': null,
'userEmail': null,
'userVerified': null,
'teamId': null,
'teamName': null,
'start': null,
'end': null,
'themeSettings': null,
'eventSounds': [
"/themes/core/static/sounds/notification.webm",
"/themes/core/static/sounds/notification.mp3",
],
}
</script>
</head>
<body>
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
<div class="container">
<a href="/" class="navbar-brand">
<img
class="img-responsive ctf_logo"
src="/files/47d41920586eca78d8c7395427e9c158/logo1.png"
alt="Lazuzu"
height="25"
>
</a>
<button
class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#base-navbars"
aria-controls="base-navbars" aria-expanded="false" aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="base-navbars">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link" href="/users">
Users
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/scoreboard">
Scoreboard
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/challenges">
Challenges
</a>
</li>
</ul>
<hr class="d-sm-flex d-md-flex d-lg-none">
<ul class="navbar-nav ms-md-auto d-block d-sm-flex d-md-flex">
<li class="nav-item">
<a class="nav-link" href="/register">
<span data-bs-toggle="tooltip" data-bs-placement="bottom" title="Register">
<i class="fas fa-user-plus d-none d-md-inline d-lg-none"></i>
</span>
<span class="d-sm-inline d-md-none d-lg-inline">
<i class="fas fa-user-plus pe-1"></i>
Register
</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/login">
<span data-bs-toggle="tooltip" data-bs-placement="bottom" title="Login">
<i class="fas fa-sign-in-alt d-none d-md-inline d-lg-none"></i>
</span>
<span class="d-sm-inline d-md-none d-lg-inline">
<i class="fas fa-sign-in-alt pe-1"></i>
Login
</span>
</a>
</li>
<li class="nav-item dropdown">
<button class="nav-link dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="fas fa-language d-none d-md-inline"></i>
<span class="d-sm-inline d-md-none">
<i class="fas fa-language pe-1"></i>
Change language
</span>
</button>
<form x-data="LanguageForm">
<ul class="dropdown-menu dropdown-menu-end">
<li>
<span class="dropdown-item " @click="set" value="en">
English
</span>
</li>
<li>
Open service 2606:4700:3034::ac43:900a:8443 · ctf.al
2026-01-07 15:04
HTTP/1.1 522 <none> Date: Wed, 07 Jan 2026 15:04:49 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=19522,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba459137e01ac03-YYZ alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:3034::ac43:900a:443 · ctf.al
2026-01-07 15:04
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 15:04:29 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Accept-Ranges: bytes
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Fgufeyyu5sjpm2P1jsftAt6scCxMY8s8YbqSRr%2BM9yZmlRHaeJVSQtLd0oVYqv%2FVhDTy5589U%2FoQfCCWFIIYJe8GSQ2kNoKmhsMhgwHKK1VgRg%3D%3D"}]}
last-modified: Tue, 23 Sep 2025 20:07:38 GMT
Server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9ba4590d6b8ab18f-FRA
alt-svc: h3=":443"; ma=86400
Page title: CTF.al — Capture The Flag Hub
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CTF.al — Capture The Flag Hub</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="dark light" />
<meta name="description" content="CTF.al — Learn, train and compete across Web, Binary, Forensics and ICS/OT ranges. Story-driven CTFs built with passion.">
<style>
:root{
--bg1:#070b14; --bg2:#0a1220; --bg3:#0c1830;
--accent:#00e5ff; --accent2:#9d66ff; --accent3:#3bff8a;
--text:#e6edf3; --muted:#9db0c8; --card:#0e1726cc; --border:#24324588;
--ring: 0 0 0 2px #00e5ff22, 0 0 40px #00e5ff22;
--radius:18px; --shadow:0 10px 40px #0008;
--wrap: 1200px; /* wider content */
}
*{box-sizing:border-box}
html,body{height:100%}
body{
margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji";
color:var(--text); background: linear-gradient(180deg, var(--bg1), var(--bg2) 40%, var(--bg3));
overflow-x:hidden;
}
/* Canvas galaxy background */
#galaxy{
position:fixed; inset:0; z-index:-2; display:block; background:radial-gradient(1200px 600px at 20% 0%, #12213f 0%, transparent 60%),
radial-gradient(800px 400px at 80% 20%, #1a0f2f 0%, transparent 60%);
}
/* Slow moving nebula overlay */
.nebula{
position:fixed; inset:-10% -10% -10% -10%; z-index:-1; pointer-events:none; opacity:.25; filter:blur(30px);
background:
radial-gradient(600px 300px at 10% 20%, #0ea5e9aa 0%, transparent 60%),
radial-gradient(700px 350px at 85% 25%, #a855f7aa 0%, transparent 60%),
radial-gradient(600px 300px at 50% 90%, #22d3ee88 0%, transparent 60%);
animation: float 40s linear infinite;
}
@keyframes float { from{transform:translate3d(0,0,0)} to{transform:translate3d(0,40px,0)} }
@media (prefers-reduced-motion: reduce){ .nebula{animation:none} }
/* Layout */
.wrap{max-width:var(--wrap); margin-inline:auto; padding:28px}
header{
position:sticky; top:0; backdrop-filter:saturate(140%) blur(10px);
background:#0c1220b3; border-bottom:1px solid #1f2a3b; z-index:40
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:18px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text)}
.brand img.logo{height:40px; width:auto; display:block; border-radius:8px; box-shadow:var(--ring)}
.brand h1{font-size:19px; margin:0; letter-spacing:.3px}
.pill{display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid #27344a; border-radius:999px; color:var(--muted); font-size:12px}
.pill .dot{width:8px; height:8px; border-radius:999px; background:#30e88b; box-shadow:0 0 8px #30e88b99}
/* Hero */
.hero{position:relative; padding:64px 0 8px}
.hero-grid{display:grid; grid-template-columns:min(44vw,560px) 1fr; align-items:center; gap:32px}
.title{font-size:48px; line-height:1.08; margin:0 0 16px 0; letter-spacing:.2px}
.subtitle{font-size:18px; color:var(--muted); margin:0 0 22px; max-width:90ch}
.cta-row{display:flex; gap:14px; flex-wrap:wrap}
.btn{
display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:#031018; font-weight:700;
background:linear-gradient(135deg, var(--accent), var(--accent2));
padding:12px 18px; border-radius:12px; box-shadow: var(--shadow);
transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{transform:translateY(-1px); box-shadow:0 16px 40px #000a}
.btn.ghost{background:transparent; color:var(--text); border:1px solid #2a3953}
.btn:active{filter:brightness(.95)}
.meta{display:flex; gap:16px; margin-top:10px; color:var(--muted); font-size:13px; flex-wrap:wrap}
/* Constellation logo (SVG, left) */
.constellation-wrap{width:100%; max-width:560px; aspect-ratio: 5/4;}
.constell
Open service 2606:4700:3030::6815:2761:80 · ctf.al
2026-01-07 15:04
HTTP/1.1 301 Moved Permanently
Date: Wed, 07 Jan 2026 15:04:29 GMT
Content-Length: 17
Connection: close
Location: https://ctf.al/
cf-cache-status: DYNAMIC
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=fmcrrGbn9UywDUd7k95aD6ovWLsdWbVnnTXbF87yq2Tz60FryTw0cJ6ZTIk5l7G3Cpwz6PVDYoFFCRH19WTsPW3qAhbGa6HhR4M7AcleqeasCw%3D%3D"}]}
Server: cloudflare
CF-RAY: 9ba4590d1eba9259-FRA
alt-svc: h3=":443"; ma=86400
Moved Permanently
Open service 172.67.144.10:80 · ctf.al
2026-01-07 15:04
HTTP/1.1 301 Moved Permanently
Date: Wed, 07 Jan 2026 15:04:29 GMT
Content-Length: 17
Connection: close
Location: https://ctf.al/
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=15,cfOrigin;dur=190
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=W7M78tWNdHFJ3nxKIwp8iNoHZwNdWBWQhOF%2BvmpWYQwfWHJ%2FQixQxdxJ0XZsQFZVUMqrHLNjGZvaUHlQecvhfx2Ams8StQ%3D%3D"}]}
Server: cloudflare
CF-RAY: 9ba4590defd5dc28-EWR
alt-svc: h3=":443"; ma=86400
Moved Permanently
Open service 172.67.144.10:8443 · ctf.al
2026-01-07 15:04
HTTP/1.1 522 <none> Date: Wed, 07 Jan 2026 15:04:49 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=19588,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba45912e8840702-YYZ alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.21.39.97:80 · ctf.al
2026-01-07 15:04
HTTP/1.1 301 Moved Permanently
Date: Wed, 07 Jan 2026 15:04:29 GMT
Content-Length: 17
Connection: close
Location: https://ctf.al/
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=11,cfOrigin;dur=107
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1kcLIyH0Ghqb%2BGOCJ21Ewb9GB1aXXU3ZrAAuFt5ek3ewFyjHskjsuE34lxuiInPcYOM5Hf0F%2Fa5hUutmcWUDwYyW%2BweAUg%3D%3D"}]}
Server: cloudflare
CF-RAY: 9ba4590dffebec6f-YYZ
alt-svc: h3=":443"; ma=86400
Moved Permanently
Open service 104.21.39.97:443 · ctf.al
2026-01-07 15:04
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 15:04:29 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Accept-Ranges: bytes
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=rEWlZ6o4o9tOP4eHJQt6lE0OG6bkz1gs9iFQN2GUEhApK%2BBRVQ7siROB%2BW4lby2dhZdSiIJCOZ039tMwGkkjn6Qjz2duxA%3D%3D"}]}
last-modified: Tue, 23 Sep 2025 20:07:38 GMT
Server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=4,cfOrigin;dur=107
CF-RAY: 9ba4590f6c6b71ff-YYZ
alt-svc: h3=":443"; ma=86400
Page title: CTF.al — Capture The Flag Hub
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CTF.al — Capture The Flag Hub</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="dark light" />
<meta name="description" content="CTF.al — Learn, train and compete across Web, Binary, Forensics and ICS/OT ranges. Story-driven CTFs built with passion.">
<style>
:root{
--bg1:#070b14; --bg2:#0a1220; --bg3:#0c1830;
--accent:#00e5ff; --accent2:#9d66ff; --accent3:#3bff8a;
--text:#e6edf3; --muted:#9db0c8; --card:#0e1726cc; --border:#24324588;
--ring: 0 0 0 2px #00e5ff22, 0 0 40px #00e5ff22;
--radius:18px; --shadow:0 10px 40px #0008;
--wrap: 1200px; /* wider content */
}
*{box-sizing:border-box}
html,body{height:100%}
body{
margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji";
color:var(--text); background: linear-gradient(180deg, var(--bg1), var(--bg2) 40%, var(--bg3));
overflow-x:hidden;
}
/* Canvas galaxy background */
#galaxy{
position:fixed; inset:0; z-index:-2; display:block; background:radial-gradient(1200px 600px at 20% 0%, #12213f 0%, transparent 60%),
radial-gradient(800px 400px at 80% 20%, #1a0f2f 0%, transparent 60%);
}
/* Slow moving nebula overlay */
.nebula{
position:fixed; inset:-10% -10% -10% -10%; z-index:-1; pointer-events:none; opacity:.25; filter:blur(30px);
background:
radial-gradient(600px 300px at 10% 20%, #0ea5e9aa 0%, transparent 60%),
radial-gradient(700px 350px at 85% 25%, #a855f7aa 0%, transparent 60%),
radial-gradient(600px 300px at 50% 90%, #22d3ee88 0%, transparent 60%);
animation: float 40s linear infinite;
}
@keyframes float { from{transform:translate3d(0,0,0)} to{transform:translate3d(0,40px,0)} }
@media (prefers-reduced-motion: reduce){ .nebula{animation:none} }
/* Layout */
.wrap{max-width:var(--wrap); margin-inline:auto; padding:28px}
header{
position:sticky; top:0; backdrop-filter:saturate(140%) blur(10px);
background:#0c1220b3; border-bottom:1px solid #1f2a3b; z-index:40
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:18px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text)}
.brand img.logo{height:40px; width:auto; display:block; border-radius:8px; box-shadow:var(--ring)}
.brand h1{font-size:19px; margin:0; letter-spacing:.3px}
.pill{display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid #27344a; border-radius:999px; color:var(--muted); font-size:12px}
.pill .dot{width:8px; height:8px; border-radius:999px; background:#30e88b; box-shadow:0 0 8px #30e88b99}
/* Hero */
.hero{position:relative; padding:64px 0 8px}
.hero-grid{display:grid; grid-template-columns:min(44vw,560px) 1fr; align-items:center; gap:32px}
.title{font-size:48px; line-height:1.08; margin:0 0 16px 0; letter-spacing:.2px}
.subtitle{font-size:18px; color:var(--muted); margin:0 0 22px; max-width:90ch}
.cta-row{display:flex; gap:14px; flex-wrap:wrap}
.btn{
display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:#031018; font-weight:700;
background:linear-gradient(135deg, var(--accent), var(--accent2));
padding:12px 18px; border-radius:12px; box-shadow: var(--shadow);
transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{transform:translateY(-1px); box-shadow:0 16px 40px #000a}
.btn.ghost{background:transparent; color:var(--text); border:1px solid #2a3953}
.btn:active{filter:brightness(.95)}
.meta{display:flex; gap:16px; margin-top:10px; color:var(--muted); font-size:13px; flex-wrap:wrap}
/* Constellation logo (SVG, left) */
.constellation-wrap{width:100%; max-width:560px; aspect-ratio: 5/4;}
.constell
Open service 2606:4700:3034::ac43:900a:80 · ctf.al
2026-01-07 15:04
HTTP/1.1 301 Moved Permanently
Date: Wed, 07 Jan 2026 15:04:29 GMT
Content-Length: 17
Connection: close
Location: https://ctf.al/
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=12,cfOrigin;dur=194
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=W%2FxGGPA4F2L3e%2BPF3Rr1iFZULjUZecuYseIS7NHVTbESGIb6WHIALvPScu4o7qq5NeVjuspdms4Yhjt%2FvSJgILcAnyIfXWQhWAXWfcw9uUXylw%3D%3D"}]}
Server: cloudflare
CF-RAY: 9ba4590dbb43178c-YYZ
alt-svc: h3=":443"; ma=86400
Moved Permanently
Open service 2606:4700:3030::6815:2761:443 · ctf.al
2026-01-07 15:04
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 15:04:29 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Accept-Ranges: bytes
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=PSX25UPx1poP5u16LwhYMnyqBjZKH8wyKKBsPh3KSIJ2SejKV4KvvwEI%2B87zwLwZnJgUYit0dZoHjIVYIHZl7YuYvdwMVFgd8KCFsopAf1MsOQ%3D%3D"}]}
last-modified: Tue, 23 Sep 2025 20:07:38 GMT
Server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=106
CF-RAY: 9ba4590f4e4fab0a-YYZ
alt-svc: h3=":443"; ma=86400
Page title: CTF.al — Capture The Flag Hub
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CTF.al — Capture The Flag Hub</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="dark light" />
<meta name="description" content="CTF.al — Learn, train and compete across Web, Binary, Forensics and ICS/OT ranges. Story-driven CTFs built with passion.">
<style>
:root{
--bg1:#070b14; --bg2:#0a1220; --bg3:#0c1830;
--accent:#00e5ff; --accent2:#9d66ff; --accent3:#3bff8a;
--text:#e6edf3; --muted:#9db0c8; --card:#0e1726cc; --border:#24324588;
--ring: 0 0 0 2px #00e5ff22, 0 0 40px #00e5ff22;
--radius:18px; --shadow:0 10px 40px #0008;
--wrap: 1200px; /* wider content */
}
*{box-sizing:border-box}
html,body{height:100%}
body{
margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji";
color:var(--text); background: linear-gradient(180deg, var(--bg1), var(--bg2) 40%, var(--bg3));
overflow-x:hidden;
}
/* Canvas galaxy background */
#galaxy{
position:fixed; inset:0; z-index:-2; display:block; background:radial-gradient(1200px 600px at 20% 0%, #12213f 0%, transparent 60%),
radial-gradient(800px 400px at 80% 20%, #1a0f2f 0%, transparent 60%);
}
/* Slow moving nebula overlay */
.nebula{
position:fixed; inset:-10% -10% -10% -10%; z-index:-1; pointer-events:none; opacity:.25; filter:blur(30px);
background:
radial-gradient(600px 300px at 10% 20%, #0ea5e9aa 0%, transparent 60%),
radial-gradient(700px 350px at 85% 25%, #a855f7aa 0%, transparent 60%),
radial-gradient(600px 300px at 50% 90%, #22d3ee88 0%, transparent 60%);
animation: float 40s linear infinite;
}
@keyframes float { from{transform:translate3d(0,0,0)} to{transform:translate3d(0,40px,0)} }
@media (prefers-reduced-motion: reduce){ .nebula{animation:none} }
/* Layout */
.wrap{max-width:var(--wrap); margin-inline:auto; padding:28px}
header{
position:sticky; top:0; backdrop-filter:saturate(140%) blur(10px);
background:#0c1220b3; border-bottom:1px solid #1f2a3b; z-index:40
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:18px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text)}
.brand img.logo{height:40px; width:auto; display:block; border-radius:8px; box-shadow:var(--ring)}
.brand h1{font-size:19px; margin:0; letter-spacing:.3px}
.pill{display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid #27344a; border-radius:999px; color:var(--muted); font-size:12px}
.pill .dot{width:8px; height:8px; border-radius:999px; background:#30e88b; box-shadow:0 0 8px #30e88b99}
/* Hero */
.hero{position:relative; padding:64px 0 8px}
.hero-grid{display:grid; grid-template-columns:min(44vw,560px) 1fr; align-items:center; gap:32px}
.title{font-size:48px; line-height:1.08; margin:0 0 16px 0; letter-spacing:.2px}
.subtitle{font-size:18px; color:var(--muted); margin:0 0 22px; max-width:90ch}
.cta-row{display:flex; gap:14px; flex-wrap:wrap}
.btn{
display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:#031018; font-weight:700;
background:linear-gradient(135deg, var(--accent), var(--accent2));
padding:12px 18px; border-radius:12px; box-shadow: var(--shadow);
transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{transform:translateY(-1px); box-shadow:0 16px 40px #000a}
.btn.ghost{background:transparent; color:var(--text); border:1px solid #2a3953}
.btn:active{filter:brightness(.95)}
.meta{display:flex; gap:16px; margin-top:10px; color:var(--muted); font-size:13px; flex-wrap:wrap}
/* Constellation logo (SVG, left) */
.constellation-wrap{width:100%; max-width:560px; aspect-ratio: 5/4;}
.constell
Open service 104.21.39.97:8443 · ctf.al
2026-01-07 15:04
HTTP/1.1 522 <none> Date: Wed, 07 Jan 2026 15:04:49 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=19661,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba4591278b3f46c-YYZ alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 172.67.144.10:443 · ctf.al
2026-01-07 15:04
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 15:04:28 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Accept-Ranges: bytes
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Sxiint%2BynPv4I3vjK9kin%2FtLjGLrM69Ef3QPBIQQ%2F2wV0OqvdaEyuD7Pc7fzPRdnvSF0HpG1t3wgpr82eWAW95M0F7DfHQ%3D%3D"}]}
last-modified: Tue, 23 Sep 2025 20:07:38 GMT
Server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9ba4590ca91022d1-AMS
alt-svc: h3=":443"; ma=86400
Page title: CTF.al — Capture The Flag Hub
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CTF.al — Capture The Flag Hub</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="dark light" />
<meta name="description" content="CTF.al — Learn, train and compete across Web, Binary, Forensics and ICS/OT ranges. Story-driven CTFs built with passion.">
<style>
:root{
--bg1:#070b14; --bg2:#0a1220; --bg3:#0c1830;
--accent:#00e5ff; --accent2:#9d66ff; --accent3:#3bff8a;
--text:#e6edf3; --muted:#9db0c8; --card:#0e1726cc; --border:#24324588;
--ring: 0 0 0 2px #00e5ff22, 0 0 40px #00e5ff22;
--radius:18px; --shadow:0 10px 40px #0008;
--wrap: 1200px; /* wider content */
}
*{box-sizing:border-box}
html,body{height:100%}
body{
margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji";
color:var(--text); background: linear-gradient(180deg, var(--bg1), var(--bg2) 40%, var(--bg3));
overflow-x:hidden;
}
/* Canvas galaxy background */
#galaxy{
position:fixed; inset:0; z-index:-2; display:block; background:radial-gradient(1200px 600px at 20% 0%, #12213f 0%, transparent 60%),
radial-gradient(800px 400px at 80% 20%, #1a0f2f 0%, transparent 60%);
}
/* Slow moving nebula overlay */
.nebula{
position:fixed; inset:-10% -10% -10% -10%; z-index:-1; pointer-events:none; opacity:.25; filter:blur(30px);
background:
radial-gradient(600px 300px at 10% 20%, #0ea5e9aa 0%, transparent 60%),
radial-gradient(700px 350px at 85% 25%, #a855f7aa 0%, transparent 60%),
radial-gradient(600px 300px at 50% 90%, #22d3ee88 0%, transparent 60%);
animation: float 40s linear infinite;
}
@keyframes float { from{transform:translate3d(0,0,0)} to{transform:translate3d(0,40px,0)} }
@media (prefers-reduced-motion: reduce){ .nebula{animation:none} }
/* Layout */
.wrap{max-width:var(--wrap); margin-inline:auto; padding:28px}
header{
position:sticky; top:0; backdrop-filter:saturate(140%) blur(10px);
background:#0c1220b3; border-bottom:1px solid #1f2a3b; z-index:40
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:18px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text)}
.brand img.logo{height:40px; width:auto; display:block; border-radius:8px; box-shadow:var(--ring)}
.brand h1{font-size:19px; margin:0; letter-spacing:.3px}
.pill{display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid #27344a; border-radius:999px; color:var(--muted); font-size:12px}
.pill .dot{width:8px; height:8px; border-radius:999px; background:#30e88b; box-shadow:0 0 8px #30e88b99}
/* Hero */
.hero{position:relative; padding:64px 0 8px}
.hero-grid{display:grid; grid-template-columns:min(44vw,560px) 1fr; align-items:center; gap:32px}
.title{font-size:48px; line-height:1.08; margin:0 0 16px 0; letter-spacing:.2px}
.subtitle{font-size:18px; color:var(--muted); margin:0 0 22px; max-width:90ch}
.cta-row{display:flex; gap:14px; flex-wrap:wrap}
.btn{
display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:#031018; font-weight:700;
background:linear-gradient(135deg, var(--accent), var(--accent2));
padding:12px 18px; border-radius:12px; box-shadow: var(--shadow);
transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{transform:translateY(-1px); box-shadow:0 16px 40px #000a}
.btn.ghost{background:transparent; color:var(--text); border:1px solid #2a3953}
.btn:active{filter:brightness(.95)}
.meta{display:flex; gap:16px; margin-top:10px; color:var(--muted); font-size:13px; flex-wrap:wrap}
/* Constellation logo (SVG, left) */
.constellation-wrap{width:100%; max-width:560px; aspect-ratio: 5/4;}
.constell
Open service 2606:4700:3030::6815:2761:8443 · ctf.al
2026-01-07 15:04
HTTP/1.1 522 <none> Date: Wed, 07 Jan 2026 15:04:49 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=19782,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba459121df339f2-YYZ alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 62.171.183.165:80 · ot.ctf.al
2026-01-07 15:04
HTTP/1.1 404 Not Found Content-Type: text/plain; charset=utf-8 X-Content-Type-Options: nosniff Date: Wed, 07 Jan 2026 15:05:10 GMT Content-Length: 19 Connection: close 404 page not found
Open service 62.171.183.165:443 · ot.ctf.al
2026-01-07 15:04
HTTP/1.1 200 OK
Content-Length: 22825
Content-Type: text/html; charset=utf-8
Cross-Origin-Opener-Policy: same-origin-allow-popups
Date: Wed, 07 Jan 2026 15:05:10 GMT
Server: gunicorn
Set-Cookie: session=84a4194f-b5db-4a40-b22c-2984becd5df4.YqkOyrHScivGgH3yHT6bp8zzFOs; HttpOnly; Path=/; SameSite=Lax
Connection: close
Page title: Operation Golden PhishOT World: Operation Gold Phish
<!DOCTYPE html>
<html>
<head>
<title>Operation Golden Phish</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="/files/2a7b5e3dc21d63de5a0a249ebcf7441d/ctfal.png" type="image/x-icon">
<link rel="stylesheet" href="/themes/core/static/assets/main.e9ec7884.css">
<script src="/themes/core/static/assets/color_mode_switcher.52334129.js"></script>
<script type="text/javascript">
window.init = {
'urlRoot': "",
'csrfNonce': "45bc3b119bae70048e44b008711acd454406cfd5f931afaa4517283cf6da7d17",
'userMode': "users",
'userId': 0,
'userName': null,
'userEmail': null,
'userVerified': null,
'teamId': null,
'teamName': null,
'start': null,
'end': null,
'themeSettings': null,
'eventSounds': [
"/themes/core/static/sounds/notification.webm",
"/themes/core/static/sounds/notification.mp3",
],
}
</script>
</head>
<body>
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
<div class="container">
<a href="/" class="navbar-brand">
<img
class="img-responsive ctf_logo"
src="/files/0b009f3ea5219210530bef8316d46471/ctfal.png"
alt="Operation Golden Phish"
height="25"
>
</a>
<button
class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#base-navbars"
aria-controls="base-navbars" aria-expanded="false" aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="base-navbars">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link" href="/users">
Users
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/scoreboard">
Scoreboard
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/challenges">
Challenges
</a>
</li>
</ul>
<hr class="d-sm-flex d-md-flex d-lg-none">
<ul class="navbar-nav ms-md-auto d-block d-sm-flex d-md-flex">
<li class="nav-item">
<a class="nav-link" href="/register">
<span data-bs-toggle="tooltip" data-bs-placement="bottom" title="Register">
<i class="fas fa-user-plus d-none d-md-inline d-lg-none"></i>
</span>
<span class="d-sm-inline d-md-none d-lg-inline">
<i class="fas fa-user-plus pe-1"></i>
Register
</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/login">
<span data-bs-toggle="tooltip" data-bs-placement="bottom" title="Login">
<i class="fas fa-sign-in-alt d-none d-md-inline d-lg-none"></i>
</span>
<span class="d-sm-inline d-md-none d-lg-inline">
<i class="fas fa-sign-in-alt pe-1"></i>
Login
</span>
</a>
</li>
<li class="nav-item dropdown">
<button class="nav-link dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="fas fa-language d-none d-md-inline"></i>
<span class="d-sm-inline d-md-none">
<i class="fas fa-language pe-1"></i>
Change language
</span>
</button>
<form x-data="LanguageForm">
<ul class="dropdown-menu dropdown-menu-end">
<li>
<span class="dropdown-item " @click="set" value="en">
English
</span>
</li>
Open service 62.171.183.165:80 · 1.ctf.al
2026-01-07 15:03
HTTP/1.1 404 Not Found Content-Type: text/plain; charset=utf-8 X-Content-Type-Options: nosniff Date: Wed, 07 Jan 2026 15:04:55 GMT Content-Length: 19 Connection: close 404 page not found
Open service 62.171.183.165:443 · 1.ctf.al
2026-01-07 15:03
HTTP/1.1 200 OK
Content-Length: 10579
Content-Type: text/html; charset=utf-8
Cross-Origin-Opener-Policy: same-origin-allow-popups
Date: Wed, 07 Jan 2026 15:04:55 GMT
Server: gunicorn
Set-Cookie: session=4ed2f0ee-40f1-4669-b5e3-9f853e5398b8.n9VJPTN-BoJ7kZHdlQfBvQgPxRM; HttpOnly; Path=/; SameSite=Lax
Connection: close
Page title: The Martian-Cyber Survival
<!DOCTYPE html>
<html>
<head>
<title>The Martian-Cyber Survival </title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="/themes/core/static/img/favicon.ico?d=de135717" type="image/x-icon">
<link rel="stylesheet" href="/themes/core/static/assets/main.e9ec7884.css">
<script src="/themes/core/static/assets/color_mode_switcher.52334129.js"></script>
<script type="text/javascript">
window.init = {
'urlRoot': "",
'csrfNonce': "a3b031fd6e59f93fb964113ef1c46debd264adef128f085cc1f140b6e8be73bd",
'userMode': "users",
'userId': 0,
'userName': null,
'userEmail': null,
'userVerified': null,
'teamId': null,
'teamName': null,
'start': null,
'end': null,
'themeSettings': null,
'eventSounds': [
"/themes/core/static/sounds/notification.webm",
"/themes/core/static/sounds/notification.mp3",
],
}
</script>
</head>
<body>
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
<div class="container">
<a href="/" class="navbar-brand">
<img
class="img-responsive ctf_logo"
src="/files/5a79604ce09c868b92c94ec5be83c5da/logo1.png"
alt="The Martian-Cyber Survival "
height="25"
>
</a>
<button
class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#base-navbars"
aria-controls="base-navbars" aria-expanded="false" aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="base-navbars">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link" href="/users">
Users
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/scoreboard">
Scoreboard
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/challenges">
Challenges
</a>
</li>
</ul>
<hr class="d-sm-flex d-md-flex d-lg-none">
<ul class="navbar-nav ms-md-auto d-block d-sm-flex d-md-flex">
<li class="nav-item">
<a class="nav-link" href="/register">
<span data-bs-toggle="tooltip" data-bs-placement="bottom" title="Register">
<i class="fas fa-user-plus d-none d-md-inline d-lg-none"></i>
</span>
<span class="d-sm-inline d-md-none d-lg-inline">
<i class="fas fa-user-plus pe-1"></i>
Register
</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/login">
<span data-bs-toggle="tooltip" data-bs-placement="bottom" title="Login">
<i class="fas fa-sign-in-alt d-none d-md-inline d-lg-none"></i>
</span>
<span class="d-sm-inline d-md-none d-lg-inline">
<i class="fas fa-sign-in-alt pe-1"></i>
Login
</span>
</a>
</li>
<li class="nav-item dropdown">
<button class="nav-link dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="fas fa-language d-none d-md-inline"></i>
<span class="d-sm-inline d-md-none">
<i class="fas fa-language pe-1"></i>
Change language
</span>
</button>
<form x-data="LanguageForm">
<ul class="dropdown-menu dropdown-menu-end">
<li>
<span class="dropdown-item " @click="set" value="en">
English
</span>
</li
Open service 2606:4700:3030::6815:2761:443 · ctf.al
2026-01-04 10:44
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 10:44:17 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Accept-Ranges: bytes
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=CLWwTuyQtyQ9ATnGRA1FuPwBdBSDEbgyyqF%2B2fy3hhpvnv%2FQzICGpSPzpilJwyCexeKBCwnn4EE3DBMBjUg25oBHF2hsTD5vyXEdDYi9VTNdRw%3D%3D"}]}
last-modified: Tue, 23 Sep 2025 20:07:38 GMT
Server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=6,cfOrigin;dur=2599
CF-RAY: 9b8a23b949c1c826-SIN
alt-svc: h3=":443"; ma=86400
Page title: CTF.al — Capture The Flag Hub
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CTF.al — Capture The Flag Hub</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="dark light" />
<meta name="description" content="CTF.al — Learn, train and compete across Web, Binary, Forensics and ICS/OT ranges. Story-driven CTFs built with passion.">
<style>
:root{
--bg1:#070b14; --bg2:#0a1220; --bg3:#0c1830;
--accent:#00e5ff; --accent2:#9d66ff; --accent3:#3bff8a;
--text:#e6edf3; --muted:#9db0c8; --card:#0e1726cc; --border:#24324588;
--ring: 0 0 0 2px #00e5ff22, 0 0 40px #00e5ff22;
--radius:18px; --shadow:0 10px 40px #0008;
--wrap: 1200px; /* wider content */
}
*{box-sizing:border-box}
html,body{height:100%}
body{
margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji";
color:var(--text); background: linear-gradient(180deg, var(--bg1), var(--bg2) 40%, var(--bg3));
overflow-x:hidden;
}
/* Canvas galaxy background */
#galaxy{
position:fixed; inset:0; z-index:-2; display:block; background:radial-gradient(1200px 600px at 20% 0%, #12213f 0%, transparent 60%),
radial-gradient(800px 400px at 80% 20%, #1a0f2f 0%, transparent 60%);
}
/* Slow moving nebula overlay */
.nebula{
position:fixed; inset:-10% -10% -10% -10%; z-index:-1; pointer-events:none; opacity:.25; filter:blur(30px);
background:
radial-gradient(600px 300px at 10% 20%, #0ea5e9aa 0%, transparent 60%),
radial-gradient(700px 350px at 85% 25%, #a855f7aa 0%, transparent 60%),
radial-gradient(600px 300px at 50% 90%, #22d3ee88 0%, transparent 60%);
animation: float 40s linear infinite;
}
@keyframes float { from{transform:translate3d(0,0,0)} to{transform:translate3d(0,40px,0)} }
@media (prefers-reduced-motion: reduce){ .nebula{animation:none} }
/* Layout */
.wrap{max-width:var(--wrap); margin-inline:auto; padding:28px}
header{
position:sticky; top:0; backdrop-filter:saturate(140%) blur(10px);
background:#0c1220b3; border-bottom:1px solid #1f2a3b; z-index:40
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:18px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text)}
.brand img.logo{height:40px; width:auto; display:block; border-radius:8px; box-shadow:var(--ring)}
.brand h1{font-size:19px; margin:0; letter-spacing:.3px}
.pill{display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid #27344a; border-radius:999px; color:var(--muted); font-size:12px}
.pill .dot{width:8px; height:8px; border-radius:999px; background:#30e88b; box-shadow:0 0 8px #30e88b99}
/* Hero */
.hero{position:relative; padding:64px 0 8px}
.hero-grid{display:grid; grid-template-columns:min(44vw,560px) 1fr; align-items:center; gap:32px}
.title{font-size:48px; line-height:1.08; margin:0 0 16px 0; letter-spacing:.2px}
.subtitle{font-size:18px; color:var(--muted); margin:0 0 22px; max-width:90ch}
.cta-row{display:flex; gap:14px; flex-wrap:wrap}
.btn{
display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:#031018; font-weight:700;
background:linear-gradient(135deg, var(--accent), var(--accent2));
padding:12px 18px; border-radius:12px; box-shadow: var(--shadow);
transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{transform:translateY(-1px); box-shadow:0 16px 40px #000a}
.btn.ghost{background:transparent; color:var(--text); border:1px solid #2a3953}
.btn:active{filter:brightness(.95)}
.meta{display:flex; gap:16px; margin-top:10px; color:var(--muted); font-size:13px; flex-wrap:wrap}
/* Constellation logo (SVG, left) */
.constellation-wrap{width:100%; max-width:560px; aspect-ratio: 5/4;}
.constell
Open service 2606:4700:3034::ac43:900a:8443 · ctf.al
2026-01-04 10:44
HTTP/1.1 522 <none> Date: Sun, 04 Jan 2026 10:44:35 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=19672,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9b8a23bc5fa53e36-SIN alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:3030::6815:2761:80 · ctf.al
2026-01-04 10:44
HTTP/1.1 301 Moved Permanently
Date: Sun, 04 Jan 2026 10:44:15 GMT
Content-Length: 17
Connection: close
Location: https://ctf.al/
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=17,cfOrigin;dur=313
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ODnzOa%2Fg9jmsKAWTdh9EohKx%2FqqFtxPSS6IDoQpY9Qk2RvGW88EO2iiSpNs0RemneTAL4IjsO5Q4urR1WqTPTVDU2NKICqinbWrqxrTeYM5Bvg%3D%3D"}]}
Server: cloudflare
CF-RAY: 9b8a23b9289ffdcf-SIN
alt-svc: h3=":443"; ma=86400
Moved Permanently
Open service 104.21.39.97:80 · ctf.al
2026-01-04 10:44
HTTP/1.1 301 Moved Permanently
Date: Sun, 04 Jan 2026 10:44:15 GMT
Content-Length: 17
Connection: close
Location: https://ctf.al/
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=26,cfOrigin;dur=331
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=SGyMA%2FyE2ky8vZAejL04dXt3cWjlhdd3jvF8iKG8%2Feez1xnCKqoN4rtcwM23FfT2foKISf3S76J5u0N1DtlCZSO7DHfMzA%3D%3D"}]}
Server: cloudflare
CF-RAY: 9b8a23bccbeece27-SIN
alt-svc: h3=":443"; ma=86400
Moved Permanently
Open service 172.67.144.10:80 · ctf.al
2026-01-04 10:44
HTTP/1.1 301 Moved Permanently
Date: Sun, 04 Jan 2026 10:44:15 GMT
Content-Length: 17
Connection: close
Location: https://ctf.al/
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=189,cfOrigin;dur=311
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=w1JQ6N48W79lOFXJyQ0VPjQ3PTNoBNq9gFPKYUEJmeatas0Blz8pum1I%2BiqNnHYoxXxifOB5pDxS6%2FYVs1WAZpIC5GLuRA%3D%3D"}]}
Server: cloudflare
CF-RAY: 9b8a23b8a96b3dc8-SIN
alt-svc: h3=":443"; ma=86400
Moved Permanently
Open service 2606:4700:3030::6815:2761:8443 · ctf.al
2026-01-04 10:44
HTTP/1.1 522 <none> Date: Sun, 04 Jan 2026 10:44:34 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: 9b8a23bb3cae6684-AMS alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.21.39.97:443 · ctf.al
2026-01-04 10:44
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 10:44:14 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Accept-Ranges: bytes
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Hh%2F3rY15cAkUBX6mPSTZhfYt6ESkJawFZ1IYU6U6uhYiq0v3wm6Q4SF2jwCsALUZdYLmITvkiiQYmaFvfpoVutLIvU%2BBtw%3D%3D"}]}
last-modified: Tue, 23 Sep 2025 20:07:38 GMT
Server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9b8a23b53b401e32-FRA
alt-svc: h3=":443"; ma=86400
Page title: CTF.al — Capture The Flag Hub
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CTF.al — Capture The Flag Hub</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="dark light" />
<meta name="description" content="CTF.al — Learn, train and compete across Web, Binary, Forensics and ICS/OT ranges. Story-driven CTFs built with passion.">
<style>
:root{
--bg1:#070b14; --bg2:#0a1220; --bg3:#0c1830;
--accent:#00e5ff; --accent2:#9d66ff; --accent3:#3bff8a;
--text:#e6edf3; --muted:#9db0c8; --card:#0e1726cc; --border:#24324588;
--ring: 0 0 0 2px #00e5ff22, 0 0 40px #00e5ff22;
--radius:18px; --shadow:0 10px 40px #0008;
--wrap: 1200px; /* wider content */
}
*{box-sizing:border-box}
html,body{height:100%}
body{
margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji";
color:var(--text); background: linear-gradient(180deg, var(--bg1), var(--bg2) 40%, var(--bg3));
overflow-x:hidden;
}
/* Canvas galaxy background */
#galaxy{
position:fixed; inset:0; z-index:-2; display:block; background:radial-gradient(1200px 600px at 20% 0%, #12213f 0%, transparent 60%),
radial-gradient(800px 400px at 80% 20%, #1a0f2f 0%, transparent 60%);
}
/* Slow moving nebula overlay */
.nebula{
position:fixed; inset:-10% -10% -10% -10%; z-index:-1; pointer-events:none; opacity:.25; filter:blur(30px);
background:
radial-gradient(600px 300px at 10% 20%, #0ea5e9aa 0%, transparent 60%),
radial-gradient(700px 350px at 85% 25%, #a855f7aa 0%, transparent 60%),
radial-gradient(600px 300px at 50% 90%, #22d3ee88 0%, transparent 60%);
animation: float 40s linear infinite;
}
@keyframes float { from{transform:translate3d(0,0,0)} to{transform:translate3d(0,40px,0)} }
@media (prefers-reduced-motion: reduce){ .nebula{animation:none} }
/* Layout */
.wrap{max-width:var(--wrap); margin-inline:auto; padding:28px}
header{
position:sticky; top:0; backdrop-filter:saturate(140%) blur(10px);
background:#0c1220b3; border-bottom:1px solid #1f2a3b; z-index:40
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:18px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text)}
.brand img.logo{height:40px; width:auto; display:block; border-radius:8px; box-shadow:var(--ring)}
.brand h1{font-size:19px; margin:0; letter-spacing:.3px}
.pill{display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid #27344a; border-radius:999px; color:var(--muted); font-size:12px}
.pill .dot{width:8px; height:8px; border-radius:999px; background:#30e88b; box-shadow:0 0 8px #30e88b99}
/* Hero */
.hero{position:relative; padding:64px 0 8px}
.hero-grid{display:grid; grid-template-columns:min(44vw,560px) 1fr; align-items:center; gap:32px}
.title{font-size:48px; line-height:1.08; margin:0 0 16px 0; letter-spacing:.2px}
.subtitle{font-size:18px; color:var(--muted); margin:0 0 22px; max-width:90ch}
.cta-row{display:flex; gap:14px; flex-wrap:wrap}
.btn{
display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:#031018; font-weight:700;
background:linear-gradient(135deg, var(--accent), var(--accent2));
padding:12px 18px; border-radius:12px; box-shadow: var(--shadow);
transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{transform:translateY(-1px); box-shadow:0 16px 40px #000a}
.btn.ghost{background:transparent; color:var(--text); border:1px solid #2a3953}
.btn:active{filter:brightness(.95)}
.meta{display:flex; gap:16px; margin-top:10px; color:var(--muted); font-size:13px; flex-wrap:wrap}
/* Constellation logo (SVG, left) */
.constellation-wrap{width:100%; max-width:560px; aspect-ratio: 5/4;}
.constell
Open service 104.21.39.97:8443 · ctf.al
2026-01-04 10:44
HTTP/1.1 522 <none> Date: Sun, 04 Jan 2026 10:44:34 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: 9b8a23bb2940d358-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 172.67.144.10:443 · ctf.al
2026-01-04 10:44
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 10:44:14 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Accept-Ranges: bytes
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=dWQOo%2FvbTVhap%2BaKV5aq4BGpWZVogsQ2NEZUOdYCKoJTebQMJ6pcbstMeRH9HddJqvMMbm7QNn%2BA606fa3RukELGzMG%2F6g%3D%3D"}]}
last-modified: Tue, 23 Sep 2025 20:07:38 GMT
Server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9b8a23b55a81d3a4-FRA
alt-svc: h3=":443"; ma=86400
Page title: CTF.al — Capture The Flag Hub
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CTF.al — Capture The Flag Hub</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="dark light" />
<meta name="description" content="CTF.al — Learn, train and compete across Web, Binary, Forensics and ICS/OT ranges. Story-driven CTFs built with passion.">
<style>
:root{
--bg1:#070b14; --bg2:#0a1220; --bg3:#0c1830;
--accent:#00e5ff; --accent2:#9d66ff; --accent3:#3bff8a;
--text:#e6edf3; --muted:#9db0c8; --card:#0e1726cc; --border:#24324588;
--ring: 0 0 0 2px #00e5ff22, 0 0 40px #00e5ff22;
--radius:18px; --shadow:0 10px 40px #0008;
--wrap: 1200px; /* wider content */
}
*{box-sizing:border-box}
html,body{height:100%}
body{
margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji";
color:var(--text); background: linear-gradient(180deg, var(--bg1), var(--bg2) 40%, var(--bg3));
overflow-x:hidden;
}
/* Canvas galaxy background */
#galaxy{
position:fixed; inset:0; z-index:-2; display:block; background:radial-gradient(1200px 600px at 20% 0%, #12213f 0%, transparent 60%),
radial-gradient(800px 400px at 80% 20%, #1a0f2f 0%, transparent 60%);
}
/* Slow moving nebula overlay */
.nebula{
position:fixed; inset:-10% -10% -10% -10%; z-index:-1; pointer-events:none; opacity:.25; filter:blur(30px);
background:
radial-gradient(600px 300px at 10% 20%, #0ea5e9aa 0%, transparent 60%),
radial-gradient(700px 350px at 85% 25%, #a855f7aa 0%, transparent 60%),
radial-gradient(600px 300px at 50% 90%, #22d3ee88 0%, transparent 60%);
animation: float 40s linear infinite;
}
@keyframes float { from{transform:translate3d(0,0,0)} to{transform:translate3d(0,40px,0)} }
@media (prefers-reduced-motion: reduce){ .nebula{animation:none} }
/* Layout */
.wrap{max-width:var(--wrap); margin-inline:auto; padding:28px}
header{
position:sticky; top:0; backdrop-filter:saturate(140%) blur(10px);
background:#0c1220b3; border-bottom:1px solid #1f2a3b; z-index:40
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:18px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text)}
.brand img.logo{height:40px; width:auto; display:block; border-radius:8px; box-shadow:var(--ring)}
.brand h1{font-size:19px; margin:0; letter-spacing:.3px}
.pill{display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid #27344a; border-radius:999px; color:var(--muted); font-size:12px}
.pill .dot{width:8px; height:8px; border-radius:999px; background:#30e88b; box-shadow:0 0 8px #30e88b99}
/* Hero */
.hero{position:relative; padding:64px 0 8px}
.hero-grid{display:grid; grid-template-columns:min(44vw,560px) 1fr; align-items:center; gap:32px}
.title{font-size:48px; line-height:1.08; margin:0 0 16px 0; letter-spacing:.2px}
.subtitle{font-size:18px; color:var(--muted); margin:0 0 22px; max-width:90ch}
.cta-row{display:flex; gap:14px; flex-wrap:wrap}
.btn{
display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:#031018; font-weight:700;
background:linear-gradient(135deg, var(--accent), var(--accent2));
padding:12px 18px; border-radius:12px; box-shadow: var(--shadow);
transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{transform:translateY(-1px); box-shadow:0 16px 40px #000a}
.btn.ghost{background:transparent; color:var(--text); border:1px solid #2a3953}
.btn:active{filter:brightness(.95)}
.meta{display:flex; gap:16px; margin-top:10px; color:var(--muted); font-size:13px; flex-wrap:wrap}
/* Constellation logo (SVG, left) */
.constellation-wrap{width:100%; max-width:560px; aspect-ratio: 5/4;}
.constell
Open service 172.67.144.10:8443 · ctf.al
2026-01-04 10:44
HTTP/1.1 522 <none> Date: Sun, 04 Jan 2026 10:44:34 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: 9b8a23bb3ba77e3e-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:3034::ac43:900a:80 · ctf.al
2026-01-04 10:44
HTTP/1.1 301 Moved Permanently
Date: Sun, 04 Jan 2026 10:44:14 GMT
Content-Length: 17
Connection: close
Location: https://ctf.al/
cf-cache-status: DYNAMIC
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=ShNiVdqvZ5tLGMaasBLtehsQF07A0iWvSyKf70c%2Bciu5XQECwywsrjdtwZQDsR7Csu8tRLQa54gJSk7jxBsTWWkDl5Lpg8Nlbb62at3VusfoCQ%3D%3D"}]}
Server: cloudflare
CF-RAY: 9b8a23b51ea8d348-FRA
alt-svc: h3=":443"; ma=86400
Moved Permanently
Open service 2606:4700:3034::ac43:900a:443 · ctf.al
2026-01-04 10:44
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 10:44:14 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Accept-Ranges: bytes
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=4ks5iMFS7PvFZNg2ln7inl5ZG2hKr5WA26TQ3XeW9xzoGq93ar3NbUgVq6f%2BSqmOQJejJ43YKL46va185fwjB2IQEYRQWx%2B545yoocroxNfhDA%3D%3D"}]}
last-modified: Tue, 23 Sep 2025 20:07:38 GMT
Server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9b8a23b54c310efe-FRA
alt-svc: h3=":443"; ma=86400
Page title: CTF.al — Capture The Flag Hub
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CTF.al — Capture The Flag Hub</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="dark light" />
<meta name="description" content="CTF.al — Learn, train and compete across Web, Binary, Forensics and ICS/OT ranges. Story-driven CTFs built with passion.">
<style>
:root{
--bg1:#070b14; --bg2:#0a1220; --bg3:#0c1830;
--accent:#00e5ff; --accent2:#9d66ff; --accent3:#3bff8a;
--text:#e6edf3; --muted:#9db0c8; --card:#0e1726cc; --border:#24324588;
--ring: 0 0 0 2px #00e5ff22, 0 0 40px #00e5ff22;
--radius:18px; --shadow:0 10px 40px #0008;
--wrap: 1200px; /* wider content */
}
*{box-sizing:border-box}
html,body{height:100%}
body{
margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji";
color:var(--text); background: linear-gradient(180deg, var(--bg1), var(--bg2) 40%, var(--bg3));
overflow-x:hidden;
}
/* Canvas galaxy background */
#galaxy{
position:fixed; inset:0; z-index:-2; display:block; background:radial-gradient(1200px 600px at 20% 0%, #12213f 0%, transparent 60%),
radial-gradient(800px 400px at 80% 20%, #1a0f2f 0%, transparent 60%);
}
/* Slow moving nebula overlay */
.nebula{
position:fixed; inset:-10% -10% -10% -10%; z-index:-1; pointer-events:none; opacity:.25; filter:blur(30px);
background:
radial-gradient(600px 300px at 10% 20%, #0ea5e9aa 0%, transparent 60%),
radial-gradient(700px 350px at 85% 25%, #a855f7aa 0%, transparent 60%),
radial-gradient(600px 300px at 50% 90%, #22d3ee88 0%, transparent 60%);
animation: float 40s linear infinite;
}
@keyframes float { from{transform:translate3d(0,0,0)} to{transform:translate3d(0,40px,0)} }
@media (prefers-reduced-motion: reduce){ .nebula{animation:none} }
/* Layout */
.wrap{max-width:var(--wrap); margin-inline:auto; padding:28px}
header{
position:sticky; top:0; backdrop-filter:saturate(140%) blur(10px);
background:#0c1220b3; border-bottom:1px solid #1f2a3b; z-index:40
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:18px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text)}
.brand img.logo{height:40px; width:auto; display:block; border-radius:8px; box-shadow:var(--ring)}
.brand h1{font-size:19px; margin:0; letter-spacing:.3px}
.pill{display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid #27344a; border-radius:999px; color:var(--muted); font-size:12px}
.pill .dot{width:8px; height:8px; border-radius:999px; background:#30e88b; box-shadow:0 0 8px #30e88b99}
/* Hero */
.hero{position:relative; padding:64px 0 8px}
.hero-grid{display:grid; grid-template-columns:min(44vw,560px) 1fr; align-items:center; gap:32px}
.title{font-size:48px; line-height:1.08; margin:0 0 16px 0; letter-spacing:.2px}
.subtitle{font-size:18px; color:var(--muted); margin:0 0 22px; max-width:90ch}
.cta-row{display:flex; gap:14px; flex-wrap:wrap}
.btn{
display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:#031018; font-weight:700;
background:linear-gradient(135deg, var(--accent), var(--accent2));
padding:12px 18px; border-radius:12px; box-shadow: var(--shadow);
transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{transform:translateY(-1px); box-shadow:0 16px 40px #000a}
.btn.ghost{background:transparent; color:var(--text); border:1px solid #2a3953}
.btn:active{filter:brightness(.95)}
.meta{display:flex; gap:16px; margin-top:10px; color:var(--muted); font-size:13px; flex-wrap:wrap}
/* Constellation logo (SVG, left) */
.constellation-wrap{width:100%; max-width:560px; aspect-ratio: 5/4;}
.constell