diff --git a/design/lightbox-mockup.html b/design/lightbox-mockup.html
new file mode 100644
index 0000000..c303ca6
--- /dev/null
+++ b/design/lightbox-mockup.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+灯箱 v2.1 提案预览 · wait4x
+
+
+
+
+
图库 · 灯箱 v2.1 提案预览
+
预览稿 —— 交互为提案演示(非线上行为)· 图片为 content/photos 实拍,EXIF 为示例数据
+
+
这是给浏览器直接打开的交互演示,对应《09-灯箱美化探索》提案 #1/#2/#3/#6/#7:
+
+ - 原位起飞开合:点击缩略图,照片从原位放大入舞台;关闭回落原位(Esc / 背景点击 / 关闭钮)
+ - chrome 双层淡入:开箱后层 1(箭头/计数)先入、层 2(caption/EXIF)随入;i 隐藏全部;放大后自动隐层
+ - 连拍导航:← → / 边缘箭头 / 触屏快滑;计数 n / N
+ - 缩放:滚轮锚点缩放 1–4x、双击 1x↔2.5x、放大后拖拽、双指缩放;右下角缩放指示
+
+
+
+
+
+
+
+
+
+
+
+
+
1 / 5
+
+
滚轮缩放 · 双击放大 · Esc 关闭 · i 隐藏界面
+
100%
+
+
+
+
+
diff --git a/docs/research/09-灯箱美化探索.md b/docs/research/09-灯箱美化探索.md
new file mode 100644
index 0000000..ee84854
--- /dev/null
+++ b/docs/research/09-灯箱美化探索.md
@@ -0,0 +1,119 @@
+# 灯箱美化探索:图片查看体验天花板五站研究(v2.1 输入)
+
+> 只读调研 + 提案,不动代码。基线 = 灯箱 v2 车道(fit-contain / 滚轮锚点缩放 0.5–5x / 拖拽平移 /
+> 双击 1x↔2.5x / caption+EXIF 分层 / ←→ 与触摸快滑),提案全部**叠加在 v2 之上,不推翻缩放引擎**。
+> 配套可交互演示:`design/lightbox-mockup.html`(浏览器直接打开,交互为提案演示)。
+> 标记:✅ = 静态抓取并核对源码/文档;◐ = 站点可达但查看器 JS 渲染,基于已知稳定形态记录。
+
+## 一、五站笔记
+
+### 1. PhotoSwipe(photoswipe.com)✅ 业界标杆 lightbox
+
+- **A 开合过渡**:`showHideAnimationType: zoom`(默认)= 从缩略图原位起飞到舞台、关闭回落原位;
+ 无缩略图时降级 fade;`prefers-reduced-motion` 自动 none。时长 333ms ×3(show/hide/zoom 同拍),
+ 曲线 `cubic-bezier(.4,0,.22,1)`,双击缩放共用同曲线(节奏统一的关键)。
+ **cover 裁切缩略图路线**:`object-fit:cover` + `data-cropped` —— 我们的 masonry 正是这种缩略图。
+- **B 舞台纯净度**:底色实色 + `bgOpacity`(默认 .8,透明度走 JS 合成不走 rgba,性能纪律);
+ 文档明示**禁止 backdrop blur**(重性能坑)。`tapAction:'toggle-controls'`:单击即隐全部 chrome,纯看图。
+- **C 信息层**:核心无 caption(a11y 原因删出 v5),官方 dynamic-caption 插件——"依剩余空放置于
+ 图下或图侧":竖图自动把 caption 挪进侧边 letterbox,横图回底部。计数器 `n / N` 极简。
+- **D 导航**:边缘箭头 + loop + `arrowKeys`;幻灯片间距 `spacing:.1`(10% 视口,换片有"路过"感);
+ `allowPanToNext`:放大态继续滑 = 翻页(先耗尽平移余量再走片)。
+- **E 微交互**:`preload:[1,2]` 相邻预载;`preloaderDelay:2000`——加载指示 2s 后才出现(快图不打扰);
+ `maxWidthToAnimate:4000` 超宽图不做起飞动画(防掉帧)。图标自带描边阴影,深浅底通吃。
+- **F 移动端**:`pinchToClose`(捏合关闭)、`closeOnVerticalDrag`(竖拖关闭)、双指缩放到 max 档;
+ `trapFocus + returnFocus`(焦点圈与归还,原生 `