/* ═══════════════════════════════════════════════════════════
   翠影华章 · 唯一主题（奶粉色 · 浅色系）
   ── 2026-09-22 先生钉死的简报：**所有 UI 的色调为奶粉色、浅色系**；
      暗色主题与切换按钮一并撤除，theme.js 现在恒定 data-theme="light"。
   ── 调色板经 WCAG 实算（D:\Backup\sakiko\critique\palette-contrast.js）：
      正文 11.27:1 / 次文 6.21 / 弱文 5.09 / 最弱 4.51 / 强调 4.89 / 暖色 4.84，全部 ≥4.5:1。
   ═══════════════════════════════════════════════════════════ */

html[data-theme="light"] {
  /* 底色：奶白偏粉（不用纯白，刺眼；也不用灰，发脏） */
  --bg-0: #fbf3f0;
  --bg-1: #fffbf9;
  --glow-1: 233, 180, 180;     /* 奶粉玫瑰 */
  --glow-2: 226, 159, 175;     /* 浅玫粉 */
  --glow-3: 240, 205, 190;     /* 奶杏 */

  /* 玻璃：白里透粉 */
  --glass-hi: rgba(255, 252, 251, .78);
  --glass-mid: rgba(255, 252, 251, .62);
  --glass-lo: rgba(255, 252, 251, .52);
  --stroke: rgba(122, 90, 86, .12);
  --stroke-hi: rgba(122, 90, 86, .22);

  /* 字：深奶咖 */
  --text: #43302f;
  --text-2: #6e5553;
  --muted: #7c625f;
  --faint: #856a67;

  /* 主色：玫粉（替掉青与靛） */
  --a1: #a64f63;
  --a2: #e39ba8;      /* 仅装饰 */
  --ok: #4f7a5e;
  --warn: #9c5a46;
  --danger: #b23a48;
  --warm: #9c5a46;
  --on-accent: #fff9f8;
  --on-warm: #fff9f8;

  --shadow-1: 0 8px 32px rgba(120, 80, 76, .12), 0 2px 8px rgba(120, 80, 76, .06);
  --shadow-2: 0 6px 20px rgba(120, 80, 76, .12);
  --inset-hi: inset 0 1px 0 rgba(255, 255, 255, .9);
  --inset-lo: inset 0 -1px 0 rgba(120, 80, 76, .05);
}

/* ── 壁纸：亮色用柔和粉彩光团（保留"细节"，折射才有东西可扭） ── */
html[data-theme="light"] body { background: var(--bg-0); }
html[data-theme="light"] .ambient i:nth-child(1) {
  background: radial-gradient(circle, rgba(56, 152, 255, .34), transparent 64%);
}
html[data-theme="light"] .ambient i:nth-child(2) {
  background: radial-gradient(circle, rgba(122, 108, 246, .30), transparent 64%);
}
html[data-theme="light"] .ambient i:nth-child(3) {
  background: radial-gradient(circle, rgba(255, 138, 176, .26), transparent 64%);
}
html[data-theme="light"] .ambient::before {
  background: radial-gradient(circle, rgba(255, 196, 92, .30), transparent 64%);
}
html[data-theme="light"] .ambient::after {
  background: radial-gradient(circle, rgba(94, 234, 212, .28), transparent 64%);
}
/* 亮底上的细线圆环要用"深色"才看得见 */
html[data-theme="light"] .ambient .rings {
  background:
    radial-gradient(circle at 32% 38%, transparent 0 139px, rgba(9, 9, 11, .07) 139px 140px, transparent 140px),
    radial-gradient(circle at 32% 38%, transparent 0 259px, rgba(9, 9, 11, .05) 259px 260px, transparent 260px),
    radial-gradient(circle at 78% 70%, transparent 0 179px, rgba(9, 9, 11, .06) 179px 180px, transparent 180px),
    radial-gradient(circle at 78% 70%, transparent 0 329px, rgba(9, 9, 11, .04) 329px 330px, transparent 330px);
}
html[data-theme="light"] .ambient .grain { opacity: .10; mix-blend-mode: multiply; }

