/* =============================================================================
 * skins.css —— 效率工作台 4 套可切换 UI 主题（皮肤层，零业务改动）
 * -----------------------------------------------------------------------------
 * 设计原则：
 *   1. 基础设计令牌（--bg / --surface / --brand / --text / --line / --radius / --shadow …）
 *      由 base.css 的 :root 定义，本文件只按主题「覆盖差异变量」，不改任何布局/结构。
 *   2. 主题通过 <html data-skin="..."> 切换；与月亮图标的 data-theme（浅/深）完全独立，
 *      互不干扰（月亮的 [data-theme="dark"] 规则位于本文件末尾，优先级最高）。
 *   3. 默认 data-skin="minimal" == base.css :root（专业极简版 = 当前线上外观），保证零回退。
 *   4. 切换时仅在 400ms 窗口内挂 .wb-theme-transition 做平滑过渡，日常使用无全局 transition，
 *      不引发布局抖动。
 * ========================================================================== */

/* ---------- 0. 全主题共享的「别名 / 扩展令牌」层 ----------
 * 这些令牌引用 base.css 的实时令牌，因此会自动跟随每个皮肤切换。
 * 同时补齐原先只有 fallback、未定义导致无法换肤的令牌（--text-1 / --bg-2 / --line-2 / --card），
 * 让日历、通知等模块也能正确跟随主题。 */
:root {
  /* 补齐未定义令牌（跟随实时令牌，自动换肤） */
  --text-1: var(--text);
  --bg-2:   var(--surface-2);
  --line-2: var(--line-strong);
  --card:   var(--surface);
  /* 【2026-10-05 全站巡检修复】再补齐一批「模块里在用、但从未定义」的旧令牌名：
     --border(21 处) / --bg-1(9) / --bg-soft(5) / --line-1(2) / --err(1) …
     这些令牌此前一律走各模块写死的浅色回退值（#e5e7eb / #f8fafc / #fff），
     所以万能工具箱分类面板等区块在深色模式下依旧是白底（深色残留）。
     这里统一映射到实时令牌，浅色主题观感不变，深色主题自动跟随。 */
  --border:         var(--line-strong);
  --border-strong:  var(--line-strong);
  --bg-1:           var(--surface);
  --bg-soft:        var(--surface-2);
  --line-1:         var(--line);
  --err:            var(--danger);
  --text-soft:      var(--text-3);

  /* 规范要求的「语义别名」层（统一间距/圆角/阴影/文字层级系统） */
  --primary:         var(--brand);
  --primary-hover:   var(--brand-hover);
  --primary-active:  var(--brand-hover);
  --success:         var(--ok);
  --warning:         var(--warn);
  --error:           var(--danger);
  --bg-page:         var(--bg);
  --bg-card:         var(--surface);
  --bg-card-hover:   var(--surface-2);
  --text-main:       var(--text);
  --text-secondary:  var(--text-2);
  --text-disable:    var(--text-3);
  --border-color:    var(--line);
  --divider-color:   var(--line-strong);
  --shadow-light:    var(--shadow-1);
  --shadow-mid:      var(--shadow-2);
  --shadow-heavy:    var(--shadow-pop);
  --font-family:     var(--font);
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-bold:   600;

  /* 主题切换过渡（仅切换瞬间启用，见 .wb-theme-transition） */
  --transition-theme: .34s;

  /* 图标风格：线性图标统一描边粗细（按主题调整） */
  --icon-stroke: 1.8;

  /* 派生圆角（统一圆角系统） */
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;

  /* 渐变辅助色（品牌渐变第二色，按主题不同） */
  --brand-2: #7f93f0;
}

/* ---------- 1. 主题 1：专业极简版（默认，= 当前线上外观） ---------- */
[data-skin="minimal"] {
  --brand-2: #7f93f0;
  --icon-stroke: 1.8;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --font-weight-bold: 600;
}

/* ---------- 2. 主题 2：柔和治愈版（莫兰迪粉紫 / 米白 / 浅紫） ---------- */
[data-skin="soft"] {
  --bg:            #f5f1f9;
  --bg-grid:       rgba(120, 90, 150, .03);
  --surface:       #fffdfe;
  --surface-2:     #f7f2fb;
  --surface-3:     #efe7f5;
  --line:          #ece4f1;
  --line-strong:   #ddd2e8;
  --switch-off:    #c9bcd8;

  --text:          #3b3545;
  --text-2:        #6f6678;      /* 5.39:1（纸面）已达 AA */
  --text-3:        #8b7f99;      /* [2026-10-03] 原 #a99fb4 仅 2.27:1，时间戳/元信息看不清；加深至 3.37:1 */

  --brand:         #a482c7;   /* 莫兰迪紫 */
  --brand-hover:   #8f6fbb;
  --brand-soft:    #f1eafb;
  --brand-line:    #e0d2f0;
  --brand-2:       #c9b3e6;   /* 浅紫渐变副色 */

  --ok:            #6fae8f;
  --ok-soft:       #e9f4ee;
  --warn:          #d6a25e;
  --warn-soft:     #fbf1e2;
  --danger:        #d98a86;
  --danger-soft:   #fbecea;

  --radius:        18px;      /* 大圆角 */
  --radius-sm:     12px;
  --radius-xs:     9px;
  --radius-md:     14px;
  --radius-lg:     22px;
  --radius-xl:     28px;
  --radius-pill:   999px;

  --shadow-1:  0 2px 8px rgba(120, 90, 150, .06), 0 6px 18px rgba(120, 90, 150, .07);
  --shadow-2:  0 4px 12px rgba(120, 90, 150, .08), 0 18px 44px rgba(120, 90, 150, .10);
  --shadow-pop: 0 10px 40px rgba(120, 90, 150, .16);

  --ease: cubic-bezier(.34, .65, .4, 1);
  --dur:  .26s;
  --icon-stroke: 1.6;        /* 更柔和、偏圆润的线性图标 */
}

/* ---------- 3. 主题 3：白纸 · 素笺（纸墨留白 · 深度学习 baizhi.me 白纸科技主页） ----------
 * 设计语言（源自白纸科技「在一张白纸上描绘数字生活的蓝图」的克制美学）：
 *   · 纸白画布 + 墨色文字：大面积留白，把空间留给使用者；无纹理、无花哨装饰
 *   · 墨色（近黑）承担主操作，朱砂（印泥红）仅作点睛——像纸上的一方印章
 *   · 细线分层代替重投影：卡片是「一张纸」，靠 1px 发丝线与极轻纸影浮起
 *   · 图标为「淡彩墨韵」分组：六组低饱和墨调色，安静但有辨识度，不做糖果磁贴
 *   · 排版微签名：卡片标题栏细分割线 + 轻字距；选中即「钤印」（墨底反白） ---------- */
[data-skin="paper"] {
  --bg:
    radial-gradient(120% 70% at 50% -12%, rgba(35, 34, 30, .04) 0%, transparent 55%),
    linear-gradient(180deg, #f8f6f2 0%, #f3f1ec 100%);
  --bg-grid: rgba(35, 34, 30, .028);

  --surface:       #fffefb;   /* 纸面 */
  --surface-2:     #f6f4ef;
  --surface-3:     #edebe4;
  --line:          #e7e4dc;   /* 纸纤维发丝线 */
  --line-strong:   #d6d2c8;
  --switch-off:    #c9c5ba;

  --text:          #23221e;   /* 墨 */
  --text-2:        #5d5a52;   /* 淡墨 */
  --text-3:        #837e75;   /* [2026-10-03] 原 #96928a 仅 2.82:1；加深至 3.67:1 */

  --brand:         #3a3833;   /* [2026-10-03] 墨色主操作：原纯黑 #2b2a26（14.24:1）过于沉重，降一档为深炭；白字仍有 11.71:1 */
  --brand-hover:   #26241f;
  --brand-soft:    #efede7;
  --brand-line:    #d9d5cb;
  --brand-2:       #b5432e;   /* 朱砂印泥 · 点睛色 */

  --ok:            #57876b;   /* 竹青 */
  --ok-soft:       #ebf2ec;
  --warn:          #b0812f;   /* 榛黄 */
  --warn-soft:     #f7f0e0;
  --danger:        #b04a36;   /* 朱 */
  --danger-soft:   #f9ebe6;

  --radius:        12px;      /* 纸张利落，比糖果收小 */
  --radius-sm:     8px;
  --radius-xs:     6px;
  --radius-md:     12px;
  --radius-lg:     16px;
  --radius-xl:     20px;
  --radius-pill:   999px;

  --shadow-1:  0 1px 2px rgba(35, 34, 30, .04), 0 3px 10px rgba(35, 34, 30, .05);
  --shadow-2:  0 2px 6px rgba(35, 34, 30, .06), 0 14px 34px rgba(35, 34, 30, .10);
  --shadow-pop: 0 12px 40px rgba(35, 34, 30, .16);

  --ease: cubic-bezier(.25, .46, .45, 1);   /* 平稳收势，无回弹 */
  --dur:  .22s;
  --icon-stroke: 1.7;
}

/* ---------- 3.5 白纸专属：纸卡 / 淡彩墨韵图标 / 钤印选中 / 组件适配（仅本皮肤） ---------- */
/* 模块卡片 = 一张纸：白纸面 + 发丝线 + 极轻纸影；hover 轻浮 2px，不放大不旋转 */
[data-skin="paper"] .card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
[data-skin="paper"] .card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
  border-color: var(--line-strong);
}
/* 卡片标题栏：细分割线 + 轻字距（排版微签名） */
[data-skin="paper"] .card__bar { border-bottom: 1px solid var(--line); }
[data-skin="paper"] .card__title { letter-spacing: .02em; }
/* 模块图标 → 淡彩墨韵（低饱和墨调着色，纸面淡染 + 细色边；非糖果磁贴） */
[data-skin="paper"] .card__icon {
  --ig: #3f6066;   /* 黛青 · 默认 */
  width: 34px; height: 34px;
  align-items: center; justify-content: center;
  border-radius: 10px;
  color: var(--ig);
  background: color-mix(in srgb, var(--ig) 7%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--ig) 16%, transparent);
  box-shadow: none;
  transition: transform var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
[data-skin="paper"] .card:hover .card__icon,
[data-skin="paper"] .card:focus-within .card__icon {
  transform: translateY(-2px);
  background: color-mix(in srgb, var(--ig) 13%, var(--surface));
  border-color: color-mix(in srgb, var(--ig) 32%, transparent);
}
/* 淡彩墨韵分组（靛蓝 / 松绿 / 紫檀 / 朱砂 / 赭金）——按模块 id 稳定着色，与布局顺序无关 */
[data-skin="paper"] .card[data-module="note"] .card__icon,
[data-skin="paper"] .card[data-module="bookmarks"] .card__icon,
[data-skin="paper"] .card[data-module="booknote"] .card__icon,
[data-skin="paper"] .card[data-module="books"] .card__icon,
[data-skin="paper"] .card[data-module="feed"] .card__icon,
[data-skin="paper"] .card[data-module="translate"] .card__icon,
[data-skin="paper"] .card[data-module="wenyi"] .card__icon,
[data-skin="paper"] .card[data-module="search"] .card__icon,
[data-skin="paper"] .card[data-module="google"] .card__icon,
[data-skin="paper"] .card[data-module="bing"] .card__icon { --ig: #3d5a8f; }   /* 靛蓝 */
[data-skin="paper"] .card[data-module="todo"] .card__icon,
[data-skin="paper"] .card[data-module="habit"] .card__icon,
[data-skin="paper"] .card[data-module="plantask"] .card__icon,
[data-skin="paper"] .card[data-module="stats"] .card__icon,
[data-skin="paper"] .card[data-module="qual"] .card__icon { --ig: #4a7a5c; }   /* 松绿 */
[data-skin="paper"] .card[data-module="ai"] .card__icon,
[data-skin="paper"] .card[data-module="agenthub"] .card__icon,
[data-skin="paper"] .card[data-module="smartai"] .card__icon,
[data-skin="paper"] .card[data-module="aitoolbox"] .card__icon,
[data-skin="paper"] .card[data-module="clipboard"] .card__icon,
[data-skin="paper"] .card[data-module="fileconv"] .card__icon,
[data-skin="paper"] .card[data-module="fileworks"] .card__icon,
[data-skin="paper"] .card[data-module="filedrop"] .card__icon { --ig: #7a4f6d; }   /* 紫檀 */
[data-skin="paper"] .card[data-module="calendar"] .card__icon,
[data-skin="paper"] .card[data-module="reminder"] .card__icon,
[data-skin="paper"] .card[data-module="reminderplus"] .card__icon,
[data-skin="paper"] .card[data-module="favorite"] .card__icon,
[data-skin="paper"] .card[data-module="favplus"] .card__icon,
[data-skin="paper"] .card[data-module="favsearch"] .card__icon { --ig: #b04a36; }   /* 朱砂 */
[data-skin="paper"] .card[data-module="pwd"] .card__icon,
[data-skin="paper"] .card[data-module="flash"] .card__icon,
[data-skin="paper"] .card[data-module="wool"] .card__icon,
[data-skin="paper"] .card[data-module="jd_ads"] .card__icon,
[data-skin="paper"] .card[data-module="taobao_ads"] .card__icon { --ig: #9a7a2e; }   /* 赭金 */
/* 按钮：墨色实面（纸上落墨），无渐变无光晕；hover 加深微浮 */
[data-skin="paper"] .btn--primary,
[data-skin="paper"] .btn-primary {
  background: var(--brand);
  border: none;
  color: #fffdf8;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(35, 34, 30, .16);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease);
}
[data-skin="paper"] .btn--primary:hover,
[data-skin="paper"] .btn-primary:hover {
  background: var(--brand-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(35, 34, 30, .16);
}
[data-skin="paper"] .btn--primary:active,
[data-skin="paper"] .btn-primary:active { transform: translateY(0); }
/* 弹窗：一张更大的纸 */
[data-skin="paper"] .modal,
[data-skin="paper"] .modal__panel {
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-pop);
}
/* 输入：发丝线；聚焦墨色描边 + 淡墨环 */
[data-skin="paper"] input,
[data-skin="paper"] textarea,
[data-skin="paper"] select,
[data-skin="paper"] .input,
[data-skin="paper"] .textarea {
  border-radius: var(--radius-sm);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
[data-skin="paper"] input:focus,
[data-skin="paper"] textarea:focus,
[data-skin="paper"] select:focus,
[data-skin="paper"] .input:focus,
[data-skin="paper"] .textarea:focus {
  border-color: var(--text-2);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--text) 7%, transparent);
  outline: none;
}
/* 标签 / 胶囊 / 列表行：选中即「钤印」——墨底反白，如纸上盖印 */
[data-skin="paper"] .chip:hover { border-color: var(--line-strong); }
[data-skin="paper"] .chip.is-active {
  background: var(--brand);
  border-color: var(--brand);
  color: #fffdf8;
}
[data-skin="paper"] .tag--brand {
  background: color-mix(in srgb, var(--brand-2) 9%, var(--surface));
  color: var(--brand-2);
}
[data-skin="paper"] .item:hover { background: var(--surface-2); }
/* 选中文本：淡朱染纸 */
[data-skin="paper"] ::selection { background: color-mix(in srgb, var(--brand-2) 20%, transparent); }
/* ---------- 5. 图标风格按主题切换（皮肤层，不改 SVG 资源） ---------- */
.icon { stroke-width: var(--icon-stroke, 1.8); }

/* ---------- 6. 切换瞬间的平滑过渡（避免闪烁 / 布局抖动） ----------
 * 仅在选择「应用」后的 400ms 窗口内给 <html> 挂 .wb-theme-transition，
 * 日常使用不挂此 class，因此不影响其它交互动画。 */
html.wb-theme-transition,
html.wb-theme-transition *,
html.wb-theme-transition *::before,
html.wb-theme-transition *::after {
  transition:
    background-color var(--transition-theme) var(--ease),
    border-color     var(--transition-theme) var(--ease),
    color            var(--transition-theme) var(--ease),
    box-shadow       var(--transition-theme) var(--ease),
    fill             var(--transition-theme) var(--ease),
    stroke           var(--transition-theme) var(--ease) !important;
}

/* ============================================================================
 * 主题切换器（右上角按钮）+ 主题选择面板
 * 仅皮肤层：复用 base.css 的 .btn / .modal 体系与所有令牌，不新增业务结构。
 * ========================================================================== */

/* 切换按钮：圆形按钮、线框图标、尺寸/外边距/hover 与月亮图标（.btn.btn--ghost）完全一致 */
#btnSkin {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#btnSkin svg { transition: transform var(--dur) var(--ease); }
#btnSkin.is-spin svg { animation: wb-spin .6s var(--ease); }

/* 主题选择面板 */
.skin-panel {
  position: fixed;
  top: calc(var(--topbar-h, 56px) + 10px);
  right: 14px;
  /* [2026-10-03 修复] 层级必须写死成数字，不能引用别的样式表里的 CSS 变量。
     原因：--z-pop 定义在 base.css，而 base.css 的缓存版本号与 skins.css 不同步；
     用户浏览器存着旧 base.css（无 --z-pop）时，var(--z-pop) 会「计算值无效」，
     z-index 退化成 auto，风格弹窗就被首页工具卡片盖住（暖日晨光皮肤必现）。
     取值规则：远高于卡片层（实测线上卡片最高 z=33），且低于 9500 的
     「个人设置遮罩」与 9999 的绑定遮罩/气泡，保持原有遮挡次序不变。 */
  z-index: 9000;
  width: 320px;
  max-width: calc(100vw - 28px);
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-pop);
  transform-origin: top right;
  animation: skinPop .2s var(--ease);
}
.skin-panel[hidden] { display: none; }
@keyframes skinPop {
  from { opacity: 0; transform: scale(.94) translateY(-6px); }
  to   { opacity: 1; transform: none; }
}

.skin-panel__head {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 4px;
  padding: 2px 4px 10px;
  border-bottom: 1px solid var(--divider-color);
}
/* ---------- 6.1 [2026-10-03] 明暗开关：与「界面风格」正交的第二个维度 ----------
 * data-theme（深/浅）与 data-skin（6 套皮肤）互不干扰，可任意组合；
 * 本控件直接写 data-theme + localStorage 'wb_theme'，与 core/theme.js 同一份状态。
 * 选中态文字用 --surface（深檀用浅衬、浅皮用白纸皆可读），避免写死 #fff
 * 在「深色 + 暖色皮肤」下变成白字压浅蓝。 */
.skin-axis {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding: 10px 4px 0;
}
.skin-axis__label { font-size: 12.5px; font-weight: 500; color: var(--text-2); }
.skin-axis__seg {
  display: inline-flex; gap: 2px; padding: 2px;
  border: 1px solid var(--line); border-radius: 999px;
  background: var(--surface-2);
}
.skin-axis__btn {
  appearance: none; -webkit-appearance: none; border: 0; background: transparent;
  cursor: pointer; font: inherit; font-size: 12px; line-height: 1;
  padding: 6px 12px; border-radius: 999px; color: var(--text-2);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.skin-axis__btn:hover { color: var(--text); }
.skin-axis__btn.is-on { background: var(--brand); color: var(--surface); font-weight: 600; }
.skin-axis__hint { margin: 6px 4px 0; font-size: 11px; line-height: 1.5; color: var(--text-3); }

.skin-panel__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 12px 2px 4px;
}

/* 单个主题预览卡片（可点击预览，内含「应用」按钮） */
.skin-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
  cursor: pointer;
  text-align: left;
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.skin-card:hover { border-color: var(--brand-line); box-shadow: var(--shadow-1); transform: translateY(-2px); }
.skin-card.is-current { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-soft); }
.skin-card.is-preview { border-color: var(--brand); }

.skin-card__preview {
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(0, 0, 0, .06);
}
/* 预览缩略图内的迷你模块示意（用内联色绘制，见 theme-switcher.js） */
.skin-card__preview .sk-bar {
  position: absolute; left: 8px; right: 8px; top: 9px; height: 7px; border-radius: 4px;
}
.skin-card__preview .sk-box {
  position: absolute; left: 8px; right: 8px; top: 22px; bottom: 9px; border-radius: 6px;
  border: 1px solid rgba(0, 0, 0, .05);
}
.skin-card__preview .sk-dot {
  position: absolute; right: 12px; top: 11px; width: 7px; height: 7px; border-radius: 50%;
}
.skin-card__preview .sk-line {
  position: absolute; left: 14px; height: 4px; border-radius: 3px; opacity: .55;
}

.skin-card__name { font-size: 13px; font-weight: 600; color: var(--text); }
.skin-card__desc { font-size: 11px; color: var(--text-3); line-height: 1.45; min-height: 30px; }

/* [2026-10-03] 一句话气质标签：暖日晨光 / 暖日简约调色同族，靠标签 + 预览形状区分 */
.skin-card__tag {
  align-self: flex-start; font-size: 10.5px; line-height: 1.35;
  padding: 2px 7px; border-radius: 999px;
  background: var(--surface-3); border: 1px solid var(--line); color: var(--text-2);
}
/* 扁平系皮肤（暖日简约）：预览缩略图同步改直角 + 重描边，所见即所得 */
.skin-card.is-flat .skin-card__preview { border-radius: 3px; border-color: rgba(0, 0, 0, .16); }
.skin-card.is-flat .skin-card__preview .sk-bar { height: 5px; border-radius: 1px; }
.skin-card.is-flat .skin-card__preview .sk-box { border-radius: 2px; border-color: rgba(0, 0, 0, .14); }
.skin-card.is-flat .skin-card__preview .sk-dot { border-radius: 1px; }

.skin-card__current {
  position: absolute; top: 8px; right: 8px;
  font-size: 10px; font-weight: 600; line-height: 1;
  padding: 3px 6px; border-radius: 999px;
  background: var(--brand); color: #fff;
  display: none;
}
.skin-card.is-current .skin-card__current { display: inline-block; }

.skin-card__apply {
  margin-top: 2px;
  height: 28px;
  border: 1px solid var(--brand);
  border-radius: var(--radius-xs);
  background: var(--brand);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  text-align: center; /* 20260913 「应用」文字水平居中 */
  transition: background var(--dur) var(--ease), opacity var(--dur) var(--ease);
}
.skin-card__apply:hover { background: var(--brand-hover); }
.skin-card.is-current .skin-card__apply { background: var(--surface); color: var(--brand); }

/* 底部「自定义主题」占位入口（本期仅 UI 占位，不实现复杂功能） */
.skin-panel__foot {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--divider-color);
}
.skin-custom {
  width: 100%;
  height: 34px;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-2);
  font-size: 12.5px;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.skin-custom:hover { border-color: var(--brand); color: var(--brand); background: var(--brand-soft); }
.skin-custom:disabled { opacity: .65; cursor: not-allowed; }

/* ============================================================================
 * 7. 月亮图标的浅/深模式（data-theme）覆盖 —— 置于最后，确保优先级最高，
 *    使月亮切换的「深色模式」始终覆盖任何皮肤（与现有 core/theme.js 完全兼容）。
 * ========================================================================== */
/* [2026-10-03] 选择器加 html 提升权重：(0,1,1) > (0,1,0)。
   原先写 [data-theme="dark"]（单属性）与 [data-skin="xxx"] 同权重，
   而 refined 的皮肤块排在它后面 → 深色令牌被 refined 自身的浅色令牌盖掉，
   「现代精致版」选了深色却仍是浅底浅字（现已拓宽明暗入口，这个坑才暴露）。
   加 html 前缀后通用深色一定压过所有单属性皮肤块；aurora / simple 的专属深色块
   是双属性 [data-theme][data-skin]（0,2,0），仍然优先，不受影响。 */
html[data-theme="dark"] {
  --bg:            #14161a;
  --bg-grid:       rgba(255, 255, 255, 0.035);
  --surface:       #1b1e24;
  --surface-2:     #21252c;
  --surface-3:     #272c34;
  --line:          #2c313a;
  --line-strong:   #3a414c;
  --switch-off:    #5a6470;

  --text:          #e6e9ee;
  --text-2:        #a4adba;
  --text-3:        #737d8b;

  --brand:         #7d93ef;
  --brand-hover:   #8ea2f3;
  --brand-soft:    #232a40;
  --brand-line:    #33406b;

  --ok:            #4cb98a;
  --ok-soft:       #1d2c26;
  --warn:          #d9a04a;
  --warn-soft:     #2e271a;
  --danger:        #e2716d;
  --danger-soft:   #33211f;

  --shadow-1:      0 1px 2px rgba(0, 0, 0, .3), 0 4px 14px rgba(0, 0, 0, .28);
  --shadow-2:      0 2px 8px rgba(0, 0, 0, .34), 0 18px 44px rgba(0, 0, 0, .4);
  --shadow-pop:    0 10px 36px rgba(0, 0, 0, .5);
}

/* ============================================================================
 * 8. 本轮「界面优化」新增皮肤：现代精致版(refined · 清新蓝)
 * ----------------------------------------------------------------------------
 *  · 在原有 4 套之外【新增】，原 minimal/soft/paper/hardcore 与 [data-theme=dark]
 *    完全不动；用户可在右上角「界面风格」一键切回，零破坏、可对比、可回退。
 *  · refined = 清新蓝。原同节的 warm（暖色）已按要求下线。
 *  · 两者共享同一套「组件重做」层（背景纹理 / 卡片密度 / 标题区 / 微交互 / 空状态），
 *    仅令牌值不同。组件层以 [data-skin="refined"] 限定，不影响其余皮肤。
 * ========================================================================== */

[data-skin="refined"] {
  --bg:
    radial-gradient(130% 80% at 50% -12%, rgba(47,111,235,.10) 0%, transparent 58%),
    radial-gradient(circle at 20px 20px, rgba(47,111,235,.045) 1.4px, transparent 1.6px) 0 0 / 26px 26px,
    linear-gradient(180deg, #f3f6fc 0%, #eef2fa 100%);
  --bg-grid: rgba(47,111,235,.05);
  --surface:       #ffffff;
  --surface-2:     #f1f5fc;
  --surface-3:     #e7eefa;
  --line:          #e4eaf4;
  --line-strong:   #d3deee;
  --switch-off:    #c2cee0;

  --text:          #18233a;
  --text-2:        #586a86;
  --text-3:        #94a3b8;

  --brand:         #2f6feb;
  --brand-hover:   #2559d6;
  --brand-soft:    #e9f1fe;
  --brand-line:    #cfe0fb;
  --brand-2:       #5b8def;

  --ok:            #18a06a;  --ok-soft:    #e6f6ee;
  --warn:          #d98a2b;  --warn-soft:  #fbf1e1;
  --danger:        #e0534a;  --danger-soft:#fdecea;

  --radius: 18px; --radius-sm: 12px; --radius-xs: 9px;
  --radius-md: 14px; --radius-lg: 22px; --radius-xl: 28px; --radius-pill: 999px;

  --shadow-1:  0 1px 2px rgba(30,60,120,.05), 0 6px 16px rgba(30,60,120,.07);
  --shadow-2:  0 4px 14px rgba(30,60,120,.08), 0 18px 44px rgba(30,60,120,.10);
  --shadow-pop: 0 14px 46px rgba(30,60,120,.16);

  --ease: cubic-bezier(.34,.65,.4,1);
  --dur:  .24s;
  --icon-stroke: 1.7;
}


/* ---------- 8.5 共享组件重做层（仅 refined 生效，其余皮肤零改动） ---------- */
/* 卡片：浮卡质感 + hover 轻上浮（轻量 transform，不引发布局抖动） */
[data-skin="refined"] .card {
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-1);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
[data-skin="refined"] .card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-2);
  border-color: var(--brand-line);
}

