113 lines
2.8 KiB
HTML
113 lines
2.8 KiB
HTML
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<title>nik4nao | Watch Party</title>
|
||
<!-- Redirect to /watch-party/ after 5 seconds -->
|
||
<meta http-equiv="refresh" content="10;url=/watch-party/">
|
||
<style>
|
||
:root { color-scheme: dark; }
|
||
* { box-sizing: border-box; }
|
||
body {
|
||
margin: 0;
|
||
min-height: 100vh;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
background: radial-gradient(circle at top, #111827, #020617 60%, #000 100%);
|
||
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
||
color: #e5e7eb;
|
||
}
|
||
.card {
|
||
padding: 2.4rem 2.8rem;
|
||
border-radius: 1.4rem;
|
||
background: rgba(15, 23, 42, 0.95);
|
||
box-shadow:
|
||
0 0 40px rgba(0,0,0,0.9),
|
||
0 0 80px rgba(59,130,246,0.35);
|
||
max-width: 540px;
|
||
width: 90%;
|
||
backdrop-filter: blur(10px);
|
||
text-align: left;
|
||
}
|
||
.title {
|
||
font-size: 1.6rem;
|
||
letter-spacing: 0.12em;
|
||
text-transform: uppercase;
|
||
opacity: 0.9;
|
||
}
|
||
.subtitle {
|
||
margin-top: 0.4rem;
|
||
font-size: 0.95rem;
|
||
opacity: 0.7;
|
||
}
|
||
.badge {
|
||
display: inline-block;
|
||
margin-top: 1.2rem;
|
||
padding: 0.25rem 0.7rem;
|
||
font-size: 0.7rem;
|
||
border-radius: 999px;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.14em;
|
||
border: 1px solid rgba(148,163,184,0.7);
|
||
opacity: 0.8;
|
||
}
|
||
.info {
|
||
margin-top: 1.4rem;
|
||
font-size: 0.9rem;
|
||
opacity: 0.9;
|
||
line-height: 1.6;
|
||
}
|
||
.countdown {
|
||
margin-top: 0.8rem;
|
||
font-size: 0.85rem;
|
||
opacity: 0.7;
|
||
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;
|
||
}
|
||
a {
|
||
color: #93c5fd;
|
||
text-decoration: none;
|
||
}
|
||
a:hover {
|
||
text-decoration: underline;
|
||
}
|
||
</style>
|
||
<script>
|
||
// Optional visual countdown (doesn't affect redirect)
|
||
document.addEventListener("DOMContentLoaded", () => {
|
||
const el = document.getElementById("sec");
|
||
let s = 10;
|
||
setInterval(() => {
|
||
if (s > 0) {
|
||
el.textContent = s.toString();
|
||
s -= 1;
|
||
}
|
||
}, 1000);
|
||
});
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<main class="card">
|
||
<div class="title">nik4nao.watch</div>
|
||
<div class="subtitle">
|
||
Home network watch-party node. You’ll be redirected to the app shortly.
|
||
</div>
|
||
|
||
<div class="badge">Public entrypoint</div>
|
||
|
||
<div class="info">
|
||
<p>
|
||
This domain serves a small watch-party web app running on a private backend.
|
||
</p>
|
||
<p>
|
||
If nothing happens, you can jump directly to
|
||
<a href="/watch-party/">/watch-party/</a>.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="countdown">
|
||
Redirecting in <span id="sec">10</span> seconds…
|
||
</div>
|
||
</main>
|
||
</body>
|
||
</html> |