/* ============================================================
 * 造神计划 · Q121 换皮 · 极繁主义（Maximalism Wall）覆盖样式
 * 性格：收藏墙 / 贴纸拼贴 / 弹性 pop / 彩色纸条 Toast / 手写标注
 * 覆盖机制：body[data-theme="maximalism"] 命中时覆盖 style.css（不删旧样式）
 * 参考：DESIGN-SPEC-Q121 §2.2 token 表（Cameron's World / Superfried / Camille Mormal）
 * 纪律（3.46）：所有 hover 必须包 @media (hover: hover)；触控反馈走 :active
 * ============================================================ */

/* ---------- 1. 变量覆盖层（语义色位保持，换色相不换语义） ---------- */
body[data-theme="maximalism"] {
  /* 页面基底 */
  --paper: #FBF3E4;        /* 米纸 body 背景 */
  --cream: #FFFDF6;        /* 奶油白 卡片/弹窗底 */
  --bg-2: #F1E7D2;         /* 进度槽底/输入底 */

  /* 文字 */
  --ink: #1C1C1C;          /* 墨黑 描边/主文字 */
  --text-muted: rgba(28, 28, 28, .62);
  --text-faint: rgba(28, 28, 28, .45);
  --text-placeholder: rgba(28, 28, 28, .4);
  --text-sub: rgba(28, 28, 28, .6);

  /* 语义色（与 style.css 变量名对齐 → var() 引用自动换皮） */
  --yellow: #FFD166;       /* 主操作：明黄 */
  --yellow2: #FFB347;      /* 警示辅助 */
  --black: #1C1C1C;        /* 墨黑（主文字/描边） */
  --white: #FFFDF6;        /* 卡片底：奶油白 */
  --blue: #2A6FDB;         /* 数据/链接：钴蓝 */
  --red: #E63946;          /* 警戒红：朱红（删除语义不动） */
  --green: #2A9D8F;        /* 成功完成：墨绿 */
  --orange: #F4845F;       /* 警示：橘 */
  --purple: #7B2CBF;       /* 点缀：紫 */
  --gray: #EFE5CF;         /* 浅灰位：米黄 */

  /* 主题专属（供覆盖规则使用） */
  --pink: #FF7BAC;         /* 糖果粉：小雪卡渐变/贴纸 */
  --dark: #14100C;         /* 深底：底部导航底 */

  /* 派生深色 */
  --blue-dark: #1E57B8;
  --green-dark: #1F7F73;

  /* rgb 分量（阴影/遮罩派生） */
  --black-rgb: 28, 28, 28;
  --white-rgb: 255, 255, 255;
  --yellow-rgb: 255, 209, 102;
  --blue-rgb: 42, 111, 219;
  --red-rgb: 230, 57, 70;
  --green-rgb: 42, 157, 143;

  /* 结构变量（覆盖 style.css :root 定义：2px 细描边 + 深色硬投影） */
  --border: 2px solid var(--ink);
  --border-thick: 3px solid var(--ink);
  --shadow: 5px 6px 0 rgba(28, 28, 28, .85);
  --shadow-sm: 3px 4px 0 rgba(28, 28, 28, .85);
  --shadow-lg: 8px 9px 0 rgba(28, 28, 28, .85);

  /* 图内装饰色 */
  --art-sky: #EFE5CF;
  --art-cloud: #DDD2BC;
  --art-line: #A89E88;
  --art-line-dark: #8A867A;
  --art-fill: #E9DCC0;
  --art-body: #C4B8A0;

  /* 图表扩展色 */
  --chart-violet: #7B2CBF;
  --chart-orange-deep: #F4845F;
  --chart-cyan: #2A9D8F;
  /* Q133 V1.29：作息双曲线色（极繁奶油底：晨光深橙 + 克莱因蓝） */
  --chart-sleep-wake: #FF6D00;
  --chart-sleep-in: #002FA7;

  /* 锁定成就灰阶 */
  --ach-locked-bg: #EFE5CF;
  --ach-locked-border: #C4B8A0;
  --ach-locked-text: #A89E88;

  /* 遮罩 */
  --mask-modal: rgba(20, 16, 12, .55);
  --mask-lock: rgba(20, 16, 12, .7);
  --mask-celebration: rgba(20, 16, 12, .6);
  --mask-demo: rgba(20, 16, 12, .65);

  /* 字体（标题：Archivo Black 900；手写：Caveat；中文/韩文走系统字体） */
  --font-title: "Archivo Black", "Segoe UI", "Microsoft YaHei", sans-serif;
  --font-hand: "Caveat", "ZCOOL KuaiLe", "Segoe Print", cursive;

  color: var(--ink);
  background: var(--paper);
  overscroll-behavior: none;
}

/* ---------- 2. 页面骨架（米纸双色圆点纹背景，App 感） ---------- */
body[data-theme="maximalism"] {
  font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;
  background-image:
    radial-gradient(rgba(28, 28, 28, .05) 1.5px, transparent 1.5px),
    radial-gradient(rgba(230, 57, 70, .05) 1.5px, transparent 1.5px);
  background-size: 26px 26px, 26px 26px;
  background-position: 0 0, 13px 13px;
}
body[data-theme="maximalism"] h1,
body[data-theme="maximalism"] h2,
body[data-theme="maximalism"] h3 {
  font-family: var(--font-title);
  font-weight: 900;
  letter-spacing: -.01em;
}

/* ---------- 3. 卡片（奶油白 + 2px 细描边 + 深色硬投影，撕纸底边点缀） ---------- */
body[data-theme="maximalism"] .card {
  background: var(--cream);
  border: var(--border);
  box-shadow: var(--shadow);
  color: var(--ink);
  border-radius: 6px;
}
body[data-theme="maximalism"] .card-yellow {
  background: var(--yellow);
  color: var(--ink);
}
body[data-theme="maximalism"] .card-blue {
  background: var(--blue);
  color: #FFFFFF;
  border-color: var(--ink);
}
body[data-theme="maximalism"] .card-head h3 {
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -.01em;
}

/* 标签（贴纸感：大写 + 细描边；Q124-2：静态倾角去掉，水平摆放） */
body[data-theme="maximalism"] .tag-light {
  background: var(--yellow);
  color: var(--ink);
  border: 1.5px solid var(--ink);
  font-size: 11px;
  letter-spacing: .08em;
}
body[data-theme="maximalism"] .tag-dark {
  background: var(--ink);
  color: #FFF;
  border: 1.5px solid var(--ink);
  font-size: 11px;
  letter-spacing: .08em;
}

/* ---------- 4. 按钮（贴纸压扁弹回：scale + 弹性恢复） ---------- */
body[data-theme="maximalism"] .btn {
  background: var(--yellow);
  color: var(--ink);
  border: var(--border);
  box-shadow: var(--shadow-sm);
  font-weight: 900;
  border-radius: 5px;
  transition: transform .12s cubic-bezier(.34, 1.56, .64, 1), box-shadow .12s cubic-bezier(.34, 1.56, .64, 1);
}
body[data-theme="maximalism"] .btn:active,
body[data-theme="maximalism"] .btn.pressing {
  transform: scale(.94) rotate(-1.5deg);
  box-shadow: 1px 2px 0 rgba(28, 28, 28, .85);
}
body[data-theme="maximalism"] .btn-blue {
  background: var(--blue);
  color: #FFF;
}
body[data-theme="maximalism"] .btn-danger {
  background: var(--red);
  color: #FFF;
}
body[data-theme="maximalism"] .btn-green {
  background: var(--green);
  color: #FFF;
}
body[data-theme="maximalism"] .btn-warn {
  background: var(--orange);
  color: #FFF;
}
body[data-theme="maximalism"] .btn-gray {
  background: var(--gray);
  color: var(--ink);
}
body[data-theme="maximalism"] .btn-big.done {
  background: var(--gray);
  color: var(--ink);
}

/* ---------- 5. 页头（墨黑 + 明黄撞色条） ---------- */
body[data-theme="maximalism"] .masthead {
  background: var(--ink);
  color: #FFF;
  border-left: 12px solid var(--yellow);
  box-shadow: var(--shadow);
  font-weight: 900;
}
body[data-theme="maximalism"] .masthead h2::after { content: ' ★'; color: var(--yellow); }
body[data-theme="maximalism"] .mh-tag {
  background: var(--yellow);
  color: var(--ink);
  border: 1.5px solid var(--ink);
  font-weight: 900;
  letter-spacing: .08em;
  transform: none;   /* Q124-2：覆盖 style.css 基样式 rotate(2deg)，标签水平 */
}

/* ---------- 6. 底部导航（深底 + 明黄波浪边） ---------- */
/* Q123-5：根因=基底 style.css 容器是 #bottom-nav（L1464 background:var(--white)），
   而 Q121 极繁覆盖误写 .nav-bar（DOM 无此类，死代码一直未命中）→ 容器仍是奶油白底 + 墨黑边，
   浅底浅字：非选中白字看不见、选中明黄看不清。补 #bottom-nav 容器覆盖：
   深底 #14100C + 顶部 3px 明黄边（DESIGN-SPEC-Q121 §3.1）；.nav-item 的深底配色 Q122 已就位，命中后即清晰 */
body[data-theme="maximalism"] #bottom-nav {
  background: var(--dark);
  border-top: 3px solid var(--yellow);
}
body[data-theme="maximalism"] .nav-bar {
  background: var(--dark);
  border-top: 3px solid var(--yellow);
}
/* Q122 #11：漏改 background（白图标白底）→ 补 transparent；未选中提亮到 .72；图标加粗 26px（触达区 64px 安全）；
   选中明黄 + 顶部朱红条保留；按压（:active）不再闪 style.css 灰底 */
body[data-theme="maximalism"] .nav-item { background: transparent; color: rgba(255, 255, 255, .72); }
body[data-theme="maximalism"] .nav-item .ni { font-size: 26px; line-height: 1; }
body[data-theme="maximalism"] .nav-item .ni svg { width: 26px; height: 26px; stroke-width: 2.8; }
body[data-theme="maximalism"] .nav-item:active { background: transparent; }
body[data-theme="maximalism"] .nav-item.active {
  color: var(--yellow);
  background: transparent;
  box-shadow: none;
  transform: translateY(-2px);
}
body[data-theme="maximalism"] .nav-item.active::before {
  content: '';
  position: absolute; top: -3px; left: 22%; right: 22%;
  height: 3px; background: var(--red);
}

/* PC 侧边栏：米纸底 + 顶部撞色条 */
body[data-theme="maximalism"] #sidebar {
  background: var(--paper);
  border-right: 2px solid var(--ink);
  border-top: 6px solid var(--yellow);
}
body[data-theme="maximalism"] .side-item {
  color: var(--text-sub);
  border-radius: 6px;
}
body[data-theme="maximalism"] .side-item.active {
  background: var(--yellow);
  color: var(--ink);
  box-shadow: 3px 4px 0 rgba(28, 28, 28, .85);
  transform: rotate(-1deg);
}

/* ---------- 7. 锁屏（彩点贴纸风 + 米纸底） ---------- */
body[data-theme="maximalism"] #lockscreen {
  background: var(--paper);
  background-image:
    radial-gradient(rgba(42, 111, 219, .08) 1.5px, transparent 1.5px),
    radial-gradient(rgba(255, 122, 172, .08) 1.5px, transparent 1.5px);
  background-size: 24px 24px, 24px 24px;
  background-position: 0 0, 12px 12px;
}
body[data-theme="maximalism"] .lock-ticket {
  background: var(--ink);
  color: var(--yellow);
  border-bottom: 3px solid var(--yellow);
  font-weight: 900;
  letter-spacing: .14em;
}
body[data-theme="maximalism"] .lock-brand {
  color: var(--ink);
  font-family: var(--font-title);
  font-weight: 900;
  letter-spacing: .04em;
  text-shadow: 3px 3px 0 var(--yellow);
}
/* Q122-1：「计划」两字换清晰色（白字在米纸底看不清）→ 墨黑 + 黄色投影；
   印章「造」「神」（.lb-char.first）保留不动，四字错落角度保留（nth-child transform 在 style.css） */
body[data-theme="maximalism"] .lb-char:not(.first) {
  color: var(--ink);
  text-shadow: 3px 3px 0 var(--yellow);
}
body[data-theme="maximalism"] .lock-rule {
  background: repeating-linear-gradient(90deg, var(--red) 0 12px, var(--blue) 12px 24px, var(--yellow) 24px 36px, var(--green) 36px 48px);
}
body[data-theme="maximalism"] .lock-sub {
  color: var(--ink);
  background: var(--yellow);
  border: 2px solid var(--ink);
  box-shadow: 3px 4px 0 rgba(28, 28, 28, .85);
  font-weight: 900;
  font-size: 24px;   /* Q122-2：副标放大 2 倍（12px→24px） */
  transform: rotate(-1deg);
}
body[data-theme="maximalism"] .lt-h,
body[data-theme="maximalism"] .lt-m {
  background: var(--cream);
  color: var(--ink);
  border: 2px solid var(--ink);
  box-shadow: 4px 5px 0 rgba(28, 28, 28, .85);
  font-family: var(--font-title);
  font-weight: 900;
}
body[data-theme="maximalism"] .ld-date {
  background: var(--blue);
  color: #FFF;
  box-shadow: 3px 4px 0 rgba(28, 28, 28, .85);
  font-weight: 900;
}
body[data-theme="maximalism"] .ld-week {
  background: var(--pink);
  color: var(--ink);
}
/* Q122-3：日期+星期放大 1.5 倍（12px→18px），同组同字号（.ld-date/.ld-week 继承） */
body[data-theme="maximalism"] .lock-date {
  font-size: 18px;
}
/* Q122-2/3：矮屏（≤640px 高）阶梯式降档 1.3 倍 + 间距同步（防九宫格被挤出，320×568 实测可用） */
@media (max-height: 640px) {
  body[data-theme="maximalism"] .lock-sub {
    font-size: 18px;
    padding: 3px 10px;
  }
  body[data-theme="maximalism"] .lock-date {
    font-size: 14px;
    margin-top: 6px;
  }
  body[data-theme="maximalism"] .lock-rule {
    margin: 9px auto 11px;
  }
  body[data-theme="maximalism"] .lock-clock { margin: 8px 0 0; }
}
body[data-theme="maximalism"] .lock-pattern-hint {
  background: var(--ink);
  color: var(--yellow);
  border: 2px solid var(--ink);
  font-weight: 900;
  letter-spacing: .05em;
}
body[data-theme="maximalism"] .lock-dot {
  fill: var(--blue);
  opacity: .5;
}
body[data-theme="maximalism"] .lock-dot-g {
  fill: var(--yellow);
}
body[data-theme="maximalism"] .lock-mark {
  stroke: var(--red);
}
body[data-theme="maximalism"] .lock-tip {
  background: var(--cream);
  color: var(--ink);
  border: 2px solid var(--ink);
  box-shadow: 3px 4px 0 rgba(28, 28, 28, .85);
  font-weight: 900;
}