/* 强化标题区：图标磁贴 + 标题字重对比 + 右侧图标按钮组 */
[data-skin="refined"] .card__bar {
  height: auto; padding: 11px 14px; gap: 10px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}
[data-skin="refined"] .card__icon {
  width: 34px; height: 34px; border-radius: 11px;
  color: #fff;
  background: linear-gradient(135deg, var(--brand-2), var(--brand));
  box-shadow: 0 3px 10px color-mix(in srgb, var(--brand) 35%, transparent);
  display: inline-flex; align-items: center; justify-content: center;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
[data-skin="refined"] .card:hover .card__icon
[data-skin="refined"] .card__title {
  font-size: 15px; font-weight: 700; letter-spacing: .2px; color: var(--text);
  flex: 1; min-width: 0;
}
/* 右侧操作按钮组：统一为图标按钮（设置/刷新/更多），hover 高亮 */
[data-skin="refined"] .card__tools
[data-skin="refined"] .card__tool {
  width: 30px; height: 30px; border-radius: 9px; border: 1px solid transparent;
  color: var(--text-2); background: transparent; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
[data-skin="refined"] .card__tool:hover

/* 卡片正文密度：收紧内边距，提高信息密度，避免空旷 */
[data-skin="refined"] .card__body

/* ---------- 8.6 可复用空状态组件（插画/图标 + 引导文案 + 行动按钮） ---------- */
.empty-state {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; gap: 10px; padding: 26px 18px; min-height: 100%;
  color: var(--text-2);
}
.empty-state__icon {
  width: 56px; height: 56px; border-radius: 16px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--brand); background: var(--brand-soft);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--brand) 18%, transparent);
}
.empty-state__icon svg { width: 28px; height: 28px; }
.empty-state__title { font-size: 14.5px; font-weight: 600; color: var(--text); }
.empty-state__desc { font-size: 12.5px; line-height: 1.65; max-width: 240px; color: var(--text-3); }
.empty-state__action { margin-top: 4px; }

/* ============================================================================
 * 9. 皮肤：暖白手账（aurora）—— 按设计稿 freeabc-style-02-warm 实现
 * ----------------------------------------------------------------------------
 *  · 纯前端表现层：只新增 [data-skin="aurora"] 分支 + 两个由 theme-aurora.js
 *    注入的装饰块（问候语 .ax-hero / 底部语录 .ax-quote）。
 *  · 原 minimal/soft/paper/hardcore/refined/warm 与 [data-theme="dark"] 一行未改；
 *    切回旧皮肤时本段规则全部失效，内联坐标与旧外观立即恢复。
 *  · 不触碰任何后端接口 / 数据库 / 业务逻辑。
 * ========================================================================== */

/* ---------- 9.0 设计令牌（取色自设计稿） ---------- */
[data-skin="aurora"] {
  --ax-cream:      #f7f4ef;   /* 暖白纸底 */
  --ax-cream-2:    #f2ede5;
  --ax-ink:        #3d3229;   /* 深暖褐 */
  --ax-terra:      #c4633f;   /* 陶土红 · 主操作 */
  --ax-terra-dark: #ab5330;
  --ax-peach:      #f7e7de;   /* 浅陶土 */
  --ax-peach-2:    #f2d9cb;
  --ax-sage:       #7a9e7e;   /* 鼠尾草绿 */
  --ax-amber:      #d9a441;   /* 琥珀 */
  --ax-blue:       #5b8db8;   /* 雾蓝 */
  --ax-line:       #efe9de;

  --font-serif: "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC",
                "SimSun", Georgia, "Times New Roman", serif;

  --bg:
    radial-gradient(120% 60% at 12% -8%, #fdfbf7 0%, rgba(253,251,247,0) 60%),
    linear-gradient(180deg, #faf7f1 0%, #f4f0e8 100%);
  --bg-grid:       rgba(122, 158, 126, .045);

  --surface:       #ffffff;
  --surface-2:     #fbf8f3;
  --surface-3:     #f4efe6;
  --line:          #efe9de;
  --line-strong:   #e3d9ca;
  --switch-off:    #cbbfae;

  --text:          #3d3229;
  --text-2:        #776d61;   /* [2026-10-03] 原 #8c8378 仅 3.40:1；加深至 4.62:1（纸底）/ 5.07:1（白底）达 AA */
  --text-3:        #8f8578;   /* [2026-10-03] 原 #b3a99c 仅 2.11:1；加深至 3.30:1 */

  --brand:         #c4633f;
  --brand-hover:   #ab5330;
  --brand-soft:    #f8e8df;
  --brand-line:    #efd5c6;
  --brand-2:       #d98a63;

  --ok:            #7a9e7e;  --ok-soft:     #eaf1ea;
  --warn:          #d9a441;  --warn-soft:   #fbf1dc;
  --danger:        #c0554a;  --danger-soft: #f8e6e3;

  --radius:        20px;
  --radius-sm:     12px;
  --radius-xs:     9px;
  --radius-md:     14px;
  --radius-lg:     20px;
  --radius-xl:     26px;
  --radius-pill:   999px;

  /* 极轻暖阴影：设计稿几乎看不到投影，只有一层空气感 */
  --shadow-1:      0 1px 2px rgba(61, 50, 41, .035), 0 6px 18px rgba(61, 50, 41, .045);
  --shadow-2:      0 2px 6px rgba(61, 50, 41, .05), 0 16px 40px rgba(61, 50, 41, .07);
  --shadow-pop:    0 12px 40px rgba(61, 50, 41, .14);

  --ease: cubic-bezier(.22, .61, .36, 1);
  --dur:  .22s;
  --icon-stroke: 1.7;
}

/* ---------- 9.1 页面底色 + 角落植物插画（内联 SVG，无需外部图片） ---------- */
[data-skin="aurora"] body {
  background: var(--bg) fixed;
  color: var(--text);
}
[data-skin="aurora"] .canvas-wrap {
  background-color: transparent;
  background-image:
    /* 左下：枝叶 */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 340' fill='none'%3E%3Cpath d='M10 338C64 286 108 214 150 118' stroke='%237a9e7e' stroke-width='2' stroke-linecap='round' opacity='.30'/%3E%3Cg fill='%237a9e7e' opacity='.22'%3E%3Cellipse cx='62' cy='284' rx='30' ry='12' transform='rotate(-42 62 284)'/%3E%3Cellipse cx='112' cy='238' rx='27' ry='11' transform='rotate(38 112 238)'/%3E%3Cellipse cx='122' cy='196' rx='26' ry='10' transform='rotate(-40 122 196)'/%3E%3Cellipse cx='162' cy='150' rx='23' ry='9' transform='rotate(36 162 150)'/%3E%3Cellipse cx='168' cy='112' rx='20' ry='8' transform='rotate(-38 168 112)'/%3E%3C/g%3E%3Cg fill='%23d9a441' opacity='.16'%3E%3Ccircle cx='196' cy='86' r='9'/%3E%3Ccircle cx='212' cy='108' r='6'/%3E%3C/g%3E%3C/svg%3E"),
    /* 右下：蕨叶 */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 320' fill='none'%3E%3Cpath d='M312 320C258 268 216 196 178 104' stroke='%237a9e7e' stroke-width='2' stroke-linecap='round' opacity='.26'/%3E%3Cg fill='%237a9e7e' opacity='.18'%3E%3Cellipse cx='256' cy='266' rx='30' ry='11' transform='rotate(42 256 266)'/%3E%3Cellipse cx='214' cy='222' rx='27' ry='10' transform='rotate(-38 214 222)'/%3E%3Cellipse cx='206' cy='180' rx='24' ry='9' transform='rotate(40 206 180)'/%3E%3Cellipse cx='176' cy='136' rx='21' ry='8' transform='rotate(-36 176 136)'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat, no-repeat;
  background-position: left bottom, right bottom;
  background-size: 300px 340px, 320px 320px;
  background-attachment: local, local;
}

/* ---------- 9.2 左侧导航：去掉分组标题，做成手账式导航 ---------- */
[data-skin="aurora"] .sidebar {
  background: transparent;
  border-right: 1px solid rgba(61, 50, 41, .055);
  box-shadow: none;
  padding-top: 14px;
}
/* 设计稿里侧边栏是常驻的：宽屏下由 theme-aurora.js 默认展开（加 .is-open），
   并让出画布左边距；用户仍可用左上角汉堡按钮收起，收起时画布自动铺满。
   窄屏/移动端沿用原有的「悬停边缘滑出」行为，不挤压内容 */
@media (min-width: 1100px) {
  [data-skin="aurora"] .sidebar.is-open ~ .canvas-wrap {
    padding-left: calc(var(--sidebar-w) + clamp(14px, 2.2vw, 32px));
    transition: padding-left .26s var(--ease);
  }
}
[data-skin="aurora"] .side__title {
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-3); font-weight: 600;
  padding: 16px 18px 6px;
}
[data-skin="aurora"] .side__link {
  display: flex; align-items: center; gap: 12px;
  margin: 2px 12px; padding: 10px 14px;
  border-radius: var(--radius-sm);
  color: var(--text-2); font-size: 14px; font-weight: 500;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
[data-skin="aurora"] .side__link svg { color: #8a8474; transition: color var(--dur) var(--ease); }
[data-skin="aurora"] .side__link:hover { background: rgba(196, 99, 63, .07); color: var(--ax-terra); }
[data-skin="aurora"] .side__link:hover svg { color: var(--ax-terra); }
[data-skin="aurora"] .side__link.is-active,
[data-skin="aurora"] .side__link.is-on {
  background: var(--ax-peach);
  color: var(--ax-terra);
  font-weight: 600;
}
[data-skin="aurora"] .side__link.is-active svg,
[data-skin="aurora"] .side__link.is-on svg { color: var(--ax-terra); }
[data-skin="aurora"] .side__user { border-top: 1px solid rgba(61, 50, 41, .06); }
[data-skin="aurora"] .side__user-card {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-md); box-shadow: var(--shadow-1);
}

/* ---------- 9.3 顶栏：胶囊搜索 + 陶土主按钮 ---------- */
/* 【2026-10-05 巡检修复】深色模式下暖日晨光/暖日简约的顶栏仍是写死的浅色 rgba(250,247,241,.82)，
   与深色页面形成刺眼亮条（实测顶栏亮度 0.97，其余 4 套皮肤深色顶栏均已跟随主题）。
   此处让这两套皮肤的顶栏在深色模式下走与通用顶栏一致的实时表面色。 */
[data-theme="dark"][data-skin="aurora"] .topbar,
[data-theme="dark"][data-skin="simple"] .topbar {
  background: color-mix(in srgb, var(--surface) 86%, transparent);
  border-bottom: 1px solid var(--line);
}
[data-theme="dark"][data-skin="aurora"] .ax-greet { border-left-color: rgba(255, 255, 255, .12); }
[data-theme="dark"][data-skin="aurora"] .ax-greet__hi { color: var(--text); }
[data-theme="dark"][data-skin="aurora"] .ax-greet__sub { color: var(--text-3); }
[data-theme="dark"][data-skin="aurora"] .ax-logo__free { color: #8fb184; }
[data-theme="dark"][data-skin="aurora"] .ax-logo__abc { color: var(--brand); }

[data-skin="aurora"] .topbar {
  background: rgba(250, 247, 241, .82);
  backdrop-filter: saturate(1.2) blur(10px);
  border-bottom: 1px solid rgba(61, 50, 41, .05);
}
[data-skin="aurora"] .brand__text {
  font-family: var(--font-serif); font-size: 19px; font-weight: 700;
  color: var(--ax-terra); letter-spacing: .01em;
}
[data-skin="aurora"] .brand__mark { color: var(--ax-terra); }
[data-skin="aurora"] .search__box {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  box-shadow: none;
  height: 38px; padding: 0 14px;
}
[data-skin="aurora"] .search__box:focus-within {
  border-color: var(--brand-line); background: var(--surface);
  box-shadow: 0 0 0 3px rgba(196, 99, 63, .10);
}
[data-skin="aurora"] .search__input { color: var(--ax-ink); }
[data-skin="aurora"] .search__kbd {
  border-color: var(--line); color: var(--text-3); border-radius: 6px;
}
[data-skin="aurora"] .btn--ghost {
  background: transparent; border-color: transparent;
  color: var(--text-2); border-radius: var(--radius-sm);
}
[data-skin="aurora"] .btn--ghost:hover { background: rgba(196, 99, 63, .09); color: var(--ax-terra); }
[data-skin="aurora"] .btn--primary,
[data-skin="aurora"] .btn-primary {
  background: var(--ax-terra); border-color: var(--ax-terra); color: #fff;
  border-radius: var(--radius-pill); font-weight: 600;
  box-shadow: 0 2px 10px rgba(196, 99, 63, .22);
}
[data-skin="aurora"] .btn--primary:hover,
[data-skin="aurora"] .btn-primary:hover { background: var(--ax-terra-dark); border-color: var(--ax-terra-dark); }
[data-skin="aurora"] .avatar {
  background: var(--ax-peach); color: var(--ax-terra);
  border: 1px solid var(--brand-line);
}

/* ============================================================================
 * ---------- 9.3b 【2026-10-03】顶栏改版（仅暖日晨光 aurora） ----------
 * ----------------------------------------------------------------------------
 *  目标：logo(freeabc) → 问候语 → 搜索 → 右侧操作簇 一整行合理分布，
 *        并把内容区顶部的大问候横幅收进顶栏，释放纵向空间给工具卡片。
 *  改动范围：全部以 [data-skin="aurora"] 限定；其它皮肤（含 simple 暖日简约）
 *        的 logo、问候、顶栏布局、搜索位置一行不变。
 * ========================================================================== */
[data-skin="aurora"] {
  /* 顶栏 56 → 52px：内容区上边距随之少 4px（.canvas-wrap 用 --topbar-h 计算） */
  --topbar-h: 52px;
  --ax-logo-green: #55704a;   /* freeabc 的 free：墨绿（参照设计稿，比鼠尾草绿更深） */
  --ax-logo-terra: #c4633f;   /* freeabc 的 abc：陶土（与主题主色同色） */
}

/* 顶栏由「左 brand / 中搜索 / 右操作」三栏网格改为一整行弹性分布 */
[data-skin="aurora"] .topbar {
  display: flex; align-items: center;
  gap: 14px;
  padding: 0 18px 0 20px;
}
[data-skin="aurora"] .brand,
[data-skin="aurora"] .ax-greet { flex: none; }   /* logo 与问候语不参与压缩 */

/* ---- freeabc 品牌：隐藏默认图形标与「效率工作台」文字，换成两色 wordmark ---- */
[data-skin="aurora"] .brand.ax-brand .brand__mark,
[data-skin="aurora"] .brand.ax-brand .brand__text { display: none; }
[data-skin="aurora"] .ax-logo { display: inline-flex; align-items: center; gap: 7px; }
[data-skin="aurora"] .ax-logo__leaf { width: 25px; height: 25px; flex: none; color: var(--ax-sage); }
[data-skin="aurora"] .ax-logo__word {
  font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 19px; font-weight: 700; letter-spacing: .01em; line-height: 1;
}
[data-skin="aurora"] .ax-logo__free { color: var(--ax-logo-green); }
[data-skin="aurora"] .ax-logo__abc  { color: var(--ax-logo-terra); }

/* ---- 问候语：紧跟在 logo 右侧，两行紧凑（原内容区大横幅不再注入） ---- */
[data-skin="aurora"] .ax-greet {
  display: flex; flex-direction: column; justify-content: center; gap: 1px;
  padding-left: 14px; margin-left: 2px;
  border-left: 1px solid rgba(61, 50, 41, .10);
  min-width: 0;
}
[data-skin="aurora"] .ax-greet__hi {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--font-serif); font-size: 14px; font-weight: 700;
  /* 顶栏底色在明暗两种模式下都是固定的暖白 rgba(250,247,241,.82)（本皮肤既有实现），
     故这里用固定墨色/次级色，避免深色模式下 --ax-ink 变浅导致问候语看不清 */
  color: #3d3229; line-height: 1.25; white-space: nowrap;
}
[data-skin="aurora"] .ax-greet__hi svg { width: 14px; height: 14px; color: var(--ax-sage); flex: none; }
[data-skin="aurora"] .ax-greet__sub {
  font-size: 11.5px; line-height: 1.25; color: #8f8578; white-space: nowrap;
}

/* ---- 搜索框：整行水平居中（相对页面居中，不再贴右侧操作簇） ----
   顶栏是 flex 行（左 logo/问候 · 右操作簇），若只给 margin-left:auto 会贴右。
   这里让搜索框脱离弹性流、以顶栏为定位基准做 50% 居中，左右两簇仍各占其位。 */
[data-skin="aurora"] .topbar { position: relative; }
[data-skin="aurora"] .search {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(240px, 34vw, 460px);
  max-width: calc(100vw - 520px);   /* 窄于该值时让出左右两簇，避免重叠 */
  min-width: 240px;
  margin-left: 0;
  margin-right: 0;
  z-index: 1;
}
[data-skin="aurora"] .topbar__right { margin-left: auto; }

/* ---- 窄屏（≤900px）：退回与通用移动端一致的排布，优先保证搜索框与按钮可用 ---- */
@media (max-width: 900px) {
  [data-skin="aurora"] .topbar { padding: 0 10px 0 12px; gap: 8px; }
  [data-skin="aurora"] .search { position: static; transform: none; width: auto; flex: 1 1 0%; margin-left: 0; min-width: 0; max-width: none; }
  [data-skin="aurora"] .ax-greet { display: none; }        /* 窄屏隐藏问候，避免挤压搜索 */
  [data-skin="aurora"] .ax-logo__word { display: none; }   /* 与通用 .brand__text 一致：只留图形标 */
  [data-skin="aurora"] .ax-logo__leaf { width: 24px; height: 24px; }
}

/* ---------- 9.4 问候区（旧版 .ax-hero 横幅；2026-10-03 起暖日晨光不再注入，保留规则以兼容历史缓存页面） ---------- */
.ax-hero {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; flex-wrap: wrap;
  max-width: 1560px; margin: 0 auto 22px; padding: 4px 2px 0;
  /* 【2026-10-02 修复·P2-4】顶栏 fixed 会压住问候横幅：滚动定位时留出顶栏高度的偏移 */
  scroll-margin-top: calc(var(--topbar-h) + 16px);
}
.ax-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: 700; line-height: 1.28;
  color: var(--ax-ink); margin: 0;
  display: flex; align-items: center; gap: 10px;
}
.ax-hero__title svg { width: 30px; height: 30px; color: var(--ax-sage); flex: none; }
.ax-hero__sub {
  margin: 8px 0 0; font-size: 13.5px; line-height: 1.7; color: var(--text-2);
}
.ax-hero__aside {
  text-align: right; font-size: 12.5px; line-height: 1.85; color: var(--text-3);
  padding-bottom: 4px;
}
.ax-hero__aside hr {
  border: 0; border-top: 1px solid var(--line-strong);
  width: 46px; margin: 8px 0 0 auto;
}

/* ---------- 9.5 工作台排版改版：自由画布 → 响应式卡片网格 ---------- */
[data-skin="aurora"] .canvas {
  display: grid;
  /* 模块按 500px 宽设计（canvas.js ROW_H/列宽常量），低于此宽度会出现内容挤压，
     故下限取 500px；窄屏自动降到单列 */
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 500px), 1fr));
  gap: 20px;
  align-items: stretch;            /* 同一行卡片等高对齐，与设计稿一致 */
  height: auto !important;         /* 覆盖 JS 写入的固定画布高度 */
  max-width: 1560px;
}
[data-skin="aurora"] .canvas .card {
  position: static !important;     /* 交给网格自动排布 */
  left: auto !important; top: auto !important;
  width: auto !important; height: auto !important;
  min-height: 200px;
  /* 卡片自适应内容高度；但数据很多时不能无限拉长整行，
     超过上限后由 .card__body（原有 overflow:auto）内部滚动兜底 */
  max-height: min(72vh, 760px);
  display: flex; flex-direction: column;
}
[data-skin="aurora"] .canvas .card > .card__body {
  flex: 1 1 auto; min-height: 0;   /* 正文撑满剩余高度，行内卡片底部对齐 */
}