/* ── 玻璃本体：亮色用磨砂白 + 柔影（VisionOS 那套数值） ── */
html[data-theme="light"] .glass {
  background:
    radial-gradient(240px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .95), transparent 62%),
    linear-gradient(160deg, var(--glass-hi), var(--glass-mid) 46%, var(--glass-lo));
  border: 1px solid rgba(255, 255, 255, .75);
  box-shadow: 0 8px 32px rgba(16, 24, 40, .10), inset 0 1px 0 rgba(255, 255, 255, .95);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
}
/* 顶部高光在亮底上要更轻 */
html[data-theme="light"] .glass::before {
  background: radial-gradient(130% 55% at 22% -12%, rgba(255, 255, 255, .95), transparent 62%);
  opacity: .55;
}
/* 边缘折射环换成"深一点的白"才看得出玻璃有厚度 */
html[data-theme="light"] .glass::after {
  background: linear-gradient(145deg,
    rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, .35) 34%,
    rgba(140, 190, 255, .45) 62%, rgba(255, 255, 255, .85) 100%);
}

/* 真折射模式下的亮色玻璃：更透一点，让背后画面透出来 */
html[data-theme="light"][data-liquid="ok"] .glass {
  background:
    radial-gradient(240px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .95), transparent 62%),
    linear-gradient(160deg, rgba(255, 255, 255, .68), rgba(255, 255, 255, .46) 46%, rgba(255, 255, 255, .60));
  border-color: rgba(255, 255, 255, .82);
}
/* 亮色下不需要文字阴影（会把字糊脏） */
html[data-theme="light"][data-liquid="ok"] .glass,
html[data-theme="light"][data-liquid="ok"] .float { text-shadow: none; }

