STYLE GUIDE · 设计系统GENSOKYO ZINE · V1.1 · 2026 · NIGHT

STYLE GUIDEFOR IMPLEMENTERS · GENSOKYO ZINE

设计系统手册

给实现者的说明书:日夜两套纸色、字体、间距、描边与阴影、组件与状态。所有数值都来自 theme.css 的 light-dark() 变量,组件直接引用即可; 圆角、贴纸与手写体是可爱的地方,规则是让它不散架的地方。

先立规矩,
再贴贴纸。

01

色彩

COLOR

四个高饱和主色负责记忆点,浅色系负责贴纸底色,纸与墨负责文字与描边。日间与夜间是同一套语义 token,只是 light-dark(日, 夜) 的两端;切换主题只改color-scheme。色块左半为日间、右半为夜间;小字号文字改用加深色(--coral-deep、--ink-soft),保证正文对比度 ≥ 4.5:1。

高饱和主色 4 COLORS MAX

主色蓝

#6db0ec

--blue

主按钮、贴纸、页签;站点原主色

珊瑚红

#ef6f5e

--coral

最新标记、印章、强调贴纸

薄荷绿

#79cdb4

--mint

胶带、标签、完成状态

暖黄

#f7c948

--butter

高亮荧光笔、提示、暖色贴纸

贴纸浅色 TINTS · 大面积底色

淡蓝

#bfe0f8 / #22374f

--blue-soft

标题硬阴影、浅蓝贴纸

淡珊瑚

#fbd9d4 / #452a2d

--coral-soft

便签底、警示浅底

淡薄荷

#d9f3e9 / #1e3b35

--mint-soft

便签底、章节号码底

淡黄

#fdeec2 / #43371d

--butter-soft

高亮底、提示贴纸

纸与墨 PAPER & INK

奶油纸白 / 夜色纸

#fffdf6 / #1b2438

--paper

纸页/卡片/按钮底色(默认)

奶油纸二 / 夜纸二

#fff8e9 / #212b40

--paper-2

周报卡、归档卡、页脚带

天空浅蓝 / 夜空蓝

#eef8ff / #22344f

--sky-tint

同人志区、浅蓝便签、hover 底

墨蓝 / 月光墨

#22314f / #f4efe3

--ink

正文/描边/主墨色

次级墨 / 夜次级墨

#3c4c6d / #d5dced

--ink-2

正文段落、辅助文字

浅墨 / 夜浅墨

#5f6f8d / #a8b4c9

--ink-soft

元信息、日期、说明(≥12px 用)

主题专用 THEME TOKENS

实色主色文字

#16203a

--on-accent

蓝/珊瑚/薄荷/黄底上的文字与图标

硬阴影

#22314f / #080d17

--shadow-ink

贴纸向外偏移的硬阴影

代码底

#22314f / #0b1220

--code-bg

pre / 设计系统代码块

代码字

#fffdf6 / #e9eef8

--code-fg

代码块文字

天空底

#deeffc / #0a1220

--sky-base-1

页面天空渐变起点 / html 底色

荧光笔

#f7c948 / #6b5518

--marker-butter

首页大标题下方的高亮标记

日间文本对比度 DAY · ACCESSIBILITY CHECK

墨 on 纸(正文) 正文 17px / 2.0212.73 : 1
浅墨 on 纸(元信息) 元信息 12px4.98 : 1
深墨 on 主色蓝(主按钮) 按钮文字 15.5px6.97 : 1
深墨 on 珊瑚(贴纸) 贴纸文字 12px5.46 : 1
深珊瑚 on 浅蓝(小字) 章节号 / 周末日期5.02 : 1
纸白 on 墨(反白) 深底标签 / 印章12.73 : 1

夜间文本对比度 NIGHT · ACCESSIBILITY CHECK

月光墨 on 夜色纸(正文) 正文 17px / 2.0213.50 : 1
夜浅墨 on 夜色纸(元信息) 元信息 12px7.40 : 1
深墨 on 主色蓝(主按钮) 按钮文字 15.5px6.97 : 1
深墨 on 珊瑚(贴纸) 贴纸文字 12px5.46 : 1
亮蓝链接 on 夜色纸 正文链接 17px8.74 : 1
月光墨 on 深色淡黄(便签) 便签正文 13.5px10.15 : 1
代码字 on 代码底 代码 13.5px16.09 : 1

※ 珊瑚 #ef6f5e直接配纸白只有 2.9:1,只允许出现在装饰性印章、24px 以上大字或描边里;小字一律换--coral-deep。夜间把墨色反转为月光墨后,所有双值 token 由 light-dark() 自动重算,切换只改color-scheme。

02

字体与字阶

TYPOGRAPHY