/* ---------- 9.6 卡片外壳：白纸卡 + 大圆角 + 空气感阴影 ---------- */
[data-skin="aurora"] .card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  transition: box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease),
              transform var(--dur) var(--ease);
}
[data-skin="aurora"] .card:hover {
  transform: translateY(-2px);
  border-color: var(--brand-line);
  box-shadow: var(--shadow-2);
}
[data-skin="aurora"] .card__bar {
  background: transparent;
  border-bottom: 0;
  padding: 16px 18px 6px;
  cursor: default;
}
[data-skin="aurora"] .card__title {
  font-size: 16px; font-weight: 700; color: var(--ax-ink);
  letter-spacing: .01em; font-family: var(--font-serif);
}
[data-skin="aurora"] .card__body { padding: 6px 12px 14px; }
[data-skin="aurora"] .rz { display: none; }          /* 网格排版下不提供缩放手柄 */

/* 卡片右上角操作按钮：常态隐藏 → 悬停浮现，圆形轻按钮 */
[data-skin="aurora"] .card__tool {
  width: 28px; height: 28px; border-radius: var(--radius-pill);
  color: var(--text-3);
}
[data-skin="aurora"] .card__tool:hover {
  background: var(--brand-soft); color: var(--ax-terra); border-color: transparent;
}
[data-skin="aurora"] .card__badge { background: var(--ax-terra); }

/* ---------- 9.7 卡片图标：设计稿是「纯彩色线性图标」，不做色块磁贴 ---------- */
[data-skin="aurora"] .card__icon {
  --ig: var(--ax-terra);
  width: 26px; height: 26px;
  background: transparent; border: 0; box-shadow: none;
  color: var(--ig);
  align-items: center; justify-content: center;
}
[data-skin="aurora"] .card__icon svg { width: 21px; height: 21px; }
[data-skin="aurora"] .card:hover .card__icon { background: transparent; border-color: transparent; }

[data-skin="aurora"] .card[data-module="todo"] .card__icon,
[data-skin="aurora"] .card[data-module="habit"] .card__icon,
[data-skin="aurora"] .card[data-module="plantask"] .card__icon,
[data-skin="aurora"] .card[data-module="stats"] .card__icon,
[data-skin="aurora"] .card[data-module="qual"] .card__icon { --ig: var(--ax-sage); }

[data-skin="aurora"] .card[data-module="note"] .card__icon,
[data-skin="aurora"] .card[data-module="booknote"] .card__icon,
[data-skin="aurora"] .card[data-module="translate"] .card__icon { --ig: var(--ax-amber); }

[data-skin="aurora"] .card[data-module="books"] .card__icon,
[data-skin="aurora"] .card[data-module="feed"] .card__icon,
[data-skin="aurora"] .card[data-module="search"] .card__icon,
[data-skin="aurora"] .card[data-module="google"] .card__icon,
[data-skin="aurora"] .card[data-module="bing"] .card__icon { --ig: var(--ax-blue); }

[data-skin="aurora"] .card[data-module="ai"] .card__icon,
[data-skin="aurora"] .card[data-module="agenthub"] .card__icon,
[data-skin="aurora"] .card[data-module="smartai"] .card__icon,
[data-skin="aurora"] .card[data-module="aitoolbox"] .card__icon,
[data-skin="aurora"] .card[data-module="clipboard"] .card__icon,
[data-skin="aurora"] .card[data-module="fileconv"] .card__icon,
[data-skin="aurora"] .card[data-module="fileworks"] .card__icon,
[data-skin="aurora"] .card[data-module="filedrop"] .card__icon { --ig: #b06a9e; }

/* ---------- 9.8 卡片内部：行 / 圆点 / 便签 / 日历 / 按钮 ---------- */
/* 列表行：设计稿是「无边框、悬停淡暖底」 */
[data-skin="aurora"] .row { padding: 9px 10px; border-radius: var(--radius-sm); }
[data-skin="aurora"] .row:hover { background: var(--surface-2); }
[data-skin="aurora"] .row__title { font-size: 13.5px; color: var(--ax-ink); }
[data-skin="aurora"] .row__sub { color: var(--text-3); }
[data-skin="aurora"] .row--done .row__title { color: var(--text-3); }
/* 状态圆点：陶土 / 琥珀 / 鼠尾草 */
[data-skin="aurora"] .dot--due  { background: var(--ax-terra); }
[data-skin="aurora"] .dot--soon { background: var(--ax-amber); }
[data-skin="aurora"] .dot--ok   { background: var(--ax-sage); }

/* 卡片内主操作（如「＋ 添加一件事」）：淡陶土满宽按钮 */
[data-skin="aurora"] .card__body .btn--block,
[data-skin="aurora"] .card__body .btn-block,
[data-skin="aurora"] .note-new,
[data-skin="aurora"] .card__foot .btn {
  background: var(--ax-peach); border: 0; color: var(--ax-terra);
  border-radius: var(--radius-sm); font-weight: 600;
}
[data-skin="aurora"] .card__body .btn--block:hover,
[data-skin="aurora"] .note-new:hover,
[data-skin="aurora"] .card__foot .btn:hover { background: var(--ax-peach-2); color: var(--ax-terra-dark); }

/* 便签：粉 / 黄 / 绿 三色循环（对应设计稿灵感便签） */
[data-skin="aurora"] .note-item {
  border: 0; border-radius: var(--radius-md);
  background: #fbe4e4; box-shadow: none;
  color: #5a4038;
}
[data-skin="aurora"] .note-item:nth-child(3n+2) { background: #fbf0d0; }
[data-skin="aurora"] .note-item:nth-child(3n+3) { background: #e4efe4; }
[data-skin="aurora"] .note-item__text { color: #5a4038; }
[data-skin="aurora"] .note-item__meta,
[data-skin="aurora"] .note-item__title { color: #8a7365; }

/* 日历：选中日 = 陶土实心圆；今天 = 描边 */
[data-skin="aurora"] .cal-day--today { background: transparent; border: 1.5px solid var(--ax-terra); color: var(--ax-terra); }
[data-skin="aurora"] .cal-day.is-active,
[data-skin="aurora"] .cal-day.is-selected { background: var(--ax-terra); color: #fff; border-color: var(--ax-terra); }
[data-skin="aurora"] .cal-day--weekend { color: var(--ax-terra); }
[data-skin="aurora"] .cal-day--out { color: var(--text-3); }
[data-skin="aurora"] .cal-title { font-family: var(--font-serif); color: var(--ax-ink); font-weight: 700; }
[data-skin="aurora"] .cal-wd { color: var(--text-3); }

/* 收藏 */
[data-skin="aurora"] .fav-item { border-radius: var(--radius-md); }

/* 通用：标签 / 芯片 / 输入 / 弹窗 */
[data-skin="aurora"] .chip {
  border-radius: var(--radius-pill); border-color: var(--line);
  background: var(--surface); color: var(--text-2);
}
[data-skin="aurora"] .chip:hover { border-color: var(--line-strong); }
[data-skin="aurora"] .chip.is-active {
  background: var(--ax-peach); border-color: var(--brand-line); color: var(--ax-terra); font-weight: 600;
}
[data-skin="aurora"] .tag--brand { background: var(--brand-soft); color: var(--ax-terra); }
[data-skin="aurora"] input, [data-skin="aurora"] textarea, [data-skin="aurora"] select,
[data-skin="aurora"] .input, [data-skin="aurora"] .textarea {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-sm); color: var(--ax-ink);
}
[data-skin="aurora"] input:focus, [data-skin="aurora"] textarea:focus, [data-skin="aurora"] select:focus,
[data-skin="aurora"] .input:focus, [data-skin="aurora"] .textarea:focus {
  border-color: var(--ax-terra); box-shadow: 0 0 0 3px rgba(196, 99, 63, .12);
}
[data-skin="aurora"] .modal__panel {
  background: #fefcf9; border: 1px solid var(--line);
  border-radius: var(--radius-xl); box-shadow: var(--shadow-pop);
}
[data-skin="aurora"] .modal__title {
  font-family: var(--font-serif); font-size: 22px; font-weight: 700; color: var(--ax-ink);
}
[data-skin="aurora"] .modal__desc { color: var(--text-2); }
[data-skin="aurora"] .item:hover { background: var(--surface-2); }
[data-skin="aurora"] ::selection { background: rgba(196, 99, 63, .18); }

/* ---------- 9.9 底部语录横幅（由 theme-aurora.js 注入，仅本皮肤存在） ---------- */
.ax-quote {
  position: relative; overflow: hidden;
  max-width: 1560px; margin: 22px auto 8px;
  border-radius: var(--radius-lg);
  padding: 34px 40px;
  min-height: 132px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  background:
    radial-gradient(80% 140% at 88% 20%, rgba(217, 164, 65, .22) 0%, rgba(217, 164, 65, 0) 58%),
    radial-gradient(70% 120% at 12% 90%, rgba(122, 158, 126, .20) 0%, rgba(122, 158, 126, 0) 60%),
    linear-gradient(120deg, #efe6d8 0%, #e8ddcb 46%, #dfd3bf 100%);
  box-shadow: var(--shadow-1);
}
.ax-quote__text {
  font-family: var(--font-serif);
  font-size: clamp(17px, 1.7vw, 23px); font-weight: 700; line-height: 1.6;
  color: #4a3b2c; letter-spacing: .02em;
}
.ax-quote__note {
  text-align: right; font-size: 12.5px; line-height: 1.9; color: #7d6b56;
  padding-bottom: 2px; flex: none;
}
.ax-quote__note span {
  display: block; border-top: 1px solid rgba(125, 107, 86, .45);
  width: 42px; margin: 7px 0 0 auto;
}

/* ---------- 9.10 空状态引导 ---------- */
[data-skin="aurora"] .empty-state { gap: 12px; padding: 30px 20px; }
[data-skin="aurora"] .empty-state__icon {
  width: 52px; height: 52px; border-radius: var(--radius-md);
  color: var(--ax-terra); background: var(--ax-peach);
  border: 1px solid var(--brand-line); box-shadow: none;
}
[data-skin="aurora"] .empty-state__title { font-size: 14.5px; font-weight: 600; color: var(--ax-ink); }
[data-skin="aurora"] .empty-state__desc { font-size: 12.5px; line-height: 1.7; max-width: 260px; color: var(--text-3); }

/* 画布为空时的引导（纯 CSS，不依赖 JS） */
[data-skin="aurora"] .canvas:empty::after {
  content: "还没有开启任何工具。点左侧导航挑 3 个最常用的场景开始 —— 比如提醒、便签、收藏。";
  display: block; grid-column: 1 / -1;
  padding: 46px 22px; text-align: center;
  font-size: 13px; line-height: 1.8; color: var(--text-3);
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-lg); background: var(--surface);
}

/* ---------- 9.11 移动端 ---------- */
@media (max-width: 900px) {
  [data-skin="aurora"] .canvas-wrap { background-size: 190px 215px, 200px 200px; }
  [data-skin="aurora"] .ax-hero { margin-bottom: 16px; }
/* 首页严格单屏：兜住任何底部溢出（实测差 71px 会多出一条滚动） */
[data-skin="aurora"] .canvas-wrap.wd-on-home { overflow: hidden; padding-bottom: 0; }
[data-skin="aurora"] .canvas-wrap.wd-on-home .ax-hero { margin-bottom: 12px; }
  [data-skin="aurora"] .ax-hero__aside { display: none; }
  [data-skin="aurora"] .ax-quote { padding: 24px 20px; min-height: 0; }
  [data-skin="aurora"] .ax-quote__note { display: none; }
  [data-skin="aurora"] .canvas { gap: 14px; }
  /* 触屏无 hover：卡片工具按钮与列表行操作必须常驻可见，否则功能等于不存在 */
  [data-skin="aurora"] .card__tools { opacity: 1; gap: 4px; }
  [data-skin="aurora"] .row__ops { opacity: 1; gap: 6px; }
  [data-skin="aurora"] .row__ops .card__tool { width: 40px; height: 40px; }
  [data-skin="aurora"] .card__tool { width: 40px; height: 40px; border-radius: var(--radius-pill); }
  [data-skin="aurora"] .btn { min-height: 40px; }
  [data-skin="aurora"] .modal__panel { max-width: calc(100vw - 24px); border-radius: var(--radius-lg); }
  [data-skin="aurora"] .canvas.is-flow { grid-template-columns: 1fr; }
  [data-skin="aurora"] .canvas.is-flow .card { min-height: 200px; max-height: none; }
}
@media (min-width: 620px) and (max-width: 900px) {
  [data-skin="aurora"] .canvas.is-flow { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  /* 品牌字比原版放大后会影响顶栏三栏网格，窄屏收回原始字号 */
  [data-skin="aurora"] .brand__text { font-size: 15px; }
}
@media (max-width: 560px) {
  /* 极窄屏只留品牌标，避免文字被搜索框挤压截断 */
  [data-skin="aurora"] .brand__text { display: none; }
}
@media (max-width: 620px) {
  [data-skin="aurora"] .canvas { gap: 12px; }
  [data-skin="aurora"] .ax-hero__title { font-size: 22px; }
  [data-skin="aurora"] .ax-hero__title svg { width: 22px; height: 22px; }
  [data-skin="aurora"] .ax-quote__text { font-size: 16px; }
  [data-skin="aurora"] .card__bar { padding: 13px 14px 4px; }
  [data-skin="aurora"] .card__body { padding: 4px 10px 12px; }
  [data-skin="aurora"] .card__tool { width: 44px; height: 44px; }
}
@media (hover: none) and (pointer: coarse) {
  [data-skin="aurora"] .card__tools { opacity: 1; }
  [data-skin="aurora"] .card__tool { width: 44px; height: 44px; }
  [data-skin="aurora"] .row__ops { opacity: 1; }
}

/* ---------- 9.12 深色模式：月亮开关仍优先于本皮肤 ---------- */
[data-theme="dark"][data-skin="aurora"] {
  --ax-cream: #17150f; --ax-cream-2: #1d1a14; --ax-ink: #ece5da;
  --ax-peach: #33241c; --ax-peach-2: #403026; --ax-line: #2a2620;
  --bg: linear-gradient(180deg, #17150f 0%, #14120d 100%);
  --bg-grid: rgba(255, 255, 255, .03);
  --surface: #1e1b15; --surface-2: #241f18; --surface-3: #2b251d;
  --line: #2e2921; --line-strong: #3d362b; --switch-off: #5c5346;
  --text: #ece5da; --text-2: #a99f8f; --text-3: #7a7163;
  --brand: #d97a53; --brand-hover: #e58d68; --brand-soft: #3a2620; --brand-line: #4d3327; --brand-2: #c4633f;
  --ok: #86ab8a; --ok-soft: #1f2a20;
  --warn: #e0ad4e; --warn-soft: #2e2617;
  --danger: #d4736a; --danger-soft: #33211f;
  --shadow-1: 0 1px 2px rgba(0, 0, 0, .3);
  --shadow-2: 0 2px 10px rgba(0, 0, 0, .34);
  --shadow-pop: 0 12px 40px rgba(0, 0, 0, .5);
}
[data-theme="dark"][data-skin="aurora"] body { background: var(--bg) fixed; }
[data-theme="dark"][data-skin="aurora"] .ax-quote {
  background: linear-gradient(120deg, #2a2318 0%, #241e15 100%);
  border: 1px solid var(--line);
}
[data-theme="dark"][data-skin="aurora"] .ax-quote__text { color: #e6dccb; }
[data-theme="dark"][data-skin="aurora"] .note-item { background: #33291f; color: #e3d8c8; }
[data-theme="dark"][data-skin="aurora"] .note-item__text { color: #e3d8c8; }

/* ============================================================================
 * 9.13 组件完整性补齐层
 * ----------------------------------------------------------------------------
 * 9.0~9.12 只覆盖了外壳与部分模块；线上还有登录弹窗、个人设置、通知下拉、
 * 搜索面板、主题面板、骨架屏、模块开关、标签/徽标、页脚等大量组件。
 * 本节把它们统一到「暖白手账」语言，全部用 [data-skin="aurora"] 限定，
 * 其它皮肤零影响；颜色尽量走变量，深色模式自动跟随。
 * ========================================================================== */

/* ---- 加载骨架屏：暖色微光，别用冷灰 ---- */
[data-skin="aurora"] .skeleton {
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--surface-3) 88%, var(--ax-peach)) 25%,
    var(--surface-2) 37%,
    color-mix(in srgb, var(--surface-3) 88%, var(--ax-peach)) 63%);
  background-size: 400% 100%;
  border-radius: var(--radius-xs);
}

/* ---- 侧边栏模块开关 ---- */
[data-skin="aurora"] .switch { background: var(--switch-off); }
[data-skin="aurora"] .switch.is-on { background: var(--ax-terra); }
[data-skin="aurora"] .switch::after {
  box-shadow: 0 1px 3px rgba(61, 50, 41, .22);
  background: #fff;
}
[data-skin="aurora"] .side__add {
  border: 1px dashed var(--line-strong);
  color: var(--text-2); background: transparent;
  border-radius: var(--radius-sm);
}
[data-skin="aurora"] .side__add:hover {
  border-color: var(--brand-line); background: var(--ax-peach); color: var(--ax-terra);
}
[data-skin="aurora"] .side__section { border-top: 1px solid rgba(61, 50, 41, .05); }
[data-skin="aurora"] .side__section:first-child { border-top: 0; }
[data-skin="aurora"] .side__user-name { color: var(--ax-ink); font-weight: 600; }
[data-skin="aurora"] .side__user-id { color: var(--text-3); }

/* ---- 登录门禁 / 注册卡 ---- */
[data-skin="aurora"] .gate { background: color-mix(in srgb, var(--ax-cream) 82%, transparent); }
[data-skin="aurora"] .gate__panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-2);
}
[data-skin="aurora"] .auth-page { background: var(--ax-cream); }
[data-skin="aurora"] .auth-card {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-xl); box-shadow: var(--shadow-2);
}
[data-skin="aurora"] .auth-head { border-bottom: 1px solid var(--line); }
[data-skin="aurora"] .auth-msg { color: var(--text-2); }
[data-skin="aurora"] .auth-foot { border-top: 1px solid var(--line); color: var(--text-3); }

/* ---- 个人设置弹窗（index.html 内联样式定义，此处做主题化覆盖） ---- */
[data-skin="aurora"] .settings-overlay { background: rgba(61, 50, 41, .34); }
[data-skin="aurora"] .settings-modal {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-pop);
}
[data-skin="aurora"] .settings-head { border-bottom: 1px solid var(--line); }
[data-skin="aurora"] .settings-title { font-family: var(--font-serif); font-weight: 700; color: var(--ax-ink); }
[data-skin="aurora"] .settings-close { color: var(--text-3); border-radius: var(--radius-sm); }
[data-skin="aurora"] .settings-close:hover { background: var(--surface-3); color: var(--ax-ink); }
[data-skin="aurora"] .settings-section { border-top: 1px solid var(--line); }
[data-skin="aurora"] .settings-field { border-bottom: 1px solid var(--line); }
[data-skin="aurora"] .settings-module-row { border-bottom: 1px solid var(--line); }
[data-skin="aurora"] .settings-hint, [data-skin="aurora"] .field-tip { color: var(--text-3); }
[data-skin="aurora"] .settings-foot { border-top: 1px solid var(--line); }

/* ---- 通知下拉 ---- */
[data-skin="aurora"] .notify-dropdown {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-pop);
}
[data-skin="aurora"] .notify-dropdown__head {
  border-bottom: 1px solid var(--line); color: var(--ax-ink); font-weight: 600;
}
[data-skin="aurora"] .notif-item { border-bottom: 1px solid var(--line); }
[data-skin="aurora"] .notif-item:hover { background: var(--surface-2); }
[data-skin="aurora"] .notif-item.is-unread { background: var(--ax-peach); }
[data-skin="aurora"] .notif-title { color: var(--ax-ink); font-weight: 600; }
[data-skin="aurora"] .notif-body, [data-skin="aurora"] .notif-content { color: var(--text-2); }
[data-skin="aurora"] .notif-meta { color: var(--text-3); }
[data-skin="aurora"] .notif-empty { color: var(--text-3); }
[data-skin="aurora"] .notif-read-btn { color: var(--ax-terra); }
[data-skin="aurora"] .notify-mark-all, [data-skin="aurora"] .notify-close { color: var(--text-2); }
[data-skin="aurora"] .notify-dot, [data-skin="aurora"] .notif-dot { background: var(--ax-terra); }
[data-skin="aurora"] .notif-badge { background: var(--ax-terra); color: #fff; }
[data-skin="aurora"] .notif-badge--notice { background: var(--ax-amber); }
[data-skin="aurora"] .notif-badge--message { background: var(--ax-sage); }

/* ---- 全局搜索面板 ---- */
[data-skin="aurora"] .search__panel {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-pop);
}
[data-skin="aurora"] .search__item { border-radius: var(--radius-sm); }
[data-skin="aurora"] .search__item:hover,
[data-skin="aurora"] .search__item.is-active { background: var(--ax-peach); }
[data-skin="aurora"] .search__item mark { color: var(--ax-terra); background: transparent; }
[data-skin="aurora"] .search__group-title { color: var(--text-3); }
[data-skin="aurora"] .search__item .s-name { color: var(--ax-ink); }

/* ---- 主题选择面板本身（调色盘弹窗） ---- */
[data-skin="aurora"] .skin-panel {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-xl); box-shadow: var(--shadow-pop);
}
[data-skin="aurora"] .skin-panel__head { color: var(--ax-ink); font-family: var(--font-serif); font-weight: 700; }
[data-skin="aurora"] .skin-card {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-md); box-shadow: none;
}
[data-skin="aurora"] .skin-card:hover { border-color: var(--brand-line); box-shadow: var(--shadow-1); }
[data-skin="aurora"] .skin-card.is-current {
  border-color: var(--ax-terra); box-shadow: 0 0 0 2px color-mix(in srgb, var(--ax-terra) 22%, transparent);
}
[data-skin="aurora"] .skin-card__name { color: var(--ax-ink); }
[data-skin="aurora"] .skin-card__desc { color: var(--text-3); }
[data-skin="aurora"] .skin-card__apply {
  background: var(--ax-terra); color: #fff; border-radius: var(--radius-pill); border: 0;
}
[data-skin="aurora"] .skin-card__apply:hover { background: var(--ax-terra-dark); }
[data-skin="aurora"] .skin-card__current { color: var(--ax-terra); }
[data-skin="aurora"] .skin-custom {
  border: 1px dashed var(--line-strong); color: var(--text-2);
  border-radius: var(--radius-sm); background: transparent;
}
[data-skin="aurora"] .skin-custom:hover { border-color: var(--brand-line); color: var(--ax-terra); background: var(--ax-peach); }

/* ---- 轻提示 / 出错提示 ---- */
[data-skin="aurora"] .toast {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-pill); box-shadow: var(--shadow-2); color: var(--ax-ink);
}
[data-skin="aurora"] .toast--ok { border-color: color-mix(in srgb, var(--ax-sage) 45%, var(--line)); }
[data-skin="aurora"] .toast--err { border-color: color-mix(in srgb, var(--ax-terra) 45%, var(--line)); color: var(--ax-terra); }
[data-skin="aurora"] .wb-tip, [data-skin="aurora"] .tip {
  background: color-mix(in srgb, var(--ax-amber) 14%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--ax-amber) 34%, transparent);
  border-radius: var(--radius-sm); color: var(--text-2);
}

