Один бинарь на stdlib, ноль зависимостей: подкоманды serve, vapid, version; статика из embed с ETag и Cache-Control: no-cache; /healthz; заголовки безопасности ADR-021 на всех ответах, включая ошибки; лимит тела 32 КиБ. Путь в логе — в percent-форме: подделать строку журнала запросом нельзя. Ни IP, ни ника, ни query в логах нет. Клиент — знак «Скобы» и слово bare: без script-тегов, inline-стилей и внешних ресурсов. ADR-025: go:embed не выходит за каталог пакета, поэтому объявление статики живёт в корне модуля, а клиент остаётся в web/. ADR-026: 413 отдаётся кодом too_large, неподдерживаемый метод — 404; оба добавлены в перечень protocol.md. Сервер: пользователь bare, /opt/bare, /var/lib/bare, /etc/bare/env 0600, systemd-юнит, nginx с сертификатом certbot (плагин nginx, как у соседей). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DbCjVfTFq4ZFG8juD45YJ
57 lines
1.0 KiB
CSS
57 lines
1.0 KiB
CSS
/* айдентика «скобы» — docs/identity/brief.md, ADR-024 */
|
|
|
|
:root {
|
|
--bone: #F7F5F0;
|
|
--ink: #1B1917;
|
|
--text2: #3C3B38;
|
|
--mute: #6E6D68;
|
|
--stone: #A9A59D;
|
|
--line: #E7E3DA;
|
|
--edge: #DEDCD6;
|
|
--mark: #C82D40;
|
|
--mark: oklch(55% 0.19 20);
|
|
--mono: ui-monospace, "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;
|
|
|
|
/* тема одна, светлая (ADR-024): системная тёмная ничего не перекрашивает */
|
|
color-scheme: light;
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html,
|
|
body {
|
|
height: 100%;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
background: var(--bone);
|
|
color: var(--ink);
|
|
font-family: var(--mono);
|
|
font-size: 14px;
|
|
line-height: 1.55;
|
|
-webkit-text-size-adjust: 100%;
|
|
}
|
|
|
|
/* заставка: знак и слово, больше пока ничего */
|
|
|
|
.boot {
|
|
min-height: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 12px;
|
|
}
|
|
|
|
.boot .mark {
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
|
|
.boot .word {
|
|
font-size: 15px;
|
|
letter-spacing: -0.02em;
|
|
}
|