/* 锁屏设置图案弹层 */
body[data-theme="maximalism"] .pat-hint {
  color: var(--ink);
  font-weight: 900;
  background: var(--yellow);
  border: 2px solid var(--ink);
  padding: 6px 10px;
  transform: rotate(-1deg);
}

/* ---------- 8. 弹窗 / 表单（奶油白 + 弹性 pop 入场 + 贴纸标题条） ---------- */
body[data-theme="maximalism"] .modal {
  background: var(--cream);
  border: 2px solid var(--ink);
  box-shadow: 5px 6px 0 rgba(28, 28, 28, .85);
  border-radius: 8px;
  animation: mxPop .28s cubic-bezier(.34, 1.56, .64, 1) both;
}
@keyframes mxPop {
  from { opacity: 0; transform: scale(.86) translateY(10px) rotate(2deg); }
  to   { opacity: 1; transform: scale(1) translateY(0) rotate(0); }
}
body[data-theme="maximalism"] .modal-title {
  color: var(--ink);
  font-family: var(--font-title);
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -.01em;
  border-bottom: 3px solid var(--yellow);
  padding-bottom: 8px;
}
body[data-theme="maximalism"] .modal-body label {
  color: var(--text-sub);
  font-weight: 900;
}
body[data-theme="maximalism"] .modal-body input,
body[data-theme="maximalism"] .modal-body select,
body[data-theme="maximalism"] .modal-body textarea {
  background: #FFF;
  color: var(--ink);
  border: 2px solid var(--ink);
  border-radius: 5px;
  font-weight: 700;
}
body[data-theme="maximalism"] .form-note {
  color: var(--text-sub);
  font-size: 12.5px;
}

/* 删除确认（朱红贴纸 tab） */
body[data-theme="maximalism"] .modal-actions .btn-danger {
  background: var(--red);
  color: #FFF;
}

/* ---------- 9. Toast（彩色纸条） ---------- */
/* Q122-4：修复 toast 不消失+不回中——根因=animation fill-mode:both 挂在 #toast 上（to 帧丢 translateX(-50%)，
   且动画锁死 transform 让 .show 的 translateX(-50%) 永不生效、移除 .show 也不消失）。
   修法：动画改挂 .toast.show，动画 to 帧补回 translateX(-50%)；#toast 不再持有 transform/动画，
   定位/隐藏走基础 .toast 的 translateX(-50%) translateY(-220%)。 */
