A visual system built to carry twenty years, not one campaign. Seven colors arranged as three tenses of a career; one gradient, and only one; four typefaces, each with a single job; and seven rules that do not bend. 承載長期,而非承載一季。
承器是 NarraTect Advisory 的視覺系統:一套為「二十年」而非「一檔活動」設計的識別。 本文件是它的正典(canon)——所有色值、字體職掌與規則的唯一權威來源。 任何 NTA 產出物若宣稱「承器正典」,必須逐條通過 §11 的驗證清單;通不過的, 只能標註為「承器啟發(inspired)」。
讀者有三種:為 NarraTect 產出物工作的設計者與工程師(人或 AI); 想理解「一人事務所如何維持交付一致性」的同業; 以及未來的自己——當某個深夜想「稍微調一下那個金色」時,本文件負責說不。
「承」是承載、承接、承諾;「器」是容器、器物、器量。承器不是一個 logo, 而是一套能承載二十年職業長弧的容器規格——顏色是時間,字體是聲部,規則是結構。
| 項目 Item | 值 Value | 備註 Note |
|---|---|---|
| 品牌名 Brand | NarraTect Advisory · 敘構顧問 | Narrative × Architect 的合成字 |
| 視覺體系 System | 承器 Chéng Qì | A Vessel for the Long Arc |
| 基地 Base | Taipei 台北 | — |
| 姿態 Posture | Dark-first · HSP-aligned · low-saturation · warm-toned | §02 詳述 |
標記由幾何原語構成:五個圓節點、四條直線,讀作一個抽象的「N」, 也讀作一條有節點的脊椎——敘事建築的最小圖示。標記永遠單色 (曦金於墨玄上,或墨玄於紙面上),不加漸層、不加陰影、不轉圓角。
Figure 1 · Brand mark construction · 標記構成:五節點 × 四線 × 網格
承器是為高敏感(HSP, highly sensitive person)使用情境設計的系統。 每一條看似美學偏好的規則,其實都是感官負荷的削減:這不是風格潔癖, 是無障礙設計——與色彩對比、鍵盤可達性同一個層級的需求。
圓角需要視覺系統持續解析曲率;漸層與光暈造成飽和度脈動與色溫漂移。承器以直角與平色移除這兩種背景噪音。
Emoji 與圖示庫是持續徵收的微注意力稅。承器全面禁用,改以幾何原語自製圖標——每個圖標都必須先回答「為什麼需要存在」。
陰影在暗底上不是消失就是虛假,且迫使大腦解析不存在的空間層。深度改由表面色調(ink-04 / ink-08)與 1px 邊線承擔。
一句話裡多字體混排,讀者的字形系統被迫反覆切換。承器規定「一種語言一種字體」,標點歸屬於所在語言。
判準只有一個問題:這個決定會不會增加感官負荷?會,就選更安靜的那個。
調色盤把一條 2014–2034 的職業長弧映射為三個時態:過去是地基(墨、麻、石), 現在是進行中的工作(陶、茜),未來是開闊(銅、曦)。七個色值是正典—— 一個位元都不許漂移。
| 時態 Tense | 色 Token | HEX | 職掌 Role |
|---|---|---|---|
| 過去 Past | 墨玄 mò xuán | #1B1612 | 主背景 · dark-first 基底 |
| 過去 Past | 亞麻白 yà má bái | #EDE4D3 | 暗底上的主文字 · 紙感 |
| 過去 Past | 石溫 shí wēn | #8B7E6B | 次要文字 · 圖說 · meta |
| 現在 Present | 陶土 táo tǔ | #A0604A | 作用中狀態 · 暖土強調 |
| 現在 Present | 茜紅 qiàn hóng | #9B3831 | 限定強調 · 警示 · 不作大面積 |
| 未來 Future | 銅璽 tóng xǐ | #B8893F | 中階強調 · 次標記號 |
| 未來 Future | 曦金 xī jīn | #D9BC7A | 頂階強調 · 品牌之「金」 |
:root{
/* Past tier */
--mo-xuan:#1B1612; --ya-ma:#EDE4D3; --shi-wen:#8B7E6B;
/* Present tier */
--tao-tu:#A0604A; --qian-hong:#9B3831;
/* Future tier */
--tong-xi:#B8893F; --xi-jin:#D9BC7A;
}
變數命名用羅馬拼音(--mo-xuan 而非 --bg-primary)。 這是刻意的:名稱保存文化出處,也防止「換個底色」式的漂移—— 你無法在不察覺的情況下把「墨玄」改成別的顏色。
承器全系統只允許一個漸層——把七色三時態鋪成一條 2px 的時間軸。 它是簽名元素:出現在每份 NTA 文件的封面與頁尾。六個停駐點的順序與百分比不可修改。
background: linear-gradient(90deg, var(--mo-xuan) 0%, /* anchor · 錨點 */ var(--shi-wen) 18%, var(--tao-tu) 42%, var(--qian-hong) 56%, var(--tong-xi) 76%, var(--xi-jin) 100% /* destination · 目的地 */ );
Figure 2 · Time-bar anatomy · 不對稱是刻意的:過去佔據視野,現在短暫,未來開闊
在旗艦站上,時間軸被「活體化」為左緣的脊椎粒子流——粒子顏色依滾動深度取樣同一條漸層。 那是它唯一被允許的變形;任何其他漸層(按鈕、底圖、文字)都是違規。
承器不用陰影做深度。文字層級與表面深度全部來自兩組固定的透明度階: 暗面用亞麻白的墨階(ink-*),紙面用墨玄的鏡射階(mx-*)。不許發明新的 alpha 值。
| 階 Step | Ink(暗面 on #1B1612) | MX(紙面 on paper) | 職掌 Role |
|---|---|---|---|
| 80 | rgba(237,228,211,0.80) | rgba(27,22,18,0.80) | 次要內文 |
| 60 | rgba(237,228,211,0.60) | rgba(27,22,18,0.60) | 三級文字 · meta |
| 40 / 45 | rgba(237,228,211,0.40) | rgba(27,22,18,0.45) | 停用態 · 裝飾性標記 |
| 20 | rgba(237,228,211,0.20) | rgba(27,22,18,0.20) | 重邊線 |
| 12 | rgba(237,228,211,0.12) | rgba(27,22,18,0.12) | 預設邊線 |
| 08 | rgba(237,228,211,0.08) | rgba(27,22,18,0.08) | 細分隔線 |
| 04 | rgba(237,228,211,0.04) | rgba(27,22,18,0.04) | 卡片表面 |
紙面底 --paper-0 #F7F3EA 與 --paper-1 #F1EBDE 是墨玄的合法衍生層(per H5:亮面永遠從暗面推導)。 雙主題的實作規則:深色主題=把 paper/mx 變數重新映射到墨玄與 ink 階, 不引入任何新色值;墨玄書擋(封面、頁尾)在兩個主題下都保持墨玄。
沒有任何字體做兩份工。中文標題與內文歸 Noto Serif TC,拉丁內文歸 Source Serif 4, 斜體引語歸 EB Garamond,終端聲部(meta、編號、代碼)歸 JetBrains Mono。
| 字體 Face | 字重 Weights | 用 Use | 禁 Never |
|---|---|---|---|
| Noto Serif TC | 300 / 400 / 500 / 600 | 中文標題與內文、品牌名 | 純英文內容 |
| Source Serif 4 | 300–600 · opsz 8..60 | 拉丁內文、展示數字(tabular) | 獨立中文段落、代碼 |
| EB Garamond | 400 / 500 · italic | 斜體強調、編輯性引語 | 內文、標題、中文 |
| JetBrains Mono | 300 / 400 / 500 | meta 標籤、文件編號、代碼、hash | 長段散文、標題 |
body{
font-feature-settings:"kern","liga","palt";
hanging-punctuation:first last;
-webkit-font-smoothing:antialiased;
}
/* mono meta voice */
letter-spacing:0.16em–0.24em; text-transform:uppercase;
"palt" 是關鍵:中日文標點的比例寬替代。 沒有它,逗號與句號會撐出「機器生成中文」特有的鬆散間距—— 這一個 feature flag 就是人味與機器味的分界線。
數字紀律:展示型數字一律拉丁 tabular(font-variant-numeric:tabular-nums); 中文數字只出現在自然語句裡。「52 週」的 52 永遠是拉丁字形。
這些不是偏好。違反任何一條,該產出物即刻失去「承器正典」資格。 每條規則後半是它的 HSP 理由——規則存在的原因,比規則本身更重要。
以下依專案型態彈性調整;給定的是預設值,偏離需要寫下理由。
| # | 項目 Item | 預設 Default | 允許範圍 Range |
|---|---|---|---|
| C1 | 容器寬 Container | max-width: 80rem | 60rem(純長文)–100rem(儀表板) |
| C2 | 內文行高 Line-height | 1.85(中英混排) | 1.7(純拉丁)– 1.95(純中文) |
| C3 | 區塊留白 Section pad | 5rem 0(桌面) | 3.5rem 0(≤720px) |
| C4 | 邊線重量 Borders | 1px solid ink-12 | ink-20 僅限硬結構斷點 |
每個圖標都是 inline SVG,由線、圓、矩形、路徑四種原語構成, 單色描邊(依情境取曦金或墨玄),描邊寬 1.1–1.4,無填色效果。 圖標先問存在理由,再問長相。
Figure 3 · Icon primitives · 四個示例:全部由線/圓/矩形/路徑構成,單色,無效果
構成準則:幾何中心對齊網格;視覺重量以描邊寬統一而非以填色面積統一; 社群平台一律用「隱喻圖標」(節點連線代表專業網絡、紙飛機代表傳訊), 不重繪任何平台的註冊商標。
承器產出物的中英文是共同主語言:英文版是重寫,不是逐字翻譯; 兩個語言各自遵守自己的節奏與慣用語。網頁實作以成對節點承載, 由 body class 切換顯示。
<span class="tc-only">有數據,才有方向。</span> <span class="en-only">Data gives direction.</span> /* pairing math (validated in CI) */ count(.tc-only) == count(.en-only) + count(inline gloss)
配對數學是可驗證的:每個 tc-only 必有 en-only 對應,唯一例外是章節標記裡的 內嵌 gloss(英文標籤旁的短中文註記)。驗證器逐頁計數,多一個少一個都擋下發布。
語感紀律:中文以判斷句領頭,少用「的的不休」的修飾鏈;英文重寫時允許改變句式與比喻, 只要立場等值。禁用清單(兩語共通):驚嘆號、反問句標題、最高級形容詞、 「解鎖/賦能/打造」類行銷動詞的堆疊。
品牌系統的死法只有一種:被善意的小偏離慢慢稀釋。承器的防禦是把規則寫成可執行的驗證—— 每次修改後機器逐條檢查,通過才算完成。
| # | 檢查 Check | 方法 Method |
|---|---|---|
| 01 | 七色 HEX 逐位元相符 | validate.py · palette |
| 02 | 變數名用羅馬拼音 | 人工抽查 |
| 03 | 時間軸六站順序與百分比 | validate.py · regex |
| 04 | 四字體各司其職 | 人工抽查 |
| 05 | body 帶 "palt" | grep |
| 06 | 無 border-radius > 0 | validate.py |
| 07 | 無圖示庫 import | grep |
| 08 | 無 emoji(含註解) | validate.py · unicode range |
| 09 | 預設墨玄底(dark-first) | 人工抽查 |
| 10 | 頁尾帶 © NarraTect Advisory 行 | grep |
十點全過=「承器正典」。任何一點不過,只有兩條路:修到過, 或明確標註「承器啟發(inspired)」並記錄偏離理由。 邊界必須銳利——稀釋正典的從來不是叛變,是模糊。
需要正典沒有的值時:先記錄偏離理由,提案進入本文件, 以 REV 字母遞增發布(REV YYYY.MM · LETTER); 月份翻新則重置為 A。錯字修正不進 REV。在提案合併之前,該產出物一律標「啟發」。
承器的每一條規則都是一次拒絕:拒絕圓角、拒絕陰影、拒絕第八十一種灰。 拒絕清單愈長,容器愈能承重。這份文件的價值不在它允許什麼——在它替未來的你, 把「稍微調一下」擋在門外。
Constraint is the vessel. What it carries is the work.