Design Guide
设计指南
让 Hoshimado 本身,以及 Hoshimado 做的所有作品,在世界观、外观和措辞上保持一致的规则。
颜色和留白的样本,是直接读取本站实际使用的值(tokens.css)画出来的。改了指南,这个页面也会跟着变。
01Rules
世界的规则
Hoshimado 的一切表达,都建立在这四条规则之上。
- 01
窗里亮着灯,就说明里面有人。
看不见里面,灯光也会告诉你。Hoshimado 这扇窗里,总有创作者在。所以不隐藏创作者的名字。
- 02
星的内里,谁也看不见。传过来的只有光。
他人的内心无法触及。看得见的,只有言行这束光。即便如此,人还是会感觉到光的那一边有人。
- 03
价值不在星上,而在连接星与星的线上。
星座要画上线才会诞生。价值存在于关系之中,而线不花时间是画不出来的。
- 04
熄灭的星,并没有消失。只是睡着了。
每一个作品都是一颗星。停下来的作品也不是终结,而是沉睡。随时都能重新点亮。
品牌的话
窗里亮着灯。里面,有人在。
在 AI 什么都能做出来的夜里,Hoshimado 从创作者所在的那扇窗里,点亮星星。
不用的词最前沿革命性改变未来
02Principles
三个原则
把世界的规则落到日常的设计判断上。拿不准时,就对照这三条来决定。
透明
不隐瞒自己在做什么。能做的、做不到的,都用文字写出来给人看。
在画面显眼的位置,用一句话写“文件不会被发送到任何地方”(只限确实如此的作品)。
安静
像夜空一样沉稳,不催促人。强调在一个画面里只放一处。
主要按钮一个,glow 的光也只有一处。不用倒计时或闪烁来催促。
积累
比起一时的华丽,更看重让人每天都想打开的舒适。所有作品都放在同一片夜空下。
作品再多,页脚的“by Hoshimado”和措辞也保持一致。
03Structure
品牌的结构
人们从作品走到 Hoshimado,再从 Hoshimado 走到创作者。信任与关系最终汇集到创作者个人身上,Hoshimado 是通往那里的窗口。
| 层级 | 例子 | 作用 | 名字与颜色 |
|---|---|---|---|
| 主干:创作者 | takumihiguchi.com、note、X | 写下创作的过程和思考 | 创作者的名字,以及创作者网站的外观 |
| 枝:Hoshimado | 这个网站 | 展示作品与世界的窗口 | 本指南的颜色和标志 |
| 叶:作品 | papatto、YUNA | 使用者的入口 | 每个作品各自的名字和颜色。署名写“by Hoshimado” |
主干:创作者
- 例子
- takumihiguchi.com、note、X
- 作用
- 写下创作的过程和思考
- 名字与颜色
- 创作者的名字,以及创作者网站的外观
枝:Hoshimado
- 例子
- 这个网站
- 作用
- 展示作品与世界的窗口
- 名字与颜色
- 本指南的颜色和标志
叶:作品
- 例子
- papatto、YUNA
- 作用
- 使用者的入口
- 名字与颜色
- 每个作品各自的名字和颜色。署名写“by Hoshimado”
- 不把作品重新涂成 Hoshimado 的颜色。新作品的颜色拿不准时,可以从本指南的颜色开始。
- 无论哪个作品,措辞和无障碍都遵循本指南。
04Voice
措辞
- 用“你”来称呼,语气平和。不过分客套,保持像跟朋友解释事情时那样的距离。
- 只写事实,和能守住的事。不写没有依据的最高级,也不写无法保证的承诺。
- UI 中不用感叹号和表情符号。只有角色说话的场景,优先使用角色自己的口吻。
- 按钮用动词(“保存”“开始”)。错误提示用一句写“发生了什么”,再用一句写“该怎么做”。
- 使用全角中文标点。中文与英文、数字之间留一个空格,数字用半角。日期写“2026年10月28日”,时间写“6:30”。
这个世界的说法
在网站上,统一使用下面的说法。在作品的界面里,优先使用该作品自己的说法。
| 一般的说法 | Hoshimado 的说法 | 英文标题 |
|---|---|---|
| Hoshimado(品牌、这个网站) | 窗 | |
| 作品、作品列表 | 星 | Works |
| 理念、世界观 | 关于这个世界 | Rules |
| 作者、运营者 | 窗里的人 | Creator |
| 与使用者的关系、联系 | 线 |
Hoshimado(品牌、这个网站)
- Hoshimado 的说法
- 窗
作品、作品列表
- Hoshimado 的说法
- 星
- 英文标题
- Works
理念、世界观
- Hoshimado 的说法
- 关于这个世界
- 英文标题
- Rules
作者、运营者
- Hoshimado 的说法
- 窗里的人
- 英文标题
- Creator
与使用者的关系、联系
- Hoshimado 的说法
- 线
这样写,不这样写
隐私
这样写
文件不会被发送到任何地方。所有处理都在这个浏览器里完成。
不这样写
以顶级安全技术全方位守护你的数据!
错误
这样写
没能保存。可能是网络断开了。请再试一次。
不这样写
发生错误(代码 500)
作品暂停
这样写
papatto 暂停一段时间。恢复时会告诉你。
不这样写
服务已终止。
名字的写法
- 正文中写 Hoshimado(只有首字母大写)。中文里也可以写作“星窗”。
- 全部大写的,只有 caption 里的英文小标题。
05Logo
标志与亮灯的窗
标志由圆角窗框和窗格围出的四芒星组成。窗格本身就是一颗星,这是 Hoshimado 的印记。
用法
- 浅色版面用深蓝(brand-night),深色版面用星光(brand-starlight)的文件。不用 CSS 改色(唯一的例外是 by Hoshimado 署名,见第 6 章)。
- 四周至少空出标志高度的 1/4。
- 最小尺寸:单独的图形标志 16px,横排宽 96px。比这更小的位置,只用图形标志。
- 不用 HTML 或其他字体重新拼排,一定使用文件。
不要这样做
不旋转
不横向或纵向拉伸
不加阴影或描边
不用深蓝和星光以外的颜色
亮灯的窗
把标志画成亮着灯的窗的用法。只在品牌想传达“这里有人”的场景使用,放在夜的版面上,小小的,只放一个。
06Endorsement
by Hoshimado
放在作品网站或应用里的 Hoshimado 署名。目标是不破坏作品的世界,同时让人看出出自同一位创作者。