/* ---- 卡片底部操作区 / 无内边距正文 ---- */
[data-skin="aurora"] .card__foot {
  border-top: 1px solid var(--line);
  padding: 10px 14px;
}
[data-skin="aurora"] .card__body--flush { padding: 0; }
[data-skin="aurora"] .card__pin { opacity: .6; }

/* ---- 徽标 / 标签 ---- */
[data-skin="aurora"] .badge { background: var(--ax-terra); color: #fff; border-radius: var(--radius-pill); }
[data-skin="aurora"] .badge--ok { background: var(--ax-sage); }
[data-skin="aurora"] .badge--warn { background: var(--ax-amber); }
[data-skin="aurora"] .badge--err { background: var(--danger); }
[data-skin="aurora"] .badge--mute, [data-skin="aurora"] .badge--hidden {
  background: var(--surface-3); color: var(--text-2);
}
[data-skin="aurora"] .tag {
  background: var(--surface-3); color: var(--text-2);
  border-radius: var(--radius-pill);
}
[data-skin="aurora"] .tag--ok { background: var(--ok-soft); color: var(--ok); }
[data-skin="aurora"] .tag--warn { background: var(--warn-soft); color: var(--warn); }

/* ---- 按钮补充尺寸 / 语义色 ---- */
[data-skin="aurora"] .btn--sm { border-radius: var(--radius-pill); }
[data-skin="aurora"] .btn--danger {
  background: var(--ax-terra); border-color: var(--ax-terra); color: #fff;
  border-radius: var(--radius-pill);
}
[data-skin="aurora"] .btn--danger:hover { background: var(--ax-terra-dark); border-color: var(--ax-terra-dark); }
[data-skin="aurora"] .btn--ext { color: var(--ax-terra); }

/* ---- 表单 / 选项卡 ---- */
[data-skin="aurora"] .field__label { color: var(--text-2); font-weight: 500; }
[data-skin="aurora"] .tabs { background: var(--surface-3); border-radius: var(--radius-pill); padding: 4px; }
[data-skin="aurora"] .tabs button { border-radius: var(--radius-pill); color: var(--text-2); }
[data-skin="aurora"] .tabs button.is-active,
[data-skin="aurora"] .tabs button.active {
  background: var(--surface); color: var(--ax-terra); font-weight: 600;
  box-shadow: 0 1px 3px rgba(61, 50, 41, .10);
}

/* ---- 错误 / 空态卡片 ---- */
[data-skin="aurora"] .mod-error { color: var(--text-2); }
[data-skin="aurora"] .mod-error__icon { color: var(--ax-amber); }
[data-skin="aurora"] .custom-empty__icon { color: var(--ax-terra); }

/* ---- 悬浮按钮 / 页脚 ---- */
[data-skin="aurora"] .fab-about {
  background: var(--surface); border: 1px solid var(--line);
  color: var(--text-2); box-shadow: var(--shadow-2);
}
[data-skin="aurora"] .fab-about:hover { color: var(--ax-terra); border-color: var(--brand-line); }
[data-skin="aurora"] .site-foot { color: var(--text-3); }
[data-skin="aurora"] .foot-ad, [data-skin="aurora"] .foot-contact { border-color: var(--line); }

/* ---- 弹窗底部按钮区 ---- */
[data-skin="aurora"] .modal__foot { border-top: 1px solid var(--line); }
[data-skin="aurora"] .modal__desc { color: var(--text-2); }
[data-skin="aurora"] .about-list li { border-bottom: 1px solid var(--line); }

/* ---- 模块内部：日历 / 提醒 / 便签 / 收藏 / 订阅 / 统计 ---- */
[data-skin="aurora"] .cal-clock { color: var(--ax-ink); font-family: var(--font-serif); }
[data-skin="aurora"] .cal-sidebar { border-right-color: var(--line); }
[data-skin="aurora"] .cal-day { border-radius: var(--radius-xs); }
[data-skin="aurora"] .cal-day:hover { background: var(--surface-2); }
[data-skin="aurora"] .cal-day__sub { color: var(--text-3); }
[data-skin="aurora"] .cal-day__mk { background: var(--ax-sage); }
[data-skin="aurora"] .cal-forecast__row { background: var(--surface-2); border-radius: var(--radius-sm); }
[data-skin="aurora"] .cal-weather-city { color: var(--text-3); }
[data-skin="aurora"] .rem-filter .chip { background: var(--surface); }
[data-skin="aurora"] .rem-add-row { border-top: 1px solid var(--line); }
[data-skin="aurora"] .note-item { border-radius: var(--radius-md); }
[data-skin="aurora"] .note-item__head { color: #8a7365; }
[data-skin="aurora"] .note-count { color: var(--text-3); }
[data-skin="aurora"] .bn-item { border-bottom: 1px solid var(--line); }
[data-skin="aurora"] .bn-item__title { color: var(--ax-ink); }
[data-skin="aurora"] .bn-item__sum, [data-skin="aurora"] .bn-item__foot { color: var(--text-3); }
[data-skin="aurora"] .feed-item { border-bottom: 1px solid var(--line); }
[data-skin="aurora"] .feed-title { color: var(--ax-ink); }
[data-skin="aurora"] .feed-src, [data-skin="aurora"] .feed-sum { color: var(--text-3); }
[data-skin="aurora"] .feed-ava { border-radius: var(--radius-pill); }
[data-skin="aurora"] .fav-item { background: var(--surface-2); }
[data-skin="aurora"] .fav-item__name { color: var(--ax-ink); }
[data-skin="aurora"] .fav-item__initial { color: var(--ax-terra); }
[data-skin="aurora"] .fav-remove { color: var(--text-3); }
[data-skin="aurora"] .stat-cell { background: var(--surface-2); border-radius: var(--radius-md); }
[data-skin="aurora"] .stat-cell--brand { background: var(--ax-peach); }
[data-skin="aurora"] .stat-cell--warn { background: var(--warn-soft); }
[data-skin="aurora"] .stat-label { color: var(--text-3); }
[data-skin="aurora"] .stat-num { color: var(--ax-ink); font-family: var(--font-serif); }
[data-skin="aurora"] .stat-bar { background: var(--ax-terra); border-radius: var(--radius-pill); }
[data-skin="aurora"] .src-badge {
  background: var(--ax-peach); color: var(--ax-terra); border-radius: var(--radius-pill);
}
[data-skin="aurora"] .book-reader { background: var(--surface); }
[data-skin="aurora"] .book-reader__title { font-family: var(--font-serif); color: var(--ax-ink); }
[data-skin="aurora"] .ad-carousel { background: var(--surface-2); border-radius: var(--radius-md); }
[data-skin="aurora"] .ad-carousel__btn, [data-skin="aurora"] .ad-modebar__btn {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-pill); color: var(--text-2);
}
[data-skin="aurora"] .ad-carousel__btn:hover, [data-skin="aurora"] .ad-modebar__btn:hover { color: var(--ax-terra); border-color: var(--brand-line); }
[data-skin="aurora"] .ad-dot { background: var(--line-strong); }
[data-skin="aurora"] .ad-dot.is-active { background: var(--ax-terra); }
[data-skin="aurora"] .cap-box, [data-skin="aurora"] .cap-track, [data-skin="aurora"] .cap-slot {
  border-color: var(--line); background: var(--surface-2); border-radius: var(--radius-sm);
}
[data-skin="aurora"] .cap-fill { background: var(--ax-terra); }
[data-skin="aurora"] .snapline { background: var(--ax-terra); opacity: .5; }
[data-skin="aurora"] .canvas-note { color: var(--text-3); }
[data-skin="aurora"] .hamburger { color: var(--text-2); }
[data-skin="aurora"] .submod__step-bd { border-color: var(--line); }
[data-skin="aurora"] .submod__step-hd { color: var(--ax-ink); }
[data-skin="aurora"] .submod__paid { color: var(--ax-terra); }
[data-skin="aurora"] .bind-mask { background: rgba(61, 50, 41, .34); }
[data-skin="aurora"] .bind-card {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-pop);
}
[data-skin="aurora"] .bind-lb { color: var(--text-2); }
[data-skin="aurora"] .bind-msg { color: var(--text-3); }
[data-skin="aurora"] .contact-email, [data-skin="aurora"] .contact-filing { color: var(--text-3); }

/* ============================================================================
 * 9.14 「暖日晨光」新信息架构（首页单屏 / 全部工具 / 工具全页面）
 * ----------------------------------------------------------------------------
 * 仅 [data-skin="aurora"] 生效。由 core/warmday.js 注入结构，本段负责外观。
 * 其它 6 套皮肤与既有画布布局完全不受影响。
 * ========================================================================== */

/* ---- 外壳：整页不滚动，各视图自理 ---- */
[data-skin="aurora"] .canvas-wrap {
  height: 100vh; overflow: hidden;
  display: flex; flex-direction: column;
  padding-bottom: 14px;
}
[data-skin="aurora"] .wd-app {
  flex: 1; min-height: 0; width: 100%; max-width: 1560px;
  margin: 0 auto; display: flex; flex-direction: column;
}
[data-skin="aurora"] .wd-view { flex: 1; min-height: 0; display: flex; flex-direction: column; }
/* 作者样式的 display 会盖过 UA 的 [hidden]{display:none}，必须显式让位 */
[data-skin="aurora"] .wd-view[hidden] { display: none !important; }
[data-skin="aurora"] #wdHome { overflow: hidden; }
[data-skin="aurora"] #wdTools,
[data-skin="aurora"] #wdTool { overflow: auto; }
[data-skin="aurora"] .wd-canvas--hidden { display: none !important; }
[data-skin="aurora"] .wd-hide { display: none !important; }
/* 首页：模块卡片距顶部标题栏的垂直间隙收窄。
   通用规则是 .canvas-wrap{padding:calc(var(--topbar-h) + 14px) 14px 28px}，
   本皮肤 --topbar-h:52px → 顶部留白 66px，视觉上空档过大。
   这里仅对首页（.wd-on-home 由 warmday 在 home 视图时加在 .canvas-wrap 上）收窄到 30px，
   卡片之间的上下间距、左右边距与排布顺序均不动。 */
[data-skin="aurora"] .canvas-wrap.wd-on-home { padding-top: 30px; }
/* 问候语只在首页出现，避免占用工具页高度 */
[data-skin="aurora"] .canvas-wrap:not(.wd-on-home) .ax-hero { display: none; }
[data-skin="aurora"] .ax-hero { margin-bottom: 16px; }
[data-skin="aurora"] .ax-hero__title { font-size: clamp(20px, 2vw, 27px); }
[data-skin="aurora"] .ax-hero__sub { font-size: 12.5px; margin-top: 5px; }

/* ---- 首页：恰好一屏，2×3 自适应 ---- */
[data-skin="aurora"] .wd-home__grid {
  flex: 1; min-height: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
[data-skin="aurora"] .wd-home__grid > .card,
[data-skin="aurora"] .wd-tool__stage > .card {
  position: static !important;
  left: auto !important; top: auto !important;
  width: auto !important; height: auto !important;
  min-height: 0; max-height: none;
  display: flex; flex-direction: column;
  border-radius: var(--radius-lg);
}
[data-skin="aurora"] .wd-home__grid > .card > .card__body { flex: 1 1 auto; min-height: 0; }
[data-skin="aurora"] .wd-home__grid .card__bar { cursor: default; }
[data-skin="aurora"] .wd-home__grid .rz { display: none; }

/* 首页空位：添加工具占位卡 */
[data-skin="aurora"] .wd-addcard {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  border: 1px dashed var(--line-strong); border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  color: var(--text-3); cursor: pointer; font: inherit;
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);
}
[data-skin="aurora"] .wd-addcard:hover {
  border-color: var(--brand-line); color: var(--ax-terra); background: var(--ax-peach);
}
[data-skin="aurora"] .wd-addcard__plus { font-size: 26px; line-height: 1; }
[data-skin="aurora"] .wd-addcard__txt { font-size: 14px; font-weight: 600; }
[data-skin="aurora"] .wd-addcard__sub { font-size: 11.5px; }

@media (max-width: 1200px) {
  [data-skin="aurora"] .wd-home__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  [data-skin="aurora"] .canvas-wrap { height: auto; min-height: 100vh; overflow: visible; }
  [data-skin="aurora"] .wd-app, [data-skin="aurora"] .wd-view { display: block; }
  [data-skin="aurora"] .wd-home__grid {
    display: grid; grid-template-columns: 1fr; grid-template-rows: none;
    grid-auto-rows: minmax(260px, auto); gap: 12px;
  }
  [data-skin="aurora"] #wdHome { overflow: visible; }
}

/* ---- 全部工具 ---- */
[data-skin="aurora"] .wd-tools__panel {
  position: relative; background: var(--surface);
  border: 1px solid var(--line); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-1);
  padding: 26px 26px 18px; margin: 0 auto; width: 100%;
}
[data-skin="aurora"] .wd-tools__close {
  position: absolute; top: 16px; right: 16px;
  width: 30px; height: 30px; border-radius: var(--radius-pill);
  border: 0; background: transparent; color: var(--text-3);
  font-size: 15px; cursor: pointer;
}
[data-skin="aurora"] .wd-tools__close:hover { background: var(--surface-3); color: var(--ax-ink); }
[data-skin="aurora"] .wd-tools__title {
  margin: 0; text-align: center; font-family: var(--font-serif);
  font-size: 26px; font-weight: 700; color: var(--ax-ink);
}
[data-skin="aurora"] .wd-tools__sub {
  margin: 6px 0 18px; text-align: center; font-size: 13px; color: var(--text-2);
}
[data-skin="aurora"] .wd-search {
  display: flex; align-items: center; gap: 10px;
  height: 42px; padding: 0 16px; margin-bottom: 20px;
  border: 1px solid var(--line); border-radius: var(--radius-pill);
  background: var(--surface-2);
}
[data-skin="aurora"] .wd-search svg { width: 16px; height: 16px; color: var(--text-3); flex: none; }
[data-skin="aurora"] .wd-search input {
  flex: 1; border: 0; background: transparent; outline: none;
  font-size: 14px; color: var(--ax-ink);
}
[data-skin="aurora"] .wd-search:focus-within {
  border-color: var(--brand-line); background: var(--surface);
  box-shadow: 0 0 0 3px rgba(196, 99, 63, .10);
}
[data-skin="aurora"] .wd-cat { margin-bottom: 22px; }
[data-skin="aurora"] .wd-cat__hd {
  display: flex; align-items: center; gap: 9px;
  margin: 0 0 12px; font-size: 15.5px; font-weight: 700; color: var(--ax-ink);
}
[data-skin="aurora"] .wd-cat__ico { display: inline-flex; color: var(--ax-terra); }
[data-skin="aurora"] .wd-cat__ico svg { width: 18px; height: 18px; }
[data-skin="aurora"] .wd-cat__n {
  min-width: 20px; height: 20px; padding: 0 6px; border-radius: var(--radius-pill);
  background: var(--surface-3); color: var(--text-2);
  font-size: 11.5px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center;
}
[data-skin="aurora"] .wd-cat__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 12px;
}
[data-skin="aurora"] .wd-toolcard {
  display: flex; flex-direction: column;
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-md); overflow: hidden; cursor: pointer;
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
[data-skin="aurora"] .wd-toolcard.is-unavailable { opacity: .55; cursor: not-allowed; }
[data-skin="aurora"] .wd-toolcard.is-unavailable:hover { transform: none; border-color: var(--line); box-shadow: none; }
[data-skin="aurora"] .wd-pill.is-off { display: flex; align-items: center; justify-content: center; background: var(--surface-3); border-color: transparent; color: var(--text-3); cursor: not-allowed; }
[data-skin="aurora"] .wd-toolcard:hover {
  border-color: var(--brand-line); box-shadow: var(--shadow-1); transform: translateY(-2px);
}
[data-skin="aurora"] .wd-toolcard__icon {
  display: flex; align-items: center; justify-content: center;
  padding: 18px 0 8px; color: var(--ax-terra);
}
[data-skin="aurora"] .wd-toolcard__icon svg { width: 26px; height: 26px; }
[data-skin="aurora"] .wd-toolcard__name {
  text-align: center; font-size: 13.5px; font-weight: 600; color: var(--ax-ink); padding: 0 10px 12px;
}
[data-skin="aurora"] .wd-toolcard__foot {
  display: flex; align-items: center; gap: 6px;
  padding: 8px 10px; border-top: 1px solid var(--line); background: var(--surface-2);
}
[data-skin="aurora"] .wd-pill {
  flex: 1; height: 26px; border-radius: var(--radius-pill);
  border: 1px solid var(--line-strong); background: var(--surface);
  color: var(--text-2); font-size: 12px; cursor: pointer;
  transition: all var(--dur) var(--ease);
}
[data-skin="aurora"] .wd-pill.is-on {
  border-color: color-mix(in srgb, var(--ax-sage) 30%, transparent);
  background: color-mix(in srgb, var(--ax-sage) 12%, var(--surface));
  color: var(--ax-sage); font-weight: 600;
}
[data-skin="aurora"] .wd-pill:hover { border-color: var(--brand-line); color: var(--ax-terra); }
[data-skin="aurora"] .wd-more {
  width: 28px; height: 26px; flex: none; border-radius: var(--radius-sm);
  border: 0; background: transparent; color: var(--text-3); cursor: pointer; font-size: 15px; line-height: 1;
}
[data-skin="aurora"] .wd-more:hover { background: var(--ax-peach); color: var(--ax-terra); }
[data-skin="aurora"] .wd-tools__foot {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 12px; border-top: 1px solid var(--line);
  font-size: 13px; color: var(--text-2);
}

/* ---- 工具全页面 ---- */
[data-skin="aurora"] .wd-crumb {
  display: flex; align-items: center; gap: 8px;
  font-size: 12.5px; color: var(--text-3); margin-bottom: 10px;
}
[data-skin="aurora"] .wd-crumb a { color: var(--text-2); cursor: pointer; text-decoration: none; }
[data-skin="aurora"] .wd-crumb a:hover { color: var(--ax-terra); }
[data-skin="aurora"] .wd-crumb__sep { color: var(--line-strong); }
[data-skin="aurora"] .wd-crumb__cur { color: var(--text-2); }
[data-skin="aurora"] .wd-tool__hd {
  display: flex; align-items: center; gap: 12px; margin-bottom: 16px;
}
[data-skin="aurora"] .wd-tool__icon { display: inline-flex; color: var(--ax-terra); }
[data-skin="aurora"] .wd-tool__icon svg { width: 26px; height: 26px; }
[data-skin="aurora"] .wd-tool__title {
  margin: 0; font-family: var(--font-serif); font-size: 28px; font-weight: 700; color: var(--ax-ink);
}
[data-skin="aurora"] .wd-tool__hd .wd-btn--ghost { margin-left: auto; }
[data-skin="aurora"] .wd-tool__stage { display: flex; flex-direction: column; }
[data-skin="aurora"] .wd-tool__stage > .card {
  box-shadow: var(--shadow-1); overflow: visible;
}
/* 卡片回退型工具页：模块原按 ~500px 设计，直接拉满 1288px 会比例失真
   （典型：日历 aspect-ratio:1/1 的日期格变成巨大方块）。给一个阅读宽度上限并居中。 */
/* 画布上的卡片带 JS 写入的内联 width/height（来自模块 defaults），
   内联样式优先级高于表格样式 —— 必须 !important 才能在工具页里撑满容器。 */
[data-skin="aurora"] .wd-tool__stage > .card.wd-pagecard {
  width: 100% !important; max-width: 960px; margin: 0 auto;
  height: auto !important; min-height: 0;
  position: static !important; left: auto !important; top: auto !important;
}
/* 日期格不再按宽度等比放大，固定为舒适高度 */
[data-skin="aurora"] .wd-tool__stage .cal-day { aspect-ratio: auto; min-height: 42px; }
[data-skin="aurora"] .wd-tool__stage .cal-grid { gap: 2px; }
[data-skin="aurora"] .wd-tool__stage > .card > .card__body { flex: 1 1 auto; padding: 16px 20px 20px; }
[data-skin="aurora"] .wd-tool__stage .card__bar { padding: 16px 20px 4px; cursor: default; }
[data-skin="aurora"] .wd-tool__stage .rz { display: none; }
[data-skin="aurora"] .wd-tool__stage .card__title { font-size: 17px; }
/* 工具页已用面包屑+大标题表达工具名，卡片内标题栏重复 → 只保留右侧操作按钮，做成工具条 */
[data-skin="aurora"] .wd-tool__stage > .card > .card__bar .card__icon,
[data-skin="aurora"] .wd-tool__stage > .card > .card__bar .card__title { display: none; }
[data-skin="aurora"] .wd-tool__stage > .card > .card__bar {
  padding: 8px 16px; border-bottom: 1px solid var(--line); justify-content: flex-end;
}
[data-skin="aurora"] .wd-tool__stage > .card > .card__bar .card__tools { opacity: 1; }

/* 通用小按钮 */
[data-skin="aurora"] .wd-btn {
  height: 34px; padding: 0 16px; border-radius: var(--radius-pill);
  border: 1px solid transparent; background: var(--ax-terra); color: #fff;
  font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px;
}
[data-skin="aurora"] .wd-btn:hover { background: var(--ax-terra-dark); }
[data-skin="aurora"] .wd-btn--ghost {
  background: transparent; border-color: var(--line-strong); color: var(--text-2); font-weight: 500;
}
[data-skin="aurora"] .wd-btn--ghost:hover { background: var(--ax-peach); color: var(--ax-terra); border-color: var(--brand-line); }

/* 顶栏「全部工具」入口（旧；保留兼容，不再使用） */
[data-skin="aurora"] .wd-topbtn { display: inline-flex; align-items: center; gap: 6px; }

/* ---- 首页分页器（顶栏 + 底部，替代旧「全部工具」入口） ---- */
[data-skin="aurora"] .wd-pager {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--text-2);
}
/* 顶栏分页器：默认隐藏，仅首页（.wd-on-home）显示 */
[data-skin="aurora"] .wd-pager--top { display: none; }
[data-skin="aurora"] .canvas-wrap.wd-on-home .wd-pager--top {
  display: inline-flex; align-items: center; gap: 8px;
}
[data-skin="aurora"] .wd-pager__btn {
  min-width: 34px; height: 30px; padding: 0 10px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--line-strong); border-radius: var(--radius-pill);
  background: var(--surface); color: var(--ax-terra);
  font-size: 16px; line-height: 1; cursor: pointer;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