body[data-theme="maximalism"] #toast {
  background: var(--yellow);
  color: var(--ink);
  border: 2px solid var(--ink);
  box-shadow: 3px 4px 0 rgba(28, 28, 28, .85);
  border-radius: 4px;
  font-weight: 900;
}
body[data-theme="maximalism"] #toast.show {
  animation: mxToastIn .35s cubic-bezier(.34, 1.56, .64, 1) both;
}
@keyframes mxToastIn {
  from { opacity: 0; transform: translateX(-50%) translateY(-10px) rotate(2deg) scale(.92); }
  /* Q122 #4：to 帧去 rotate —— rotate 会让 bbox 中心偏移（实测 -7.5px），信息提示以水平居中为准 */
  to   { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}

/* ---------- 10. 进度条（黄橙双色斜纹 + 尾部 ★ 弹性生长） ---------- */
body[data-theme="maximalism"] .exp-bar,
body[data-theme="maximalism"] .mini-bar,
body[data-theme="maximalism"] .mbar-prog {
  background: var(--bg-2);
  border: 2px solid var(--ink);
  border-radius: 999px;
  overflow: hidden;
}
/* Q126-1：首页等级卡进度条 30px→16px（与模块界面 .exp-bar.small 一致），上下留白加大（10px→22px 间隙） */
body[data-theme="maximalism"] .stage-card .exp-bar.big {
  height: 16px;
  box-shadow: none;
  margin-top: 12px;
  margin-bottom: 12px;
}
/* Q127-1：模块主界面（#page-modules）各模块入口卡进度条高度对齐首页等级卡 16px（.mod-bar = .exp-bar.small.mod-bar，基样式继承 .exp-bar 24px → 压到 16px；极繁下 border-box+overflow:visible，16px 高时星章完整可见） */
body[data-theme="maximalism"] .mod-bar {
  height: 16px;
}
/* Q126-3：星章完整可见——.exp-bar 去 overflow:hidden（fill 自带 border-radius≈bar 内缘半径，形状自洽无需 bar 裁切；
   原 overflow 把 20px 星章在 12px 内容盒里上下各裁 4px，是 Q122#15/Q125#4 未治本的根因） */
body[data-theme="maximalism"] .exp-bar {
  overflow: visible;
}
body[data-theme="maximalism"] .exp-fill {
  background: repeating-linear-gradient(-45deg, var(--yellow) 0 12px, var(--orange) 12px 24px);
  background-size: 200% 100%;
  border-radius: 999px;
}
body[data-theme="maximalism"] .exp-fill.blue {
  background: repeating-linear-gradient(-45deg, var(--blue) 0 12px, #1E57B8 12px 24px);
  background-size: 200% 100%;
}
body[data-theme="maximalism"] .mini-fill {
  background: var(--yellow);
}
body[data-theme="maximalism"] .stage-card.done .exp-fill {
  background: repeating-linear-gradient(-45deg, var(--green) 0 12px, var(--green-dark) 12px 24px);
  background-size: 200% 100%;
}

/* ---------- 11. 图表（弹性点缀） ---------- */
body[data-theme="maximalism"] .rv-tag rect {
  fill: var(--yellow);
}
body[data-theme="maximalism"] .legend-sq {
  border: 1.5px solid var(--ink);
  border-radius: 3px;
}

/* ---------- 12. 动效语言（贴纸 wiggle；3.46：hover 全包 media） ---------- */
@media (hover: hover) {
  body[data-theme="maximalism"] .card:hover {
    transform: translateY(-2px) rotate(-.5deg);
    box-shadow: 6px 7px 0 rgba(28, 28, 28, .85);
    transition: transform .18s cubic-bezier(.34, 1.56, .64, 1), box-shadow .18s cubic-bezier(.34, 1.56, .64, 1);
  }
  body[data-theme="maximalism"] .btn:hover {
    transform: scale(1.03) rotate(.5deg);
  }
}

/* 装饰摇摆（贴纸/油印）——Q123-3：取消所有卡片右上角小标签的左右晃动动效，
   静态微倾角保留在各自定义里（.tag-light rotate(2deg) / .tag-dark rotate(-2deg) / .mh-tag rotate(2deg)） */
body[data-theme="maximalism"] .tag-light,
body[data-theme="maximalism"] .tag-dark,
body[data-theme="maximalism"] .mh-tag {
  /* animation: mxWiggle 3.2s ease-in-out infinite alternate;  — Q123-3 已移除（信息不晃） */
}

/* 页面入场：弹性贴入 */
body[data-theme="maximalism"] .page.active {
  animation: mxPageIn .3s cubic-bezier(.34, 1.56, .64, 1) both;
}
@keyframes mxPageIn {
  from { opacity: 0; transform: scale(.96) translateY(8px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}

/* ---------- 13. 触达区（3.46：小按钮热区 ≥44px） ---------- */
body[data-theme="maximalism"] .btn-sm {
  position: relative;
}
body[data-theme="maximalism"] .btn-sm::after {
  content: '';
  position: absolute; inset: -4px;
}

/* ---------- 14. 滚动条 App 化（3.46） ---------- */
body[data-theme="maximalism"] ::-webkit-scrollbar { width: 6px; height: 6px; }
body[data-theme="maximalism"] ::-webkit-scrollbar-thumb {
  background: var(--blue);
  border-radius: 999px;
}
body[data-theme="maximalism"] ::-webkit-scrollbar-track { background: var(--bg-2); }


/* ============================================================
 * Q121-3 全套落地（33 单元）：极繁 · 收藏墙
 * 性格：单焦点 / 贴纸拼贴 / 弹性 pop / 彩色纸条 Toast / 手写标注
 * 参考：DESIGN-SPEC-Q121 §2.2 / §3 / §4 / §5 极繁列 + style-03-maximalism.html
 * 纪律（3.46）：hover 全包 @media (hover: hover)；触控反馈走 :active；DOM 物理顺序不动
 * ============================================================ */

/* ---------- 15. 质感层：米纸斜纹带 + 卡片底纹（dots/stripe/starfield 平铺纹理） ---------- */
/* 全局斜纹带（固定层，压在所有内容下，pointer-events 穿透） */
body[data-theme="maximalism"]::after {
  content: '';
  position: fixed; inset: 0; z-index: -1;
  pointer-events: none;
  background: repeating-linear-gradient(45deg, transparent 0 16px, rgba(28,28,28,.035) 16px 18px);
}
/* 卡片底纹 class（贴纸拼贴：圆点 / 斜纹 / 星形）——opacity ≤ .14，绝不压在文字正下方 */
body[data-theme="maximalism"] .dots-bg {
  background-image: radial-gradient(rgba(28,28,28,.09) 1.3px, transparent 1.7px);
  background-size: 13px 13px;
}
body[data-theme="maximalism"] .stripe-bg {
  background-image: repeating-linear-gradient(45deg, rgba(28,28,28,.05) 0 2px, transparent 2px 12px);
}
body[data-theme="maximalism"] .starfield {
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24'%3E%3Cpath d='M12 0 L14.5 9.5 L24 12 L14.5 14.5 L12 24 L9.5 14.5 L0 12 L9.5 9.5 Z' fill='rgba(255,255,255,0.16)'/%3E%3C/svg%3E");
  background-size: 44px 44px;
}

/* ---------- 16. 图表/雷达 JS 变量（app.js PALETTE 读这些；极繁=钴蓝曲线 + 墨黑网格 + 奶油白雷达） ---------- */
body[data-theme="maximalism"] {
  --chart-grid: rgba(28, 28, 28, .14);         /* 网格：浅墨点 */
  --chart-trend: #2A6FDB;                      /* 趋势线：钴蓝 */
  --chart-trend-ink: #1C1C1C;                  /* 趋势线内线：墨黑描边 */
  --radar-bg: #FFFDF6;                         /* 雷达底：奶油白 */
  --radar-fill: rgba(42, 111, 219, .22);       /* 雷达数据面：半透明钴蓝 */
  --radar-ring: rgba(28, 28, 28, .08);         /* 雷达环：浅墨 */
  --radar-ink: #1C1C1C;                        /* 雷达标签文字：墨黑 */
  --radar-axis: rgba(28, 28, 28, .4);          /* 雷达网格/轴线：浅墨 */
}

/* ---------- 17. 锁屏完整化（L1 · 4.10：彩色贴纸节点 + 墨黑连线 + 圆形油印解锁） ---------- */
body[data-theme="maximalism"] .lock-pattern-wrap { margin-top: 22px; }
/* 节点：彩色贴纸圆角方块（每点不同色轮换：黄/粉/蓝/绿/橘/紫），白底 + 2px 墨黑边 + 微旋转 */
body[data-theme="maximalism"] .lock-dot {
  fill: #FFFDF6;
  stroke: #1C1C1C;
  stroke-width: 4;
}
body[data-theme="maximalism"] .lock-dot-g:nth-child(1) .lock-dot { fill: #FFD166; }
body[data-theme="maximalism"] .lock-dot-g:nth-child(2) .lock-dot { fill: #FF7BAC; }
body[data-theme="maximalism"] .lock-dot-g:nth-child(3) .lock-dot { fill: #2A6FDB; }
body[data-theme="maximalism"] .lock-dot-g:nth-child(4) .lock-dot { fill: #2A9D8F; }
body[data-theme="maximalism"] .lock-dot-g:nth-child(5) .lock-dot { fill: #F4845F; }
body[data-theme="maximalism"] .lock-dot-g:nth-child(6) .lock-dot { fill: #7B2CBF; }
body[data-theme="maximalism"] .lock-dot-g:nth-child(7) .lock-dot { fill: #FFD166; }
body[data-theme="maximalism"] .lock-dot-g:nth-child(8) .lock-dot { fill: #FF7BAC; }
body[data-theme="maximalism"] .lock-dot-g:nth-child(9) .lock-dot { fill: #2A6FDB; }
/* 已访问：填充该点彩色 + 白星 mark（保持彩色，不黑化） */
body[data-theme="maximalism"] .lock-dot-g.visited .lock-dot {
  fill: #FFD166;
  stroke: #1C1C1C;
  stroke-width: 4;
}
body[data-theme="maximalism"] .lock-mark {
  fill: #FFFFFF;
  stroke: #1C1C1C;
  stroke-width: 3;
}
/* 连线：墨黑 3px 实线 + 端点小圆贴纸感 */
body[data-theme="maximalism"] .lock-line {
  stroke: #1C1C1C;
  stroke-width: 7;
  stroke-dasharray: 9 9;
}
body[data-theme="maximalism"] .lock-live {
  stroke: #2A6FDB;
  stroke-width: 7;
  stroke-dasharray: 7 7;
  opacity: .85;
}
/* 解锁成功：圆形复古油印（双圈 + 虚线内环）+ 彩纸 */
body[data-theme="maximalism"] .lock-stamp {
  background: rgba(230, 57, 70, .1);
  border: 3px solid #E63946;
  outline: 2px dashed rgba(230, 57, 70, .55);
  outline-offset: -6px;
  box-shadow: 10px 10px 0 rgba(28, 28, 28, .5);
  border-radius: 50%;
  width: 96px; height: 96px;
  display: flex; align-items: center; justify-content: center;
}
body[data-theme="maximalism"] .lock-stamp-char { color: #E63946; font-size: 40px; }
body[data-theme="maximalism"] .lock-open {
  background: #FFD166;
  color: #1C1C1C;
  border-color: #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .85);
  font-weight: 900;
}
body[data-theme="maximalism"] .lock-pattern-err {
  background: #E63946;
  color: #FFFDF6;
  border-color: #1C1C1C;
  box-shadow: 5px 5px 0 rgba(28, 28, 28, .85);
  border-radius: 6px;
}
body[data-theme="maximalism"] .lock-flash {
  background: rgba(251, 243, 228, .92);
}
/* 锁屏设置图案（两步）提示：明黄贴纸按钮 */
body[data-theme="maximalism"] .lock-set-btn {
  background: #FFD166;
  color: #1C1C1C;
  border: 2px solid #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .85);
  border-radius: 5px;
  font-weight: 900;
}
/* 锁屏票根：墨黑底 + 明黄字 + 撞色下边 */
body[data-theme="maximalism"] .lock-ticket {
  border-bottom: 4px solid #FFD166;
  border-top: 4px solid #E63946;
}
body[data-theme="maximalism"] .lock-ticket-no {
  background: #E63946;
  color: #FFFDF6;
}

/* ---------- 18. 删除确认弹窗（L6-02 · 3.3：朱红贴纸 tab + 白底） ---------- */
body[data-theme="maximalism"] .modal-mask.del-mode .modal {
  border-color: #E63946;
  box-shadow: 5px 6px 0 rgba(28, 28, 28, .85), 0 0 0 3px rgba(230, 57, 70, .25);
}
body[data-theme="maximalism"] .modal-mask.del-mode .modal-title {
  border-bottom-color: #E63946;
}
body[data-theme="maximalism"] .modal-mask.del-mode .modal-title::before {
  content: '✂ 删掉？！ ';
  color: #E63946;
  font-weight: 900;
}
/* 删除确认确定按钮 = 朱红实心（弹性按压） */
body[data-theme="maximalism"] .modal-mask.del-mode .modal-actions .btn-primary {
  background: #E63946;
  color: #FFFFFF;
}
body[data-theme="maximalism"] .modal-mask.del-mode .modal-actions .btn-primary:active {
  transform: scale(.94) rotate(-1.5deg);
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .85);
}

/* ---------- 19. Toast 彩色纸条（L6-16 · 3.4：白底/明黄底 + 彩色投影 + 状态色） ---------- */
body[data-theme="maximalism"] #toast[data-status="ok"] {
  background: #FFFDF6;
  border-left: 6px solid #2A9D8F;
  box-shadow: 3px 4px 0 rgba(42, 157, 143, .85);
}
body[data-theme="maximalism"] #toast[data-status="err"] {
  background: #FFFDF6;
  border-left: 6px solid #E63946;
  box-shadow: 3px 4px 0 rgba(230, 57, 70, .85);
}
body[data-theme="maximalism"] #toast[data-status="ok"]::before { content: '✓ '; color: #2A9D8F; font-weight: 900; }
body[data-theme="maximalism"] #toast[data-status="err"]::before { content: '✗ '; color: #E63946; font-weight: 900; }

/* ---------- 20. 图表体系（L6-19 · 3.7：柱=撞色渐变/0值=浅米；雷达钴蓝；趋势钴蓝 3px） ---------- */
/* 柱状：今日=明黄撞色 + 顶旗；0 值=浅米矮柱（弱化） */
body[data-theme="maximalism"] .bar-fill {
  border: 2px solid #1C1C1C;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .55);
  border-radius: 3px 3px 0 0;
}
body[data-theme="maximalism"] .bar-fill.today {
  background: repeating-linear-gradient(-45deg, #FFD166 0 6px, #F4845F 6px 12px) !important;
}
body[data-theme="maximalism"] .bar-fill.zero {
  background: rgba(28, 28, 28, .12) !important;
  border-color: rgba(28, 28, 28, .3);
}
body[data-theme="maximalism"] .chart-body { border-bottom: 2px solid #1C1C1C; }
body[data-theme="maximalism"] .chart-x span { font-size: 9.5px; color: rgba(28, 28, 28, .6); font-weight: 900; }
body[data-theme="maximalism"] .legend-sq { border: 1.5px solid #1C1C1C; border-radius: 3px; }
body[data-theme="maximalism"] .legend-line { border-top: 2.5px solid #2A6FDB; border-bottom: 0; }
body[data-theme="maximalism"] .chart-summary {
  background: #FFD166;
  color: #1C1C1C;
  border: 2px solid #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .7);
  font-weight: 900;
  font-size: 12.5px;
}
body[data-theme="maximalism"] .chart-summary b { color: #E63946; }
body[data-theme="maximalism"] .chart-today {
  background: #FFFDF6;
  border: 2px solid #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .7);
  border-radius: 6px;
}
body[data-theme="maximalism"] .ct-head {
  background: #1C1C1C;
  color: #FFFDF6;
  font-weight: 900;
  letter-spacing: .06em;
}
body[data-theme="maximalism"] .ct-head b { color: #FFD166; }
body[data-theme="maximalism"] .ct-item {
  background: #FFFDF6;
  color: #1C1C1C;
  border: 1.5px solid rgba(28, 28, 28, .3);
  border-radius: 4px;
}
body[data-theme="maximalism"] .chart-empty {
  color: rgba(28, 28, 28, .55);
  font-weight: 900;
}
body[data-theme="maximalism"] .chart-lock {
  color: rgba(28, 28, 28, .55);
  font-weight: 900;
}
/* 体重趋势：端点白底黑边圆点贴纸 + 墨黑数值（无底色框） */
body[data-theme="maximalism"] .wt-dot {
  background: #FFFFFF;
  border: 2.5px solid #1C1C1C;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .55);
  border-radius: 50%;
}
body[data-theme="maximalism"] .wt-val {
  color: #1C1C1C;
  font-weight: 900;
  font-size: 14.5px;
  transform: rotate(-2deg);
}
body[data-theme="maximalism"] .legend-dot {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 50%;
}
/* 雷达（Q84 红点对齐不动）：奶油白底 + 钴蓝面 + 墨黑标签（JS 色板走 --radar-* 变量，见 app.js） */
body[data-theme="maximalism"] #radar-wrap svg {
  background: #FFFDF6 !important;
  border: 2px solid #1C1C1C !important;
  box-shadow: 4px 4px 0 rgba(28, 28, 28, .7) !important;
  border-radius: 8px !important;
}
/* 最近 7 天柱 */
body[data-theme="maximalism"] .wbar-wrap {
  background: #FFFDF6;
  border: 2px solid rgba(28, 28, 28, .3);
  border-radius: 6px;
  padding: 3px;
}
body[data-theme="maximalism"] .wbar {
  border: 2px solid #1C1C1C;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .45);
  border-radius: 3px 3px 0 0;
}
body[data-theme="maximalism"] .wbar.today { background: #FFD166; }
body[data-theme="maximalism"] .wval {
  background: #1C1C1C;
  color: #FFD166;
  font-weight: 900;
  font-size: 12px;
  border-radius: 3px;
}
body[data-theme="maximalism"] .wlabel { color: rgba(28, 28, 28, .6); font-size: 10px; font-weight: 900; }
/* 进度条：黄橙双色斜纹 + 尾部 ★ 圆章（style-03 .exp-fill::after 手法） */
body[data-theme="maximalism"] .exp-fill {
  position: relative;   /* ★ 尾章相对 fill 定位 */
  /* Q126-3：fill 去 border-right（星章即端点，消除右缘双重黑边）；min-width:16px 兜底 0% 进度时星章贴 bar 左缘不外探 */
  border-right: none;
  min-width: 16px;
}
/* Q126-3（甲方第三次提出，实测根因修复，不再按描述改）：
   ① 全局 * { box-sizing:border-box } 不匹配伪元素 → ::after 默认 content-box（16 内容 + 2px*2 边框 = 视觉 20px）
   ② .exp-bar 16px 高含 2px 边框 → 内容盒 12px，overflow:hidden 裁切盒 = 12px → 20px 星章上下各被裁 4px（可见仅 12px）
   修法：box-sizing:border-box → 视觉直径 16px = 进度条高；.exp-bar 去 overflow（见 L441 后覆盖）；
   right:0（原 -3px 在 100% 时探出 bar 右缘被裁）；top:50% + translateY(-50%) 垂直居中 */
body[data-theme="maximalism"] .exp-fill::after {
  content: '★';
  position: absolute; right: 0; top: 50%;
  transform: translateY(-50%);
  font-size: 10px; color: #E63946;
  background: #FFFFFF;
  width: 16px; height: 16px;
  box-sizing: border-box;
  border: 2px solid #1C1C1C; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
}
body[data-theme="maximalism"] .exp-bar.big::after {
  background: none;  /* 废土刻度线不适用极繁，清除 */
}

/* ---------- 21. 空态（L6-18：明黄贴纸「空空如也」+ 虚线圆角框） ---------- */
body[data-theme="maximalism"] .diary-empty {
  border: 2px dashed rgba(28, 28, 28, .35);
  color: rgba(28, 28, 28, .6);
  font-weight: 900;
  border-radius: 8px;
  background: rgba(255, 253, 246, .6);
}
body[data-theme="maximalism"] .rem-empty {
  background: rgba(255, 253, 246, .7);
  border: 2px dashed rgba(28, 28, 28, .35);
  border-radius: 8px;
}
body[data-theme="maximalism"] .rem-empty-title { color: #1C1C1C; font-weight: 900; }
body[data-theme="maximalism"] .rem-empty-tip { color: rgba(28, 28, 28, .6); }
/* 空态小人 → 彩色贴纸版：钴蓝底圆片 + 手写感标注 */
body[data-theme="maximalism"] .rem-empty-art {
  filter: none;
  opacity: .9;
  background: rgba(42, 111, 219, .12);
  border: 2px solid rgba(42, 111, 219, .5);
  border-radius: 50%;
}

/* ---------- 22. 贴纸表单聚焦（3.10.5：禁蓝框 + 朱红下划线 + 弹性微放大） ---------- */
body[data-theme="maximalism"] input:focus,
body[data-theme="maximalism"] textarea:focus,
body[data-theme="maximalism"] select:focus {
  outline: none;
  border-bottom: 3px solid #E63946;
  transform: scale(1.02);
  transition: transform .18s cubic-bezier(.34, 1.56, .64, 1), border-color .12s linear;
}
/* 贴纸 select 箭头（手写 ▼） */
body[data-theme="maximalism"] select {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10'%3E%3Ctext y='9' font-size='11' fill='%231C1C1C'%3E%E2%96%BC%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 34px;
}

/* ---------- 23. 开关（3.8：椭圆轨道墨黑 + 圆钮白底；开=明黄/朱红） ---------- */
body[data-theme="maximalism"] .slider {
  background: #EFE5CF;
  border: 2px solid #1C1C1C;
  box-shadow: inset 0 2px 3px rgba(28, 28, 28, .2);
}
body[data-theme="maximalism"] .slider::after {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  box-shadow: 1px 1px 0 rgba(28, 28, 28, .5);
  width: 22px; height: 22px;
  border-radius: 50%;
}
body[data-theme="maximalism"] .switch input:checked + .slider { background: #FFD166; }
body[data-theme="maximalism"] .switch input:checked + .slider::after {
  background: #E63946;
  border-color: #1C1C1C;
}

/* ---------- 24. 难度标签（6.2 对比度红线：小号标签深底浅字；极繁=墨黑字 on 米黄底 / 朱红字 on 白底） ---------- */
body[data-theme="maximalism"] .diff {
  background: #FFFDF6;
  border: 1.5px solid #1C1C1C;
  border-radius: 3px;
  font-weight: 900;
  letter-spacing: .04em;
  transform: none;   /* Q125-1：任务条内难度徽章水平摆放（去 rotate 倾斜） */
}
body[data-theme="maximalism"] .diff-easy   { background: #D9F0E0; color: #1D7A46; border-color: #1D7A46; }
body[data-theme="maximalism"] .diff-normal { background: #FFD166; color: #1C1C1C; }
body[data-theme="maximalism"] .diff-hard   { background: #E63946; color: #FFFFFF; }
body[data-theme="maximalism"] .diff-达标   { background: #D9F0E0; color: #1D7A46; border-color: #1D7A46; }
body[data-theme="maximalism"] .diff-记录   { background: #EDE3FF; color: #7B2CBF; border-color: #7B2CBF; }
body[data-theme="maximalism"] .diff-豁免   { background: #FFE3D9; color: #F4845F; border-color: #F4845F; }

/* ---------- 25. 任务列表（白底贴纸卡微旋转交替 + 彩色图标块 c1-c5 + 完成勾=墨绿块） ---------- */
/* Q122-9：任务卡背景统一浅灰圆点矩阵（rgba(28,28,28,.09) 1.3px/13px，与阶段卡同参数）——
   覆盖首页今日任务 + 学习/健身/健康等模块页全部 .task-item，避免不一致；戒断卡（钴蓝星形）保持层级区分 */
body[data-theme="maximalism"] .task-item {
  background: #FFFFFF;
  background-image: radial-gradient(rgba(28, 28, 28, .09) 1.3px, transparent 1.7px);
  background-size: 13px 13px;
  border: 2px solid #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .55);
  border-radius: 5px;
  padding: 9px;
  transform: none;   /* Q125-1：任务条本体水平摆放（去 rotate 倾斜） */
}
body[data-theme="maximalism"] .task-item:nth-child(even) { transform: none; }
body[data-theme="maximalism"] .task-item.done { opacity: .6; }
body[data-theme="maximalism"] .task-icon {
  background: #FFD166;
  border: 2px solid #1C1C1C;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .5);
  border-radius: 4px;
  color: #1C1C1C;
}
body[data-theme="maximalism"] .task-item:nth-child(3n) .task-icon { background: #FF7BAC; }
body[data-theme="maximalism"] .task-item:nth-child(3n+1) .task-icon { background: #FFD166; }
body[data-theme="maximalism"] .task-item:nth-child(3n+2) .task-icon { background: #2A6FDB; color: #FFFFFF; }
body[data-theme="maximalism"] .task-item.done .task-icon { background: #EFE5CF; }
body[data-theme="maximalism"] .task-del {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  color: #E63946;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .5);
  border-radius: 4px;
  font-weight: 900;
}
body[data-theme="maximalism"] .btn-check,
body[data-theme="maximalism"] .quit-check {
  background: #FFD166;
  border: 2px solid #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .6);
  border-radius: 5px;
  color: #1C1C1C;
  min-height: 44px;
  font-weight: 900;
}
body[data-theme="maximalism"] .btn-check.done,
body[data-theme="maximalism"] .quit-check.done {
  background: #2A9D8F;
  color: #FFFFFF;
  border-color: #1C1C1C;
}
/* 迷你进度条 */
body[data-theme="maximalism"] .mini-bar {
  background: #EFE5CF;
  border: 2px solid #1C1C1C;
  border-radius: 999px;
  height: 10px;
}
body[data-theme="maximalism"] .mini-fill { background: #2A9D8F; border-radius: 999px; }

/* ---------- 26. 首页布局换皮（L2 · 5.2.2 视觉权重表达，DOM 顺序不动） ---------- */
/* 阶段卡：奶油白 + 圆点底纹 + 红色贴纸 tab RANK ★ 等级 */
body[data-theme="maximalism"] .stage-card {
  background: #FFFDF6;
  background-image: radial-gradient(rgba(28, 28, 28, .09) 1.3px, transparent 1.7px);
  background-size: 13px 13px;
  border-radius: 6px;
  box-shadow: 5px 6px 0 rgba(28, 28, 28, .85);
  position: relative;
}
/* Q122-5：三悬浮标签统一定位卡片右上角 + 取消晃动（静态微倾角保留）——阶段卡骑跨 top:-12px
   Q123-2：RANK 标签实测已对齐卡片右上角（masthead 底 62 < 标签顶 66，stage-level 顶 94 > 标签底 91，
   不遮挡任何元素）；z-index 提到 4 防卡内贴纸/内容盖住标签
   Q124-2：RANK 标签直接删除（content:none） */
body[data-theme="maximalism"] .stage-card::before {
  content: none;
}
body[data-theme="maximalism"] .stage-card { margin-top: 16px; }
body[data-theme="maximalism"] .stage-head { margin-bottom: 10px; }
body[data-theme="maximalism"] .stage-level {
  background: #FFD166;
  color: #1C1C1C;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  font-weight: 900;
  font-size: 30px;
  padding: 5px 9px;
  transform: rotate(-3deg);
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .8);
}
body[data-theme="maximalism"] .stage-title { color: #1C1C1C; font-weight: 900; font-size: 22px; }
body[data-theme="maximalism"] .stage-sub { color: rgba(28, 28, 28, .6); font-weight: 700; }
body[data-theme="maximalism"] .stage-exp {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  color: #1C1C1C;
  font-weight: 900;
  font-size: 13.5px;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .5);
}
body[data-theme="maximalism"] .stage-next {
  background: #1C1C1C;
  border-radius: 4px;
  color: #FFFDF6;
  font-weight: 700;
  font-size: 12px;
  padding: 7px 11px;
  margin-top: 10px;
}
body[data-theme="maximalism"] .stage-next b {
  background: #FFD166;
  color: #1C1C1C;
  border-radius: 3px;
  padding: 1px 6px;
  transform: rotate(-1deg);
  display: inline-block;
}
/* Q122-6/7/8：小雪卡——删长条悬浮标签（硬编码 CSS content，非 i18n）+ 删「you got this」硬编码；
   撕纸底边改伪元素锯齿画法（clip-path 会裁 padding 区内容，伪元素不再裁；撕纸观感保留） */
/* Q122-6：基础 style.css .xiaoyue-card::before 的 ✦ sparkle 装饰一并压掉（content:none） */
body[data-theme="maximalism"] .xiaoyue-card::before { content: none; animation: none; }
body[data-theme="maximalism"] .xiaoyue-card {
  background: linear-gradient(135deg, #FF7BAC 0%, #FFB3C8 55%, #FFD166 100%);
  border: 2px solid #1C1C1C;
  box-shadow: none;
  border-radius: 6px;
  padding: 20px 16px 22px;
  filter: drop-shadow(4px 6px 0 rgba(28, 28, 28, .85));
  position: relative;
}
/* 撕纸底边：伪元素三角锯齿（不裁内容；色=卡片渐变底部主色 #FFD166）
   Q123-1：取消 sparkle 动效——撕纸三角横排贴底静态显示（不再扭动/闪烁）
   Q124-1：底部一排三角形装饰整条去掉 → content:none */
body[data-theme="maximalism"] .xiaoyue-card::after {
  content: none;
}
body[data-theme="maximalism"] .xiaoyue-card .xy-avatar {
  background: #FFFFFF;
  color: #FF7BAC;
  border: 2.5px solid #1C1C1C;
  border-radius: 50%;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .85);
  transform: rotate(-4deg);
  font-weight: 900;
  /* Q125-5：雪字图标垂直居中于卡片 + 左上角糖果粉发夹装饰（蝴蝶结贴纸） */
  position: relative;
  align-self: center;
}
/* Q125-5：发夹=糖果粉蝴蝶结，骑跨圆形头像左上角；贴纸风=黑描边+硬投影
   Q126-2：位置修正——原 top:-9/left:-9 使蝴蝶结悬在圆形头像左上角的空白区（圆盒四角无内容，
   实测仅右下角 2px 压到头顶=「偏出去了」）；改 top:-3/left:-4 使蝴蝶结骑跨头像左上角顶部：
   上缘贴头像顶（-3px 相对 padding box = 略出外框 0.5px）、底部压住头顶左上弧、像戴帽；
   不超出卡片（头像顶≈12px，bob 上浮 4px 后蝴蝶结顶仍 ≥ 卡片 padding-box 顶） */
body[data-theme="maximalism"] .xiaoyue-card .xy-avatar::before {
  content: '';
  position: absolute; top: -3px; left: -4px;
  width: 24px; height: 14px;
  background: #FF7BAC;
  border: 2px solid #1C1C1C;
  border-radius: 50% 50% 50% 50% / 62% 62% 38% 38%;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .55);
  transform: rotate(-12deg);
  z-index: 2;
}
/* 蝴蝶结中心小结（糖果粉深一号，压住交叠处）——随蝴蝶结中心 (left+12, top+7)=(8,4)：knot 8px → left:4/top:0 */
body[data-theme="maximalism"] .xiaoyue-card .xy-avatar::after {
  content: '';
  position: absolute; top: 0; left: 4px;
  width: 8px; height: 8px;
  background: #FF5F9E;
  border: 2px solid #1C1C1C; border-radius: 50%;
  box-shadow: 1.5px 1.5px 0 rgba(28, 28, 28, .5);
  z-index: 3;
}
body[data-theme="maximalism"] .xy-bubble { background: transparent; border: none; box-shadow: none; }
body[data-theme="maximalism"] .xy-bubble::before { display: none; }
/* Q124-1：小雪名字/鼓励文字放大（基样式 12px → 16px ≈1.33x；15.5px → 20px ≈1.29x，视觉平衡） */
body[data-theme="maximalism"] .xy-name { color: #1C1C1C; font-weight: 900; font-size: 16px; letter-spacing: 1px; }
body[data-theme="maximalism"] #xy-text { color: #5A2A3A; font-weight: 700; font-size: 20px; }
/* Q122-5/8：记账入口——钱包标签移右上角（去晃动）；撕纸底边改伪元素锯齿（不裁内容）
   Q123-2：钱包标签改骑跨顶边 top:-12px（与阶段卡 RANK 同风格）——375px 实测原内嵌 top:12px 时
   标签纵向 407~432 与右侧 ＋快捷记账钮（y 414~476）重叠遮挡；骑跨后标签底≈408 < 按钮顶 414 不遮挡，
   上方小雪卡底 379 < 标签顶 383 亦不重叠；z-index 提 4 防盖 */
body[data-theme="maximalism"] .exp-entry-bar {
  background: #FFD166;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  padding: 18px 14px 16px;
  margin-bottom: 16px;
  position: relative;
  filter: drop-shadow(4px 6px 0 rgba(28, 28, 28, .85));
}
/* Q124-2：钱包记账标签直接删除（content:none） */
body[data-theme="maximalism"] .exp-entry-bar::before {
  content: none;
}
/* 记账入口撕纸底边（色=卡片底色 #FFD166） */
body[data-theme="maximalism"] .exp-entry-bar::after {
  content: '';
  position: absolute; left: 0; right: 0; bottom: 0; height: 10px;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10'%3E%3Cpath d='M0 0 L14 0 L7 10 Z' fill='%23FFD166'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: 14px 10px;
  z-index: 2;
  pointer-events: none;
}
body[data-theme="maximalism"] .exp-entry-item {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .7);
  color: #1C1C1C;
  padding: 10px;
}
body[data-theme="maximalism"] .exp-entry-ic {
  background: #2A6FDB;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  color: #FFFFFF;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .6);
}
body[data-theme="maximalism"] .exp-entry-today { color: rgba(28, 28, 28, .7); font-weight: 700; }
body[data-theme="maximalism"] .exp-entry-days {
  background: #E63946;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  color: #FFFFFF;
  font-weight: 900;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .6);
}
body[data-theme="maximalism"] .exp-entry-quick {
  background: #2A6FDB;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  color: #FFFFFF;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .7);
  font-weight: 900;
  font-size: 21px;
}
/* Q122-9：今日任务卡背景斜纹 → 统一浅灰圆点矩阵（与阶段卡/.task-item 同参数，避免不一致） */
body[data-theme="maximalism"] #page-home .card:has(#today-progress) {
  background-image: radial-gradient(rgba(28, 28, 28, .09) 1.3px, transparent 1.7px);
  background-size: 13px 13px;
}
body[data-theme="maximalism"] .card .card-head h3 {
  position: relative;
  display: inline-block;
}
body[data-theme="maximalism"] .tag-light {
  background: #FFD166;
  color: #1C1C1C;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  font-weight: 900;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .7);
}
body[data-theme="maximalism"] .tag-dark {
  background: #1C1C1C;
  color: #FFD166;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  font-weight: 900;
}
/* Q123-4：今日戒断卡与模块页任务卡统一——奶油白 + 浅灰圆点矩阵（同阶段卡/.task-item 参数），
   任务条 = .task-item 同款（白底 + 圆点矩阵 + 2px 墨黑边 + 微旋转交替）；去掉钴蓝星形层级区分 */
body[data-theme="maximalism"] #quit-today-card {
  background: #FFFDF6;
  background-image: radial-gradient(rgba(28, 28, 28, .09) 1.3px, transparent 1.7px);
  background-size: 13px 13px;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  box-shadow: 5px 6px 0 rgba(28, 28, 28, .85);
  position: relative;
}
/* Q131-3：首页「今日戒断」标题变品牌红 #FF3B30 */
body[data-theme="maximalism"] #quit-today-card .card-head h3 { color: #FF3B30; }
/* 奶油白卡上 tag 恢复默认明黄（不再白底蓝字） */
body[data-theme="maximalism"] #quit-today-card .tag-light {
  background: #FFD166;
  color: #1C1C1C;
}
body[data-theme="maximalism"] .quit-today-item {
  background: #FFFFFF;
  background-image: radial-gradient(rgba(28, 28, 28, .09) 1.3px, transparent 1.7px);
  background-size: 13px 13px;
  border: 2px solid #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .55);
  border-radius: 5px;
  padding: 9px;
  transform: none;   /* Q125-1：今日戒断任务条本体水平摆放（去 rotate 倾斜） */
  color: #1C1C1C;
}
body[data-theme="maximalism"] .quit-today-item:nth-child(even) { transform: none; }
body[data-theme="maximalism"] .quit-today-item.done { opacity: .6; }
body[data-theme="maximalism"] .quit-today-icon {
  background: #FFD166;
  border: 2px solid #1C1C1C;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .5);
  border-radius: 4px;
  color: #1C1C1C;
}
body[data-theme="maximalism"] .quit-today-status {
  border: 1.5px solid #1C1C1C;
  border-radius: 3px;
  font-weight: 900;
  font-size: 10.5px;
}
body[data-theme="maximalism"] .qs-done { background: #2A9D8F; color: #FFFFFF; border-color: #1C1C1C; }
body[data-theme="maximalism"] .qs-todo { background: #EFE5CF; color: #1C1C1C; border-color: #1C1C1C; }
/* Q124-3：今日戒断卡【完成】按钮与今日任务 .btn-check 同款——未点击=明黄底黑字、点击后=墨绿底白字，
   尺寸统一（min-height 44px / min-width 80px，同 .btn-check 基样式）
   Q125-2：实测对齐 .btn-check——font-size 15px（戒断原继承 .btn 16px 偏大）+ padding:0
   （原继承 .btn 10px 18px 使 done 态宽 104px > 今日任务 80px），done 态补 opacity:.85 同 .btn-check.done */
body[data-theme="maximalism"] .quit-today-btn {
  background: #FFD166;
  color: #1C1C1C;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .6);
  min-height: 44px;
  min-width: 80px;
  font-weight: 900;
  font-size: 15px;
  padding: 0;
}
body[data-theme="maximalism"] .quit-today-btn.done { background: #2A9D8F; color: #FFFFFF; border-color: #1C1C1C; opacity: .85; }

/* ---------- 27. 模块聚合页（L3-1 · 5.2.3：波普撞色条 + 手写欢迎条；模块卡渐变网格） ---------- */
body[data-theme="maximalism"] .note-banner {
  background: #1C1C1C;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  color: #FFD166;
  font-weight: 900;
  letter-spacing: .04em;
  font-size: 12px;
  border-left: 6px solid #E63946;
}
body[data-theme="maximalism"] .mod-card {
  background: linear-gradient(135deg, #FFD166, #FFB3C8);
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .8);
  position: relative;
}
body[data-theme="maximalism"] .mod-card:nth-child(1) { background: linear-gradient(135deg, #FFD166, #FFB3C8); }
body[data-theme="maximalism"] .mod-card:nth-child(2) { background: linear-gradient(135deg, #FF7BAC, #F4845F); }
body[data-theme="maximalism"] .mod-card:nth-child(3) { background: linear-gradient(135deg, #2A6FDB, #7B2CBF); }
body[data-theme="maximalism"] .mod-card:nth-child(4) { background: linear-gradient(135deg, #2A9D8F, #7B2CBF); }
body[data-theme="maximalism"] .mod-card:nth-child(5) { background: linear-gradient(135deg, #F4845F, #E63946); }
body[data-theme="maximalism"] .mod-card:nth-child(6) { background: linear-gradient(135deg, #7B2CBF, #2A6FDB); }
body[data-theme="maximalism"] .mod-card.dark .mod-name,
body[data-theme="maximalism"] .mod-card.dark .mod-en { color: #FFFFFF; }
body[data-theme="maximalism"] .mod-card:nth-child(3) .mod-name,
body[data-theme="maximalism"] .mod-card:nth-child(4) .mod-name,
body[data-theme="maximalism"] .mod-card:nth-child(5) .mod-name,
body[data-theme="maximalism"] .mod-card:nth-child(6) .mod-name,
body[data-theme="maximalism"] .mod-card:nth-child(3) .mod-en,
body[data-theme="maximalism"] .mod-card:nth-child(4) .mod-en,
body[data-theme="maximalism"] .mod-card:nth-child(5) .mod-en,
body[data-theme="maximalism"] .mod-card:nth-child(6) .mod-en { color: #FFFFFF; }
/* 模块卡角标贴纸 ★ */
body[data-theme="maximalism"] .mod-card::after {
  content: '★';
  position: absolute; top: -7px; right: -5px;
  font-size: 12px; color: #E63946;
  background: #FFD166;
  border: 2px solid #1C1C1C; border-radius: 50%;
  width: 21px; height: 21px;
  display: flex; align-items: center; justify-content: center;
  transform: rotate(14deg);
  z-index: 2;
}
body[data-theme="maximalism"] .mod-card:nth-child(3)::after,
body[data-theme="maximalism"] .mod-card:nth-child(4)::after,
body[data-theme="maximalism"] .mod-card:nth-child(6)::after { color: #FFD166; background: #2A6FDB; }
body[data-theme="maximalism"] .mod-top { border-bottom: 2px solid rgba(28, 28, 28, .2); padding: 10px 12px; }
body[data-theme="maximalism"] .mod-ic {
  background: rgba(255, 255, 255, .85);
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .6);
  color: #1C1C1C;
  transform: rotate(-3deg);
}
body[data-theme="maximalism"] .mod-name { color: #1C1C1C; font-weight: 900; }
body[data-theme="maximalism"] .mod-en { color: rgba(28, 28, 28, .65); font-weight: 700; }
body[data-theme="maximalism"] .mod-combo {
  background: #1C1C1C;
  border: 2px solid #1C1C1C;
  border-radius: 999px;
  color: #FFD166;
  font-weight: 900;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .6);
  transform: none;   /* Q124-2：右上标签去静态倾角（基样式 rotate(2deg) 覆盖掉） */
}
body[data-theme="maximalism"] .mod-combo b { color: #FFFFFF; }
body[data-theme="maximalism"] .mod-done {
  background: rgba(255, 255, 255, .8);
  border: 2px solid #1C1C1C;
  border-radius: 999px;
  color: #2A9D8F;
  font-weight: 900;
}
body[data-theme="maximalism"] .mod-meta { color: rgba(28, 28, 28, .7); font-weight: 700; }
/* Q128-1：模块入口卡进度条右侧纯展示箭头 → 删除（display:none，隔离极繁；记账卡 exp-quick-btn ＋号不是箭头，排除保留） */
body[data-theme="maximalism"] .mod-card .mod-arrow:not(.exp-quick-btn) { display: none; }
/* 模块摘要 chips */
body[data-theme="maximalism"] .ms-chip {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  color: #1C1C1C;
  font-weight: 900;
  font-size: 12px;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .5);
}
body[data-theme="maximalism"] .ms-chip b { color: #E63946; }
body[data-theme="maximalism"] .ms-chip.ms-name { background: #FFD166; }
body[data-theme="maximalism"] .ms-chip.ms-need { background: #2A9D8F; color: #FFFFFF; border-color: #2A9D8F; }
body[data-theme="maximalism"] .ms-chip.ms-need b { color: #FFFFFF; }

/* ---------- 28. 功能页通用（L3-2~L3-8：range-btn 彩色贴纸 / chart-box / 睡眠 / 戒断） ---------- */
body[data-theme="maximalism"] .range-btn {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 999px;
  color: rgba(28, 28, 28, .65);
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .45);
  min-height: 34px;
  font-weight: 900;
  font-size: 12px;
}
body[data-theme="maximalism"] .range-btn.active {
  background: #FFD166;
  color: #1C1C1C;
  border-color: #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .7);
}
body[data-theme="maximalism"] .chart-box {
  background: #FFFDF6;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .5);
}
/* 作息：睡眠目标卡 + 周达标 */
body[data-theme="maximalism"] .sleep-goal b { color: #E63946; font-weight: 900; }
body[data-theme="maximalism"] .sleep-meta { color: rgba(28, 28, 28, .6); font-weight: 700; }
body[data-theme="maximalism"] .sleep-meta b { color: #1C1C1C; font-weight: 900; }
/* Q128-2：作息「本周达标」周图标改极繁贴纸（奶油白底 + 彩色描边轮换 + 圆角方块 + 硬投影 + 微旋转；
   色轮与锁屏彩点同语言：黄/粉/蓝/绿/橘/紫，周一→周日轮换；达标=墨绿实心白字贴纸感，未达标=奶油白底彩色描边） */
body[data-theme="maximalism"] .wdot {
  height: 40px;
  background: #FFFDF6;
  border: 2px solid #1C1C1C;
  border-radius: 8px;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .35);
  color: #1C1C1C;
  font-size: 14px;
  font-weight: 900;
  transform: rotate(-2deg);
}
body[data-theme="maximalism"] .wdot:nth-child(even) { transform: rotate(2deg); }
body[data-theme="maximalism"] .wdot:nth-child(1) { border-color: #FFD166; }
body[data-theme="maximalism"] .wdot:nth-child(2) { border-color: #FF7BAC; }
body[data-theme="maximalism"] .wdot:nth-child(3) { border-color: #2A6FDB; }
body[data-theme="maximalism"] .wdot:nth-child(4) { border-color: #2A9D8F; }
body[data-theme="maximalism"] .wdot:nth-child(5) { border-color: #F4845F; }
body[data-theme="maximalism"] .wdot:nth-child(6) { border-color: #7B2CBF; }
body[data-theme="maximalism"] .wdot:nth-child(7) { border-color: #FFD166; }
/* 达标 = 墨绿实心 + 白字 + 贴纸感（墨黑描边 + 硬投影加重 + 微旋转保持） */
body[data-theme="maximalism"] .wdot.on {
  background: #2A9D8F;
  color: #FFFDF6;
  border-color: #1C1C1C;
  box-shadow: 4px 4px 0 rgba(28, 28, 28, .85);
}
/* 戒断卡（Q130-4）：去钴蓝星形——与首页今日戒断卡同款：奶油白底 + 浅灰圆点矩阵 + 2px 墨黑边 + 圆角 6 + 硬投影（贴纸风）
   Q131-1：任务样式统一健身——flex 水平布局（icon + 正文 + 删除 + 完成按钮，同 .task-item）；右上角「QUIT ☆ 戒断」标签删除 */
body[data-theme="maximalism"] .quit-card {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #FFFDF6;
  background-image: radial-gradient(rgba(28, 28, 28, .09) 1.3px, transparent 1.7px);
  background-size: 13px 13px;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  box-shadow: 4px 5px 0 rgba(28, 28, 28, .8);
  position: relative;
}
body[data-theme="maximalism"] .quit-card.done { opacity: .6; }
body[data-theme="maximalism"] .quit-body { flex: 1; min-width: 0; }
body[data-theme="maximalism"] .quit-name { color: #1C1C1C; font-weight: 900; font-size: 16px; }
body[data-theme="maximalism"] .quit-meta { color: rgba(28, 28, 28, .75); font-weight: 700; font-size: 12px; margin-top: 2px; line-height: 1.5; }
body[data-theme="maximalism"] .quit-icon { background: #FFD166; border: 2px solid #1C1C1C; border-radius: 4px; box-shadow: 2px 2px 0 rgba(28, 28, 28, .5); color: #1C1C1C; }
body[data-theme="maximalism"] .quit-head b { color: #1C1C1C; font-weight: 900; }
body[data-theme="maximalism"] .quit-stats { color: rgba(28, 28, 28, .75); font-weight: 700; }
body[data-theme="maximalism"] .quit-stats b { color: #2A9D8F; font-weight: 900; }
body[data-theme="maximalism"] .quit-del { background: #FFFFFF; border: 2px solid #1C1C1C; border-radius: 4px; color: #E63946; }
body[data-theme="maximalism"] .quit-act {
  background: #FFD166;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  color: #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .7);
  min-height: 44px;
  font-weight: 900;
}
/* ---------- 29. 日记（L3-6 · 5.2.5：白底贴纸卡撕纸底边 + 日期手写 + 心情色块保留语义） ---------- */
body[data-theme="maximalism"] .card-yellow {
  background: linear-gradient(135deg, #FFD166, #FF7BAC);
  border-color: #1C1C1C;
}
body[data-theme="maximalism"] .mood {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  color: #1C1C1C;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .45);
}
body[data-theme="maximalism"] .mood.active {
  background: #FFD166;
  border-color: #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .7);
}
/* 心情色块：高饱和撞色（语义不变） */
body[data-theme="maximalism"] .mood[data-mood="开心"] .mood-sq { background: #2A9D8F !important; }
body[data-theme="maximalism"] .mood[data-mood="一般"] .mood-sq { background: #FFD166 !important; }
body[data-theme="maximalism"] .mood[data-mood="低落"] .mood-sq { background: #7B2CBF !important; }
body[data-theme="maximalism"] .mood[data-mood="烦躁"] .mood-sq { background: #E63946 !important; }
body[data-theme="maximalism"] .mood[data-mood="疲惫"] .mood-sq { background: #F4845F !important; }
body[data-theme="maximalism"] textarea,
body[data-theme="maximalism"] .diary-search input[type="text"],
body[data-theme="maximalism"] .search-row input[type="date"] {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  color: #1C1C1C;
}
body[data-theme="maximalism"] textarea { min-height: 96px; }
body[data-theme="maximalism"] .diary-item {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .5);
  padding: 11px;
  transform: rotate(-.3deg);
}
body[data-theme="maximalism"] .diary-item:nth-child(even) { transform: rotate(.3deg); }
body[data-theme="maximalism"] .diary-date {
  background: #FFD166;
  color: #1C1C1C;
  border-radius: 3px;
  font-weight: 900;
  letter-spacing: .04em;
}
body[data-theme="maximalism"] .diary-mood {
  background: #F1E7D2;
  border: 1.5px solid #1C1C1C;
  border-radius: 3px;
  color: #1C1C1C;
  font-weight: 900;
}
body[data-theme="maximalism"] .diary-text { color: #1C1C1C; }
body[data-theme="maximalism"] .d-sum { color: #1C1C1C; }
body[data-theme="maximalism"] .d-arrow { color: rgba(28, 28, 28, .55); font-weight: 900; }
body[data-theme="maximalism"] .diary-date-bar {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  color: #1C1C1C;
}
body[data-theme="maximalism"] .diary-date-bar.placeholder { color: rgba(28, 28, 28, .4); }
body[data-theme="maximalism"] .date-picker-pop {
  background: #FFFDF6;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  box-shadow: 4px 5px 0 rgba(28, 28, 28, .7);
}
body[data-theme="maximalism"] .dp-item {
  background: #FFFFFF;
  border: 2px solid rgba(28, 28, 28, .3);
  border-radius: 4px;
  color: #1C1C1C;
  font-weight: 900;
}
body[data-theme="maximalism"] .dp-item.sel { background: #FFD166; color: #1C1C1C; border-color: #1C1C1C; }
body[data-theme="maximalism"] .dp-item.clear { background: #EFE5CF; color: rgba(28, 28, 28, .6); }
/* 日记详情页 */
body[data-theme="maximalism"] .diary-detail {
  background: #FFFDF6;
  border: 2px solid #1C1C1C;
  border-radius: 8px;
}
body[data-theme="maximalism"] .diary-detail .dd-date {
  background: #FFD166;
  color: #1C1C1C;
  border-radius: 3px;
  font-weight: 900;
}
body[data-theme="maximalism"] .diary-detail .dd-mood { background: #F1E7D2; color: #1C1C1C; border: 1.5px solid #1C1C1C; border-radius: 3px; font-weight: 900; }
body[data-theme="maximalism"] .diary-detail .dd-title { color: #1C1C1C; font-weight: 900; }
body[data-theme="maximalism"] .diary-detail .dd-text {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  color: #1C1C1C;
}
body[data-theme="maximalism"] .dd-actions .dd-back {
  background: #FFD166;
  color: #1C1C1C;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .7);
}
body[data-theme="maximalism"] .dd-actions .dd-del-sm {
  background: #FFFFFF;
  color: #E63946;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .5);
  opacity: .8;
}

/* ---------- 30. 健康（L3-7 · 5.2.6：BMI 明黄卡 + 体重行贴纸） ---------- */
body[data-theme="maximalism"] .bmi-num {
  background: #FFD166;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  color: #1C1C1C;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .5);
}
body[data-theme="maximalism"] .bmi-num span { color: rgba(28, 28, 28, .65); }
body[data-theme="maximalism"] .weight-item {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  color: #1C1C1C;
}
body[data-theme="maximalism"] .weight-item .wi-date {
  background: #FFD166;
  color: #1C1C1C;
  border-radius: 3px;
  font-weight: 900;
}

/* ---------- 31. 记账（L3-8 · 5.2.7：汇总明黄卡 + Top5 彩色横条 + 预算 ★ 尾章） ---------- */
body[data-theme="maximalism"] .exp-sum-card {
  background: #FFD166;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  box-shadow: 5px 6px 0 rgba(28, 28, 28, .85);
  position: relative;
}
/* Q124-5①：今日已花卡片【今日花销】小标签删除（content:none） */
body[data-theme="maximalism"] .exp-sum-card::before {
  content: none;
}
body[data-theme="maximalism"] .exp-sum-item {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .5);
  color: #1C1C1C;
}
body[data-theme="maximalism"] .exp-sum-label { color: rgba(28, 28, 28, .65); font-weight: 900; letter-spacing: .04em; }
body[data-theme="maximalism"] .exp-sum-num { color: #E63946; font-weight: 900; font-size: 20px; }
body[data-theme="maximalism"] .exp-budget-bar { background: #FFFFFF; border: 2px solid #1C1C1C; border-radius: 999px; box-shadow: inset 2px 2px 0 rgba(28, 28, 28, .15); }
body[data-theme="maximalism"] .exp-budget-fill {
  background: repeating-linear-gradient(-45deg, #FFD166 0 8px, #F4845F 8px 16px);
  background-size: 200% 100%;
  border-radius: 999px;
}
body[data-theme="maximalism"] .exp-budget-fill.over { background: #E63946; }
body[data-theme="maximalism"] .exp-budget-fill.warn { background: #F4845F; }
body[data-theme="maximalism"] .exp-budget-text { color: #1C1C1C; font-weight: 900; }
body[data-theme="maximalism"] .exp-budget-text.over { color: #E63946; }
body[data-theme="maximalism"] .exp-budget-text.warn { color: #F4845F; }
/* Q124-5②：【设置预算】按钮与左边文字同一行（文字左、按钮右） */
body[data-theme="maximalism"] .exp-budget-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  /* Q125-6：设置预算按钮与上方预算进度条/下方均留间距（原贴进度条不好看） */
  margin-top: 12px;
  margin-bottom: 8px;
}
body[data-theme="maximalism"] .exp-budget-row .exp-budget-text { margin-top: 0; flex: 1; }
body[data-theme="maximalism"] .exp-budget-row .exp-budget-edit { margin-top: 0; flex: none; }
/* Q122-10：戒烟联动卡重做（B6 拍板）——奶油白底 + 2px 墨黑边 + 圆角 6 + 硬投影 + 墨绿贴纸 tab「省钱」
   + 44px 墨绿圆形图标；文案两行由 exp_save_text 键值 <br> 拆行（并行实现），「（估算）」信任红线一字不缩；
   两处位置（记账页 exp-save-card / 戒断页 quit-save-card）共用 .exp-save-card 类一次同步改；
   tab 文案走 i18n：JS renderExpenseSave 写 data-tab（zh=省钱 / ko=절약），双语不硬编码
   Q123-6：tab 改内嵌右上角 top:12px/right:14px（不再骑跨 top:-12px 超出卡边界），上边距/右边距统一 */
body[data-theme="maximalism"] .exp-save-card {
  background: #FFFDF6;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  box-shadow: 5px 6px 0 rgba(28, 28, 28, .85);
  position: relative;
}
body[data-theme="maximalism"] .exp-save-card::before {
  content: attr(data-tab);
  position: absolute; top: 12px; right: 14px;
  background: #2A9D8F; color: #FFFFFF;
  border: 2px solid #1C1C1C; border-radius: 4px;
  font-weight: 900; font-size: 10.5px; letter-spacing: .08em;
  padding: 3px 10px;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .8);
  z-index: 4;
}
body[data-theme="maximalism"] .exp-save-ic {
  flex: none; width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  background: #2A9D8F; color: #FFFFFF;
  border: 2px solid #1C1C1C; border-radius: 50%;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .6);
  transform: rotate(-3deg);
}
/* Q122-10：内层 <b>{d}</b>/<b>{y}</b> 恢复 inline，换行由 i18n 键值 <br> 控制（style.css 默认 b display:block 会四行乱排） */
body[data-theme="maximalism"] .exp-save-info b { color: #1C1C1C; display: inline; }
body[data-theme="maximalism"] .exp-save-ic svg { width: 26px; height: 26px; }
body[data-theme="maximalism"] .exp-save-sub { color: rgba(28, 28, 28, .6); }
/* Top5 横向条：彩色渐变 */
body[data-theme="maximalism"] .exp-top-bar { background: #EFE5CF; border: 2px solid rgba(28, 28, 28, .25); border-radius: 999px; }
body[data-theme="maximalism"] .exp-top-name { color: #1C1C1C; font-weight: 900; font-size: 12px; }
body[data-theme="maximalism"] .exp-top-val { color: #1C1C1C; font-weight: 900; font-size: 11px; }
body[data-theme="maximalism"] .exp-top-val span { color: rgba(28, 28, 28, .55); }
body[data-theme="maximalism"] .exp-review-sum { background: #FFFDF6; border: 2px solid #1C1C1C; border-radius: 6px; color: #1C1C1C; }
body[data-theme="maximalism"] .exp-review-val { color: #E63946; font-weight: 900; }
/* Q124-5③：月度复盘一行布局——左=最大类目，右=环比上月+值（justify-between） */
body[data-theme="maximalism"] .exp-review-line.exp-review-top { justify-content: space-between; }
body[data-theme="maximalism"] .exp-review-mom { display: inline-flex; align-items: center; gap: 6px; }
/* 明细 */
body[data-theme="maximalism"] .exp-group-head { background: #1C1C1C; color: #FFD166; font-weight: 900; letter-spacing: .04em; }
body[data-theme="maximalism"] .exp-group-sum { color: #FFFDF6; font-weight: 900; }
body[data-theme="maximalism"] .exp-item { background: #FFFFFF; border: 2px solid #1C1C1C; border-top: none; color: #1C1C1C; }
body[data-theme="maximalism"] .exp-item-ic { border: 2px solid #1C1C1C; background: #FFD166; border-radius: 4px; color: #1C1C1C; }
body[data-theme="maximalism"] .exp-item-note { color: rgba(28, 28, 28, .6); }
body[data-theme="maximalism"] .exp-item-amt { color: #E63946; font-weight: 900; }
body[data-theme="maximalism"] .exp-item-del { background: #FFFFFF; border: 2px solid #E63946; border-radius: 4px; color: #E63946; box-shadow: 2px 2px 0 rgba(28, 28, 28, .4); }
body[data-theme="maximalism"] .exp-item-time { color: rgba(28, 28, 28, .55); }
/* 记账弹层 chips / 日期：彩色贴纸 chip */
body[data-theme="maximalism"] .exp-chip {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 999px;
  color: #1C1C1C;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .45);
  min-height: 40px;
  font-size: 13px;
  font-weight: 900;
}
body[data-theme="maximalism"] .exp-chip.active {
  background: #FFD166;
  color: #1C1C1C;
  border-color: #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .65);
  transform: rotate(-1deg);
}
body[data-theme="maximalism"] .exp-date-chip {
  background: #FFFFFF;
  border: 2px solid rgba(28, 28, 28, .35);
  border-radius: 999px;
  color: #1C1C1C;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .35);
  min-height: 36px;
  font-weight: 900;
}
body[data-theme="maximalism"] .exp-date-chip.active { background: #FFD166; color: #1C1C1C; border-color: #1C1C1C; }
body[data-theme="maximalism"] .exp-detail-picker input {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  color: #1C1C1C;
}
/* 类别管理 */
body[data-theme="maximalism"] .exp-cat-edit-list { border: 2px solid rgba(28, 28, 28, .3); border-radius: 6px; }
body[data-theme="maximalism"] .exp-cat-edit-row { border-bottom: 2px dashed rgba(28, 28, 28, .2); }
body[data-theme="maximalism"] .exp-cat-edit-name { color: #1C1C1C; font-weight: 900; }

/* ---------- 32. 统计页 + 提醒中心（L4 · 5.2.8：雷达卡奶油白圆点底纹 + 钴蓝贴纸 tab + 连击行墨黑胶囊） ---------- */
body[data-theme="maximalism"] .cst-card { padding-top: 0; }
/* Q122-12/14：五维能力雷达 + 能力成长 两 banner 去奶油白底+墨黑边框，保留 padding（标题不贴边）+ 右侧 tag 保留；
   cst-green（最近 7 天经验）不在本轮范围，保持原奶油白卡样式 */
body[data-theme="maximalism"] .cst-banner.cst-blue,
body[data-theme="maximalism"] .cst-banner.cst-yellow {
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  margin: 0 -14px 14px;
  padding: 10px 14px;
  position: relative;
}
body[data-theme="maximalism"] .cst-banner {
  background: #FFFDF6;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  margin: 0 -14px 14px;
  padding: 10px 14px;
  position: relative;
}
/* Q124-7：最近7天经验卡 banner 去黑色相框（与 cst-blue/cst-yellow 一致：仅保留卡片本身黑框） */
body[data-theme="maximalism"] .cst-banner.cst-green {
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  margin: 0 -14px 14px;
  padding: 10px 14px;
}
body[data-theme="maximalism"] .cst-banner h3 { color: #1C1C1C; font-weight: 900; }
body[data-theme="maximalism"] .cst-blue h3 { color: #1C1C1C; }
body[data-theme="maximalism"] .cst-yellow h3 { color: #1C1C1C; }
body[data-theme="maximalism"] .cst-green h3 { color: #1C1C1C; }
/* Q131-5：个人能力勋章卡（甲方补充：①不倾斜水平摆放 ②宽度与最近7天经验卡同款=全宽 ③红标签放左侧左对齐
   ④标签换行显示做成云词样式（大小不一、不规则）⑤全部显示不轮播）——位置移到最近 7 天经验下方 */
body[data-theme="maximalism"] .abil-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 9px;
  background: #FFFDF6;
  border: 2px solid #1C1C1C;
  outline: 2px dashed rgba(28, 28, 28, .4);
  outline-offset: 3px;
  border-radius: 8px;
  box-shadow: 4px 4px 0 rgba(28, 28, 28, .7);
  padding: 12px 14px;
  margin: 16px 0;
}
body[data-theme="maximalism"] .abil-label {
  align-self: flex-start;
  background: #E63946;
  color: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  font-weight: 900;
  letter-spacing: .12em;
  font-size: 10.5px;
  padding: 3px 8px;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .5);
}
/* 云词标签：换行 flex wrap，大小/颜色/角度错落，全部显示 */
body[data-theme="maximalism"] .abil-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  align-items: baseline;
  justify-content: flex-start;
}
body[data-theme="maximalism"] .abil-tag {
  display: inline-block;
  background: #FFFFFF;
  color: #1C1C1C;
  border: 2px solid #1C1C1C;
  border-radius: 5px;
  font-weight: 900;
  padding: 4px 10px;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .45);
  white-space: nowrap;
}
body[data-theme="maximalism"] .abil-tag.s { font-size: 12px; }
body[data-theme="maximalism"] .abil-tag.m { font-size: 14px; }
body[data-theme="maximalism"] .abil-tag.l { font-size: 17px; padding: 5px 12px; }
body[data-theme="maximalism"] .abil-tag-b { background: #2A6FDB; color: #FFFFFF; }
body[data-theme="maximalism"] .abil-tag-w { background: #FFFFFF; }
body[data-theme="maximalism"] .abil-tag-p { background: #FF7BAC; }
body[data-theme="maximalism"] .abil-empty { color: rgba(28, 28, 28, .6); font-size: 13px; font-weight: 900; }
/* 连击小标签（仅 #full-chip 隐藏占位使用，Q124-6 不显示） */
body[data-theme="maximalism"] .combo-chip {
  background: #1C1C1C;
  border: 2px solid #1C1C1C;
  border-radius: 999px;
  color: #FFD166;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .5);
  font-weight: 900;
  font-size: 12px;
}
body[data-theme="maximalism"] .combo-chip b { color: #FFFFFF; font-weight: 900; }
body[data-theme="maximalism"] .combo-chip.dim { background: #EFE5CF; border-color: rgba(28, 28, 28, .3); opacity: .6; color: rgba(28, 28, 28, .6); }
body[data-theme="maximalism"] .combo-chip.gold, body[data-theme="maximalism"] .combo-chip.gold-crown {
  background: #FFD166;
  border-color: #FFD166;
  color: #1C1C1C;
}
body[data-theme="maximalism"] .combo-chip.gold b, body[data-theme="maximalism"] .combo-chip.gold-crown b { color: #E63946; }
/* Q131-4：连击数卡片（能力成长卡删除 → 每模块连击卡片）——2 列网格贴纸卡，按模块清晰可见；
   连击 0 灰态；金冠/里程碑样式并入保留（👑 角标 + 明黄底） */
body[data-theme="maximalism"] .combo-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
body[data-theme="maximalism"] .combo-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  background: #FFFDF6;
  background-image: radial-gradient(rgba(28, 28, 28, .09) 1.3px, transparent 1.7px);
  background-size: 13px 13px;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .6);
  padding: 10px 9px;
  min-width: 0;
}
body[data-theme="maximalism"] .combo-card:nth-child(odd) { transform: rotate(-.8deg); }
body[data-theme="maximalism"] .combo-card:nth-child(even) { transform: rotate(.8deg); }
/* 连击 0：灰态显示 */
body[data-theme="maximalism"] .combo-card.dim {
  background: #EFE5CF;
  border-color: rgba(28, 28, 28, .3);
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .3);
  opacity: .75;
}
body[data-theme="maximalism"] .combo-card.dim .combo-card-combo b { color: rgba(28, 28, 28, .45); }
/* 金冠：明黄底 + 皇冠角标（里程碑达成保留数日） */
body[data-theme="maximalism"] .combo-card.gold-crown {
  background: #FFD166;
  border-color: #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .65);
}
body[data-theme="maximalism"] .combo-card-crown {
  position: absolute;
  top: -11px;
  right: 8px;
  font-size: 16px;
  line-height: 1;
  filter: drop-shadow(1px 1px 0 rgba(28, 28, 28, .5));
}
body[data-theme="maximalism"] .combo-card-ic {
  flex: none;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .45);
  color: #1C1C1C;
}
body[data-theme="maximalism"] .combo-card-ic svg { width: 20px; height: 20px; }
body[data-theme="maximalism"] .combo-card-main { flex: 1; min-width: 0; }
body[data-theme="maximalism"] .combo-card-name { color: #1C1C1C; font-weight: 900; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body[data-theme="maximalism"] .combo-card-combo { color: rgba(28, 28, 28, .8); font-weight: 900; font-size: 12px; margin-top: 2px; white-space: nowrap; }
body[data-theme="maximalism"] .combo-card-combo b { font-size: 20px; color: #E63946; }
/* 提醒中心：彩色卡片列表 */
body[data-theme="maximalism"] .reminder-item {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .5);
  padding: 11px;
}
body[data-theme="maximalism"] .reminder-item.custom {
  background: #FFFDF6;
  border-color: #2A6FDB;
}
body[data-theme="maximalism"] .r-icon { background: #FFD166; border: 2px solid #1C1C1C; border-radius: 50%; }
body[data-theme="maximalism"] .r-icon.sys-red { background: #E63946; }
body[data-theme="maximalism"] .r-icon.sys-blue { background: #2A6FDB; }
body[data-theme="maximalism"] .r-icon.sys-blue svg, body[data-theme="maximalism"] .r-icon.sys-red svg { stroke: #FFFFFF; }
body[data-theme="maximalism"] .r-icon.sys-red svg path:last-child { stroke: #FFFFFF; }
body[data-theme="maximalism"] .reminder-item.custom .r-icon { background: #2A6FDB; border-color: #2A6FDB; }
body[data-theme="maximalism"] .reminder-item.custom .r-icon svg { stroke: #FFFFFF; }
body[data-theme="maximalism"] .r-title { color: #1C1C1C; font-weight: 900; }
body[data-theme="maximalism"] .r-text { color: rgba(28, 28, 28, .6); }
body[data-theme="maximalism"] .r-type { background: #1C1C1C; color: #FFD166; border-radius: 999px; font-weight: 900; letter-spacing: .04em; }
body[data-theme="maximalism"] .r-time { background: #EFE5CF; color: #1C1C1C; border-radius: 3px; font-weight: 900; }
body[data-theme="maximalism"] .rem-del { background: #FFFFFF; border: 2px solid #1C1C1C; border-radius: 4px; color: #E63946; min-height: 40px; min-width: 44px; }
body[data-theme="maximalism"] .rem-fired { background: #EFE5CF; border: 1.5px solid rgba(28, 28, 28, .3); border-radius: 4px; color: rgba(28, 28, 28, .55); }

/* ---------- 33. 设置页（L5 · 5.2.9：分组贴纸列表 + 撞色分隔 + 明黄开关 + 成就细彩条） ---------- */
body[data-theme="maximalism"] .set-ic {
  background: #FFD166;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  color: #1C1C1C;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .5);
}
body[data-theme="maximalism"] .set-info b { color: #1C1C1C; font-weight: 900; }
body[data-theme="maximalism"] .set-desc { color: rgba(28, 28, 28, .6); }
body[data-theme="maximalism"] .set-chev { color: #E63946; font-weight: 900; }
body[data-theme="maximalism"] .set-collapse { border-top: 2px dashed rgba(28, 28, 28, .25); }
body[data-theme="maximalism"] .ach-entry-count { background: #1C1C1C; color: #FFD166; border-radius: 999px; font-weight: 900; }
/* 语言/货币按钮 */
body[data-theme="maximalism"] .lang-btn {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  color: #1C1C1C;
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .45);
  min-height: 44px;
  font-weight: 900;
}
body[data-theme="maximalism"] .lang-btn.active { background: #FFD166; color: #1C1C1C; border-color: #1C1C1C; box-shadow: 3px 3px 0 rgba(28, 28, 28, .65); }
body[data-theme="maximalism"] .lang-btn .lb-tag { background: #1C1C1C; color: #FFD166; border: 1.5px solid #1C1C1C; border-radius: 3px; }
body[data-theme="maximalism"] .lang-btn.active .lb-tag { background: #E63946; color: #FFFFFF; }
/* 个人信息表单 */
body[data-theme="maximalism"] .profile-grid input,
body[data-theme="maximalism"] .profile-grid select {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  color: #1C1C1C;
}
/* 称谓管理 */
body[data-theme="maximalism"] .title-idx { background: #FFD166; color: #1C1C1C; border: 2px solid #1C1C1C; border-radius: 4px; font-weight: 900; }
body[data-theme="maximalism"] .title-row input { background: #FFFFFF; border: 2px solid #1C1C1C; border-radius: 4px; color: #1C1C1C; }
body[data-theme="maximalism"] .title-group-row select { background: #FFFFFF; border: 2px solid #1C1C1C; border-radius: 4px; color: #1C1C1C; }
body[data-theme="maximalism"] .title-note { color: rgba(28, 28, 28, .6); }
/* 成就网格 */
body[data-theme="maximalism"] .ach-item { border: 2px solid rgba(28, 28, 28, .3); border-radius: 6px; box-shadow: 2px 2px 0 rgba(28, 28, 28, .4); padding: 9px 5px 7px; }
body[data-theme="maximalism"] .ach-item.unlocked { background: #FFFDF6; }
body[data-theme="maximalism"] .ach-item.locked { background: #EFE5CF; }
body[data-theme="maximalism"] .ach-icon { background: #1C1C1C; border: 2px solid #1C1C1C; border-radius: 50%; }
body[data-theme="maximalism"] .ach-name { color: #1C1C1C; font-weight: 900; font-size: 12px; }
body[data-theme="maximalism"] .ach-stamp { background: #E63946; color: #FFFFFF; border: 1.5px solid #1C1C1C; border-radius: 3px; font-weight: 900; }
body[data-theme="maximalism"] .ach-progress { background: #1C1C1C; color: #FFD166; border-radius: 3px; font-weight: 900; }
/* Q111 成就锁定进度条：细彩条 */
body[data-theme="maximalism"] .ach-prog-bar { border: 1.5px solid rgba(28, 28, 28, .3); border-radius: 999px; }
body[data-theme="maximalism"] .ach-prog-bar i {
  background: repeating-linear-gradient(-45deg, #FFD166 0 6px, #F4845F 6px 12px);
  background-size: 200% 100%;
  border-radius: 999px;
}
body[data-theme="maximalism"] .ach-prog-num { color: rgba(28, 28, 28, .6); font-weight: 900; }

/* ---------- 34. 弹窗通用贴纸表单（L6-01~L6-15 · 3.2/3.8） ---------- */
body[data-theme="maximalism"] .modal-body p { color: #1C1C1C; }
body[data-theme="maximalism"] .modal-body input,
body[data-theme="maximalism"] .modal-body select,
body[data-theme="maximalism"] .modal-body textarea {
  background: #FFFFFF;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  color: #1C1C1C;
  font-size: 15px;
  padding: 10px;
  font-weight: 700;
}
body[data-theme="maximalism"] .modal-body label {
  color: #1C1C1C;
  font-weight: 900;
  font-size: 11px;
  letter-spacing: .04em;
}
body[data-theme="maximalism"] .modal-actions .btn-gray { background: #EFE5CF; color: #1C1C1C; border-color: #1C1C1C; box-shadow: 2px 2px 0 rgba(28, 28, 28, .45); }
body[data-theme="maximalism"] .form-note { color: rgba(28, 28, 28, .6); font-size: 12.5px; font-weight: 700; }
/* 体重输入：Archivo 大数字 */
body[data-theme="maximalism"] .modal-body #f-weight,
body[data-theme="maximalism"] .modal-body #exp-quick-amt,
body[data-theme="maximalism"] .modal-body #exp-new-amt {
  font-size: 34px;
  font-weight: 900;
  letter-spacing: .02em;
  text-align: center;
}
/* 删除确认（4.9）：正文一字不缩，只换皮肤 ✓ 已由 del-mode 覆盖 */

/* ---------- 35. 庆祝层（L6-17 · 3.5：圆形复古油印 + 弹性 pop 大字 + 彩纸） ----------
   Q131#7：印章弹窗透明底看不清 → 白底 #FFFDF6 + 2px 墨黑边 + 圆点矩阵贴纸感（与任务卡/戒断卡同款），
   文字全墨黑保证深色遮罩上清晰可读 */
body[data-theme="maximalism"] .stamp {
  background: #FFFDF6;
  background-image: radial-gradient(rgba(28, 28, 28, .09) 1.3px, transparent 1.7px);
  background-size: 13px 13px;
  border: 2px solid #1C1C1C;
  border-radius: 8px;
  outline: 2px dashed rgba(28, 28, 28, .4);
  outline-offset: 4px;
  box-shadow: 6px 7px 0 rgba(28, 28, 28, .8);
  padding: 20px 36px;
  transform: rotate(-2deg);
  animation: mxStampPop .5s cubic-bezier(.34, 1.56, .64, 1) both;
}
@keyframes mxStampPop {
  from { opacity: 0; transform: scale(.6) rotate(-8deg); }
  to   { opacity: 1; transform: scale(1) rotate(-2deg); }
}
body[data-theme="maximalism"] .stamp-flag {
  background: #FFD166;
  color: #1C1C1C;
  border: 2px solid #1C1C1C;
  border-radius: 4px;
  font-weight: 900;
  letter-spacing: .08em;
  transform: rotate(-1deg);
}
body[data-theme="maximalism"] .stamp-lv { color: #E63946; font-weight: 900; letter-spacing: .04em; }
body[data-theme="maximalism"] .stamp-title { color: #1C1C1C; font-weight: 900; font-size: 42px; }
body[data-theme="maximalism"] .stamp-seal {
  background: #E63946;
  border: 3px solid #1C1C1C;
  border-radius: 50%;
  color: #FFFFFF;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .6);
}
body[data-theme="maximalism"] .stamp-seal svg { fill: #FFFFFF; }
/* 升级/里程碑动效限频 ≤1s 由 JS 侧保证（防连点 300ms + 庆祝单例 1.9s） */
/* 彩纸：高饱和撞色 + 星星/心形（PALETTE.confetti 已随主题色板自动换；方形保持） */
body[data-theme="maximalism"] .cf { border: 2px solid #1C1C1C; border-radius: 2px; }

/* ---------- 36. 顶栏 sticky（3.10.4：彩色贴纸条 + 撕纸下边 + 波普撞色条；App 感最大来源） ---------- */
body[data-theme="maximalism"] .masthead {
  position: sticky; top: 0; z-index: 900;
  background: #FBF3E4;
  border: 0; border-bottom: 2px solid #1C1C1C;
  box-shadow: 0 3px 0 rgba(28, 28, 28, .25);
  padding: 9px 12px;
  margin-bottom: 14px;
  border-radius: 0;
}
/* 顶部波普撞色条 4px（8 色轮换） */
body[data-theme="maximalism"] .masthead::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 4px;
  background: repeating-linear-gradient(90deg, #E63946 0 12.5%, #FFD166 12.5% 25%, #2A6FDB 25% 37.5%, #2A9D8F 37.5% 50%, #FF7BAC 50% 62.5%, #F4845F 62.5% 75%, #7B2CBF 75% 87.5%, #1C1C1C 87.5% 100%);
}
body[data-theme="maximalism"] .masthead h2 {
  color: #1C1C1C;
  font-weight: 900;
  font-size: 16px;
  letter-spacing: 0;
  text-transform: none;
}
body[data-theme="maximalism"] .masthead h2::after { content: ' ★'; color: #E63946; }
body[data-theme="maximalism"] .mh-tag {
  background: #FFD166;
  color: #1C1C1C;
  border: 2px solid #1C1C1C;
  border-radius: 999px;
  font-weight: 900;
  font-size: 10px;
  letter-spacing: .08em;
  transform: none;   /* Q124-2：覆盖 style.css 基样式 rotate(2deg)，标签水平 */
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .6);
}
/* 首页 masthead 的 TODAY 标签 → 朱红贴纸 */
body[data-theme="maximalism"] #page-home .mh-tag { background: #E63946; color: #FFFFFF; }

/* ---------- 37. 页面过渡（3.10.3：贴纸弹性贴入 + 撕下淡出） ---------- */
body[data-theme="maximalism"] .page.active {
  animation: mxPageSlide .3s cubic-bezier(.34, 1.56, .64, 1) both;
}
@keyframes mxPageSlide {
  from { transform: scale(.9) rotate(-1.5deg); opacity: 0; }
  to   { transform: scale(1) rotate(0); opacity: 1; }
}
body[data-theme="maximalism"] .page.back {
  animation: mxPageTear .25s ease-in both;
}
@keyframes mxPageTear {
  to { opacity: 0; transform: scale(.97) rotate(.5deg); }
}

/* ---------- 38. 触达区补齐（3.10.2 清单：任务删除/记账✕/称谓/类别/提醒/日记删除热区 ≥44px） ---------- */
body[data-theme="maximalism"] .task-del,
body[data-theme="maximalism"] .exp-item-del,
body[data-theme="maximalism"] .exp-cat-del,
body[data-theme="maximalism"] .dd-del-sm,
body[data-theme="maximalism"] .title-row .btn,
body[data-theme="maximalism"] .abil-edit-row .btn {
  position: relative;
}
body[data-theme="maximalism"] .task-del::after,
body[data-theme="maximalism"] .exp-item-del::after,
body[data-theme="maximalism"] .exp-cat-del::after,
body[data-theme="maximalism"] .dd-del-sm::after,
body[data-theme="maximalism"] .title-row .btn::after,
body[data-theme="maximalism"] .abil-edit-row .btn::after {
  content: '';
  position: absolute; inset: -10px;
  border-radius: 4px;
}

/* ---------- 39. 动效演示（L6-15 · 4.13：贴纸按钮 + demo_desc 跟随动效语言微调已由 i18n 精简落地） ---------- */
body[data-theme="maximalism"] .demo-item { border-bottom: 2px dashed rgba(28, 28, 28, .25); }
body[data-theme="maximalism"] .demo-name { color: #1C1C1C; font-weight: 900; font-size: 15px; }
body[data-theme="maximalism"] .demo-desc { color: rgba(28, 28, 28, .6); font-size: 11px; font-weight: 700; }
body[data-theme="maximalism"] .demo-count {
  background: #FFD166;
  color: #1C1C1C;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  font-weight: 900;
  font-size: 30px;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .6);
}
body[data-theme="maximalism"] .demo-chip { background: #FFFFFF; border: 2px solid #1C1C1C; border-radius: 999px; color: #1C1C1C; box-shadow: 2px 2px 0 rgba(28, 28, 28, .45); font-weight: 900; }
body[data-theme="maximalism"] .demo-bubble { background: #FFFFFF; border: 2px solid #1C1C1C; border-radius: 8px; color: #1C1C1C; }
body[data-theme="maximalism"] .demo-stage { margin-top: 8px; }

/* ---------- 40. 通用提示条 / 补充元素 ---------- */
body[data-theme="maximalism"] .note-box {
  background: rgba(255, 253, 246, .75);
  border: 2px dashed rgba(28, 28, 28, .35);
  border-radius: 6px;
  color: rgba(28, 28, 28, .65);
  font-size: 12px;
  font-weight: 700;
}
body[data-theme="maximalism"] .nb-tag { background: #E63946; color: #FFFFFF; border: 1.5px solid #1C1C1C; border-radius: 3px; font-weight: 900; }
body[data-theme="maximalism"] .set-note { background: #FFFDF6; border: 1.5px solid rgba(28, 28, 28, .3); border-radius: 4px; color: rgba(28, 28, 28, .6); }
body[data-theme="maximalism"] .notif-status { background: #1C1C1C; color: #FFD166; border: 2px solid #1C1C1C; border-radius: 4px; font-weight: 900; }
body[data-theme="maximalism"] .notif-grid input { background: #FFFFFF; border: 2px solid #1C1C1C; border-radius: 4px; color: #1C1C1C; }
body[data-theme="maximalism"] .backup-meta { background: #FFFDF6; border: 2px solid rgba(28, 28, 28, .3); border-radius: 6px; color: #1C1C1C; }
body[data-theme="maximalism"] .backup-meta b { color: #E63946; font-weight: 900; }

/* ---------- 41. 报表/页面内其他：p 标签 / 强调 ---------- */
body[data-theme="maximalism"] .exp-review-body p,
body[data-theme="maximalism"] .modal-body p b { color: #1C1C1C; }

/* ---------- 42. PC 侧边栏（3.1：米纸底 + 顶部撞色条） ---------- */
body[data-theme="maximalism"] #sidebar {
  border-right: 2px solid #1C1C1C;
}
body[data-theme="maximalism"] #sidebar::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 6px;
  background: repeating-linear-gradient(90deg, #E63946 0 12.5%, #FFD166 12.5% 25%, #2A6FDB 25% 37.5%, #2A9D8F 37.5% 50%, #FF7BAC 50% 62.5%, #F4845F 62.5% 75%, #7B2CBF 75% 87.5%, #1C1C1C 87.5% 100%);
}
body[data-theme="maximalism"] .side-brand { margin-bottom: 16px; }
body[data-theme="maximalism"] .side-logo {
  background: #E63946;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  color: #FFFFFF;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .8);
  transform: rotate(-5deg);
}
body[data-theme="maximalism"] .side-name { color: #1C1C1C; font-weight: 900; }
body[data-theme="maximalism"] .side-sub { color: #2A6FDB; letter-spacing: .18em; font-weight: 900; }
body[data-theme="maximalism"] .side-item {
  background: #FFFDF6;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  color: rgba(28, 28, 28, .65);
  box-shadow: 2px 2px 0 rgba(28, 28, 28, .45);
  padding: 10px 11px;
  font-weight: 900;
}
body[data-theme="maximalism"] .side-item.active {
  background: #FFD166;
  border-color: #1C1C1C;
  color: #1C1C1C;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, .65);
  transform: rotate(-1deg);
}
body[data-theme="maximalism"] .side-foot {
  background: #1C1C1C;
  border: 2px solid #1C1C1C;
  border-radius: 6px;
  color: #FFD166;
  font-weight: 900;
  letter-spacing: .04em;
}

/* ---------- 43. hover 纪律（3.46：全部 hover 收进 @media (hover: hover)，极繁=贴纸浮起） ---------- */
@media (hover: hover) {
  body[data-theme="maximalism"] .task-item:not(.done):hover {
    transform: translateY(-2px) rotate(-.5deg);
    box-shadow: 4px 5px 0 rgba(28, 28, 28, .6);
    transition: transform .18s cubic-bezier(.34, 1.56, .64, 1), box-shadow .18s cubic-bezier(.34, 1.56, .64, 1);
  }
  body[data-theme="maximalism"] .mod-card:hover {
    transform: translateY(-3px) rotate(-1deg);
    box-shadow: 5px 6px 0 rgba(28, 28, 28, .8);
    transition: transform .2s cubic-bezier(.34, 1.56, .64, 1), box-shadow .2s cubic-bezier(.34, 1.56, .64, 1);
  }
  body[data-theme="maximalism"] .diary-item:hover {
    transform: translateY(-1px) rotate(-.3deg);
    box-shadow: 4px 4px 0 rgba(28, 28, 28, .55);
  }
  body[data-theme="maximalism"] .btn:hover {
    transform: scale(1.03) rotate(.5deg);
    box-shadow: 4px 4px 0 rgba(28, 28, 28, .7);
  }
  body[data-theme="maximalism"] .side-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 0 0 2px rgba(42, 111, 219, .35), 2px 2px 0 rgba(28, 28, 28, .5);
    color: #1C1C1C;
  }
}

/* ---------- 44. 补充覆盖（Q121-3 收尾） ---------- */
/* mood 选中时色块描边墨黑（style.css 是 var(--white)=奶油白 → 覆盖） */
body[data-theme="maximalism"] .mood.active .mood-sq { border-color: #1C1C1C; }
/* 记账模块卡（mod-exp-card）：明黄头 + 墨黑名 */
body[data-theme="maximalism"] .mod-exp-card .mod-top { background: #FFD166; }
body[data-theme="maximalism"] .mod-exp-card .mod-name,
body[data-theme="maximalism"] .mod-exp-card .mod-en { color: #1C1C1C; }
body[data-theme="maximalism"] .mod-exp-card .mod-combo { background: #E63946; color: #FFFFFF; border-color: #E63946; }
body[data-theme="maximalism"] .mod-exp-card .exp-quick-btn { background: #2A6FDB; color: #FFFFFF; border: 2px solid #1C1C1C; border-radius: 5px; box-shadow: 2px 2px 0 rgba(28, 28, 28, .6); }
/* Q124-4：记账模块入口——底部改 flex：左=今日已花（放大），右=添加按钮（exp-quick-btn） */
body[data-theme="maximalism"] .mod-exp-card .mod-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
body[data-theme="maximalism"] .mod-exp-card .mod-meta {
  margin-bottom: 0;
  font-size: 14px;   /* 基样式 12px → 14px（今日已花 + 金额文字放大） */
}
body[data-theme="maximalism"] .mod-exp-card .mod-bar-row {
  flex: none;
  margin: 0;
}
body[data-theme="maximalism"] .mod-exp-card .mod-combo { font-size: 13px; }  /* 右上金额 11px → 13px */
/* Q150 V1.41：记账卡右上角改「已记账 X 日」长文案——维持 13px 但加 max-width 防溢出 */
body[data-theme="maximalism"] .mod-exp-card .mod-combo {
  max-width: 46%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* 锁屏时间牌：奶油白底墨黑字（style.css .lt-block 继承 var(--white) 文字 → 覆盖） */
body[data-theme="maximalism"] .lt-block { color: #1C1C1C; }
/* 提醒中心自定义卡内 title 颜色 */
body[data-theme="maximalism"] .reminder-item.custom .r-title { color: #1C1C1C; }
body[data-theme="maximalism"] .reminder-item.custom .r-text { color: rgba(28, 28, 28, .6); }
body[data-theme="maximalism"] .reminder-item.custom .r-type { background: #2A6FDB; color: #FFFFFF; }
/* 首页 today 标签（tag-light 已覆盖） */
body[data-theme="maximalism"] #today-progress { color: #E63946; }
/* 统计页 tag-light 数值（radar-total / week-total） */
body[data-theme="maximalism"] #radar-total,
body[data-theme="maximalism"] #week-total { color: #E63946; }
/* 记账汇总入口 today（exp-entry-today 用 text-sub → 灰） */
body[data-theme="maximalism"] .exp-entry-today { color: rgba(28, 28, 28, .7); }
/* 记账明细年月选择器 input（chrome 内建控件保留） */
body[data-theme="maximalism"] .exp-detail-picker input[type="date"],
body[data-theme="maximalism"] .exp-detail-picker input[type="month"],
body[data-theme="maximalism"] .exp-detail-picker input[type="number"] { color-scheme: light; }
/* 输入框 placeholder */
body[data-theme="maximalism"] input::placeholder,
body[data-theme="maximalism"] textarea::placeholder { color: rgba(28, 28, 28, .4); opacity: 1; }
/* 戒断模块页 mh-tag（SLEEP/DIARY 等）沿用极繁 mh-tag（Q124-2：去倾斜水平，覆盖基样式 rotate） */
body[data-theme="maximalism"] .masthead .mh-tag { background: #FFD166; color: #1C1C1C; border: 2px solid #1C1C1C; border-radius: 999px; font-weight: 900; font-size: 10px; letter-spacing: .08em; transform: none; }
/* 打卡完成大按钮（作息 sleep-in/wake 用 .btn-big） */
body[data-theme="maximalism"] .btn-big { min-height: 84px; }
body[data-theme="maximalism"] .btn-big.done { background: var(--gray); color: var(--ink); border-color: #1C1C1C; opacity: .85; }
/* 空态小人（rem-empty-art）保留彩色贴纸版 */
/* 成就解锁状态 icon */
body[data-theme="maximalism"] .ach-item.unlocked .ach-icon { background: #2A9D8F; }
/* 锁屏票根 NO.2026 编号块 */
body[data-theme="maximalism"] .lock-ticket-no { background: #E63946; color: #FFFFFF; }
/* 备忘条（note-banner 已在模块页覆盖；学习/健康页 note-box 已覆盖） */
/* 模式：prefers-reduced-motion 尊重（3.46 验收点） */
@media (prefers-reduced-motion: reduce) {
  body[data-theme="maximalism"] *,
  body[data-theme="maximalism"] *::before,
  body[data-theme="maximalism"] *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
