mod: localized English version of README and UI texts, enhanced accessibility and internationalization features
HYPN0 Build and Push Docker Image / build-and-push (push) Successful in 51s
HYPN0 Build and Push Docker Image / build-and-push (push) Successful in 51s
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>400 — Сбой ментального протокола | HypnoSVG</title>
|
||||
<meta name="description" content="Ошибка 400: Некорректный запрос к матрице HypnoSVG. Сервер не распознал структуру переданного сигнала." />
|
||||
<title>400 — Mental Protocol Malfunction | HypnoSVG</title>
|
||||
<meta name="description" content="Error 400: Malformed neural request to the HypnoSVG matrix. The server rejected the incoming brainwave syntax." />
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
<link rel="icon" type="image/svg+xml" href="/media/_error/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/media/_error/favicon.ico" />
|
||||
@@ -353,10 +353,10 @@
|
||||
<body>
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — На главную">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — Home">
|
||||
<img src="/static/img/logo-hypn0.svg" onerror="this.onerror=null; this.src='/media/_error/logo-hypn0.svg';" alt="HypnoSVG" class="logo-img" />
|
||||
</a>
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Переключить тему" title="Переключить тему">
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Toggle theme" title="Toggle theme">
|
||||
<span id="theme-icon">●</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -368,40 +368,40 @@
|
||||
<img src="/static/img/thinking.svg" onerror="this.onerror=null; this.src='/media/_error/thinking.svg';" alt="400 Bad Request Slug" />
|
||||
</div>
|
||||
|
||||
<div class="error-code-badge">СБОЙ МАТРИЦЫ // КОД 400</div>
|
||||
<div class="error-code-badge">MATRIX MALFUNCTION // CODE 400</div>
|
||||
|
||||
<h1 class="error-title">Сбой перцепционного протокола</h1>
|
||||
<h1 class="error-title">Perceptual Protocol Mismatch</h1>
|
||||
|
||||
<p class="error-desc">
|
||||
Клиент искажает ментальные сигналы или имеет невалидную структуру биоритмов мозговых данных. Неокортекс сервера отверг запрос из-за синтаксического диссонанса.
|
||||
Your client is& transmitting scrambled mental impulses or invalid bio-data structures. The server neocortex has rejected the request due to acute cognitive dissonance.
|
||||
</p>
|
||||
|
||||
<div class="hypno-quote">
|
||||
<big>Справка бюрократа 24-го уровня:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">«</span><em>Некорректно сформулированная мысль разрушает гармонию халфтона. Перепроверьте параметры запроса перед повторным сеансом внушения.</em>»
|
||||
<big>Grade 24 Bureaucrat Notice:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">“</span><em>A poorly formulated thought destabilizes the halftone continuum. Re-calibrate your request parameters before submitting to the next hypnotic wave.</em>”
|
||||
</div>
|
||||
|
||||
<div class="actions-box">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary" id="return-btn">
|
||||
<span>● Сбросить параметры и вернуться</span>
|
||||
<span>● Flush Parameters & Return</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="window.history.length > 1 ? window.history.back() : window.location.href='/'">
|
||||
<span>← На шаг назад</span>
|
||||
<span>← Go Back</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Панель калибровки с задержкой и смешными фразами -->
|
||||
<!-- Calibration panel with delay and witty messages -->
|
||||
<div class="calibration-panel" id="calibration-panel">
|
||||
<div class="calibration-status" id="calibration-status">
|
||||
Инициа­лизация очистки буфера…
|
||||
Purging corrupted memory buffer…
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" id="progress-bar"></div>
|
||||
</div>
|
||||
<div class="calibration-subtext">
|
||||
<span>Снижение ментальной нагрузки на кластер</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Пройти гипноз мгновенно →</a>
|
||||
<span>Reducing mental load on cluster</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Instant Hypnosis →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -410,11 +410,11 @@
|
||||
|
||||
<footer>
|
||||
<div class="ascii-grid">░▒▓█ ERROR 400 BAD REQUEST █▓▒░</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. Слава Гипножабе. Все права подчинены.</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. All Glory to the Hypnotoad. All minds subjugated.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// 1. Управление темой оформления (Light / Dark)
|
||||
// 1. Theme switcher (Light / Dark)
|
||||
var themeBtn = document.getElementById('theme-btn');
|
||||
var themeIcon = document.getElementById('theme-icon');
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
|
||||
// 2. Умная кнопка с задержкой и смешными сообщениями перекалибровки
|
||||
// 2. Smart button with delay and humorous recalibration messages
|
||||
var returnBtn = document.getElementById('return-btn');
|
||||
var calibPanel = document.getElementById('calibration-panel');
|
||||
var calibStatus = document.getElementById('calibration-status');
|
||||
@@ -438,10 +438,10 @@
|
||||
var isCalibrating = false;
|
||||
|
||||
var phrases = [
|
||||
{ at: 0, text: "✦ Фаза 1/4: Декодируем искажённые байты входящего сигнала…" },
|
||||
{ at: 25, text: "✦ Фаза 2/4: Бюрократ 24-го уровня отклоняет невалидный пакет…" },
|
||||
{ at: 55, text: "✦ Фаза 3/4: Очищаем буфер неокортекса от ментального шума…" },
|
||||
{ at: 85, text: "✦ Фаза 4/4: Протокол сброшен! Возвращаемся на главную…" }
|
||||
{ at: 0, text: "✦ Phase 1/4: Decoding corrupted bytes of incoming psychic telemetry…" },
|
||||
{ at: 25, text: "✦ Phase 2/4: Grade 24 Bureaucrat stamps rejected form on&nsbp;malformed packet…" },
|
||||
{ at: 55, text: "✦ Phase 3/4: Cleansing neocortex cache of residual thought noise…" },
|
||||
{ at: 85, text: "✦ Phase 4/4: Protocol reset! Warping back to the main console…" }
|
||||
];
|
||||
|
||||
returnBtn.addEventListener('click', function() {
|
||||
@@ -450,7 +450,7 @@
|
||||
|
||||
returnBtn.disabled = true;
|
||||
returnBtn.style.opacity = '0.7';
|
||||
returnBtn.innerHTML = '<span>Выполняется внушение…</span>';
|
||||
returnBtn.innerHTML = '<span>Transmitting hypnotic command…</span>';
|
||||
calibPanel.style.display = 'block';
|
||||
|
||||
var duration = 12000;
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
progressBar.style.width = progress + '%';
|
||||
|
||||
// Подбираем актуальную смешную фразу
|
||||
// Select the active phrase
|
||||
for (var i = phrases.length - 1; i >= 0; i--) {
|
||||
if (progress >= phrases[i].at) {
|
||||
calibStatus.innerHTML = phrases[i].text;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>401 — Требуется ментальная идентификация | HypnoSVG</title>
|
||||
<meta name="description" content="Ошибка 401: Доступ к закрытому узлу HypnoSVG требует прохождения авторизации." />
|
||||
<title>401 — Mental Clearance Required | HypnoSVG</title>
|
||||
<meta name="description" content="Error 401: Unauthorized access to HypnoSVG neural sector. Valid Brain Slug identification token required." />
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
<link rel="icon" type="image/svg+xml" href="/media/_error/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/media/_error/favicon.ico" />
|
||||
@@ -353,10 +353,10 @@
|
||||
<body>
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — На главную">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — Home">
|
||||
<img src="/static/img/logo-hypn0.svg" onerror="this.onerror=null; this.src='/media/_error/logo-hypn0.svg';" alt="HypnoSVG" class="logo-img" />
|
||||
</a>
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Переключить тему" title="Переключить тему">
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Toggle theme" title="Toggle theme">
|
||||
<span id="theme-icon">●</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -368,40 +368,40 @@
|
||||
<img src="/static/img/thinking.svg" onerror="this.onerror=null; this.src='/media/_error/thinking.svg';" alt="401 Unauthorized Slug" />
|
||||
</div>
|
||||
|
||||
<div class="error-code-badge">ОГРАНИЧЕНИЕ ДОСТУПА // КОД 401</div>
|
||||
<div class="error-code-badge">RESTRICTED ACCESS // CODE 401</div>
|
||||
|
||||
<h1 class="error-title">Требуется ментальная идентификация</h1>
|
||||
<h1 class="error-title">Subconscious Identity Required</h1>
|
||||
|
||||
<p class="error-desc">
|
||||
Вы попытались проникнуть в закрытый сектор подсознания без действующего пропуска или аутентификационного чипа.
|
||||
You attempted to penetrate a restricted sector of the subliminal core without an active security badge or Brain Slug authentication token.
|
||||
</p>
|
||||
|
||||
<div class="hypno-quote">
|
||||
<big>Справка бюрократа 24-го уровня:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">«</span><em>Свободная ментальность и анонимные мысли не допускаются к генераторам высшего порядка. Предъявите биометрический слепок или вернитесь в общий сектор.</em>»
|
||||
<big>Grade 24 Bureaucrat Notice:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">“</span><em>Unassigned consciousness and unauthorized thoughts are barred from high-order generative matrices. Present your neural biometric imprint or retreat to the civilian sector immediately.</em>”
|
||||
</div>
|
||||
|
||||
<div class="actions-box">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary" id="return-btn">
|
||||
<span>● Вернуться в общий сектор</span>
|
||||
<span>● Comply & Fall Back to Public Sector</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="window.history.length > 1 ? window.history.back() : window.location.href='/'">
|
||||
<span>← На шаг назад</span>
|
||||
<span>← Go Back</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Панель калибровки с задержкой и смешными фразами -->
|
||||
<!-- Calibration panel with delay and witty messages -->
|
||||
<div class="calibration-panel" id="calibration-panel">
|
||||
<div class="calibration-status" id="calibration-status">
|
||||
Инициа­лизация сканирования биометрии…
|
||||
Initializing biometric brainwave scan…
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" id="progress-bar"></div>
|
||||
</div>
|
||||
<div class="calibration-subtext">
|
||||
<span>Снижение ментальной нагрузки на кластер</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Пройти гипноз мгновенно →</a>
|
||||
<span>Reducing mental load on cluster</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Instant Hypnosis →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -410,11 +410,11 @@
|
||||
|
||||
<footer>
|
||||
<div class="ascii-grid">░▒▓█ ERROR 401 UNAUTHORIZED █▓▒░</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. Слава Гипножабе. Все права подчинены.</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. All Glory to the Hypnotoad. All minds subjugated.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// 1. Управление темой оформления (Light / Dark)
|
||||
// 1. Theme switcher (Light / Dark)
|
||||
var themeBtn = document.getElementById('theme-btn');
|
||||
var themeIcon = document.getElementById('theme-icon');
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
|
||||
// 2. Умная кнопка с задержкой и смешными сообщениями перекалибровки
|
||||
// 2. Smart button with delay and humorous recalibration messages
|
||||
var returnBtn = document.getElementById('return-btn');
|
||||
var calibPanel = document.getElementById('calibration-panel');
|
||||
var calibStatus = document.getElementById('calibration-status');
|
||||
@@ -438,10 +438,10 @@
|
||||
var isCalibrating = false;
|
||||
|
||||
var phrases = [
|
||||
{ at: 0, text: "✦ Фаза 1/4: Сканируем ментальные отпечатки и токены доступа…" },
|
||||
{ at: 25, text: "✦ Фаза 2/4: Проверяем наличие чипа мозгового слизня…" },
|
||||
{ at: 55, text: "✦ Фаза 3/4: Бюрократ 24-го уровня фиксирует отсутствие пропуска…" },
|
||||
{ at: 85, text: "✦ Фаза 4/4: Идентификация отклонена! Телепор­тация в безопасную зону…" }
|
||||
{ at: 0, text: "✦ Phase 1/4: Scanning mental signatures and psychic authentication tokens…" },
|
||||
{ at: 25, text: "✦ Phase 2/4: Verifying presence of assigned Brain Slug symbiont…" },
|
||||
{ at: 55, text: "✦ Phase 3/4: Grade 24 Bureaucrat files trespassing report in triplicate…" },
|
||||
{ at: 85, text: "✦ Phase 4/4: Access denied! Teleporting to the authorized sector…" }
|
||||
];
|
||||
|
||||
returnBtn.addEventListener('click', function() {
|
||||
@@ -450,7 +450,7 @@
|
||||
|
||||
returnBtn.disabled = true;
|
||||
returnBtn.style.opacity = '0.7';
|
||||
returnBtn.innerHTML = '<span>Выполняется внушение…</span>';
|
||||
returnBtn.innerHTML = '<span>Transmitting hypnotic command…</span>';
|
||||
calibPanel.style.display = 'block';
|
||||
|
||||
var duration = 12000;
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
progressBar.style.width = progress + '%';
|
||||
|
||||
// Подбираем актуальную смешную фразу
|
||||
// Select the active phrase
|
||||
for (var i = phrases.length - 1; i >= 0; i--) {
|
||||
if (progress >= phrases[i].at) {
|
||||
calibStatus.innerHTML = phrases[i].text;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>403 — Отказано бюрократом 24-го уровня | HypnoSVG</title>
|
||||
<meta name="description" content="Ошибка 403: Доступ к ресурсу категорически запрещен протоколами безопасности HypnoSVG." />
|
||||
<title>403 — Subconscious Blockade | HypnoSVG</title>
|
||||
<meta name="description" content="Error 403: Forbidden hypnotic sector. Clearance level insufficient for perceptual observation." />
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
<link rel="icon" type="image/svg+xml" href="/media/_error/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/media/_error/favicon.ico" />
|
||||
@@ -353,10 +353,10 @@
|
||||
<body>
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — На главную">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — Home">
|
||||
<img src="/static/img/logo-hypn0.svg" onerror="this.onerror=null; this.src='/media/_error/logo-hypn0.svg';" alt="HypnoSVG" class="logo-img" />
|
||||
</a>
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Переключить тему" title="Переключить тему">
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Toggle theme" title="Toggle theme">
|
||||
<span id="theme-icon">●</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -368,40 +368,40 @@
|
||||
<img src="/static/img/thinking.svg" onerror="this.onerror=null; this.src='/media/_error/thinking.svg';" alt="403 Forbidden Slug" />
|
||||
</div>
|
||||
|
||||
<div class="error-code-badge">ДОСТУП ЗАБЛОКИРОВАН // КОД 403</div>
|
||||
<div class="error-code-badge">ACCESS BLOCKED // CODE 403</div>
|
||||
|
||||
<h1 class="error-title">Ментальная блокировка</h1>
|
||||
<h1 class="error-title">Cognitive Lockdown Active</h1>
|
||||
|
||||
<p class="error-desc">
|
||||
У вас нет достаточного уровня перцепционного допуска для просмотра этого сектора подсознания. Вердикт окончательный и обжалованию не подлежит.
|
||||
You lack sufficient perceptual clearance to gaze into this subconscious compartment. The verdict is final, certified by the Hypnotoad, and cannot be appealed.
|
||||
</p>
|
||||
|
||||
<div class="hypno-quote">
|
||||
<big>Справка бюрократа 24-го уровня:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">«</span><em>Форма 38-Б о праве на любопытство не была заверена в Центральном Бюрократическом Управлении. Несанкционированное созерцание карается понижением до 34-го уровня.</em>»
|
||||
<big>Grade 24 Bureaucrat Notice:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">“</span><em>Form 38-B (Permit for Unsanctioned Curiosity) has not been notarized by the Central Bureaucracy. Unlawful staring is punishable by demotion to Grade 34.</em>”
|
||||
</div>
|
||||
|
||||
<div class="actions-box">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary" id="return-btn">
|
||||
<span>● Принять запрет и вернуться</span>
|
||||
<span>● Acknowledge Prohibition & Return</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="window.history.length > 1 ? window.history.back() : window.location.href='/'">
|
||||
<span>← На шаг назад</span>
|
||||
<span>← Go Back</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Панель калибровки с задержкой и смешными фразами -->
|
||||
<!-- Calibration panel with delay and witty messages -->
|
||||
<div class="calibration-panel" id="calibration-panel">
|
||||
<div class="calibration-status" id="calibration-status">
|
||||
Инициа­лизация проверки гербовых печатей…
|
||||
Verifying bureaucratic stamps and seals…
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" id="progress-bar"></div>
|
||||
</div>
|
||||
<div class="calibration-subtext">
|
||||
<span>Снижение ментальной нагрузки на кластер</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Пройти гипноз мгновенно →</a>
|
||||
<span>Reducing mental load on cluster</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Instant Hypnosis →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -410,11 +410,11 @@
|
||||
|
||||
<footer>
|
||||
<div class="ascii-grid">░▒▓█ ERROR 403 FORBIDDEN █▓▒░</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. Слава Гипножабе. Все права подчинены.</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. All Glory to the Hypnotoad. All minds subjugated.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// 1. Управление темой оформления (Light / Dark)
|
||||
// 1. Theme switcher (Light / Dark)
|
||||
var themeBtn = document.getElementById('theme-btn');
|
||||
var themeIcon = document.getElementById('theme-icon');
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
|
||||
// 2. Умная кнопка с задержкой и смешными сообщениями перекалибровки
|
||||
// 2. Smart button with delay and humorous recalibration messages
|
||||
var returnBtn = document.getElementById('return-btn');
|
||||
var calibPanel = document.getElementById('calibration-panel');
|
||||
var calibStatus = document.getElementById('calibration-status');
|
||||
@@ -438,10 +438,10 @@
|
||||
var isCalibrating = false;
|
||||
|
||||
var phrases = [
|
||||
{ at: 0, text: "✦ Фаза 1/4: Проверяем гербовые печати и визы Центрального Бюро…" },
|
||||
{ at: 25, text: "✦ Фаза 2/4: Выписываем штраф за несанкционированное любопытство…" },
|
||||
{ at: 55, text: "✦ Фаза 3/4: Блокируем блоки краткосрочной памяти и транспорт в гипокамп…" },
|
||||
{ at: 85, text: "✦ Фаза 4/4: Протокол закрыт! Перенаправ­ление на главную…" }
|
||||
{ at: 0, text: "✦ Phase 1/4: Inspecting certified permits and Central Bureaucracy visas…" },
|
||||
{ at: 25, text: "✦ Phase 2/4: Levying standard administrative fine for excessive curiosity…" },
|
||||
{ at: 55, text: "✦ Phase 3/4: Flushing short-term hippocampus cache to prevent memory leaks…" },
|
||||
{ at: 85, text: "✦ Phase 4/4: Protocol sealed! Redirecting consciousness to homepage…" }
|
||||
];
|
||||
|
||||
returnBtn.addEventListener('click', function() {
|
||||
@@ -450,7 +450,7 @@
|
||||
|
||||
returnBtn.disabled = true;
|
||||
returnBtn.style.opacity = '0.7';
|
||||
returnBtn.innerHTML = '<span>Выполняется внушение…</span>';
|
||||
returnBtn.innerHTML = '<span>Transmitting hypnotic command…</span>';
|
||||
calibPanel.style.display = 'block';
|
||||
|
||||
var duration = 12000;
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
progressBar.style.width = progress + '%';
|
||||
|
||||
// Подбираем актуальную смешную фразу
|
||||
// Select the active phrase
|
||||
for (var i = phrases.length - 1; i >= 0; i--) {
|
||||
if (progress >= phrases[i].at) {
|
||||
calibStatus.innerHTML = phrases[i].text;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>404 — Векторная реальность не найдена | HypnoSVG</title>
|
||||
<meta name="description" content="Ошибка 404: Запрашиваемая страница HypnoSVG не существует или стёрта волей Гипножабы." />
|
||||
<title>404 — Vector Reality Not Found | HypnoSVG</title>
|
||||
<meta name="description" content="Error 404: The requested HypnoSVG page does not exist or has been erased by the will of the Hypnotoad." />
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
<link rel="icon" type="image/svg+xml" href="/media/_error/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/media/_error/favicon.ico" />
|
||||
@@ -353,10 +353,10 @@
|
||||
<body>
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — На главную">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — Home">
|
||||
<img src="/static/img/logo-hypn0.svg" onerror="this.onerror=null; this.src='/media/_error/logo-hypn0.svg';" alt="HypnoSVG" class="logo-img" />
|
||||
</a>
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Переключить тему" title="Переключить тему">
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Toggle theme" title="Toggle theme">
|
||||
<span id="theme-icon">●</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -368,40 +368,40 @@
|
||||
<img src="/static/img/thinking.svg" onerror="this.onerror=null; this.src='/media/_error/thinking.svg';" alt="404 Thinking Slug" />
|
||||
</div>
|
||||
|
||||
<div class="error-code-badge">СБОЙ МАТРИЦЫ // КОД? 404</div>
|
||||
<div class="error-code-badge">MATRIX ANOMALY // CODE 404</div>
|
||||
|
||||
<h1 class="error-title">Гипноузел не обнаружен</h1>
|
||||
<h1 class="error-title">Hypno-Node Not Found</h1>
|
||||
|
||||
<p class="error-desc">
|
||||
Запра­шиваемый блок ментального пространства стёрт из подсознания сервера или никогда не существовал в этой версии вселенной.
|
||||
The requested sector of mental space has been wiped from the server’s subconscious or never existed in this branch of the multiverse.
|
||||
</p>
|
||||
|
||||
<div class="hypno-quote">
|
||||
<big>Справка бюрократа 24-го уровня:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">«</span><em>Попытка осознать отсутс­твующую координату приводит к локальному перегреву неокортекса. Не вгляды­вайтесь в пустоту. Гипножаба рекомендует немедленно сменить вектор внимания.</em>»
|
||||
<big>Grade 24 Bureaucrat Notice:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">“</span><em>Attempting to perceive a non-existent coordinate triggers localized neocortex overheating. Do not stare into the void. The Hypnotoad commands you to redirect your gaze.</em>”
|
||||
</div>
|
||||
|
||||
<div class="actions-box">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary" id="return-btn">
|
||||
<span>● Подчиниться и вернуться на главную</span>
|
||||
<span>● Obey & Return to Generator</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="window.history.length > 1 ? window.history.back() : window.location.href='/'">
|
||||
<span>← На шаг назад</span>
|
||||
<span>← Go Back</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Панель калибровки с задержкой и смешными фразами -->
|
||||
<!-- Calibration panel with delay and witty messages -->
|
||||
<div class="calibration-panel" id="calibration-panel">
|
||||
<div class="calibration-status" id="calibration-status">
|
||||
Инициа­лизация перека­либровки сознания…
|
||||
Initializing conscious recalibration…
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" id="progress-bar"></div>
|
||||
</div>
|
||||
<div class="calibration-subtext">
|
||||
<span>Снижение ментальной нагрузки на кластер</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Пройти гипноз мгновенно →</a>
|
||||
<span>Reducing mental load on cluster</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Instant Hypnosis →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -410,11 +410,11 @@
|
||||
|
||||
<footer>
|
||||
<div class="ascii-grid">░▒▓█ ERROR 404 NOT FOUND █▓▒░</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. Слава Гипножабе. Все права подчинены.</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. All Glory to the Hypnotoad. All minds subjugated.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// 1. Управление темой оформления (Light / Dark)
|
||||
// 1. Theme switcher (Light / Dark)
|
||||
var themeBtn = document.getElementById('theme-btn');
|
||||
var themeIcon = document.getElementById('theme-icon');
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
|
||||
// 2. Умная кнопка с задержкой и смешными сообщениями перекалибровки
|
||||
// 2. Smart button with delay and humorous recalibration messages
|
||||
var returnBtn = document.getElementById('return-btn');
|
||||
var calibPanel = document.getElementById('calibration-panel');
|
||||
var calibStatus = document.getElementById('calibration-status');
|
||||
@@ -438,10 +438,10 @@
|
||||
var isCalibrating = false;
|
||||
|
||||
var phrases = [
|
||||
{ at: 0, text: "✦ Фаза 1/4: Стираем остатки несущес­твующей страницы из подсознания…" },
|
||||
{ at: 25, text: "✦ Фаза 2/4: Бюрократ 24-го уровня заверяет протокол 404…" },
|
||||
{ at: 55, text: "✦ Фаза 3/4: Синхронизируем частоту мерцания с перцеп­торным полем…" },
|
||||
{ at: 85, text: "✦ Фаза 4/4: Внушение принято! Телепор­тация на главную…" }
|
||||
{ at: 0, text: "✦ Phase 1/4: Erasing traces of the phantom page from subconsciousness…" },
|
||||
{ at: 25, text: "✦ Phase 2/4: Grade 24 Bureaucrat stamps official 404 void manifest…" },
|
||||
{ at: 55, text: "✦ Phase 3/4: Synchronizing screen flicker rate with perceptual field…" },
|
||||
{ at: 85, text: "✦ Phase 4/4: Suggestion accepted! Warping back to reality…" }
|
||||
];
|
||||
|
||||
returnBtn.addEventListener('click', function() {
|
||||
@@ -450,10 +450,10 @@
|
||||
|
||||
returnBtn.disabled = true;
|
||||
returnBtn.style.opacity = '0.7';
|
||||
returnBtn.innerHTML = '<span>Выполняется внушение…</span>';
|
||||
returnBtn.innerHTML = '<span>Transmitting hypnotic command…</span>';
|
||||
calibPanel.style.display = 'block';
|
||||
|
||||
var duration = 12000; // 7 секунд, чтобы комфортно прочитать все фазы внушения
|
||||
var duration = 12000; // 7 seconds comfortable read
|
||||
var startTime = Date.now();
|
||||
|
||||
var timer = setInterval(function() {
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
progressBar.style.width = progress + '%';
|
||||
|
||||
// Подбираем актуальную смешную фразу
|
||||
// Select the active phrase
|
||||
for (var i = phrases.length - 1; i >= 0; i--) {
|
||||
if (progress >= phrases[i].at) {
|
||||
calibStatus.innerHTML = phrases[i].text;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>413 — Перегрузка сенсорных каналов | HypnoSVG</title>
|
||||
<meta name="description" content="Ошибка 413: Загружаемый файл превышает допустимый размер ментального буфера HypnoSVG." />
|
||||
<title>413 — Sensory Channel Overload | HypnoSVG</title>
|
||||
<meta name="description" content="Error 413: Payload too large for HypnoSVG perception matrix. Compress the image before neural transmission." />
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
<link rel="icon" type="image/svg+xml" href="/media/_error/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/media/_error/favicon.ico" />
|
||||
@@ -353,10 +353,10 @@
|
||||
<body>
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — На главную">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — Home">
|
||||
<img src="/static/img/logo-hypn0.svg" onerror="this.onerror=null; this.src='/media/_error/logo-hypn0.svg';" alt="HypnoSVG" class="logo-img" />
|
||||
</a>
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Переключить тему" title="Переключить тему">
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Toggle theme" title="Toggle theme">
|
||||
<span id="theme-icon">●</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -368,40 +368,40 @@
|
||||
<img src="/static/img/thinking.svg" onerror="this.onerror=null; this.src='/media/_error/thinking.svg';" alt="413 Payload Too Large Slug" />
|
||||
</div>
|
||||
|
||||
<div class="error-code-badge">ПРЕВЫШЕН ЛИМИТ // КОД 413</div>
|
||||
<div class="error-code-badge">LIMIT EXCEEDED // CODE 413</div>
|
||||
|
||||
<h1 class="error-title">Перегрузка сенсорных каналов</h1>
|
||||
<h1 class="error-title">Sensory Channel Saturation</h1>
|
||||
|
||||
<p class="error-desc">
|
||||
Загружаемое изображение оказалось слишком массивным для восприятия ментальной матрицей. Сервер перцепций отказался поглощать такой объём байтов.
|
||||
The uploaded image is far too dense for the mental matrix to ingest. The perceptual server refuses to swallow this monstrous volume of raw raster bytes.
|
||||
</p>
|
||||
|
||||
<div class="hypno-quote">
|
||||
<big>Справка бюрократа 24-го уровня:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">«</span><em>Попытка скормить гигабайты растра хрупкому SVG-генератору расценивается как диверсия. Уменьшите разрешение или сожмите файл перед повторной загрузкой в ментальную матрицу.</em>»
|
||||
<big>Grade 24 Bureaucrat Notice:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">“</span><em>Shoving gigabytes of raw pixels down a delicate SVG generator’s throat is classified as psychic sabotage. Downscale or compress the file before feeding the matrix.</em>”
|
||||
</div>
|
||||
|
||||
<div class="actions-box">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary" id="return-btn">
|
||||
<span>● Сжать восприятие и вернуться</span>
|
||||
<span>● Compress Perception & Return</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="window.history.length > 1 ? window.history.back() : window.location.href='/'">
|
||||
<span>← На шаг назад</span>
|
||||
<span>← Go Back</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Панель калибровки с задержкой и смешными фразами -->
|
||||
<!-- Calibration panel with delay and witty messages -->
|
||||
<div class="calibration-panel" id="calibration-panel">
|
||||
<div class="calibration-status" id="calibration-status">
|
||||
Инициа­лизация сброса переполненного буфера…
|
||||
Purging overflowed ingestion buffers…
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" id="progress-bar"></div>
|
||||
</div>
|
||||
<div class="calibration-subtext">
|
||||
<span>Снижение ментальной нагрузки на кластер</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Пройти гипноз мгновенно →</a>
|
||||
<span>Reducing mental load on cluster</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Instant Hypnosis →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -410,11 +410,11 @@
|
||||
|
||||
<footer>
|
||||
<div class="ascii-grid">░▒▓█ ERROR 413 PAYLOAD TOO LARGE █▓▒░</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. Слава Гипножабе. Все права подчинены.</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. All Glory to the Hypnotoad. All minds subjugated.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// 1. Управление темой оформления (Light / Dark)
|
||||
// 1. Theme switcher (Light / Dark)
|
||||
var themeBtn = document.getElementById('theme-btn');
|
||||
var themeIcon = document.getElementById('theme-icon');
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
|
||||
// 2. Умная кнопка с задержкой и смешными сообщениями перекалибровки
|
||||
// 2. Smart button with delay and humorous recalibration messages
|
||||
var returnBtn = document.getElementById('return-btn');
|
||||
var calibPanel = document.getElementById('calibration-panel');
|
||||
var calibStatus = document.getElementById('calibration-status');
|
||||
@@ -438,10 +438,10 @@
|
||||
var isCalibrating = false;
|
||||
|
||||
var phrases = [
|
||||
{ at: 0, text: "✦ Фаза 1/4: Сбрасываем перегруженный ментальный буфер входного потока…" },
|
||||
{ at: 25, text: "✦ Фаза 2/4: Охлаждаем приемные каналы Nginx жидким азотом…" },
|
||||
{ at: 55, text: "✦ Фаза 3/4: Бюрократ 24-го уровня успокаивает перцепционные волны ментальности…" },
|
||||
{ at: 85, text: "✦ Фаза 4/4: Буфер чист! Возвращаемся к генератору…" }
|
||||
{ at: 0, text: "✦ Phase 1/4: Venting overloaded input buffer into deep cosmos…" },
|
||||
{ at: 25, text: "✦ Phase 2/4: Cooling Nginx intake pipes with liquid nitrogen…" },
|
||||
{ at: 55, text: "✦ Phase 3/4: Grade 24 Bureaucrat calms turbulent perceptual waves…" },
|
||||
{ at: 85, text: "✦ Phase 4/4: Buffer cleared! Returning to the generative chamber…" }
|
||||
];
|
||||
|
||||
returnBtn.addEventListener('click', function() {
|
||||
@@ -450,7 +450,7 @@
|
||||
|
||||
returnBtn.disabled = true;
|
||||
returnBtn.style.opacity = '0.7';
|
||||
returnBtn.innerHTML = '<span>Выполняется внушение…</span>';
|
||||
returnBtn.innerHTML = '<span>Transmitting hypnotic command…</span>';
|
||||
calibPanel.style.display = 'block';
|
||||
|
||||
var duration = 12000;
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
progressBar.style.width = progress + '%';
|
||||
|
||||
// Подбираем актуальную смешную фразу
|
||||
// Select the active phrase
|
||||
for (var i = phrases.length - 1; i >= 0; i--) {
|
||||
if (progress >= phrases[i].at) {
|
||||
calibStatus.innerHTML = phrases[i].text;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>429 — Слишком много мыслей в секунду | HypnoSVG</title>
|
||||
<meta name="description" content="Ошибка 429: Превышен лимит запросов к генератору HypnoSVG. Сделайте ментальную паузу." />
|
||||
<title>429 — Synaptic Overdrive Detected | HypnoSVG</title>
|
||||
<meta name="description" content="Error 429: Too many thoughts per second. HypnoSVG rate limiting triggered to prevent mental meltdown." />
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
<link rel="icon" type="image/svg+xml" href="/media/_error/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/media/_error/favicon.ico" />
|
||||
@@ -353,10 +353,10 @@
|
||||
<body>
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — На главную">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — Home">
|
||||
<img src="/static/img/logo-hypn0.svg" onerror="this.onerror=null; this.src='/media/_error/logo-hypn0.svg';" alt="HypnoSVG" class="logo-img" />
|
||||
</a>
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Переключить тему" title="Переключить тему">
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Toggle theme" title="Toggle theme">
|
||||
<span id="theme-icon">●</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -368,40 +368,40 @@
|
||||
<img src="/static/img/thinking.svg" onerror="this.onerror=null; this.src='/media/_error/thinking.svg';" alt="429 Too Many Requests Slug" />
|
||||
</div>
|
||||
|
||||
<div class="error-code-badge">ЗАЩИТА ОТ СПАМА // КОД 429</div>
|
||||
<div class="error-code-badge">ANTI-SPAM SHIELD // CODE 429</div>
|
||||
|
||||
<h1 class="error-title">Слишком много мыслей в секунду</h1>
|
||||
<h1 class="error-title">Too Many Thoughts per Second</h1>
|
||||
|
||||
<p class="error-desc">
|
||||
Вы отправляете импульсы быстрее, чем Гипножаба успевает перемигиваться. Включена защита от ментального спама и перегрева процессоров.
|
||||
You are firing synaptic pulses faster than the Hypnotoad can oscillate its eyes. Anti-spam throttling engaged to protect server neocortex from thermal collapse.
|
||||
</p>
|
||||
|
||||
<div class="hypno-quote">
|
||||
<big>Справка бюрократа 24-го уровня:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">«</span><em>Перцепционный генератор требует расслабленного состояния мышления, а не ментальных судорог и урагана кликов. Сделайте глубокий вдох, сосчитайте до сорока двух и позвольте трансу стабилизироваться.</em>»
|
||||
<big>Grade 24 Bureaucrat Notice:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">“</span><em>The perceptual engine requires tranquil contemplation, not rapid frantic spasms and click hurricanes. Take a deep breath, count to forty-two, and let the trance stabilize.</em>”
|
||||
</div>
|
||||
|
||||
<div class="actions-box">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary" id="return-btn">
|
||||
<span>● Остудить пыл и вернуться</span>
|
||||
<span>● Cool Down Synapses & Return</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="window.history.length > 1 ? window.history.back() : window.location.href='/'">
|
||||
<span>← На шаг назад</span>
|
||||
<span>← Go Back</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Панель калибровки с задержкой и смешными фразами -->
|
||||
<!-- Calibration panel with delay and witty messages -->
|
||||
<div class="calibration-panel" id="calibration-panel">
|
||||
<div class="calibration-status" id="calibration-status">
|
||||
Инициа­лизация медитативного охлаждения…
|
||||
Initializing meditative cooling sequence…
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" id="progress-bar"></div>
|
||||
</div>
|
||||
<div class="calibration-subtext">
|
||||
<span>Снижение ментальной нагрузки на кластер</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Пройти гипноз мгновенно →</a>
|
||||
<span>Reducing mental load on cluster</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Instant Hypnosis →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -410,11 +410,11 @@
|
||||
|
||||
<footer>
|
||||
<div class="ascii-grid">░▒▓█ ERROR 429 TOO MANY REQUESTS █▓▒░</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. Слава Гипножабе. Все права подчинены.</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. All Glory to the Hypnotoad. All minds subjugated.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// 1. Управление темой оформления (Light / Dark)
|
||||
// 1. Theme switcher (Light / Dark)
|
||||
var themeBtn = document.getElementById('theme-btn');
|
||||
var themeIcon = document.getElementById('theme-icon');
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
|
||||
// 2. Умная кнопка с задержкой и смешными сообщениями перекалибровки
|
||||
// 2. Smart button with delay and humorous recalibration messages
|
||||
var returnBtn = document.getElementById('return-btn');
|
||||
var calibPanel = document.getElementById('calibration-panel');
|
||||
var calibStatus = document.getElementById('calibration-status');
|
||||
@@ -438,10 +438,10 @@
|
||||
var isCalibrating = false;
|
||||
|
||||
var phrases = [
|
||||
{ at: 0, text: "✦ Фаза 1/4: Замедляем частоту синаптических импульсов…" },
|
||||
{ at: 25, text: "✦ Фаза 2/4: Восстанавливаем квоту запросов в реестре Гипножабы…" },
|
||||
{ at: 55, text: "✦ Фаза 3/4: Приводим сознание в состояние медитативного покоя…" },
|
||||
{ at: 85, text: "✦ Фаза 4/4: Лимиты восстановлены! Возвращаемся на главную…" }
|
||||
{ at: 0, text: "✦ Phase 1/4: Throttling high-frequency synaptic spikes…" },
|
||||
{ at: 25, text: "✦ Phase 2/4: Replenishing request quota in the Hypnotoad register…" },
|
||||
{ at: 55, text: "✦ Phase 3/4: Inducing serene meditative state in neocortex…" },
|
||||
{ at: 85, text: "✦ Phase 4/4: Limits restored! Harmonizing back to homepage…" }
|
||||
];
|
||||
|
||||
returnBtn.addEventListener('click', function() {
|
||||
@@ -450,7 +450,7 @@
|
||||
|
||||
returnBtn.disabled = true;
|
||||
returnBtn.style.opacity = '0.7';
|
||||
returnBtn.innerHTML = '<span>Выполняется внушение…</span>';
|
||||
returnBtn.innerHTML = '<span>Transmitting hypnotic command…</span>';
|
||||
calibPanel.style.display = 'block';
|
||||
|
||||
var duration = 12000;
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
progressBar.style.width = progress + '%';
|
||||
|
||||
// Подбираем актуальную смешную фразу
|
||||
// Select the active phrase
|
||||
for (var i = phrases.length - 1; i >= 0; i--) {
|
||||
if (progress >= phrases[i].at) {
|
||||
calibStatus.innerHTML = phrases[i].text;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>500 — Критический перегрев неокортекса | HypnoSVG</title>
|
||||
<meta name="description" content="Ошибка 500: Внутренний сбой сервера HypnoSVG. Ведутся ментальные восстановительные работы." />
|
||||
<title>500 — Introspection Neural Clinch | HypnoSVG</title>
|
||||
<meta name="description" content="Error 500: Internal server malfunction in HypnoSVG. Emergency Brain Slug brigade deployed." />
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
<link rel="icon" type="image/svg+xml" href="/media/_error/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/media/_error/favicon.ico" />
|
||||
@@ -353,10 +353,10 @@
|
||||
<body>
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — На главную">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — Home">
|
||||
<img src="/static/img/logo-hypn0.svg" onerror="this.onerror=null; this.src='/media/_error/logo-hypn0.svg';" alt="HypnoSVG" class="logo-img" />
|
||||
</a>
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Переключить тему" title="Переключить тему">
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Toggle theme" title="Toggle theme">
|
||||
<span id="theme-icon">●</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -368,40 +368,40 @@
|
||||
<img src="/static/img/thinking.svg" onerror="this.onerror=null; this.src='/media/_error/thinking.svg';" alt="500 Internal Server Error Slug" />
|
||||
</div>
|
||||
|
||||
<div class="error-code-badge">АВАРИЯ СЕРВЕРА // КОД 500</div>
|
||||
<div class="error-code-badge">SERVER ANOMALY // CODE 500</div>
|
||||
|
||||
<h1 class="error-title">Нейроклинч интроспекций</h1>
|
||||
<h1 class="error-title">Introspection Neural Lock</h1>
|
||||
|
||||
<p class="error-desc">
|
||||
Внутренний обработчик Т-волн подсознания столкнулся с непредвиденным логическим парадоксом. Ментальные службы уже приведены в состояние боевого транса.
|
||||
The internal theta-wave processor collided with an unhandled logical paradox. Subconscious emergency services have been mobilized into combat trance.
|
||||
</p>
|
||||
|
||||
<div class="hypno-quote">
|
||||
<big>Справка бюрократа 24-го уровня:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">«</span><em>Стек вызовов испустил синий дым, но паника строго запрещена циркуляром №16. Гипножаба, Мозгоклюй и дежурные Бри-Гады мозговых слизней уже инспектируют упавший поток перцепции и устраняет ментальную деградацию.</em>»
|
||||
<big>Grade 24 Bureaucrat Notice:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">“</span><em>The call stack emitted magic blue smoke, but panic is strictly prohibited under Directive #16. The Hypnotoad, the Brainpicker, and on-duty Brain Slug brigades are already diagnosing the fallen thread.</em>”
|
||||
</div>
|
||||
|
||||
<div class="actions-box">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary" id="return-btn">
|
||||
<span>● Дождаться регенерации и вернуться</span>
|
||||
<span>● Await Neural Recovery & Return</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="window.location.reload()">
|
||||
<span>↻ Повторить попытку</span>
|
||||
<span>↻ Try Again</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Панель калибровки с задержкой и смешными фразами -->
|
||||
<!-- Calibration panel with delay and witty messages -->
|
||||
<div class="calibration-panel" id="calibration-panel">
|
||||
<div class="calibration-status" id="calibration-status">
|
||||
Инициа­лизация аварийной регенерации ядра…
|
||||
Initializing emergency core regeneration…
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" id="progress-bar"></div>
|
||||
</div>
|
||||
<div class="calibration-subtext">
|
||||
<span>Снижение ментальной нагрузки на кластер</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Пройти гипноз мгновенно →</a>
|
||||
<span>Reducing mental load on cluster</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Instant Hypnosis →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -410,11 +410,11 @@
|
||||
|
||||
<footer>
|
||||
<div class="ascii-grid">░▒▓█ ERROR 500 INTERNAL SERVER ERROR █▓▒░</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. Слава Гипножабе. Все права подчинены.</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. All Glory to the Hypnotoad. All minds subjugated.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// 1. Управление темой оформления (Light / Dark)
|
||||
// 1. Theme switcher (Light / Dark)
|
||||
var themeBtn = document.getElementById('theme-btn');
|
||||
var themeIcon = document.getElementById('theme-icon');
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
|
||||
// 2. Умная кнопка с задержкой и смешными сообщениями перекалибровки
|
||||
// 2. Smart button with delay and humorous recalibration messages
|
||||
var returnBtn = document.getElementById('return-btn');
|
||||
var calibPanel = document.getElementById('calibration-panel');
|
||||
var calibStatus = document.getElementById('calibration-status');
|
||||
@@ -438,10 +438,10 @@
|
||||
var isCalibrating = false;
|
||||
|
||||
var phrases = [
|
||||
{ at: 0, text: "✦ Фаза 1/4: Локализуем утечку астральной памяти в ядре сервера…" },
|
||||
{ at: 25, text: "✦ Фаза 2/4: Бюрократ 24-го уровня перезапускает упавший процесс…" },
|
||||
{ at: 55, text: "✦ Фаза 3/4: Гипножаба восстанавливает гармонию матриц неокотекса…" },
|
||||
{ at: 85, text: "✦ Фаза 4/4: Ядро стабилизировано! Телепор­тация на главную…" }
|
||||
{ at: 0, text: "✦ Phase 1/4: Isolating astral memory leak in core kernel…" },
|
||||
{ at: 25, text: "✦ Phase 2/4: Grade 24 Bureaucrat restarts the fallen worker process…" },
|
||||
{ at: 55, text: "✦ Phase 3/4: The Hypnotoad re-aligns neocortex halftone matrices…" },
|
||||
{ at: 85, text: "✦ Phase 4/4: Core stabilized! Warping to main console…" }
|
||||
];
|
||||
|
||||
returnBtn.addEventListener('click', function() {
|
||||
@@ -450,7 +450,7 @@
|
||||
|
||||
returnBtn.disabled = true;
|
||||
returnBtn.style.opacity = '0.7';
|
||||
returnBtn.innerHTML = '<span>Выполняется внушение…</span>';
|
||||
returnBtn.innerHTML = '<span>Transmitting hypnotic command…</span>';
|
||||
calibPanel.style.display = 'block';
|
||||
|
||||
var duration = 12000;
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
progressBar.style.width = progress + '%';
|
||||
|
||||
// Подбираем актуальную смешную фразу
|
||||
// Select the active phrase
|
||||
for (var i = phrases.length - 1; i >= 0; i--) {
|
||||
if (progress >= phrases[i].at) {
|
||||
calibStatus.innerHTML = phrases[i].text;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>502 — Контейнер потерял сознание | HypnoSVG</title>
|
||||
<meta name="description" content="Ошибка 502: Прокси-сервер не получил ответа от бэкенда HypnoSVG." />
|
||||
<title>502 — Severed Astral Uplink | HypnoSVG</title>
|
||||
<meta name="description" content="Error 502: Bad gateway between Nginx and Django hippocampus in HypnoSVG." />
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
<link rel="icon" type="image/svg+xml" href="/media/_error/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/media/_error/favicon.ico" />
|
||||
@@ -353,10 +353,10 @@
|
||||
<body>
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — На главную">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — Home">
|
||||
<img src="/static/img/logo-hypn0.svg" onerror="this.onerror=null; this.src='/media/_error/logo-hypn0.svg';" alt="HypnoSVG" class="logo-img" />
|
||||
</a>
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Переключить тему" title="Переключить тему">
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Toggle theme" title="Toggle theme">
|
||||
<span id="theme-icon">●</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -368,40 +368,40 @@
|
||||
<img src="/static/img/thinking.svg" onerror="this.onerror=null; this.src='/media/_error/thinking.svg';" alt="502 Bad Gateway Slug" />
|
||||
</div>
|
||||
|
||||
<div class="error-code-badge">ОБРЫВ ШЛЮЗА // КОД 502</div>
|
||||
<div class="error-code-badge">GATEWAY SEVERED // CODE 502</div>
|
||||
|
||||
<h1 class="error-title">Нет связи с Гипокампом</h1>
|
||||
<h1 class="error-title">Uplink to Hippocampus Lost</h1>
|
||||
|
||||
<p class="error-desc">
|
||||
Прокси-сервер Nginx послал импульс через энторинальную кору в Django-гипокамп, но обратный синапсический отклик потерян. Аксоны в состоянии звенящей астральной пустоты.
|
||||
The Nginx reverse proxy pulsed an impulse across the entorhinal cortex to the Django hippocampus, but the synaptic handshake vanished into astral void.
|
||||
</p>
|
||||
|
||||
<div class="hypno-quote">
|
||||
<big>Справка бюрократа 24-го уровня:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">«</span><em>Gunicorn ушёл в глубокую интроспекцию или временно дезориентирован в docker-пространстве. Бри-Гады мозговых слизней уже инспектируют упавший поток перцепции и устраняет ментальную деградацию.</em>»
|
||||
<big>Grade 24 Bureaucrat Notice:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">“</span><em>Gunicorn has drifted into deep philosophical trance or is temporarily misplaced in Docker hyperspace. Brain Slug brigades are inspecting the severed stream and clearing mental degradation.</em>”
|
||||
</div>
|
||||
|
||||
<div class="actions-box">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary" id="return-btn">
|
||||
<span>● Восстановить связь и вернуться</span>
|
||||
<span>● Re-establish Uplink & Return</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="window.location.reload()">
|
||||
<span>↻ Перезагрузить страницу</span>
|
||||
<span>↻ Reload Page</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Панель калибровки с задержкой и смешными фразами -->
|
||||
<!-- Calibration panel with delay and witty messages -->
|
||||
<div class="calibration-panel" id="calibration-panel">
|
||||
<div class="calibration-status" id="calibration-status">
|
||||
Инициа­лизация реанимации шлюза…
|
||||
Initializing gateway resuscitation…
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" id="progress-bar"></div>
|
||||
</div>
|
||||
<div class="calibration-subtext">
|
||||
<span>Снижение ментальной нагрузки на кластер</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Пройти гипноз мгновенно →</a>
|
||||
<span>Reducing mental load on cluster</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Instant Hypnosis →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -410,11 +410,11 @@
|
||||
|
||||
<footer>
|
||||
<div class="ascii-grid">░▒▓█ ERROR 502 BAD GATEWAY █▓▒░</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. Слава Гипножабе. Все права подчинены.</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. All Glory to the Hypnotoad. All minds subjugated.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// 1. Управление темой оформления (Light / Dark)
|
||||
// 1. Theme switcher (Light / Dark)
|
||||
var themeBtn = document.getElementById('theme-btn');
|
||||
var themeIcon = document.getElementById('theme-icon');
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
|
||||
// 2. Умная кнопка с задержкой и смешными сообщениями перекалибровки
|
||||
// 2. Smart button with delay and humorous recalibration messages
|
||||
var returnBtn = document.getElementById('return-btn');
|
||||
var calibPanel = document.getElementById('calibration-panel');
|
||||
var calibStatus = document.getElementById('calibration-status');
|
||||
@@ -438,10 +438,10 @@
|
||||
var isCalibrating = false;
|
||||
|
||||
var phrases = [
|
||||
{ at: 0, text: "✦ Фаза 1/4: Пингуем упавший контейнер интроспекций через Unix-сокеты…" },
|
||||
{ at: 25, text: "✦ Фаза 2/4: Подаем разряд бodрящих волн Шумана в воркеры Gunicorn…" },
|
||||
{ at: 55, text: "✦ Фаза 3/4: Прокси-шлюз Nginx восстанавливает ментальный маршрут…" },
|
||||
{ at: 85, text: "✦ Фаза 4/4: Мост налажен! Возвращаемся на главную…" }
|
||||
{ at: 0, text: "✦ Phase 1/4: Pinging dormant introspection container over Unix sockets…" },
|
||||
{ at: 25, text: "✦ Phase 2/4: Jolting Gunicorn workers with invigorating Schumann waves…" },
|
||||
{ at: 55, text: "✦ Phase 3/4: Nginx proxy gate rebuilds mental routing table…" },
|
||||
{ at: 85, text: "✦ Phase 4/4: Neural bridge restored! Returning to base…" }
|
||||
];
|
||||
|
||||
returnBtn.addEventListener('click', function() {
|
||||
@@ -450,7 +450,7 @@
|
||||
|
||||
returnBtn.disabled = true;
|
||||
returnBtn.style.opacity = '0.7';
|
||||
returnBtn.innerHTML = '<span>Выполняется внушение…</span>';
|
||||
returnBtn.innerHTML = '<span>Transmitting hypnotic command…</span>';
|
||||
calibPanel.style.display = 'block';
|
||||
|
||||
var duration = 12000;
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
progressBar.style.width = progress + '%';
|
||||
|
||||
// Подбираем актуальную смешную фразу
|
||||
// Select the active phrase
|
||||
for (var i = phrases.length - 1; i >= 0; i--) {
|
||||
if (progress >= phrases[i].at) {
|
||||
calibStatus.innerHTML = phrases[i].text;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>503 — Плановый сеанс гипнотерапии | HypnoSVG</title>
|
||||
<meta name="description" content="Ошибка 503: Сервис HypnoSVG временно недоступен из-за технического обслуживания или пиковой нагрузки." />
|
||||
<title>503 — Routine Hypnotherapy Session | HypnoSVG</title>
|
||||
<meta name="description" content="Error 503: HypnoSVG is temporarily offline for scheduled matrix calibration and maintenance." />
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
<link rel="icon" type="image/svg+xml" href="/media/_error/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/media/_error/favicon.ico" />
|
||||
@@ -353,10 +353,10 @@
|
||||
<body>
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — На главную">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — Home">
|
||||
<img src="/static/img/logo-hypn0.svg" onerror="this.onerror=null; this.src='/media/_error/logo-hypn0.svg';" alt="HypnoSVG" class="logo-img" />
|
||||
</a>
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Переключить тему" title="Переключить тему">
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Toggle theme" title="Toggle theme">
|
||||
<span id="theme-icon">●</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -368,40 +368,40 @@
|
||||
<img src="/static/img/thinking.svg" onerror="this.onerror=null; this.src='/media/_error/thinking.svg';" alt="503 Service Unavailable Slug" />
|
||||
</div>
|
||||
|
||||
<div class="error-code-badge">ТЕХОБСЛУЖИВАНИЕ // КОД 503</div>
|
||||
<div class="error-code-badge">MAINTENANCE // CODE 503</div>
|
||||
|
||||
<h1 class="error-title">Плановый сеанс гипнотерапии</h1>
|
||||
<h1 class="error-title">Scheduled Hypnotherapy in Progress</h1>
|
||||
|
||||
<p class="error-desc">
|
||||
Сервер временно закрыт на калибровку ментальных матриц или испытывает запредельный наплыв адептов Гипножабы.
|
||||
The server is temporarily secluded for hypnotic matrix re-alignment or overwhelmed by an unprecedented surge of Hypnotoad disciples.
|
||||
</p>
|
||||
|
||||
<div class="hypno-quote">
|
||||
<big>Справка бюрократа 24-го уровня:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">«</span><em>Проводятся регламентные работы по смазке осей гипнотических нейроспиралей и продувке камер интроспекций халфтона. Задействованы усиленные технические Бри-Гады мозговых слизней под надзором Мозгоклюя. Скоро сервис вернётся в строй.</em>»
|
||||
<big>Grade 24 Bureaucrat Notice:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">“</span><em>Performing scheduled lubrication on neural spin axes and purging halftone introspection chambers. Heavy-duty Brain Slug squads under the Brainpicker’s supervision are on duty. Service will resume shortly.</em>”
|
||||
</div>
|
||||
|
||||
<div class="actions-box">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary" id="return-btn">
|
||||
<span>● Дождаться окончания сеанса</span>
|
||||
<span>● Await Session Completion</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="window.location.reload()">
|
||||
<span>↻ Проверить статус</span>
|
||||
<span>↻ Check Status</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Панель калибровки с задержкой и смешными фразами -->
|
||||
<!-- Calibration panel with delay and witty messages -->
|
||||
<div class="calibration-panel" id="calibration-panel">
|
||||
<div class="calibration-status" id="calibration-status">
|
||||
Инициа­лизация технической диагностики…
|
||||
Initializing technical diagnostics…
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" id="progress-bar"></div>
|
||||
</div>
|
||||
<div class="calibration-subtext">
|
||||
<span>Снижение ментальной нагрузки на кластер</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Пройти гипноз мгновенно →</a>
|
||||
<span>Reducing mental load on cluster</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Instant Hypnosis →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -410,11 +410,11 @@
|
||||
|
||||
<footer>
|
||||
<div class="ascii-grid">░▒▓█ ERROR 503 SERVICE UNAVAILABLE █▓▒░</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. Слава Гипножабе. Все права подчинены.</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. All Glory to the Hypnotoad. All minds subjugated.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// 1. Управление темой оформления (Light / Dark)
|
||||
// 1. Theme switcher (Light / Dark)
|
||||
var themeBtn = document.getElementById('theme-btn');
|
||||
var themeIcon = document.getElementById('theme-icon');
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
|
||||
// 2. Умная кнопка с задержкой и смешными сообщениями перекалибровки
|
||||
// 2. Smart button with delay and humorous recalibration messages
|
||||
var returnBtn = document.getElementById('return-btn');
|
||||
var calibPanel = document.getElementById('calibration-panel');
|
||||
var calibStatus = document.getElementById('calibration-status');
|
||||
@@ -438,10 +438,10 @@
|
||||
var isCalibrating = false;
|
||||
|
||||
var phrases = [
|
||||
{ at: 0, text: "✦ Фаза 1/4: Калибруем точность алгоритмов смыслового мерцания…" },
|
||||
{ at: 25, text: "✦ Фаза 2/4: Смазываем оси гипнотических спиралей…" },
|
||||
{ at: 55, text: "✦ Фаза 3/4: Бюрократ 24-го уровня завершает технический аудит…" },
|
||||
{ at: 85, text: "✦ Фаза 4/4: Профилактика завершена без подписания акта о выполнении работ! Телепор­тация на главную…" }
|
||||
{ at: 0, text: "✦ Phase 1/4: Calibrating semantic halftone oscillation frequencies…" },
|
||||
{ at: 25, text: "✦ Phase 2/4: Greasing gyroscopic axes of hypnotic spirals…" },
|
||||
{ at: 55, text: "✦ Phase 3/4: Grade 24 Bureaucrat wraps up technical inspection audit…" },
|
||||
{ at: 85, text: "✦ Phase 4/4: Maintenance complete without signing acceptance report! Warping home…" }
|
||||
];
|
||||
|
||||
returnBtn.addEventListener('click', function() {
|
||||
@@ -450,7 +450,7 @@
|
||||
|
||||
returnBtn.disabled = true;
|
||||
returnBtn.style.opacity = '0.7';
|
||||
returnBtn.innerHTML = '<span>Выполняется внушение…</span>';
|
||||
returnBtn.innerHTML = '<span>Transmitting hypnotic command…</span>';
|
||||
calibPanel.style.display = 'block';
|
||||
|
||||
var duration = 12000;
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
progressBar.style.width = progress + '%';
|
||||
|
||||
// Подбираем актуальную смешную фразу
|
||||
// Select the active phrase
|
||||
for (var i = phrases.length - 1; i >= 0; i--) {
|
||||
if (progress >= phrases[i].at) {
|
||||
calibStatus.innerHTML = phrases[i].text;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>504 — Разрыв астральной связи | HypnoSVG</title>
|
||||
<meta name="description" content="Ошибка 504: Превышено время ожидания ответа от вышестоящего сервера HypnoSVG." />
|
||||
<title>504 — Astral Connection Timeout | HypnoSVG</title>
|
||||
<meta name="description" content="Error 504: HypnoSVG upstream perceptual node failed to respond in time." />
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
<link rel="icon" type="image/svg+xml" href="/media/_error/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/media/_error/favicon.ico" />
|
||||
@@ -353,10 +353,10 @@
|
||||
<body>
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — На главную">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — Home">
|
||||
<img src="/static/img/logo-hypn0.svg" onerror="this.onerror=null; this.src='/media/_error/logo-hypn0.svg';" alt="HypnoSVG" class="logo-img" />
|
||||
</a>
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Переключить тему" title="Переключить тему">
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Toggle theme" title="Toggle theme">
|
||||
<span id="theme-icon">●</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -368,40 +368,40 @@
|
||||
<img src="/static/img/thinking.svg" onerror="this.onerror=null; this.src='/media/_error/thinking.svg';" alt="504 Gateway Timeout Slug" />
|
||||
</div>
|
||||
|
||||
<div class="error-code-badge">ТАЙМАУТ ШЛЮЗА // КОД 504</div>
|
||||
<div class="error-code-badge">GATEWAY TIMEOUT // CODE 504</div>
|
||||
|
||||
<h1 class="error-title">Разрыв астральной связи</h1>
|
||||
<h1 class="error-title">Astral Synapse Timed Out</h1>
|
||||
|
||||
<p class="error-desc">
|
||||
Вышестоящий перцептивный узел в состоянии рекурсивной интроспекции и не успевает ответить в отведённый квант времени.
|
||||
The upstream perceptual node is trapped in recursive introspection and failed to return a cognitive response within the allotted quantum timeframe.
|
||||
</p>
|
||||
|
||||
<div class="hypno-quote">
|
||||
<big>Справка бюрократа 24-го уровня:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">«</span><em>Время — понятие относительное, но таймаут Nginx абсолютен. Ментальный транс осознанных сновидений думателя прерван во избежание <nobr>зацикливания нейро-континуума.</nobr></em>»
|
||||
<big>Grade 24 Bureaucrat Notice:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">“</span><em>Time is relative, but the Nginx gateway timeout is absolute. The lucid dreaming trance of the thinker was halted to prevent a neuro-continuum endless loop.</em>”
|
||||
</div>
|
||||
|
||||
<div class="actions-box">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary" id="return-btn">
|
||||
<span>● Восстановить таймлайн и вернуться</span>
|
||||
<span>● Restore Timeline & Return</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="window.location.reload()">
|
||||
<span>↻ Повторить запрос</span>
|
||||
<span>↻ Retry Request</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Панель калибровки с задержкой и смешными фразами -->
|
||||
<!-- Calibration panel with delay and witty messages -->
|
||||
<div class="calibration-panel" id="calibration-panel">
|
||||
<div class="calibration-status" id="calibration-status">
|
||||
Инициа­лизация синхронизации таймлайна…
|
||||
Initializing timeline resynchronization…
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" id="progress-bar"></div>
|
||||
</div>
|
||||
<div class="calibration-subtext">
|
||||
<span>Снижение ментальной нагрузки на кластер</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Пройти гипноз мгновенно →</a>
|
||||
<span>Reducing mental load on cluster</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Instant Hypnosis →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -410,11 +410,11 @@
|
||||
|
||||
<footer>
|
||||
<div class="ascii-grid">░▒▓█ ERROR 504 GATEWAY TIMEOUT █▓▒░</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. Слава Гипножабе. Все права подчинены.</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. All Glory to the Hypnotoad. All minds subjugated.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// 1. Управление темой оформления (Light / Dark)
|
||||
// 1. Theme switcher (Light / Dark)
|
||||
var themeBtn = document.getElementById('theme-btn');
|
||||
var themeIcon = document.getElementById('theme-icon');
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
|
||||
// 2. Умная кнопка с задержкой и смешными сообщениями перекалибровки
|
||||
// 2. Smart button with delay and humorous recalibration messages
|
||||
var returnBtn = document.getElementById('return-btn');
|
||||
var calibPanel = document.getElementById('calibration-panel');
|
||||
var calibStatus = document.getElementById('calibration-status');
|
||||
@@ -438,10 +438,10 @@
|
||||
var isCalibrating = false;
|
||||
|
||||
var phrases = [
|
||||
{ at: 0, text: "✦ Фаза 1/4: Прерываем бесконечные квантовые вычисления…" },
|
||||
{ at: 25, text: "✦ Фаза 2/4: Перезапускаем таймеры ожидания шлюза Nginx…" },
|
||||
{ at: 55, text: "✦ Фаза 3/4: Синхронизируем ментальное состояние с сервером Гипножабы…" },
|
||||
{ at: 85, text: "✦ Фаза 4/4: Связь восстановлена! Возвращаемся на главную…" }
|
||||
{ at: 0, text: "✦ Phase 1/4: Terminating infinite quantum recursion threads…" },
|
||||
{ at: 25, text: "✦ Phase 2/4: Resetting Nginx gateway wait timers…" },
|
||||
{ at: 55, text: "✦ Phase 3/4: Resynchronizing mental state with the Hypnotoad cluster" },
|
||||
{ at: 85, text: "✦ Phase 4/4: Synapse reconnected! Warping back to the main console…" }
|
||||
];
|
||||
|
||||
returnBtn.addEventListener('click', function() {
|
||||
@@ -450,7 +450,7 @@
|
||||
|
||||
returnBtn.disabled = true;
|
||||
returnBtn.style.opacity = '0.7';
|
||||
returnBtn.innerHTML = '<span>Выполняется внушение…</span>';
|
||||
returnBtn.innerHTML = '<span>Transmitting hypnotic command…</span>';
|
||||
calibPanel.style.display = 'block';
|
||||
|
||||
var duration = 12000;
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
progressBar.style.width = progress + '%';
|
||||
|
||||
// Подбираем актуальную смешную фразу
|
||||
// Select the active phrase
|
||||
for (var i = phrases.length - 1; i >= 0; i--) {
|
||||
if (progress >= phrases[i].at) {
|
||||
calibStatus.innerHTML = phrases[i].text;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Реконструкция матрицы | HypnoSVG</title>
|
||||
<meta name="description" content="Сектор временно закрыт на квантовую реконструкцию и модернизацию алгоритмов HypnoSVG." />
|
||||
<title>Under Reconstruction — Reality Rebuilding | HypnoSVG</title>
|
||||
<meta name="description" content="This brain sector of HypnoSVG is undergoing reconstruction. All Glory to the Hypnotoad." />
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
<link rel="icon" type="image/svg+xml" href="/media/_error/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/media/_error/favicon.ico" />
|
||||
@@ -353,10 +353,10 @@
|
||||
<body>
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — На главную">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — Home">
|
||||
<img src="/static/img/logo-hypn0.svg" onerror="this.onerror=null; this.src='/media/_error/logo-hypn0.svg';" alt="HypnoSVG" class="logo-img" />
|
||||
</a>
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Переключить тему" title="Переключить тему">
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Toggle theme" title="Toggle theme">
|
||||
<span id="theme-icon">●</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -368,40 +368,40 @@
|
||||
<img src="/static/img/thinking.svg" onerror="this.onerror=null; this.src='/media/_error/thinking.svg';" alt="Under Reconstruction Slug" />
|
||||
</div>
|
||||
|
||||
<div class="error-code-badge">РЕКОНСТРУКЦИЯ ИНТРОСПЕКЦИИ</div>
|
||||
<div class="error-code-badge">INTROSPECTION RECONSTRUCTION</div>
|
||||
|
||||
<h1 class="error-title">Отдел мозга на реконструкции</h1>
|
||||
<h1 class="error-title">Brain Sector Under Reconstruction</h1>
|
||||
|
||||
<p class="error-desc">
|
||||
Узел ментальной матрицы перестраивается по бредо-чертежам Гипножабы. Бри-Гады мозговых слизней под контролем Мозгоклюя разворачивают новый слой интроспекций. Скоро здесь появится нечто гипнотически непознаваемое.
|
||||
This mental matrix node is being refitted according to the visionary blueprints of the Hypnotoad. Brain Slug brigades, supervised by the Brainpicker, are unrolling a brand-new layer of introspections. Soon something hypnotically unknowable will emerge here.
|
||||
</p>
|
||||
|
||||
<div class="hypno-quote">
|
||||
<big>Справка бюрократа 24-го уровня:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">«</span><em>Ведутся строительно-монтажные работы по укладке новых векторных силовых линий. Проход без мантальной каски и без вживленного мозгового слизня ограничен даже гражданам в глубоком трансе.</em>»
|
||||
<big>Grade 24 Bureaucrat Notice:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">“</span><em>Construction work in progress: laying new vector flux lines. Entry without a psychic hard hat and an implanted Brain Slug is strictly prohibited, even for citizens in a deep trance.</em>”
|
||||
</div>
|
||||
|
||||
<div class="actions-box">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary" id="return-btn">
|
||||
<span>● Попытка вынырнуть из интроспекции</span>
|
||||
<span>● Emerge from Introspection</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="window.history.length > 1 ? window.history.back() : window.location.href='/'">
|
||||
<span>← На шаг назад</span>
|
||||
<span>← Go Back</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Панель калибровки с задержкой и смешными фразами -->
|
||||
<!-- Calibration panel with delay and witty messages -->
|
||||
<div class="calibration-panel" id="calibration-panel">
|
||||
<div class="calibration-status" id="calibration-status">
|
||||
Инициа­лизация перемещения из зоны работ…
|
||||
Initializing egress from construction sector…
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" id="progress-bar"></div>
|
||||
</div>
|
||||
<div class="calibration-subtext">
|
||||
<span>Снижение ментальной нагрузки на кластер</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Пройти гипноз мгновенно →</a>
|
||||
<span>Reducing mental load on cluster</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Instant Hypnosis →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -410,11 +410,11 @@
|
||||
|
||||
<footer>
|
||||
<div class="ascii-grid">░▒▓█ UNDER RECONSTRUCTION █▓▒░</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. Слава Гипножабе. Все права подчинены.</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. All Glory to the Hypnotoad. All minds subjugated.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// 1. Управление темой оформления (Light / Dark)
|
||||
// 1. Theme switcher (Light / Dark)
|
||||
var themeBtn = document.getElementById('theme-btn');
|
||||
var themeIcon = document.getElementById('theme-icon');
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
|
||||
// 2. Умная кнопка с задержкой и смешными сообщениями перекалибровки
|
||||
// 2. Smart button with delay and humorous recalibration messages
|
||||
var returnBtn = document.getElementById('return-btn');
|
||||
var calibPanel = document.getElementById('calibration-panel');
|
||||
var calibStatus = document.getElementById('calibration-status');
|
||||
@@ -438,10 +438,10 @@
|
||||
var isCalibrating = false;
|
||||
|
||||
var phrases = [
|
||||
{ at: 0, text: "✦ Фаза 1/4: Закладываем квантовый фундамент новой функциональности…" },
|
||||
{ at: 25, text: "✦ Фаза 2/4: Монтируем передовые генераторы векторных паттернов…" },
|
||||
{ at: 55, text: "✦ Фаза 3/4: Бюрократ 24-го уровня согласует счет-фактуру…" },
|
||||
{ at: 85, text: "✦ Фаза 4/4: Акт согласования готов! Это не поможет, но возвращаемся в активную зону сайта…" }
|
||||
{ at: 0, text: "✦ Phase 1/4: Pouring quantum foundation for next-gen features…" },
|
||||
{ at: 25, text: "✦ Phase 2/4: Mounting high-voltage vector pattern generators…" },
|
||||
{ at: 55, text: "✦ Phase 3/4: Grade 24 Bureaucrat approves preliminary construction invoice…" },
|
||||
{ at: 85, text: "✦ Phase 4/4: Bureaucratic approval signed! It won't help, but warping to active sector…" }
|
||||
];
|
||||
|
||||
returnBtn.addEventListener('click', function() {
|
||||
@@ -450,7 +450,7 @@
|
||||
|
||||
returnBtn.disabled = true;
|
||||
returnBtn.style.opacity = '0.7';
|
||||
returnBtn.innerHTML = '<span>Выполняется внушение…</span>';
|
||||
returnBtn.innerHTML = '<span>Transmitting hypnotic command…</span>';
|
||||
calibPanel.style.display = 'block';
|
||||
|
||||
var duration = 12000;
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
progressBar.style.width = progress + '%';
|
||||
|
||||
// Подбираем актуальную смешную фразу
|
||||
// Select the active phrase
|
||||
for (var i = phrases.length - 1; i >= 0; i--) {
|
||||
if (progress >= phrases[i].at) {
|
||||
calibStatus.innerHTML = phrases[i].text;
|
||||
|
||||
Reference in New Issue
Block a user