[data-skin="aurora"] .wd-pager__btn:hover:not(.is-disabled) {
  background: var(--ax-peach); border-color: var(--brand-line);
}
[data-skin="aurora"] .wd-pager__btn.is-disabled {
  opacity: .38; cursor: not-allowed; color: var(--text-3); pointer-events: none;
}
[data-skin="aurora"] .wd-pager__status { white-space: nowrap; }
[data-skin="aurora"] .wd-pager__status b { color: var(--ax-ink); font-weight: 700; }
/* 单页（工具数 ≤ 每页上限）时整体隐藏分页器，保持单屏整洁 */
[data-skin="aurora"] .wd-pager.is-hidden { display: none !important; }
/* 首页底部分页器：居中、与卡片网格留间距 */
[data-skin="aurora"] .wd-home__pager {
  flex: none; display: flex; justify-content: center; margin-top: 14px;
}
/* 工具页面包屑里的「全部工具」改为静态文案 */
[data-skin="aurora"] .wd-crumb__static { color: var(--text-3); }

@media (max-width: 760px) {
  [data-skin="aurora"] .wd-pager--top { gap: 6px; }
  [data-skin="aurora"] .wd-pager__status { font-size: 12px; }
  [data-skin="aurora"] .wd-pager__btn { height: 28px; min-width: 30px; padding: 0 8px; font-size: 15px; }
  [data-skin="aurora"] .wd-home__pager { margin-top: 12px; }
}

@media (max-width: 760px) {
  [data-skin="aurora"] .wd-tools__panel { padding: 20px 14px 14px; border-radius: var(--radius-lg); }
  [data-skin="aurora"] .wd-tools__title { font-size: 21px; }
  [data-skin="aurora"] .wd-cat__grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); }
  [data-skin="aurora"] .wd-tool__title { font-size: 22px; }
}

/* ============================================================================
 * 9.15 工具全页面 · 家庭收支管理（对齐设计稿 IMG_3697）
 * 仅 [data-skin="aurora"] 生效；模块内部类名（hh-*）只在暖日晨光的工具页里被重排。
 * ========================================================================== */

/* ---- 统计卡行 ---- */
[data-skin="aurora"] .hh-pgk-row {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 14px; margin-bottom: 16px;
}
[data-skin="aurora"] .hh-pgk {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 20px; border-radius: var(--radius-lg);
  border: 1px solid var(--line); background: var(--surface);
  box-shadow: var(--shadow-1);
}
[data-skin="aurora"] .hh-pgk__ic {
  width: 46px; height: 46px; flex: none; border-radius: var(--radius-pill);
  display: inline-flex; align-items: center; justify-content: center;
}
[data-skin="aurora"] .hh-pgk__ic svg { width: 22px; height: 22px; }
[data-skin="aurora"] .hh-pgk__k { font-size: 12.5px; color: var(--text-2); }
[data-skin="aurora"] .hh-pgk__v {
  font-family: var(--font-serif); font-size: 23px; font-weight: 700;
  color: var(--ax-ink); line-height: 1.25; margin-top: 2px;
}
[data-skin="aurora"] .hh-pgk__s { font-size: 11.5px; color: var(--text-3); margin-top: 3px; }

[data-skin="aurora"] .hh-pgk--in  .hh-pgk__ic { background: color-mix(in srgb, var(--ax-sage) 16%, var(--surface));  color: var(--ax-sage); }
[data-skin="aurora"] .hh-pgk--out .hh-pgk__ic { background: color-mix(in srgb, var(--ax-terra) 14%, var(--surface)); color: var(--ax-terra); }
[data-skin="aurora"] .hh-pgk--net .hh-pgk__ic { background: color-mix(in srgb, var(--ax-blue) 14%, var(--surface));  color: var(--ax-blue); }
[data-skin="aurora"] .hh-pgk--rec .hh-pgk__ic { background: color-mix(in srgb, var(--ax-amber) 16%, var(--surface)); color: var(--ax-amber); }

/* ---- 操作条 ---- */
[data-skin="aurora"] .hh-pg-acts {
  display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin-bottom: 16px;
}
[data-skin="aurora"] .hh-pg-acts .hh-btn {
  height: 38px; padding: 0 18px; border-radius: var(--radius-pill);
  border: 1px solid var(--line-strong); background: var(--surface);
  color: var(--text-2); font-size: 13.5px; font-weight: 500; cursor: pointer;
}
[data-skin="aurora"] .hh-pg-acts .hh-btn:hover { border-color: var(--brand-line); color: var(--ax-terra); }
[data-skin="aurora"] .hh-pg-acts .hh-btn--primary {
  background: var(--ax-terra); border-color: var(--ax-terra); color: #fff; font-weight: 600;
  box-shadow: 0 2px 10px rgba(196, 99, 63, .22);
}
[data-skin="aurora"] .hh-pg-acts .hh-btn--primary:hover { background: var(--ax-terra-dark); border-color: var(--ax-terra-dark); color: #fff; }
/* 次要操作（导出全年/往来明细/刷新）弱化，避免抢主按钮视线 */
[data-skin="aurora"] .hh-pg-acts__x { color: var(--text-3); border-style: dashed; }

/* ---- 流水区 + 筛选 ---- */
[data-skin="aurora"] .hh-sec--list {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-1);
  padding: 6px 18px 14px;
}
[data-skin="aurora"] .hh-pg-filters {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end;
  padding: 14px 0 16px; border-bottom: 1px solid var(--line);
}
/* 作者样式的 display 会盖过 UA 的 [hidden]{display:none}，必须显式让位 */
[data-skin="aurora"] .hh-pg-filters[hidden] { display: none !important; }
[data-skin="aurora"] .hh-pg-filters .hh-f { display: flex; flex-direction: column; gap: 5px; }
[data-skin="aurora"] .hh-pg-filters label { font-size: 11.5px; color: var(--text-3); }
[data-skin="aurora"] .hh-pg-filters .hh-in-b {
  height: 36px; padding: 0 12px; border-radius: var(--radius-sm);
  border: 1px solid var(--line); background: var(--surface); color: var(--ax-ink); font-size: 13px;
}
[data-skin="aurora"] .hh-pg-filters .hh-btn--primary {
  height: 36px; padding: 0 18px; border-radius: var(--radius-pill);
  background: var(--ax-terra); border: 0; color: #fff; font-weight: 600; cursor: pointer;
}

/* ---- 数据表（设计稿样式） ---- */
[data-skin="aurora"] .hh-ptb { width: 100%; border-collapse: separate; border-spacing: 0; }
[data-skin="aurora"] .hh-ptb thead th {
  text-align: left; font-size: 12.5px; font-weight: 600; color: var(--text-2);
  padding: 14px 12px; border-bottom: 1px solid var(--line); white-space: nowrap;
}
[data-skin="aurora"] .hh-ptb thead th.num { text-align: right; }
[data-skin="aurora"] .hh-ptb thead th.ops { text-align: right; }
[data-skin="aurora"] .hh-ptb tbody td {
  padding: 14px 12px; border-bottom: 1px solid var(--line);
  font-size: 13.5px; color: var(--ax-ink); vertical-align: middle;
}
[data-skin="aurora"] .hh-ptb tbody tr:last-child td { border-bottom: 0; }
[data-skin="aurora"] .hh-ptb tbody tr:hover { background: var(--surface-2); }
[data-skin="aurora"] .hh-ptb td.num { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
[data-skin="aurora"] .hh-ptb td.ops { text-align: right; white-space: nowrap; }
[data-skin="aurora"] .hh-ptb__p { font-weight: 600; color: var(--ax-ink); }
[data-skin="aurora"] .hh-ptb__l { font-size: 11.5px; color: var(--text-3); margin-top: 2px; }
[data-skin="aurora"] .hh-ptb__d { color: var(--text-2); font-variant-numeric: tabular-nums; }
[data-skin="aurora"] .hh-ptb__chip {
  display: inline-block; padding: 3px 10px; border-radius: var(--radius-xs);
  background: color-mix(in srgb, var(--ax-blue) 12%, var(--surface));
  color: var(--ax-blue); font-size: 12px;
}
[data-skin="aurora"] .hh-ptb__chip--mute { background: var(--surface-3); color: var(--text-3); }
[data-skin="aurora"] .hh-ptb__badge {
  display: inline-block; padding: 3px 10px; border-radius: var(--radius-pill); font-size: 12px;
}
[data-skin="aurora"] .hh-ptb__badge--in  { background: color-mix(in srgb, var(--ax-sage) 16%, var(--surface));  color: var(--ax-sage); }
[data-skin="aurora"] .hh-ptb__badge--out { background: color-mix(in srgb, var(--ax-terra) 14%, var(--surface)); color: var(--ax-terra); }
[data-skin="aurora"] .hh-ptb__badge--xf  { background: var(--surface-3); color: var(--text-2); }
[data-skin="aurora"] .hh-ptb__badge--adv { background: color-mix(in srgb, var(--ax-amber) 18%, var(--surface)); color: var(--ax-amber); }
[data-skin="aurora"] .hh-lnk {
  border: 0; background: transparent; cursor: pointer; font-size: 13px;
  color: var(--ax-blue); padding: 2px 6px; border-radius: var(--radius-xs);
}
[data-skin="aurora"] .hh-lnk:hover { background: var(--surface-3); }
[data-skin="aurora"] .hh-lnk--danger { color: var(--ax-terra); }
[data-skin="aurora"] .hh-pg-empty {
  padding: 46px 20px; text-align: center; font-size: 13.5px; color: var(--text-3);
}

/* ---- 分页 ---- */
[data-skin="aurora"] .hh-pager--page {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 0 4px; font-size: 12.5px; color: var(--text-3);
}
[data-skin="aurora"] .hh-ptb__cnt { color: var(--text-2); }
[data-skin="aurora"] .hh-ptb__size {
  padding: 3px 10px; border: 1px solid var(--line); border-radius: var(--radius-xs); color: var(--text-2);
}
[data-skin="aurora"] .hh-ptb__pgs { margin-left: auto; display: flex; gap: 6px; }
[data-skin="aurora"] .hh-pgbtn {
  min-width: 30px; height: 30px; padding: 0 8px; border-radius: var(--radius-xs);
  border: 1px solid var(--line); background: var(--surface); color: var(--text-2);
  font-size: 13px; cursor: pointer;
}
[data-skin="aurora"] .hh-pgbtn:hover:not(:disabled) { border-color: var(--brand-line); color: var(--ax-terra); }
[data-skin="aurora"] .hh-pgbtn.is-on { background: var(--ax-terra); border-color: var(--ax-terra); color: #fff; font-weight: 600; }
[data-skin="aurora"] .hh-pgbtn:disabled { opacity: .45; cursor: not-allowed; }

/* ---- 更多功能（折叠） ---- */
[data-skin="aurora"] .hh-pg-more {
  margin-top: 18px; border: 1px solid var(--line); border-radius: var(--radius-lg);
  background: var(--surface); box-shadow: var(--shadow-1); overflow: hidden;
}
[data-skin="aurora"] .hh-pg-more > summary {
  padding: 16px 20px; cursor: pointer; font-size: 14px; font-weight: 600; color: var(--ax-ink);
  list-style: none; display: flex; align-items: center; gap: 8px;
}
[data-skin="aurora"] .hh-pg-more > summary::-webkit-details-marker { display: none; }
[data-skin="aurora"] .hh-pg-more > summary::before {
  content: "▸"; color: var(--ax-terra); transition: transform var(--dur) var(--ease);
}
[data-skin="aurora"] .hh-pg-more[open] > summary::before { transform: rotate(90deg); }
[data-skin="aurora"] .hh-pg-more > summary:hover { background: var(--surface-2); }
[data-skin="aurora"] .hh-pg-more__bd { padding: 4px 20px 20px; border-top: 1px solid var(--line); }
/*
 * 说明：这里刻意【不】给 .hh-tb / .hh-in-b / .hh-btn 等模块原有类加样式，
 * 因为它们在侧边栏「家庭收支管理」卡片的快捷记账区里也会用到；
 * 全页面只用新增的 hh-pgk* / hh-ptb* / hh-pg* 类，避免影响卡片视图。
 */

/* 移动端：表格横向滚动，统计卡单列 */
@media (max-width: 760px) {
  [data-skin="aurora"] .hh-pg-acts { justify-content: stretch; }
  [data-skin="aurora"] .hh-pg-acts .hh-btn { flex: 1 1 45%; }
  [data-skin="aurora"] .hh-sec--list { padding: 4px 12px 12px; }
  [data-skin="aurora"] .hh-ptb { min-width: 560px; }
  [data-skin="aurora"] .hh-sec--list [data-hh="list"] { overflow-x: auto; }
  [data-skin="aurora"] .hh-pger--page, [data-skin="aurora"] .hh-pager--page { flex-wrap: wrap; }
  [data-skin="aurora"] .hh-ptb__pgs { margin-left: 0; }
}

/* ============================================================================
 * 9.16 通用工具页组件（.tp-*）+ 模块弹窗内联化（.qual-dlg--inline 等）
 * ----------------------------------------------------------------------------
 *  · .tp-* 是可供所有重写工具复用的页面级组件（统计卡 / 操作条 / 数据表 / 分页）。
 *  · *--inline 规则把模块原有的「完整视图弹窗」压平成页面内容，
 *    复用模块既有的工具条、表格、批量操作、增删改查逻辑，零业务改写。
 *  · 仅 [data-skin="aurora"] 生效。
 * ========================================================================== */

/* ---- 弹窗内联化：去掉遮罩与浮动，铺满工具页 ---- */
/* ---- 通用内联：把任意模块的自建遮罩压平成工具页内容（配合 warmday 的同步拦截） ---- */
[data-skin="aurora"] .tp-inline {
  position: static !important; inset: auto !important;
  top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
  background: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  padding: 0 !important; margin: 0 !important;
  display: block !important; z-index: auto !important;
  width: auto !important; height: auto !important;
  max-width: none !important; max-height: none !important;
  overflow: visible !important;
}
/* dlg 型：结构是「遮罩 > 面板」，所以卡片样式打在【子元素】上 */
[data-skin="aurora"] .tp-inline--dlg > * {
  /* 面板自带的 inline position:fixed;inset:0 必须一并清掉，
     否则它会相对【视口】伸展（实测 iframe 撑到 1590px，溢出容器 302px）。 */
  position: static !important; inset: auto !important;
  top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
  width: 100% !important; max-width: none !important;
  height: auto !important; max-height: none !important;
  min-height: 200px;
  margin: 0 !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-1) !important;
  background: var(--surface) !important;
  overflow: visible !important;
  display: flex !important; flex-direction: column !important;
}
/* full 型：结构是「整屏面板」本身，卡片样式打在【元素自己】上，
   它的 header / body 保持模块原有布局，绝不再各自套卡片（否则会被拆成两块白卡） */
[data-skin="aurora"] .tp-inline--full {
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-1) !important;
  background: var(--surface) !important;
  min-height: 420px;
  height: auto !important; max-height: none !important;
  overflow: visible !important;
}
[data-skin="aurora"] .tp-inline--full > * {
  border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  background: transparent !important;
  width: auto !important; max-width: none !important;
  margin: 0 !important;
}
[data-skin="aurora"] .tp-inline--dlg > * > [class*="__b"],
[data-skin="aurora"] .tp-inline--dlg > * > [class*="__body"] {
  overflow: visible !important; max-height: none !important; flex: 1 1 auto; min-height: 0;
}
[data-skin="aurora"] .tp-inline--dlg > * > [class*="__f"],
[data-skin="aurora"] .tp-inline--dlg > * > [class*="__foot"] {
  order: -1; border-top: 0 !important; border-bottom: 1px solid var(--line) !important;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
  background: var(--surface) !important; padding: 12px 18px !important; gap: 8px !important;
  justify-content: flex-end;
}

[data-skin="aurora"] .tp-inline .btn {
  border-radius: var(--radius-pill) !important;
  border: 1px solid var(--line-strong) !important;
  background: var(--surface) !important; color: var(--text-2) !important; font-weight: 500;
}
[data-skin="aurora"] .tp-inline .btn:hover { border-color: var(--brand-line) !important; color: var(--ax-terra) !important; }
[data-skin="aurora"] .tp-inline .btn--primary {
  background: var(--ax-terra) !important; border-color: var(--ax-terra) !important; color: #fff !important; font-weight: 600;
}
/* 遮罩层/关闭按钮在页面里没有意义 */
[data-skin="aurora"] .tp-inline [data-x],
[data-skin="aurora"] .tp-inline [class*="__x"],
[data-skin="aurora"] .tp-inline [class*="-close"] { display: none !important; }

[data-skin="aurora"] .instr-dlg--inline {
  position: static; inset: auto; background: none; backdrop-filter: none;
  padding: 0; display: block; z-index: auto;
}
[data-skin="aurora"] .instr-dlg--inline > .instr-dlg__p {
  width: 100%; max-width: none; height: auto; max-height: none;
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1); background: var(--surface); margin: 0;
  display: flex; flex-direction: column;
}
[data-skin="aurora"] .instr-dlg--inline .instr-dlg__b { overflow: visible; max-height: none; min-height: 200px; }
[data-skin="aurora"] .instr-dlg--inline .instr-dlg__f {
  order: -1; border-top: 0; border-bottom: 1px solid var(--line);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background: var(--surface); justify-content: flex-end; padding: 12px 18px; gap: 8px;
}
[data-skin="aurora"] .instr-dlg--inline .btn {
  border-radius: var(--radius-pill); border: 1px solid var(--line-strong);
  background: var(--surface); color: var(--text-2); font-weight: 500;
}
[data-skin="aurora"] .instr-dlg--inline .btn:hover { border-color: var(--brand-line); color: var(--ax-terra); }
[data-skin="aurora"] .instr-dlg--inline .btn--primary {
  background: var(--ax-terra); border-color: var(--ax-terra); color: #fff; font-weight: 600;
}
[data-skin="aurora"] .qual-dlg--inline {
  position: static; inset: auto; background: none; backdrop-filter: none;
  padding: 0; display: block; z-index: auto;
}
[data-skin="aurora"] .qual-dlg--inline > .qual-dlg__p {
  width: 100%; max-width: none; height: auto; max-height: none;
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1); background: var(--surface); margin: 0;
}
[data-skin="aurora"] .qual-dlg--inline .qual-dlg__b { overflow: visible; max-height: none; }
[data-skin="aurora"] .qual-dlg--inline > .qual-dlg__p {
  display: flex; flex-direction: column;
}
/* 设计稿把操作条放在表格上方：用 flex order 把 footer 提到 body 之前 */
[data-skin="aurora"] .qual-dlg--inline .qual-dlg__f {
  order: -1;
  border-top: 0; border-bottom: 1px solid var(--line);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background: var(--surface);
  justify-content: flex-end;
}
[data-skin="aurora"] .qual-dlg--inline .qual-dlg__f > .qual-hint:first-child { margin-right: auto; }
[data-skin="aurora"] .qual-dlg--inline .qual-dlg__b { min-height: 200px; }

/* ---- 通用工具页组件 ---- */
[data-skin="aurora"] .tp-kpis {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
  gap: 14px; margin-bottom: 16px;
}
[data-skin="aurora"] .tp-kpi {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 20px; border-radius: var(--radius-lg);
  border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow-1);
}
[data-skin="aurora"] .tp-kpi__ic {
  width: 46px; height: 46px; flex: none; border-radius: var(--radius-pill);
  display: inline-flex; align-items: center; justify-content: center;
}
[data-skin="aurora"] .tp-kpi__ic svg { width: 22px; height: 22px; }
[data-skin="aurora"] .tp-kpi__k { font-size: 12.5px; color: var(--text-2); }
[data-skin="aurora"] .tp-kpi__v {
  font-family: var(--font-serif); font-size: 23px; font-weight: 700;
  color: var(--ax-ink); line-height: 1.25; margin-top: 2px;
}
[data-skin="aurora"] .tp-kpi__s { font-size: 11.5px; color: var(--text-3); margin-top: 3px; }
[data-skin="aurora"] .tp-kpi--ok   .tp-kpi__ic { background: color-mix(in srgb, var(--ax-sage) 16%, var(--surface));  color: var(--ax-sage); }
[data-skin="aurora"] .tp-kpi--warn .tp-kpi__ic { background: color-mix(in srgb, var(--ax-amber) 18%, var(--surface)); color: var(--ax-amber); }
[data-skin="aurora"] .tp-kpi--bad  .tp-kpi__ic { background: color-mix(in srgb, var(--ax-terra) 14%, var(--surface)); color: var(--ax-terra); }
[data-skin="aurora"] .tp-kpi--info .tp-kpi__ic { background: color-mix(in srgb, var(--ax-blue) 14%, var(--surface));  color: var(--ax-blue); }

[data-skin="aurora"] .tp-acts { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin-bottom: 16px; }
[data-skin="aurora"] .tp-btn {
  height: 38px; padding: 0 18px; border-radius: var(--radius-pill);
  border: 1px solid var(--line-strong); background: var(--surface);
  color: var(--text-2); font-size: 13.5px; font-weight: 500; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
}
[data-skin="aurora"] .tp-btn:hover { border-color: var(--brand-line); color: var(--ax-terra); }
[data-skin="aurora"] .tp-btn--primary {
  background: var(--ax-terra); border-color: var(--ax-terra); color: #fff; font-weight: 600;
  box-shadow: 0 2px 10px rgba(196, 99, 63, .22);
}
[data-skin="aurora"] .tp-btn--primary:hover { background: var(--ax-terra-dark); border-color: var(--ax-terra-dark); color: #fff; }
[data-skin="aurora"] .tp-btn[disabled] { opacity: .45; cursor: not-allowed; }

[data-skin="aurora"] .tp-card {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-1);
  padding: 6px 18px 14px;
}
[data-skin="aurora"] .tp-table { width: 100%; border-collapse: separate; border-spacing: 0; }
[data-skin="aurora"] .tp-table thead th {
  text-align: left; font-size: 12.5px; font-weight: 600; color: var(--text-2);
  padding: 14px 12px; border-bottom: 1px solid var(--line); white-space: nowrap;
}
[data-skin="aurora"] .tp-table tbody td {
  padding: 13px 12px; border-bottom: 1px solid var(--line);
  font-size: 13.5px; color: var(--ax-ink); vertical-align: middle;
}
[data-skin="aurora"] .tp-table tbody tr:last-child td { border-bottom: 0; }
[data-skin="aurora"] .tp-table tbody tr:hover { background: var(--surface-2); }
[data-skin="aurora"] .tp-empty { padding: 46px 20px; text-align: center; font-size: 13.5px; color: var(--text-3); }
[data-skin="aurora"] .tp-pager {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 0 4px; font-size: 12.5px; color: var(--text-3);
}
[data-skin="aurora"] .tp-more {
  margin-top: 18px; border: 1px solid var(--line); border-radius: var(--radius-lg);
  background: var(--surface); box-shadow: var(--shadow-1); overflow: hidden;
}
[data-skin="aurora"] .tp-more > summary {
  padding: 16px 20px; cursor: pointer; font-size: 14px; font-weight: 600; color: var(--ax-ink);
  list-style: none; display: flex; align-items: center; gap: 8px;
}
[data-skin="aurora"] .tp-more > summary::-webkit-details-marker { display: none; }
[data-skin="aurora"] .tp-more > summary::before { content: "▸"; color: var(--ax-terra); transition: transform var(--dur) var(--ease); }
[data-skin="aurora"] .tp-more[open] > summary::before { transform: rotate(90deg); }
[data-skin="aurora"] .tp-more > summary:hover { background: var(--surface-2); }
[data-skin="aurora"] .tp-more__bd { padding: 4px 20px 20px; border-top: 1px solid var(--line); }

