Инженерный Брутализм (Technical Brutalism), жесткий цветовой контраст, нулевой радиус (border-radius: 0px) и модульная настройка акцентных цветов.
Все элементы (кнопки, плашки, инпуты, карточки, аватары, тултипы) имеют строго border-radius: 0px !important. Никаких мягких скруглений и эллипсов.
Никаких размытых теней (box-shadow: 0 10px 30px rgba(...) строго запрещены). Допускаются исключительно жесткие плотные смещения: 4px 4px 0 var(--primary-light) или 6px 6px 0 var(--black).
Интерфейс строится на трех базовых цветах: чистый Белый (#FFFFFF), глубокий Черный (#08090C) и настраиваемый Акцент (Мятный #00A884 или Синий #0026E6) с тональной шкалой.
Фон страницы — физическое поле перекрестий (+), упруго откликающееся на движение курсора мыши и динамически окрашивающееся в акцентный цвет.
Основной цвет легко переопределяется через CSS-переменную --primary, а также через дата-атрибут [data-theme-accent="..."] на элементе <html> или <body>.
#00A884
Основной акцент
#2CE5C0
Маркеры и ховер
#B8F2E6
Жесткие тени (4px/6px)
#E8FBF6
Подложки и фокус
#08090C
Контуры 2px, заголовки
#FFFFFF
Холст и карточки
#5E6E6A
Технические подписи
:root {
/* Переопределение основного цвета (например, в вашем проекте) */
--primary: #00A884; /* Главный акцент */
--primary-bright: #2CE5C0; /* Яркий акцент для точек и ховеров */
--primary-light: #B8F2E6; /* Смещение теней 4px / 6px */
--primary-soft: #E8FBF6; /* Подложки и поля ввода */
/* Обратная совместимость с id.darkblue.tech */
--mint: var(--primary);
--mint-bright: var(--primary-bright);
--mint-light: var(--primary-light);
--mint-soft: var(--primary-soft);
}
Inter (400, 500, 600, 700, 800) — основной геометрический гротеск для текста, названий разделов и пространственных заголовков.
The quick brown fox jumps over the lazy dog. 0123456789.
JetBrains Mono (500, 700) — инженерный моноширинный шрифт для лейблов, индексов, бейджей и кода.
SESSION_ID=4f92-a1bc-78e9 // STATUS: 200_OK
<span class="heading-eyebrow">СИСТЕМНЫЙ СТАТУС</span>
<h1 class="heading-display">ИНЖЕНЕРНАЯ АРХИТЕКТУРА</h1>
<h2 class="heading-page">Параметры безопасности</h2>
<h5 class="heading-section">СЕССИЯ ПОЛЬЗОВАТЕЛЯ</h5>
<h6 class="heading-card">Персональные данные</h6>
<span class="mono-tag">ACTIVE // 01</span>
Шапка карточки окрашена в --black с белым моноширинным заголовком. В правом углу шапки расположен сигнальный квадратный пиксель 8×8px цвета --primary-bright.
Удаление ресурса приведет к немедленной очистке всех связанных сессий и ключей.
<div class="card">
<div class="card-header">
<h5 class="mb-0 heading-display">Заголовок панели</h5>
</div>
<div class="card-body">
<p class="text-muted small mb-3">Контентное тело карточки с нулевым радиусом и тенью 6px.</p>
<button type="button" class="btn btn-primary btn-sm">Действие</button>
</div>
</div>
<div class="profile-quick-actions">
<div class="card text-center">
<div class="card-body d-flex flex-column align-items-center">
<span class="quick-action-icon">
<span class="material-symbols-sharp">shield</span>
</span>
<h5 class="heading-card mt-3 mb-1">Безопасность</h5>
<p class="card-text small text-muted mb-3">2FA Включена</p>
<a href="/settings" class="btn btn-sm btn-outline-secondary w-100">Настроить</a>
</div>
</div>
</div>
<div class="mb-3">
<label for="username" class="form-label">ИМЯ ПОЛЬЗОВАТЕЛЯ</label>
<input type="text" class="form-control" id="username" placeholder="user" required>
<div class="form-text">Латинские буквы, цифры и дефис.</div>
</div>
<div class="mb-3">
<label for="lang" class="form-label">ЯЗЫК ИНТЕРФЕЙСА</label>
<select class="form-select" id="lang">
<option value="ru">Русский</option>
<option value="en">English</option>
</select>
</div>
Ввод одноразового кода подтверждения из аутентификатора:
Плавное переключение режимов авторизации (TOTP / Backup):
<!-- 6-значный ввод OTP -->
<div class="otp-digits-row">
<input type="text" maxlength="1" class="form-control otp-digit">
<input type="text" maxlength="1" class="form-control otp-digit">
<input type="text" maxlength="1" class="form-control otp-digit">
<input type="text" maxlength="1" class="form-control otp-digit">
<input type="text" maxlength="1" class="form-control otp-digit">
<input type="text" maxlength="1" class="form-control otp-digit">
</div>
<!-- Двухпозиционный переключатель -->
<div class="twofa-mode-switch">
<div class="twofa-mode-indicator"></div>
<button type="button" class="twofa-mode-btn active">TOTP КОД</button>
<button type="button" class="twofa-mode-btn">РЕЗЕРВНЫЙ КОД</button>
</div>
<span class="badge text-bg-primary">АКТИВЕН</span>
<span class="badge text-bg-dark">ADMIN</span>
<span class="badge text-bg-info">SCOPE:PROFILE</span>
<!-- Акцентный алерт успеха (с левой полосой 10px цвета --primary) -->
<div class="alert alert-success alert-dismissible fade show" role="alert">
<span class="material-symbols-sharp me-1">check_circle</span>
Профиль успешно сохранен.
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
</div>
<!-- Алерт ошибки -->
<div class="alert alert-danger" role="alert">
<span class="material-symbols-sharp me-1">warning</span>
Требуется подтверждение действия.
</div>
| УСТРОЙСТВО / КЛИЕНТ | IP АДРЕС | ЛОКАЦИЯ | ПОСЛЕДНЯЯ АКТИВНОСТЬ | ДЕЙСТВИЕ |
|---|---|---|---|---|
|
laptop_mac
Chrome / macOS (Текущая сессия)
|
185.143.238.60 | Frankfurt, DE | Только что | АКТИВНА |
|
smartphone
Safari / iOS
|
94.25.178.12 | Helsinki, FI | 2 часа назад | |
|
terminal
AGY CLI Agent
|
127.0.0.1 | Localhost | Вчера 18:40 |
<table class="table table-striped">
<thead>
<tr>
<th>УСТРОЙСТВО</th>
<th>IP АДРЕС</th>
<th>СТАТУС</th>
</tr>
</thead>
<tbody>
<tr class="session-current">
<td>MacBook Pro (Текущая)</td>
<td class="font-monospace">185.143.238.60</td>
<td><span class="badge text-bg-primary">ONLINE</span></td>
</tr>
</tbody>
</table>
<!-- Квадратная аватарка -->
<img src="/avatar.png" alt="Avatar" class="profile-avatar-box" width="80" height="80">
<!-- Фирменный SVG логотип darkblue.tech -->
<div class="white-square">
<svg viewBox="0 0 6 6" fill="none" xmlns="http://www.w3.org/2000/svg">
<polygon points="1,2 2.6,2 3.6,3 1,3" fill="#FFFFFF"/>
<rect x="0" y="3" width="1" height="2" fill="#FFFFFF"/>
<rect x="1" y="5" width="2.6" height="1" fill="#FFFFFF"/>
<rect x="3.6" y="0" width="1" height="5" fill="#FFFFFF"/>
<rect x="4.6" y="5" width="1" height="1" fill="#FFFFFF"/>
</svg>
</div>
<!-- Разметка модального окна -->
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Заголовок диалога</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<p>Контент модального окна...</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary btn-sm" data-bs-dismiss="modal">Отмена</button>
<button type="button" class="btn btn-primary btn-sm">Подтвердить</button>
</div>
</div>
</div>
</div>
<!-- Кнопка вызова -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
Открыть окно
</button>
<!-- Стандартный тост успеха -->
<div class="toast toast-success show" role="alert">
<div class="toast-header">
<span class="toast-header-badge">OK</span>
<strong class="me-auto">ОПЕРАЦИЯ ВЫПОЛНЕНА</strong>
<button type="button" class="btn-close" data-bs-dismiss="toast"></button>
</div>
<div class="toast-body">Данные сохранены.</div>
</div>
<!-- Компактный Slim тост -->
<div class="toast toast-slim toast-error show" role="alert">
<div class="toast-slim-content">
<span class="toast-slim-badge">ERR</span>
<span class="material-symbols-sharp toast-slim-icon">gpp_bad</span>
<span class="toast-slim-msg">Ошибка подключения к базе.</span>
</div>
<button type="button" class="btn-close" data-bs-dismiss="toast"></button>
</div>
Фон страницы содержит полноэкранный холст <canvas id="field"> с шагом сетки 52px. Каждое перекрестие упруго реагирует на курсор мыши, расходится пружинным алгоритмом и динамически окрашивается в цвета текущей темы (--primary в фокусе, --primary-light в спокойном состоянии).