- 标志中,只有这个署名可以改颜色。用作品一侧的“低调的文字色”一种颜色来涂,不带入 Hoshimado 的深蓝或作品的强调色。
- 放在页脚最下面一行(版权信息那一行)的右端。署名的文字高度与旁边的版权信息对齐(高度大约 16~20px),不大于正文。
- 链接到 Hoshimado 的网站,在新标签页中打开。
- 不放在页眉,不比作品的标志大,也不像联合标志那样并排摆放。
署名文件(SVG)
07Color
颜色
夜的深蓝和星光的白是品牌的底色,再少量加入窗的灯光、操作的蓝和星的金。Hoshimado 的网站只用夜的版面,令牌始终取 Dark 的值。Light 用于以白天为主的作品(如 papatto)。
夜
首屏的夜空、深色的整面背景、标志与浅色版面上的文字、大面积的色块。
brand-void#03050dbrand-deep#070c1fbrand-night#101a3abrand-twilight#22346e
星光、灯光、星的光芒
starlight 用于深色版面上的标志和文字。lamp 只用于亮灯的窗的玻璃。glow 是一个画面里唯一一处强调。
brand-starlight#f6f1e4lamp#f2c879glow#e8c277glow-inkLight#8a6417与背景 4.9:1Dark#e8c277与背景 11.1:1
背景
页面/卡片、对话框/色带、代码。
surfaceLight#f7f5efDark#0b1024surface-raisedLight#ffffffDark#141c3asurface-sunkenLight#efece3Dark#070c1f
文字
正文与标题/补充/注释。在 3 种背景上都达到 4.5:1 以上。
inkLight#101a3a与背景 15.6:1Dark#f6f1e4与背景 16.7:1ink-secondaryLight#4a5578与背景 6.7:1Dark#b7bccf与背景 10:1ink-mutedLight#5f6784与背景 5.1:1Dark#8a93ad与背景 6.2:1
线条与操作
线条用于装饰性的分隔,以及输入框、按钮的轮廓。accent 只用于链接、主要按钮、选中和焦点。
borderLight#d9d5caDark#262f57border-controlLight#7e869eDark#66709baccentLight#3d5bd9与背景 5.2:1Dark#8fa6ff与背景 8.1:1on-accentLight#ffffffDark#0b1024
状态
完成/注意/错误。一定配上文字或图标。
successLight#1c7049与背景 5.6:1Dark#5cc593与背景 8.9:1warningLight#8f5c0e与背景 5.2:1Dark#e8b04b与背景 9.6:1dangerLight#b93a36与背景 5.2:1Dark#f07c76与背景 7:1
面积的参考
在夜的版面上,大约 80% 是 brand-void 和 brand-deep,不到 20% 是文字(ink 系),accent 在 10% 以下。lamp 和 glow 不作为面,而是作为点,一个画面里只用一处。
不用的东西
把 accent 当装饰用
把 lamp 或 glow 涂满大面积
蓝紫色渐变、霓虹、花哨的星云插画
08Typography
文字
拉丁文字用 Manrope,日文页面用 Noto Sans JP,中文页面用 Noto Sans SC。字号和行距只用下面 12 种样式。
statement52 / 72px,600讲述世界的一句话。Rules 的开头窗里亮着灯。
display48 / 56px,600英文大标题Works
title-132 / 44px,600页面标题papatto
title-224 / 34px,600分区标题92 个工具,同一种手感
title-318 / 28px,600卡片或小组块的标题Information
body16 / 28px,400正文图片转换、文本整理,都在浏览器里完成。
body-sm14 / 24px,400补充、表格、元信息文件不会被发送到任何地方。
label14 / 20px,600按钮、标签页、表单的标签保存
caption12 / 18px,500注释、徽标、英文小标题准备中
code14 / 22px,400代码、文件名、IDsrc/styles/tokens.css
phrase22~32 / 1.9(随画面宽度伸缩),500讲述场景的一句话(网站的 Rules、Creator)把选中的星连起来,画出只属于你的星座
prose14 / 2.1,400阅读用的段落。为了让中文易读,加大行距自己挑选让你安心的星,再把它们连在一起。这样画出的星座,就是你日常里“方便”与“喜欢”的形状。
- 拉丁文字用 Manrope,日文页面用 Noto Sans JP,中文页面用 Noto Sans SC。数字照样用 Manrope。
- 要讲的话,用一句大字讲出来,说明简短附上即可。不必每次都把标题、说明和按钮配成一套。
- 正文行距偏宽(body 为 1.75,阅读用的段落用 prose,为 2.1)。中文每行控制在 30~38 个字左右(measure)。
- 字号和行距只用这 12 种样式来定。不在页面里单独覆盖。
- 强调不靠大量加粗,而是靠字号和留白。
09Layout
布局、留白、圆角
留白以 4px 为单位,只用有限的几档。左右留白在手机上是 space-4,在宽屏上是 space-12。
留白的档位
部件内部用 space-2~4,部件之间用 space-4~6,分区之间用 space-16 以上。拿不准时,放宽一档。
space-14pxspace-28px部件内部。标签与输入框之间space-312px部件内部space-416px部件内部、部件之间。手机的左右留白space-624px部件之间。表单各项之间space-832px表单最后一项与主要按钮之间space-1248px宽屏的左右留白space-1664px分区之间(至少这么多)
圆角
按钮和输入框用 radius-md。照片和影像的框不做圆角。
radius-sm6px小的标记radius-md10px按钮、输入框radius-lg16px大的部件radius-xl24px对话框radius-window22%图标形状的图块(与标志的窗框相同)radius-pill999px只用于搜索框
排版方式
- 作品列表用铺满作品影像、没有缝隙的图块来展示。名字叠在图块左下角,并把下方压暗以便阅读。不用卡片的边框或阴影包起来。
- 作品详情页的照片和影像放在 16:10 的框里,开头的影像横向铺满。
- 分区之间,只在上方画一条 border 的 1px 线。线之后空出 space-16 以上。
- 正文宽度以 content-max(1120px)为上限,阅读用的文字按 measure 换行。
- 照片和影像的框不做圆角。拿不准时,把留白放宽一档。
10Motion
光与动态
动态表现的是这个世界里时间流动的方式。缓慢,逐渐减速,不弹跳。
Hoshimado 的三种动态
时间
| 令牌 | 时长 | 用在哪里 |
|---|---|---|
| duration-fast | 120ms | 悬停与按下 |
| duration-base | 220ms | 展开收起与淡入淡出 |
| duration-slow | 480ms | 只用于品牌的动效 |
| duration-lamp | 3200ms | 灯亮起来(每个页面一次) |
| duration-line | 1400ms | 画一条星座的线 |
| duration-twinkle | 7000ms | 星闪烁的周期 |
duration-fast
- 时长
- 120ms
- 用在哪里
- 悬停与按下
duration-base
- 时长
- 220ms
- 用在哪里
- 展开收起与淡入淡出
duration-slow
- 时长
- 480ms
- 用在哪里
- 只用于品牌的动效
duration-lamp
- 时长
- 3200ms
- 用在哪里
- 灯亮起来(每个页面一次)
duration-line
- 时长
- 1400ms
- 用在哪里
- 画一条星座的线
duration-twinkle
- 时长
- 7000ms
- 用在哪里
- 星闪烁的周期
光
白天用 shadow-sm(卡片)和 shadow-lg(对话框、菜单)让元素浮起来。到了夜晚,同样的令牌会切换为淡淡的轮廓和光。
Light(白天的窗)
shadow-smshadow-lgshadow-glowDark(夜晚的窗)
shadow-smshadow-lgshadow-glow- 缓慢,逐渐减速,不弹跳。不用弹跳、摇晃、旋转的动态,也不用闪烁来吸引注意。
- 唯一的例外,是首屏窥看作品影像的效果。用马赛克和横向划过的噪点色带,表现“隔着窗在看”。
- 在减少动态效果的设置下,停止所有动效,一开始就显示灯已亮起、线已连好的状态。
- shadow-glow 和 glow 一样,一个画面只用一处。shadow-lamp 只用于亮灯的窗。
11Forms
表单
所有输入框都按同一套外观约定来做。统一标签、输入框、错误提示的形状和间距。
Light(白天的窗)
Dark(夜晚的窗)
- 标签一定放在输入框上方。占位文字不代替标签,用来写输入的例子。
- 输入框和选择框高 44px,圆角 radius-md,背景 surface-raised,轮廓 border-control。文字 16px。
- 必填项居多,所以只给“选填”的一项加标记。不用红色的“*”。
- 错误在输入完成后,在输入框下方用带图标的一句话显示。写清缺了什么、怎么改。
- 立即生效的设置用开关,2~4 个中选一个用单选按钮,5 个以上用选择框。
13Imagery
照片、影像、图标
checkxalertsearchdownloadlockmooncopy操作用 accent- 作品用录下真实画面或直播的影像来展示。比起精心制作的广告影像,更要展示实际使用的样子。
- 照片用真实的夜空、窗户、房间的灯光等安静而真实存在的东西。避免大幅出现人物面孔的素材照片。
- 插画只用圆角方形和圆弧、作为点的星、1px 的线(星座)来画。星只用四芒星或小圆点。
- 图标线宽 1.75px,端点和转角做圆,画在 24px 的框里(与 Lucide 的形状一致)。不用表情符号代替图标。
14Accessibility
无障碍
状态要在标记旁配上文字
焦点框用 2px 实线,与元素相隔 2px
保存- 文字 4.5:1 以上;24px 以上的大字、图标、操作部件的轮廓 3:1 以上。
- 键盘焦点用 focus-ring 的 2px 实线,离开元素 2px 绘制。
- 状态不只靠颜色传达。“已上线”等标记也一定配上文字。
- 图片加上能说明内容的替代文本。标志写“Hoshimado”。装饰用的星和线不让读屏软件读出。
- 能按的部件以 44px 以上为基本。必须做小时也不小于 24px(WCAG 2.2 的 2.5.8),并和相邻的部件留出不会误按的间距。
- 即使看起来很小,也可以用留白把可按的范围扩大。句子里的链接不受此限。
15Checklist
上线前的检查
在作品或页面上线之前,逐项确认。
- 是否与世界的规则相矛盾(创作者的名字有没有被藏起来,有没有写无法保证的承诺)
- 作品的状态是否写作“已上线/准备中/暂停中”
- 主要按钮、glow、亮灯的窗,是否在一个画面里各只有一个
- 文字颜色是否都从令牌中选取,并在 Light 和 Dark 两边都满足对比度
- 所有输入框是否都有标签,错误是否不只靠颜色、还用一句话说明
- 如果是作品,页脚是否用作品低调的文字色放了“by Hoshimado”
- 是否确认过在减少动态效果的设置下,动效会停止