标题一律使用站点自有的 ChillRoundF(只有 400 一个字重,所以不做伪粗:用字号、硬阴影与细描边建立层次);正文使用系统中文黑体(Noto Sans SC / PingFang SC / 微软雅黑按系统可用性回落);拉丁数字用 Baloo 2(OSS 自托管分片);元信息用 Cascadia Mono;手写体 HappyZcool-2016 只做小面积点缀。

Display / Hero--font-title · ChillRoundF
的幻想乡
clamp(2.7rem, 6.1vw, 4.8rem) · line-height 1.1 · letter-spacing 0.03em · 墨色文字 + 蓝色/墨色双层硬阴影 + 0.5px 描边
Page titleChillRoundF 400
周报归档
clamp(2rem, 4.2vw, 3.15rem) · line-height 1.22 · 3px 淡蓝硬阴影
Section titleChillRoundF 400
最新周报 / 章节目录
clamp(1.35rem, 2.2vw, 1.72rem) · 前接旋转的编号贴纸(01 / 02 / 03)
Card titleChillRoundF 400
2026 年第 42 周
clamp(1.05rem, 1.5vw, 1.2rem) · line-height 1.8 · 长标题使用 text-wrap: pretty 防孤字
Body系统中文黑体 · 400
周中发现背包上的挂件链子被扯断了,好在挂件本身还算完好,转为收藏了。这周 DS 还崩了 5 小时,不过对我影响不算大。
正文 17px / line-height 2.02;卡片摘要 13.5–15px / 1.95;中文行高 ≥ 1.75,段间距 1.35em
MetaCascadia Mono 400
2026.10.12 — 10.18 · WEEK 42 · 约 3 分钟
9–12px · letter-spacing 0.02–0.2em · 日期、周数、页码、英文小标签
HandHappyZcool-2016 400
这一周,也好好记下来了。
13–19px · 仅用于便签批注、拍立得签名、章末、页码旁的碎碎念,单屏不超过 3 处
Latin displayBaloo 2 800
LOTUSLAND 2026 · W42
英文贴纸、统计数字、年份;只加载 600/700/800 三个字重
03

间距与栅格

SPACING & GRID

以 4px 为基准的间距刻度;页面内容最大宽度 1210px,左侧装订条 86px(手机转顶部活页条 54px),纸页内边距 clamp(18px, 3.4vw, 52px),正文阅读宽度 700px,文章整体 970px。

间距刻度 4PX BASE

4px / --sp-1
8px / --sp-2
12px / --sp-3
16px / --sp-4
24px / --sp-6
32px / --sp-8
48px / --sp-12
64px / --sp-16

布局常量 LAYOUT

  • 页面最大宽 1210px(.notebook-wrap)
  • 装订条 86px;≤960px 变 54px 顶部活页条
  • 纸页内边距 clamp(18px, 3.4vw, 52px)
  • 正文阅读宽 700px;文章布局 970px
  • 卡片圆角 14 / 16 / 20 / 22 / 24 / 28px
  • 内容节奏 区块间距 clamp(34px, 4.6vw, 54px)
  • 断点 1260 / 1080 / 960 / 820 / 700 / 420px
  • 页签 / 胶带 绝对定位,≤1260px 隐藏右侧页签
04

描边、圆角与阴影

SHAPE & SHADOW

所有纸片都是 2–3px 墨色描边 + 圆角 + 向外偏移的硬阴影(印刷贴纸感),禁止模糊投影堆叠与玻璃拟态。阴影只分两档:贴纸级 2–4px 实墨,纸片级 4–8px 半透明墨。

圆角 RADIUS

6px10px14px22px28px

描边与阴影 BORDER & HARD SHADOW

2px + 2px2.5px + 3px3px + 4px卡片软影 6×8px

手帐质感零件 TEXTURE PARTS

和纸胶带装订孔图钉42印章点阵纸

旋转纪律:纸片 ≤ ±1.5°,小贴纸 / 印章 ≤ ±8°;≤700px 时大卡片旋转归零,只保留小贴纸的轻微倾斜。

05

组件与状态

COMPONENTS

所有可交互元素都要有 hover 上浮 + focus-visible 珊瑚虚线描边。按钮最小高度 46px,导航 42px,主题票签 40px,触控目标 ≥ 40px。

PILL · 导航 / hover / active

THEME SWITCH · 日 / 自动 / 夜

三档 radio group,与页头开关同步;无 JS / 初始化失败时隐藏。

TAG · 标签与贴纸

同人创作 逆转裁判世界观 连载 5 章 生活
本周记录WEEK 42

SECTION HEAD · 区块标题

03

最近随笔

RECENT NOTES

全部随笔

TICKET · 本周票根 / 面包屑

THIS WEEKW422026

PAGINATION · 分页贴纸

06

动效

MOTION

