/* ============================================================
   FitRecord v4 增强样式（原创作品）
   © 2026 Acffx · 原创 · 保留所有权利
   未经许可禁止商用、二次发布、去除版权标识
   ============================================================ */

/* ---------- 首页：新建计划虚线卡片 ---------- */
.new-plan-card{display:flex;align-items:center;justify-content:center;min-height:74px;
  border:2px dashed #c7d2fe;border-radius:16px;background:#f5f7ff;cursor:pointer;
  color:var(--accent);font-weight:700;font-size:15px;margin-bottom:14px;}
.new-plan-card:active{transform:scale(.98);}
.new-plan-card .np-ic{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;margin-right:8px;font-size:17px;font-weight:600;}

/* 封面图片 */
.art-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;}

/* ---------- 训练进行页：组行（可左滑） ---------- */
.sets-head{display:grid;grid-template-columns:44px 1fr 1fr 52px 56px 34px;
  font-size:12px;color:var(--muted);text-align:center;padding:6px 0 2px;}
.set-swipe{position:relative;overflow:hidden;border-radius:12px;margin-bottom:2px;}
.set-actions{position:absolute;right:0;top:0;bottom:0;display:flex;width:216px;}
.set-actions button{flex:1;border:0;color:#fff;font-size:12px;font-weight:600;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;}
.set-actions .sa-copy{background:#f59e0b;}
.set-actions .sa-warm{background:#3b82f6;}
.set-actions .sa-del{background:#ef4444;}
.set-actions svg{width:16px;height:16px;}
.set-row{position:relative;z-index:2;display:grid;grid-template-columns:44px 1fr 1fr 52px 56px 34px;
  align-items:center;background:var(--card);padding:5px 0;border-radius:12px;
  transition:transform .18s ease;touch-action:pan-y;}
.set-row.no-anim{transition:none;}
.set-row.warmup-row{background:#fffbeb;}
.set-no{text-align:center;font-size:14px;color:var(--text);font-weight:600;}
.set-no .wu{display:block;font-size:9px;color:var(--warn);font-weight:500;}
.set-val{justify-self:center;min-width:64px;padding:8px 6px;border:0;border-radius:10px;
  background:#eef2ff;color:var(--accent);font-size:15px;font-weight:700;cursor:pointer;text-align:center;}
.set-val.empty{background:#f3f4f6;color:#9ca3af;font-weight:500;}
.set-row .rpe-btn{justify-self:center;}
.set-row .set-done-btn{justify-self:center;}
.set-row .set-act-btn{justify-self:center;}

/* ---------- 动作菜单（撸铁记样式） ---------- */
.ex-menu-list{display:flex;flex-direction:column;gap:10px;}
.ex-menu-item{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:14px;
  background:#f8fafc;cursor:pointer;text-align:left;}
.ex-menu-item:active{transform:scale(.985);}
.ex-menu-item .ex-menu-ic{width:38px;height:38px;border-radius:10px;flex:0 0 38px;
  display:flex;align-items:center;justify-content:center;font-size:18px;}
.ex-menu-item .ex-menu-t{flex:1;}
.ex-menu-item .n{font-size:15px;font-weight:600;color:var(--text);}
.ex-menu-item .s{font-size:11px;color:var(--muted);margin-top:2px;}
.ex-menu-item .ex-menu-arrow{color:#cbd5e1;font-size:18px;}
.ex-menu-item.hero-item{background:linear-gradient(90deg,#ede9fe,#e0f2fe);}
.ex-menu-item.hero-item .n{color:#7c3aed;}

/* ---------- 滚轮选择器 ---------- */
.wheel-wrap{position:relative;height:220px;overflow:hidden;margin:8px 0 16px;
  border-radius:14px;background:#f8fafc;}
.wheel{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;padding:88px 0;
  -webkit-overflow-scrolling:touch;}
.wheel::-webkit-scrollbar{display:none;}
.wheel-opt{height:44px;display:flex;align-items:center;justify-content:center;
  scroll-snap-align:center;font-size:19px;color:#9ca3af;font-weight:500;cursor:pointer;}
.wheel-opt.cur{font-size:24px;font-weight:800;color:var(--text);}
.wheel-band{position:absolute;left:12px;right:12px;top:50%;height:44px;transform:translateY(-50%);
  background:#e5e7eb;border-radius:10px;pointer-events:none;opacity:.6;}
.wheel-unit{position:absolute;right:26px;top:50%;transform:translateY(-50%);
  color:var(--muted);font-size:13px;pointer-events:none;}

/* ---------- 动作库 v2 ---------- */
.libv2{display:flex;gap:0;height:calc(100vh - 64px - var(--safe-b) - 56px);overflow:hidden;}
.libv2-side{width:64px;flex:0 0 64px;overflow-y:auto;background:#f3f4f6;border-radius:14px 0 0 14px;padding:calc(8px + var(--safe-t)) 0 8px;}
.libv2-side::-webkit-scrollbar{display:none;}
.libv2-cat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 2px;
  font-size:11px;color:#6b7280;cursor:pointer;border-left:3px solid transparent;}
.libv2-cat svg{width:26px;height:26px;}
.libv2-cat.active{background:#fff;color:var(--accent);font-weight:700;border-left-color:var(--accent);border-radius:0 10px 10px 0;}
.libv2-main{flex:1;overflow-y:auto;padding:0 2px 0 10px;}
.libv2-topbar{display:flex;gap:8px;align-items:center;margin-bottom:10px;padding-top:var(--safe-t);}
.libv2-search{flex:1;display:flex;align-items:center;gap:6px;background:#f3f4f6;border-radius:12px;padding:10px 12px;}
.libv2-search input{flex:1;border:0;background:transparent;font-size:14px;outline:none;}
.libv2-add{width:40px;height:40px;flex:0 0 40px;border:0;border-radius:12px;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px rgba(37,99,235,.35);}
.libv2-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:2px;}
.libv2-chips::-webkit-scrollbar{display:none;}
.libv2-chip{flex:0 0 auto;padding:7px 14px;border-radius:20px;background:#f3f4f6;color:#4b5563;
  font-size:13px;cursor:pointer;border:0;}
.libv2-chip.active{background:var(--accent);color:#fff;font-weight:600;}
.libv2-row{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:14px;
  padding:10px 12px;margin-bottom:10px;box-shadow:var(--shadow);cursor:pointer;}
.libv2-row:active{transform:scale(.99);}
.libv2-thumb{width:58px;height:58px;flex:0 0 58px;border-radius:12px;background:#f3f6fb;
  display:flex;align-items:center;justify-content:center;overflow:hidden;}
.libv2-thumb img{width:100%;height:100%;object-fit:cover;}
.libv2-thumb svg{width:82%;height:82%;}
.libv2-info{flex:1;min-width:0;}
.libv2-name{font-size:15px;font-weight:700;margin-bottom:4px;}
.libv2-meta{font-size:12px;color:var(--muted);}
.libv2-meta b{color:#6b7280;font-weight:500;margin-right:8px;}

/* ---------- 创建动作页 ---------- */
#create-view{position:fixed;inset:0;z-index:58;background:#f6f7f9;max-width:430px;margin:0 auto;
  left:0;right:0;display:flex;flex-direction:column;}
.create-head{display:flex;align-items:center;justify-content:space-between;
  padding:calc(var(--safe-t) + 8px) 14px 10px;background:#f6f7f9;}
.create-head .ttl{font-size:17px;font-weight:700;}
.create-head .done-pill{border:0;background:var(--accent);color:#fff;border-radius:20px;
  padding:7px 18px;font-size:14px;font-weight:700;cursor:pointer;}
.create-head .back2{border:0;background:transparent;font-size:22px;color:var(--text);cursor:pointer;padding:4px 8px;}
.create-body{flex:1;overflow-y:auto;padding:6px 16px 30px;}
.create-tip{background:linear-gradient(90deg,#3b82f6,#2563eb);color:#fff;border-radius:14px;
  padding:13px 14px;font-size:12px;line-height:1.55;display:flex;gap:10px;align-items:center;margin-bottom:14px;}
.create-tip .tip-ic{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;font-size:15px;}
.create-upload{background:#fff;border-radius:16px;padding:26px 14px;text-align:center;
  color:var(--muted);cursor:pointer;margin-bottom:18px;box-shadow:var(--shadow);}
.create-upload .cam{width:52px;height:52px;margin:0 auto 10px;border-radius:50%;background:#eff6ff;
  display:flex;align-items:center;justify-content:center;color:var(--accent);}
.create-upload .up-t{font-size:14px;color:#4b5563;font-weight:600;}
.create-upload .up-s{font-size:11px;margin-top:5px;}
.create-upload img{max-width:100%;max-height:180px;border-radius:12px;object-fit:cover;}
.create-field{background:#fff;border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:var(--shadow);}
.create-field .cf-l{font-size:14px;font-weight:700;margin-bottom:8px;}
.create-field input{width:100%;border:0;border-bottom:1px solid var(--line);padding:8px 2px;font-size:15px;outline:none;background:transparent;}
.create-sel{display:flex;align-items:center;justify-content:space-between;cursor:pointer;
  background:#fff;border-radius:14px;padding:16px 14px;margin-bottom:12px;box-shadow:var(--shadow);}
.create-sel .cs-l{font-size:14px;font-weight:700;}
.create-sel .cs-v{color:#9ca3af;font-size:14px;display:flex;align-items:center;gap:4px;}
.create-sel .cs-v.has{color:var(--text);font-weight:600;}
.create-types{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.create-type{border:2px solid transparent;background:#fff;border-radius:14px;padding:16px 12px;
  cursor:pointer;box-shadow:var(--shadow);text-align:left;}
.create-type.active{border-color:var(--accent);background:#f0f7ff;}
.create-type .ct-ic{width:34px;height:34px;border-radius:10px;background:#eff6ff;color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:8px;}
.create-type .ct-n{font-size:14px;font-weight:700;}
.create-type .ct-s{font-size:11px;color:var(--muted);margin-top:3px;}

/* 部位/器械选择弹层 */
.sel-list{display:flex;flex-direction:column;}
.sel-item{padding:14px 6px;border-bottom:1px solid var(--line);font-size:15px;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;}
.sel-item:last-child{border-bottom:0;}
.sel-item.active{color:var(--accent);font-weight:700;}

/* 动作排序 */
.sort-row{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line);}
.sort-row .sr-name{flex:1;font-size:14px;font-weight:600;}
.sort-row .sr-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#fff;
  color:var(--accent);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.sort-row .sr-btn:disabled{opacity:.3;}

/* 计时设置 chips */
.rest-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0;}
.rest-chip{padding:13px 0;border-radius:12px;border:1px solid var(--line);background:#fff;
  font-size:15px;font-weight:700;color:var(--text);cursor:pointer;text-align:center;}
.rest-chip.active{background:var(--accent);color:#fff;border-color:var(--accent);}

/* 图片填充适配 */
.ex-thumb img,.ep-thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;}
.lib-card .lib-bg img{width:100%;height:100%;object-fit:cover;display:block;}
.set-act-btn{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#c3cad4;
  font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ex-thumb{border-radius:12px;}

/* ============================================================
   v5 增量样式：后台训练 · 折叠 · 拖动 · 网格缩略 · 训练中卡
   ============================================================ */

/* 倒计时字号自适应（避免 "00:00:4?" 溢出截断） */
.rest-inner{padding:0 14px;max-width:100%;box-sizing:border-box;}
.rest-time{font-size:clamp(48px,16vw,84px);font-weight:800;font-variant-numeric:tabular-nums;
  letter-spacing:1px;line-height:1;display:inline-block;max-width:100%;overflow:hidden;
  white-space:nowrap;text-overflow:clip;}

/* Sheet 上方空白点击关闭 */
#overlay{cursor:pointer;}
#overlay > .sheet{cursor:auto;}

/* 主页：训练计划自适应缩略网格 */
.plans-folders{display:grid;gap:10px;margin-bottom:8px;}
.plans-folders.cols-1{grid-template-columns:1fr;}
.plans-folders.cols-2{grid-template-columns:1fr 1fr;}
.plans-folders.cols-many{grid-template-columns:1fr 1fr 1fr;}
.plans-folders .folder-card{margin-bottom:0;}
.plans-folders.cols-2 .folder-grid{height:96px;}
.plans-folders.cols-many .folder-grid{height:80px;}
.plans-folders.cols-2 .folder-card{padding:10px;}
.plans-folders.cols-many .folder-card{padding:8px;}
.plans-folders.cols-2 .folder-name{font-size:13px;}
.plans-folders.cols-many .folder-name{font-size:12px;}
.plans-folders.cols-many .folder-count{font-size:10px;padding:2px 7px;}
.plans-folders.cols-many .plan-edit-btn{width:24px;height:24px;top:6px;right:6px;}
.plans-folders .folder-card.is-cur{box-shadow:0 0 0 2px var(--accent),var(--shadow);}

/* 主页：训练中缩略卡 */
.mini-active{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border-radius:14px;padding:10px 12px;margin-bottom:12px;display:flex;align-items:center;gap:10px;cursor:pointer;box-shadow:0 4px 14px rgba(37,99,235,.28);-webkit-tap-highlight-color:transparent;}
.mini-active:active{transform:scale(.99);}
.mini-active-ic{width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.18);overflow:hidden;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:18px;}
.mini-active-ic img{width:100%;height:100%;object-fit:cover;}
.mini-active-info{flex:1;min-width:0;}
.mini-active-title{font-size:13px;font-weight:700;opacity:.95;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mini-active-meta{font-size:11px;opacity:.85;margin-top:2px;}
.mini-active-del{width:36px;height:36px;border-radius:50%;background:rgba(239,68,68,.95);color:#fff;border:0;display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto;}
.mini-active-del:active{background:#dc2626;}

/* 动作卡：单击折叠 / 长按拖动 */
.ex-card .ex-head{-webkit-tap-highlight-color:transparent;cursor:pointer;user-select:none;-webkit-user-select:none;}
.ex-card .ex-head::after{content:'▾';color:var(--muted);font-size:14px;margin-left:6px;transition:transform .2s ease;display:inline-block;}
.ex-card.collapsed .ex-head::after{transform:rotate(-90deg);}
.ex-card.collapsed .sets-head,
.ex-card.collapsed .set-swipe,
.ex-card.collapsed .add-set-btn,
.ex-card.collapsed .prev-ref,
.ex-card.collapsed .sugg-row,
.ex-card.collapsed .notes-row{display:none;}
.ex-card.collapsed .ex-head{margin-bottom:0;}
.ex-card.dragging{box-shadow:0 10px 30px rgba(0,0,0,.25);transition:none!important;}
.ex-card-placeholder{background:#eef2ff;border:2px dashed var(--accent);border-radius:18px;margin-bottom:12px;}

/* 超级组视觉合并 */
.ex-card.superset-card{margin-bottom:4px;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:2px dashed #a78bfa;position:relative;}
.ex-card.superset-card + .ex-card.superset-card{margin-top:-2px;border-top-left-radius:0;border-top-right-radius:0;padding-top:18px;}
.ex-card.superset-card + .ex-card.superset-card::before{content:'⚡ 超级组';position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,#a78bfa,#ec4899);color:#fff;font-size:10px;font-weight:700;padding:2px 10px;border-radius:10px;z-index:5;white-space:nowrap;box-shadow:0 2px 6px rgba(167,139,250,.4);}

/* v8.10: 超级组样式已弃用（保留极简兼容性） */
.superset-pair { display:contents; }

/* v8.14: 通用数字输入弹窗（彻底替代滚轮） */
.ni-sheet{background:#131c31;color:#e2e8f0;border-radius:22px 22px 0 0;padding:18px 16px 20px;max-width:430px;width:100%;margin:0 auto;box-shadow:0 -10px 30px rgba(0,0,0,.5);}
.ni-head{display:flex;align-items:center;gap:8px;margin-bottom:18px;}
.ni-close{width:36px;height:36px;border-radius:50%;background:#1a2540;border:0;color:#94a3b8;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.ni-close:hover{background:#243349;color:#7cf0a9;}
.ni-title{flex:1;text-align:center;font-size:17px;font-weight:700;color:#e2e8f0;}
.ni-save{padding:8px 18px;border-radius:10px;background:linear-gradient(90deg,#7cf0a9,#38bdf8);color:#0b1120;border:0;font-size:14px;font-weight:700;cursor:pointer;}
.ni-save:hover{filter:brightness(1.1);}
.ni-body{padding:8px 0;}
.ni-input-wrap{position:relative;display:flex;align-items:center;background:#0b1120;border:1px solid #475569;border-radius:14px;padding:18px 18px 18px 18px;gap:8px;}
.ni-input{flex:1;background:transparent;border:0;outline:0;color:#7cf0a9;font-size:36px;font-weight:800;text-align:left;font-family:monospace;width:100%;min-width:0;-moz-appearance:textfield;}
.ni-input::-webkit-outer-spin-button,.ni-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.ni-unit{font-size:18px;color:#94a3b8;font-weight:600;flex:0 0 auto;padding-left:4px;}
.ni-input::placeholder{color:#475569;font-weight:600;}
.ni-input:focus{border-color:#7cf0a9;}
.ni-tip{font-size:12px;color:#64748b;text-align:center;margin-top:10px;}

/* v8.14: 每日记录弹窗深色主题（与主界面一致） */
.day-sheet-dark{background:#131c31 !important;color:#e2e8f0 !important;border-radius:22px 22px 0 0 !important;padding:18px 16px 30px !important;}
.day-sheet-dark .ds-head{display:flex;align-items:center;gap:8px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #26314d;position:relative;}
.day-sheet-dark .ds-head h3{font-size:18px;font-weight:700;color:#e2e8f0;margin:0;flex:1;}
.day-sheet-dark .ds-head .ds-pick{font-size:12px;color:#8fa3bf;}
.day-sheet-dark .ds-close{width:32px;height:32px;border-radius:50%;background:#1a2540;border:1px solid #475569;color:#94a3b8;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-right:auto;}
.day-sheet-dark .ds-close:hover{background:#243349;color:#7cf0a9;}
.day-sheet-dark .ds-state{font-size:13px;color:#94a3b8;margin-bottom:8px;}
.day-sheet-dark .ds-emoji{background:#1a2540 !important;}
.day-sheet-dark .ds-emoji.active{background:#2563eb !important;border-color:#3b82f6;}
.day-sheet-dark .ds-row{background:#1a2540 !important;border:1px solid #26314d;}
.day-sheet-dark .ds-row .txt .t{color:#e2e8f0;}
.day-sheet-dark .ds-row .txt .s{color:#8fa3bf;}
.day-sheet-dark .ds-row.alt{background:transparent !important;border:1px dashed #475569 !important;}
.day-sheet-dark .ds-row.alt .ic{background:transparent !important;}

/* 完成度进度条 */
.ex-progress{display:flex;align-items:center;gap:6px;margin:6px 0 8px;}
.ex-progress-bar{flex:1;height:4px;background:#f3f4f6;border-radius:2px;overflow:hidden;}
.ex-progress-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .25s ease;}
.ex-progress-text{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;}

/* ============================================================
   v5.1：bug 修复样式 + 体验优化
   ============================================================ */

/* 休息倒计时：改为底部固定小卡，不遮挡训练内容 */
.rest-layer{position:fixed;left:0;right:0;bottom:0;top:auto;background:rgba(15,23,42,.97);
  backdrop-filter:blur(8px);border-radius:22px 22px 0 0;z-index:70;
  padding:16px 20px calc(16px + var(--safe-b));box-shadow:0 -8px 30px rgba(0,0,0,.35);
  max-width:430px;margin:0 auto;}
.rest-inner{text-align:center;color:#fff;width:100%;padding:0;max-width:100%;box-sizing:border-box;}
.rest-label{font-size:14px;opacity:.75;margin-bottom:4px;}
.rest-time{font-size:44px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:1px;line-height:1.1;}
.rest-ex{opacity:.8;margin:6px 0 12px;font-size:13px;}
.rest-actions{display:flex;gap:10px;justify-content:center;margin-bottom:10px;}
.rest-btn{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;
  border-radius:24px;padding:9px 18px;font-size:14px;font-weight:600;}
.rest-btn.primary{background:#fff;color:var(--accent);border-color:#fff;}
.rest-range-label{font-size:11px;opacity:.6;}
#rest-range{width:100%;margin-top:6px;accent-color:#fff;}

/* 训练页 hero：小屏自适应高度 */
.workout-hero{min-height:180px;height:auto;padding-bottom:18px;}

/* 动作卡折叠时显示完成徽章 */
.ex-card.collapsed .ex-head .ex-name::after{
  content:attr(data-done-badge);
  display:inline-block;margin-left:8px;padding:2px 8px;border-radius:10px;
  background:var(--accent-light);color:var(--accent);font-size:11px;font-weight:700;
}

/* 训练中删除按钮（hero 右侧垃圾桶） */
.wo-del-btn{width:36px;height:36px;border-radius:50%;background:rgba(239,68,68,.85);border:0;color:#fff;
  display:flex;align-items:center;justify-content:center;}

/* 完成训练摘要卡 */
.fin-summary{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;border-radius:18px;
  padding:18px 16px;margin-bottom:14px;}
.fin-summary .fs-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;
  border-bottom:1px solid rgba(255,255,255,.08);font-size:14px;}
.fin-summary .fs-row:last-child{border-bottom:0;}
.fin-summary .fs-val{font-weight:800;font-size:16px;color:#fbbf24;font-variant-numeric:tabular-nums;}
.fin-summary .fs-big{font-size:22px;}

/* 空结果引导 */
.empty-guide{text-align:center;padding:34px 20px;color:var(--muted);}
.empty-guide .eg-btn{margin-top:14px;display:inline-block;padding:10px 22px;border-radius:12px;
  background:var(--accent);color:#fff;font-weight:600;font-size:14px;border:0;}

/* 计划卡上次训练日期 */
.plan-row-meta .last-w{color:var(--accent);font-weight:600;}

/* 无数据引导（统计/历史） */
.stat-empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:14px;line-height:1.8;}

/* ============================================================
   v6：深色模式 + 庆祝动效 + 周报 + 修仙系统
   ============================================================ */

/* ---------- 深色模式 ---------- */
html[data-theme="dark"]{
  --bg:#0f172a; --card:#1e293b; --text:#e2e8f0; --muted:#94a3b8;
  --accent:#3b82f6; --accent-d:#2563eb; --accent-light:#1e3a5f;
  --line:#334155; --warn-light:#3b2f0e; --shadow:0 2px 12px rgba(0,0,0,.35);
}
html[data-theme="dark"] body{background:var(--bg);}
html[data-theme="dark"] #app{background:var(--bg);}
html[data-theme="dark"] .folder-card,
html[data-theme="dark"] .libv2-row,
html[data-theme="dark"] .ex-card,
html[data-theme="dark"] .workout-list .ex-card,
html[data-theme="dark"] .plan-row,
html[data-theme="dark"] .create-field,
html[data-theme="dark"] .create-sel,
html[data-theme="dark"] .create-type,
html[data-theme="dark"] .set-row{background:var(--card);}
html[data-theme="dark"] .set-row.warmup-row{background:#3b2f0e;}
html[data-theme="dark"] .libv2-side{background:#1e293b;}
html[data-theme="dark"] .libv2-cat.active{background:#0f172a;}
html[data-theme="dark"] .libv2-search{background:#1e293b;color:var(--text);}
html[data-theme="dark"] .libv2-search input{color:var(--text);}
html[data-theme="dark"] .libv2-chip{background:#1e293b;color:var(--text);}
html[data-theme="dark"] .libv2-chip.active{background:var(--accent);color:#fff;}
html[data-theme="dark"] .set-val{background:#1e3a5f;color:#93c5fd;}
html[data-theme="dark"] .set-val.empty{background:#1e293b;color:#64748b;}
html[data-theme="dark"] .notify-badge{background:var(--card);border-color:var(--line);}
html[data-theme="dark"] .plan-edit-btn{background:#1e293b;color:var(--muted);}
html[data-theme="dark"] .rest-chip{background:var(--card);color:var(--text);border-color:var(--line);}
html[data-theme="dark"] .rest-chip.active{background:var(--accent);color:#fff;}
html[data-theme="dark"] .ex-menu-item{background:#1e293b;}
html[data-theme="dark"] .ex-menu-item.hero-item{background:linear-gradient(90deg,#2e1065,#1e3a5f);}
html[data-theme="dark"] .sort-row{border-color:var(--line);}
html[data-theme="dark"] .sort-row .sr-btn{background:var(--card);border-color:var(--line);color:var(--accent);}
html[data-theme="dark"] .sel-item{border-color:var(--line);}
html[data-theme="dark"] .rpe-chip{background:var(--card);border-color:var(--line);color:var(--text);}
html[data-theme="dark"] .rpe-chip.hot{background:var(--accent-light);border-color:var(--accent);}
html[data-theme="dark"] #tabbar{background:var(--card);border-color:var(--line);}
html[data-theme="dark"] .sugg-row{background:#3b2f0e;}
html[data-theme="dark"] .set-done-btn{background:var(--card);border-color:var(--line);}
html[data-theme="dark"] .wheel-wrap{background:#1e293b;}
html[data-theme="dark"] .wheel-opt{color:#64748b;}
html[data-theme="dark"] .wheel-opt.cur{color:var(--text);}
html[data-theme="dark"] .wheel-band{background:#334155;}
html[data-theme="dark"] .create-view,html[data-theme="dark"] #create-view{background:#0f172a;}
html[data-theme="dark"] .create-head{background:#0f172a;}
html[data-theme="dark"] .ex-progress-bar{background:#1e293b;}
html[data-theme="dark"] .ex-progress-bar-fill{background:var(--accent);}
html[data-theme="dark"] .date-str,html[data-theme="dark"] .folder-name,html[data-theme="dark"] .plan-row-name{color:var(--text);}

/* 深色模式 switch */
.theme-row{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;}
.switch{position:relative;width:50px;height:28px;flex:0 0 auto;}
.switch input{opacity:0;width:0;height:0;}
.switch .sl{position:absolute;inset:0;background:#d1d5db;border-radius:28px;transition:.25s;cursor:pointer;}
.switch .sl::before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.25s;box-shadow:0 1px 3px rgba(0,0,0,.3);}
.switch input:checked + .sl{background:var(--accent);}
.switch input:checked + .sl::before{transform:translateX(22px);}

/* ---------- 修仙系统 ---------- */
.xian-page{padding:12px 16px 20px;}
.xian-hero{border-radius:20px;padding:22px 18px;text-align:center;margin-bottom:16px;color:#fff;position:relative;overflow:hidden;}
.xian-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%, rgba(255,255,255,.08), transparent 60%);}
.xian-realm-ic{font-size:52px;line-height:1;margin-bottom:8px;filter:drop-shadow(0 0 12px rgba(255,255,255,.4));}
.xian-realm-name{font-size:28px;font-weight:800;letter-spacing:2px;text-shadow:0 0 20px currentColor;}
.xian-fit{font-size:13px;color:#cbd5e1;margin-top:6px;}
.xian-desc{font-size:12px;color:#94a3b8;margin-top:4px;}
.xian-exp-bar{height:10px;background:rgba(255,255,255,.15);border-radius:10px;margin:16px 0 8px;overflow:hidden;}
.xian-exp-fill{height:100%;border-radius:10px;transition:width .4s ease;box-shadow:0 0 10px currentColor;}
.xian-exp-text{font-size:12px;color:#cbd5e1;font-variant-numeric:tabular-nums;}
.xian-section{background:var(--card);border-radius:16px;padding:14px;margin-bottom:14px;box-shadow:var(--shadow);}
.xian-sec-title{font-size:15px;font-weight:800;margin-bottom:10px;display:flex;align-items:baseline;gap:8px;}
.xian-sec-sub{font-size:11px;color:var(--muted);font-weight:400;}
.xian-realms{display:flex;flex-wrap:wrap;gap:8px;}
.xian-realm-chip{padding:6px 12px;border-radius:20px;border:1px solid var(--line);background:#f8fafc;font-size:12px;color:var(--muted);}
html[data-theme="dark"] .xian-realm-chip{background:#1e293b;}
.xian-realm-chip.done{color:#22c55e;border-color:#22c55e55;background:#22c55e11;}
.xian-realm-chip.cur{font-weight:800;box-shadow:0 0 8px currentColor44;}
.gf-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);}
.gf-row:last-child{border-bottom:0;}
.gf-row.gf-cur{background:var(--accent-light);border-radius:10px;padding:9px 8px;border-bottom:0;}
.gf-ic{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#1e293b,#334155);color:#fbbf24;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto;}
.gf-info{flex:1;min-width:0;}
.gf-name{font-size:13px;font-weight:700;}
.gf-bar{height:5px;background:#e5e7eb;border-radius:5px;margin-top:5px;overflow:hidden;}
html[data-theme="dark"] .gf-bar{background:#334155;}
.gf-bar-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:5px;}
.gf-lv{font-size:12px;color:var(--accent);font-weight:700;flex:0 0 auto;}
.pr-item{padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;}
.pr-item:last-child{border-bottom:0;}
.pr-item.muted{color:var(--muted);}
.fb-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:14px;padding:14px;color:#fff;}
.fb-ic{font-size:32px;}
.fb-info{flex:1;min-width:0;}
.fb-name{font-size:14px;font-weight:700;color:#fbbf24;}
.fb-desc{font-size:11px;color:#94a3b8;margin-top:3px;line-height:1.5;}
.fb-btn{background:linear-gradient(90deg,#f59e0b,#ef4444);border:0;border-radius:12px;color:#fff;font-weight:700;padding:10px 18px;font-size:14px;}
.fb-stats{font-size:11px;color:var(--muted);margin-top:10px;text-align:center;}
/* 副本游戏 */
.xian-game{text-align:center;}
.xg-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:12px;}
.xg-area{position:relative;height:300px;background:linear-gradient(180deg,#0f172a,#1e293b);border-radius:16px;overflow:hidden;touch-action:none;}
.xg-tip{font-size:11px;color:var(--muted);margin-top:10px;}
.xg-ball{position:absolute;border-radius:50%;cursor:pointer;box-shadow:0 0 12px currentColor;transition:transform .1s;}
.xg-ball:active{transform:scale(1.3);}
@keyframes xg-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* ---------- 周报分享图 ---------- */
.week-report-btn{width:100%;padding:12px;border-radius:12px;border:0;background:linear-gradient(90deg,#f59e0b,#f97316);color:#fff;font-weight:700;font-size:14px;margin:4px 0 12px;cursor:pointer;}
.report-canvas-wrap{width:100%;border-radius:14px;overflow:hidden;background:#0f172a;}
#report-canvas{width:100%;height:auto;display:block;}

/* ============================================================
   v6.1 修仙大改造：人物动画 + 国风特效 + 打怪副本
   ============================================================ */
.xian-stage{position:relative;height:280px;border-radius:20px;background:radial-gradient(ellipse at center, color-mix(in srgb, var(--rc) 18%, transparent) 0%, transparent 65%),linear-gradient(180deg,#0f172a 0%,#1e293b 100%);border:1px solid color-mix(in srgb, var(--rc) 35%, #1e293b);overflow:hidden;text-align:center;padding:14px;margin-bottom:14px;--rc:#84cc16;color:#fff;}
.xian-bg-particles{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.05) 0, transparent 40%),radial-gradient(circle at 70% 60%, rgba(255,255,255,.08) 0, transparent 35%);animation:xian-pulse 4s ease-in-out infinite;}
/* 三个光环（持续旋转） */
.xian-aura-rings{position:absolute;left:50%;top:62%;transform:translate(-50%,-50%);width:180px;height:180px;pointer-events:none;}
.xian-aura-rings .ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--rc);opacity:.6;}
.xian-aura-rings .ring.r1{animation:xian-spin 8s linear infinite;}
.xian-aura-rings .ring.r2{animation:xian-spin-rev 12s linear infinite;border-style:dashed;border-color:rgba(255,255,255,.4);}
.xian-aura-rings .ring.r3{animation:xian-spin 16s linear infinite;border-width:1px;border-color:var(--rc);opacity:.3;}
/* 修真者 */
.xian-character{position:relative;width:90px;height:90px;margin:0 auto 8px;z-index:2;}
.xc-body{font-size:62px;line-height:1;filter:drop-shadow(0 0 12px var(--rc));animation:xian-float 3s ease-in-out infinite;}
.xc-glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100px;height:100px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb, var(--rc) 35%, transparent) 0%, transparent 70%);animation:xian-pulse 2.5s ease-in-out infinite;pointer-events:none;z-index:-1;}
.xc-aura{position:absolute;top:-10px;right:-10px;font-size:24px;animation:xian-spin 6s linear infinite;filter:drop-shadow(0 0 8px currentColor);}
/* 粒子流（背景） */
.xian-souls{position:absolute;inset:0;pointer-events:none;}
.xian-souls::before, .xian-souls::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#fff,#84cc16);opacity:.6;}
.xian-souls::before{left:20%;bottom:30%;animation:xian-soul 6s ease-in infinite;}
.xian-souls::after{left:75%;bottom:40%;animation:xian-soul 7s ease-in infinite 2s;background:radial-gradient(circle,#fff,#f59e0b);}
@keyframes xian-spin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes xian-spin-rev{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-360deg)}}
@keyframes xian-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes xian-pulse{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}
@keyframes xian-soul{0%{transform:translateY(0);opacity:.8}100%{transform:translateY(-220px);opacity:0}}

.xian-realm-name{font-size:28px;font-weight:800;letter-spacing:2px;text-shadow:0 0 18px currentColor;margin-top:4px;animation:xian-float 3.5s ease-in-out infinite;}
.xian-fit{font-size:13px;color:#cbd5e1;margin-top:2px;letter-spacing:1px;}
.xian-desc{font-size:12px;color:#94a3b8;margin-top:4px;font-style:italic;}
.xian-exp-bar{height:8px;background:rgba(255,255,255,.15);border-radius:8px;margin:10px 20px 6px;overflow:hidden;}
.xian-exp-fill{height:100%;border-radius:8px;transition:width .4s ease;box-shadow:0 0 10px currentColor;}
.xian-exp-text{font-size:11px;color:#cbd5e1;font-variant-numeric:tabular-nums;}

/* 功法（升级显示） */
.gf-meta{font-size:10px;color:var(--muted);margin-top:3px;}

/* 打怪副本 */
.xg-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:10px;}
.xg-stage{position:relative;height:300px;background:linear-gradient(180deg,#020617 0%,#0f172a 50%,#1e293b 100%);border-radius:14px;overflow:hidden;border:1px solid var(--line);touch-action:none;}
.xg-floor{position:absolute;left:0;right:0;bottom:0;height:36px;background:linear-gradient(180deg,transparent,#1e293b 40%,#334155);border-top:1px solid rgba(255,255,255,.1);}
.xg-hero{position:absolute;bottom:30px;width:50px;height:50px;font-size:42px;line-height:50px;text-align:center;filter:drop-shadow(0 0 10px #84cc16);user-select:none;transition:transform .15s;}
.xg-bullet{position:absolute;width:24px;height:24px;font-size:20px;line-height:24px;text-align:center;pointer-events:none;filter:drop-shadow(0 0 6px #fbbf24);z-index:5;}
.xg-monster{position:absolute;font-size:30px;line-height:1;text-align:center;filter:drop-shadow(0 0 6px #ef4444);user-select:none;}
.xg-hitfx{position:absolute;font-size:36px;line-height:1;pointer-events:none;animation:hitfx-blast .35s ease-out forwards;z-index:6;}
@keyframes hitfx-blast{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.6);opacity:0}}
.xg-bigshot{position:absolute;inset:0;background:radial-gradient(circle, rgba(251,191,36,.4) 0%, transparent 70%);pointer-events:none;animation:bigshot-flash .4s ease-out forwards;z-index:4;}
@keyframes bigshot-flash{0%{opacity:.9}100%{opacity:0}}
.xg-tap-tip{font-size:12px;color:var(--muted);margin-top:10px;text-align:center;}
.create-upload .cam svg{display:block;}

/* ============================================================
   v7.0 全面优化：防抖/锁/移动端适配/修真者减负
   ============================================================ */

/* 按钮防抖锁：点击后视觉禁用 */
.btn-locked{opacity:.55;pointer-events:none;transform:scale(.98);transition:all .15s ease;}

/* 全局防溢出：杜绝小屏横向滚动 */
html, body{overflow-x:hidden;max-width:100vw;}
#app{overflow-x:hidden;max-width:100vw;}

/* 输入框：禁掉 iOS 自动缩放（iPhone 横竖屏字号变化） */
input, textarea, select{font-size:16px;-webkit-text-size-adjust:100%;}

/* Toast 队列：单 toast 样式增强，确保队列展示不重叠 */
#toast{position:fixed;left:50%;top:auto;bottom:calc(80px + var(--safe-b));transform:translateX(-50%);z-index:1000;background:rgba(17,24,39,.94);color:#fff;padding:12px 22px;border-radius:24px;font-size:14px;font-weight:500;box-shadow:0 8px 24px rgba(0,0,0,.25);max-width:80vw;text-align:center;transition:opacity .2s ease;}

/* Tab 切换过渡：去闪屏 */
#view{transition:opacity .12s ease;}

/* 修真者页面减少粒子流距离（低端机性能优化） */
.xian-souls::before, .xian-souls::after{animation-duration:5s !important;}

/* 训练历史列表分页容器（保留原结构，新加分页按钮） */
.history-pager{display:flex;justify-content:center;padding:10px 0;}
.history-pager button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:20px;padding:6px 18px;font-size:13px;}

/* 长列表滚动性能：限制重绘影响 */
#workout-list{will-change:transform;contain:layout style;}

/* 横屏适配 */
@media (orientation:landscape) and (max-height:500px){
  .xian-stage{height:200px;}
  .xg-stage{height:240px;}
}

/* v8.11: 身体数据主页（深色修仙主题 + 截图2 布局） */
.bd-hero{display:flex;align-items:center;gap:10px;padding:12px 4px;background:#0b1120;border-bottom:1px solid #1e293b;}
.bd-back{background:#1e293b !important;color:#7cf0a9 !important;}
.bd-hero h3{font-size:18px;color:#e2e8f0;}
.bd-weight-row{display:flex;align-items:flex-end;justify-content:space-between;padding:24px 20px 14px;}
.bd-weight .n{font-size:64px;font-weight:800;color:#fff;line-height:1;}
.bd-weight .u{font-size:24px;color:#94a3b8;font-weight:600;margin-left:8px;}
.bd-edit-btn{background:rgba(124,240,169,.12);color:#7cf0a9;border:1px solid #7cf0a9;border-radius:18px;padding:6px 14px;font-size:13px;display:inline-flex;align-items:center;gap:4px;}
.bd-section{padding:14px 16px;}
.bd-sec-title{font-size:14px;font-weight:700;color:#94a3b8;margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.bd-sec-title::before{content:'';width:3px;height:14px;background:#7cf0a9;border-radius:2px;}
.bd-history-count{margin-left:auto;font-weight:400;color:#64748b;font-size:12px;}
.bd-3grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:16px;}
.bd-2grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.bd-cell{background:#1e293b;border-radius:10px;padding:14px 12px;position:relative;}
.bd-cell .k{font-size:12px;color:#94a3b8;margin-bottom:6px;}
.bd-cell .n{font-size:18px;font-weight:700;color:#e2e8f0;display:flex;align-items:baseline;}
.bd-cell .u{font-size:12px;color:#94a3b8;font-weight:500;}
.bd-cell .not-set{color:#64748b;font-weight:500;font-size:14px;}
.bd-arrow{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#475569;font-size:16px;font-weight:700;line-height:1;}
.bd-overview{background:linear-gradient(135deg,#2563eb,#1e40af);border-radius:14px;padding:16px;margin:0 16px 12px;color:#fff;}
.bd-overview .ov-head{display:flex;justify-content:space-between;margin-bottom:8px;}
.bd-overview .ov-head .go{font-size:12px;opacity:.85;}
.bd-overview .ov-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;}
.bd-overview .ov-k{font-size:13px;opacity:.9;}
.bd-overview .ov-v{font-size:32px;font-weight:800;}
.bd-overview .ov-v .u{font-size:14px;opacity:.9;margin-left:4px;}
.bd-overview .ov-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
.bd-overview .bd-pill{background:rgba(255,255,255,.18);color:#fff;font-size:11px;padding:4px 10px;border-radius:12px;font-weight:600;}
.bd-history{padding:0 16px 16px;}
.bd-h-item{display:flex;align-items:center;justify-content:space-between;background:#1e293b;border-radius:12px;padding:14px 16px;margin-bottom:8px;}
.bd-h-item .d{font-size:13px;color:#94a3b8;margin-bottom:4px;}
.bd-h-item .w{font-size:22px;font-weight:800;color:#fff;}
.bd-h-item .u{font-size:13px;color:#94a3b8;font-weight:500;}
.bd-h-item .delta{font-size:11px;display:inline-block;margin-top:6px;padding:2px 8px;border-radius:6px;}
.bd-h-item .delta.up{background:rgba(124,240,169,.15);color:#7cf0a9;}
.bd-h-item .delta.down{background:rgba(239,68,68,.15);color:#ef4444;}
.bd-h-del{background:transparent;color:#ef4444;border:0;padding:8px;cursor:pointer;}

/* v8.11: 添加身体数据表单（深色版 + 截图4 布局） */
.bd-form-row{display:flex;align-items:center;gap:12px;padding:14px;background:#1e293b;border-radius:12px;margin-bottom:14px;}
.bd-form-cell{flex:1;}
.bd-form-cell .k{font-size:13px;color:#94a3b8;margin-bottom:4px;}
.bd-form-cell .v input{padding:6px 0;width:100%;border:0;background:transparent;color:#e2e8f0;font-size:15px;font-weight:600;}
.bd-icon{font-size:18px;}
.bd-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.bd-form-item{background:#1e293b;border-radius:10px;padding:10px 12px;}
.bd-form-item .bd-item-head{display:flex;align-items:center;gap:6px;margin-bottom:6px;}
.bd-form-item .bd-item-head .k{font-size:13px;color:#94a3b8;font-weight:500;}
.bd-form-item input{width:100%;border:0;background:transparent;color:#e2e8f0;font-size:18px;font-weight:700;padding:4px 0;}
.bd-form-item input:focus{outline:none;border-bottom:1px solid #7cf0a9;}
.bd-form-item button.bd{font-size:18px;font-weight:700;color:#e2e8f0;padding:4px 0;width:100%;}

/* v8.11: 身高选择器（截图3 大字号展示 + 滚轮） */
.hw-display{position:relative;text-align:center;padding:30px 0 50px;}
.hw-display::before,.hw-display::after{content:'';position:absolute;left:20%;right:20%;height:1px;background:#cbd5e1;}
.hw-display::before{top:36px;}
.hw-display::after{bottom:80px;}
.hw-row{display:inline-flex;align-items:baseline;gap:8px;color:#1f2937;}
.hw-val{font-size:56px;font-weight:800;color:#1f2937;line-height:1;}
.hw-unit{font-size:20px;color:#64748b;font-weight:600;}
.hw-wheel{height:200px;overflow-y:auto;scroll-snap-type:y mandatory;position:relative;}
.hw-wheel::-webkit-scrollbar{display:none;}
.hw-opt{height:44px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#94a3b8;scroll-snap-align:center;}
.hw-opt.cur{color:#1f2937;font-weight:800;font-size:24px;}

/* v8.11: 单日详情页（统计点击日期，复刻截图7） */
.day-sheet{background:#fff;border-radius:18px 18px 0 0;max-height:75vh;overflow-y:auto;padding:18px 18px 80px;color:#0f172a;}
.day-sheet .ds-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.day-sheet .ds-head h3{font-size:18px;font-weight:700;color:#0f172a;margin:0;}
.day-sheet .ds-head .ds-pick{font-size:13px;color:#94a3b8;}
.day-sheet .ds-state{font-size:12px;color:#94a3b8;margin-bottom:8px;}
.day-sheet .ds-emojis{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.day-sheet .ds-emoji{width:48px;height:48px;border-radius:12px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:26px;cursor:pointer;}
.day-sheet .ds-emoji.active{background:#dbeafe;border:2px solid #3b82f6;}
.day-sheet .ds-row{display:flex;align-items:center;padding:14px;border-radius:12px;margin-bottom:8px;background:#f8fafc;}
.day-sheet .ds-row .ic{width:32px;height:32px;background:#dbeafe;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#3b82f6;margin-right:12px;font-weight:700;}
.day-sheet .ds-row .txt{flex:1;}
.day-sheet .ds-row .txt .t{font-size:15px;font-weight:600;color:#0f172a;}
.day-sheet .ds-row .txt .s{font-size:12px;color:#94a3b8;margin-top:2px;}
.day-sheet .ds-row.alt{background:#fff;border:1px dashed #cbd5e1;}
.day-sheet .ds-row.alt .ic{background:transparent;border:1px dashed #94a3b8;color:#94a3b8;}

/* v8.11: 快速记录页（复刻截图8） */
.quick-sheet{background:#f1f5f9;border-radius:18px 18px 0 0;max-height:80vh;overflow-y:auto;padding:18px;}
.quick-sheet .qs-head{display:flex;align-items:center;gap:14px;padding:8px 0 14px;}
.quick-sheet .qs-back{font-size:22px;color:#1f2937;cursor:pointer;}
.quick-sheet .qs-title{flex:1;text-align:center;font-size:16px;font-weight:600;color:#0f172a;}
.quick-sheet .qs-card{background:#fff;border-radius:14px;padding:14px 16px;margin-bottom:12px;}
.quick-sheet .qs-empty{text-align:center;padding:40px 20px;}
.quick-sheet .qs-empty .ic{width:80px;height:80px;background:#dbeafe;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:36px;margin-bottom:14px;color:#3b82f6;}
.quick-sheet .qs-empty .t{font-size:14px;color:#475569;font-weight:600;}
.quick-sheet .qs-empty .s{font-size:12px;color:#94a3b8;margin-top:6px;}
.quick-sheet .qs-actions{display:flex;gap:10px;padding:14px 4px 0;}
.quick-sheet .qs-actions .qs-btn{flex:1;padding:14px;border-radius:14px;font-size:14px;font-weight:700;border:1px solid #3b82f6;color:#3b82f6;background:#fff;}
.quick-sheet .qs-actions .qs-btn.primary{background:linear-gradient(135deg,#3b82f6,#f59e0b);color:#fff;border:0;}

/* v8.11: 有氧记录页（复刻截图9） */
.cardio-sheet{background:#f1f5f9;border-radius:18px 18px 0 0;max-height:80vh;overflow-y:auto;padding:18px;}
.cardio-sheet .cs-head{display:flex;align-items:center;gap:14px;padding:8px 0 14px;}
.cardio-sheet .cs-back{font-size:22px;color:#1f2937;cursor:pointer;}
.cardio-sheet .cs-title{flex:1;text-align:center;font-size:16px;font-weight:600;color:#0f172a;}
.cardio-sheet .cs-card{background:#fff;border-radius:14px;padding:18px;margin-bottom:12px;}
.cardio-sheet .cs-card.big{text-align:center;padding:30px 18px;}
.cardio-sheet .cs-card.big .ic{width:64px;height:64px;border-radius:50%;background:#dbeafe;display:inline-flex;align-items:center;justify-content:center;color:#3b82f6;font-size:30px;margin-bottom:10px;}
.cardio-sheet .cs-card.big .t{font-size:18px;font-weight:700;color:#0f172a;}
.cardio-sheet .cs-card.big .s{font-size:12px;color:#94a3b8;margin-top:4px;}
.cardio-sheet .cs-time{display:flex;gap:10px;margin-bottom:12px;}
.cardio-sheet .cs-time-card{flex:1;background:#fff;border-radius:14px;padding:14px;display:flex;align-items:center;gap:10px;}
.cardio-sheet .cs-time-card .ic{font-size:20px;color:#3b82f6;}
.cardio-sheet .cs-time-card .k{font-size:12px;color:#94a3b8;}
.cardio-sheet .cs-time-card .v{font-size:16px;font-weight:700;color:#3b82f6;}
.cardio-sheet .cs-submit{width:100%;padding:16px;border:0;border-radius:18px;background:linear-gradient(135deg,#3b82f6,#f59e0b);color:#fff;font-size:15px;font-weight:700;margin-top:8px;}

/* v8.11: 全屏 sheet（统计点击日期/快速记录/有氧记录） */
#sheet.fullscreen-sheet{
  position:fixed;left:0;right:0;bottom:0;top:8vh;background:transparent;
  box-shadow:none;border-radius:0;padding:0;max-height:92vh;overflow:hidden;
  animation:sheet-up .25s ease;
}
@keyframes sheet-up{from{transform:translateY(40px);opacity:0;}to{transform:translateY(0);opacity:1;}}
#sheet.fullscreen-sheet.hidden{display:none;}

/* v8.11: 快速记录页（复刻截图8） */
.quick-sheet .qs-time-pill{background:#dbeafe;color:#3b82f6;border-radius:14px;padding:4px 10px;font-size:11px;font-weight:700;}
.quick-sheet .qs-back::before{content:'‹';font-size:24px;color:#1f2937;}
.qs-time-pill.active{background:#2563eb;color:#fff;}
.detail-head{display:flex;align-items:center;gap:12px;background:#131c31;border:1px solid #26314d;border-radius:14px;padding:12px 14px;margin:4px 0 14px;position:relative;}
.detail-head .back-btn{flex:0 0 auto !important;z-index:2;display:flex;align-items:center;gap:4px;padding:8px 14px !important;border-radius:20px !important;background:#1a2540 !important;border:1px solid #475569 !important;color:#7cf0a9 !important;font-size:14px !important;font-weight:700 !important;cursor:pointer;}
.detail-head .dh-info{flex:1;padding-left:4px;}
.detail-head .dh-name{font-size:16px;font-weight:800;color:#e2e8f0;}
.detail-head .dh-sub{font-size:11px;color:#8fa3bf;margin-top:2px;}

/* v8.11: 全屏 sheet（统计点击日期/快速记录/有氧记录） */
#sheet.fullscreen-sheet{position:fixed;left:0;right:0;bottom:0;top:8vh;background:transparent;box-shadow:none;border-radius:0;padding:0;max-height:92vh;overflow:hidden;animation:sheet-up .25s ease;}
@keyframes sheet-up{from{transform:translateY(40px);opacity:0;}to{transform:translateY(0);opacity:1;}}
#sheet.fullscreen-sheet.hidden{display:none;}
.quick-sheet .qs-time-pill{background:#dbeafe;color:#3b82f6;border-radius:14px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block;cursor:pointer;}

/* v8.13: 身体数据单元格独立点击（路径A） */
.bd-cell.bd-clickable{cursor:pointer;transition:background .2s,border-color .2s;}
.bd-cell.bd-clickable:hover{background:#243349;border-color:#7cf0a9;}
.bd-cell.bd-clickable:active{background:#2d3f56;transform:scale(.99);}
.bd-weight.bd-clickable{display:flex;align-items:baseline;}

/* v8.13: 数值滚轮选择器（深色主题 + 整区可滑动） */
.fw-sheet{background:#131c31;color:#e2e8f0;border-radius:22px 22px 0 0;padding:18px 16px 20px;max-width:430px;width:100%;margin:0 auto;max-height:88vh;overflow-y:auto;box-shadow:0 -10px 30px rgba(0,0,0,.5);}
.fw-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;position:relative;}
.fw-title{flex:1;text-align:center;font-size:18px;font-weight:700;color:#e2e8f0;}
.fw-close{width:32px;height:32px;border-radius:50%;background:#1a2540;border:0;color:#94a3b8;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.fw-close:hover{background:#243349;color:#7cf0a9;}
.fw-display{text-align:center;padding:30px 0 14px;position:relative;}
.fw-display::before,.fw-display::after{content:'';position:absolute;left:20%;right:20%;height:1px;background:#475569;}
.fw-display::before{top:32px;}
.fw-display::after{top:96px;}
.fw-row{display:inline-flex;align-items:baseline;gap:8px;}
.fw-val{font-size:56px;font-weight:800;color:#7cf0a9;line-height:1;}
.fw-unit{font-size:20px;color:#94a3b8;font-weight:600;}
.fw-band{height:1px;background:transparent;}
.fw-wheel-wrap{height:240px;overflow:hidden;position:relative;touch-action:none;user-select:none;-webkit-user-select:none;}
.fw-wheel-wrap::before,.fw-wheel-wrap::after{content:'';position:absolute;left:0;right:0;height:88px;z-index:2;pointer-events:none;}
.fw-wheel-wrap::before{top:0;background:linear-gradient(to bottom, #131c31 0%, rgba(19,28,49,0) 100%);}
.fw-wheel-wrap::after{bottom:0;background:linear-gradient(to top, #131c31 0%, rgba(19,28,49,0) 100%);}
.fw-wheel-wrap::before,.fw-wheel-wrap::after{content:'';}
.fw-wheel{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;position:relative;padding:88px 0;}
.fw-wheel::-webkit-scrollbar{display:none;}
.fw-opt{height:44px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#64748b;scroll-snap-align:center;cursor:pointer;transition:color .15s;}
.fw-opt.cur{color:#7cf0a9;font-weight:800;font-size:26px;}
.fw-opt:hover{color:#94a3b8;}
.fw-actions{display:flex;gap:10px;margin-top:14px;}
.fw-actions .btn{flex:1;padding:14px;border-radius:12px;font-size:15px;font-weight:700;border:0;cursor:pointer;}
.fw-actions .btn.ghost{background:#1a2540;color:#e2e8f0;border:1px solid #475569;}
.fw-actions .btn.primary{background:linear-gradient(90deg,#7cf0a9,#38bdf8);color:#0b1120;}
.quick-sheet .qs-time-pill.active{background:#2563eb;color:#fff;}
