System
Label Value Edit
Version 2.7.6
Language English (English)
Support Discord | Github | Blog
Donate Paypal
Appearance
Label Value Edit
Background Image - not set -
Trianglify No
Trianglify Random Seed heimdall
Treat Tags As: Folders
Miscellaneous
Label Value Edit
Homepage Search No
Default Search Provider - not set -
Link opens in Open in the same tab
Advanced
Label Value Edit
Custom CSS
/* === Минималистичный спокойный стиль для Heimdall === */
/* Тёмная спокойная палитра: тёмно-серый фон, мягкие акценты */

/* Основной фон и текст */
body {
  background-color: #0f0f0f;
  color: #d4d4d4;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.6;
}

/* Убираем подчёркивания и лишние стили ссылок */
a {
  text-decoration: none;
  color: inherit;
}

a:hover {
  color: #a8a8a8;
}

/* Основные контейнеры (карточки приложений, формы, поиск) */
.module-container,
.item,
.searchform .input-container,
header,
#create,
.alert,
textarea,
input,
select {
  background-color: rgba(30, 30, 30, 0.85) !important;
  border: none;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(8px);
  transition: all 0.25s ease;
}

.item:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
  background-color: rgba(40, 40, 40, 0.95) !important;
}

/* Заголовки секций */
.module-container header .section-title,
.newblock h2 {
  color: #bbbbbb;
  background: none;
  border: none;
  font-weight: 500;
}

/* Поиск */
.searchform input {
  background-color: rgba(40, 40, 40, 0.9) !important;
  border-radius: 10px;
  padding: 12px 16px;
  color: #d4d4d4;
}

.searchform input:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(120, 120, 120, 0.5);
}

/* Кнопки и действия */
.button,
.module-actions .button,
a.secondary {
  background-color: rgba(60, 60, 60, 0.9) !important;
  border-radius: 8px;
  color: #d4d4d4;
  transition: background 0.2s ease;
}

.button:hover,
.module-actions .button:hover {
  background-color: rgba(90, 90, 90, 0.95) !important;
}

/* Карточки приложений — ещё чище */
.item {
  border: none;
  background-image: none !important;
}

/* Убираем лишние бордеры и шум */
table,
.module-container .table,
.module-container footer,
.module-container header {
  background: transparent;
  border: none;
}

.module-container .table tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.05);
}

/* Настройки и модальные окна */
#create {
  background-color: rgba(20, 20, 20, 0.95) !important;
}

/* Фиксированные кнопки настроек (справа вверху) */
#config-buttons {
  opacity: 0.6;
  transition: opacity 0.3s ease;
}

#config-buttons:hover {
  opacity: 1;
}

/* Дополнительно: больше воздуха и минимализма */
.module-container {
  margin-bottom: 20px;
}

h1, h2, h3 {
  font-weight: 500;
  letter-spacing: -0.02em;
}
Custom JavaScript
<script>
// === Beautiful & Calm Welcome Message for Vladimir ===

function showWelcomeMessage() {
    const now = new Date();
    const hour = now.getHours();
    const minutes = now.getMinutes();
    
    let greeting = "";
    let emoji = "";
    
    if (hour >= 5 && hour < 12) {
        greeting = "Good morning";
        emoji = "🌅";
    } else if (hour >= 12 && hour < 17) {
        greeting = "Good afternoon";
        emoji = "☀️";
    } else if (hour >= 17 && hour < 22) {
        greeting = "Good evening";
        emoji = "🌆";
    } else {
        greeting = "Good night";
        emoji = "🌙";
    }
    
    const message = ${emoji} ${greeting}, Vladimir;
    
    // Create welcome element
    let welcomeDiv = document.getElementById('custom-welcome-vladimir');
    
    if (!welcomeDiv) {
        welcomeDiv = document.createElement('div');
        welcomeDiv.id = 'custom-welcome-vladimir';
        welcomeDiv.style.cssText = 
            position: fixed;
            top: 25px;
            left: 50%;
            transform: translateX(-50%);
            background: rgba(20, 20, 25, 0.92);
            color: #e0e0e0;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            font-size: 1.45rem;
            font-weight: 500;
            padding: 14px 32px;
            border-radius: 20px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
            backdrop-filter: blur(16px);
            z-index: 9999;
            opacity: 0;
            transition: all 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
            letter-spacing: -0.015em;
            pointer-events: none;
            display: flex;
            align-items: center;
            gap: 12px;
            white-space: nowrap;
            border: 1px solid rgba(255,255,255,0.08);
        ;
        document.body.appendChild(welcomeDiv);
    }
    
    welcomeDiv.innerHTML = message;
    
    // Show with smooth animation
    setTimeout(() => {
        welcomeDiv.style.opacity = '1';
        welcomeDiv.style.top = '35px';
    }, 400);
    
    // Auto hide after 5 seconds
    setTimeout(() => {
        welcomeDiv.style.opacity = '0';
        welcomeDiv.style.top = '25px';
    }, 5200);
}

// Run on page load
window.addEventListener('load', showWelcomeMessage);

// Show again when returning to the tab
document.addEventListener('visibilitychange', () => {
    if (document.visibilityState === 'visible') {
        showWelcomeMessage();
    }
});
</script>