动效只负责“贴上去”和“翻一页”的感觉,不负责表演。默认进场 rise-in 0.55s、贴纸 hover 150–250ms、下沉 2–4px;prefers-reduced-motion: reduce时全部动画与过渡降到 0.001ms。

  • 进场 rise-in 0.55s ease(卡片错峰 0–0.16s)
  • hover transform 150–250ms + 阴影加深 1 档
  • 旋转回正 旋转卡片 hover 时 rotate → 0deg
  • 滚动 仅 html scroll-behavior: smooth(可被 reduced-motion 关闭)
  • 不做 视差、全屏粒子、自动轮播、循环抖动
  • 翻页 归档分页使用 :target 纯 CSS 切换,不依赖 JS
07

可访问性

ACCESSIBILITY

  • 焦点 3px 珊瑚虚线 + offset 3px(:focus-visible)
  • 触控 导航/按钮 ≥ 42px,主要按钮 ≥ 46px,主题票签 40px,触控目标 ≥ 40px
  • 对比度 日/夜正文均 ≥ 4.5:1;大标题/装饰印章 ≥ 3:1;珊瑚小字加深
  • 主题 三档 radio group(日/自动/夜),方向键可切换;无 JS 时跟随系统并隐藏控件
  • 语义 header / nav / main / footer / article / aside + aria-label
  • 装饰 SVG 与胶带一律 aria-hidden,不进入无障碍树
  • 跳转 首元素为 skip-link,直达 #main
  • 缩放 字号用 rem/clamp;390px 下无横向滚动
  • 字体 ChillRoundF 仅 400,不用伪粗体;正文回退系统中文黑体

FOCUS-VISIBLE DEMO · Tab 聚焦查看

08

使用规则

DO & DON'T

DO
  • 高饱和主色 ≤ 4 个,只做填充、描边和贴纸
  • 颜色一律走 theme.css 语义 token;双值写 light-dark()
  • 深色模式只换 token,不改布局、字号与间距
  • 实色主色底上的文字必须用 --on-accent
  • 卡片一律 2–3px 墨色描边 + 向外硬阴影;深色阴影用 --shadow-ink
  • 旋转只给纸片与贴纸,手机端纸片归零
  • 手写体只在便签、签名、章末出现
  • 正文行高 ≥ 1.8,中文标点、中英混排留白
  • 装饰全部 aria-hidden,交互必须能键盘到达
DON'T
  • 不要 emoji 当图标、不要满屏贴纸与胶带
  • 不要所有卡片都转、不要超过 ±3° 的大面积旋转
  • 不要玻璃拟态、模糊阴影、渐变紫白底
  • 不要用主色直接写小字(对比度不够)
  • 不要在组件里写死 hex / rgba 颜色或 #fff 纸底
  • 不要用二元 checkbox 代替三档主题切换
  • 不要在卡片里再套一层带描边的卡片
  • 不要把 ChillRoundF 伪造成粗体
09

页面与实现映射

PAGE & TOKEN MAPPING

这套稿子的每个页面都对应正式站点的真实路由与 Astro 组件;主题 token 定义在 src/styles/theme.css,用light-dark(日, 夜) 描述两端,由html[data-theme] 上的color-scheme 决定生效值。

  • HTML 契约 html[data-theme="auto|light|dark"]
  • 存储键 lotusland:theme(缺省 / 非法值回落 auto)
  • 首屏 head 内联脚本先落 data-theme 与 html 背景,再渲染 body
  • 换页 astro:after-swap / astro:page-load 同步 checked 与 meta theme-color
  • 无 JS auto + light-dark() 仍跟随系统;切换器因 data-theme-ready 不存在而隐藏
  • 动效 用户点击时 220ms View Transition 交叉淡入;系统变化与 reduced-motion 不做动画
原型页面正式路由复用组件
index.html/Header / Footer / 周报卡 / 便签列表 / 合集封面
weekly.html/weekly、/weekly/[year]年份切换 / 归档行 / 分页 / 周数印章
article.html/weekly/[year]/[week]文章页眉 / 面包屑 / 正文 / 上一篇-下一篇 / 作者卡
notes.html/notes、/notes/[page]合集条 / 便签卡 / 分页
collection.html/collections/[slug]同人志封面 / 章节目录 / 设定小卡
404.html/404404 插画 / 返回入口
:root {
  color-scheme: light dark;
  --paper: light-dark(#fffdf6, #1b2438);
  --ink: light-dark(#22314f, #f4efe3);
  --blue: #6db0ec;
  --coral: #ef6f5e;
  --mint: #79cdb4;
  --butter: #f7c948;
  --on-accent: #16203a;
  --shadow-ink: light-dark(#22314f, #080d17);
  --code-bg: light-dark(#22314f, #0b1220);
  --font-title: "ChillRoundF";
  --bd: 3px;
}

:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"]  { color-scheme: dark; }
:root[data-theme="auto"]  { color-scheme: light dark; }

※ 本页与 404 为内部页面,不进入主导航;它们与其它页面共用同一套 Header / Footer / 纸页外壳。