/* 内联后的模块工具条：圆角按钮与暖色，不改结构只换皮 */
[data-skin="aurora"] .qual-dlg--inline .btn {
  border-radius: var(--radius-pill); border: 1px solid var(--line-strong);
  background: var(--surface); color: var(--text-2); font-weight: 500;
}
[data-skin="aurora"] .qual-dlg--inline .btn:hover { border-color: var(--brand-line); color: var(--ax-terra); }
[data-skin="aurora"] .qual-dlg--inline .btn--primary {
  background: var(--ax-terra); border-color: var(--ax-terra); color: #fff; font-weight: 600;
}
[data-skin="aurora"] .qual-dlg--inline .qual-dlg__f { gap: 8px; padding: 12px 18px; }

@media (max-width: 760px) {
  [data-skin="aurora"] .tp-acts { justify-content: stretch; }
  [data-skin="aurora"] .tp-acts .tp-btn { flex: 1 1 45%; }
  [data-skin="aurora"] .tp-card { padding: 4px 12px 12px; overflow-x: auto; }
  [data-skin="aurora"] .tp-table { min-width: 560px; }
}

/* ============================================================================
 * 9.17 工具全页面 · 日历（真正的页面级重排，非卡片拉宽）
 * 仅 [data-skin="aurora"] 生效；卡片视图不受影响。
 * ========================================================================== */
[data-skin="aurora"] .cpg-page {
  display: grid; grid-template-columns: 268px minmax(0, 1fr); gap: 18px; align-items: start;
}
[data-skin="aurora"] .cpg-side,
[data-skin="aurora"] .cpg-main {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-1);
}
[data-skin="aurora"] .cpg-side { padding: 22px 20px; display: flex; flex-direction: column; gap: 10px; }

[data-skin="aurora"] .cpg-clock {
  font-family: var(--font-serif); font-size: 46px; font-weight: 700; line-height: 1.1;
  letter-spacing: .02em; color: var(--ax-ink); font-variant-numeric: tabular-nums;
}
[data-skin="aurora"] .cpg-date {
  font-size: 12.5px; color: var(--text-3); display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline;
}
[data-skin="aurora"] .cpg-lunar { color: var(--ax-sage); }
[data-skin="aurora"] .cpg-city {
  align-self: flex-start; margin-top: 2px; padding: 5px 12px;
  border: 1px solid var(--line); border-radius: var(--radius-pill);
  background: var(--surface-2); color: var(--text-2); font-size: 12.5px; cursor: pointer;
  transition: all var(--dur) var(--ease);
}
[data-skin="aurora"] .cpg-city:hover { border-color: var(--brand-line); color: var(--ax-terra); background: var(--ax-peach); }