/* ── 控件 ── */
html[data-theme="light"] .input {
  background: rgba(255, 255, 255, .72);
  border-color: rgba(9, 9, 11, .14);
  color: var(--text);
  box-shadow: inset 0 1px 2px rgba(16, 24, 40, .04);
}
html[data-theme="light"] .input::placeholder { color: #6a7380; }   /* 原 #798391 只有 3.81:1 */
html[data-theme="light"] .input:focus {
  border-color: rgba(11, 143, 214, .75);
  box-shadow: 0 0 0 4px rgba(11, 143, 214, .16);
}
html[data-theme="light"] .check input { background: rgba(255, 255, 255, .8); border-color: rgba(9, 9, 11, .25); }
html[data-theme="light"] .check input:checked { border-color: transparent; }

html[data-theme="light"] .btn-primary { color: #fff; background: linear-gradient(135deg, #0b6fae, #4f46e5); box-shadow: 0 10px 26px rgba(11, 143, 214, .30), inset 0 1px 0 rgba(255, 255, 255, .35); }
html[data-theme="light"] .btn-ghost {
  color: var(--text-2);
  background: rgba(255, 255, 255, .68);
  border-color: rgba(9, 9, 11, .14);
}
html[data-theme="light"] .btn-ghost:hover { color: var(--text); border-color: rgba(9, 9, 11, .26); }
html[data-theme="light"] .btn-danger { color: #fff; background: linear-gradient(135deg, #e14b58, #b91c2c); }

html[data-theme="light"] .segment { background: rgba(9, 9, 11, .06); border-color: rgba(9, 9, 11, .08); box-shadow: none; }
html[data-theme="light"] .seg { color: var(--muted); }
html[data-theme="light"] .seg.active {
  color: var(--text);
  background: #fff;
  box-shadow: 0 1px 3px rgba(16, 24, 40, .16), 0 0 0 .5px rgba(9, 9, 11, .06);
}

html[data-theme="light"] .drop {
  border-color: rgba(9, 9, 11, .18);
  color: var(--text-2);
  background: radial-gradient(120% 90% at 20% 0%, rgba(255, 255, 255, .8), rgba(255, 255, 255, .45));
}
html[data-theme="light"] .drop:hover, html[data-theme="light"] .drop.over {
  border-color: rgba(11, 143, 214, .65);
  background: radial-gradient(120% 90% at 20% 0%, rgba(11, 143, 214, .10), rgba(255, 255, 255, .6));
  color: var(--text);
}
html[data-theme="light"] .drop b { color: var(--a1); }

html[data-theme="light"] .bar { background: rgba(9, 9, 11, .10); }

html[data-theme="light"] .tile {
  background: rgba(255, 255, 255, .6);
  border-color: rgba(9, 9, 11, .10);
  box-shadow: 0 4px 14px rgba(16, 24, 40, .10);
}
html[data-theme="light"] .tile:hover { border-color: rgba(9, 9, 11, .2); box-shadow: 0 10px 26px rgba(16, 24, 40, .16); }
html[data-theme="light"] .tile .x { background: rgba(255, 255, 255, .85); color: #3f4652; border-color: rgba(9, 9, 11, .12); }
html[data-theme="light"] .tile .pin { background: rgba(255, 255, 255, .88); color: #1f2937; border-color: rgba(9, 9, 11, .12); }

html[data-theme="light"] .topbar {
  background: linear-gradient(180deg, rgba(255, 255, 255, .86), rgba(255, 255, 255, .68));
  border-bottom-color: rgba(9, 9, 11, .08);
}
html[data-theme="light"] .topbar a, html[data-theme="light"] .topbar button.link { color: var(--text-2); }
html[data-theme="light"] .topbar a:hover, html[data-theme="light"] .topbar button.link:hover { color: var(--text); background: rgba(9, 9, 11, .05); border-color: rgba(9, 9, 11, .10); }

/* 标签：亮底上改成"浅色底 + 深色字"，对比度更稳 */
html[data-theme="light"] .tag-ok { color: #04543a; background: linear-gradient(135deg, #b7f0d3, #6ee7b7); }
html[data-theme="light"] .tag-wait { color: #4a3102; background: linear-gradient(135deg, #fde9b0, #fbbf24); }
html[data-theme="light"] .tag-info { color: #063a4a; background: linear-gradient(135deg, #bdf0fb, #67e8f9); }
html[data-theme="light"] .tag-dim { color: var(--text-2); background: rgba(9, 9, 11, .06); border-color: rgba(9, 9, 11, .10); }

html[data-theme="light"] .note { background: rgba(255, 255, 255, .7); border-color: rgba(9, 9, 11, .10); color: var(--text-2); }
html[data-theme="light"] .note-ok { background: rgba(16, 138, 95, .10); border-color: rgba(16, 138, 95, .28); color: #0b5f42; }
html[data-theme="light"] .note-warn { background: rgba(161, 98, 7, .10); border-color: rgba(161, 98, 7, .28); color: #7a4a06; }
html[data-theme="light"] .note-err { background: rgba(217, 45, 60, .10); border-color: rgba(217, 45, 60, .28); color: #9b1c28; }

html[data-theme="light"] .empty { color: var(--faint); }

/* 滚动条与选中 */
html[data-theme="light"] ::-webkit-scrollbar-thumb { background: rgba(9, 9, 11, .18); background-clip: content-box; }
html[data-theme="light"] ::-webkit-scrollbar-thumb:hover { background: rgba(9, 9, 11, .3); background-clip: content-box; }
html[data-theme="light"] ::selection { background: rgba(11, 143, 214, .25); color: #0b0b0f; }

/* 渐变标题在亮底上要压深，否则发白看不清 */
html[data-theme="light"] .grad-text {
  background: linear-gradient(100deg, #10121a 6%, #0b6fae 55%, #4f46e5 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
html[data-theme="light"] .eyebrow { color: #8a93a1; }

/* ── 地图页：悬浮面板换成亮色玻璃（与浅色地图同位，更像苹果地图） ── */
html[data-theme="light"] .float {
  background:
    radial-gradient(200px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .95), transparent 60%),
    linear-gradient(160deg, rgba(255, 255, 255, .80), rgba(255, 255, 255, .64));
  border-color: rgba(255, 255, 255, .8);
  box-shadow: 0 8px 30px rgba(16, 24, 40, .14), inset 0 1px 0 rgba(255, 255, 255, .95);
}
html[data-theme="light"] .topbar.float {
  background: linear-gradient(160deg, rgba(255, 255, 255, .88), rgba(255, 255, 255, .74));
  border-color: rgba(255, 255, 255, .8);
}
html[data-theme="light"][data-liquid="ok"] .float,
html[data-theme="light"][data-liquid="ok"] .topbar {
  background:
    radial-gradient(200px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .95), transparent 60%),
    linear-gradient(160deg, rgba(255, 255, 255, .64), rgba(255, 255, 255, .46)) !important;
}
html[data-theme="light"] .timeline .cap, html[data-theme="light"] .timeline .count { color: var(--muted); }
html[data-theme="light"] .timeline .year { color: #0b6fae; }
html[data-theme="light"] .range2 .track { background: rgba(9, 9, 11, .14); }
html[data-theme="light"] .range2 input[type=range]::-webkit-slider-thumb {
  background: radial-gradient(circle at 35% 30%, #ffffff, #cfeaff 60%, #0b8fd6);
  border-color: #fff;
  box-shadow: 0 2px 8px rgba(16, 24, 40, .28), 0 0 0 1px rgba(11, 143, 214, .5);
}
html[data-theme="light"] .place-bar {
  background: linear-gradient(160deg, rgba(255, 255, 255, .9), rgba(240, 247, 255, .82)) !important;
  color: var(--text);
}
html[data-theme="light"] .place-bar button { background: rgba(9, 9, 11, .06); color: var(--text); border-color: rgba(9, 9, 11, .14); }

/* 弹层与提示板 */
html[data-theme="light"] #lightbox { background: rgba(240, 243, 248, .82); }
html[data-theme="light"] #lightbox .box { background: linear-gradient(160deg, rgba(255, 255, 255, .96), rgba(250, 251, 253, .92)); border-color: rgba(9, 9, 11, .08); }
html[data-theme="light"] #lightbox img { background: #eef1f5; }
html[data-theme="light"] #lightbox .info { color: var(--text-2); }
html[data-theme="light"] #lightbox .info .who { color: #0b6fae; }
html[data-theme="light"] #lightbox .close { background: rgba(255, 255, 255, .9); color: #3f4652; border-color: rgba(9, 9, 11, .1); }
/* 参数药丸在亮底上不能再用"白玻璃"，否则白字白底等于没画 */
html[data-theme="light"] #lightbox .exif span { background: rgba(9, 9, 11, .05); border-color: rgba(9, 9, 11, .10); }
html[data-theme="light"] #lightbox .exif span.cam { color: var(--warm); border-color: rgba(163, 90, 6, .32); }

/* ── 相册页的大图（#viewer）：2026-09-18 补 ──
   之前亮色主题只覆盖了地图页的 #lightbox，**漏了这一处**：遮罩仍是深色（rgba(4,6,10,.86)），
   而 .bar 的字用的是 --text-2（亮色主题下是深灰）→ 深字压深底，
   大图下方整行「拍摄时间 / 地名 / 还没定位 / 计数」等于隐形。此处补成"亮色遮罩 + 深色字"。 */
html[data-theme="light"] #viewer .scrim { background: rgba(240, 243, 248, .88); }
html[data-theme="light"] #viewer img { background: #eef1f5; box-shadow: 0 18px 50px rgba(16, 24, 40, .3); }
html[data-theme="light"] #viewer .vbar { color: var(--text-2); }
html[data-theme="light"] #viewer .exif span { background: rgba(9, 9, 11, .05); border-color: rgba(9, 9, 11, .10); }
html[data-theme="light"] #viewer .exif span.cam { color: var(--warm); border-color: rgba(163, 90, 6, .32); }
html[data-theme="light"] #viewer .nav,
html[data-theme="light"] #viewer .close { background: rgba(255, 255, 255, .92); color: #3f4652; border-color: rgba(9, 9, 11, .1); }

/* 自选月日的小面板（亮色）：输入框与快捷按钮不能再用"白玻璃" */
html[data-theme="light"] .tl-custom {
  background: linear-gradient(160deg, rgba(255, 255, 255, .97), rgba(248, 250, 252, .95));
  border-color: rgba(9, 9, 11, .10);
  box-shadow: 0 18px 44px rgba(16, 24, 40, .20), 0 1px 0 rgba(255, 255, 255, .9) inset;
}
html[data-theme="light"] .tl-c-row input[type="date"] { color-scheme: light; background: rgba(9, 9, 11, .05); border-color: rgba(9, 9, 11, .12); }
html[data-theme="light"] .tl-c-quick button { background: rgba(9, 9, 11, .05); color: var(--text-2); border-color: rgba(9, 9, 11, .12); }
html[data-theme="light"] .tl-c-quick button:hover { color: var(--text); background: rgba(9, 9, 11, .10); }
html[data-theme="light"] .tl-c-acts button { background: rgba(9, 9, 11, .05); color: var(--text); border-color: rgba(9, 9, 11, .12); }
html[data-theme="light"] .tl-c-acts button:hover { background: rgba(9, 9, 11, .10); }
/* 主按钮（应用）必须留着重音色：上面那条 .tl-c-acts button 的权重比 .primary 高，会把琥珀色盖掉 */
html[data-theme="light"] .tl-c-acts button.primary {
  color: var(--on-warm); border-color: transparent;
  background: linear-gradient(135deg, var(--warm), var(--warm));
}
html[data-theme="light"] .tl-c-acts button.primary:hover { background: linear-gradient(135deg, var(--warm), var(--warm)); filter: brightness(1.07); }
html[data-theme="light"] .timeline .tl-clear:hover { background: rgba(9, 9, 11, .08); }
html[data-theme="light"] .timeline .year:hover,
html[data-theme="light"] .timeline .year.on { background: rgba(163, 90, 6, .10); border-color: rgba(163, 90, 6, .5); }
html[data-theme="light"] .keypanel { background: rgba(240, 243, 248, .8); }
html[data-theme="light"] .keypanel h2 { color: var(--text); }
html[data-theme="light"] .keypanel code { background: rgba(9, 9, 11, .06); color: #0b6fae; }

/* 主题切换按钮（亮暗通用样式） */
.theme-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 12px; min-height: 40px;
  font-size: 13px; font-family: inherit; cursor: pointer;
  color: var(--text-2); background: rgba(255, 255, 255, .10);
  border: 1px solid var(--stroke); border-radius: 11px; transition: .2s;
}
html[data-theme="light"] .theme-btn { background: rgba(255, 255, 255, .7); }
.theme-btn:hover { color: var(--text); border-color: var(--stroke-hi); }
.theme-btn svg { width: 15px; height: 15px; }


/* ═════════ A 批新组件的亮色值 ═════════ */
html[data-theme="light"] {
  --warm: #a35a06;      /* 亮底上暖色要压深才够对比（≈6:1） */
  --on-accent: #ffffff;   /* 亮色主题的主按钮是深色渐变，字用白的 */
  --on-warm: #3a2703;
}
html[data-theme="light"] .glass-3 {
  background:
    radial-gradient(200px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .95), transparent 62%),
    linear-gradient(160deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .40));
  border-color: rgba(9, 9, 11, .08);
}
html[data-theme="light"] .empty .empty-ico {
  background: linear-gradient(160deg, rgba(255, 255, 255, .9), rgba(244, 247, 251, .7));
  border-color: rgba(9, 9, 11, .10);
  color: #5b6472;
}
html[data-theme="light"] .skel {
  background: linear-gradient(160deg, rgba(9, 9, 11, .07), rgba(9, 9, 11, .03));
}
html[data-theme="light"] .skel::after {
  background: linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, .75) 50%, transparent 80%);
}
html[data-theme="light"] .toast {
  background: linear-gradient(160deg, rgba(255, 255, 255, .97), rgba(248, 250, 253, .95));
  border-color: rgba(9, 9, 11, .10);
  color: #0b0b0f;
}
html[data-theme="light"] .tile .shot-at { color: #fff; text-shadow: 0 1px 3px rgba(0, 0, 0, .7); }


/* ═══════════════════════════════════════════════════════════
   奶粉色统一层（2026-09-22）
   ── 先生钉死的简报：所有 UI 的色调为奶粉色·浅色系。
      本层把上面那些仍写着蓝/靛/青/纯灰的硬编码值一次收拢到奶粉系；
      数值全部来自实算过的调色板（palette-contrast.js），正文一律 ≥4.5:1。
   ── 同时按 impeccable 的"质量底线"处理两条：
      ① **渐变文字一律废掉**（强调应由字重与字号承担）→ .grad-text 改为实色玫粉；
      ② **零偏移的彩色辉光＝装饰** → 改写成"有偏移、有羽化"的柔影。
   ═══════════════════════════════════════════════════════════ */

/* ① 壁纸光团：蓝/紫/黄/青 → 奶粉玫瑰 / 浅玫粉 / 奶杏 / 灰玫 */
html[data-theme="light"] .ambient i:nth-child(1) { background: radial-gradient(circle, rgba(233, 180, 180, .38), transparent 64%); }
html[data-theme="light"] .ambient i:nth-child(2) { background: radial-gradient(circle, rgba(226, 159, 175, .32), transparent 64%); }
html[data-theme="light"] .ambient i:nth-child(3) { background: radial-gradient(circle, rgba(245, 205, 196, .30), transparent 64%); }
html[data-theme="light"] .ambient::before { background: radial-gradient(circle, rgba(240, 205, 190, .34), transparent 64%); }
html[data-theme="light"] .ambient::after { background: radial-gradient(circle, rgba(214, 168, 178, .26), transparent 64%); }

/* ② 渐变文字（品牌字标）→ 实色玫粉；这是检测器数了 11 遍的那条，也是质量底线明确拒绝的 */
.grad-text,
html[data-theme="light"] .grad-text {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--a1) !important;
  font-weight: 800;
}

/* ③ 零偏移彩色辉光 → 有偏移、有羽化的柔影 */
html[data-theme="light"] body { box-shadow: none !important; }
html[data-theme="light"] .fill,
#fill {
  box-shadow: 0 2px 10px rgba(166, 79, 99, .28) !important;
}

/* ④ 控件与焦点：蓝 → 玫粉 */
html[data-theme="light"] .input { background: rgba(255, 252, 251, .78); border-color: rgba(122, 90, 86, .16); }
html[data-theme="light"] .input::placeholder { color: var(--muted); }
html[data-theme="light"] .input:focus { border-color: rgba(166, 79, 99, .55); box-shadow: 0 0 0 4px rgba(166, 79, 99, .14); }
html[data-theme="light"] .btn-primary {
  color: var(--on-accent);
  background: linear-gradient(135deg, #a64f63, #96536a);
  box-shadow: 0 8px 22px rgba(166, 79, 99, .26), inset 0 1px 0 rgba(255, 255, 255, .35);
}
html[data-theme="light"] .btn-danger { color: #fff; background: linear-gradient(135deg, #b23a48, #9e2c3a); }
html[data-theme="light"] .btn-ghost { background: rgba(255, 252, 251, .7); border-color: rgba(122, 90, 86, .16); }
html[data-theme="light"] .drop { border-color: rgba(122, 90, 86, .2); background: radial-gradient(120% 90% at 20% 0%, rgba(255, 252, 251, .85), rgba(255, 252, 251, .5)); }
html[data-theme="light"] .drop:hover, html[data-theme="light"] .drop.over {
  border-color: rgba(166, 79, 99, .5);
  background: radial-gradient(120% 90% at 20% 0%, rgba(233, 180, 180, .22), rgba(255, 252, 251, .7));
}
html[data-theme="light"] .segment { background: rgba(122, 90, 86, .07); border-color: rgba(122, 90, 86, .10); }
html[data-theme="light"] .seg.active { background: rgba(255, 252, 251, .95); box-shadow: 0 1px 3px rgba(120, 80, 76, .16), 0 0 0 .5px rgba(122, 90, 86, .08); }
html[data-theme="light"] .bar { background: rgba(122, 90, 86, .12); }

/* ⑤ 卡片 / 玻璃 / 顶栏 / 浮层：白 → 白里透粉 */
html[data-theme="light"] .tile { background: rgba(255, 252, 251, .68); border-color: rgba(122, 90, 86, .12); box-shadow: 0 4px 14px rgba(120, 80, 76, .10); }
html[data-theme="light"] .tile:hover { border-color: rgba(122, 90, 86, .22); box-shadow: 0 10px 26px rgba(120, 80, 76, .16); }
html[data-theme="light"] .tile .x { background: rgba(255, 252, 251, .9); color: var(--text-2); border-color: rgba(122, 90, 86, .14); }
html[data-theme="light"] .tile .pin { background: rgba(255, 252, 251, .92); color: var(--text); border-color: rgba(122, 90, 86, .14); }
html[data-theme="light"] .topbar { background: linear-gradient(180deg, rgba(255, 252, 251, .88), rgba(255, 248, 246, .72)); border-bottom-color: rgba(122, 90, 86, .10); }
html[data-theme="light"] .topbar a:hover, html[data-theme="light"] .topbar button.link:hover { background: rgba(122, 90, 86, .06); border-color: rgba(122, 90, 86, .12); }
html[data-theme="light"] .float,
html[data-theme="light"] .topbar.float {
  background:
    radial-gradient(200px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .95), transparent 60%),
    linear-gradient(160deg, rgba(255, 252, 251, .86), rgba(255, 246, 244, .70));
  border-color: rgba(255, 255, 255, .85);
  box-shadow: 0 8px 30px rgba(120, 80, 76, .14), inset 0 1px 0 rgba(255, 255, 255, .95);
}
html[data-theme="light"][data-liquid="ok"] .float,
html[data-theme="light"][data-liquid="ok"] .topbar {
  background:
    radial-gradient(200px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .95), transparent 60%),
    linear-gradient(160deg, rgba(255, 250, 249, .70), rgba(255, 244, 242, .52)) !important;
}
html[data-theme="light"] .glass-3,
html[data-theme="light"] .tl-custom,
html[data-theme="light"] .toast {
  background: linear-gradient(160deg, rgba(255, 252, 251, .97), rgba(255, 246, 244, .95));
  border-color: rgba(122, 90, 86, .12);
}
html[data-theme="light"] .toast { color: var(--text); }

/* ⑥ 标签与提示条：绿/黄/青 → 奶杏 / 奶粉 / 奶蓝粉 / 危险玫 */
html[data-theme="light"] .tag-ok { color: #7a4a2e; background: linear-gradient(135deg, #fbe6d6, #f7dcc9); }
html[data-theme="light"] .tag-wait { color: #8a3b4e; background: linear-gradient(135deg, #fbe0e6, #f9d6de); }
html[data-theme="light"] .tag-info { color: #7a3f5c; background: linear-gradient(135deg, #f7e2ea, #f3dbe4); }
html[data-theme="light"] .tag-dim { background: rgba(122, 90, 86, .07); border-color: rgba(122, 90, 86, .12); }
html[data-theme="light"] .note { background: rgba(255, 252, 251, .75); border-color: rgba(122, 90, 86, .12); }
html[data-theme="light"] .note-ok { background: rgba(79, 122, 94, .10); border-color: rgba(79, 122, 94, .28); color: #3c5f47; }
html[data-theme="light"] .note-warn { background: rgba(156, 90, 70, .10); border-color: rgba(156, 90, 70, .28); color: #7c4630; }
html[data-theme="light"] .note-err { background: rgba(178, 58, 72, .10); border-color: rgba(178, 58, 72, .28); color: #8e2531; }
html[data-theme="light"] .empty .empty-ico { background: linear-gradient(160deg, rgba(255, 252, 251, .92), rgba(255, 240, 237, .72)); border-color: rgba(122, 90, 86, .12); color: var(--muted); }
html[data-theme="light"] .skel { background: linear-gradient(160deg, rgba(122, 90, 86, .08), rgba(122, 90, 86, .035)); }

/* ⑦ 时间条：年份＝暖色语义（保持不变），滑块与刻度换奶粉系 */
html[data-theme="light"] .timeline .year { color: var(--warm); }
html[data-theme="light"] .timeline .tl-clear:hover { background: rgba(122, 90, 86, .09); }
html[data-theme="light"] .timeline .year:hover,
html[data-theme="light"] .timeline .year.on { background: rgba(156, 90, 70, .12); border-color: rgba(156, 90, 70, .5); }
html[data-theme="light"] .range2 .track { background: rgba(122, 90, 86, .16); }
html[data-theme="light"] .range2 input[type=range]::-webkit-slider-thumb {
  background: radial-gradient(circle at 35% 30%, #ffffff, #f7d9d6 60%, #c98a90);
  border-color: #fff;
  box-shadow: 0 2px 8px rgba(120, 80, 76, .28), 0 0 0 1px rgba(166, 79, 99, .45);
}
html[data-theme="light"] .range2 input[type=range]::-moz-range-thumb { background: radial-gradient(circle at 35% 30%, #ffffff, #f7d9d6 60%, #c98a90); border-color: #fff; }

/* ⑧ 投放横幅 / 弹层 / 提示板 / 账户页残留的冷色 */
html[data-theme="light"] .place-bar { background: linear-gradient(160deg, rgba(255, 252, 251, .92), rgba(255, 243, 241, .84)) !important; }
html[data-theme="light"] .place-bar button { background: rgba(122, 90, 86, .07); border-color: rgba(122, 90, 86, .16); }
html[data-theme="light"] #lightbox { background: rgba(251, 243, 240, .84); }
html[data-theme="light"] #lightbox .box { background: linear-gradient(160deg, rgba(255, 252, 251, .97), rgba(255, 246, 244, .94)); border-color: rgba(122, 90, 86, .10); }
html[data-theme="light"] #lightbox img { background: #f7ece9; }
html[data-theme="light"] #lightbox .info .who { color: var(--a1); }
html[data-theme="light"] #lightbox .close { background: rgba(255, 252, 251, .92); color: var(--text-2); border-color: rgba(122, 90, 86, .12); }
html[data-theme="light"] #lightbox .exif span,
html[data-theme="light"] #viewer .exif span { background: rgba(122, 90, 86, .06); border-color: rgba(122, 90, 86, .12); }
html[data-theme="light"] #lightbox .exif span.cam,
html[data-theme="light"] #viewer .exif span.cam { color: var(--warm); border-color: rgba(156, 90, 70, .32); }
html[data-theme="light"] #viewer .scrim { background: rgba(251, 243, 240, .9); }
html[data-theme="light"] #viewer img { background: #f7ece9; box-shadow: 0 18px 50px rgba(120, 80, 76, .28); }
html[data-theme="light"] #viewer .nav,
html[data-theme="light"] #viewer .close { background: rgba(255, 252, 251, .94); color: var(--text-2); border-color: rgba(122, 90, 86, .12); }
html[data-theme="light"] .keypanel { background: rgba(251, 243, 240, .84); }
html[data-theme="light"] .keypanel code { background: rgba(122, 90, 86, .07); color: var(--a1); }
html[data-theme="light"] .tl-c-row input[type="date"] { background: rgba(122, 90, 86, .06); border-color: rgba(122, 90, 86, .14); }
html[data-theme="light"] .tl-c-quick button,
html[data-theme="light"] .tl-c-acts button { background: rgba(122, 90, 86, .06); border-color: rgba(122, 90, 86, .14); }
html[data-theme="light"] .tl-c-quick button:hover,
html[data-theme="light"] .tl-c-acts button:hover { background: rgba(122, 90, 86, .12); }

/* ⑨ 浏览器原生表面（质量底线点名的"最便宜的一笔"） */
html[data-theme="light"] ::selection { background: rgba(166, 79, 99, .22); color: var(--text); }
html[data-theme="light"] ::-webkit-scrollbar-thumb { background: rgba(122, 90, 86, .22); background-clip: content-box; }
html[data-theme="light"] ::-webkit-scrollbar-thumb:hover { background: rgba(122, 90, 86, .34); background-clip: content-box; }
html[data-theme="light"] { caret-color: var(--a1); }
html[data-theme="light"] .eyebrow { color: var(--faint); }