[data-skin="aurora"] .cpg-forecast { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
[data-skin="aurora"] .cpg-fc {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border-radius: var(--radius-md); background: var(--surface-2);
}
[data-skin="aurora"] .cpg-fc--empty { color: var(--text-3); font-size: 12.5px; justify-content: center; }
[data-skin="aurora"] .cpg-fc__ic { font-size: 20px; line-height: 1; flex: none; }
[data-skin="aurora"] .cpg-fc__tx { display: flex; flex-direction: column; flex: 1; min-width: 0; }
[data-skin="aurora"] .cpg-fc__lb { font-size: 12.5px; font-weight: 600; color: var(--ax-ink); }
[data-skin="aurora"] .cpg-fc__ds { font-size: 11px; color: var(--text-3); }
[data-skin="aurora"] .cpg-fc__tp { font-size: 12.5px; color: var(--text-2); font-variant-numeric: tabular-nums; flex: none; }

[data-skin="aurora"] .cpg-main { padding: 16px 20px 14px; }
[data-skin="aurora"] .cpg-head {
  display: flex; align-items: center; gap: 12px; margin-bottom: 12px;
}
[data-skin="aurora"] .cpg-title {
  flex: 1; margin: 0; font-family: var(--font-serif); font-size: 19px; font-weight: 700; color: var(--ax-ink);
}
[data-skin="aurora"] .cpg-navs { display: flex; gap: 6px; }
[data-skin="aurora"] .cpg-nav {
  min-width: 30px; height: 30px; padding: 0 10px; border-radius: var(--radius-pill);
  border: 1px solid var(--line); background: var(--surface); color: var(--text-2);
  font-size: 15px; line-height: 1; cursor: pointer; transition: all var(--dur) var(--ease);
}
[data-skin="aurora"] .cpg-nav--tx { font-size: 12.5px; }
[data-skin="aurora"] .cpg-nav:hover { border-color: var(--brand-line); color: var(--ax-terra); background: var(--ax-peach); }

[data-skin="aurora"] .cpg-grid {
  display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px;
}
[data-skin="aurora"] .cpg-wd {
  text-align: center; font-size: 12px; color: var(--text-3); padding: 6px 0 8px;
}
[data-skin="aurora"] .cpg-wd:nth-child(6),
[data-skin="aurora"] .cpg-wd:nth-child(7) { color: var(--ax-terra); }
[data-skin="aurora"] .cpg-day {
  min-height: 74px; padding: 8px 9px; border-radius: var(--radius-md);
  border: 1px solid transparent; background: var(--surface-2);
  display: flex; flex-direction: column; gap: 3px; align-items: flex-start;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
[data-skin="aurora"] .cpg-day:hover { background: var(--ax-peach); border-color: var(--brand-line); }
[data-skin="aurora"] .cpg-day__n {
  font-size: 14px; font-weight: 600; color: var(--ax-ink); font-variant-numeric: tabular-nums;
}
[data-skin="aurora"] .cpg-day .cal-day__sub,
[data-skin="aurora"] .cpg-day > span + * { font-size: 10.5px; color: var(--text-3); line-height: 1.45; }
[data-skin="aurora"] .cpg-day--out { background: transparent; }
[data-skin="aurora"] .cpg-day--out .cpg-day__n { color: var(--line-strong); font-weight: 500; }
[data-skin="aurora"] .cpg-day--we .cpg-day__n { color: var(--ax-terra); }
[data-skin="aurora"] .cpg-day--today {
  background: var(--ax-peach); border-color: var(--ax-terra);
}
[data-skin="aurora"] .cpg-day--today .cpg-day__n { color: var(--ax-terra); }
[data-skin="aurora"] .cpg-foot {
  margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line);
  font-size: 11.5px; color: var(--text-3);
}

@media (max-width: 1000px) {
  [data-skin="aurora"] .cpg-page { grid-template-columns: 1fr; }
  [data-skin="aurora"] .cpg-day { min-height: 58px; padding: 6px; }
}
@media (max-width: 640px) {
  [data-skin="aurora"] .cpg-day { min-height: 48px; }
  [data-skin="aurora"] .cpg-day > span + * { display: none; }
  [data-skin="aurora"] .cpg-clock { font-size: 34px; }
}

/* ============================================================================
 * 9.18 工具全页面 · 翻译工具（左右双栏重排）
 * 说明：translate 模块的 bind() 依赖 card .card__body .tr-* 结构，
 *       写 def.page 会切断事件绑定。因此保留卡片 DOM，只在工具页里用
 *       CSS 把它从「纵向堆叠」重排为「原文 | 译文」双栏 —— 表现层改动，零逻辑风险。
 * ========================================================================== */
[data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] { max-width: 1180px; }
[data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas:
    "lang lang"
    "src  dst"
    "tool tool"
    "msg  msg";
  gap: 14px 18px;
  height: auto; overflow: visible;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-lang-row { grid-area: lang; }
[data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-src {
  grid-area: src; min-height: 280px; resize: vertical;
  border-radius: var(--radius-md); line-height: 1.75; padding: 14px;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-out { grid-area: dst; }
[data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-dst {
  min-height: 252px; resize: vertical;
  border-radius: var(--radius-md); line-height: 1.75; padding: 14px;
  background: var(--surface-2);
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-out-label {
  font-size: 12px; font-weight: 600; color: var(--text-2);
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-toolbar {
  grid-area: tool; display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-msg { grid-area: msg; }
/* 模块为窄卡片把三个按钮设成等分拉伸；工具页里改为自然宽度的胶囊按钮 */
[data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-toolbar .btn {
  flex: 0 0 auto !important; width: auto !important; min-width: 116px; padding: 0 22px;
  height: 40px; font-size: 13.5px;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-do {
  background: var(--ax-terra); border-color: var(--ax-terra); color: #fff; font-weight: 600;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .btn {
  border-radius: var(--radius-pill);
}
@media (max-width: 900px) {
  [data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-wrap {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "lang" "src" "dst" "tool" "msg";
  }
  [data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-src { min-height: 160px; }
  [data-skin="aurora"] .wd-tool__stage > .card[data-module="translate"] .tr-dst { min-height: 140px; }
}

/* ============================================================================
 * 9.19 工具全页面 · 番茄时钟（左右分栏：计时区 | 历史区）
 * 同样只改表现层：模块的事件委托依赖 .pomo 内部结构，故保留 DOM 只重排布局。
 * ========================================================================== */
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] { max-width: 1010px; }
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo {
  display: grid;
  grid-template-columns: minmax(0, 350px) minmax(0, 1fr);
  grid-template-areas:
    "top  top"
    "ring hist"
    "btns hist"
    "stat hist"
    "set  set";
  gap: 12px 34px; align-items: start;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__top { grid-area: top; }

[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__ring {
  grid-area: ring; width: 224px; height: 224px; margin: 8px auto 0;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__ring svg { width: 224px; height: 224px; }
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__track { stroke-width: 7; }
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__arc { stroke-width: 7; }
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__arc { stroke: var(--ax-terra); }
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__arc.is-rest { stroke: var(--ax-sage); }
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__t {
  font-family: var(--font-serif); font-size: 40px; font-weight: 700; letter-spacing: .01em;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__mode { margin-top: 4px; }

[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__btns {
  grid-area: btns; display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 16px;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__btns .btn {
  border-radius: var(--radius-pill); min-width: 92px; height: 38px;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__stat {
  grid-area: stat; text-align: center; margin-top: 12px; font-size: 12.5px; color: var(--text-3);
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__set { grid-area: set; margin-top: 14px; }

/* 右栏：计时历史（左侧加一条分隔线，形成两栏） */
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__hist {
  grid-area: hist; margin-top: 0; padding-left: 34px;
  border-left: 1px solid var(--line); min-height: 300px;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__hist-h {
  font-size: 13.5px; font-weight: 600; color: var(--ax-ink); margin-bottom: 10px;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__hitem {
  padding: 9px 0; border-bottom: 1px solid var(--line);
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__hitem:last-child { border-bottom: 0; }
[data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__empty {
  padding: 40px 12px; text-align: center; color: var(--text-3); font-size: 13px;
}
@media (max-width: 860px) {
  [data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "top" "ring" "btns" "stat" "set" "hist";
  }
  [data-skin="aurora"] .wd-tool__stage > .card[data-module="todo"] .pomo__hist {
    padding-left: 0; border-left: 0; border-top: 1px solid var(--line); padding-top: 14px;
  }
}

/* reminderplus 的「高级页面」是 iframe 内嵌 reminder2.html 整站页面。
   压平面板高度后 iframe 的 height:100% 会失去参照而塌成 0 —— 必须显式给高度。 */
[data-skin="aurora"] .wd-tool__stage .tp-inline iframe,
[data-skin="aurora"] .wd-tool__stage .qual-dlg--inline iframe,
[data-skin="aurora"] .wd-tool__stage .instr-dlg--inline iframe {
  width: 100% !important; height: 760px !important; display: block !important; border: 0 !important;
}
@media (max-width: 900px) {
  [data-skin="aurora"] .wd-tool__stage .tp-inline iframe { height: 560px !important; }
}

/* ============================================================================
 * 9.20 工具全页面 · 演示实验室（lab）
 * lab 的卡片是内联硬编码蓝色（#2b6cff）的引导卡，与暖色主题不符。
 * 用 !important 覆盖内联样式，统一到「暖日晨光」主色。
 * ========================================================================== */
[data-skin="aurora"] .wd-tool__stage .card[data-module="lab"] button[data-act="open"] {
  background: var(--ax-terra) !important;
  border: 1px solid var(--ax-terra) !important;
  color: #fff !important;
  border-radius: var(--radius-pill) !important;
  padding: 11px 30px !important;
  font-size: 14px !important; font-weight: 600;
  box-shadow: 0 2px 12px rgba(196, 99, 63, .24);
  transition: all var(--dur) var(--ease);
}
[data-skin="aurora"] .wd-tool__stage .card[data-module="lab"] button[data-act="open"]:hover {
  background: var(--ax-terra-dark) !important; border-color: var(--ax-terra-dark) !important;
}
[data-skin="aurora"] .wd-tool__stage .card[data-module="lab"] .card__body > div > div:first-child {
  color: var(--ax-terra) !important;
}
[data-skin="aurora"] .wd-tool__stage .card[data-module="lab"] .card__body .icon {
  width: 52px !important; height: 52px !important; stroke-width: 1.6 !important;
}
/* 引导卡在整页里垂直居中并给出充裕留白 */
[data-skin="aurora"] .wd-tool__stage .card[data-module="lab"] .card__body {
  min-height: 380px; padding: 34px 20px !important;
}
[data-skin="aurora"] .wd-tool__stage .card[data-module="lab"] .card__body > div {
  gap: 14px !important;
}
[data-skin="aurora"] .wd-tool__stage .card[data-module="lab"] .card__body {
  color: var(--text-2);
}

/* ============================================================================
 * 9.21 工具全页面 · 演示实验室（lab）落地页
 * ========================================================================== */
[data-skin="aurora"] .labp {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: 14px; padding: 56px 24px 60px;
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-1);
}
[data-skin="aurora"] .labp__ic {
  width: 84px; height: 84px; border-radius: var(--radius-pill);
  display: inline-flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--ax-terra) 11%, var(--surface));
  color: var(--ax-terra); margin-bottom: 4px;
}
[data-skin="aurora"] .labp__ic svg { width: 42px; height: 42px; stroke-width: 1.5; }
[data-skin="aurora"] .labp__t {
  margin: 0; font-family: var(--font-serif); font-size: 26px; font-weight: 700; color: var(--ax-ink);
}
[data-skin="aurora"] .labp__d {
  margin: 0; max-width: 460px; font-size: 13.5px; line-height: 1.8; color: var(--text-2);
}
[data-skin="aurora"] .labp__chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 4px; }
[data-skin="aurora"] .labp__chip {
  padding: 6px 14px; border-radius: var(--radius-pill);
  background: var(--surface-2); border: 1px solid var(--line);
  font-size: 12.5px; color: var(--text-2);
}
[data-skin="aurora"] .labp__go {
  margin-top: 14px; padding: 13px 42px; border-radius: var(--radius-pill);
  border: 1px solid var(--ax-terra); background: var(--ax-terra); color: #fff;
  font-size: 14.5px; font-weight: 600; cursor: pointer;
  box-shadow: 0 3px 16px rgba(196, 99, 63, .26);
  transition: all var(--dur) var(--ease);
}
[data-skin="aurora"] .labp__go:hover { background: var(--ax-terra-dark); border-color: var(--ax-terra-dark); transform: translateY(-1px); }

/* ============================================================================
 * 9.22 工具全页面 · 文件中转站（filedrop）
 * bind 绑在 .card__body 上，故保留卡片 DOM，只重排布局。
 * ========================================================================== */
[data-skin="aurora"] .wd-tool__stage > .card[data-module="filedrop"] { max-width: 1000px; }
/* 上传行 → 大号虚线投放区 */
[data-skin="aurora"] .wd-tool__stage > .card[data-module="filedrop"] .note-new {
  display: flex !important; flex-direction: column; align-items: center; gap: 10px !important;
  padding: 30px 20px !important; margin-bottom: 12px !important;
  border: 1.5px dashed var(--brand-line); border-radius: var(--radius-lg);
  background: var(--ax-peach);
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="filedrop"] .note-new .btn {
  height: 42px; padding: 0 26px; border-radius: var(--radius-pill);
  font-size: 14px; font-weight: 600;
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="filedrop"] .note-new > span {
  flex: none !important; font-size: 12.5px;
}
/* 文件行 → 卡片化，网格排布 */
[data-skin="aurora"] .wd-tool__stage > .card[data-module="filedrop"] .row {
  padding: 13px 16px; border: 1px solid var(--line); border-radius: var(--radius-md);
  background: var(--surface-2); margin-bottom: 8px;
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="filedrop"] .row:hover {
  border-color: var(--brand-line); background: var(--ax-peach);
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="filedrop"] .row__ops .btn {
  border-radius: var(--radius-pill);
}
[data-skin="aurora"] .wd-tool__stage > .card[data-module="filedrop"] .empty {
  padding: 54px 20px; border: 1.5px dashed var(--line); border-radius: var(--radius-lg);
}

/* ============================================================================
 * 9. 找回皮肤：暖日简约（simple）—— 原「静蓝 · 暖白」（aurora）的最终版
 * ----------------------------------------------------------------------------
 *  · 该皮肤以 id=aurora 历经三次迭代：
 *      第 1 版 76 条  —— 仅换画布与卡片（侧边栏/顶栏未换肤）
 *      第 2 版 142 条 —— 补上侧边栏/顶栏/组件/深色模式
 *      最终版 295 条 —— 含「9.13 组件完整性补齐层」，为「暖日晨光」接管前的最后一版
 *  · 本次【找回的是最终版】：取自 /app/.warmday_bak_20261001_203532/css/skins.css
 *    （即「暖日晨光」动工前的完整备份），改挂到全新 id=simple，命名「暖日简约」。
 *  · 与「暖日晨光」的区别：本皮肤【不含】首页单屏 / 全部工具 / 工具全页面那套新 IA
 *    （该备份中 wd-* 类引用为 0），仍是传统工作台布局 + 完整换肤 + 深色模式。
 *  · 纯前端表现层，不改任何后端接口 / 数据库 / 业务逻辑；暖日晨光的 aurora 段落一行未动。
 * ========================================================================== */

/* ---------- 9.0 设计令牌（取色自设计稿） ---------- */
[data-skin="simple"] {
  --ax-cream:      #f7f4ef;   /* 暖白纸底 */
  --ax-cream-2:    #f2ede5;
  --ax-ink:        #3d3229;   /* 深暖褐 */
  --ax-terra:      #c4633f;   /* 陶土红 · 主操作 */
  --ax-terra-dark: #ab5330;
  --ax-peach:      #f7e7de;   /* 浅陶土 */
  --ax-peach-2:    #f2d9cb;
  --ax-sage:       #7a9e7e;   /* 鼠尾草绿 */
  --ax-amber:      #d9a441;   /* 琥珀 */
  --ax-blue:       #5b8db8;   /* 雾蓝 */
  --ax-line:       #efe9de;

  --font-serif: "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC",
                "SimSun", Georgia, "Times New Roman", serif;

  /* [2026-10-03 差异化] 暖日晨光是「渐变 + 光晕 + 角落植物插画」的手账感；
     暖日简约取同色系的【纯平底色】，无渐变、无光晕、无插画，走清单式极简。 */
  --bg:            #faf8f4;   /* 平涂暖白 */
  --bg-grid:       rgba(61, 50, 41, .03);

  --surface:       #ffffff;
  --surface-2:     #f7f6f3;
  --surface-3:     #f0eee9;
  --line:          #ebe8e2;
  --line-strong:   #dad5cb;
  --switch-off:    #cbbfae;

  --text:          #3d3229;
  --text-2:        #776d61;   /* [2026-10-03] 原 #8c8378 仅 3.40:1；加深至 4.62:1（纸底）/ 5.07:1（白底）达 AA */
  --text-3:        #8f8578;   /* [2026-10-03] 原 #b3a99c 仅 2.11:1；加深至 3.30:1 */

  --brand:         #c4633f;
  --brand-hover:   #ab5330;
  --brand-soft:    #f8e8df;
  --brand-line:    #efd5c6;
  --brand-2:       #d98a63;

  --ok:            #7a9e7e;  --ok-soft:     #eaf1ea;
  --warn:          #d9a441;  --warn-soft:   #fbf1dc;
  --danger:        #c0554a;  --danger-soft: #f8e6e3;

  --radius:        12px;
  --radius-sm:     8px;
  --radius-xs:     6px;
  --radius-md:     10px;
  --radius-lg:     14px;
  --radius-xl:     18px;
  --radius-pill:   999px;

  /* 极轻暖阴影：设计稿几乎看不到投影，只有一层空气感 */
  --shadow-1:      0 1px 2px rgba(61, 50, 41, .035), 0 6px 18px rgba(61, 50, 41, .045);
  --shadow-2:      0 2px 6px rgba(61, 50, 41, .05), 0 16px 40px rgba(61, 50, 41, .07);
  --shadow-pop:    0 12px 40px rgba(61, 50, 41, .14);

  --ease: cubic-bezier(.22, .61, .36, 1);
  --dur:  .22s;
  --icon-stroke: 1.7;

  /* 【2026-10-09】卡片统一高度：网格行高固定，卡片不再被某一张的长内容整行拉高
     （改版前同一行会被拉到 715 / 760px，一屏只能看到 1 行多）。
     参考「专业极简版」420px 的卡片尺度，本简约皮肤走更密的网格故略取小一档；
     只想调高度时改这一个值即可（宽屏 / 窄屏 / 深色全部同步）。 */
  --ax-card-h: 400px;
}

/* ---------- 9.1 页面底色 + 角落植物插画（内联 SVG，无需外部图片） ---------- */
[data-skin="simple"] body {
  background: var(--bg) fixed;
  color: var(--text);
}
[data-skin="simple"] .canvas-wrap {
  background-color: transparent;
  background-image:
    /* 左下：枝叶 */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 340' fill='none'%3E%3Cpath d='M10 338C64 286 108 214 150 118' stroke='%237a9e7e' stroke-width='2' stroke-linecap='round' opacity='.30'/%3E%3Cg fill='%237a9e7e' opacity='.22'%3E%3Cellipse cx='62' cy='284' rx='30' ry='12' transform='rotate(-42 62 284)'/%3E%3Cellipse cx='112' cy='238' rx='27' ry='11' transform='rotate(38 112 238)'/%3E%3Cellipse cx='122' cy='196' rx='26' ry='10' transform='rotate(-40 122 196)'/%3E%3Cellipse cx='162' cy='150' rx='23' ry='9' transform='rotate(36 162 150)'/%3E%3Cellipse cx='168' cy='112' rx='20' ry='8' transform='rotate(-38 168 112)'/%3E%3C/g%3E%3Cg fill='%23d9a441' opacity='.16'%3E%3Ccircle cx='196' cy='86' r='9'/%3E%3Ccircle cx='212' cy='108' r='6'/%3E%3C/g%3E%3C/svg%3E"),
    /* 右下：蕨叶 */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 320' fill='none'%3E%3Cpath d='M312 320C258 268 216 196 178 104' stroke='%237a9e7e' stroke-width='2' stroke-linecap='round' opacity='.26'/%3E%3Cg fill='%237a9e7e' opacity='.18'%3E%3Cellipse cx='256' cy='266' rx='30' ry='11' transform='rotate(42 256 266)'/%3E%3Cellipse cx='214' cy='222' rx='27' ry='10' transform='rotate(-38 214 222)'/%3E%3Cellipse cx='206' cy='180' rx='24' ry='9' transform='rotate(40 206 180)'/%3E%3Cellipse cx='176' cy='136' rx='21' ry='8' transform='rotate(-36 176 136)'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat, no-repeat;
  background-position: left bottom, right bottom;
  background-size: 300px 340px, 320px 320px;
  background-attachment: local, local;
}

/* ---------- 9.2 左侧导航：去掉分组标题，做成手账式导航 ---------- */
[data-skin="simple"] .sidebar {
  background: transparent;
  border-right: 1px solid rgba(61, 50, 41, .055);
  box-shadow: none;
  padding-top: 14px;
}
/* 设计稿里侧边栏是常驻的：宽屏下由 theme-aurora.js 默认展开（加 .is-open），
   并让出画布左边距；用户仍可用左上角汉堡按钮收起，收起时画布自动铺满。
   窄屏/移动端沿用原有的「悬停边缘滑出」行为，不挤压内容 */
@media (min-width: 1100px) {
  [data-skin="simple"] .sidebar.is-open ~ .canvas-wrap {
    padding-left: calc(var(--sidebar-w) + clamp(14px, 2.2vw, 32px));
    transition: padding-left .26s var(--ease);
  }
}
[data-skin="simple"] .side__title {
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-3); font-weight: 600;
  padding: 16px 18px 6px;
}
[data-skin="simple"] .side__link {
  display: flex; align-items: center; gap: 12px;
  margin: 2px 12px; padding: 10px 14px;
  border-radius: var(--radius-sm);
  color: var(--text-2); font-size: 14px; font-weight: 500;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
[data-skin="simple"] .side__link svg { color: #8a8474; transition: color var(--dur) var(--ease); }
[data-skin="simple"] .side__link:hover { background: rgba(196, 99, 63, .07); color: var(--ax-terra); }
[data-skin="simple"] .side__link:hover svg { color: var(--ax-terra); }
[data-skin="simple"] .side__link.is-active,
[data-skin="simple"] .side__link.is-on {
  background: var(--ax-peach);
  color: var(--ax-terra);
  font-weight: 600;
}
[data-skin="simple"] .side__link.is-active svg,
[data-skin="simple"] .side__link.is-on svg { color: var(--ax-terra); }
[data-skin="simple"] .side__user { border-top: 1px solid rgba(61, 50, 41, .06); }
[data-skin="simple"] .side__user-card {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-md); box-shadow: var(--shadow-1);
}

/* ---------- 9.3 顶栏：胶囊搜索 + 陶土主按钮 ---------- */
[data-skin="simple"] .topbar {
  background: rgba(250, 247, 241, .82);
  backdrop-filter: saturate(1.2) blur(10px);
  border-bottom: 1px solid rgba(61, 50, 41, .05);
}
[data-skin="simple"] .brand__text {
  font-family: var(--font-serif); font-size: 19px; font-weight: 700;
  color: var(--ax-terra); letter-spacing: .01em;
}
[data-skin="simple"] .brand__mark { color: var(--ax-terra); }
[data-skin="simple"] .search__box {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  box-shadow: none;
  height: 38px; padding: 0 14px;
}
[data-skin="simple"] .search__box:focus-within {
  border-color: var(--brand-line); background: var(--surface);
  box-shadow: 0 0 0 3px rgba(196, 99, 63, .10);
}
[data-skin="simple"] .search__input { color: var(--ax-ink); }
[data-skin="simple"] .search__kbd {
  border-color: var(--line); color: var(--text-3); border-radius: 6px;
}
[data-skin="simple"] .btn--ghost {
  background: transparent; border-color: transparent;
  color: var(--text-2); border-radius: var(--radius-sm);
}
[data-skin="simple"] .btn--ghost:hover { background: rgba(196, 99, 63, .09); color: var(--ax-terra); }
[data-skin="simple"] .btn--primary,
[data-skin="simple"] .btn-primary {
  background: var(--ax-terra); border-color: var(--ax-terra); color: #fff;
  border-radius: var(--radius-pill); font-weight: 600;
  box-shadow: 0 2px 10px rgba(196, 99, 63, .22);
}
[data-skin="simple"] .btn--primary:hover,
[data-skin="simple"] .btn-primary:hover { background: var(--ax-terra-dark); border-color: var(--ax-terra-dark); }
[data-skin="simple"] .avatar {
  background: var(--ax-peach); color: var(--ax-terra);
  border: 1px solid var(--brand-line);
}

/* ---------- 9.4 问候区（由 theme-aurora.js 注入，仅本皮肤存在） ---------- */
.ax-hero {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; flex-wrap: wrap;
  max-width: 1560px; margin: 0 auto 22px; padding: 4px 2px 0;
  /* 【2026-10-02 修复·P2-4】顶栏 fixed 会压住问候横幅：滚动定位时留出顶栏高度的偏移 */
  scroll-margin-top: calc(var(--topbar-h) + 16px);
}
.ax-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: 700; line-height: 1.28;
  color: var(--ax-ink); margin: 0;
  display: flex; align-items: center; gap: 10px;
}
.ax-hero__title svg { width: 30px; height: 30px; color: var(--ax-sage); flex: none; }
.ax-hero__sub {
  margin: 8px 0 0; font-size: 13.5px; line-height: 1.7; color: var(--text-2);
}
.ax-hero__aside {
  text-align: right; font-size: 12.5px; line-height: 1.85; color: var(--text-3);
  padding-bottom: 4px;
}
.ax-hero__aside hr {
  border: 0; border-top: 1px solid var(--line-strong);
  width: 46px; margin: 8px 0 0 auto;
}

/* ---------- 9.5 工作台排版改版：自由画布 → 响应式卡片网格 ---------- */
[data-skin="simple"] .canvas {
  display: grid;
  /* 模块按 500px 宽设计（canvas.js ROW_H/列宽常量），低于此宽度会出现内容挤压，
     故下限取 500px；窄屏自动降到单列 */
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 500px), 1fr));
  gap: 20px;
  align-items: stretch;            /* 同一行卡片等高对齐，与设计稿一致 */
  height: auto !important;         /* 覆盖 JS 写入的固定画布高度 */
  max-width: 1560px;
}
[data-skin="simple"] .canvas .card {
  position: static !important;     /* 交给网格自动排布 */
  left: auto !important; top: auto !important;
  /* 宽度保持 auto（跟随网格列宽），本次未做改动 */
  width: auto !important; height: auto !important;
  /* 【2026-10-09】卡片高度统一：不再「自适应内容高度」把整行拉高，
     改由 .canvas 的固定行高 --ax-card-h 拉平，同一行每张卡等高；
     内容超出时由 .card__body（原有 overflow:auto）内部滚动兜底。 */
  min-height: var(--ax-card-h, 400px);
  max-height: var(--ax-card-h, 400px);
  display: flex; flex-direction: column;
}
[data-skin="simple"] .canvas .card > .card__body {
  flex: 1 1 auto; min-height: 0;   /* 正文撑满剩余高度，行内卡片底部对齐 */
}

/* ---------- 9.6 卡片外壳：白纸卡 + 大圆角 + 空气感阴影 ---------- */
[data-skin="simple"] .card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  transition: box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease),
              transform var(--dur) var(--ease);
}
[data-skin="simple"] .card:hover {
  transform: translateY(-2px);
  border-color: var(--brand-line);
  box-shadow: var(--shadow-2);
}
[data-skin="simple"] .card__bar {
  background: transparent;
  border-bottom: 0;
  padding: 16px 18px 6px;
  cursor: default;
}
[data-skin="simple"] .card__title {
  font-size: 16px; font-weight: 700; color: var(--ax-ink);
  letter-spacing: .01em; font-family: var(--font-serif);
}
[data-skin="simple"] .card__body { padding: 6px 12px 14px; }
[data-skin="simple"] .rz { display: none; }          /* 网格排版下不提供缩放手柄 */

/* 卡片右上角操作按钮：常态隐藏 → 悬停浮现，圆形轻按钮 */
[data-skin="simple"] .card__tool {
  width: 28px; height: 28px; border-radius: var(--radius-pill);
  color: var(--text-3);
}
[data-skin="simple"] .card__tool:hover {
  background: var(--brand-soft); color: var(--ax-terra); border-color: transparent;
}
[data-skin="simple"] .card__badge { background: var(--ax-terra); }

/* ---------- 9.7 卡片图标：设计稿是「纯彩色线性图标」，不做色块磁贴 ---------- */
[data-skin="simple"] .card__icon {
  --ig: var(--ax-terra);
  width: 26px; height: 26px;
  background: transparent; border: 0; box-shadow: none;
  color: var(--ig);
  align-items: center; justify-content: center;
}
[data-skin="simple"] .card__icon svg { width: 21px; height: 21px; }
[data-skin="simple"] .card:hover .card__icon { background: transparent; border-color: transparent; }

[data-skin="simple"] .card[data-module="todo"] .card__icon,
[data-skin="simple"] .card[data-module="habit"] .card__icon,
[data-skin="simple"] .card[data-module="plantask"] .card__icon,
[data-skin="simple"] .card[data-module="stats"] .card__icon,
[data-skin="simple"] .card[data-module="qual"] .card__icon { --ig: var(--ax-sage); }

[data-skin="simple"] .card[data-module="note"] .card__icon,
[data-skin="simple"] .card[data-module="booknote"] .card__icon,
[data-skin="simple"] .card[data-module="translate"] .card__icon { --ig: var(--ax-amber); }

[data-skin="simple"] .card[data-module="books"] .card__icon,
[data-skin="simple"] .card[data-module="feed"] .card__icon,
[data-skin="simple"] .card[data-module="search"] .card__icon,
[data-skin="simple"] .card[data-module="google"] .card__icon,
[data-skin="simple"] .card[data-module="bing"] .card__icon { --ig: var(--ax-blue); }

[data-skin="simple"] .card[data-module="ai"] .card__icon,
[data-skin="simple"] .card[data-module="agenthub"] .card__icon,
[data-skin="simple"] .card[data-module="smartai"] .card__icon,
[data-skin="simple"] .card[data-module="aitoolbox"] .card__icon,
[data-skin="simple"] .card[data-module="clipboard"] .card__icon,
[data-skin="simple"] .card[data-module="fileconv"] .card__icon,
[data-skin="simple"] .card[data-module="fileworks"] .card__icon,
[data-skin="simple"] .card[data-module="filedrop"] .card__icon { --ig: #b06a9e; }

/* ---------- 9.8 卡片内部：行 / 圆点 / 便签 / 日历 / 按钮 ---------- */
/* 列表行：设计稿是「无边框、悬停淡暖底」 */
[data-skin="simple"] .row { padding: 9px 10px; border-radius: var(--radius-sm); }
[data-skin="simple"] .row:hover { background: var(--surface-2); }
[data-skin="simple"] .row__title { font-size: 13.5px; color: var(--ax-ink); }
[data-skin="simple"] .row__sub { color: var(--text-3); }
[data-skin="simple"] .row--done .row__title { color: var(--text-3); }
/* 状态圆点：陶土 / 琥珀 / 鼠尾草 */
[data-skin="simple"] .dot--due  { background: var(--ax-terra); }
[data-skin="simple"] .dot--soon { background: var(--ax-amber); }
[data-skin="simple"] .dot--ok   { background: var(--ax-sage); }

/* 卡片内主操作（如「＋ 添加一件事」）：淡陶土满宽按钮 */
[data-skin="simple"] .card__body .btn--block,
[data-skin="simple"] .card__body .btn-block,
[data-skin="simple"] .note-new,
[data-skin="simple"] .card__foot .btn {
  background: var(--ax-peach); border: 0; color: var(--ax-terra);
  border-radius: var(--radius-sm); font-weight: 600;
}
[data-skin="simple"] .card__body .btn--block:hover,
[data-skin="simple"] .note-new:hover,
[data-skin="simple"] .card__foot .btn:hover { background: var(--ax-peach-2); color: var(--ax-terra-dark); }

/* 便签：粉 / 黄 / 绿 三色循环（对应设计稿灵感便签） */
[data-skin="simple"] .note-item {
  border: 0; border-radius: var(--radius-md);
  background: #fbe4e4; box-shadow: none;
  color: #5a4038;
}
[data-skin="simple"] .note-item:nth-child(3n+2) { background: #fbf0d0; }
[data-skin="simple"] .note-item:nth-child(3n+3) { background: #e4efe4; }
[data-skin="simple"] .note-item__text { color: #5a4038; }
[data-skin="simple"] .note-item__meta,
[data-skin="simple"] .note-item__title { color: #8a7365; }

/* 日历：选中日 = 陶土实心圆；今天 = 描边 */
[data-skin="simple"] .cal-day--today { background: transparent; border: 1.5px solid var(--ax-terra); color: var(--ax-terra); }
[data-skin="simple"] .cal-day.is-active,
[data-skin="simple"] .cal-day.is-selected { background: var(--ax-terra); color: #fff; border-color: var(--ax-terra); }
[data-skin="simple"] .cal-day--weekend { color: var(--ax-terra); }
[data-skin="simple"] .cal-day--out { color: var(--text-3); }
[data-skin="simple"] .cal-title { font-family: var(--font-serif); color: var(--ax-ink); font-weight: 700; }
[data-skin="simple"] .cal-wd { color: var(--text-3); }

/* 收藏 */
[data-skin="simple"] .fav-item { border-radius: var(--radius-md); }

/* 通用：标签 / 芯片 / 输入 / 弹窗 */
[data-skin="simple"] .chip {
  border-radius: var(--radius-pill); border-color: var(--line);
  background: var(--surface); color: var(--text-2);
}
[data-skin="simple"] .chip:hover { border-color: var(--line-strong); }
[data-skin="simple"] .chip.is-active {
  background: var(--ax-peach); border-color: var(--brand-line); color: var(--ax-terra); font-weight: 600;
}
[data-skin="simple"] .tag--brand { background: var(--brand-soft); color: var(--ax-terra); }
[data-skin="simple"] input, [data-skin="simple"] textarea, [data-skin="simple"] select,
[data-skin="simple"] .input, [data-skin="simple"] .textarea {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-sm); color: var(--ax-ink);
}
[data-skin="simple"] input:focus, [data-skin="simple"] textarea:focus, [data-skin="simple"] select:focus,
[data-skin="simple"] .input:focus, [data-skin="simple"] .textarea:focus {
  border-color: var(--ax-terra); box-shadow: 0 0 0 3px rgba(196, 99, 63, .12);
}
[data-skin="simple"] .modal__panel {
  background: #fefcf9; border: 1px solid var(--line);
  border-radius: var(--radius-xl); box-shadow: var(--shadow-pop);
}
[data-skin="simple"] .modal__title {
  font-family: var(--font-serif); font-size: 22px; font-weight: 700; color: var(--ax-ink);
}
[data-skin="simple"] .modal__desc { color: var(--text-2); }
[data-skin="simple"] .item:hover { background: var(--surface-2); }
[data-skin="simple"] ::selection { background: rgba(196, 99, 63, .18); }

/* ---------- 9.9 底部语录横幅（由 theme-aurora.js 注入，仅本皮肤存在） ---------- */
.ax-quote {
  position: relative; overflow: hidden;
  max-width: 1560px; margin: 22px auto 8px;
  border-radius: var(--radius-lg);
  padding: 34px 40px;
  min-height: 132px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  background:
    radial-gradient(80% 140% at 88% 20%, rgba(217, 164, 65, .22) 0%, rgba(217, 164, 65, 0) 58%),
    radial-gradient(70% 120% at 12% 90%, rgba(122, 158, 126, .20) 0%, rgba(122, 158, 126, 0) 60%),
    linear-gradient(120deg, #efe6d8 0%, #e8ddcb 46%, #dfd3bf 100%);
  box-shadow: var(--shadow-1);
}
.ax-quote__text {
  font-family: var(--font-serif);
  font-size: clamp(17px, 1.7vw, 23px); font-weight: 700; line-height: 1.6;
  color: #4a3b2c; letter-spacing: .02em;
}
.ax-quote__note {
  text-align: right; font-size: 12.5px; line-height: 1.9; color: #7d6b56;
  padding-bottom: 2px; flex: none;
}
.ax-quote__note span {
  display: block; border-top: 1px solid rgba(125, 107, 86, .45);
  width: 42px; margin: 7px 0 0 auto;
}

/* ---------- 9.10 空状态引导 ---------- */
[data-skin="simple"] .empty-state { gap: 12px; padding: 30px 20px; }
[data-skin="simple"] .empty-state__icon {
  width: 52px; height: 52px; border-radius: var(--radius-md);
  color: var(--ax-terra); background: var(--ax-peach);
  border: 1px solid var(--brand-line); box-shadow: none;
}
[data-skin="simple"] .empty-state__title { font-size: 14.5px; font-weight: 600; color: var(--ax-ink); }
[data-skin="simple"] .empty-state__desc { font-size: 12.5px; line-height: 1.7; max-width: 260px; color: var(--text-3); }

/* 画布为空时的引导（纯 CSS，不依赖 JS） */
[data-skin="simple"] .canvas:empty::after {
  content: "还没有开启任何工具。点左侧导航挑 3 个最常用的场景开始 —— 比如提醒、便签、收藏。";
  display: block; grid-column: 1 / -1;
  padding: 46px 22px; text-align: center;
  font-size: 13px; line-height: 1.8; color: var(--text-3);
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-lg); background: var(--surface);
}


/* ============================================================================
 * 9.10 与「暖日晨光」拉开差异的结构层（2026-10-03）
 * ----------------------------------------------------------------------------
 *  两者共用暖白色族 + 陶土主色，但观感必须一眼分得出：
 *    暖日晨光 = 渐变光晕 + 角落植物插画 + 大圆角 + 空气感阴影 + 衬线标题
 *    暖日简约 = 平涂纯色 + 无插画      + 小圆角 + 扁平细边框 + 无衬线标题 + 更密网格
 *  本段只作用于 [data-skin="simple"]，晨光（[data-skin="aurora"]）的规则一行未动。
 * ========================================================================== */

/* ① 去掉角落植物插画（仅本简约皮肤） */
[data-skin="simple"] .canvas-wrap { background-image: none; }

/* ② 更密的网格：卡片更小更整齐，一屏能看更多工具 */
[data-skin="simple"] .canvas {
  /* 【2026-10-08 动态自适应列数】最小卡宽 420→360，与其它主题对齐同一套列数节奏
     （CSS Grid auto-fill 会按 360+gap 自动推算列数，等效于 JS 侧的 calcCols）。
     gap 保留 14px：密网格是暖日简约区别于暖日晨光的既定设计特征，不统一成 20px。
     max-width 1600→2400：与全局画布上限一致，让超宽屏也能铺到 6 列。 */
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr));
  /* 【2026-10-09】固定行高：整行不再被某一张长内容的卡片拉高（原来会到 715/760px），
     一屏能看到更多工具卡片。窄屏（≤900px 的 .is-flow）会退回 auto，保持原来的流式高度。 */
  grid-auto-rows: var(--ax-card-h, 400px);
  gap: 14px;
  max-width: 2400px;
}

/* ③ 扁平卡：细边框代替空气阴影；hover 不上浮，只描边（清单感） */
[data-skin="simple"] .card {
  border-radius: var(--radius-lg);
  border: 1px solid var(--line-strong);
  box-shadow: none;
}
[data-skin="simple"] .card:hover {
  transform: none;
  border-color: var(--brand-line);
  box-shadow: 0 1px 2px rgba(61, 50, 41, .06);
}

/* ④ 标题栏：细分割线 + 无衬线字 */
[data-skin="simple"] .card__bar {
  padding: 13px 14px 8px;
  border-bottom: 1px solid var(--line);
}
[data-skin="simple"] .card__title {
  font-family: var(--font);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
}
[data-skin="simple"] .card__body { padding: 8px 12px 12px; }

/* ============================================================================
 * 9.10b 【2026-10-09】左上角表头改版（仅暖日简约 simple）
 * ----------------------------------------------------------------------------
 *  参考「暖日晨光」顶栏：把默认的「效率工作台」图形标 + 文字，换成
 *  freeabc 树叶 logo（叶片 + free / abc 双色字）+ 紧随其后的问候语（下午好！）。
 *  颜色基调完全沿用本皮肤既有色：叶片与 free 走 --ok（鼠尾草绿），abc 走 --brand（陶土），
 *  问候语走 --text / --text-3；深色模式自动跟随（--ok / --brand / --text 在深色块已重定义）。
 *  结构：logo 与问候语都挂在 #brandLogo 内部（顶栏是三栏网格，品牌占第 1 格），
 *        因此搜索框与右侧操作簇的排布一行都不动。
 * ========================================================================== */
[data-skin="simple"] .brand.ax-brand .brand__mark,
[data-skin="simple"] .brand.ax-brand .brand__text { display: none; }

[data-skin="simple"] .ax-logo { display: inline-flex; align-items: center; gap: 7px; }
[data-skin="simple"] .ax-logo__leaf { width: 24px; height: 24px; flex: none; color: var(--ok); }
[data-skin="simple"] .ax-logo__word {
  font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 18px; font-weight: 700; letter-spacing: .01em; line-height: 1;
}
/* free：墨绿一档（由鼠尾草绿与墨色混合得到，不引入新色相）；abc：陶土主色 */
[data-skin="simple"] .ax-logo__free { color: color-mix(in srgb, var(--ok) 70%, var(--text)); }
[data-skin="simple"] .ax-logo__abc  { color: var(--brand); }

/* 问候语：紧跟 logo 右侧，两行紧凑（与暖日晨光同一套结构） */
[data-skin="simple"] .ax-greet {
  display: flex; flex-direction: column; justify-content: center; gap: 1px;
  padding-left: 11px; margin-left: 1px;
  border-left: 1px solid var(--line-strong);
  min-width: 0;
}
[data-skin="simple"] .ax-greet__hi {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--font-serif); font-size: 13.5px; font-weight: 700;
  color: var(--text); line-height: 1.25; white-space: nowrap;
}
[data-skin="simple"] .ax-greet__hi svg { width: 14px; height: 14px; color: var(--ok); flex: none; }
[data-skin="simple"] .ax-greet__sub {
  font-size: 11.5px; line-height: 1.25; color: var(--text-3); white-space: nowrap;
}

/* ---------- 9.11 移动端 ---------- */
@media (max-width: 900px) {
  [data-skin="simple"] .canvas-wrap { background-size: 190px 215px, 200px 200px; }
  [data-skin="simple"] .ax-hero { margin-bottom: 16px; }
  [data-skin="simple"] .ax-hero__aside { display: none; }
  [data-skin="simple"] .ax-quote { padding: 24px 20px; min-height: 0; }
  [data-skin="simple"] .ax-quote__note { display: none; }
  [data-skin="simple"] .canvas { gap: 14px; }
  /* 触屏无 hover：卡片工具按钮与列表行操作必须常驻可见，否则功能等于不存在 */
  [data-skin="simple"] .card__tools { opacity: 1; gap: 4px; }
  [data-skin="simple"] .row__ops { opacity: 1; gap: 6px; }
  [data-skin="simple"] .row__ops .card__tool { width: 40px; height: 40px; }
  [data-skin="simple"] .card__tool { width: 40px; height: 40px; border-radius: var(--radius-pill); }
  [data-skin="simple"] .btn { min-height: 40px; }
  [data-skin="simple"] .modal__panel { max-width: calc(100vw - 24px); border-radius: var(--radius-lg); }
  [data-skin="simple"] .canvas.is-flow { grid-template-columns: 1fr; }
  /* 【2026-10-09】自适应高度 BUG：这里原先把行高退回 auto，导致缩到 2 列 / 1 列后
     卡片按内容自由撑开（实测 238~4812px，高低参差不齐）。
     现在与宽屏保持一致，统一取 --ax-card-h（400px），1/2/3 列全部等高；
     内容超出仍由 .card__body 的 overflow:auto 内部滚动兜底。 */
  [data-skin="simple"] .canvas.is-flow { grid-auto-rows: var(--ax-card-h, 400px); }
  /* 窄屏：收起问候与文字标，只留树叶图形（与暖日晨光一致），避免挤压搜索框 */
  [data-skin="simple"] .ax-greet { display: none; }
  [data-skin="simple"] .ax-logo__word { display: none; }
  [data-skin="simple"] .ax-logo__leaf { width: 22px; height: 22px; }
  /* 【2026-10-09】同上：卡片自身的高度约束也统一到 --ax-card-h，
     不再 max-height:none（原写法会让长内容卡片无限拉长整列）。 */
  [data-skin="simple"] .canvas.is-flow .card {
    min-height: var(--ax-card-h, 400px);
    max-height: var(--ax-card-h, 400px);
  }
}
@media (min-width: 620px) and (max-width: 900px) {
  [data-skin="simple"] .canvas.is-flow { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  /* 品牌字比原版放大后会影响顶栏三栏网格，窄屏收回原始字号 */
  [data-skin="simple"] .brand__text { font-size: 15px; }
}
@media (max-width: 560px) {
  /* 极窄屏只留品牌标，避免文字被搜索框挤压截断 */
  [data-skin="simple"] .brand__text { display: none; }
}
@media (max-width: 620px) {
  [data-skin="simple"] .canvas { gap: 12px; }
  [data-skin="simple"] .ax-hero__title { font-size: 22px; }
  [data-skin="simple"] .ax-hero__title svg { width: 22px; height: 22px; }
  [data-skin="simple"] .ax-quote__text { font-size: 16px; }
  [data-skin="simple"] .card__bar { padding: 13px 14px 4px; }
  [data-skin="simple"] .card__body { padding: 4px 10px 12px; }
  [data-skin="simple"] .card__tool { width: 44px; height: 44px; }
}
@media (hover: none) and (pointer: coarse) {
  [data-skin="simple"] .card__tools { opacity: 1; }
  [data-skin="simple"] .card__tool { width: 44px; height: 44px; }
  [data-skin="simple"] .row__ops { opacity: 1; }
}

/* ---------- 9.12 深色模式：月亮开关仍优先于本皮肤 ---------- */
[data-theme="dark"][data-skin="simple"] {
  --ax-cream: #17150f; --ax-cream-2: #1d1a14; --ax-ink: #ece5da;
  --ax-peach: #33241c; --ax-peach-2: #403026; --ax-line: #2a2620;
  --bg: linear-gradient(180deg, #17150f 0%, #14120d 100%);
  --bg-grid: rgba(255, 255, 255, .03);
  --surface: #1e1b15; --surface-2: #241f18; --surface-3: #2b251d;
  --line: #2e2921; --line-strong: #3d362b; --switch-off: #5c5346;
  --text: #ece5da; --text-2: #a99f8f; --text-3: #7a7163;
  --brand: #d97a53; --brand-hover: #e58d68; --brand-soft: #3a2620; --brand-line: #4d3327; --brand-2: #c4633f;
  --ok: #86ab8a; --ok-soft: #1f2a20;
  --warn: #e0ad4e; --warn-soft: #2e2617;
  --danger: #d4736a; --danger-soft: #33211f;
  --shadow-1: 0 1px 2px rgba(0, 0, 0, .3);
  --shadow-2: 0 2px 10px rgba(0, 0, 0, .34);
  --shadow-pop: 0 12px 40px rgba(0, 0, 0, .5);
}
[data-theme="dark"][data-skin="simple"] body { background: var(--bg) fixed; }
[data-theme="dark"][data-skin="simple"] .ax-quote {
  background: linear-gradient(120deg, #2a2318 0%, #241e15 100%);
  border: 1px solid var(--line);
}
[data-theme="dark"][data-skin="simple"] .ax-quote__text { color: #e6dccb; }
[data-theme="dark"][data-skin="simple"] .note-item { background: #33291f; color: #e3d8c8; }
[data-theme="dark"][data-skin="simple"] .note-item__text { color: #e3d8c8; }

/* ============================================================================
 * 9.13 组件完整性补齐层
 * ----------------------------------------------------------------------------
 * 9.0~9.12 只覆盖了外壳与部分模块；线上还有登录弹窗、个人设置、通知下拉、
 * 搜索面板、主题面板、骨架屏、模块开关、标签/徽标、页脚等大量组件。
 * 本节把它们统一到「暖白手账」语言，全部用 [data-skin="simple"] 限定，
 * 其它皮肤零影响；颜色尽量走变量，深色模式自动跟随。
 * ========================================================================== */

/* ---- 加载骨架屏：暖色微光，别用冷灰 ---- */
[data-skin="simple"] .skeleton {
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--surface-3) 88%, var(--ax-peach)) 25%,
    var(--surface-2) 37%,
    color-mix(in srgb, var(--surface-3) 88%, var(--ax-peach)) 63%);
  background-size: 400% 100%;
  border-radius: var(--radius-xs);
}

/* ---- 侧边栏模块开关 ---- */
[data-skin="simple"] .switch { background: var(--switch-off); }
[data-skin="simple"] .switch.is-on { background: var(--ax-terra); }
[data-skin="simple"] .switch::after {
  box-shadow: 0 1px 3px rgba(61, 50, 41, .22);
  background: #fff;
}
[data-skin="simple"] .side__add {
  border: 1px dashed var(--line-strong);
  color: var(--text-2); background: transparent;
  border-radius: var(--radius-sm);
}
[data-skin="simple"] .side__add:hover {
  border-color: var(--brand-line); background: var(--ax-peach); color: var(--ax-terra);
}
[data-skin="simple"] .side__section { border-top: 1px solid rgba(61, 50, 41, .05); }
[data-skin="simple"] .side__section:first-child { border-top: 0; }
[data-skin="simple"] .side__user-name { color: var(--ax-ink); font-weight: 600; }
[data-skin="simple"] .side__user-id { color: var(--text-3); }

/* ---- 登录门禁 / 注册卡 ---- */
[data-skin="simple"] .gate { background: color-mix(in srgb, var(--ax-cream) 82%, transparent); }
[data-skin="simple"] .gate__panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-2);
}
[data-skin="simple"] .auth-page { background: var(--ax-cream); }
[data-skin="simple"] .auth-card {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-xl); box-shadow: var(--shadow-2);
}
[data-skin="simple"] .auth-head { border-bottom: 1px solid var(--line); }
[data-skin="simple"] .auth-msg { color: var(--text-2); }
[data-skin="simple"] .auth-foot { border-top: 1px solid var(--line); color: var(--text-3); }

/* ---- 个人设置弹窗（index.html 内联样式定义，此处做主题化覆盖） ---- */
[data-skin="simple"] .settings-overlay { background: rgba(61, 50, 41, .34); }
[data-skin="simple"] .settings-modal {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-pop);
}
[data-skin="simple"] .settings-head { border-bottom: 1px solid var(--line); }
[data-skin="simple"] .settings-title { font-family: var(--font-serif); font-weight: 700; color: var(--ax-ink); }
[data-skin="simple"] .settings-close { color: var(--text-3); border-radius: var(--radius-sm); }
[data-skin="simple"] .settings-close:hover { background: var(--surface-3); color: var(--ax-ink); }
[data-skin="simple"] .settings-section { border-top: 1px solid var(--line); }
[data-skin="simple"] .settings-field { border-bottom: 1px solid var(--line); }
[data-skin="simple"] .settings-module-row { border-bottom: 1px solid var(--line); }
[data-skin="simple"] .settings-hint, [data-skin="simple"] .field-tip { color: var(--text-3); }
[data-skin="simple"] .settings-foot { border-top: 1px solid var(--line); }

/* ---- 通知下拉 ---- */
[data-skin="simple"] .notify-dropdown {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-pop);
}
[data-skin="simple"] .notify-dropdown__head {
  border-bottom: 1px solid var(--line); color: var(--ax-ink); font-weight: 600;
}
[data-skin="simple"] .notif-item { border-bottom: 1px solid var(--line); }
[data-skin="simple"] .notif-item:hover { background: var(--surface-2); }
[data-skin="simple"] .notif-item.is-unread { background: var(--ax-peach); }
[data-skin="simple"] .notif-title { color: var(--ax-ink); font-weight: 600; }
[data-skin="simple"] .notif-body, [data-skin="simple"] .notif-content { color: var(--text-2); }
[data-skin="simple"] .notif-meta { color: var(--text-3); }
[data-skin="simple"] .notif-empty { color: var(--text-3); }
[data-skin="simple"] .notif-read-btn { color: var(--ax-terra); }
[data-skin="simple"] .notify-mark-all, [data-skin="simple"] .notify-close { color: var(--text-2); }
[data-skin="simple"] .notify-dot, [data-skin="simple"] .notif-dot { background: var(--ax-terra); }
[data-skin="simple"] .notif-badge { background: var(--ax-terra); color: #fff; }
[data-skin="simple"] .notif-badge--notice { background: var(--ax-amber); }
[data-skin="simple"] .notif-badge--message { background: var(--ax-sage); }

/* ---- 全局搜索面板 ---- */
[data-skin="simple"] .search__panel {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-pop);
}
[data-skin="simple"] .search__item { border-radius: var(--radius-sm); }
[data-skin="simple"] .search__item:hover,
[data-skin="simple"] .search__item.is-active { background: var(--ax-peach); }
[data-skin="simple"] .search__item mark { color: var(--ax-terra); background: transparent; }
[data-skin="simple"] .search__group-title { color: var(--text-3); }
[data-skin="simple"] .search__item .s-name { color: var(--ax-ink); }

/* ---- 主题选择面板本身（调色盘弹窗） ---- */
[data-skin="simple"] .skin-panel {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-xl); box-shadow: var(--shadow-pop);
}
[data-skin="simple"] .skin-panel__head { color: var(--ax-ink); font-family: var(--font-serif); font-weight: 700; }
[data-skin="simple"] .skin-card {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-md); box-shadow: none;
}
[data-skin="simple"] .skin-card:hover { border-color: var(--brand-line); box-shadow: var(--shadow-1); }
[data-skin="simple"] .skin-card.is-current {
  border-color: var(--ax-terra); box-shadow: 0 0 0 2px color-mix(in srgb, var(--ax-terra) 22%, transparent);
}
[data-skin="simple"] .skin-card__name { color: var(--ax-ink); }
[data-skin="simple"] .skin-card__desc { color: var(--text-3); }
[data-skin="simple"] .skin-card__apply {
  background: var(--ax-terra); color: #fff; border-radius: var(--radius-pill); border: 0;
}
[data-skin="simple"] .skin-card__apply:hover { background: var(--ax-terra-dark); }
[data-skin="simple"] .skin-card__current { color: var(--ax-terra); }
[data-skin="simple"] .skin-custom {
  border: 1px dashed var(--line-strong); color: var(--text-2);
  border-radius: var(--radius-sm); background: transparent;
}
[data-skin="simple"] .skin-custom:hover { border-color: var(--brand-line); color: var(--ax-terra); background: var(--ax-peach); }

/* ---- 轻提示 / 出错提示 ---- */
[data-skin="simple"] .toast {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-pill); box-shadow: var(--shadow-2); color: var(--ax-ink);
}
[data-skin="simple"] .toast--ok { border-color: color-mix(in srgb, var(--ax-sage) 45%, var(--line)); }
[data-skin="simple"] .toast--err { border-color: color-mix(in srgb, var(--ax-terra) 45%, var(--line)); color: var(--ax-terra); }
[data-skin="simple"] .wb-tip, [data-skin="simple"] .tip {
  background: color-mix(in srgb, var(--ax-amber) 14%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--ax-amber) 34%, transparent);
  border-radius: var(--radius-sm); color: var(--text-2);
}

/* ---- 卡片底部操作区 / 无内边距正文 ---- */
[data-skin="simple"] .card__foot {
  border-top: 1px solid var(--line);
  padding: 10px 14px;
}
[data-skin="simple"] .card__body--flush { padding: 0; }
[data-skin="simple"] .card__pin { opacity: .6; }

/* ---- 徽标 / 标签 ---- */
[data-skin="simple"] .badge { background: var(--ax-terra); color: #fff; border-radius: var(--radius-pill); }
[data-skin="simple"] .badge--ok { background: var(--ax-sage); }
[data-skin="simple"] .badge--warn { background: var(--ax-amber); }
[data-skin="simple"] .badge--err { background: var(--danger); }
[data-skin="simple"] .badge--mute, [data-skin="simple"] .badge--hidden {
  background: var(--surface-3); color: var(--text-2);
}
[data-skin="simple"] .tag {
  background: var(--surface-3); color: var(--text-2);
  border-radius: var(--radius-pill);
}
[data-skin="simple"] .tag--ok { background: var(--ok-soft); color: var(--ok); }
[data-skin="simple"] .tag--warn { background: var(--warn-soft); color: var(--warn); }

/* ---- 按钮补充尺寸 / 语义色 ---- */
[data-skin="simple"] .btn--sm { border-radius: var(--radius-pill); }
[data-skin="simple"] .btn--danger {
  background: var(--ax-terra); border-color: var(--ax-terra); color: #fff;
  border-radius: var(--radius-pill);
}
[data-skin="simple"] .btn--danger:hover { background: var(--ax-terra-dark); border-color: var(--ax-terra-dark); }
[data-skin="simple"] .btn--ext { color: var(--ax-terra); }

/* ---- 表单 / 选项卡 ---- */
[data-skin="simple"] .field__label { color: var(--text-2); font-weight: 500; }
[data-skin="simple"] .tabs { background: var(--surface-3); border-radius: var(--radius-pill); padding: 4px; }
[data-skin="simple"] .tabs button { border-radius: var(--radius-pill); color: var(--text-2); }
[data-skin="simple"] .tabs button.is-active,
[data-skin="simple"] .tabs button.active {
  background: var(--surface); color: var(--ax-terra); font-weight: 600;
  box-shadow: 0 1px 3px rgba(61, 50, 41, .10);
}

/* ---- 错误 / 空态卡片 ---- */
[data-skin="simple"] .mod-error { color: var(--text-2); }
[data-skin="simple"] .mod-error__icon { color: var(--ax-amber); }
[data-skin="simple"] .custom-empty__icon { color: var(--ax-terra); }

/* ---- 悬浮按钮 / 页脚 ---- */
[data-skin="simple"] .fab-about {
  background: var(--surface); border: 1px solid var(--line);
  color: var(--text-2); box-shadow: var(--shadow-2);
}
[data-skin="simple"] .fab-about:hover { color: var(--ax-terra); border-color: var(--brand-line); }
[data-skin="simple"] .site-foot { color: var(--text-3); }
[data-skin="simple"] .foot-ad, [data-skin="simple"] .foot-contact { border-color: var(--line); }

/* ---- 弹窗底部按钮区 ---- */
[data-skin="simple"] .modal__foot { border-top: 1px solid var(--line); }
[data-skin="simple"] .modal__desc { color: var(--text-2); }
[data-skin="simple"] .about-list li { border-bottom: 1px solid var(--line); }

/* ---- 模块内部：日历 / 提醒 / 便签 / 收藏 / 订阅 / 统计 ---- */
[data-skin="simple"] .cal-clock { color: var(--ax-ink); font-family: var(--font-serif); }
[data-skin="simple"] .cal-sidebar { border-right-color: var(--line); }
[data-skin="simple"] .cal-day { border-radius: var(--radius-xs); }
[data-skin="simple"] .cal-day:hover { background: var(--surface-2); }
[data-skin="simple"] .cal-day__sub { color: var(--text-3); }
[data-skin="simple"] .cal-day__mk { background: var(--ax-sage); }
[data-skin="simple"] .cal-forecast__row { background: var(--surface-2); border-radius: var(--radius-sm); }
[data-skin="simple"] .cal-weather-city { color: var(--text-3); }
[data-skin="simple"] .rem-filter .chip { background: var(--surface); }
[data-skin="simple"] .rem-add-row { border-top: 1px solid var(--line); }
[data-skin="simple"] .note-item { border-radius: var(--radius-md); }
[data-skin="simple"] .note-item__head { color: #8a7365; }
[data-skin="simple"] .note-count { color: var(--text-3); }
[data-skin="simple"] .bn-item { border-bottom: 1px solid var(--line); }
[data-skin="simple"] .bn-item__title { color: var(--ax-ink); }
[data-skin="simple"] .bn-item__sum, [data-skin="simple"] .bn-item__foot { color: var(--text-3); }
[data-skin="simple"] .feed-item { border-bottom: 1px solid var(--line); }
[data-skin="simple"] .feed-title { color: var(--ax-ink); }
[data-skin="simple"] .feed-src, [data-skin="simple"] .feed-sum { color: var(--text-3); }
[data-skin="simple"] .feed-ava { border-radius: var(--radius-pill); }
[data-skin="simple"] .fav-item { background: var(--surface-2); }
[data-skin="simple"] .fav-item__name { color: var(--ax-ink); }
[data-skin="simple"] .fav-item__initial { color: var(--ax-terra); }
[data-skin="simple"] .fav-remove { color: var(--text-3); }
[data-skin="simple"] .stat-cell { background: var(--surface-2); border-radius: var(--radius-md); }
[data-skin="simple"] .stat-cell--brand { background: var(--ax-peach); }
[data-skin="simple"] .stat-cell--warn { background: var(--warn-soft); }
[data-skin="simple"] .stat-label { color: var(--text-3); }
[data-skin="simple"] .stat-num { color: var(--ax-ink); font-family: var(--font-serif); }
[data-skin="simple"] .stat-bar { background: var(--ax-terra); border-radius: var(--radius-pill); }
[data-skin="simple"] .src-badge {
  background: var(--ax-peach); color: var(--ax-terra); border-radius: var(--radius-pill);
}
[data-skin="simple"] .book-reader { background: var(--surface); }
[data-skin="simple"] .book-reader__title { font-family: var(--font-serif); color: var(--ax-ink); }
[data-skin="simple"] .ad-carousel { background: var(--surface-2); border-radius: var(--radius-md); }
[data-skin="simple"] .ad-carousel__btn, [data-skin="simple"] .ad-modebar__btn {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-pill); color: var(--text-2);
}
[data-skin="simple"] .ad-carousel__btn:hover, [data-skin="simple"] .ad-modebar__btn:hover { color: var(--ax-terra); border-color: var(--brand-line); }
[data-skin="simple"] .ad-dot { background: var(--line-strong); }
[data-skin="simple"] .ad-dot.is-active { background: var(--ax-terra); }
[data-skin="simple"] .cap-box, [data-skin="simple"] .cap-track, [data-skin="simple"] .cap-slot {
  border-color: var(--line); background: var(--surface-2); border-radius: var(--radius-sm);
}
[data-skin="simple"] .cap-fill { background: var(--ax-terra); }
[data-skin="simple"] .snapline { background: var(--ax-terra); opacity: .5; }
[data-skin="simple"] .canvas-note { color: var(--text-3); }
[data-skin="simple"] .hamburger { color: var(--text-2); }
[data-skin="simple"] .submod__step-bd { border-color: var(--line); }
[data-skin="simple"] .submod__step-hd { color: var(--ax-ink); }
[data-skin="simple"] .submod__paid { color: var(--ax-terra); }
[data-skin="simple"] .bind-mask { background: rgba(61, 50, 41, .34); }
[data-skin="simple"] .bind-card {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-pop);
}
[data-skin="simple"] .bind-lb { color: var(--text-2); }
[data-skin="simple"] .bind-msg { color: var(--text-3); }
[data-skin="simple"] .contact-email, [data-skin="simple"] .contact-filing { color: var(--text-3); }

/* ============================================================================
 * 9.23 「暖日晨光」全部工具页：模块状态标签（只读）
 * 首页模块已改为全自动（按管理员后台顺序取前 N 个），不再有可点的
 * 「＋添加到首页 / ✓ 已启用」按钮；这里给只读状态标签配色。
 * ========================================================================== */
[data-skin="aurora"] .wd-pill { cursor: default; }
[data-skin="aurora"] .wd-pill.is-idle {
  background: var(--surface-2); color: var(--text-3); border: 1px solid var(--line);
}

/* ============================================================================
 * 9.24 【2026-10-02】四套主题统一「最外层页面容器」左右外边距
 * 需求：专业极简版(minimal) / 柔和治愈版(soft) / 白纸·素笺(paper) /
 *       现代精致版(refined) 四套主题的页面容器左右留白统一、页面整体居中。
 *
 * 约束遵守：
 *   · 只改最外层 .canvas-wrap / .canvas 两个容器的左右 padding 与封顶宽度；
 *   · 不触碰任何卡片内部样式、模块上下间距、栅格 gap、模块排序与业务 JS；
 *   · 纵向 padding(顶部留白、底部 28px)完全不动 —— 本块只覆盖 padding-left/right
 *     两个长写属性，top/bottom 仍由 layout.css 原规则与其断点决定；
 *   · 老主题(aurora / simple)自带 .canvas-wrap 规则，本块选择器不含它们，
 *     结构性不受影响。
 *
 * 取值说明（clamp(最小, 视口弹性, 最大) = clamp(12px, 2.3vw, 20px)）：
 *   · 平板竖屏 834px → ~19px ≈ 0.50cm（目标值，符合平板物理尺寸诉求）
 *   · 平板 1024px 及以上 → 20px 封顶 ≈ 0.53cm（不会越宽越阔）
 *   · 笔记本 1280 / 1440 / 桌面 1920 → 统一 20px（原先 1920 为 32px，留白过宽）
 *   · 手机窄屏 360 / 390 → 收缩到 12px 下限，防止内容被挤压溢出
 *   · 大屏：.canvas 以 1880px 封顶 + margin:0 auto 居中，
 *     避免内容无限拉伸摊开（这是既有的防拉伸机制，此处显式对齐四套主题）
 * ========================================================================== */

/* 左右外边距：四套主题完全一致，且 left/right 对称 → 页面自动居中 */
[data-skin="minimal"] .canvas-wrap,
[data-skin="soft"]    .canvas-wrap,
[data-skin="paper"]   .canvas-wrap,
[data-skin="refined"] .canvas-wrap {
  padding-left:  clamp(12px, 2.3vw, 20px);
  padding-right: clamp(12px, 2.3vw, 20px);
}

/* 大屏封顶 + 水平居中：防止超宽屏把页面无限摊开 */
[data-skin="minimal"] .canvas,
[data-skin="soft"]    .canvas,
[data-skin="paper"]   .canvas,
[data-skin="refined"] .canvas {
  /* 【2026-10-08】超宽屏上限 1880→2400（与 layout.css 的 .canvas 同步）：
     1880 封顶时 2560 屏卡宽被锁在 600px，屏幕两侧各空约 360px。
     ⚠️ 本选择器权重(0,2,0) 高于 layout.css 的 .canvas(0,1,0)，
        四套主题以此处为准，改 layout.css 而不改这里不会生效。 */
  max-width: 2400px;
  margin: 0 auto;
}
